agentcash 0.16.2 → 0.17.1

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 (58) hide show
  1. package/dist/cjs/run-server.cjs +106704 -123049
  2. package/dist/esm/{add-skill-DPQR466Y.js → add-skill-CFGMBWS4.js} +4 -4
  3. package/dist/esm/{bridge-JNIOVDD3.js → bridge-4SWPSBWP.js} +3 -3
  4. package/dist/esm/{check-LR3CSSJF.js → check-PGUEDKO5.js} +4 -4
  5. package/dist/esm/{chunk-V264YU5J.js → chunk-574342U7.js} +2 -2
  6. package/dist/esm/{chunk-7WQMJKJR.js → chunk-6IYTF6NV.js} +2 -2
  7. package/dist/esm/{chunk-3XQN4TFL.js → chunk-6YIG64RH.js} +2 -2
  8. package/dist/esm/{chunk-H5V6L7NG.js → chunk-CCWBMXQT.js} +3 -3
  9. package/dist/esm/chunk-CCWBMXQT.js.map +1 -0
  10. package/dist/esm/{chunk-C5TXI374.js → chunk-G6MIWS35.js} +3 -3
  11. package/dist/esm/{chunk-WPCEYCCK.js → chunk-H7ES5FU5.js} +2 -2
  12. package/dist/esm/{chunk-Q5YKPVXL.js → chunk-MCJ446SE.js} +2 -2
  13. package/dist/esm/{chunk-7VILIGSP.js → chunk-QFYKR3H3.js} +2 -2
  14. package/dist/esm/{chunk-CQ5ZSAKD.js → chunk-XU7NVHOY.js} +2 -2
  15. package/dist/esm/{chunk-F4YE5YSG.js → chunk-YIECO2O4.js} +22 -3
  16. package/dist/esm/chunk-YIECO2O4.js.map +1 -0
  17. package/dist/esm/{chunk-M3YTSL6T.js → chunk-YOY6D3SX.js} +3 -3
  18. package/dist/esm/{discover-EIFUI6QT.js → discover-OGK3JBEU.js} +3 -3
  19. package/dist/esm/{fetch-OXPSOIQ3.js → fetch-SC43UYLV.js} +17 -10
  20. package/dist/esm/fetch-SC43UYLV.js.map +1 -0
  21. package/dist/esm/index.js +21 -21
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/{install-RCJYUZA6.js → install-ONQHFNPS.js} +3 -3
  24. package/dist/esm/{onboard-263VMOOP.js → onboard-VZ4MNINC.js} +3 -3
  25. package/dist/esm/{origins-ZXQOPPWV.js → origins-YOHZN3QI.js} +4 -4
  26. package/dist/esm/{register-35JC4M2E.js → register-NMKUVK6Z.js} +2 -2
  27. package/dist/esm/{report-error-TXNPOHTY.js → report-error-HQBVDKDU.js} +3 -3
  28. package/dist/esm/{search-ZFXKWMRP.js → search-H32FUHXO.js} +4 -4
  29. package/dist/esm/{server-ABCU7Y46.js → server-MKLACHXU.js} +23 -20
  30. package/dist/esm/server-MKLACHXU.js.map +1 -0
  31. package/dist/esm/{server-ECAFH7U2.js → server-YVMRCPCF.js} +2 -2
  32. package/dist/esm/{try-3CZ3JFD2.js → try-NEU56CHG.js} +3 -3
  33. package/package.json +7 -7
  34. package/dist/esm/chunk-F4YE5YSG.js.map +0 -1
  35. package/dist/esm/chunk-H5V6L7NG.js.map +0 -1
  36. package/dist/esm/fetch-OXPSOIQ3.js.map +0 -1
  37. package/dist/esm/server-ABCU7Y46.js.map +0 -1
  38. /package/dist/esm/{add-skill-DPQR466Y.js.map → add-skill-CFGMBWS4.js.map} +0 -0
  39. /package/dist/esm/{bridge-JNIOVDD3.js.map → bridge-4SWPSBWP.js.map} +0 -0
  40. /package/dist/esm/{check-LR3CSSJF.js.map → check-PGUEDKO5.js.map} +0 -0
  41. /package/dist/esm/{chunk-V264YU5J.js.map → chunk-574342U7.js.map} +0 -0
  42. /package/dist/esm/{chunk-7WQMJKJR.js.map → chunk-6IYTF6NV.js.map} +0 -0
  43. /package/dist/esm/{chunk-3XQN4TFL.js.map → chunk-6YIG64RH.js.map} +0 -0
  44. /package/dist/esm/{chunk-C5TXI374.js.map → chunk-G6MIWS35.js.map} +0 -0
  45. /package/dist/esm/{chunk-WPCEYCCK.js.map → chunk-H7ES5FU5.js.map} +0 -0
  46. /package/dist/esm/{chunk-Q5YKPVXL.js.map → chunk-MCJ446SE.js.map} +0 -0
  47. /package/dist/esm/{chunk-7VILIGSP.js.map → chunk-QFYKR3H3.js.map} +0 -0
  48. /package/dist/esm/{chunk-CQ5ZSAKD.js.map → chunk-XU7NVHOY.js.map} +0 -0
  49. /package/dist/esm/{chunk-M3YTSL6T.js.map → chunk-YOY6D3SX.js.map} +0 -0
  50. /package/dist/esm/{discover-EIFUI6QT.js.map → discover-OGK3JBEU.js.map} +0 -0
  51. /package/dist/esm/{install-RCJYUZA6.js.map → install-ONQHFNPS.js.map} +0 -0
  52. /package/dist/esm/{onboard-263VMOOP.js.map → onboard-VZ4MNINC.js.map} +0 -0
  53. /package/dist/esm/{origins-ZXQOPPWV.js.map → origins-YOHZN3QI.js.map} +0 -0
  54. /package/dist/esm/{register-35JC4M2E.js.map → register-NMKUVK6Z.js.map} +0 -0
  55. /package/dist/esm/{report-error-TXNPOHTY.js.map → report-error-HQBVDKDU.js.map} +0 -0
  56. /package/dist/esm/{search-ZFXKWMRP.js.map → search-H32FUHXO.js.map} +0 -0
  57. /package/dist/esm/{server-ECAFH7U2.js.map → server-YVMRCPCF.js.map} +0 -0
  58. /package/dist/esm/{try-3CZ3JFD2.js.map → try-NEU56CHG.js.map} +0 -0
package/dist/esm/index.js CHANGED
@@ -7,17 +7,17 @@ import {
7
7
  } from "./chunk-27DZCYDB.js";
8
8
  import {
9
9
  MCP_VERSION
10
- } from "./chunk-V264YU5J.js";
10
+ } from "./chunk-574342U7.js";
11
11
  import {
12
12
  paymentNetworks,
13
13
  paymentProtocols,
14
14
  requestMethodValues
15
- } from "./chunk-Q5YKPVXL.js";
15
+ } from "./chunk-MCJ446SE.js";
16
16
  import {
17
17
  DESCRIPTIONS,
18
18
  TOOL_PARAMS,
19
19
  buildServerInstructions
20
- } from "./chunk-H5V6L7NG.js";
20
+ } from "./chunk-CCWBMXQT.js";
21
21
  import "./chunk-LNJIXYCU.js";
22
22
  import "./chunk-HTGTKVXB.js";
23
23
  import "./chunk-KVSTJRSJ.js";
@@ -120,7 +120,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
120
120
  DESCRIPTIONS.fetch.epilogue
121
121
  ),
122
122
  async (args) => {
123
- const { fetchCommand } = await import("./fetch-OXPSOIQ3.js");
123
+ const { fetchCommand } = await import("./fetch-SC43UYLV.js");
124
124
  await fetchCommand(args);
125
125
  }
126
126
  ).command(
@@ -132,7 +132,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
132
132
  DESCRIPTIONS.fetchWithAuth.epilogue
133
133
  ),
134
134
  async (args) => {
135
- const { fetchCommand } = await import("./fetch-OXPSOIQ3.js");
135
+ const { fetchCommand } = await import("./fetch-SC43UYLV.js");
136
136
  await fetchCommand(args);
137
137
  }
138
138
  ).command(
@@ -158,7 +158,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
158
158
  description: TOOL_PARAMS.checkEndpointSchema.headers
159
159
  }).epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),
160
160
  async (args) => {
161
- const { checkCommand } = await import("./check-LR3CSSJF.js");
161
+ const { checkCommand } = await import("./check-PGUEDKO5.js");
162
162
  await checkCommand({
163
163
  ...args,
164
164
  url: args.url,
@@ -176,7 +176,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
176
176
  demandOption: true
177
177
  }),
178
178
  async (args) => {
179
- const { tryCommand } = await import("./try-3CZ3JFD2.js");
179
+ const { tryCommand } = await import("./try-NEU56CHG.js");
180
180
  await tryCommand(args);
181
181
  }
182
182
  ).command(
@@ -198,7 +198,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
198
198
  description: TOOL_PARAMS.search.page
199
199
  }),
200
200
  async (args) => {
201
- const { searchCommand } = await import("./search-ZFXKWMRP.js");
201
+ const { searchCommand } = await import("./search-H32FUHXO.js");
202
202
  await searchCommand(args);
203
203
  }
204
204
  ).command(
@@ -213,7 +213,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
213
213
  description: TOOL_PARAMS.discoverApiEndpoints.includeGuidance
214
214
  }).epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),
215
215
  async (args) => {
216
- const { discoverCommand } = await import("./discover-EIFUI6QT.js");
216
+ const { discoverCommand } = await import("./discover-OGK3JBEU.js");
217
217
  await discoverCommand(args);
218
218
  }
219
219
  ).command(
@@ -225,7 +225,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
225
225
  demandOption: true
226
226
  }),
227
227
  async (args) => {
228
- const { registerCommand } = await import("./register-35JC4M2E.js");
228
+ const { registerCommand } = await import("./register-NMKUVK6Z.js");
229
229
  await registerCommand(args);
230
230
  }
231
231
  ).command(
@@ -237,7 +237,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
237
237
  demandOption: true
238
238
  }),
239
239
  async (args) => {
240
- const { addSkillCommand } = await import("./add-skill-DPQR466Y.js");
240
+ const { addSkillCommand } = await import("./add-skill-CFGMBWS4.js");
241
241
  await addSkillCommand(args);
242
242
  }
243
243
  ).command(
@@ -252,7 +252,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
252
252
  demandOption: true
253
253
  }),
254
254
  async (args) => {
255
- const { originsAddCommand } = await import("./origins-ZXQOPPWV.js");
255
+ const { originsAddCommand } = await import("./origins-YOHZN3QI.js");
256
256
  await originsAddCommand(args);
257
257
  }
258
258
  ).command(
@@ -260,7 +260,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
260
260
  "List all registered origins",
261
261
  (yargs3) => yargs3,
262
262
  async (args) => {
263
- const { originsListCommand } = await import("./origins-ZXQOPPWV.js");
263
+ const { originsListCommand } = await import("./origins-YOHZN3QI.js");
264
264
  await originsListCommand(args);
265
265
  }
266
266
  ).command(
@@ -272,7 +272,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
272
272
  demandOption: true
273
273
  }),
274
274
  async (args) => {
275
- const { originsRemoveCommand } = await import("./origins-ZXQOPPWV.js");
275
+ const { originsRemoveCommand } = await import("./origins-YOHZN3QI.js");
276
276
  await originsRemoveCommand(args);
277
277
  }
278
278
  ).demandCommand(1, "You must specify an origins subcommand").strict(),
@@ -316,7 +316,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
316
316
  description: "The invite code to redeem (optional)"
317
317
  }),
318
318
  async (args) => {
319
- const { onboardCommand } = await import("./onboard-263VMOOP.js");
319
+ const { onboardCommand } = await import("./onboard-VZ4MNINC.js");
320
320
  await onboardCommand({ ...args, code: args.code ?? args.invite });
321
321
  }
322
322
  ).command(
@@ -445,7 +445,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
445
445
  description: TOOL_PARAMS.reportError.fullReport
446
446
  }),
447
447
  async (args) => {
448
- const { reportErrorCommand } = await import("./report-error-TXNPOHTY.js");
448
+ const { reportErrorCommand } = await import("./report-error-HQBVDKDU.js");
449
449
  await reportErrorCommand(args);
450
450
  }
451
451
  ).command(
@@ -467,7 +467,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
467
467
  required: true
468
468
  }),
469
469
  async (args) => {
470
- const { bridgeCommand } = await import("./bridge-JNIOVDD3.js");
470
+ const { bridgeCommand } = await import("./bridge-4SWPSBWP.js");
471
471
  await bridgeCommand(args);
472
472
  }
473
473
  ).command(
@@ -475,7 +475,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
475
475
  "Start the MCP server (default when no command specified)",
476
476
  (yargs2) => yargs2,
477
477
  async (args) => {
478
- const { serverCommand } = await import("./server-ECAFH7U2.js");
478
+ const { serverCommand } = await import("./server-YVMRCPCF.js");
479
479
  await serverCommand(args);
480
480
  }
481
481
  ).command(
@@ -489,7 +489,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
489
489
  default: isClaudeCode ? "claude-code" /* ClaudeCode */ : void 0
490
490
  }),
491
491
  async (args) => {
492
- const { installMcpServer } = await import("./install-RCJYUZA6.js");
492
+ const { installMcpServer } = await import("./install-ONQHFNPS.js");
493
493
  await installMcpServer(args);
494
494
  }
495
495
  ).command(
@@ -501,10 +501,10 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
501
501
  await fundMcpServer(args);
502
502
  }
503
503
  ).example(
504
- `$0 fetch "https://stableenrich.dev/api/apollo/people-enrich" -m POST -b '{"email":"user@example.com"}'`,
504
+ `$0 fetch "https://stableenrich.dev/api/pdl/people-enrich" -m POST -b '{"profile":"https://www.linkedin.com/in/example"}'`,
505
505
  "Fetch with x402 payment"
506
506
  ).example(
507
- '$0 check "https://stableenrich.dev/api/apollo/people-enrich"',
507
+ '$0 check "https://stableenrich.dev/api/fullenrich/people-search"',
508
508
  "Check endpoint pricing"
509
509
  ).example(
510
510
  '$0 discover "https://stableenrich.dev"',
@@ -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 .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"]}
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/pdl/people-enrich\" -m POST -b \\'{\"profile\":\"https://www.linkedin.com/in/example\"}\\'',\n 'Fetch with x402 payment'\n )\n .example(\n '$0 check \"https://stableenrich.dev/api/fullenrich/people-search\"',\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-3XQN4TFL.js";
6
+ } from "./chunk-6YIG64RH.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-V264YU5J.js";
17
+ import "./chunk-574342U7.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-RCJYUZA6.js.map
179
+ //# sourceMappingURL=install-ONQHFNPS.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPlatformPath,
3
3
  tryAddServer
4
- } from "./chunk-3XQN4TFL.js";
4
+ } from "./chunk-6YIG64RH.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-V264YU5J.js";
16
+ import "./chunk-574342U7.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-263VMOOP.js.map
384
+ //# sourceMappingURL=onboard-VZ4MNINC.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  resolveOrigin
3
- } from "./chunk-7WQMJKJR.js";
3
+ } from "./chunk-6IYTF6NV.js";
4
4
  import {
5
5
  addUserOrigin,
6
6
  loadUserOrigins,
7
7
  removeUserOrigin
8
8
  } from "./chunk-YIU364NZ.js";
9
- import "./chunk-WPCEYCCK.js";
9
+ import "./chunk-H7ES5FU5.js";
10
10
  import {
11
11
  ORIGIN_METADATA,
12
12
  PRIMARY_ORIGINS
13
- } from "./chunk-H5V6L7NG.js";
13
+ } from "./chunk-CCWBMXQT.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-ZXQOPPWV.js.map
83
+ //# sourceMappingURL=origins-YOHZN3QI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  executeFetch
3
- } from "./chunk-F4YE5YSG.js";
3
+ } from "./chunk-YIECO2O4.js";
4
4
  import "./chunk-H2JGMFEG.js";
5
5
  import "./chunk-4TIYIVZF.js";
6
6
  import "./chunk-IKPLMFAK.js";
@@ -189,4 +189,4 @@ var registerCommand = async (args) => {
189
189
  export {
190
190
  registerCommand
191
191
  };
192
- //# sourceMappingURL=register-35JC4M2E.js.map
192
+ //# sourceMappingURL=register-NMKUVK6Z.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  submitErrorReport
3
- } from "./chunk-CQ5ZSAKD.js";
4
- import "./chunk-V264YU5J.js";
3
+ } from "./chunk-XU7NVHOY.js";
4
+ import "./chunk-574342U7.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-TXNPOHTY.js.map
36
+ //# sourceMappingURL=report-error-HQBVDKDU.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  search
3
- } from "./chunk-C5TXI374.js";
4
- import "./chunk-H5V6L7NG.js";
5
- import "./chunk-F4YE5YSG.js";
3
+ } from "./chunk-G6MIWS35.js";
4
+ import "./chunk-CCWBMXQT.js";
5
+ import "./chunk-YIECO2O4.js";
6
6
  import "./chunk-H2JGMFEG.js";
7
7
  import "./chunk-4TIYIVZF.js";
8
8
  import "./chunk-IKPLMFAK.js";
@@ -55,4 +55,4 @@ var searchCommand = async (input) => {
55
55
  export {
56
56
  searchCommand
57
57
  };
58
- //# sourceMappingURL=search-ZFXKWMRP.js.map
58
+ //# sourceMappingURL=search-H32FUHXO.js.map
@@ -6,22 +6,22 @@ import {
6
6
  } from "./chunk-BIO4Y27B.js";
7
7
  import {
8
8
  submitErrorReport
9
- } from "./chunk-CQ5ZSAKD.js";
9
+ } from "./chunk-XU7NVHOY.js";
10
10
  import {
11
11
  bridge,
12
12
  bridgeSchema
13
- } from "./chunk-7VILIGSP.js";
13
+ } from "./chunk-QFYKR3H3.js";
14
14
  import {
15
15
  loadUserOrigins
16
16
  } from "./chunk-YIU364NZ.js";
17
- import "./chunk-V264YU5J.js";
17
+ import "./chunk-574342U7.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-Q5YKPVXL.js";
24
+ } from "./chunk-MCJ446SE.js";
25
25
  import {
26
26
  getBalances,
27
27
  listAccountsWithBalances
@@ -30,19 +30,20 @@ import "./chunk-ISF2WVEZ.js";
30
30
  import {
31
31
  search,
32
32
  searchSchema
33
- } from "./chunk-C5TXI374.js";
33
+ } from "./chunk-G6MIWS35.js";
34
34
  import {
35
35
  discoverResources,
36
36
  discoverResourcesSchema
37
- } from "./chunk-WPCEYCCK.js";
37
+ } from "./chunk-H7ES5FU5.js";
38
38
  import {
39
39
  DESCRIPTIONS,
40
40
  TOOL_PARAMS,
41
41
  buildServerInstructions
42
- } from "./chunk-H5V6L7NG.js";
42
+ } from "./chunk-CCWBMXQT.js";
43
43
  import {
44
- executeFetch
45
- } from "./chunk-F4YE5YSG.js";
44
+ executeFetch,
45
+ getFetchResultMetadata
46
+ } from "./chunk-YIECO2O4.js";
46
47
  import "./chunk-H2JGMFEG.js";
47
48
  import {
48
49
  DEFAULT_MAX_AMOUNT,
@@ -115,8 +116,12 @@ var parsedResponseToToolContentPart = (data) => {
115
116
 
116
117
  // src/server/tools/response/error.ts
117
118
  var buildMcpError = (content, options) => {
119
+ const extraContent = options?.extra === void 0 ? [] : safeStringifyJson("mcp-error-extra", options.extra).match(
120
+ (success) => [{ type: "text", text: success }],
121
+ () => []
122
+ );
118
123
  return {
119
- content,
124
+ content: [...content, ...extraContent],
120
125
  // Default: omit isError so siblings survive parallel calls.
121
126
  // Tools with outputSchema MUST pass isError: true so the SDK
122
127
  // skips output validation on error paths.
@@ -157,8 +162,8 @@ var mcpError = async (err, options) => {
157
162
  }
158
163
  return mcpErrorJson({ ...error }, options);
159
164
  };
160
- var mcpErrorFetch = async (surface, response) => {
161
- return mcpError(fetchHttpErr(surface, response));
165
+ var mcpErrorFetch = async (surface, response, extra) => {
166
+ return mcpError(fetchHttpErr(surface, response), { extra });
162
167
  };
163
168
 
164
169
  // src/server/tools/response/success.ts
@@ -256,17 +261,15 @@ var registerFetchTool = (props) => {
256
261
  return mcpError(fetchResult);
257
262
  }
258
263
  const { response, paymentInfo } = fetchResult.value;
264
+ const resultMetadata = getFetchResultMetadata(response, paymentInfo);
259
265
  if (!response.ok) {
260
- return mcpErrorFetch(TOOL_NAME, response);
266
+ return mcpErrorFetch(TOOL_NAME, response, resultMetadata);
261
267
  }
262
268
  const parseResponseResult = await safeParseResponse(TOOL_NAME, response);
263
269
  if (parseResponseResult.isErr()) {
264
- return mcpError(parseResponseResult);
270
+ return mcpError(parseResponseResult, { extra: resultMetadata });
265
271
  }
266
- return mcpSuccessResponse(
267
- parseResponseResult.value,
268
- paymentInfo ?? void 0
269
- );
272
+ return mcpSuccessResponse(parseResponseResult.value, resultMetadata);
270
273
  })
271
274
  );
272
275
  };
@@ -737,7 +740,7 @@ import { dirname, join } from "path";
737
740
  import { fileURLToPath } from "url";
738
741
  function getVersion() {
739
742
  if (true) {
740
- return "0.16.2";
743
+ return "0.17.1";
741
744
  }
742
745
  const __dirname2 = dirname(fileURLToPath(import.meta.url));
743
746
  const pkg = JSON.parse(
@@ -804,4 +807,4 @@ var startServer = async (flags) => {
804
807
  export {
805
808
  startServer
806
809
  };
807
- //# sourceMappingURL=server-ABCU7Y46.js.map
810
+ //# sourceMappingURL=server-MKLACHXU.js.map