import { STRIPE_MCP_NAME, STRIPE_MCP_URL, stripeMcpSetupMessage, callStripeMcp, isStripeMcpConnected, } from './mcp.ts' /** * Probe whether the stripe MCP server is connected; return setup guidance when not. * @returns Structured helper result for agents. * @example * import smokeTest from 'kody:@kody/stripe-mcp/smoke-test' * const result = await smokeTest() * // => { ... } */ export default async function smokeTest() { if (!isStripeMcpConnected()) { return { ok: true, live: false, via: null, setup: { preferred: 'mcp', mcp: { name: STRIPE_MCP_NAME, url: STRIPE_MCP_URL, connected: false, setup: stripeMcpSetupMessage(), }, oauthApiFallback: 'https://kody.codes/@kody/stripe', }, } } const probe = await callStripeMcp([ "list_customers", "listCustomers", "list_products" ]) return { ok: true, live: true, via: 'mcp', tool: probe?.tool ?? null, mcp: { name: STRIPE_MCP_NAME, url: STRIPE_MCP_URL, connected: true, setup: stripeMcpSetupMessage(), }, } }