agentcash 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/cjs/run-server.cjs +115188 -106904
  2. package/dist/esm/{add-skill-5HFBHQTQ.js → add-skill-DPQR466Y.js} +4 -4
  3. package/dist/esm/{bridge-BOLVXKCD.js → bridge-JNIOVDD3.js} +3 -3
  4. package/dist/esm/{check-FEWY37RD.js → check-LR3CSSJF.js} +4 -4
  5. package/dist/esm/{chunk-MZPHS3IS.js → chunk-3GFWQSSI.js} +3 -3
  6. package/dist/esm/{chunk-MKA2PTOE.js → chunk-7VILIGSP.js} +2 -2
  7. package/dist/esm/{chunk-O57QVTLM.js → chunk-7WQMJKJR.js} +2 -2
  8. package/dist/esm/{chunk-FBGNOXFP.js → chunk-B5G7TGCZ.js} +57 -3
  9. package/dist/esm/chunk-B5G7TGCZ.js.map +1 -0
  10. package/dist/esm/{chunk-5MITNOWT.js → chunk-CAQPJTGD.js} +2 -2
  11. package/dist/esm/{chunk-VGKAPM5S.js → chunk-DFR33XGE.js} +2 -2
  12. package/dist/esm/{chunk-W37JKCLN.js → chunk-H5V6L7NG.js} +2 -3
  13. package/dist/esm/{chunk-W37JKCLN.js.map → chunk-H5V6L7NG.js.map} +1 -1
  14. package/dist/esm/{chunk-2C7X7XIG.js → chunk-M3YTSL6T.js} +3 -3
  15. package/dist/esm/{chunk-ULB5PPKW.js → chunk-MGMZAP3N.js} +2 -2
  16. package/dist/esm/{chunk-SLTRGQ7W.js → chunk-Q5YKPVXL.js} +3 -7
  17. package/dist/esm/{chunk-SLTRGQ7W.js.map → chunk-Q5YKPVXL.js.map} +1 -1
  18. package/dist/esm/{chunk-TX7S7QGG.js → chunk-W2TBFY7Y.js} +27 -43
  19. package/dist/esm/chunk-W2TBFY7Y.js.map +1 -0
  20. package/dist/esm/{chunk-K3WB4R2P.js → chunk-WPCEYCCK.js} +2 -2
  21. package/dist/esm/{chunk-HNDMHX4B.js → chunk-XGPAWZOW.js} +19 -28
  22. package/dist/esm/chunk-XGPAWZOW.js.map +1 -0
  23. package/dist/esm/{discover-TXEJNB5A.js → discover-EIFUI6QT.js} +3 -3
  24. package/dist/esm/{fetch-QAVIWIRX.js → fetch-HZN5PZFT.js} +6 -6
  25. package/dist/esm/index.js +20 -23
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/{install-NJJZYBZU.js → install-BYUVEOSA.js} +3 -3
  28. package/dist/esm/{onboard-TYB4QZE4.js → onboard-GRU6ILR7.js} +3 -3
  29. package/dist/esm/{origins-EVVF3N4G.js → origins-ZXQOPPWV.js} +4 -4
  30. package/dist/esm/{register-T6M2US4B.js → register-BPCEZI5M.js} +3 -3
  31. package/dist/esm/{report-error-BR7ETMF7.js → report-error-LE4ENBTZ.js} +3 -3
  32. package/dist/esm/{search-KIPT62MB.js → search-LFRFBZ4B.js} +5 -5
  33. package/dist/esm/{server-WJH536CN.js → server-3IWGKL7C.js} +2 -2
  34. package/dist/esm/{server-MO3YMDHB.js → server-SZ26QZQT.js} +12 -12
  35. package/dist/esm/{sessions-NUOSJC6M.js → sessions-A5ELSD5L.js} +3 -3
  36. package/dist/esm/{try-2P5ZRXRT.js → try-3CZ3JFD2.js} +4 -4
  37. package/dist/esm/try-3CZ3JFD2.js.map +1 -0
  38. package/package.json +2 -2
  39. package/dist/esm/chunk-FBGNOXFP.js.map +0 -1
  40. package/dist/esm/chunk-HNDMHX4B.js.map +0 -1
  41. package/dist/esm/chunk-TX7S7QGG.js.map +0 -1
  42. package/dist/esm/try-2P5ZRXRT.js.map +0 -1
  43. /package/dist/esm/{add-skill-5HFBHQTQ.js.map → add-skill-DPQR466Y.js.map} +0 -0
  44. /package/dist/esm/{bridge-BOLVXKCD.js.map → bridge-JNIOVDD3.js.map} +0 -0
  45. /package/dist/esm/{check-FEWY37RD.js.map → check-LR3CSSJF.js.map} +0 -0
  46. /package/dist/esm/{chunk-MZPHS3IS.js.map → chunk-3GFWQSSI.js.map} +0 -0
  47. /package/dist/esm/{chunk-MKA2PTOE.js.map → chunk-7VILIGSP.js.map} +0 -0
  48. /package/dist/esm/{chunk-O57QVTLM.js.map → chunk-7WQMJKJR.js.map} +0 -0
  49. /package/dist/esm/{chunk-5MITNOWT.js.map → chunk-CAQPJTGD.js.map} +0 -0
  50. /package/dist/esm/{chunk-VGKAPM5S.js.map → chunk-DFR33XGE.js.map} +0 -0
  51. /package/dist/esm/{chunk-2C7X7XIG.js.map → chunk-M3YTSL6T.js.map} +0 -0
  52. /package/dist/esm/{chunk-ULB5PPKW.js.map → chunk-MGMZAP3N.js.map} +0 -0
  53. /package/dist/esm/{chunk-K3WB4R2P.js.map → chunk-WPCEYCCK.js.map} +0 -0
  54. /package/dist/esm/{discover-TXEJNB5A.js.map → discover-EIFUI6QT.js.map} +0 -0
  55. /package/dist/esm/{fetch-QAVIWIRX.js.map → fetch-HZN5PZFT.js.map} +0 -0
  56. /package/dist/esm/{install-NJJZYBZU.js.map → install-BYUVEOSA.js.map} +0 -0
  57. /package/dist/esm/{onboard-TYB4QZE4.js.map → onboard-GRU6ILR7.js.map} +0 -0
  58. /package/dist/esm/{origins-EVVF3N4G.js.map → origins-ZXQOPPWV.js.map} +0 -0
  59. /package/dist/esm/{register-T6M2US4B.js.map → register-BPCEZI5M.js.map} +0 -0
  60. /package/dist/esm/{report-error-BR7ETMF7.js.map → report-error-LE4ENBTZ.js.map} +0 -0
  61. /package/dist/esm/{search-KIPT62MB.js.map → search-LFRFBZ4B.js.map} +0 -0
  62. /package/dist/esm/{server-WJH536CN.js.map → server-3IWGKL7C.js.map} +0 -0
  63. /package/dist/esm/{server-MO3YMDHB.js.map → server-SZ26QZQT.js.map} +0 -0
  64. /package/dist/esm/{sessions-NUOSJC6M.js.map → sessions-A5ELSD5L.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport yargs, { type Argv } from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { clients, Clients } from './cli/commands/install/clients';\nimport {\n paymentNetworks,\n paymentProtocols,\n requestMethodValues,\n} from '@/shared/request/schemas/core';\nimport { MCP_VERSION } from '@/shared/version';\nimport {\n DESCRIPTIONS,\n TOOL_PARAMS,\n buildServerInstructions,\n} from '@/shared/descriptions';\nimport { loadUserOrigins } from '@/shared/user-origins';\nimport { randomBytes } from 'crypto';\nimport type { GlobalFlags } from './types';\n\nconst isClaudeCode = Boolean(process.env.CLAUDECODE);\nconst defaultYes = isClaudeCode || Boolean(process.env.CI);\n\nconst configureFetchCommand = (\n command: Argv<GlobalFlags>,\n params: typeof TOOL_PARAMS.fetch,\n epilogue: string\n) =>\n command\n .positional('url', {\n type: 'string',\n description: params.url,\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: params.method,\n choices: requestMethodValues,\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: params.body,\n })\n .option('headers', {\n alias: ['H', 'header'],\n type: 'string',\n array: true,\n description: params.headers,\n })\n .option('timeout', {\n type: 'number',\n description: params.timeout,\n })\n .option('payment-protocol', {\n alias: 'p',\n type: 'string',\n description: params.paymentProtocol,\n choices: paymentProtocols,\n })\n .option('payment-network', {\n type: 'string',\n description: params.paymentNetwork,\n choices: paymentNetworks,\n })\n .option('max-amount', {\n type: 'number',\n description: params.maxAmount,\n })\n .option('stream', {\n type: 'boolean',\n description: params.stream,\n })\n .option('channel-id', {\n type: 'string',\n description: params.channelId,\n })\n .epilogue(epilogue);\n\nvoid yargs(hideBin(process.argv))\n .scriptName('agentcash')\n .usage('$0 [command] [options]')\n .option('dev', {\n type: 'boolean',\n description: 'Enable dev mode (use localhost endpoints)',\n default: false,\n })\n .option('invite', {\n type: 'string',\n description: 'Invite code to redeem for starter money',\n required: false,\n })\n .option('yes', {\n alias: 'y',\n type: 'boolean',\n description: 'Yes to all prompts',\n default: defaultYes ? true : undefined,\n })\n .option('sessionId', {\n type: 'string',\n description:\n 'Session ID for matching requests (auto-generated if not provided)',\n required: false,\n default: randomBytes(16).toString('hex'),\n })\n .option('provider', {\n type: 'string',\n description: 'Provider to use for the MCP server',\n required: false,\n default: `agentcash@${MCP_VERSION}`,\n })\n .option('format', {\n type: 'string',\n description:\n 'Output format: json (default for pipes) or pretty (default for TTY)',\n choices: ['json', 'pretty'] as const,\n default: process.stdout.isTTY ? ('pretty' as const) : ('json' as const),\n })\n .option('quiet', {\n alias: 'q',\n type: 'boolean',\n description: 'Suppress stderr output',\n default: false,\n })\n .option('verbose', {\n alias: 'v',\n type: 'boolean',\n description: 'Enable verbose logging (debug output to stderr)',\n default: false,\n })\n .middleware(async argv => {\n // Configure CLI context for shared modules (like logging)\n if (argv.verbose) {\n const { configureCliContext } = await import('@/cli/lib/context');\n configureCliContext({ verbose: true });\n }\n })\n // ============================================================\n // Core CLI Commands (for agent/programmatic use)\n // ============================================================\n .command(\n 'fetch <url>',\n DESCRIPTIONS.fetch.cli,\n yargs =>\n configureFetchCommand(\n yargs,\n TOOL_PARAMS.fetch,\n DESCRIPTIONS.fetch.epilogue\n ),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(args);\n }\n )\n .command(\n 'fetch-auth <url>',\n DESCRIPTIONS.fetchWithAuth.cli,\n yargs =>\n configureFetchCommand(\n yargs,\n TOOL_PARAMS.fetchWithAuth,\n DESCRIPTIONS.fetchWithAuth.epilogue\n ),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(args);\n }\n )\n .command(\n 'check <url>',\n DESCRIPTIONS.checkEndpointSchema.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.url,\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.method,\n choices: requestMethodValues,\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.body,\n })\n .option('headers', {\n alias: ['H', 'header'],\n type: 'string',\n array: true,\n description: TOOL_PARAMS.checkEndpointSchema.headers,\n })\n .epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),\n async args => {\n const { checkCommand } = await import('@/cli/commands/check');\n await checkCommand({\n ...args,\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n });\n }\n )\n .command(\n 'try <url>',\n DESCRIPTIONS.try.cli,\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: TOOL_PARAMS.try.url,\n demandOption: true,\n }),\n async args => {\n const { tryCommand } = await import('@/cli/commands/try');\n await tryCommand(args);\n }\n )\n .command(\n 'search <query>',\n DESCRIPTIONS.search.cli,\n yargs =>\n yargs\n .positional('query', {\n type: 'string',\n description: TOOL_PARAMS.search.query,\n demandOption: true,\n })\n .option('broad', {\n type: 'boolean',\n description: TOOL_PARAMS.search.broad,\n default: false,\n })\n .option('limit', {\n type: 'number',\n description: TOOL_PARAMS.search.limit,\n })\n .option('page', {\n type: 'number',\n description: TOOL_PARAMS.search.page,\n }),\n async args => {\n const { searchCommand } = await import('@/cli/commands/search');\n await searchCommand(args);\n }\n )\n .command(\n 'discover <url>',\n DESCRIPTIONS.discoverApiEndpoints.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: TOOL_PARAMS.discoverApiEndpoints.url,\n demandOption: true,\n })\n .option('include-guidance', {\n type: 'boolean',\n description: TOOL_PARAMS.discoverApiEndpoints.includeGuidance,\n })\n .epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),\n async args => {\n const { discoverCommand } = await import('@/cli/commands/discover');\n await discoverCommand(args);\n }\n )\n .command(\n 'register <url>',\n 'Register an origin with agentcash (discover + index endpoints)',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to register',\n demandOption: true,\n }),\n async args => {\n const { registerCommand } = await import('@/cli/commands/register');\n await registerCommand(args);\n }\n )\n .command(\n 'add <url>',\n 'Add an origin and install its skill to agent clients. The origin is added to the MCP server description.',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: TOOL_PARAMS.add.url,\n demandOption: true,\n }),\n async args => {\n const { addSkillCommand } = await import('@/cli/commands/add-skill');\n await addSkillCommand(args);\n }\n )\n .command(\n 'origins',\n 'Manage registered origins',\n yargs =>\n yargs\n .command(\n 'add <url>',\n 'Add an origin to agent clients. The origin is added to the MCP server description.',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to register',\n demandOption: true,\n }),\n async args => {\n const { originsAddCommand } =\n await import('@/cli/commands/origins');\n await originsAddCommand(args);\n }\n )\n .command(\n 'list',\n 'List all registered origins',\n yargs => yargs,\n async args => {\n const { originsListCommand } =\n await import('@/cli/commands/origins');\n await originsListCommand(args);\n }\n )\n .command(\n 'remove <url>',\n 'Remove a user-added origin',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to remove',\n demandOption: true,\n }),\n async args => {\n const { originsRemoveCommand } =\n await import('@/cli/commands/origins');\n await originsRemoveCommand(args);\n }\n )\n .demandCommand(1, 'You must specify an origins subcommand')\n .strict(),\n () => {\n // Show help for origins command\n }\n )\n .command(\n 'sessions',\n 'Manage MPP session payment channels',\n yargs =>\n yargs\n .command(\n 'close <channelId>',\n DESCRIPTIONS.closeSession.cli,\n yargs =>\n yargs\n .positional('channelId', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.channelId,\n demandOption: true,\n })\n .option('url', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.url,\n demandOption: true,\n })\n .option('cumulative-amount-raw', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.cumulativeAmountRaw,\n })\n .epilogue(DESCRIPTIONS.closeSession.epilogue),\n async args => {\n const { sessionsCloseCommand } =\n await import('@/cli/commands/sessions');\n await sessionsCloseCommand({\n ...args,\n channelId: args.channelId,\n url: args.url,\n cumulativeAmountRaw: args.cumulativeAmountRaw,\n });\n }\n )\n .demandCommand(1, 'You must specify a sessions subcommand')\n .strict(),\n () => {\n // Show help for sessions command\n }\n )\n .command(\n 'onboard [code]',\n 'Non-interactive onboarding flow for agentcash wallet + MCP setup',\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: 'The invite code to redeem (optional)',\n }),\n async args => {\n const { onboardCommand } = await import('@/cli/commands/onboard');\n await onboardCommand({ ...args, code: args.code ?? args.invite });\n }\n )\n .command(\n 'wallet',\n 'Deprecated wallet command aliases',\n yargs =>\n yargs\n .command(\n 'info',\n \"Deprecated alias. Prints migration guidance for 'balance' and 'accounts'.\",\n yargs => yargs,\n async args => {\n const { legacyWalletInfoCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletInfoCommand(args);\n }\n )\n .command(\n 'balance',\n \"Deprecated alias. Prints migration guidance for 'balance'.\",\n yargs => yargs,\n async args => {\n const { legacyWalletBalanceCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletBalanceCommand(args);\n }\n )\n .command(\n 'redeem <code>',\n \"Deprecated alias. Prints migration guidance for 'redeem <code>'.\",\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: TOOL_PARAMS.redeemInvite.code,\n demandOption: true,\n }),\n async args => {\n const { legacyWalletRedeemCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletRedeemCommand(args);\n }\n )\n .command(\n 'address',\n 'Deprecated alias for wallet address lookup.',\n yargs => yargs,\n async args => {\n const { legacyWalletAddressCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletAddressCommand(args);\n }\n )\n .demandCommand(1, 'You must specify a wallet subcommand')\n .strict(),\n () => {\n // Show help for wallet command\n }\n )\n .command(\n 'balance',\n DESCRIPTIONS.getBalance.cli,\n yargs => yargs,\n async args => {\n const { getBalanceCommand } = await import('@/cli/commands/wallet');\n await getBalanceCommand(args);\n }\n )\n .command(\n 'accounts',\n DESCRIPTIONS.listAccounts.cli,\n yargs => yargs,\n async args => {\n const { listAccountsCommand } = await import('@/cli/commands/wallet');\n await listAccountsCommand(args);\n }\n )\n .command(\n 'redeem <code>',\n DESCRIPTIONS.redeemInvite.cli,\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: TOOL_PARAMS.redeemInvite.code,\n demandOption: true,\n }),\n async args => {\n const { walletRedeemCommand } = await import('@/cli/commands/wallet');\n await walletRedeemCommand(args);\n }\n )\n .command(\n 'settings',\n 'View and update user settings',\n yargs =>\n yargs\n .command(\n 'get',\n 'Show current settings',\n yargs => yargs,\n async args => {\n const { settingsGetCommand } =\n await import('@/cli/commands/settings');\n await settingsGetCommand(args);\n }\n )\n .command(\n 'set <key> <value>',\n 'Update a setting (e.g. settings set maxAmount 10)',\n yargs =>\n yargs\n .positional('key', {\n type: 'string',\n description: 'Setting name (e.g. maxAmount)',\n demandOption: true,\n })\n .positional('value', {\n type: 'string',\n description: 'Setting value',\n demandOption: true,\n }),\n async args => {\n const { settingsSetCommand } =\n await import('@/cli/commands/settings');\n await settingsSetCommand(args);\n }\n )\n .demandCommand(1, 'You must specify a settings subcommand')\n .strict(),\n () => {\n // Show help for settings command\n }\n )\n .command(\n 'report-error',\n DESCRIPTIONS.reportError.cli,\n yargs =>\n yargs\n .option('tool', {\n type: 'string',\n description: TOOL_PARAMS.reportError.tool,\n demandOption: true,\n })\n .option('summary', {\n type: 'string',\n description: TOOL_PARAMS.reportError.summary,\n demandOption: true,\n })\n .option('error-message', {\n type: 'string',\n description: TOOL_PARAMS.reportError.errorMessage,\n demandOption: true,\n })\n .option('resource', {\n type: 'string',\n description: TOOL_PARAMS.reportError.resource,\n })\n .option('stack', {\n type: 'string',\n description: TOOL_PARAMS.reportError.stack,\n })\n .option('full-report', {\n type: 'string',\n description: TOOL_PARAMS.reportError.fullReport,\n }),\n async args => {\n const { reportErrorCommand } =\n await import('@/cli/commands/report-error');\n await reportErrorCommand(args);\n }\n )\n .command(\n DESCRIPTIONS.bridge.toolNames.cli,\n DESCRIPTIONS.bridge.cli,\n yargs =>\n yargs\n .option('from', {\n type: 'string',\n description: TOOL_PARAMS.bridge.from,\n choices: paymentNetworks,\n required: true,\n })\n .option('to', {\n type: 'string',\n description: TOOL_PARAMS.bridge.to,\n choices: paymentNetworks,\n required: true,\n })\n .option('amount', {\n type: 'number',\n description: TOOL_PARAMS.bridge.amount,\n required: true,\n }),\n async args => {\n const { bridgeCommand } = await import('@/cli/commands/bridge');\n await bridgeCommand(args);\n }\n )\n // ============================================================\n // Server & Installation Commands\n // ============================================================\n .command(\n ['$0', 'server'],\n 'Start the MCP server (default when no command specified)',\n yargs => yargs,\n async args => {\n const { serverCommand } = await import('@/cli/commands/server');\n await serverCommand(args);\n }\n )\n .command(\n 'install',\n 'Install the MCP server configuration for a client',\n yargs =>\n yargs.option('client', {\n type: 'string',\n description: 'The client name',\n choices: clients,\n required: false,\n default: isClaudeCode ? Clients.ClaudeCode : undefined,\n }),\n async args => {\n const { installMcpServer } = await import('@/cli/commands/install');\n await installMcpServer(args);\n }\n )\n .command(\n 'fund',\n 'Open the funding page to add USDC to your wallet',\n yargs => yargs,\n async args => {\n const { fundMcpServer } = await import('@/cli/commands/fund');\n await fundMcpServer(args);\n }\n )\n .example(\n '$0 fetch \"https://stableenrich.dev/api/apollo/people-enrich\" -m POST -b \\'{\"email\":\"user@example.com\"}\\'',\n 'Fetch with x402 payment'\n )\n .example(\n '$0 check \"https://stableenrich.dev/api/apollo/people-enrich\"',\n 'Check endpoint pricing'\n )\n .example(\n '$0 discover \"https://stableenrich.dev\"',\n 'Discover endpoints on origin'\n )\n .example(\n '$0 register \"https://stableenrich.dev\"',\n 'Register origin with agentcash'\n )\n .example(\n '$0 onboard ABC123',\n 'Install onboarding skill, configure MCP, and redeem an invite'\n )\n .example('$0 search \"flight data\"', 'Search for APIs by description')\n .example('$0 balance', 'Get wallet balance')\n .example('$0 accounts', 'List wallet accounts by network')\n .example('$0 redeem ABC123', 'Redeem invite code')\n .example('$0', 'Start MCP server (default)')\n .example('$0 install --client cursor', 'Install MCP for Cursor')\n .strict()\n .epilogue(buildServerInstructions(loadUserOrigins()))\n .help()\n .version(MCP_VERSION)\n .parseAsync()\n .catch(err => {\n // Output error in JSON format for agent consumption\n const response = {\n success: false,\n error: {\n code: 'GENERAL_ERROR',\n message: err instanceof Error ? err.message : String(err),\n surface: 'cli',\n cause: 'unknown',\n },\n };\n console.log(JSON.stringify(response, null, 2));\n process.exit(1);\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,WAA0B;AACjC,SAAS,eAAe;AAcxB,SAAS,mBAAmB;AAG5B,IAAM,eAAe,QAAQ,QAAQ,IAAI,UAAU;AACnD,IAAM,aAAa,gBAAgB,QAAQ,QAAQ,IAAI,EAAE;AAEzD,IAAM,wBAAwB,CAC5B,SACA,QACA,aAEA,QACG,WAAW,OAAO;AAAA,EACjB,MAAM;AAAA,EACN,aAAa,OAAO;AAAA,EACpB,cAAc;AAChB,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa,OAAO;AAAA,EACpB,SAAS;AACX,CAAC,EACA,OAAO,QAAQ;AAAA,EACd,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa,OAAO;AACtB,CAAC,EACA,OAAO,WAAW;AAAA,EACjB,OAAO,CAAC,KAAK,QAAQ;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa,OAAO;AACtB,CAAC,EACA,OAAO,WAAW;AAAA,EACjB,MAAM;AAAA,EACN,aAAa,OAAO;AACtB,CAAC,EACA,OAAO,oBAAoB;AAAA,EAC1B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa,OAAO;AAAA,EACpB,SAAS;AACX,CAAC,EACA,OAAO,mBAAmB;AAAA,EACzB,MAAM;AAAA,EACN,aAAa,OAAO;AAAA,EACpB,SAAS;AACX,CAAC,EACA,OAAO,cAAc;AAAA,EACpB,MAAM;AAAA,EACN,aAAa,OAAO;AACtB,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,MAAM;AAAA,EACN,aAAa,OAAO;AACtB,CAAC,EACA,OAAO,cAAc;AAAA,EACpB,MAAM;AAAA,EACN,aAAa,OAAO;AACtB,CAAC,EACA,SAAS,QAAQ;AAEtB,KAAK,MAAM,QAAQ,QAAQ,IAAI,CAAC,EAC7B,WAAW,WAAW,EACtB,MAAM,wBAAwB,EAC9B,OAAO,OAAO;AAAA,EACb,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,EACA,OAAO,OAAO;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS,aAAa,OAAO;AAC/B,CAAC,EACA,OAAO,aAAa;AAAA,EACnB,MAAM;AAAA,EACN,aACE;AAAA,EACF,UAAU;AAAA,EACV,SAAS,YAAY,EAAE,EAAE,SAAS,KAAK;AACzC,CAAC,EACA,OAAO,YAAY;AAAA,EAClB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,SAAS,aAAa,WAAW;AACnC,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,MAAM;AAAA,EACN,aACE;AAAA,EACF,SAAS,CAAC,QAAQ,QAAQ;AAAA,EAC1B,SAAS,QAAQ,OAAO,QAAS,WAAsB;AACzD,CAAC,EACA,OAAO,SAAS;AAAA,EACf,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,OAAO,WAAW;AAAA,EACjB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,WAAW,OAAM,SAAQ;AAExB,MAAI,KAAK,SAAS;AAChB,UAAM,EAAE,oBAAoB,IAAI,MAAM,OAAO,uBAAmB;AAChE,wBAAoB,EAAE,SAAS,KAAK,CAAC;AAAA,EACvC;AACF,CAAC,EAIA;AAAA,EACC;AAAA,EACA,aAAa,MAAM;AAAA,EACnB,CAAAA,WACE;AAAA,IACEA;AAAA,IACA,YAAY;AAAA,IACZ,aAAa,MAAM;AAAA,EACrB;AAAA,EACF,OAAM,SAAQ;AACZ,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAsB;AAC5D,UAAM,aAAa,IAAI;AAAA,EACzB;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,cAAc;AAAA,EAC3B,CAAAA,WACE;AAAA,IACEA;AAAA,IACA,YAAY;AAAA,IACZ,aAAa,cAAc;AAAA,EAC7B;AAAA,EACF,OAAM,SAAQ;AACZ,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAsB;AAC5D,UAAM,aAAa,IAAI;AAAA,EACzB;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,oBAAoB;AAAA,EACjC,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa,YAAY,oBAAoB;AAAA,IAC7C,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,UAAU;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa,YAAY,oBAAoB;AAAA,IAC7C,SAAS;AAAA,EACX,CAAC,EACA,OAAO,QAAQ;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa,YAAY,oBAAoB;AAAA,EAC/C,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,OAAO,CAAC,KAAK,QAAQ;AAAA,IACrB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,aAAa,YAAY,oBAAoB;AAAA,EAC/C,CAAC,EACA,SAAS,aAAa,oBAAoB,QAAQ;AAAA,EACvD,OAAM,SAAQ;AACZ,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAsB;AAC5D,UAAM,aAAa;AAAA,MACjB,GAAG;AAAA,MACH,KAAK,KAAK;AAAA,MACV,QAAQ,KAAK;AAAA,MACb,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,IAChB,CAAC;AAAA,EACH;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,IAAI;AAAA,EACjB,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa,YAAY,IAAI;AAAA,IAC7B,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,WAAW,IAAI,MAAM,OAAO,mBAAoB;AACxD,UAAM,WAAW,IAAI;AAAA,EACvB;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,OAAO;AAAA,EACpB,CAAAA,WACEA,OACG,WAAW,SAAS;AAAA,IACnB,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,IAChC,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,IAChC,SAAS;AAAA,EACX,CAAC,EACA,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,EAClC,CAAC,EACA,OAAO,QAAQ;AAAA,IACd,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,EAClC,CAAC;AAAA,EACL,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,sBAAuB;AAC9D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,qBAAqB;AAAA,EAClC,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa,YAAY,qBAAqB;AAAA,IAC9C,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,oBAAoB;AAAA,IAC1B,MAAM;AAAA,IACN,aAAa,YAAY,qBAAqB;AAAA,EAChD,CAAC,EACA,SAAS,aAAa,qBAAqB,QAAQ;AAAA,EACxD,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,wBAAyB;AAClE,UAAM,gBAAgB,IAAI;AAAA,EAC5B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,wBAAyB;AAClE,UAAM,gBAAgB,IAAI;AAAA,EAC5B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa,YAAY,IAAI;AAAA,IAC7B,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,yBAA0B;AACnE,UAAM,gBAAgB,IAAI;AAAA,EAC5B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,MACtB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,kBAAkB,IACxB,MAAM,OAAO,uBAAwB;AACvC,YAAM,kBAAkB,IAAI;AAAA,IAC9B;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,uBAAwB;AACvC,YAAM,mBAAmB,IAAI;AAAA,IAC/B;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,MACtB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,qBAAqB,IAC3B,MAAM,OAAO,uBAAwB;AACvC,YAAM,qBAAqB,IAAI;AAAA,IACjC;AAAA,EACF,EACC,cAAc,GAAG,wCAAwC,EACzD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA,aAAa,aAAa;AAAA,IAC1B,CAAAA,WACEA,OACG,WAAW,aAAa;AAAA,MACvB,MAAM;AAAA,MACN,aAAa,YAAY,aAAa;AAAA,MACtC,cAAc;AAAA,IAChB,CAAC,EACA,OAAO,OAAO;AAAA,MACb,MAAM;AAAA,MACN,aAAa,YAAY,aAAa;AAAA,MACtC,cAAc;AAAA,IAChB,CAAC,EACA,OAAO,yBAAyB;AAAA,MAC/B,MAAM;AAAA,MACN,aAAa,YAAY,aAAa;AAAA,IACxC,CAAC,EACA,SAAS,aAAa,aAAa,QAAQ;AAAA,IAChD,OAAM,SAAQ;AACZ,YAAM,EAAE,qBAAqB,IAC3B,MAAM,OAAO,wBAAyB;AACxC,YAAM,qBAAqB;AAAA,QACzB,GAAG;AAAA,QACH,WAAW,KAAK;AAAA,QAChB,KAAK,KAAK;AAAA,QACV,qBAAqB,KAAK;AAAA,MAC5B,CAAC;AAAA,IACH;AAAA,EACF,EACC,cAAc,GAAG,wCAAwC,EACzD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,eAAe,IAAI,MAAM,OAAO,uBAAwB;AAChE,UAAM,eAAe,EAAE,GAAG,MAAM,MAAM,KAAK,QAAQ,KAAK,OAAO,CAAC;AAAA,EAClE;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,wBAAwB,IAC9B,MAAM,OAAO,sBAAuB;AACtC,YAAM,wBAAwB,IAAI;AAAA,IACpC;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,2BAA2B,IACjC,MAAM,OAAO,sBAAuB;AACtC,YAAM,2BAA2B,IAAI;AAAA,IACvC;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OAAM,WAAW,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,aAAa,YAAY,aAAa;AAAA,MACtC,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,0BAA0B,IAChC,MAAM,OAAO,sBAAuB;AACtC,YAAM,0BAA0B,IAAI;AAAA,IACtC;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,2BAA2B,IACjC,MAAM,OAAO,sBAAuB;AACtC,YAAM,2BAA2B,IAAI;AAAA,IACvC;AAAA,EACF,EACC,cAAc,GAAG,sCAAsC,EACvD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,WAAW;AAAA,EACxB,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,kBAAkB,IAAI,MAAM,OAAO,sBAAuB;AAClE,UAAM,kBAAkB,IAAI;AAAA,EAC9B;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,aAAa;AAAA,EAC1B,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,oBAAoB,IAAI,MAAM,OAAO,sBAAuB;AACpE,UAAM,oBAAoB,IAAI;AAAA,EAChC;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,aAAa;AAAA,EAC1B,CAAAA,WACEA,OAAM,WAAW,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,aAAa,YAAY,aAAa;AAAA,IACtC,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,oBAAoB,IAAI,MAAM,OAAO,sBAAuB;AACpE,UAAM,oBAAoB,IAAI;AAAA,EAChC;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,wBAAyB;AACxC,YAAM,mBAAmB,IAAI;AAAA,IAC/B;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,MACjB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC,EACA,WAAW,SAAS;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACL,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,wBAAyB;AACxC,YAAM,mBAAmB,IAAI;AAAA,IAC/B;AAAA,EACF,EACC,cAAc,GAAG,wCAAwC,EACzD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,YAAY;AAAA,EACzB,CAAAA,WACEA,OACG,OAAO,QAAQ;AAAA,IACd,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,IACrC,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,IACrC,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,iBAAiB;AAAA,IACvB,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,IACrC,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,YAAY;AAAA,IAClB,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,EACvC,CAAC,EACA,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,EACvC,CAAC,EACA,OAAO,eAAe;AAAA,IACrB,MAAM;AAAA,IACN,aAAa,YAAY,YAAY;AAAA,EACvC,CAAC;AAAA,EACL,OAAM,SAAQ;AACZ,UAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,4BAA6B;AAC5C,UAAM,mBAAmB,IAAI;AAAA,EAC/B;AACF,EACC;AAAA,EACC,aAAa,OAAO,UAAU;AAAA,EAC9B,aAAa,OAAO;AAAA,EACpB,CAAAA,WACEA,OACG,OAAO,QAAQ;AAAA,IACd,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,IAChC,SAAS;AAAA,IACT,UAAU;AAAA,EACZ,CAAC,EACA,OAAO,MAAM;AAAA,IACZ,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,IAChC,SAAS;AAAA,IACT,UAAU;AAAA,EACZ,CAAC,EACA,OAAO,UAAU;AAAA,IAChB,MAAM;AAAA,IACN,aAAa,YAAY,OAAO;AAAA,IAChC,UAAU;AAAA,EACZ,CAAC;AAAA,EACL,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,sBAAuB;AAC9D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EAIC;AAAA,EACC,CAAC,MAAM,QAAQ;AAAA,EACf;AAAA,EACA,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,sBAAuB;AAC9D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,OAAO,UAAU;AAAA,IACrB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS,gDAAoC;AAAA,EAC/C,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,uBAAwB;AAClE,UAAM,iBAAiB,IAAI;AAAA,EAC7B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,oBAAqB;AAC5D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC,QAAQ,2BAA2B,gCAAgC,EACnE,QAAQ,cAAc,oBAAoB,EAC1C,QAAQ,eAAe,iCAAiC,EACxD,QAAQ,oBAAoB,oBAAoB,EAChD,QAAQ,MAAM,4BAA4B,EAC1C,QAAQ,8BAA8B,wBAAwB,EAC9D,OAAO,EACP,SAAS,wBAAwB,gBAAgB,CAAC,CAAC,EACnD,KAAK,EACL,QAAQ,WAAW,EACnB,WAAW,EACX,MAAM,SAAO;AAEZ,QAAM,WAAW;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACxD,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AACA,UAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":["yargs"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport yargs, { type Argv } from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { clients, Clients } from './cli/commands/install/clients';\nimport {\n paymentNetworks,\n paymentProtocols,\n requestMethodValues,\n} from '@/shared/request/schemas/core';\nimport { MCP_VERSION } from '@/shared/version';\nimport {\n DESCRIPTIONS,\n TOOL_PARAMS,\n buildServerInstructions,\n} from '@/shared/descriptions';\nimport { loadUserOrigins } from '@/shared/user-origins';\nimport { randomBytes } from 'crypto';\nimport type { GlobalFlags } from './types';\n\nconst isClaudeCode = Boolean(process.env.CLAUDECODE);\nconst defaultYes = isClaudeCode || Boolean(process.env.CI);\n\nconst configureFetchCommand = (\n command: Argv<GlobalFlags>,\n params: typeof TOOL_PARAMS.fetch,\n epilogue: string\n) =>\n command\n .positional('url', {\n type: 'string',\n description: params.url,\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: params.method,\n choices: requestMethodValues,\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: params.body,\n })\n .option('headers', {\n alias: ['H', 'header'],\n type: 'string',\n array: true,\n description: params.headers,\n })\n .option('timeout', {\n type: 'number',\n description: params.timeout,\n })\n .option('payment-protocol', {\n alias: 'p',\n type: 'string',\n description: params.paymentProtocol,\n choices: paymentProtocols,\n })\n .option('payment-network', {\n type: 'string',\n description: params.paymentNetwork,\n choices: paymentNetworks,\n })\n .option('max-amount', {\n type: 'number',\n description: params.maxAmount,\n })\n .option('stream', {\n type: 'boolean',\n description: params.stream,\n })\n .epilogue(epilogue);\n\nvoid yargs(hideBin(process.argv))\n .scriptName('agentcash')\n .usage('$0 [command] [options]')\n .option('dev', {\n type: 'boolean',\n description: 'Enable dev mode (use localhost endpoints)',\n default: false,\n })\n .option('invite', {\n type: 'string',\n description: 'Invite code to redeem for starter money',\n required: false,\n })\n .option('yes', {\n alias: 'y',\n type: 'boolean',\n description: 'Yes to all prompts',\n default: defaultYes ? true : undefined,\n })\n .option('sessionId', {\n type: 'string',\n description:\n 'Session ID for matching requests (auto-generated if not provided)',\n required: false,\n default: randomBytes(16).toString('hex'),\n })\n .option('provider', {\n type: 'string',\n description: 'Provider to use for the MCP server',\n required: false,\n default: `agentcash@${MCP_VERSION}`,\n })\n .option('format', {\n type: 'string',\n description:\n 'Output format: json (default for pipes) or pretty (default for TTY)',\n choices: ['json', 'pretty'] as const,\n default: process.stdout.isTTY ? ('pretty' as const) : ('json' as const),\n })\n .option('quiet', {\n alias: 'q',\n type: 'boolean',\n description: 'Suppress stderr output',\n default: false,\n })\n .option('verbose', {\n alias: 'v',\n type: 'boolean',\n description: 'Enable verbose logging (debug output to stderr)',\n default: false,\n })\n .middleware(async argv => {\n // Configure CLI context for shared modules (like logging)\n if (argv.verbose) {\n const { configureCliContext } = await import('@/cli/lib/context');\n configureCliContext({ verbose: true });\n }\n })\n // ============================================================\n // Core CLI Commands (for agent/programmatic use)\n // ============================================================\n .command(\n 'fetch <url>',\n DESCRIPTIONS.fetch.cli,\n yargs =>\n configureFetchCommand(\n yargs,\n TOOL_PARAMS.fetch,\n DESCRIPTIONS.fetch.epilogue\n ),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(args);\n }\n )\n .command(\n 'fetch-auth <url>',\n DESCRIPTIONS.fetchWithAuth.cli,\n yargs =>\n configureFetchCommand(\n yargs,\n TOOL_PARAMS.fetchWithAuth,\n DESCRIPTIONS.fetchWithAuth.epilogue\n ),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(args);\n }\n )\n .command(\n 'check <url>',\n DESCRIPTIONS.checkEndpointSchema.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.url,\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.method,\n choices: requestMethodValues,\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: TOOL_PARAMS.checkEndpointSchema.body,\n })\n .option('headers', {\n alias: ['H', 'header'],\n type: 'string',\n array: true,\n description: TOOL_PARAMS.checkEndpointSchema.headers,\n })\n .epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),\n async args => {\n const { checkCommand } = await import('@/cli/commands/check');\n await checkCommand({\n ...args,\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n });\n }\n )\n .command(\n 'try <url>',\n DESCRIPTIONS.try.cli,\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: TOOL_PARAMS.try.url,\n demandOption: true,\n }),\n async args => {\n const { tryCommand } = await import('@/cli/commands/try');\n await tryCommand(args);\n }\n )\n .command(\n 'search <query>',\n DESCRIPTIONS.search.cli,\n yargs =>\n yargs\n .positional('query', {\n type: 'string',\n description: TOOL_PARAMS.search.query,\n demandOption: true,\n })\n .option('broad', {\n type: 'boolean',\n description: TOOL_PARAMS.search.broad,\n default: false,\n })\n .option('limit', {\n type: 'number',\n description: TOOL_PARAMS.search.limit,\n })\n .option('page', {\n type: 'number',\n description: TOOL_PARAMS.search.page,\n }),\n async args => {\n const { searchCommand } = await import('@/cli/commands/search');\n await searchCommand(args);\n }\n )\n .command(\n 'discover <url>',\n DESCRIPTIONS.discoverApiEndpoints.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: TOOL_PARAMS.discoverApiEndpoints.url,\n demandOption: true,\n })\n .option('include-guidance', {\n type: 'boolean',\n description: TOOL_PARAMS.discoverApiEndpoints.includeGuidance,\n })\n .epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),\n async args => {\n const { discoverCommand } = await import('@/cli/commands/discover');\n await discoverCommand(args);\n }\n )\n .command(\n 'register <url>',\n 'Register an origin with agentcash (discover + index endpoints)',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to register',\n demandOption: true,\n }),\n async args => {\n const { registerCommand } = await import('@/cli/commands/register');\n await registerCommand(args);\n }\n )\n .command(\n 'add <url>',\n 'Add an origin and install its skill to agent clients. The origin is added to the MCP server description.',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: TOOL_PARAMS.add.url,\n demandOption: true,\n }),\n async args => {\n const { addSkillCommand } = await import('@/cli/commands/add-skill');\n await addSkillCommand(args);\n }\n )\n .command(\n 'origins',\n 'Manage registered origins',\n yargs =>\n yargs\n .command(\n 'add <url>',\n 'Add an origin to agent clients. The origin is added to the MCP server description.',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to register',\n demandOption: true,\n }),\n async args => {\n const { originsAddCommand } =\n await import('@/cli/commands/origins');\n await originsAddCommand(args);\n }\n )\n .command(\n 'list',\n 'List all registered origins',\n yargs => yargs,\n async args => {\n const { originsListCommand } =\n await import('@/cli/commands/origins');\n await originsListCommand(args);\n }\n )\n .command(\n 'remove <url>',\n 'Remove a user-added origin',\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to remove',\n demandOption: true,\n }),\n async args => {\n const { originsRemoveCommand } =\n await import('@/cli/commands/origins');\n await originsRemoveCommand(args);\n }\n )\n .demandCommand(1, 'You must specify an origins subcommand')\n .strict(),\n () => {\n // Show help for origins command\n }\n )\n .command(\n 'sessions',\n 'Manage MPP session payment channels',\n yargs =>\n yargs\n .command(\n 'close <channelId>',\n DESCRIPTIONS.closeSession.cli,\n yargs =>\n yargs\n .positional('channelId', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.channelId,\n demandOption: true,\n })\n .option('url', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.url,\n demandOption: true,\n })\n .option('cumulative-amount-raw', {\n type: 'string',\n description: TOOL_PARAMS.closeSession.cumulativeAmountRaw,\n })\n .epilogue(DESCRIPTIONS.closeSession.epilogue),\n async args => {\n const { sessionsCloseCommand } =\n await import('@/cli/commands/sessions');\n await sessionsCloseCommand({\n ...args,\n channelId: args.channelId,\n url: args.url,\n cumulativeAmountRaw: args.cumulativeAmountRaw,\n });\n }\n )\n .demandCommand(1, 'You must specify a sessions subcommand')\n .strict(),\n () => {\n // Show help for sessions command\n }\n )\n .command(\n 'onboard [code]',\n 'Non-interactive onboarding flow for agentcash wallet + MCP setup',\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: 'The invite code to redeem (optional)',\n }),\n async args => {\n const { onboardCommand } = await import('@/cli/commands/onboard');\n await onboardCommand({ ...args, code: args.code ?? args.invite });\n }\n )\n .command(\n 'wallet',\n 'Deprecated wallet command aliases',\n yargs =>\n yargs\n .command(\n 'info',\n \"Deprecated alias. Prints migration guidance for 'balance' and 'accounts'.\",\n yargs => yargs,\n async args => {\n const { legacyWalletInfoCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletInfoCommand(args);\n }\n )\n .command(\n 'balance',\n \"Deprecated alias. Prints migration guidance for 'balance'.\",\n yargs => yargs,\n async args => {\n const { legacyWalletBalanceCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletBalanceCommand(args);\n }\n )\n .command(\n 'redeem <code>',\n \"Deprecated alias. Prints migration guidance for 'redeem <code>'.\",\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: TOOL_PARAMS.redeemInvite.code,\n demandOption: true,\n }),\n async args => {\n const { legacyWalletRedeemCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletRedeemCommand(args);\n }\n )\n .command(\n 'address',\n 'Deprecated alias for wallet address lookup.',\n yargs => yargs,\n async args => {\n const { legacyWalletAddressCommand } =\n await import('@/cli/commands/wallet');\n await legacyWalletAddressCommand(args);\n }\n )\n .demandCommand(1, 'You must specify a wallet subcommand')\n .strict(),\n () => {\n // Show help for wallet command\n }\n )\n .command(\n 'balance',\n DESCRIPTIONS.getBalance.cli,\n yargs => yargs,\n async args => {\n const { getBalanceCommand } = await import('@/cli/commands/wallet');\n await getBalanceCommand(args);\n }\n )\n .command(\n 'accounts',\n DESCRIPTIONS.listAccounts.cli,\n yargs => yargs,\n async args => {\n const { listAccountsCommand } = await import('@/cli/commands/wallet');\n await listAccountsCommand(args);\n }\n )\n .command(\n 'redeem <code>',\n DESCRIPTIONS.redeemInvite.cli,\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: TOOL_PARAMS.redeemInvite.code,\n demandOption: true,\n }),\n async args => {\n const { walletRedeemCommand } = await import('@/cli/commands/wallet');\n await walletRedeemCommand(args);\n }\n )\n .command(\n 'settings',\n 'View and update user settings',\n yargs =>\n yargs\n .command(\n 'get',\n 'Show current settings',\n yargs => yargs,\n async args => {\n const { settingsGetCommand } =\n await import('@/cli/commands/settings');\n await settingsGetCommand(args);\n }\n )\n .command(\n 'set <key> <value>',\n 'Update a setting (e.g. settings set maxAmount 10)',\n yargs =>\n yargs\n .positional('key', {\n type: 'string',\n description: 'Setting name (e.g. maxAmount)',\n demandOption: true,\n })\n .positional('value', {\n type: 'string',\n description: 'Setting value',\n demandOption: true,\n }),\n async args => {\n const { settingsSetCommand } =\n await import('@/cli/commands/settings');\n await settingsSetCommand(args);\n }\n )\n .demandCommand(1, 'You must specify a settings subcommand')\n .strict(),\n () => {\n // Show help for settings command\n }\n )\n .command(\n 'report-error',\n DESCRIPTIONS.reportError.cli,\n yargs =>\n yargs\n .option('tool', {\n type: 'string',\n description: TOOL_PARAMS.reportError.tool,\n demandOption: true,\n })\n .option('summary', {\n type: 'string',\n description: TOOL_PARAMS.reportError.summary,\n demandOption: true,\n })\n .option('error-message', {\n type: 'string',\n description: TOOL_PARAMS.reportError.errorMessage,\n demandOption: true,\n })\n .option('resource', {\n type: 'string',\n description: TOOL_PARAMS.reportError.resource,\n })\n .option('stack', {\n type: 'string',\n description: TOOL_PARAMS.reportError.stack,\n })\n .option('full-report', {\n type: 'string',\n description: TOOL_PARAMS.reportError.fullReport,\n }),\n async args => {\n const { reportErrorCommand } =\n await import('@/cli/commands/report-error');\n await reportErrorCommand(args);\n }\n )\n .command(\n DESCRIPTIONS.bridge.toolNames.cli,\n DESCRIPTIONS.bridge.cli,\n yargs =>\n yargs\n .option('from', {\n type: 'string',\n description: TOOL_PARAMS.bridge.from,\n choices: paymentNetworks,\n required: true,\n })\n .option('to', {\n type: 'string',\n description: TOOL_PARAMS.bridge.to,\n choices: paymentNetworks,\n required: true,\n })\n .option('amount', {\n type: 'number',\n description: TOOL_PARAMS.bridge.amount,\n required: true,\n }),\n async args => {\n const { bridgeCommand } = await import('@/cli/commands/bridge');\n await bridgeCommand(args);\n }\n )\n // ============================================================\n // Server & Installation Commands\n // ============================================================\n .command(\n ['$0', 'server'],\n 'Start the MCP server (default when no command specified)',\n yargs => yargs,\n async args => {\n const { serverCommand } = await import('@/cli/commands/server');\n await serverCommand(args);\n }\n )\n .command(\n 'install',\n 'Install the MCP server configuration for a client',\n yargs =>\n yargs.option('client', {\n type: 'string',\n description: 'The client name',\n choices: clients,\n required: false,\n default: isClaudeCode ? Clients.ClaudeCode : undefined,\n }),\n async args => {\n const { installMcpServer } = await import('@/cli/commands/install');\n await installMcpServer(args);\n }\n )\n .command(\n 'fund',\n 'Open the funding page to add USDC to your wallet',\n yargs => yargs,\n async args => {\n const { fundMcpServer } = await import('@/cli/commands/fund');\n await fundMcpServer(args);\n }\n )\n .example(\n '$0 fetch \"https://stableenrich.dev/api/apollo/people-enrich\" -m POST -b \\'{\"email\":\"user@example.com\"}\\'',\n 'Fetch with x402 payment'\n )\n .example(\n '$0 check \"https://stableenrich.dev/api/apollo/people-enrich\"',\n 'Check endpoint pricing'\n )\n .example(\n '$0 discover \"https://stableenrich.dev\"',\n 'Discover endpoints on origin'\n )\n .example(\n '$0 register \"https://stableenrich.dev\"',\n 'Register origin with agentcash'\n )\n .example(\n '$0 onboard ABC123',\n 'Install onboarding skill, configure MCP, and redeem an invite'\n )\n .example('$0 search \"flight data\"', 'Search for APIs by description')\n .example('$0 balance', 'Get wallet balance')\n .example('$0 accounts', 'List wallet accounts by network')\n .example('$0 redeem ABC123', 'Redeem invite code')\n .example('$0', 'Start MCP server (default)')\n .example('$0 install --client cursor', 'Install MCP for Cursor')\n .strict()\n .epilogue(buildServerInstructions(loadUserOrigins()))\n .help()\n .version(MCP_VERSION)\n .parseAsync()\n .catch(err => {\n // Output error in JSON format for agent consumption\n const response = {\n success: false,\n error: {\n code: 'GENERAL_ERROR',\n message: err instanceof Error ? err.message : String(err),\n surface: 'cli',\n cause: 'unknown',\n },\n };\n console.log(JSON.stringify(response, null, 2));\n process.exit(1);\n });\n"],"mappings":"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","names":["yargs"]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-C7B6LEPE.js";
4
4
  import {
5
5
  addServer
6
- } from "./chunk-5MITNOWT.js";
6
+ } from "./chunk-CAQPJTGD.js";
7
7
  import {
8
8
  wait
9
9
  } from "./chunk-DZNSJ2BA.js";
@@ -14,7 +14,7 @@ import {
14
14
  Clients,
15
15
  clientMetadata
16
16
  } from "./chunk-27DZCYDB.js";
17
- import "./chunk-ULB5PPKW.js";
17
+ import "./chunk-MGMZAP3N.js";
18
18
  import "./chunk-ISF2WVEZ.js";
19
19
  import {
20
20
  getBalance
@@ -176,4 +176,4 @@ var installMcpServer = async (args) => {
176
176
  export {
177
177
  installMcpServer
178
178
  };
179
- //# sourceMappingURL=install-NJJZYBZU.js.map
179
+ //# sourceMappingURL=install-BYUVEOSA.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPlatformPath,
3
3
  tryAddServer
4
- } from "./chunk-5MITNOWT.js";
4
+ } from "./chunk-CAQPJTGD.js";
5
5
  import "./chunk-DZNSJ2BA.js";
6
6
  import {
7
7
  installGitHubSkill
@@ -13,7 +13,7 @@ import {
13
13
  detectAgents
14
14
  } from "./chunk-FVVSNDQR.js";
15
15
  import "./chunk-27DZCYDB.js";
16
- import "./chunk-ULB5PPKW.js";
16
+ import "./chunk-MGMZAP3N.js";
17
17
  import {
18
18
  getOnboardingCta,
19
19
  getWalletInfo
@@ -381,4 +381,4 @@ var onboardCommand = async (args) => {
381
381
  export {
382
382
  onboardCommand
383
383
  };
384
- //# sourceMappingURL=onboard-TYB4QZE4.js.map
384
+ //# sourceMappingURL=onboard-GRU6ILR7.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  resolveOrigin
3
- } from "./chunk-O57QVTLM.js";
3
+ } from "./chunk-7WQMJKJR.js";
4
4
  import {
5
5
  addUserOrigin,
6
6
  loadUserOrigins,
7
7
  removeUserOrigin
8
8
  } from "./chunk-YIU364NZ.js";
9
- import "./chunk-K3WB4R2P.js";
9
+ import "./chunk-WPCEYCCK.js";
10
10
  import {
11
11
  ORIGIN_METADATA,
12
12
  PRIMARY_ORIGINS
13
- } from "./chunk-W37JKCLN.js";
13
+ } from "./chunk-H5V6L7NG.js";
14
14
  import "./chunk-KVSTJRSJ.js";
15
15
  import {
16
16
  ensureProtocol
@@ -80,4 +80,4 @@ export {
80
80
  originsListCommand,
81
81
  originsRemoveCommand
82
82
  };
83
- //# sourceMappingURL=origins-EVVF3N4G.js.map
83
+ //# sourceMappingURL=origins-ZXQOPPWV.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  executeFetch
3
- } from "./chunk-HNDMHX4B.js";
4
- import "./chunk-FBGNOXFP.js";
3
+ } from "./chunk-XGPAWZOW.js";
4
+ import "./chunk-B5G7TGCZ.js";
5
5
  import "./chunk-4TIYIVZF.js";
6
6
  import "./chunk-IKPLMFAK.js";
7
7
  import "./chunk-LNJIXYCU.js";
@@ -189,4 +189,4 @@ var registerCommand = async (args) => {
189
189
  export {
190
190
  registerCommand
191
191
  };
192
- //# sourceMappingURL=register-T6M2US4B.js.map
192
+ //# sourceMappingURL=register-BPCEZI5M.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  submitErrorReport
3
- } from "./chunk-VGKAPM5S.js";
4
- import "./chunk-ULB5PPKW.js";
3
+ } from "./chunk-DFR33XGE.js";
4
+ import "./chunk-MGMZAP3N.js";
5
5
  import "./chunk-RAS5DZPQ.js";
6
6
  import {
7
7
  getWalletOrExit
@@ -33,4 +33,4 @@ var reportErrorCommand = async (args) => {
33
33
  export {
34
34
  reportErrorCommand
35
35
  };
36
- //# sourceMappingURL=report-error-BR7ETMF7.js.map
36
+ //# sourceMappingURL=report-error-LE4ENBTZ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  search
3
- } from "./chunk-MZPHS3IS.js";
4
- import "./chunk-W37JKCLN.js";
5
- import "./chunk-HNDMHX4B.js";
6
- import "./chunk-FBGNOXFP.js";
3
+ } from "./chunk-3GFWQSSI.js";
4
+ import "./chunk-H5V6L7NG.js";
5
+ import "./chunk-XGPAWZOW.js";
6
+ import "./chunk-B5G7TGCZ.js";
7
7
  import "./chunk-4TIYIVZF.js";
8
8
  import "./chunk-IKPLMFAK.js";
9
9
  import "./chunk-LNJIXYCU.js";
@@ -55,4 +55,4 @@ var searchCommand = async (input) => {
55
55
  export {
56
56
  searchCommand
57
57
  };
58
- //# sourceMappingURL=search-KIPT62MB.js.map
58
+ //# sourceMappingURL=search-LFRFBZ4B.js.map
@@ -5,10 +5,10 @@ var serverCommand = async (args) => {
5
5
  "MCP server started. If you meant to explore the CLI, run: npx agentcash --help\n"
6
6
  );
7
7
  }
8
- const { startServer } = await import("./server-MO3YMDHB.js");
8
+ const { startServer } = await import("./server-SZ26QZQT.js");
9
9
  await startServer(args);
10
10
  };
11
11
  export {
12
12
  serverCommand
13
13
  };
14
- //# sourceMappingURL=server-WJH536CN.js.map
14
+ //# sourceMappingURL=server-3IWGKL7C.js.map
@@ -1,27 +1,27 @@
1
1
  import {
2
2
  closeMppSession
3
- } from "./chunk-TX7S7QGG.js";
3
+ } from "./chunk-W2TBFY7Y.js";
4
4
  import {
5
5
  redeemInviteCode
6
6
  } from "./chunk-BIO4Y27B.js";
7
7
  import {
8
8
  submitErrorReport
9
- } from "./chunk-VGKAPM5S.js";
9
+ } from "./chunk-DFR33XGE.js";
10
10
  import {
11
11
  bridge,
12
12
  bridgeSchema
13
- } from "./chunk-MKA2PTOE.js";
13
+ } from "./chunk-7VILIGSP.js";
14
14
  import {
15
15
  loadUserOrigins
16
16
  } from "./chunk-YIU364NZ.js";
17
- import "./chunk-ULB5PPKW.js";
17
+ import "./chunk-MGMZAP3N.js";
18
18
  import {
19
19
  checkEndpoint
20
20
  } from "./chunk-5CMVFNXO.js";
21
21
  import {
22
22
  coreRequestSchema,
23
23
  fetchShape
24
- } from "./chunk-SLTRGQ7W.js";
24
+ } from "./chunk-Q5YKPVXL.js";
25
25
  import {
26
26
  getBalances,
27
27
  listAccountsWithBalances
@@ -30,20 +30,20 @@ import "./chunk-ISF2WVEZ.js";
30
30
  import {
31
31
  search,
32
32
  searchSchema
33
- } from "./chunk-MZPHS3IS.js";
33
+ } from "./chunk-3GFWQSSI.js";
34
34
  import {
35
35
  discoverResources,
36
36
  discoverResourcesSchema
37
- } from "./chunk-K3WB4R2P.js";
37
+ } from "./chunk-WPCEYCCK.js";
38
38
  import {
39
39
  DESCRIPTIONS,
40
40
  TOOL_PARAMS,
41
41
  buildServerInstructions
42
- } from "./chunk-W37JKCLN.js";
42
+ } from "./chunk-H5V6L7NG.js";
43
43
  import {
44
44
  executeFetch
45
- } from "./chunk-HNDMHX4B.js";
46
- import "./chunk-FBGNOXFP.js";
45
+ } from "./chunk-XGPAWZOW.js";
46
+ import "./chunk-B5G7TGCZ.js";
47
47
  import {
48
48
  DEFAULT_MAX_AMOUNT,
49
49
  getSettings,
@@ -737,7 +737,7 @@ import { dirname, join } from "path";
737
737
  import { fileURLToPath } from "url";
738
738
  function getVersion() {
739
739
  if (true) {
740
- return "0.15.0";
740
+ return "0.16.0";
741
741
  }
742
742
  const __dirname2 = dirname(fileURLToPath(import.meta.url));
743
743
  const pkg = JSON.parse(
@@ -804,4 +804,4 @@ var startServer = async (flags) => {
804
804
  export {
805
805
  startServer
806
806
  };
807
- //# sourceMappingURL=server-MO3YMDHB.js.map
807
+ //# sourceMappingURL=server-SZ26QZQT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  closeMppSession
3
- } from "./chunk-TX7S7QGG.js";
4
- import "./chunk-FBGNOXFP.js";
3
+ } from "./chunk-W2TBFY7Y.js";
4
+ import "./chunk-B5G7TGCZ.js";
5
5
  import "./chunk-RAS5DZPQ.js";
6
6
  import {
7
7
  getWalletOrExit
@@ -71,4 +71,4 @@ var sessionsCloseCommand = async (args) => {
71
71
  export {
72
72
  sessionsCloseCommand
73
73
  };
74
- //# sourceMappingURL=sessions-NUOSJC6M.js.map
74
+ //# sourceMappingURL=sessions-A5ELSD5L.js.map
@@ -4,8 +4,8 @@ import {
4
4
  import "./chunk-ISF2WVEZ.js";
5
5
  import {
6
6
  discoverResources
7
- } from "./chunk-K3WB4R2P.js";
8
- import "./chunk-W37JKCLN.js";
7
+ } from "./chunk-WPCEYCCK.js";
8
+ import "./chunk-H5V6L7NG.js";
9
9
  import "./chunk-EM6OE6WL.js";
10
10
  import "./chunk-RAS5DZPQ.js";
11
11
  import {
@@ -56,7 +56,7 @@ var tryCommand = async (args) => {
56
56
  const title = discoverResult.info?.title ?? discoverResult.origin;
57
57
  const description = discoverResult.info?.description;
58
58
  const sampleLines = sampleEndpoints.map((e) => {
59
- const price = e.price ? ` (${e.price})` : "";
59
+ const price = e.price ? ` (${e.price.replace(/(\.\d{2,}?)0+(?=$|\D)/g, "$1")})` : "";
60
60
  return ` - ${e.summary}${price}`;
61
61
  });
62
62
  const originSummary = [
@@ -101,4 +101,4 @@ var tryCommand = async (args) => {
101
101
  export {
102
102
  tryCommand
103
103
  };
104
- //# sourceMappingURL=try-2P5ZRXRT.js.map
104
+ //# sourceMappingURL=try-3CZ3JFD2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cli/commands/try.ts"],"sourcesContent":["import { successResponse, outputAndExit } from '@/cli/output';\n\nimport { discoverResources } from '@/operations/discover';\nimport { getWalletInfo } from '@/operations/wallet';\nimport { getWalletOrExit } from '../lib/get-wallet-or-exit';\n\nimport type { Command } from '@/types';\nimport type { DiscoverResourcesInput } from '@/operations/discover';\n\nconst surface = 'cli:try';\n\nexport const tryCommand: Command<DiscoverResourcesInput> = async args => {\n const wallets = await getWalletOrExit(args);\n\n const discoverResult = await discoverResources(surface, args, {\n flags: args,\n });\n const walletInfo = await getWalletInfo(surface, wallets, args);\n\n const onboardingCta = walletInfo.onboardingCta;\n\n if (!discoverResult.found) {\n const origin =\n 'origin' in discoverResult ? discoverResult.origin : args.url;\n return outputAndExit(\n successResponse({\n ...(onboardingCta\n ? {\n onboardMessage: onboardingCta.message,\n onboardLink: onboardingCta.onboardLink,\n }\n : {}),\n notice: `No endpoints found for ${origin}. The origin may not support x402 or SIWX.`,\n resources: `Browse supported APIs at https://agentcash.dev/resources`,\n }),\n args\n );\n }\n\n // Pick up to 3 sample endpoints (prefer paid)\n const paidEndpoints = discoverResult.endpoints.filter(\n e => e.authMode === 'paid'\n );\n const sampleEndpoints = (\n paidEndpoints.length > 0 ? paidEndpoints : discoverResult.endpoints\n ).slice(0, 3);\n const totalCount = discoverResult.endpoints.length;\n\n const title = discoverResult.info?.title ?? discoverResult.origin;\n const description = discoverResult.info?.description;\n\n const sampleLines = sampleEndpoints.map(e => {\n const price = e.price\n ? ` (${e.price.replace(/(\\.\\d{2,}?)0+(?=$|\\D)/g, '$1')})`\n : '';\n return ` - ${e.summary}${price}`;\n });\n\n const originSummary = [\n `${title}${description ? ` — ${description}` : ''}`,\n '',\n 'Sample endpoints:',\n ...sampleLines,\n ...(totalCount > sampleEndpoints.length\n ? [\n ` ...and ${totalCount - sampleEndpoints.length} more. Run \\`npx agentcash discover ${discoverResult.origin}\\` to see all endpoints.`,\n ]\n : []),\n ].join('\\n');\n\n // Call to action using the first paid endpoint\n const firstEndpoint =\n discoverResult.endpoints.find(e => e.authMode === 'paid') ??\n discoverResult.endpoints[0];\n\n let callToAction: string | undefined;\n if (firstEndpoint) {\n const endpointUrl = `${discoverResult.origin}${firstEndpoint.path}`;\n callToAction = [\n `To call your first endpoint:`,\n ` 1. Run \\`npx agentcash check \"${endpointUrl}\"\\` to get the input schema and pricing.`,\n ` 2. Run \\`npx agentcash fetch \"${endpointUrl}\" -m ${firstEndpoint.method}\\` with the required body to make the call.`,\n `If you have the AgentCash MCP installed, you can also call this directly using the check_endpoint_schema and fetch tools.`,\n ].join('\\n');\n }\n\n const modelInstructions = [\n `Present the originSummary to the user, then ask them what they would like to do — e.g. \"What would you like to do with ${title}?\"`,\n ...(onboardingCta\n ? [\n `IMPORTANT: The user has not yet onboarded. Show the onboard link VERBATIM as a clickable URL so the user can click it: ${onboardingCta.onboardLink}`,\n ]\n : []),\n ].join('\\n');\n\n return outputAndExit(\n successResponse({\n ...(onboardingCta\n ? {\n onboardMessage: onboardingCta.message,\n onboardLink: onboardingCta.onboardLink,\n }\n : {}),\n originSummary,\n callToAction,\n modelInstructions,\n }),\n args\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAM,UAAU;AAET,IAAM,aAA8C,OAAM,SAAQ;AACvE,QAAM,UAAU,MAAM,gBAAgB,IAAI;AAE1C,QAAM,iBAAiB,MAAM,kBAAkB,SAAS,MAAM;AAAA,IAC5D,OAAO;AAAA,EACT,CAAC;AACD,QAAM,aAAa,MAAM,cAAc,SAAS,SAAS,IAAI;AAE7D,QAAM,gBAAgB,WAAW;AAEjC,MAAI,CAAC,eAAe,OAAO;AACzB,UAAM,SACJ,YAAY,iBAAiB,eAAe,SAAS,KAAK;AAC5D,WAAO;AAAA,MACL,gBAAgB;AAAA,QACd,GAAI,gBACA;AAAA,UACE,gBAAgB,cAAc;AAAA,UAC9B,aAAa,cAAc;AAAA,QAC7B,IACA,CAAC;AAAA,QACL,QAAQ,0BAA0B,MAAM;AAAA,QACxC,WAAW;AAAA,MACb,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAGA,QAAM,gBAAgB,eAAe,UAAU;AAAA,IAC7C,OAAK,EAAE,aAAa;AAAA,EACtB;AACA,QAAM,mBACJ,cAAc,SAAS,IAAI,gBAAgB,eAAe,WAC1D,MAAM,GAAG,CAAC;AACZ,QAAM,aAAa,eAAe,UAAU;AAE5C,QAAM,QAAQ,eAAe,MAAM,SAAS,eAAe;AAC3D,QAAM,cAAc,eAAe,MAAM;AAEzC,QAAM,cAAc,gBAAgB,IAAI,OAAK;AAC3C,UAAM,QAAQ,EAAE,QACZ,KAAK,EAAE,MAAM,QAAQ,0BAA0B,IAAI,CAAC,MACpD;AACJ,WAAO,OAAO,EAAE,OAAO,GAAG,KAAK;AAAA,EACjC,CAAC;AAED,QAAM,gBAAgB;AAAA,IACpB,GAAG,KAAK,GAAG,cAAc,WAAM,WAAW,KAAK,EAAE;AAAA,IACjD;AAAA,IACA;AAAA,IACA,GAAG;AAAA,IACH,GAAI,aAAa,gBAAgB,SAC7B;AAAA,MACE,YAAY,aAAa,gBAAgB,MAAM,uCAAuC,eAAe,MAAM;AAAA,IAC7G,IACA,CAAC;AAAA,EACP,EAAE,KAAK,IAAI;AAGX,QAAM,gBACJ,eAAe,UAAU,KAAK,OAAK,EAAE,aAAa,MAAM,KACxD,eAAe,UAAU,CAAC;AAE5B,MAAI;AACJ,MAAI,eAAe;AACjB,UAAM,cAAc,GAAG,eAAe,MAAM,GAAG,cAAc,IAAI;AACjE,mBAAe;AAAA,MACb;AAAA,MACA,mCAAmC,WAAW;AAAA,MAC9C,mCAAmC,WAAW,QAAQ,cAAc,MAAM;AAAA,MAC1E;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb;AAEA,QAAM,oBAAoB;AAAA,IACxB,+HAA0H,KAAK;AAAA,IAC/H,GAAI,gBACA;AAAA,MACE,0HAA0H,cAAc,WAAW;AAAA,IACrJ,IACA,CAAC;AAAA,EACP,EAAE,KAAK,IAAI;AAEX,SAAO;AAAA,IACL,gBAAgB;AAAA,MACd,GAAI,gBACA;AAAA,QACE,gBAAgB,cAAc;AAAA,QAC9B,aAAa,cAAc;AAAA,MAC7B,IACA,CAAC;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACD;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentcash",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "mcpName": "io.github.Merit-Systems/agentcash",
5
5
  "description": "Generic MCP server for calling x402-protected APIs with automatic payment handling",
6
6
  "type": "module",
@@ -31,7 +31,7 @@
31
31
  "content-type": "^1.0.5",
32
32
  "js-yaml": "^4.1.1",
33
33
  "jsonc-parser": "^3.3.1",
34
- "mppx": "^0.6.27",
34
+ "mppx": "^0.7.0",
35
35
  "open": "^11.0.0",
36
36
  "viem": "^2.50.4",
37
37
  "yargs": "^18.0.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/shared/protocols/mpp/index.ts"],"sourcesContent":["import { Challenge, Receipt } from 'mppx';\nimport { Methods } from 'mppx/tempo';\nimport {\n err,\n ok,\n resultFromPromise,\n resultFromThrowable,\n} from '@agentcash/neverthrow';\n\nimport { Mppx, tempo as tempoMethod } from 'mppx/client';\n\nimport { type Address, createClient, http } from 'viem';\n\nimport { EVM_CONFIGS, Network } from '@agentcash/networks';\n\nimport type { BaseMppError } from './types';\nimport type { Wallets } from '@/wallet';\n\nconst errorType = 'mpp';\n\nexport const mppOk = <T>(value: T) => ok(value);\nexport const mppErr = (surface: string, error: BaseMppError) =>\n err(errorType, surface, error);\n\nconst formatErrMsg = (e: unknown, prefix?: string) => {\n const msg =\n e instanceof Error ? e.message : typeof e === 'string' ? e : String(e);\n return prefix ? `${prefix}: ${msg}` : msg;\n};\n\nexport const sessionRequestFailedErr = (e: unknown, prefix?: string) => ({\n cause: 'mpp_session_request_failed' as const,\n message: formatErrMsg(e, prefix),\n});\n\nexport const sessionCloseFailedErr = (e: unknown, prefix?: string) => ({\n cause: 'mpp_session_close_failed' as const,\n message: formatErrMsg(e, prefix),\n});\n\nexport const mppResultFromPromise = <T>(\n surface: string,\n promise: Promise<T>,\n error: (e: unknown) => BaseMppError\n) => resultFromPromise(errorType, surface, promise, error);\n\nexport const mppResultFromThrowable = <T>(\n surface: string,\n fn: () => T,\n error: (e: unknown) => BaseMppError\n) => resultFromThrowable(errorType, surface, fn, error);\n\nexport const createTempoClient = () =>\n createClient({\n chain: EVM_CONFIGS[Network.TEMPO].chain,\n transport: http(EVM_CONFIGS[Network.TEMPO].rpcUrl),\n });\n\nexport const assertTempoUsdc = (surface: string, tokenAddress: Address) => {\n const expected = EVM_CONFIGS[Network.TEMPO].usdcAddress;\n if (tokenAddress.toLowerCase() === expected.toLowerCase()) {\n return mppOk(true);\n }\n return mppErr(surface, {\n cause: 'unsupported_token',\n message: `Endpoint requires payment in token ${tokenAddress} on Tempo, but agentcash only supports ${expected}. The endpoint may be configured for a different token (e.g. PathUSD vs USDC).`,\n });\n};\n\nexport const safeGetMppChallenge = (surface: string, response: Response) => {\n return mppResultFromThrowable(\n surface,\n () =>\n Challenge.fromResponse(response, {\n methods: [Methods.charge, Methods.session],\n }),\n error => ({\n cause: 'parse_mpp_challenge',\n message:\n error instanceof Error\n ? error.message\n : 'Failed to parse MPP challenge from response',\n })\n );\n};\n\nexport const safeCreateMppCredential = (\n surface: string,\n wallets: Wallets,\n response: Response\n) => {\n const client = Mppx.create({\n polyfill: false,\n methods: [\n tempoMethod({\n account: wallets.evm,\n getClient: createTempoClient,\n }),\n ],\n });\n\n return mppResultFromPromise(\n surface,\n client.createCredential(response),\n error => ({\n cause: 'create_mpp_credential',\n message:\n error instanceof Error\n ? error.message\n : 'Failed to create MPP credential',\n })\n );\n};\n\nexport const safeGetMppReceipt = (surface: string, response: Response) => {\n return mppResultFromThrowable(\n surface,\n () => Receipt.fromResponse(response),\n error => ({\n cause: 'parse_mpp_receipt',\n message:\n error instanceof Error\n ? error.message\n : 'Failed to parse MPP receipt from response',\n })\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,WAAW,eAAe;AACnC,SAAS,eAAe;AAQxB,SAAS,MAAM,SAAS,mBAAmB;AAE3C,SAAuB,cAAc,YAAY;AAOjD,IAAM,YAAY;AAEX,IAAM,QAAQ,CAAI,UAAa,GAAG,KAAK;AACvC,IAAM,SAAS,CAAC,SAAiB,UACtC,IAAI,WAAW,SAAS,KAAK;AAE/B,IAAM,eAAe,CAAC,GAAY,WAAoB;AACpD,QAAM,MACJ,aAAa,QAAQ,EAAE,UAAU,OAAO,MAAM,WAAW,IAAI,OAAO,CAAC;AACvE,SAAO,SAAS,GAAG,MAAM,KAAK,GAAG,KAAK;AACxC;AAEO,IAAM,0BAA0B,CAAC,GAAY,YAAqB;AAAA,EACvE,OAAO;AAAA,EACP,SAAS,aAAa,GAAG,MAAM;AACjC;AAEO,IAAM,wBAAwB,CAAC,GAAY,YAAqB;AAAA,EACrE,OAAO;AAAA,EACP,SAAS,aAAa,GAAG,MAAM;AACjC;AAEO,IAAM,uBAAuB,CAClC,SACA,SACA,UACG,kBAAkB,WAAW,SAAS,SAAS,KAAK;AAElD,IAAM,yBAAyB,CACpC,SACA,IACA,UACG,oBAAoB,WAAW,SAAS,IAAI,KAAK;AAE/C,IAAM,oBAAoB,MAC/B,aAAa;AAAA,EACX,OAAO,+BAAyB,EAAE;AAAA,EAClC,WAAW,KAAK,+BAAyB,EAAE,MAAM;AACnD,CAAC;AAEI,IAAM,kBAAkB,CAAC,SAAiB,iBAA0B;AACzE,QAAM,WAAW,+BAAyB,EAAE;AAC5C,MAAI,aAAa,YAAY,MAAM,SAAS,YAAY,GAAG;AACzD,WAAO,MAAM,IAAI;AAAA,EACnB;AACA,SAAO,OAAO,SAAS;AAAA,IACrB,OAAO;AAAA,IACP,SAAS,sCAAsC,YAAY,0CAA0C,QAAQ;AAAA,EAC/G,CAAC;AACH;AAEO,IAAM,sBAAsB,CAAC,SAAiB,aAAuB;AAC1E,SAAO;AAAA,IACL;AAAA,IACA,MACE,UAAU,aAAa,UAAU;AAAA,MAC/B,SAAS,CAAC,QAAQ,QAAQ,QAAQ,OAAO;AAAA,IAC3C,CAAC;AAAA,IACH,YAAU;AAAA,MACR,OAAO;AAAA,MACP,SACE,iBAAiB,QACb,MAAM,UACN;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,0BAA0B,CACrC,SACA,SACA,aACG;AACH,QAAM,SAAS,KAAK,OAAO;AAAA,IACzB,UAAU;AAAA,IACV,SAAS;AAAA,MACP,YAAY;AAAA,QACV,SAAS,QAAQ;AAAA,QACjB,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AAED,SAAO;AAAA,IACL;AAAA,IACA,OAAO,iBAAiB,QAAQ;AAAA,IAChC,YAAU;AAAA,MACR,OAAO;AAAA,MACP,SACE,iBAAiB,QACb,MAAM,UACN;AAAA,IACR;AAAA,EACF;AACF;AAEO,IAAM,oBAAoB,CAAC,SAAiB,aAAuB;AACxE,SAAO;AAAA,IACL;AAAA,IACA,MAAM,QAAQ,aAAa,QAAQ;AAAA,IACnC,YAAU;AAAA,MACR,OAAO;AAAA,MACP,SACE,iBAAiB,QACb,MAAM,UACN;AAAA,IACR;AAAA,EACF;AACF;","names":[]}