import { CANVA_MCP_NAME, CANVA_MCP_URL, canvaMcpSetupMessage, callCanvaMcp, isCanvaMcpConnected, } from './mcp.ts' /** * Probe whether the canva MCP server is connected; return setup guidance when not. * @returns Structured helper result for agents. * @example * import smokeTest from 'kody:@kody/canva-mcp/smoke-test' * const result = await smokeTest() * // => { ... } */ export default async function smokeTest() { if (!isCanvaMcpConnected()) { return { ok: true, live: false, via: null, setup: { preferred: 'mcp', mcp: { name: CANVA_MCP_NAME, url: CANVA_MCP_URL, connected: false, setup: canvaMcpSetupMessage(), }, oauthApiFallback: 'https://kody.codes/@kody/canva', }, } } const probe = await callCanvaMcp([ "list_designs", "listDesigns", "list_folders" ]) return { ok: true, live: true, via: 'mcp', tool: probe?.tool ?? null, mcp: { name: CANVA_MCP_NAME, url: CANVA_MCP_URL, connected: true, setup: canvaMcpSetupMessage(), }, } }