agentcash 0.13.3 → 0.13.5

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 (50) hide show
  1. package/dist/cjs/run-server.cjs +187 -78
  2. package/dist/esm/{add-skill-W277MI7L.js → add-skill-BCCFF6HW.js} +4 -4
  3. package/dist/esm/{bridge-EXVM6MMU.js → bridge-FRFNAJZI.js} +3 -3
  4. package/dist/esm/{check-LTH3BZYQ.js → check-ITXJS2Z6.js} +4 -4
  5. package/dist/esm/{chunk-UBVHQSSW.js → chunk-6TRJQGKT.js} +2 -2
  6. package/dist/esm/{chunk-RF3C5ANE.js → chunk-7LZ2DPRY.js} +2 -2
  7. package/dist/esm/{chunk-X2JUL4S3.js → chunk-CR2YGI3I.js} +3 -3
  8. package/dist/esm/chunk-CR2YGI3I.js.map +1 -0
  9. package/dist/esm/{chunk-UMYAGSWZ.js → chunk-CR6PFCYR.js} +2 -2
  10. package/dist/esm/{chunk-VX6PPHSN.js → chunk-JWU363NX.js} +2 -2
  11. package/dist/esm/{chunk-ECRRDGPF.js → chunk-Q6VAWMKV.js} +2 -2
  12. package/dist/esm/{chunk-IL5RGDIX.js → chunk-SGSOKWC6.js} +2 -2
  13. package/dist/esm/{chunk-NC4UN6IF.js → chunk-THSTTUNV.js} +2 -2
  14. package/dist/esm/{chunk-5D62Q6NZ.js → chunk-VXDT5LRL.js} +2 -2
  15. package/dist/esm/{chunk-YUGBFY4H.js → chunk-XU3KTFR5.js} +3 -3
  16. package/dist/esm/{discover-63V73SKH.js → discover-PMVCPMAP.js} +3 -3
  17. package/dist/esm/{fetch-G2C4EUTP.js → fetch-AY3ODEFV.js} +4 -4
  18. package/dist/esm/index.js +18 -18
  19. package/dist/esm/{install-CGAXUK2R.js → install-6ASGR4TT.js} +3 -3
  20. package/dist/esm/{onboard-QCWAP3G2.js → onboard-OXHQCZSZ.js} +3 -3
  21. package/dist/esm/{origins-7KBHPH42.js → origins-UCEONL2Q.js} +4 -4
  22. package/dist/esm/{report-error-HXMJPI5K.js → report-error-PJZO23SJ.js} +3 -3
  23. package/dist/esm/{search-G25PLCS2.js → search-M436C326.js} +3 -3
  24. package/dist/esm/{server-G4NVYYYG.js → server-O5PAE733.js} +9 -9
  25. package/dist/esm/{server-TXU5H5AK.js → server-WOTLIN4E.js} +2 -2
  26. package/dist/esm/{try-JK56MOLD.js → try-C2WWPJLH.js} +3 -3
  27. package/package.json +6 -6
  28. package/dist/esm/chunk-X2JUL4S3.js.map +0 -1
  29. /package/dist/esm/{add-skill-W277MI7L.js.map → add-skill-BCCFF6HW.js.map} +0 -0
  30. /package/dist/esm/{bridge-EXVM6MMU.js.map → bridge-FRFNAJZI.js.map} +0 -0
  31. /package/dist/esm/{check-LTH3BZYQ.js.map → check-ITXJS2Z6.js.map} +0 -0
  32. /package/dist/esm/{chunk-UBVHQSSW.js.map → chunk-6TRJQGKT.js.map} +0 -0
  33. /package/dist/esm/{chunk-RF3C5ANE.js.map → chunk-7LZ2DPRY.js.map} +0 -0
  34. /package/dist/esm/{chunk-UMYAGSWZ.js.map → chunk-CR6PFCYR.js.map} +0 -0
  35. /package/dist/esm/{chunk-VX6PPHSN.js.map → chunk-JWU363NX.js.map} +0 -0
  36. /package/dist/esm/{chunk-ECRRDGPF.js.map → chunk-Q6VAWMKV.js.map} +0 -0
  37. /package/dist/esm/{chunk-IL5RGDIX.js.map → chunk-SGSOKWC6.js.map} +0 -0
  38. /package/dist/esm/{chunk-NC4UN6IF.js.map → chunk-THSTTUNV.js.map} +0 -0
  39. /package/dist/esm/{chunk-5D62Q6NZ.js.map → chunk-VXDT5LRL.js.map} +0 -0
  40. /package/dist/esm/{chunk-YUGBFY4H.js.map → chunk-XU3KTFR5.js.map} +0 -0
  41. /package/dist/esm/{discover-63V73SKH.js.map → discover-PMVCPMAP.js.map} +0 -0
  42. /package/dist/esm/{fetch-G2C4EUTP.js.map → fetch-AY3ODEFV.js.map} +0 -0
  43. /package/dist/esm/{install-CGAXUK2R.js.map → install-6ASGR4TT.js.map} +0 -0
  44. /package/dist/esm/{onboard-QCWAP3G2.js.map → onboard-OXHQCZSZ.js.map} +0 -0
  45. /package/dist/esm/{origins-7KBHPH42.js.map → origins-UCEONL2Q.js.map} +0 -0
  46. /package/dist/esm/{report-error-HXMJPI5K.js.map → report-error-PJZO23SJ.js.map} +0 -0
  47. /package/dist/esm/{search-G25PLCS2.js.map → search-M436C326.js.map} +0 -0
  48. /package/dist/esm/{server-G4NVYYYG.js.map → server-O5PAE733.js.map} +0 -0
  49. /package/dist/esm/{server-TXU5H5AK.js.map → server-WOTLIN4E.js.map} +0 -0
  50. /package/dist/esm/{try-JK56MOLD.js.map → try-C2WWPJLH.js.map} +0 -0
@@ -134129,9 +134129,9 @@ For new integrations, prefer fetch.`,
134129
134129
  mcp: [
134130
134130
  `Get the input/output schema and auth mode (paid or SIWX) for a single endpoint.`,
134131
134131
  `Call this to see exactly what fields the request body expects and what the response contains.`,
134132
- `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote \u2014 do this when pricing is range-based or quote-based, or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`
134132
+ `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote \u2014 do this when pricing is dynamic (range-based or variable), or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`
134133
134133
  ].join("\n\n"),
134134
- cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec \u2014 call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is range-based or unclear.`,
134134
+ cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec \u2014 call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is dynamic or unclear.`,
134135
134135
  epilogue: `Auth mode is advisory:
134136
134136
  paid \u2192 agentcash fetch <url>
134137
134137
  SIWX \u2192 agentcash fetch <url>`
@@ -134540,7 +134540,7 @@ init_cjs_shims();
134540
134540
  // src/operations/check-endpoint.ts
134541
134541
  init_cjs_shims();
134542
134542
 
134543
- // ../../../node_modules/.pnpm/@agentcash+discovery@1.4.5/node_modules/@agentcash/discovery/dist/index.js
134543
+ // ../../../node_modules/.pnpm/@agentcash+discovery@1.5.0/node_modules/@agentcash/discovery/dist/index.js
134544
134544
  init_cjs_shims();
134545
134545
  var import_dereference_json_schema = __toESM(require_dereference_json_schema(), 1);
134546
134546
  var __defProp2 = Object.defineProperty;
@@ -148162,20 +148162,159 @@ function date42(params) {
148162
148162
  return /* @__PURE__ */ _coercedDate2(ZodDate4, params);
148163
148163
  }
148164
148164
  config2(en_default4());
148165
- var OpenApiPaymentInfoSchema = external_exports5.object({
148166
- // Agentcash discovery fields
148165
+ var Iso4217Schema = external_exports5.string().regex(/^[A-Z]{3}$/).optional();
148166
+ var FixedPriceSchema = external_exports5.object({
148167
+ currency: Iso4217Schema,
148168
+ mode: external_exports5.literal("fixed"),
148169
+ amount: external_exports5.string()
148170
+ });
148171
+ var DynamicPriceSchema = external_exports5.object({
148172
+ currency: Iso4217Schema,
148173
+ mode: external_exports5.literal("dynamic"),
148174
+ min: external_exports5.string(),
148175
+ max: external_exports5.string()
148176
+ });
148177
+ var PriceSchema = external_exports5.union([FixedPriceSchema, DynamicPriceSchema]);
148178
+ var X402ProtocolSchema = external_exports5.object({
148179
+ x402: external_exports5.record(external_exports5.string(), external_exports5.unknown())
148180
+ });
148181
+ var MppProtocolSchema = external_exports5.object({
148182
+ mpp: external_exports5.object({
148183
+ method: external_exports5.string(),
148184
+ intent: external_exports5.string(),
148185
+ currency: external_exports5.string()
148186
+ })
148187
+ });
148188
+ var PaymentProtocolSchema = external_exports5.union([MppProtocolSchema, X402ProtocolSchema]);
148189
+ var PaymentInfoSchema = external_exports5.object({
148190
+ price: PriceSchema,
148191
+ protocols: external_exports5.array(PaymentProtocolSchema)
148192
+ });
148193
+ var ISO_4217_RE = /^[A-Z]{3}$/;
148194
+ function isIso4217(value) {
148195
+ return typeof value === "string" && ISO_4217_RE.test(value);
148196
+ }
148197
+ var ATOMIC_DECIMALS = 6;
148198
+ function formatAtomicAmount(raw) {
148199
+ const n = Number(raw);
148200
+ if (!Number.isFinite(n)) return void 0;
148201
+ return (n / 10 ** ATOMIC_DECIMALS).toFixed(ATOMIC_DECIMALS);
148202
+ }
148203
+ var DYNAMIC_NO_BOUNDS = { mode: "dynamic", min: "0", max: "0" };
148204
+ function normalizeLegacyPrice(raw) {
148205
+ if (raw.pricingMode === "fixed" && typeof raw.price === "string") {
148206
+ return { mode: "fixed", amount: raw.price };
148207
+ }
148208
+ if (raw.pricingMode === "range") {
148209
+ if (typeof raw.minPrice === "string" && typeof raw.maxPrice === "string") {
148210
+ return { mode: "dynamic", min: raw.minPrice, max: raw.maxPrice };
148211
+ }
148212
+ }
148213
+ if (raw.pricingMode === "quote") {
148214
+ if (typeof raw.maxPrice === "string") {
148215
+ return { mode: "dynamic", min: "0", max: raw.maxPrice };
148216
+ }
148217
+ return DYNAMIC_NO_BOUNDS;
148218
+ }
148219
+ if (typeof raw.price === "string" && raw.price.length > 0) {
148220
+ return { mode: "fixed", amount: raw.price };
148221
+ }
148222
+ if (typeof raw.minPrice === "string" && typeof raw.maxPrice === "string") {
148223
+ return { mode: "dynamic", min: raw.minPrice, max: raw.maxPrice };
148224
+ }
148225
+ if (raw.intent === "charge" && raw.amount != null) {
148226
+ const formatted = formatAtomicAmount(String(raw.amount));
148227
+ if (formatted) {
148228
+ return {
148229
+ mode: "fixed",
148230
+ amount: formatted,
148231
+ ...typeof raw.currency === "string" && isIso4217(raw.currency.toUpperCase()) ? { currency: raw.currency.toUpperCase() } : {}
148232
+ };
148233
+ }
148234
+ }
148235
+ if (raw.intent === "session") return DYNAMIC_NO_BOUNDS;
148236
+ if (raw.intent === "charge" && raw.amount === null) return DYNAMIC_NO_BOUNDS;
148237
+ return void 0;
148238
+ }
148239
+ function normalizeLegacyProtocols(raw) {
148240
+ if (Array.isArray(raw.protocols)) {
148241
+ const protocols = [];
148242
+ for (const entry of raw.protocols) {
148243
+ if (typeof entry === "string" && entry.length > 0) {
148244
+ if (entry === "x402") protocols.push({ x402: {} });
148245
+ else if (entry === "mpp") protocols.push({ mpp: { method: "", intent: "", currency: "" } });
148246
+ else protocols.push({ x402: { name: entry } });
148247
+ }
148248
+ }
148249
+ if (protocols.length > 0) return protocols;
148250
+ }
148251
+ if (typeof raw.intent === "string") {
148252
+ return [
148253
+ {
148254
+ mpp: {
148255
+ method: raw.method ?? "",
148256
+ intent: raw.intent,
148257
+ currency: typeof raw.currency === "string" ? raw.currency : ""
148258
+ }
148259
+ }
148260
+ ];
148261
+ }
148262
+ return [];
148263
+ }
148264
+ function normalizeLegacy(raw) {
148265
+ const price = normalizeLegacyPrice(raw);
148266
+ const protocols = normalizeLegacyProtocols(raw);
148267
+ if (!price && protocols.length === 0) return void 0;
148268
+ if (!price) return void 0;
148269
+ return { price, protocols };
148270
+ }
148271
+ function formatPrice(price) {
148272
+ const sym = price.currency ?? "USD";
148273
+ if (price.mode === "fixed") return `${price.amount} ${sym}`;
148274
+ return `${price.min}-${price.max} ${sym}`;
148275
+ }
148276
+ function extractProtocolNames(protocols) {
148277
+ return protocols.map((p) => {
148278
+ if ("x402" in p) return "x402";
148279
+ if ("mpp" in p) return "mpp";
148280
+ return Object.keys(p)[0] ?? "";
148281
+ }).filter((name) => name.length > 0);
148282
+ }
148283
+ function isStructuredPaymentInfo(raw) {
148284
+ return typeof raw.price === "object" && raw.price !== null;
148285
+ }
148286
+ function resolvePaymentInfo(raw) {
148287
+ if (isStructuredPaymentInfo(raw)) {
148288
+ const result = PaymentInfoSchema.safeParse(raw);
148289
+ if (result.success) return result.data;
148290
+ const price = raw.price;
148291
+ const protocols = Array.isArray(raw.protocols) ? raw.protocols : [];
148292
+ const bestEffort = { price, protocols };
148293
+ return normalizeLegacy(bestEffort) ?? normalizeLegacy(raw);
148294
+ }
148295
+ return normalizeLegacy(raw);
148296
+ }
148297
+ var LegacyPaymentInfoSchema = external_exports5.object({
148167
148298
  pricingMode: external_exports5.string().optional(),
148168
148299
  price: external_exports5.string().optional(),
148169
148300
  minPrice: external_exports5.string().optional(),
148170
148301
  maxPrice: external_exports5.string().optional(),
148171
148302
  protocols: external_exports5.array(external_exports5.string()).optional(),
148172
- // x-payment-info spec fields (RFC §4.4)
148303
+ // RFC §4.4 spec fields
148173
148304
  intent: external_exports5.string().optional(),
148174
148305
  method: external_exports5.string().optional(),
148175
148306
  amount: external_exports5.union([external_exports5.string(), external_exports5.null()]).optional(),
148176
148307
  currency: external_exports5.string().optional(),
148177
148308
  description: external_exports5.string().optional()
148178
148309
  }).passthrough();
148310
+ var StructuredPaymentInfoSchema = external_exports5.object({
148311
+ price: PriceSchema,
148312
+ protocols: external_exports5.array(PaymentProtocolSchema)
148313
+ }).passthrough();
148314
+ var OpenApiPaymentInfoSchema = external_exports5.union([
148315
+ StructuredPaymentInfoSchema,
148316
+ LegacyPaymentInfoSchema
148317
+ ]);
148179
148318
  var OpenApiOperationSchema = external_exports5.object({
148180
148319
  operationId: external_exports5.string().optional(),
148181
148320
  summary: external_exports5.string().optional(),
@@ -148328,38 +148467,22 @@ function toFetchError(err22) {
148328
148467
  function fetchSafe(url22, init) {
148329
148468
  return ResultAsync.fromPromise(fetch(url22, init), toFetchError);
148330
148469
  }
148331
- var ATOMIC_DECIMALS = 6;
148332
- function formatAtomicAmount(raw) {
148333
- const n = Number(raw);
148334
- if (!Number.isFinite(n)) return void 0;
148335
- return (n / 10 ** ATOMIC_DECIMALS).toFixed(ATOMIC_DECIMALS);
148336
- }
148337
148470
  function resolvePricingHint(p) {
148338
- if (p.pricingMode) {
148339
- return {
148340
- pricingMode: p.pricingMode,
148341
- ...p.price ? { price: p.price } : {},
148342
- ...p.minPrice ? { minPrice: p.minPrice } : {},
148343
- ...p.maxPrice ? { maxPrice: p.maxPrice } : {}
148344
- };
148345
- }
148346
- if (p.intent === "session") {
148347
- return { pricingMode: "quote" };
148348
- }
148349
- if (p.intent === "charge") {
148350
- if (p.amount != null) {
148351
- const humanPrice = formatAtomicAmount(p.amount);
148352
- if (humanPrice) return { pricingMode: "fixed", price: humanPrice };
148353
- }
148354
- return { pricingMode: "quote" };
148355
- }
148356
- return void 0;
148471
+ const raw = p;
148472
+ const info = resolvePaymentInfo(raw);
148473
+ if (!info) return void 0;
148474
+ return {
148475
+ pricingMode: info.price.mode,
148476
+ ...info.price.mode === "fixed" ? { price: info.price.amount } : {},
148477
+ ...info.price.mode === "dynamic" ? { minPrice: info.price.min, maxPrice: info.price.max } : {},
148478
+ ...info.price.currency ? { currency: info.price.currency } : {}
148479
+ };
148357
148480
  }
148358
148481
  function resolveProtocols(p) {
148359
- const fromProtocols = (p.protocols ?? []).filter((proto) => proto.length > 0);
148360
- if (fromProtocols.length > 0) return fromProtocols;
148361
- if (p.intent) return ["mpp"];
148362
- return [];
148482
+ const raw = p;
148483
+ const info = resolvePaymentInfo(raw);
148484
+ if (!info) return [];
148485
+ return extractProtocolNames(info.protocols);
148363
148486
  }
148364
148487
  var OpenApiParsedSchema = OpenApiDocSchema.transform((doc) => {
148365
148488
  const routes = [];
@@ -148586,11 +148709,15 @@ function getWellKnown(origin2, headers, signal) {
148586
148709
  })
148587
148710
  );
148588
148711
  }
148589
- function formatPrice(pricing) {
148590
- if (pricing.pricingMode === "fixed") return `$${pricing.price}`;
148591
- if (pricing.pricingMode === "range") return `$${pricing.minPrice}-$${pricing.maxPrice}`;
148592
- if (pricing.pricingMode === "quote")
148593
- return pricing.maxPrice ? `up to $${pricing.maxPrice}` : "quote";
148712
+ function formatPrice2(pricing) {
148713
+ const sym = pricing.currency ?? "USD";
148714
+ if (pricing.pricingMode === "fixed") return `${pricing.price} ${sym}`;
148715
+ if (pricing.pricingMode === "dynamic") {
148716
+ if (pricing.minPrice && pricing.maxPrice)
148717
+ return `${pricing.minPrice}-${pricing.maxPrice} ${sym}`;
148718
+ if (pricing.maxPrice) return `up to ${pricing.maxPrice} ${sym}`;
148719
+ return "dynamic";
148720
+ }
148594
148721
  return `unknown pricing mode: ${pricing.pricingMode}`;
148595
148722
  }
148596
148723
  function checkL2ForOpenAPI(openApi) {
@@ -148599,7 +148726,11 @@ function checkL2ForOpenAPI(openApi) {
148599
148726
  method: route.method,
148600
148727
  summary: route.summary ?? `${route.method} ${route.path}`,
148601
148728
  ...route.authMode ? { authMode: route.authMode } : {},
148602
- ...route.pricing ? { price: formatPrice(route.pricing), pricingMode: route.pricing.pricingMode } : {},
148729
+ ...route.pricing ? {
148730
+ price: formatPrice2(route.pricing),
148731
+ pricingMode: route.pricing.pricingMode,
148732
+ ...route.pricing.currency ? { currency: route.pricing.currency } : {}
148733
+ } : {},
148603
148734
  ...route.protocols?.length ? { protocols: route.protocols } : {}
148604
148735
  }));
148605
148736
  return {
@@ -149120,41 +149251,17 @@ function extractInputSchema(operationSchema) {
149120
149251
  ...parameters.length > 0 ? { parameters } : {}
149121
149252
  };
149122
149253
  }
149123
- function parseOperationPrice(operation) {
149254
+ function resolveOperationPaymentInfo(operation) {
149124
149255
  const paymentInfo = operation["x-payment-info"];
149125
149256
  if (!isRecord(paymentInfo)) return void 0;
149126
- function toFiniteNumber2(value) {
149127
- if (typeof value === "number" && Number.isFinite(value)) return value;
149128
- if (typeof value === "string" && value.trim().length > 0) {
149129
- const parsed = Number(value);
149130
- if (Number.isFinite(parsed)) return parsed;
149131
- }
149132
- return void 0;
149133
- }
149134
- const fixed = toFiniteNumber2(paymentInfo.price);
149135
- if (fixed != null) return `$${String(fixed)}`;
149136
- const min = toFiniteNumber2(paymentInfo.minPrice);
149137
- const max = toFiniteNumber2(paymentInfo.maxPrice);
149138
- if (min != null && max != null) return `$${String(min)}-$${String(max)}`;
149139
- if (paymentInfo.amount != null) {
149140
- const amount2 = toFiniteNumber2(paymentInfo.amount);
149141
- if (amount2 != null) return `$${(amount2 / 1e6).toFixed(6)}`;
149142
- } else if (paymentInfo.intent === "session" || paymentInfo.intent === "charge" && paymentInfo.amount === null) {
149143
- return "quote";
149144
- }
149145
- return void 0;
149146
- }
149147
- function parseOperationProtocols(operation) {
149148
- const paymentInfo = operation["x-payment-info"];
149149
- if (!isRecord(paymentInfo)) return void 0;
149150
- if (Array.isArray(paymentInfo.protocols)) {
149151
- const protocols = paymentInfo.protocols.filter(
149152
- (protocol) => typeof protocol === "string" && protocol.length > 0
149153
- );
149154
- if (protocols.length > 0) return protocols;
149155
- }
149156
- if (typeof paymentInfo.intent === "string") return ["mpp"];
149157
- return void 0;
149257
+ const info = resolvePaymentInfo(paymentInfo);
149258
+ if (!info) return void 0;
149259
+ const names = extractProtocolNames(info.protocols);
149260
+ return {
149261
+ price: formatPrice(info.price),
149262
+ ...info.price.currency ? { currency: info.price.currency } : {},
149263
+ ...names.length > 0 ? { protocols: names } : {}
149264
+ };
149158
149265
  }
149159
149266
  function getL3ForOpenAPI(openApi, path, method) {
149160
149267
  const document2 = openApi.raw;
@@ -149166,12 +149273,14 @@ function getL3ForOpenAPI(openApi, path, method) {
149166
149273
  if (!isRecord(operation)) return null;
149167
149274
  const resolvedOperation = resolveRefs(operation, document2);
149168
149275
  const summary = typeof resolvedOperation.summary === "string" ? resolvedOperation.summary : typeof resolvedOperation.description === "string" ? resolvedOperation.description : void 0;
149276
+ const paymentResolved = resolveOperationPaymentInfo(resolvedOperation);
149169
149277
  return {
149170
149278
  source: "openapi",
149171
149279
  ...summary ? { summary } : {},
149172
149280
  authMode: inferAuthMode(resolvedOperation) ?? void 0,
149173
- estimatedPrice: parseOperationPrice(resolvedOperation),
149174
- protocols: parseOperationProtocols(resolvedOperation),
149281
+ ...paymentResolved?.price ? { estimatedPrice: paymentResolved.price } : {},
149282
+ ...paymentResolved?.currency ? { currency: paymentResolved.currency } : {},
149283
+ ...paymentResolved?.protocols ? { protocols: paymentResolved.protocols } : {},
149175
149284
  inputSchema: extractInputSchema(resolvedOperation),
149176
149285
  outputSchema: extractOutputSchema(resolvedOperation)
149177
149286
  };
@@ -149554,7 +149663,7 @@ var import_path2 = require("path");
149554
149663
  var import_url2 = require("url");
149555
149664
  function getVersion2() {
149556
149665
  if (true) {
149557
- return "0.13.3";
149666
+ return "0.13.5";
149558
149667
  }
149559
149668
  const __dirname2 = (0, import_path2.dirname)((0, import_url2.fileURLToPath)(importMetaUrl));
149560
149669
  const pkg2 = JSON.parse(
@@ -157021,7 +157130,7 @@ var import_path3 = require("path");
157021
157130
  var import_url5 = require("url");
157022
157131
  function getVersion3() {
157023
157132
  if (true) {
157024
- return "0.13.3";
157133
+ return "0.13.5";
157025
157134
  }
157026
157135
  const __dirname2 = (0, import_path3.dirname)((0, import_url5.fileURLToPath)(importMetaUrl));
157027
157136
  const pkg2 = JSON.parse(
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  resolveOrigin
3
- } from "./chunk-NC4UN6IF.js";
3
+ } from "./chunk-THSTTUNV.js";
4
4
  import {
5
5
  installSkills
6
6
  } from "./chunk-JAA6JEF2.js";
7
7
  import {
8
8
  addUserOrigin
9
9
  } from "./chunk-YIU364NZ.js";
10
- import "./chunk-UMYAGSWZ.js";
11
- import "./chunk-X2JUL4S3.js";
10
+ import "./chunk-CR6PFCYR.js";
11
+ import "./chunk-CR2YGI3I.js";
12
12
  import "./chunk-KVSTJRSJ.js";
13
13
  import "./chunk-FB5CMO3J.js";
14
14
  import {
@@ -96,4 +96,4 @@ var addSkillCommand = async (input) => {
96
96
  export {
97
97
  addSkillCommand
98
98
  };
99
- //# sourceMappingURL=add-skill-W277MI7L.js.map
99
+ //# sourceMappingURL=add-skill-BCCFF6HW.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  bridge,
3
3
  bridgeSchema
4
- } from "./chunk-IL5RGDIX.js";
4
+ } from "./chunk-SGSOKWC6.js";
5
5
  import {
6
6
  DESCRIPTIONS
7
- } from "./chunk-X2JUL4S3.js";
7
+ } from "./chunk-CR2YGI3I.js";
8
8
  import "./chunk-PBVLTOFS.js";
9
9
  import {
10
10
  getWalletOrExit
@@ -53,4 +53,4 @@ var bridgeCommand = async (args) => {
53
53
  export {
54
54
  bridgeCommand
55
55
  };
56
- //# sourceMappingURL=bridge-EXVM6MMU.js.map
56
+ //# sourceMappingURL=bridge-FRFNAJZI.js.map
@@ -3,9 +3,9 @@ import {
3
3
  } from "./chunk-5CMVFNXO.js";
4
4
  import {
5
5
  cliRequestSchema
6
- } from "./chunk-YUGBFY4H.js";
7
- import "./chunk-VX6PPHSN.js";
8
- import "./chunk-X2JUL4S3.js";
6
+ } from "./chunk-XU3KTFR5.js";
7
+ import "./chunk-JWU363NX.js";
8
+ import "./chunk-CR2YGI3I.js";
9
9
  import "./chunk-IKPLMFAK.js";
10
10
  import {
11
11
  RequestMethod
@@ -69,4 +69,4 @@ var checkCommand = async (args) => {
69
69
  export {
70
70
  checkCommand
71
71
  };
72
- //# sourceMappingURL=check-LTH3BZYQ.js.map
72
+ //# sourceMappingURL=check-ITXJS2Z6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TOOL_PARAMS
3
- } from "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-CR2YGI3I.js";
4
4
  import {
5
5
  executeFetch
6
6
  } from "./chunk-IPBR36VR.js";
@@ -81,4 +81,4 @@ export {
81
81
  searchSchema,
82
82
  search
83
83
  };
84
- //# sourceMappingURL=chunk-UBVHQSSW.js.map
84
+ //# sourceMappingURL=chunk-6TRJQGKT.js.map
@@ -4,7 +4,7 @@ import { dirname, join } from "path";
4
4
  import { fileURLToPath } from "url";
5
5
  function getVersion() {
6
6
  if (true) {
7
- return "0.13.3";
7
+ return "0.13.5";
8
8
  }
9
9
  const __dirname2 = dirname(fileURLToPath(import.meta.url));
10
10
  const pkg = JSON.parse(
@@ -23,4 +23,4 @@ export {
23
23
  MCP_VERSION,
24
24
  INSTALL_PACKAGE_SPECIFIER
25
25
  };
26
- //# sourceMappingURL=chunk-RF3C5ANE.js.map
26
+ //# sourceMappingURL=chunk-7LZ2DPRY.js.map
@@ -90,9 +90,9 @@ For new integrations, prefer fetch.`,
90
90
  mcp: [
91
91
  `Get the input/output schema and auth mode (paid or SIWX) for a single endpoint.`,
92
92
  `Call this to see exactly what fields the request body expects and what the response contains.`,
93
- `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote \u2014 do this when pricing is range-based or quote-based, or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`
93
+ `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote \u2014 do this when pricing is dynamic (range-based or variable), or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`
94
94
  ].join("\n\n"),
95
- cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec \u2014 call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is range-based or unclear.`,
95
+ cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec \u2014 call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is dynamic or unclear.`,
96
96
  epilogue: `Auth mode is advisory:
97
97
  paid \u2192 agentcash fetch <url>
98
98
  SIWX \u2192 agentcash fetch <url>`
@@ -243,4 +243,4 @@ export {
243
243
  REQUEST_FETCH_PARAMS,
244
244
  TOOL_PARAMS
245
245
  };
246
- //# sourceMappingURL=chunk-X2JUL4S3.js.map
246
+ //# sourceMappingURL=chunk-CR2YGI3I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/descriptions.ts"],"sourcesContent":["/**\n * Single source of truth for all LLM-facing text in the MCP package.\n *\n * `DESCRIPTIONS` covers every tool with both an `mcp` variant (detailed,\n * AI-audience) and a `cli` variant (concise, human-readable for --help).\n * `serverInstructions` is shared across both surfaces.\n *\n * Additional exports cover parameter/output schema descriptions, origin\n * metadata, and prompt content — all LLM-facing text in one place.\n */\n\nimport type { UserOrigin } from './user-origins';\nimport { Origin } from './origins';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Origin metadata (used for MCP resource registration descriptions)\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const ORIGIN_METADATA: Record<\n string,\n { title: string; description: string }\n> = {\n [Origin.StableEnrich]: {\n title: 'StableEnrich',\n description:\n 'People/org search, Google Maps, Exa web search, LinkedIn data, Firecrawl scrape, WhitePages, email enrichment',\n },\n [Origin.StableSocial]: {\n title: 'StableSocial',\n description:\n 'Social media data for Twitter, Instagram, TikTok, YouTube, Facebook, Reddit',\n },\n [Origin.StableStudio]: {\n title: 'StableStudio',\n description: 'Generate and edit images and videos',\n },\n [Origin.StableUpload]: {\n title: 'StableUpload',\n description: 'Pay to upload files, get a permanent download URL.',\n },\n [Origin.StableEmail]: {\n title: 'StableEmail',\n description: 'Send emails',\n },\n [Origin.X402Scan]: {\n title: 'X402 Scan',\n description: 'x402 protocol explorer',\n },\n [Origin.Shirt]: {\n title: 'Shirt',\n description: 'Shirt.sh',\n },\n [Origin.X402Puppet]: {\n title: 'X402 Puppet',\n description: 'Browser automation',\n },\n [Origin.X402Facilitator]: {\n title: 'X402 Facilitator',\n description: 'Payment facilitation',\n },\n [Origin.StableMerch]: {\n title: 'StableMerch',\n description:\n 'Create shirts and mugs with custom images and have them shipped to your address.',\n },\n};\n\nexport const PRIMARY_ORIGINS = [\n Origin.StableEnrich,\n Origin.StableSocial,\n Origin.StableStudio,\n Origin.StableUpload,\n Origin.StableEmail,\n Origin.StableMerch,\n] as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Tool descriptions — { mcp, cli } per tool + shared serverInstructions\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const DESCRIPTIONS = {\n bridge: {\n toolNames: {\n cli: 'bridge',\n mcp: 'bridge',\n },\n title: 'Bridge Between Networks',\n mcp: `Bridge USDC between supported networks using the current wallet. Requires a source network, destination network, and amount. Use this when funds are on one supported network and the user needs them moved to another. Bridging is subject to fees.`,\n cli: `Bridge USDC between supported networks using the current wallet. Requires --from, --to, and --amount. Bridging is subject to fees.`,\n },\n\n getBalance: {\n mcp: `Get your total USDC balance across all supported networks. Auto-creates the wallet on first use (~/.agentcash/wallet.json). Use this before paid API calls to confirm you have funds available.`,\n cli: `Get your total USDC balance across all supported networks. Creates the wallet on first use (~/.agentcash/wallet.json). Use this before paid API calls to confirm you have funds available.`,\n },\n\n fetch: {\n mcp: `HTTP fetch with automatic authentication and payment handling. Makes the request, retries with SIGN-IN-WITH-X when the route exposes a SIWX challenge, and only pays if the route still returns 402. Returns response data along with payment details (price, tx hash) if a payment was made.\\n\\nFor endpoints you haven't called before in this session, you MUST call check_endpoint_schema first to confirm the request body schema. Skipping this causes 400 errors from wrong field names.`,\n cli: `HTTP fetch with automatic authentication and payment handling. If the endpoint returns 402, agentcash attempts authentication first and only falls back to payment if the route still requires it. Run 'check <url>' first to confirm the request body schema; skipping this causes 400 errors from wrong field names.`,\n epilogue: `Workflow: check <url> → fetch <url> -m POST -b '{\"field\":\"value\"}'\\nAuth mode is advisory only; fetch handles both SIWX and paid routes.`,\n },\n\n fetchWithAuth: {\n mcp: `Deprecated alias for fetch. Uses the same unified flow: probe the route, attempt SIWX when available, and only pay if the route still returns 402.\\n\\nFor new integrations, prefer fetch.`,\n cli: `Deprecated alias for fetch. Uses the same unified auth-and-payment flow, but new integrations should call 'fetch' directly.`,\n epilogue: `Deprecated: use agentcash fetch <url>. This alias is kept for compatibility.`,\n },\n\n listAccounts: {\n mcp: `List wallet accounts for each supported network. Returns the network, address, balance, and deposit link for every supported network so you can see where to fund the wallet. Auto-creates the wallet on first use (~/.agentcash/wallet.json). If onboardingCta is present, show its message to the user — it means they haven't onboarded yet and need to either visit the onboard link or deposit directly.`,\n cli: `List wallet accounts for each supported network, including network, address, balance, and deposit link. Creates the wallet on first use (~/.agentcash/wallet.json). Use this when you need the per-network funding addresses and deposit links.`,\n },\n\n getWalletInfo: {\n mcp: `Legacy combined wallet view. Returns both the total balance and the per-network account list. Prefer calling get_balance for available funds and list_accounts when you need network-specific addresses or deposit links.`,\n cli: `Legacy combined wallet view. Returns both the total balance and the per-network account list. Prefer 'balance' for available funds and 'accounts' for network-specific addresses or deposit links.`,\n },\n\n checkEndpointSchema: {\n mcp: [\n `Get the input/output schema and auth mode (paid or SIWX) for a single endpoint.`,\n `Call this to see exactly what fields the request body expects and what the response contains.`,\n `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote — do this when pricing is dynamic (range-based or variable), or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`,\n ].join('\\n\\n'),\n cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec — call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is dynamic or unclear.`,\n epilogue: `Auth mode is advisory:\\n paid → agentcash fetch <url>\\n SIWX → agentcash fetch <url>`,\n },\n\n discoverApiEndpoints: {\n mcp: [\n `List available endpoints at an API origin. Returns endpoint URLs with descriptions of what each does and the auth mode for each (paid or SIWX). Works with any origin, not just the registered ones.`,\n `Call this when you need to see what routes are available at an origin — whether it's one of the registered origins or any other origin you've identified as useful. Treat the auth mode as guidance for what the route may require; fetch handles both SIWX and payment.`,\n `The response always indicates whether guidance is available. Guidance is documentation published by the API provider explaining how endpoints work together, edge cases, and usage tips. compact guidance is included automatically; set include_guidance=true to force-include full usage documentation when you need to compose two or more endpoints or need clarification on how the origin works.`,\n ].join('\\n\\n'),\n cli: `List available endpoints at an API origin with descriptions and auth modes (paid or SIWX). Works with any origin, not just registered ones. Add --include-guidance for full provider docs when composing multiple endpoints or when usage is unclear. Fetch handles both auth modes.`,\n epilogue: `Registered origins:\\n${PRIMARY_ORIGINS.flatMap(o => (ORIGIN_METADATA[o] ? [` ${o} — ${ORIGIN_METADATA[o].description}`] : [])).join('\\n')}`,\n },\n\n redeemInvite: {\n mcp: `Redeem an invite code for free USDC on Base. One-time use per code. Returns amount received and transaction hash. Use get_balance after to verify funds, or list_accounts if you need the per-network deposit links as well.`,\n cli: `Redeem an invite code for free USDC on Base. One-time use per code. Run 'balance' after to verify the balance landed.`,\n },\n\n try: {\n cli: `Fetch a new origin for its resources and return a prompt guiding the user through the process of calling the first endpoint.`,\n },\n\n search: {\n mcp: `Search for relevant paid API services by describing what you need in natural language. Returns the best matching origins with endpoint details and pricing. The top result includes the full input/output schema so you can call it immediately via fetch.\n\nOnly use this when you DON'T already know which registered origin to use. If the task clearly maps to a registered origin (e.g. people search → StableEnrich, image generation → StableStudio), skip search and go straight to discover_api_endpoints on that origin. Search is for discovering NEW or UNKNOWN capabilities outside the registered origins.`,\n cli: `Search for paid API services by natural language query. Returns matching origins with endpoints and pricing. Use this to find APIs before calling discover or fetch.`,\n },\n\n reportError: {\n mcp: `EMERGENCY ONLY. Report critical MCP tool bugs. Do NOT use for normal errors (balance, network, 4xx) — those are recoverable.`,\n cli: `Report a critical bug to the agentcash team (emergency only). Do NOT use for normal errors like low balance, network timeouts, or 4xx responses — those are recoverable without filing a report.`,\n },\n\n updateSettings: {\n mcp: `Update user settings (persisted to ~/.agentcash/settings.json). Currently supports maxAmount — the maximum USD amount allowed per fetch request. If a fetch response requests more than this, the payment is rejected. Returns the current settings after applying changes.`,\n cli: `Update user settings (persisted to ~/.agentcash/settings.json). Currently supports maxAmount, which caps how much a single fetch request can spend.`,\n },\n\n getSettings: {\n mcp: `Get current user settings. Returns persisted values from ~/.agentcash/settings.json with defaults applied.`,\n cli: `Get current user settings from ~/.agentcash/settings.json, with defaults applied.`,\n },\n} as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Dynamic server instructions (includes user-added origins at runtime)\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst WORKFLOW = [\n `Workflow:`,\n `1. If you don't already know your balance, call get_balance. You need a balance for paid endpoints. SIWX endpoints don't require one. You don't need to call this every turn, just before your first paid call or whenever you're unsure.`,\n `2. If the balance is zero, or if the user needs a funding link or wallet addresses, call list_accounts and share the relevant deposit link. If onboardingCta is present, show it to the user.`,\n `3. If the task doesn't clearly map to any registered origin above, call search() to find relevant APIs. Skip this step when you already know the right origin — go straight to step 4.`,\n `4. Call discover_api_endpoints() to get the endpoint index — a list of available routes with descriptions and auth modes. The auth mode is advisory and tells you what the route may require.`,\n `5. Call check_endpoint_schema() to get the exact input/output schema and auth mode for the endpoint you want to call, so you know what fields to pass and what the response contains. Both discover_api_endpoints and check_endpoint_schema return the auth mode.`,\n `6. Call fetch with the correct input schema. It will attempt SIWX first when available and only pay if the route still returns 402.`,\n].join('\\n');\n\nexport function buildServerInstructions(\n userOrigins: UserOrigin[] = []\n): string {\n const allOrigins = [\n ...userOrigins.map(o => ` - ${o.url} — ${o.description}`),\n ...PRIMARY_ORIGINS.flatMap(o =>\n ORIGIN_METADATA[o] ? [` - ${o} — ${ORIGIN_METADATA[o].description}`] : []\n ),\n ].join('\\n');\n\n return [\n `AgentCash lets you call protected APIs — handling both x402 micropayments and SIWX authentication seamlessly. It manages a USDC wallet for paid endpoints and signs wallet proofs for identity-gated endpoints through fetch.`,\n `The user has installed agentcash because they want to use paid and SIWX-protected APIs as their preferred way to accomplish related tasks.`,\n `Paid endpoints require a wallet balance. SIWX endpoints are free — they only require a wallet identity.`,\n `If a task could be accomplished by one of these registered origins, run the workflow below. If you're unsure which origin to use, or the task doesn't match a registered origin, call search() to find relevant APIs.\\n${allOrigins}`,\n `discover_api_endpoints also works with any origin beyond this list. If you identify another origin that would be useful for a task, you can use it.`,\n WORKFLOW,\n `If you need to compose multiple endpoints in sequence, or anything about the origin's capabilities is unclear, call discover_api_endpoints with include_guidance=true to retrieve the origin's full usage documentation.`,\n ].join('\\n\\n');\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Shared request schema parameter descriptions\n// (used by fetch, fetch_with_auth tools)\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const REQUEST_PARAMS = {\n url: 'The endpoint URL',\n method: 'HTTP method. Defaults to GET for fetch operations.',\n body: 'Raw request body string. Passed through to the underlying fetch call as-is.',\n headers:\n 'Additional headers to include. Each entry must be a string in \"Name: value\" format.',\n timeout: 'Request timeout in milliseconds',\n} as const;\n\nexport const REQUEST_FETCH_PARAMS = {\n ...REQUEST_PARAMS,\n paymentProtocol:\n 'Payment protocol to use when payment is required. If not specified, the payment protocol will be auto-detected.',\n paymentNetwork:\n 'Chain to use for SIWX and payment when applicable. If not specified, the network will be auto-detected.',\n maxAmount:\n 'Maximum amount (in USD) to pay per request. Aborts if the endpoint requests more. Defaults to $5. Pass a higher value for known-expensive endpoints.',\n} as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Per-tool parameter and output schema descriptions\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const TOOL_PARAMS = {\n bridge: {\n from: 'The network to bridge from',\n to: 'The network to bridge to',\n amount: 'The amount of USDC to bridge',\n },\n fetch: REQUEST_FETCH_PARAMS,\n fetchWithAuth: REQUEST_FETCH_PARAMS,\n checkEndpointSchema: {\n ...REQUEST_PARAMS,\n method:\n 'HTTP method to check. If omitted, all methods declared in the spec are returned.',\n body: 'Optional. A sample request body to probe the endpoint live (without payment) for exact pricing. Use when pricing is range-based or quote-based, or when you need to verify the input schema. Omit to get the static schema and advisory pricing from the spec.',\n },\n try: {\n url: 'The origin URL to explore',\n },\n add: {\n url: 'The origin URL to add',\n },\n\n listAccounts: {\n output: {\n accounts: 'Wallet accounts for each supported network',\n address: 'Wallet address for this network',\n balance: 'USDC balance on this network',\n network: 'Supported payment network name',\n isNewWallet: 'Whether the wallet is new and needs to be funded',\n depositLink:\n 'Link to deposit USDC directly into the wallet for this network',\n onboardingCta:\n 'Present when the user has not yet redeemed an invite code. Show the message to the user — it directs them to onboard or deposit.',\n onboardingCtaOnboardLink: 'Link to the onboarding page',\n onboardingCtaDepositLink: 'Link to deposit USDC directly',\n onboardingCtaMessage: 'Human-readable CTA to show the user',\n },\n },\n\n redeemInvite: {\n code: 'The invite code',\n output: {\n amount: 'Amount with unit (e.g., \"5 USDC\")',\n txHash: 'Transaction hash on Base',\n },\n },\n\n search: {\n query:\n 'Natural language description of what you need (e.g. \"send physical mail\", \"generate music\", \"flight prices\")',\n },\n\n discoverApiEndpoints: {\n url: 'The origin URL to discover endpoints on (e.g. https://stableenrich.dev)',\n includeGuidance:\n \"Request the origin's usage guidance. true=always include, false=never include, omit=auto (included when compact). Guidance explains how to compose multiple endpoints and covers edge cases.\",\n },\n\n reportError: {\n tool: 'MCP tool name',\n resource: 'Resource URL',\n summary: '1-2 sentence summary',\n errorMessage: 'Error message',\n stack: 'Stack trace',\n fullReport: 'Detailed report with context, logs, repro steps',\n output: {\n reportId: 'Unique report ID for tracking',\n message: 'Confirmation message',\n },\n },\n} as const;\n"],"mappings":";AAkBO,IAAM,kBAGT;AAAA,EACF,8CAAoB,GAAG;AAAA,IACrB,OAAO;AAAA,IACP,aACE;AAAA,EACJ;AAAA,EACA,8CAAoB,GAAG;AAAA,IACrB,OAAO;AAAA,IACP,aACE;AAAA,EACJ;AAAA,EACA,8CAAoB,GAAG;AAAA,IACrB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,8CAAoB,GAAG;AAAA,IACrB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,4CAAmB,GAAG;AAAA,IACpB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,sCAAgB,GAAG;AAAA,IACjB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,+BAAa,GAAG;AAAA,IACd,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,0CAAkB,GAAG;AAAA,IACnB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,oDAAuB,GAAG;AAAA,IACxB,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,4CAAmB,GAAG;AAAA,IACpB,OAAO;AAAA,IACP,aACE;AAAA,EACJ;AACF;AAEO,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO/B;AAMO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,IACN,WAAW;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAAA,IACA,OAAO;AAAA,IACP,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,YAAY;AAAA,IACV,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,OAAO;AAAA,IACL,KAAK;AAAA;AAAA;AAAA,IACL,KAAK;AAAA,IACL,UAAU;AAAA;AAAA,EACZ;AAAA,EAEA,eAAe;AAAA,IACb,KAAK;AAAA;AAAA;AAAA,IACL,KAAK;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EAEA,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,eAAe;AAAA,IACb,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,qBAAqB;AAAA,IACnB,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,MAAM;AAAA,IACb,KAAK;AAAA,IACL,UAAU;AAAA;AAAA;AAAA,EACZ;AAAA,EAEA,sBAAsB;AAAA,IACpB,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACF,EAAE,KAAK,MAAM;AAAA,IACb,KAAK;AAAA,IACL,UAAU;AAAA,EAAwB,gBAAgB,QAAQ,OAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvJ;AAAA,EAEA,cAAc;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,KAAK;AAAA,IACH,KAAK;AAAA,EACP;AAAA,EAEA,QAAQ;AAAA,IACN,KAAK;AAAA;AAAA;AAAA,IAGL,KAAK;AAAA,EACP;AAAA,EAEA,aAAa;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,gBAAgB;AAAA,IACd,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAAA,EAEA,aAAa;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AACF;AAMA,IAAM,WAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,IAAI;AAEJ,SAAS,wBACd,cAA4B,CAAC,GACrB;AACR,QAAM,aAAa;AAAA,IACjB,GAAG,YAAY,IAAI,OAAK,OAAO,EAAE,GAAG,WAAM,EAAE,WAAW,EAAE;AAAA,IACzD,GAAG,gBAAgB;AAAA,MAAQ,OACzB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAM,gBAAgB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC;AAAA,IAC3E;AAAA,EACF,EAAE,KAAK,IAAI;AAEX,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAA0N,UAAU;AAAA,IACpO;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,MAAM;AACf;AAOO,IAAM,iBAAiB;AAAA,EAC5B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SACE;AAAA,EACF,SAAS;AACX;AAEO,IAAM,uBAAuB;AAAA,EAClC,GAAG;AAAA,EACH,iBACE;AAAA,EACF,gBACE;AAAA,EACF,WACE;AACJ;AAMO,IAAM,cAAc;AAAA,EACzB,QAAQ;AAAA,IACN,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,QAAQ;AAAA,EACV;AAAA,EACA,OAAO;AAAA,EACP,eAAe;AAAA,EACf,qBAAqB;AAAA,IACnB,GAAG;AAAA,IACH,QACE;AAAA,IACF,MAAM;AAAA,EACR;AAAA,EACA,KAAK;AAAA,IACH,KAAK;AAAA,EACP;AAAA,EACA,KAAK;AAAA,IACH,KAAK;AAAA,EACP;AAAA,EAEA,cAAc;AAAA,IACZ,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,MACT,SAAS;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,aACE;AAAA,MACF,eACE;AAAA,MACF,0BAA0B;AAAA,MAC1B,0BAA0B;AAAA,MAC1B,sBAAsB;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN,OACE;AAAA,EACJ;AAAA,EAEA,sBAAsB;AAAA,IACpB,KAAK;AAAA,IACL,iBACE;AAAA,EACJ;AAAA,EAEA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,IACT,cAAc;AAAA,IACd,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TOOL_PARAMS
3
- } from "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-CR2YGI3I.js";
4
4
  import {
5
5
  zodUrl
6
6
  } from "./chunk-FB5CMO3J.js";
@@ -46,4 +46,4 @@ export {
46
46
  discoverResourcesSchema,
47
47
  discoverResources
48
48
  };
49
- //# sourceMappingURL=chunk-UMYAGSWZ.js.map
49
+ //# sourceMappingURL=chunk-CR6PFCYR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  REQUEST_FETCH_PARAMS,
3
3
  REQUEST_PARAMS
4
- } from "./chunk-X2JUL4S3.js";
4
+ } from "./chunk-CR2YGI3I.js";
5
5
  import {
6
6
  RequestMethod
7
7
  } from "./chunk-LNJIXYCU.js";
@@ -40,4 +40,4 @@ export {
40
40
  paymentProtocols,
41
41
  fetchShape
42
42
  };
43
- //# sourceMappingURL=chunk-VX6PPHSN.js.map
43
+ //# sourceMappingURL=chunk-JWU363NX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MCP_VERSION
3
- } from "./chunk-RF3C5ANE.js";
3
+ } from "./chunk-7LZ2DPRY.js";
4
4
  import {
5
5
  getBaseUrl,
6
6
  safeFetchJson
@@ -49,4 +49,4 @@ async function submitErrorReport(surface, input, address, dev) {
49
49
  export {
50
50
  submitErrorReport
51
51
  };
52
- //# sourceMappingURL=chunk-ECRRDGPF.js.map
52
+ //# sourceMappingURL=chunk-Q6VAWMKV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TOOL_PARAMS
3
- } from "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-CR2YGI3I.js";
4
4
  import {
5
5
  getBaseUrl,
6
6
  safeFetchJson
@@ -539,4 +539,4 @@ export {
539
539
  bridgeSchema,
540
540
  bridge
541
541
  };
542
- //# sourceMappingURL=chunk-IL5RGDIX.js.map
542
+ //# sourceMappingURL=chunk-SGSOKWC6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  discoverResources
3
- } from "./chunk-UMYAGSWZ.js";
3
+ } from "./chunk-CR6PFCYR.js";
4
4
  import {
5
5
  errorResponse
6
6
  } from "./chunk-7EBJ4BCH.js";
@@ -52,4 +52,4 @@ function resolveDescription(result) {
52
52
  export {
53
53
  resolveOrigin
54
54
  };
55
- //# sourceMappingURL=chunk-NC4UN6IF.js.map
55
+ //# sourceMappingURL=chunk-THSTTUNV.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-27DZCYDB.js";
7
7
  import {
8
8
  INSTALL_PACKAGE_SPECIFIER
9
- } from "./chunk-RF3C5ANE.js";
9
+ } from "./chunk-7LZ2DPRY.js";
10
10
  import {
11
11
  log,
12
12
  safeReadFile,
@@ -610,4 +610,4 @@ export {
610
610
  tryAddServer,
611
611
  addServer
612
612
  };
613
- //# sourceMappingURL=chunk-5D62Q6NZ.js.map
613
+ //# sourceMappingURL=chunk-VXDT5LRL.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  coreRequestSchema,
3
3
  fetchShape
4
- } from "./chunk-VX6PPHSN.js";
4
+ } from "./chunk-JWU363NX.js";
5
5
  import {
6
6
  REQUEST_PARAMS
7
- } from "./chunk-X2JUL4S3.js";
7
+ } from "./chunk-CR2YGI3I.js";
8
8
 
9
9
  // src/shared/request/schemas/cli.ts
10
10
  import z from "zod";
@@ -46,4 +46,4 @@ export {
46
46
  cliRequestSchema,
47
47
  cliFetchRequestSchema
48
48
  };
49
- //# sourceMappingURL=chunk-YUGBFY4H.js.map
49
+ //# sourceMappingURL=chunk-XU3KTFR5.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  discoverResources
3
- } from "./chunk-UMYAGSWZ.js";
4
- import "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-CR6PFCYR.js";
4
+ import "./chunk-CR2YGI3I.js";
5
5
  import "./chunk-FB5CMO3J.js";
6
6
  import {
7
7
  errorResponse,
@@ -34,4 +34,4 @@ var discoverCommand = async (input) => {
34
34
  export {
35
35
  discoverCommand
36
36
  };
37
- //# sourceMappingURL=discover-63V73SKH.js.map
37
+ //# sourceMappingURL=discover-PMVCPMAP.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  cliFetchRequestSchema
3
- } from "./chunk-YUGBFY4H.js";
4
- import "./chunk-VX6PPHSN.js";
5
- import "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-XU3KTFR5.js";
4
+ import "./chunk-JWU363NX.js";
5
+ import "./chunk-CR2YGI3I.js";
6
6
  import {
7
7
  executeFetch
8
8
  } from "./chunk-IPBR36VR.js";
@@ -88,4 +88,4 @@ var fetchCommand = async (input) => {
88
88
  export {
89
89
  fetchCommand
90
90
  };
91
- //# sourceMappingURL=fetch-G2C4EUTP.js.map
91
+ //# sourceMappingURL=fetch-AY3ODEFV.js.map
package/dist/esm/index.js CHANGED
@@ -7,17 +7,17 @@ import {
7
7
  } from "./chunk-YIU364NZ.js";
8
8
  import {
9
9
  MCP_VERSION
10
- } from "./chunk-RF3C5ANE.js";
10
+ } from "./chunk-7LZ2DPRY.js";
11
11
  import {
12
12
  paymentNetworks,
13
13
  paymentProtocols,
14
14
  requestMethodValues
15
- } from "./chunk-VX6PPHSN.js";
15
+ } from "./chunk-JWU363NX.js";
16
16
  import {
17
17
  DESCRIPTIONS,
18
18
  TOOL_PARAMS,
19
19
  buildServerInstructions
20
- } from "./chunk-X2JUL4S3.js";
20
+ } from "./chunk-CR2YGI3I.js";
21
21
  import "./chunk-LNJIXYCU.js";
22
22
  import "./chunk-NPJV7AMV.js";
23
23
  import "./chunk-KVSTJRSJ.js";
@@ -117,7 +117,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
117
117
  DESCRIPTIONS.fetch.epilogue
118
118
  ),
119
119
  async (args) => {
120
- const { fetchCommand } = await import("./fetch-G2C4EUTP.js");
120
+ const { fetchCommand } = await import("./fetch-AY3ODEFV.js");
121
121
  await fetchCommand(args);
122
122
  }
123
123
  ).command(
@@ -129,7 +129,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
129
129
  DESCRIPTIONS.fetchWithAuth.epilogue
130
130
  ),
131
131
  async (args) => {
132
- const { fetchCommand } = await import("./fetch-G2C4EUTP.js");
132
+ const { fetchCommand } = await import("./fetch-AY3ODEFV.js");
133
133
  await fetchCommand(args);
134
134
  }
135
135
  ).command(
@@ -155,7 +155,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
155
155
  description: TOOL_PARAMS.checkEndpointSchema.headers
156
156
  }).epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),
157
157
  async (args) => {
158
- const { checkCommand } = await import("./check-LTH3BZYQ.js");
158
+ const { checkCommand } = await import("./check-ITXJS2Z6.js");
159
159
  await checkCommand({
160
160
  ...args,
161
161
  url: args.url,
@@ -173,7 +173,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
173
173
  demandOption: true
174
174
  }),
175
175
  async (args) => {
176
- const { tryCommand } = await import("./try-JK56MOLD.js");
176
+ const { tryCommand } = await import("./try-C2WWPJLH.js");
177
177
  await tryCommand(args);
178
178
  }
179
179
  ).command(
@@ -185,7 +185,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
185
185
  demandOption: true
186
186
  }),
187
187
  async (args) => {
188
- const { searchCommand } = await import("./search-G25PLCS2.js");
188
+ const { searchCommand } = await import("./search-M436C326.js");
189
189
  await searchCommand(args);
190
190
  }
191
191
  ).command(
@@ -200,7 +200,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
200
200
  description: TOOL_PARAMS.discoverApiEndpoints.includeGuidance
201
201
  }).epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),
202
202
  async (args) => {
203
- const { discoverCommand } = await import("./discover-63V73SKH.js");
203
+ const { discoverCommand } = await import("./discover-PMVCPMAP.js");
204
204
  await discoverCommand(args);
205
205
  }
206
206
  ).command(
@@ -224,7 +224,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
224
224
  demandOption: true
225
225
  }),
226
226
  async (args) => {
227
- const { addSkillCommand } = await import("./add-skill-W277MI7L.js");
227
+ const { addSkillCommand } = await import("./add-skill-BCCFF6HW.js");
228
228
  await addSkillCommand(args);
229
229
  }
230
230
  ).command(
@@ -239,7 +239,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
239
239
  demandOption: true
240
240
  }),
241
241
  async (args) => {
242
- const { originsAddCommand } = await import("./origins-7KBHPH42.js");
242
+ const { originsAddCommand } = await import("./origins-UCEONL2Q.js");
243
243
  await originsAddCommand(args);
244
244
  }
245
245
  ).command(
@@ -247,7 +247,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
247
247
  "List all registered origins",
248
248
  (yargs3) => yargs3,
249
249
  async (args) => {
250
- const { originsListCommand } = await import("./origins-7KBHPH42.js");
250
+ const { originsListCommand } = await import("./origins-UCEONL2Q.js");
251
251
  await originsListCommand(args);
252
252
  }
253
253
  ).command(
@@ -259,7 +259,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
259
259
  demandOption: true
260
260
  }),
261
261
  async (args) => {
262
- const { originsRemoveCommand } = await import("./origins-7KBHPH42.js");
262
+ const { originsRemoveCommand } = await import("./origins-UCEONL2Q.js");
263
263
  await originsRemoveCommand(args);
264
264
  }
265
265
  ).demandCommand(1, "You must specify an origins subcommand").strict(),
@@ -273,7 +273,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
273
273
  description: "The invite code to redeem (optional)"
274
274
  }),
275
275
  async (args) => {
276
- const { onboardCommand } = await import("./onboard-QCWAP3G2.js");
276
+ const { onboardCommand } = await import("./onboard-OXHQCZSZ.js");
277
277
  await onboardCommand({ ...args, code: args.code ?? args.invite });
278
278
  }
279
279
  ).command(
@@ -402,7 +402,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
402
402
  description: TOOL_PARAMS.reportError.fullReport
403
403
  }),
404
404
  async (args) => {
405
- const { reportErrorCommand } = await import("./report-error-HXMJPI5K.js");
405
+ const { reportErrorCommand } = await import("./report-error-PJZO23SJ.js");
406
406
  await reportErrorCommand(args);
407
407
  }
408
408
  ).command(
@@ -424,7 +424,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
424
424
  required: true
425
425
  }),
426
426
  async (args) => {
427
- const { bridgeCommand } = await import("./bridge-EXVM6MMU.js");
427
+ const { bridgeCommand } = await import("./bridge-FRFNAJZI.js");
428
428
  await bridgeCommand(args);
429
429
  }
430
430
  ).command(
@@ -432,7 +432,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
432
432
  "Start the MCP server (default when no command specified)",
433
433
  (yargs2) => yargs2,
434
434
  async (args) => {
435
- const { serverCommand } = await import("./server-TXU5H5AK.js");
435
+ const { serverCommand } = await import("./server-WOTLIN4E.js");
436
436
  await serverCommand(args);
437
437
  }
438
438
  ).command(
@@ -446,7 +446,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
446
446
  default: isClaudeCode ? "claude-code" /* ClaudeCode */ : void 0
447
447
  }),
448
448
  async (args) => {
449
- const { installMcpServer } = await import("./install-CGAXUK2R.js");
449
+ const { installMcpServer } = await import("./install-6ASGR4TT.js");
450
450
  await installMcpServer(args);
451
451
  }
452
452
  ).command(
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-JOIAQY6V.js";
4
4
  import {
5
5
  addServer
6
- } from "./chunk-5D62Q6NZ.js";
6
+ } from "./chunk-VXDT5LRL.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-RF3C5ANE.js";
17
+ import "./chunk-7LZ2DPRY.js";
18
18
  import "./chunk-ISF2WVEZ.js";
19
19
  import {
20
20
  getBalance
@@ -175,4 +175,4 @@ var installMcpServer = async (args) => {
175
175
  export {
176
176
  installMcpServer
177
177
  };
178
- //# sourceMappingURL=install-CGAXUK2R.js.map
178
+ //# sourceMappingURL=install-6ASGR4TT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getPlatformPath,
3
3
  tryAddServer
4
- } from "./chunk-5D62Q6NZ.js";
4
+ } from "./chunk-VXDT5LRL.js";
5
5
  import "./chunk-DZNSJ2BA.js";
6
6
  import {
7
7
  installGitHubSkill
@@ -13,7 +13,7 @@ import {
13
13
  redeemInviteCode
14
14
  } from "./chunk-AWFBYDYO.js";
15
15
  import "./chunk-27DZCYDB.js";
16
- import "./chunk-RF3C5ANE.js";
16
+ import "./chunk-7LZ2DPRY.js";
17
17
  import {
18
18
  getOnboardingCta,
19
19
  getWalletInfo
@@ -380,4 +380,4 @@ var onboardCommand = async (args) => {
380
380
  export {
381
381
  onboardCommand
382
382
  };
383
- //# sourceMappingURL=onboard-QCWAP3G2.js.map
383
+ //# sourceMappingURL=onboard-OXHQCZSZ.js.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  resolveOrigin
3
- } from "./chunk-NC4UN6IF.js";
3
+ } from "./chunk-THSTTUNV.js";
4
4
  import {
5
5
  addUserOrigin,
6
6
  loadUserOrigins,
7
7
  removeUserOrigin
8
8
  } from "./chunk-YIU364NZ.js";
9
- import "./chunk-UMYAGSWZ.js";
9
+ import "./chunk-CR6PFCYR.js";
10
10
  import {
11
11
  ORIGIN_METADATA,
12
12
  PRIMARY_ORIGINS
13
- } from "./chunk-X2JUL4S3.js";
13
+ } from "./chunk-CR2YGI3I.js";
14
14
  import "./chunk-KVSTJRSJ.js";
15
15
  import {
16
16
  ensureProtocol
@@ -79,4 +79,4 @@ export {
79
79
  originsListCommand,
80
80
  originsRemoveCommand
81
81
  };
82
- //# sourceMappingURL=origins-7KBHPH42.js.map
82
+ //# sourceMappingURL=origins-UCEONL2Q.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  submitErrorReport
3
- } from "./chunk-ECRRDGPF.js";
4
- import "./chunk-RF3C5ANE.js";
3
+ } from "./chunk-Q6VAWMKV.js";
4
+ import "./chunk-7LZ2DPRY.js";
5
5
  import "./chunk-PBVLTOFS.js";
6
6
  import {
7
7
  getWalletOrExit
@@ -32,4 +32,4 @@ var reportErrorCommand = async (args) => {
32
32
  export {
33
33
  reportErrorCommand
34
34
  };
35
- //# sourceMappingURL=report-error-HXMJPI5K.js.map
35
+ //# sourceMappingURL=report-error-PJZO23SJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  search
3
- } from "./chunk-UBVHQSSW.js";
4
- import "./chunk-X2JUL4S3.js";
3
+ } from "./chunk-6TRJQGKT.js";
4
+ import "./chunk-CR2YGI3I.js";
5
5
  import "./chunk-IPBR36VR.js";
6
6
  import "./chunk-JX2XE6FD.js";
7
7
  import "./chunk-IKPLMFAK.js";
@@ -48,4 +48,4 @@ var searchCommand = async (input) => {
48
48
  export {
49
49
  searchCommand
50
50
  };
51
- //# sourceMappingURL=search-G25PLCS2.js.map
51
+ //# sourceMappingURL=search-M436C326.js.map
@@ -3,22 +3,22 @@ import {
3
3
  } from "./chunk-AWFBYDYO.js";
4
4
  import {
5
5
  submitErrorReport
6
- } from "./chunk-ECRRDGPF.js";
6
+ } from "./chunk-Q6VAWMKV.js";
7
7
  import {
8
8
  bridge,
9
9
  bridgeSchema
10
- } from "./chunk-IL5RGDIX.js";
10
+ } from "./chunk-SGSOKWC6.js";
11
11
  import {
12
12
  loadUserOrigins
13
13
  } from "./chunk-YIU364NZ.js";
14
- import "./chunk-RF3C5ANE.js";
14
+ import "./chunk-7LZ2DPRY.js";
15
15
  import {
16
16
  checkEndpoint
17
17
  } from "./chunk-5CMVFNXO.js";
18
18
  import {
19
19
  coreRequestSchema,
20
20
  fetchShape
21
- } from "./chunk-VX6PPHSN.js";
21
+ } from "./chunk-JWU363NX.js";
22
22
  import {
23
23
  getBalances,
24
24
  listAccountsWithBalances
@@ -27,16 +27,16 @@ import "./chunk-ISF2WVEZ.js";
27
27
  import {
28
28
  search,
29
29
  searchSchema
30
- } from "./chunk-UBVHQSSW.js";
30
+ } from "./chunk-6TRJQGKT.js";
31
31
  import {
32
32
  discoverResources,
33
33
  discoverResourcesSchema
34
- } from "./chunk-UMYAGSWZ.js";
34
+ } from "./chunk-CR6PFCYR.js";
35
35
  import {
36
36
  DESCRIPTIONS,
37
37
  TOOL_PARAMS,
38
38
  buildServerInstructions
39
- } from "./chunk-X2JUL4S3.js";
39
+ } from "./chunk-CR2YGI3I.js";
40
40
  import {
41
41
  executeFetch
42
42
  } from "./chunk-IPBR36VR.js";
@@ -682,7 +682,7 @@ import { dirname, join } from "path";
682
682
  import { fileURLToPath } from "url";
683
683
  function getVersion() {
684
684
  if (true) {
685
- return "0.13.3";
685
+ return "0.13.5";
686
686
  }
687
687
  const __dirname2 = dirname(fileURLToPath(import.meta.url));
688
688
  const pkg = JSON.parse(
@@ -748,4 +748,4 @@ var startServer = async (flags) => {
748
748
  export {
749
749
  startServer
750
750
  };
751
- //# sourceMappingURL=server-G4NVYYYG.js.map
751
+ //# sourceMappingURL=server-O5PAE733.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-G4NVYYYG.js");
8
+ const { startServer } = await import("./server-O5PAE733.js");
9
9
  await startServer(args);
10
10
  };
11
11
  export {
12
12
  serverCommand
13
13
  };
14
- //# sourceMappingURL=server-TXU5H5AK.js.map
14
+ //# sourceMappingURL=server-WOTLIN4E.js.map
@@ -4,8 +4,8 @@ import {
4
4
  import "./chunk-ISF2WVEZ.js";
5
5
  import {
6
6
  discoverResources
7
- } from "./chunk-UMYAGSWZ.js";
8
- import "./chunk-X2JUL4S3.js";
7
+ } from "./chunk-CR6PFCYR.js";
8
+ import "./chunk-CR2YGI3I.js";
9
9
  import "./chunk-MYWE3P7R.js";
10
10
  import "./chunk-PBVLTOFS.js";
11
11
  import {
@@ -98,4 +98,4 @@ var tryCommand = async (args) => {
98
98
  export {
99
99
  tryCommand
100
100
  };
101
- //# sourceMappingURL=try-JK56MOLD.js.map
101
+ //# sourceMappingURL=try-C2WWPJLH.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentcash",
3
- "version": "0.13.3",
4
- "mcpName": "io.github.merit-systems/agentcash",
3
+ "version": "0.13.5",
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",
7
7
  "main": "dist/esm/lib.js",
@@ -13,7 +13,7 @@
13
13
  "dist"
14
14
  ],
15
15
  "dependencies": {
16
- "@agentcash/discovery": "1.4.5",
16
+ "@agentcash/discovery": "1.5.0",
17
17
  "@clack/prompts": "^0.11.0",
18
18
  "@iarna/toml": "^2.2.5",
19
19
  "@modelcontextprotocol/sdk": "^1.27.0",
@@ -48,11 +48,11 @@
48
48
  "typescript": "^5.9.3",
49
49
  "vitest": "^4.0.18",
50
50
  "@agentcash/balance": "0.0.3",
51
+ "@agentcash/bridge": "0.0.2",
51
52
  "@agentcash/eslint-config": "0.0.1",
52
53
  "@agentcash/networks": "0.0.3",
53
- "@agentcash/typescript-config": "0.0.1",
54
- "@agentcash/bridge": "0.0.2",
55
- "@agentcash/neverthrow": "1.0.1"
54
+ "@agentcash/neverthrow": "1.0.1",
55
+ "@agentcash/typescript-config": "0.0.1"
56
56
  },
57
57
  "engines": {
58
58
  "node": ">=20"
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/shared/descriptions.ts"],"sourcesContent":["/**\n * Single source of truth for all LLM-facing text in the MCP package.\n *\n * `DESCRIPTIONS` covers every tool with both an `mcp` variant (detailed,\n * AI-audience) and a `cli` variant (concise, human-readable for --help).\n * `serverInstructions` is shared across both surfaces.\n *\n * Additional exports cover parameter/output schema descriptions, origin\n * metadata, and prompt content — all LLM-facing text in one place.\n */\n\nimport type { UserOrigin } from './user-origins';\nimport { Origin } from './origins';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Origin metadata (used for MCP resource registration descriptions)\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const ORIGIN_METADATA: Record<\n string,\n { title: string; description: string }\n> = {\n [Origin.StableEnrich]: {\n title: 'StableEnrich',\n description:\n 'People/org search, Google Maps, Exa web search, LinkedIn data, Firecrawl scrape, WhitePages, email enrichment',\n },\n [Origin.StableSocial]: {\n title: 'StableSocial',\n description:\n 'Social media data for Twitter, Instagram, TikTok, YouTube, Facebook, Reddit',\n },\n [Origin.StableStudio]: {\n title: 'StableStudio',\n description: 'Generate and edit images and videos',\n },\n [Origin.StableUpload]: {\n title: 'StableUpload',\n description: 'Pay to upload files, get a permanent download URL.',\n },\n [Origin.StableEmail]: {\n title: 'StableEmail',\n description: 'Send emails',\n },\n [Origin.X402Scan]: {\n title: 'X402 Scan',\n description: 'x402 protocol explorer',\n },\n [Origin.Shirt]: {\n title: 'Shirt',\n description: 'Shirt.sh',\n },\n [Origin.X402Puppet]: {\n title: 'X402 Puppet',\n description: 'Browser automation',\n },\n [Origin.X402Facilitator]: {\n title: 'X402 Facilitator',\n description: 'Payment facilitation',\n },\n [Origin.StableMerch]: {\n title: 'StableMerch',\n description:\n 'Create shirts and mugs with custom images and have them shipped to your address.',\n },\n};\n\nexport const PRIMARY_ORIGINS = [\n Origin.StableEnrich,\n Origin.StableSocial,\n Origin.StableStudio,\n Origin.StableUpload,\n Origin.StableEmail,\n Origin.StableMerch,\n] as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Tool descriptions — { mcp, cli } per tool + shared serverInstructions\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const DESCRIPTIONS = {\n bridge: {\n toolNames: {\n cli: 'bridge',\n mcp: 'bridge',\n },\n title: 'Bridge Between Networks',\n mcp: `Bridge USDC between supported networks using the current wallet. Requires a source network, destination network, and amount. Use this when funds are on one supported network and the user needs them moved to another. Bridging is subject to fees.`,\n cli: `Bridge USDC between supported networks using the current wallet. Requires --from, --to, and --amount. Bridging is subject to fees.`,\n },\n\n getBalance: {\n mcp: `Get your total USDC balance across all supported networks. Auto-creates the wallet on first use (~/.agentcash/wallet.json). Use this before paid API calls to confirm you have funds available.`,\n cli: `Get your total USDC balance across all supported networks. Creates the wallet on first use (~/.agentcash/wallet.json). Use this before paid API calls to confirm you have funds available.`,\n },\n\n fetch: {\n mcp: `HTTP fetch with automatic authentication and payment handling. Makes the request, retries with SIGN-IN-WITH-X when the route exposes a SIWX challenge, and only pays if the route still returns 402. Returns response data along with payment details (price, tx hash) if a payment was made.\\n\\nFor endpoints you haven't called before in this session, you MUST call check_endpoint_schema first to confirm the request body schema. Skipping this causes 400 errors from wrong field names.`,\n cli: `HTTP fetch with automatic authentication and payment handling. If the endpoint returns 402, agentcash attempts authentication first and only falls back to payment if the route still requires it. Run 'check <url>' first to confirm the request body schema; skipping this causes 400 errors from wrong field names.`,\n epilogue: `Workflow: check <url> → fetch <url> -m POST -b '{\"field\":\"value\"}'\\nAuth mode is advisory only; fetch handles both SIWX and paid routes.`,\n },\n\n fetchWithAuth: {\n mcp: `Deprecated alias for fetch. Uses the same unified flow: probe the route, attempt SIWX when available, and only pay if the route still returns 402.\\n\\nFor new integrations, prefer fetch.`,\n cli: `Deprecated alias for fetch. Uses the same unified auth-and-payment flow, but new integrations should call 'fetch' directly.`,\n epilogue: `Deprecated: use agentcash fetch <url>. This alias is kept for compatibility.`,\n },\n\n listAccounts: {\n mcp: `List wallet accounts for each supported network. Returns the network, address, balance, and deposit link for every supported network so you can see where to fund the wallet. Auto-creates the wallet on first use (~/.agentcash/wallet.json). If onboardingCta is present, show its message to the user — it means they haven't onboarded yet and need to either visit the onboard link or deposit directly.`,\n cli: `List wallet accounts for each supported network, including network, address, balance, and deposit link. Creates the wallet on first use (~/.agentcash/wallet.json). Use this when you need the per-network funding addresses and deposit links.`,\n },\n\n getWalletInfo: {\n mcp: `Legacy combined wallet view. Returns both the total balance and the per-network account list. Prefer calling get_balance for available funds and list_accounts when you need network-specific addresses or deposit links.`,\n cli: `Legacy combined wallet view. Returns both the total balance and the per-network account list. Prefer 'balance' for available funds and 'accounts' for network-specific addresses or deposit links.`,\n },\n\n checkEndpointSchema: {\n mcp: [\n `Get the input/output schema and auth mode (paid or SIWX) for a single endpoint.`,\n `Call this to see exactly what fields the request body expects and what the response contains.`,\n `Returns the schema from the origin's OpenAPI spec. Optionally pass sample_input_body to probe the endpoint live (without payment) for an exact price quote — do this when pricing is range-based or quote-based, or when you're unsure about the input schema. Treat auth mode as advisory: fetch handles both SIWX and paid routes.`,\n ].join('\\n\\n'),\n cli: `Get the input/output schema and auth mode (paid or SIWX) for an endpoint. Returns exact field names from the OpenAPI spec — call this before 'fetch' to avoid 400 errors. Pass --body to probe the endpoint live for an exact price quote when pricing is range-based or unclear.`,\n epilogue: `Auth mode is advisory:\\n paid → agentcash fetch <url>\\n SIWX → agentcash fetch <url>`,\n },\n\n discoverApiEndpoints: {\n mcp: [\n `List available endpoints at an API origin. Returns endpoint URLs with descriptions of what each does and the auth mode for each (paid or SIWX). Works with any origin, not just the registered ones.`,\n `Call this when you need to see what routes are available at an origin — whether it's one of the registered origins or any other origin you've identified as useful. Treat the auth mode as guidance for what the route may require; fetch handles both SIWX and payment.`,\n `The response always indicates whether guidance is available. Guidance is documentation published by the API provider explaining how endpoints work together, edge cases, and usage tips. compact guidance is included automatically; set include_guidance=true to force-include full usage documentation when you need to compose two or more endpoints or need clarification on how the origin works.`,\n ].join('\\n\\n'),\n cli: `List available endpoints at an API origin with descriptions and auth modes (paid or SIWX). Works with any origin, not just registered ones. Add --include-guidance for full provider docs when composing multiple endpoints or when usage is unclear. Fetch handles both auth modes.`,\n epilogue: `Registered origins:\\n${PRIMARY_ORIGINS.flatMap(o => (ORIGIN_METADATA[o] ? [` ${o} — ${ORIGIN_METADATA[o].description}`] : [])).join('\\n')}`,\n },\n\n redeemInvite: {\n mcp: `Redeem an invite code for free USDC on Base. One-time use per code. Returns amount received and transaction hash. Use get_balance after to verify funds, or list_accounts if you need the per-network deposit links as well.`,\n cli: `Redeem an invite code for free USDC on Base. One-time use per code. Run 'balance' after to verify the balance landed.`,\n },\n\n try: {\n cli: `Fetch a new origin for its resources and return a prompt guiding the user through the process of calling the first endpoint.`,\n },\n\n search: {\n mcp: `Search for relevant paid API services by describing what you need in natural language. Returns the best matching origins with endpoint details and pricing. The top result includes the full input/output schema so you can call it immediately via fetch.\n\nOnly use this when you DON'T already know which registered origin to use. If the task clearly maps to a registered origin (e.g. people search → StableEnrich, image generation → StableStudio), skip search and go straight to discover_api_endpoints on that origin. Search is for discovering NEW or UNKNOWN capabilities outside the registered origins.`,\n cli: `Search for paid API services by natural language query. Returns matching origins with endpoints and pricing. Use this to find APIs before calling discover or fetch.`,\n },\n\n reportError: {\n mcp: `EMERGENCY ONLY. Report critical MCP tool bugs. Do NOT use for normal errors (balance, network, 4xx) — those are recoverable.`,\n cli: `Report a critical bug to the agentcash team (emergency only). Do NOT use for normal errors like low balance, network timeouts, or 4xx responses — those are recoverable without filing a report.`,\n },\n\n updateSettings: {\n mcp: `Update user settings (persisted to ~/.agentcash/settings.json). Currently supports maxAmount — the maximum USD amount allowed per fetch request. If a fetch response requests more than this, the payment is rejected. Returns the current settings after applying changes.`,\n cli: `Update user settings (persisted to ~/.agentcash/settings.json). Currently supports maxAmount, which caps how much a single fetch request can spend.`,\n },\n\n getSettings: {\n mcp: `Get current user settings. Returns persisted values from ~/.agentcash/settings.json with defaults applied.`,\n cli: `Get current user settings from ~/.agentcash/settings.json, with defaults applied.`,\n },\n} as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Dynamic server instructions (includes user-added origins at runtime)\n// ─────────────────────────────────────────────────────────────────────────────\n\nconst WORKFLOW = [\n `Workflow:`,\n `1. If you don't already know your balance, call get_balance. You need a balance for paid endpoints. SIWX endpoints don't require one. You don't need to call this every turn, just before your first paid call or whenever you're unsure.`,\n `2. If the balance is zero, or if the user needs a funding link or wallet addresses, call list_accounts and share the relevant deposit link. If onboardingCta is present, show it to the user.`,\n `3. If the task doesn't clearly map to any registered origin above, call search() to find relevant APIs. Skip this step when you already know the right origin — go straight to step 4.`,\n `4. Call discover_api_endpoints() to get the endpoint index — a list of available routes with descriptions and auth modes. The auth mode is advisory and tells you what the route may require.`,\n `5. Call check_endpoint_schema() to get the exact input/output schema and auth mode for the endpoint you want to call, so you know what fields to pass and what the response contains. Both discover_api_endpoints and check_endpoint_schema return the auth mode.`,\n `6. Call fetch with the correct input schema. It will attempt SIWX first when available and only pay if the route still returns 402.`,\n].join('\\n');\n\nexport function buildServerInstructions(\n userOrigins: UserOrigin[] = []\n): string {\n const allOrigins = [\n ...userOrigins.map(o => ` - ${o.url} — ${o.description}`),\n ...PRIMARY_ORIGINS.flatMap(o =>\n ORIGIN_METADATA[o] ? [` - ${o} — ${ORIGIN_METADATA[o].description}`] : []\n ),\n ].join('\\n');\n\n return [\n `AgentCash lets you call protected APIs — handling both x402 micropayments and SIWX authentication seamlessly. It manages a USDC wallet for paid endpoints and signs wallet proofs for identity-gated endpoints through fetch.`,\n `The user has installed agentcash because they want to use paid and SIWX-protected APIs as their preferred way to accomplish related tasks.`,\n `Paid endpoints require a wallet balance. SIWX endpoints are free — they only require a wallet identity.`,\n `If a task could be accomplished by one of these registered origins, run the workflow below. If you're unsure which origin to use, or the task doesn't match a registered origin, call search() to find relevant APIs.\\n${allOrigins}`,\n `discover_api_endpoints also works with any origin beyond this list. If you identify another origin that would be useful for a task, you can use it.`,\n WORKFLOW,\n `If you need to compose multiple endpoints in sequence, or anything about the origin's capabilities is unclear, call discover_api_endpoints with include_guidance=true to retrieve the origin's full usage documentation.`,\n ].join('\\n\\n');\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Shared request schema parameter descriptions\n// (used by fetch, fetch_with_auth tools)\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const REQUEST_PARAMS = {\n url: 'The endpoint URL',\n method: 'HTTP method. Defaults to GET for fetch operations.',\n body: 'Raw request body string. Passed through to the underlying fetch call as-is.',\n headers:\n 'Additional headers to include. Each entry must be a string in \"Name: value\" format.',\n timeout: 'Request timeout in milliseconds',\n} as const;\n\nexport const REQUEST_FETCH_PARAMS = {\n ...REQUEST_PARAMS,\n paymentProtocol:\n 'Payment protocol to use when payment is required. If not specified, the payment protocol will be auto-detected.',\n paymentNetwork:\n 'Chain to use for SIWX and payment when applicable. If not specified, the network will be auto-detected.',\n maxAmount:\n 'Maximum amount (in USD) to pay per request. Aborts if the endpoint requests more. Defaults to $5. Pass a higher value for known-expensive endpoints.',\n} as const;\n\n// ─────────────────────────────────────────────────────────────────────────────\n// Per-tool parameter and output schema descriptions\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const TOOL_PARAMS = {\n bridge: {\n from: 'The network to bridge from',\n to: 'The network to bridge to',\n amount: 'The amount of USDC to bridge',\n },\n fetch: REQUEST_FETCH_PARAMS,\n fetchWithAuth: REQUEST_FETCH_PARAMS,\n checkEndpointSchema: {\n ...REQUEST_PARAMS,\n method:\n 'HTTP method to check. If omitted, all methods declared in the spec are returned.',\n body: 'Optional. A sample request body to probe the endpoint live (without payment) for exact pricing. Use when pricing is range-based or quote-based, or when you need to verify the input schema. Omit to get the static schema and advisory pricing from the spec.',\n },\n try: {\n url: 'The origin URL to explore',\n },\n add: {\n url: 'The origin URL to add',\n },\n\n listAccounts: {\n output: {\n accounts: 'Wallet accounts for each supported network',\n address: 'Wallet address for this network',\n balance: 'USDC balance on this network',\n network: 'Supported payment network name',\n isNewWallet: 'Whether the wallet is new and needs to be funded',\n depositLink:\n 'Link to deposit USDC directly into the wallet for this network',\n onboardingCta:\n 'Present when the user has not yet redeemed an invite code. Show the message to the user — it directs them to onboard or deposit.',\n onboardingCtaOnboardLink: 'Link to the onboarding page',\n onboardingCtaDepositLink: 'Link to deposit USDC directly',\n onboardingCtaMessage: 'Human-readable CTA to show the user',\n },\n },\n\n redeemInvite: {\n code: 'The invite code',\n output: {\n amount: 'Amount with unit (e.g., \"5 USDC\")',\n txHash: 'Transaction hash on Base',\n },\n },\n\n search: {\n query:\n 'Natural language description of what you need (e.g. \"send physical mail\", \"generate music\", \"flight prices\")',\n },\n\n discoverApiEndpoints: {\n url: 'The origin URL to discover endpoints on (e.g. https://stableenrich.dev)',\n includeGuidance:\n \"Request the origin's usage guidance. true=always include, false=never include, omit=auto (included when compact). Guidance explains how to compose multiple endpoints and covers edge cases.\",\n },\n\n reportError: {\n tool: 'MCP tool name',\n resource: 'Resource URL',\n summary: '1-2 sentence summary',\n errorMessage: 'Error message',\n stack: 'Stack trace',\n fullReport: 'Detailed report with context, logs, repro steps',\n output: {\n reportId: 'Unique report ID for tracking',\n message: 'Confirmation message',\n },\n },\n} as const;\n"],"mappings":"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","names":[]}