agentcash 0.9.2 → 0.9.3

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 (62) hide show
  1. package/dist/cjs/run-server.cjs +327 -317
  2. package/dist/esm/{chunk-CM6NIM6K.js → chunk-I5GPG6M6.js} +4 -2
  3. package/dist/esm/chunk-I5GPG6M6.js.map +1 -0
  4. package/dist/esm/{chunk-6FEDQ4HI.js → chunk-I64SAKMT.js} +6 -3
  5. package/dist/esm/chunk-I64SAKMT.js.map +1 -0
  6. package/dist/esm/chunk-JPUCBTWC.js +79 -0
  7. package/dist/esm/chunk-JPUCBTWC.js.map +1 -0
  8. package/dist/esm/{chunk-G3AVBW3H.js → chunk-LOKWX2HK.js} +36 -13
  9. package/dist/esm/chunk-LOKWX2HK.js.map +1 -0
  10. package/dist/esm/{chunk-PGMMXO5J.js → chunk-LUWOAFE2.js} +18 -18
  11. package/dist/esm/chunk-LUWOAFE2.js.map +1 -0
  12. package/dist/esm/{chunk-6ZASEAWN.js → chunk-RXSYAZUA.js} +2 -2
  13. package/dist/esm/{chunk-RAFN7MFS.js → chunk-UPEWVW6F.js} +22 -5
  14. package/dist/esm/chunk-UPEWVW6F.js.map +1 -0
  15. package/dist/esm/{chunk-CGFED7FU.js → chunk-X46IRIC5.js} +2 -2
  16. package/dist/esm/{chunk-ST5ITYIM.js → chunk-X6IKKHHP.js} +5 -4
  17. package/dist/esm/{chunk-ST5ITYIM.js.map → chunk-X6IKKHHP.js.map} +1 -1
  18. package/dist/esm/{chunk-G5IKWSIV.js → chunk-XADII4KF.js} +2 -2
  19. package/dist/esm/{chunk-U2I7LBH4.js → chunk-XGV3H2AG.js} +6 -3
  20. package/dist/esm/{chunk-U2I7LBH4.js.map → chunk-XGV3H2AG.js.map} +1 -1
  21. package/dist/esm/chunk-XZVPAEDA.js +7 -0
  22. package/dist/esm/{fetch-4X4N7TSG.js → fetch-WVBTB2ZC.js} +7 -7
  23. package/dist/esm/{fetch-auth-R54NXQBZ.js → fetch-auth-L43YZQKM.js} +4 -4
  24. package/dist/esm/{fund-WJNWLQWZ.js → fund-GDQGBL4O.js} +4 -4
  25. package/dist/esm/index.js +18 -18
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/{install-GB7Z3Y7Y.js → install-DSGVSQUA.js} +9 -8
  28. package/dist/esm/install-DSGVSQUA.js.map +1 -0
  29. package/dist/esm/{onboard-IOSC3DTG.js → onboard-6QKPAT4E.js} +13 -9
  30. package/dist/esm/onboard-6QKPAT4E.js.map +1 -0
  31. package/dist/esm/{report-error-CSI2EPQJ.js → report-error-4S3UZ6UV.js} +3 -3
  32. package/dist/esm/{server-EM2KLQJY.js → server-6VNA4WK6.js} +2 -2
  33. package/dist/esm/{server-QT37RZYD.js → server-DXRVE6YW.js} +21 -19
  34. package/dist/esm/server-DXRVE6YW.js.map +1 -0
  35. package/dist/esm/{settings-I7MPPOB7.js → settings-XQZYE7XS.js} +6 -6
  36. package/dist/esm/{try-2XWGGAAP.js → try-WPFY4KZL.js} +5 -5
  37. package/dist/esm/{wallet-3ZWXDQNE.js → wallet-2GMS734S.js} +9 -12
  38. package/dist/esm/wallet-2GMS734S.js.map +1 -0
  39. package/package.json +4 -4
  40. package/dist/esm/chunk-6FEDQ4HI.js.map +0 -1
  41. package/dist/esm/chunk-CM6NIM6K.js.map +0 -1
  42. package/dist/esm/chunk-G3AVBW3H.js.map +0 -1
  43. package/dist/esm/chunk-GQTOWVH6.js +0 -7
  44. package/dist/esm/chunk-PGMMXO5J.js.map +0 -1
  45. package/dist/esm/chunk-RAFN7MFS.js.map +0 -1
  46. package/dist/esm/chunk-UJO2BWV6.js +0 -112
  47. package/dist/esm/chunk-UJO2BWV6.js.map +0 -1
  48. package/dist/esm/install-GB7Z3Y7Y.js.map +0 -1
  49. package/dist/esm/onboard-IOSC3DTG.js.map +0 -1
  50. package/dist/esm/server-QT37RZYD.js.map +0 -1
  51. package/dist/esm/wallet-3ZWXDQNE.js.map +0 -1
  52. /package/dist/esm/{chunk-6ZASEAWN.js.map → chunk-RXSYAZUA.js.map} +0 -0
  53. /package/dist/esm/{chunk-CGFED7FU.js.map → chunk-X46IRIC5.js.map} +0 -0
  54. /package/dist/esm/{chunk-G5IKWSIV.js.map → chunk-XADII4KF.js.map} +0 -0
  55. /package/dist/esm/{chunk-GQTOWVH6.js.map → chunk-XZVPAEDA.js.map} +0 -0
  56. /package/dist/esm/{fetch-4X4N7TSG.js.map → fetch-WVBTB2ZC.js.map} +0 -0
  57. /package/dist/esm/{fetch-auth-R54NXQBZ.js.map → fetch-auth-L43YZQKM.js.map} +0 -0
  58. /package/dist/esm/{fund-WJNWLQWZ.js.map → fund-GDQGBL4O.js.map} +0 -0
  59. /package/dist/esm/{report-error-CSI2EPQJ.js.map → report-error-4S3UZ6UV.js.map} +0 -0
  60. /package/dist/esm/{server-EM2KLQJY.js.map → server-6VNA4WK6.js.map} +0 -0
  61. /package/dist/esm/{settings-I7MPPOB7.js.map → settings-XQZYE7XS.js.map} +0 -0
  62. /package/dist/esm/{try-2XWGGAAP.js.map → try-WPFY4KZL.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MCP_VERSION
3
- } from "./chunk-CGFED7FU.js";
3
+ } from "./chunk-X46IRIC5.js";
4
4
  import {
5
5
  getBaseUrl
6
6
  } from "./chunk-OKHBFFZP.js";
@@ -51,4 +51,4 @@ async function submitErrorReport(surface, input, address, dev) {
51
51
  export {
52
52
  submitErrorReport
53
53
  };
54
- //# sourceMappingURL=chunk-G5IKWSIV.js.map
54
+ //# sourceMappingURL=chunk-XADII4KF.js.map
@@ -1,7 +1,10 @@
1
1
  import {
2
2
  safeCreateSIWxPayload,
3
3
  safeGetPaymentRequired
4
- } from "./chunk-6FEDQ4HI.js";
4
+ } from "./chunk-I64SAKMT.js";
5
+ import {
6
+ networkToCaip2
7
+ } from "./chunk-LOKWX2HK.js";
5
8
  import {
6
9
  DEFAULT_USER_FETCH_TIMEOUT,
7
10
  fetchOk,
@@ -18,7 +21,7 @@ var getSiwxExtension = (extensions, paymentNetwork) => {
18
21
  return void 0;
19
22
  }
20
23
  const chain = siwx.supportedChains?.find(
21
- (c) => paymentNetwork ? c.chainId === paymentNetwork : c.chainId.startsWith("eip155:")
24
+ (c) => paymentNetwork ? c.chainId === networkToCaip2(paymentNetwork) : c.chainId.startsWith("eip155:")
22
25
  );
23
26
  return {
24
27
  ...siwx.info,
@@ -77,4 +80,4 @@ function createFetchWithAuth(options) {
77
80
  export {
78
81
  createFetchWithAuth
79
82
  };
80
- //# sourceMappingURL=chunk-U2I7LBH4.js.map
83
+ //# sourceMappingURL=chunk-XGV3H2AG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/operations/fetch-with-auth.ts","../../src/server/lib/x402-extensions.ts"],"sourcesContent":["import { encodeSIWxHeader } from '@x402/extensions/sign-in-with-x';\n\nimport {\n DEFAULT_USER_FETCH_TIMEOUT,\n fetchOk,\n safeFetch,\n} from '@/shared/neverthrow/fetch';\nimport {\n safeCreateSIWxPayload,\n safeGetPaymentRequired,\n} from '@/shared/protocols/x402';\nimport { getSiwxExtension } from '@/server/lib/x402-extensions';\n\nimport type { Wallets } from '@/wallet';\nimport type { Network } from '@agentcash/networks';\n\nexport type FetchWithAuthResult =\n | { outcome: 'response'; response: Response }\n | { outcome: 'no_siwx_extension' };\n\nexport interface FetchWithAuthOptions {\n surface: string;\n wallets: Wallets;\n timeout?: number;\n paymentNetwork?: Network;\n}\n\n/**\n * Create a fetch function with automatic SIWX (Sign-In With X) authentication.\n *\n * 1. Makes initial request\n * 2. If 402, parses for SIWX extension\n * 3. Creates signed wallet proof\n * 4. Retries with SIGN-IN-WITH-X header\n *\n * Returns a discriminated result:\n * - `outcome: 'response'` — a Response (authenticated or not), consumer handles ok/error\n * - `outcome: 'no_siwx_extension'` — 402 without SIWX, consumer decides how to present\n */\nexport function createFetchWithAuth(options: FetchWithAuthOptions) {\n const { surface, wallets, timeout = DEFAULT_USER_FETCH_TIMEOUT } = options;\n\n return async (request: Request) => {\n const retryRequest = request.clone();\n\n const firstResult = await safeFetch(surface, request, timeout);\n\n if (firstResult.isErr()) return firstResult;\n\n const firstResponse = firstResult.value;\n\n if (firstResponse.status !== 402) {\n return fetchOk<FetchWithAuthResult>({\n outcome: 'response',\n response: firstResponse,\n });\n }\n\n const paymentRequiredResult = await safeGetPaymentRequired(\n surface,\n firstResponse\n );\n\n if (paymentRequiredResult.isErr()) return paymentRequiredResult;\n\n const paymentRequired = paymentRequiredResult.value;\n const siwxExtension = getSiwxExtension(\n paymentRequired.extensions,\n options.paymentNetwork\n );\n\n if (!siwxExtension) {\n return fetchOk<FetchWithAuthResult>({\n outcome: 'no_siwx_extension',\n });\n }\n\n const payloadResult = await safeCreateSIWxPayload(\n surface,\n siwxExtension,\n wallets\n );\n\n if (payloadResult.isErr()) return payloadResult;\n\n const siwxHeader = encodeSIWxHeader(payloadResult.value);\n\n retryRequest.headers.set('SIGN-IN-WITH-X', siwxHeader);\n\n return (await safeFetch(surface, retryRequest, timeout)).andThen(response =>\n fetchOk<FetchWithAuthResult>({\n outcome: 'response',\n response,\n })\n );\n };\n}\n","import type { PaymentRequired } from '@x402/core/types';\nimport type { Network } from '@agentcash/networks';\nimport type {\n CompleteSIWxInfo,\n SIWxExtensionInfo,\n SupportedChain,\n} from '@x402/extensions/sign-in-with-x';\n\nexport const getSiwxExtension = (\n extensions: PaymentRequired['extensions'],\n paymentNetwork?: Network\n): CompleteSIWxInfo | undefined => {\n const siwx = extensions?.['sign-in-with-x'] as\n | { info?: SIWxExtensionInfo; supportedChains?: SupportedChain[] }\n | undefined;\n\n if (!siwx?.info) {\n return undefined;\n }\n\n const chain = siwx.supportedChains?.find(c =>\n paymentNetwork\n ? c.chainId === (paymentNetwork as string)\n : c.chainId.startsWith('eip155:')\n );\n\n return {\n ...siwx.info,\n chainId: chain?.chainId ?? 'eip155:8453',\n type: chain?.type ?? 'eip191',\n signatureScheme: chain?.signatureScheme,\n };\n};\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,wBAAwB;;;ACQ1B,IAAM,mBAAmB,CAC9B,YACA,mBACiC;AACjC,QAAM,OAAO,aAAa,gBAAgB;AAI1C,MAAI,CAAC,MAAM,MAAM;AACf,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,KAAK,iBAAiB;AAAA,IAAK,OACvC,iBACI,EAAE,YAAa,iBACf,EAAE,QAAQ,WAAW,SAAS;AAAA,EACpC;AAEA,SAAO;AAAA,IACL,GAAG,KAAK;AAAA,IACR,SAAS,OAAO,WAAW;AAAA,IAC3B,MAAM,OAAO,QAAQ;AAAA,IACrB,iBAAiB,OAAO;AAAA,EAC1B;AACF;;;ADOO,SAAS,oBAAoB,SAA+B;AACjE,QAAM,EAAE,SAAS,SAAS,UAAU,2BAA2B,IAAI;AAEnE,SAAO,OAAO,YAAqB;AACjC,UAAM,eAAe,QAAQ,MAAM;AAEnC,UAAM,cAAc,MAAM,UAAU,SAAS,SAAS,OAAO;AAE7D,QAAI,YAAY,MAAM,EAAG,QAAO;AAEhC,UAAM,gBAAgB,YAAY;AAElC,QAAI,cAAc,WAAW,KAAK;AAChC,aAAO,QAA6B;AAAA,QAClC,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAEA,UAAM,wBAAwB,MAAM;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAEA,QAAI,sBAAsB,MAAM,EAAG,QAAO;AAE1C,UAAM,kBAAkB,sBAAsB;AAC9C,UAAM,gBAAgB;AAAA,MACpB,gBAAgB;AAAA,MAChB,QAAQ;AAAA,IACV;AAEA,QAAI,CAAC,eAAe;AAClB,aAAO,QAA6B;AAAA,QAClC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,UAAM,gBAAgB,MAAM;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,cAAc,MAAM,EAAG,QAAO;AAElC,UAAM,aAAa,iBAAiB,cAAc,KAAK;AAEvD,iBAAa,QAAQ,IAAI,kBAAkB,UAAU;AAErD,YAAQ,MAAM,UAAU,SAAS,cAAc,OAAO,GAAG;AAAA,MAAQ,cAC/D,QAA6B;AAAA,QAC3B,SAAS;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/operations/fetch-with-auth.ts","../../src/server/lib/x402-extensions.ts"],"sourcesContent":["import { encodeSIWxHeader } from '@x402/extensions/sign-in-with-x';\n\nimport {\n DEFAULT_USER_FETCH_TIMEOUT,\n fetchOk,\n safeFetch,\n} from '@/shared/neverthrow/fetch';\nimport {\n safeCreateSIWxPayload,\n safeGetPaymentRequired,\n} from '@/shared/protocols/x402';\nimport { getSiwxExtension } from '@/server/lib/x402-extensions';\n\nimport type { Wallets } from '@/wallet';\nimport type { Network } from '@agentcash/networks';\n\nexport type FetchWithAuthResult =\n | { outcome: 'response'; response: Response }\n | { outcome: 'no_siwx_extension' };\n\nexport interface FetchWithAuthOptions {\n surface: string;\n wallets: Wallets;\n timeout?: number;\n paymentNetwork?: Network;\n}\n\n/**\n * Create a fetch function with automatic SIWX (Sign-In With X) authentication.\n *\n * 1. Makes initial request\n * 2. If 402, parses for SIWX extension\n * 3. Creates signed wallet proof\n * 4. Retries with SIGN-IN-WITH-X header\n *\n * Returns a discriminated result:\n * - `outcome: 'response'` — a Response (authenticated or not), consumer handles ok/error\n * - `outcome: 'no_siwx_extension'` — 402 without SIWX, consumer decides how to present\n */\nexport function createFetchWithAuth(options: FetchWithAuthOptions) {\n const { surface, wallets, timeout = DEFAULT_USER_FETCH_TIMEOUT } = options;\n\n return async (request: Request) => {\n const retryRequest = request.clone();\n\n const firstResult = await safeFetch(surface, request, timeout);\n\n if (firstResult.isErr()) return firstResult;\n\n const firstResponse = firstResult.value;\n\n if (firstResponse.status !== 402) {\n return fetchOk<FetchWithAuthResult>({\n outcome: 'response',\n response: firstResponse,\n });\n }\n\n const paymentRequiredResult = await safeGetPaymentRequired(\n surface,\n firstResponse\n );\n\n if (paymentRequiredResult.isErr()) return paymentRequiredResult;\n\n const paymentRequired = paymentRequiredResult.value;\n const siwxExtension = getSiwxExtension(\n paymentRequired.extensions,\n options.paymentNetwork\n );\n\n if (!siwxExtension) {\n return fetchOk<FetchWithAuthResult>({\n outcome: 'no_siwx_extension',\n });\n }\n\n const payloadResult = await safeCreateSIWxPayload(\n surface,\n siwxExtension,\n wallets\n );\n\n if (payloadResult.isErr()) return payloadResult;\n\n const siwxHeader = encodeSIWxHeader(payloadResult.value);\n\n retryRequest.headers.set('SIGN-IN-WITH-X', siwxHeader);\n\n return (await safeFetch(surface, retryRequest, timeout)).andThen(response =>\n fetchOk<FetchWithAuthResult>({\n outcome: 'response',\n response,\n })\n );\n };\n}\n","import type { PaymentRequired } from '@x402/core/types';\nimport { networkToCaip2, type Network } from '@agentcash/networks';\nimport type {\n CompleteSIWxInfo,\n SIWxExtensionInfo,\n SupportedChain,\n} from '@x402/extensions/sign-in-with-x';\n\nexport const getSiwxExtension = (\n extensions: PaymentRequired['extensions'],\n paymentNetwork?: Network\n): CompleteSIWxInfo | undefined => {\n const siwx = extensions?.['sign-in-with-x'] as\n | { info?: SIWxExtensionInfo; supportedChains?: SupportedChain[] }\n | undefined;\n\n if (!siwx?.info) {\n return undefined;\n }\n\n const chain = siwx.supportedChains?.find(c =>\n paymentNetwork\n ? c.chainId === networkToCaip2(paymentNetwork)\n : c.chainId.startsWith('eip155:')\n );\n\n return {\n ...siwx.info,\n chainId: chain?.chainId ?? 'eip155:8453',\n type: chain?.type ?? 'eip191',\n signatureScheme: chain?.signatureScheme,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,wBAAwB;;;ACQ1B,IAAM,mBAAmB,CAC9B,YACA,mBACiC;AACjC,QAAM,OAAO,aAAa,gBAAgB;AAI1C,MAAI,CAAC,MAAM,MAAM;AACf,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,KAAK,iBAAiB;AAAA,IAAK,OACvC,iBACI,EAAE,YAAY,eAAe,cAAc,IAC3C,EAAE,QAAQ,WAAW,SAAS;AAAA,EACpC;AAEA,SAAO;AAAA,IACL,GAAG,KAAK;AAAA,IACR,SAAS,OAAO,WAAW;AAAA,IAC3B,MAAM,OAAO,QAAQ;AAAA,IACrB,iBAAiB,OAAO;AAAA,EAC1B;AACF;;;ADOO,SAAS,oBAAoB,SAA+B;AACjE,QAAM,EAAE,SAAS,SAAS,UAAU,2BAA2B,IAAI;AAEnE,SAAO,OAAO,YAAqB;AACjC,UAAM,eAAe,QAAQ,MAAM;AAEnC,UAAM,cAAc,MAAM,UAAU,SAAS,SAAS,OAAO;AAE7D,QAAI,YAAY,MAAM,EAAG,QAAO;AAEhC,UAAM,gBAAgB,YAAY;AAElC,QAAI,cAAc,WAAW,KAAK;AAChC,aAAO,QAA6B;AAAA,QAClC,SAAS;AAAA,QACT,UAAU;AAAA,MACZ,CAAC;AAAA,IACH;AAEA,UAAM,wBAAwB,MAAM;AAAA,MAClC;AAAA,MACA;AAAA,IACF;AAEA,QAAI,sBAAsB,MAAM,EAAG,QAAO;AAE1C,UAAM,kBAAkB,sBAAsB;AAC9C,UAAM,gBAAgB;AAAA,MACpB,gBAAgB;AAAA,MAChB,QAAQ;AAAA,IACV;AAEA,QAAI,CAAC,eAAe;AAClB,aAAO,QAA6B;AAAA,QAClC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,UAAM,gBAAgB,MAAM;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAI,cAAc,MAAM,EAAG,QAAO;AAElC,UAAM,aAAa,iBAAiB,cAAc,KAAK;AAEvD,iBAAa,QAAQ,IAAI,kBAAkB,UAAU;AAErD,YAAQ,MAAM,UAAU,SAAS,cAAc,OAAO,GAAG;AAAA,MAAQ,cAC/D,QAA6B;AAAA,QAC3B,SAAS;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,7 @@
1
+ // src/shared/mpp-enabled.ts
2
+ var isMppEnabled = () => "0.9.3".includes("-mpp");
3
+
4
+ export {
5
+ isMppEnabled
6
+ };
7
+ //# sourceMappingURL=chunk-XZVPAEDA.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createFetchWithPayment
3
- } from "./chunk-PGMMXO5J.js";
3
+ } from "./chunk-LUWOAFE2.js";
4
4
  import {
5
5
  MCP_VERSION
6
- } from "./chunk-CGFED7FU.js";
7
- import "./chunk-6FEDQ4HI.js";
8
- import "./chunk-RAFN7MFS.js";
6
+ } from "./chunk-X46IRIC5.js";
7
+ import "./chunk-I64SAKMT.js";
8
+ import "./chunk-UPEWVW6F.js";
9
9
  import "./chunk-OKHBFFZP.js";
10
- import "./chunk-GQTOWVH6.js";
11
- import "./chunk-G3AVBW3H.js";
10
+ import "./chunk-XZVPAEDA.js";
11
+ import "./chunk-LOKWX2HK.js";
12
12
  import {
13
13
  getWalletOrExit,
14
14
  parseRequestInput
@@ -116,4 +116,4 @@ function extractJsonErrorMessage(body) {
116
116
  export {
117
117
  fetchCommand
118
118
  };
119
- //# sourceMappingURL=fetch-4X4N7TSG.js.map
119
+ //# sourceMappingURL=fetch-WVBTB2ZC.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createFetchWithAuth
3
- } from "./chunk-U2I7LBH4.js";
4
- import "./chunk-6FEDQ4HI.js";
5
- import "./chunk-G3AVBW3H.js";
3
+ } from "./chunk-XGV3H2AG.js";
4
+ import "./chunk-I64SAKMT.js";
5
+ import "./chunk-LOKWX2HK.js";
6
6
  import {
7
7
  getWalletOrExit,
8
8
  parseRequestInput
@@ -83,4 +83,4 @@ async function fetchAuthCommand(args, flags) {
83
83
  export {
84
84
  fetchAuthCommand
85
85
  };
86
- //# sourceMappingURL=fetch-auth-R54NXQBZ.js.map
86
+ //# sourceMappingURL=fetch-auth-L43YZQKM.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  promptDeposit
3
- } from "./chunk-ST5ITYIM.js";
3
+ } from "./chunk-X6IKKHHP.js";
4
4
  import "./chunk-DZNSJ2BA.js";
5
- import "./chunk-CM6NIM6K.js";
5
+ import "./chunk-I5GPG6M6.js";
6
6
  import "./chunk-6XGAIMNK.js";
7
7
  import "./chunk-OKHBFFZP.js";
8
- import "./chunk-G3AVBW3H.js";
8
+ import "./chunk-LOKWX2HK.js";
9
9
  import {
10
10
  getWallet
11
11
  } from "./chunk-4AS5OYMF.js";
@@ -37,4 +37,4 @@ var fundMcpServer = async (flags) => {
37
37
  export {
38
38
  fundMcpServer
39
39
  };
40
- //# sourceMappingURL=fund-WJNWLQWZ.js.map
40
+ //# sourceMappingURL=fund-GDQGBL4O.js.map
package/dist/esm/index.js CHANGED
@@ -5,11 +5,11 @@ import {
5
5
  } from "./chunk-O2AS5QAF.js";
6
6
  import {
7
7
  MCP_VERSION
8
- } from "./chunk-CGFED7FU.js";
8
+ } from "./chunk-X46IRIC5.js";
9
9
  import {
10
10
  isMppEnabled
11
- } from "./chunk-GQTOWVH6.js";
12
- import "./chunk-G3AVBW3H.js";
11
+ } from "./chunk-XZVPAEDA.js";
12
+ import "./chunk-LOKWX2HK.js";
13
13
  import {
14
14
  DESCRIPTIONS,
15
15
  buildServerInstructions
@@ -93,13 +93,13 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
93
93
  }).option("payment-network", {
94
94
  type: "string",
95
95
  description: "Payment network to use",
96
- choices: ["eip155:8453" /* BASE */, "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" /* SOLANA */]
96
+ choices: ["base" /* BASE */, "solana" /* SOLANA */]
97
97
  }).option("max-amount", {
98
98
  type: "number",
99
99
  description: "Maximum amount (USD) to pay per request. Aborts if the endpoint requests more. Defaults to $5."
100
100
  }).epilogue(DESCRIPTIONS.fetch.epilogue),
101
101
  async (args) => {
102
- const { fetchCommand } = await import("./fetch-4X4N7TSG.js");
102
+ const { fetchCommand } = await import("./fetch-WVBTB2ZC.js");
103
103
  await fetchCommand(
104
104
  {
105
105
  ...args,
@@ -133,10 +133,10 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
133
133
  }).option("payment-network", {
134
134
  type: "string",
135
135
  description: "Payment network to use",
136
- choices: ["eip155:8453" /* BASE */, "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" /* SOLANA */]
136
+ choices: ["base" /* BASE */, "solana" /* SOLANA */]
137
137
  }).epilogue(DESCRIPTIONS.fetchWithAuth.epilogue),
138
138
  async (args) => {
139
- const { fetchAuthCommand } = await import("./fetch-auth-R54NXQBZ.js");
139
+ const { fetchAuthCommand } = await import("./fetch-auth-L43YZQKM.js");
140
140
  await fetchAuthCommand(
141
141
  {
142
142
  url: args.url,
@@ -190,7 +190,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
190
190
  demandOption: true
191
191
  }),
192
192
  async (args) => {
193
- const { tryCommand } = await import("./try-2XWGGAAP.js");
193
+ const { tryCommand } = await import("./try-WPFY4KZL.js");
194
194
  await tryCommand({ url: args.url }, args);
195
195
  }
196
196
  ).command(
@@ -281,7 +281,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
281
281
  description: "The invite code to redeem (optional)"
282
282
  }),
283
283
  async (args) => {
284
- const { onboardCommand } = await import("./onboard-IOSC3DTG.js");
284
+ const { onboardCommand } = await import("./onboard-6QKPAT4E.js");
285
285
  await onboardCommand({ code: args.code ?? args.invite }, args);
286
286
  }
287
287
  ).command(
@@ -292,7 +292,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
292
292
  DESCRIPTIONS.getWalletInfo.cli,
293
293
  (yargs3) => yargs3,
294
294
  async (args) => {
295
- const { walletInfoCommand } = await import("./wallet-3ZWXDQNE.js");
295
+ const { walletInfoCommand } = await import("./wallet-2GMS734S.js");
296
296
  await walletInfoCommand({}, args);
297
297
  }
298
298
  ).command(
@@ -304,7 +304,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
304
304
  demandOption: true
305
305
  }),
306
306
  async (args) => {
307
- const { walletRedeemCommand } = await import("./wallet-3ZWXDQNE.js");
307
+ const { walletRedeemCommand } = await import("./wallet-2GMS734S.js");
308
308
  await walletRedeemCommand({ code: args.code }, args);
309
309
  }
310
310
  ).command(
@@ -312,7 +312,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
312
312
  "Get wallet address",
313
313
  (yargs3) => yargs3,
314
314
  async (args) => {
315
- const { walletAddressCommand } = await import("./wallet-3ZWXDQNE.js");
315
+ const { walletAddressCommand } = await import("./wallet-2GMS734S.js");
316
316
  await walletAddressCommand({}, args);
317
317
  }
318
318
  ).demandCommand(1, "You must specify a wallet subcommand").strict(),
@@ -326,7 +326,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
326
326
  "Show current settings",
327
327
  (yargs3) => yargs3,
328
328
  async (args) => {
329
- const { settingsGetCommand } = await import("./settings-I7MPPOB7.js");
329
+ const { settingsGetCommand } = await import("./settings-XQZYE7XS.js");
330
330
  settingsGetCommand({}, args);
331
331
  }
332
332
  ).command(
@@ -342,7 +342,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
342
342
  demandOption: true
343
343
  }),
344
344
  async (args) => {
345
- const { settingsSetCommand } = await import("./settings-I7MPPOB7.js");
345
+ const { settingsSetCommand } = await import("./settings-XQZYE7XS.js");
346
346
  settingsSetCommand({ key: args.key, value: args.value }, args);
347
347
  }
348
348
  ).demandCommand(1, "You must specify a settings subcommand").strict(),
@@ -374,7 +374,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
374
374
  description: "Detailed report with context and repro steps"
375
375
  }),
376
376
  async (args) => {
377
- const { reportErrorCommand } = await import("./report-error-CSI2EPQJ.js");
377
+ const { reportErrorCommand } = await import("./report-error-4S3UZ6UV.js");
378
378
  await reportErrorCommand(
379
379
  {
380
380
  tool: args.tool,
@@ -392,7 +392,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
392
392
  "Start the MCP server (default when no command specified)",
393
393
  (yargs2) => yargs2,
394
394
  async (args) => {
395
- const { serverCommand } = await import("./server-EM2KLQJY.js");
395
+ const { serverCommand } = await import("./server-6VNA4WK6.js");
396
396
  await serverCommand(args);
397
397
  }
398
398
  ).command(
@@ -405,7 +405,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
405
405
  default: isClaudeCode ? "claude-code" /* ClaudeCode */ : void 0
406
406
  }),
407
407
  async (args) => {
408
- const { installMcpServer } = await import("./install-GB7Z3Y7Y.js");
408
+ const { installMcpServer } = await import("./install-DSGVSQUA.js");
409
409
  await installMcpServer(args);
410
410
  }
411
411
  ).command(
@@ -413,7 +413,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
413
413
  "Open the funding page to add USDC to your wallet",
414
414
  (yargs2) => yargs2,
415
415
  async (args) => {
416
- const { fundMcpServer } = await import("./fund-WJNWLQWZ.js");
416
+ const { fundMcpServer } = await import("./fund-GDQGBL4O.js");
417
417
  await fundMcpServer(args);
418
418
  }
419
419
  ).example(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { Clients } from './cli/commands/install/clients';\nimport { isMppEnabled } from '@/shared/mpp-enabled';\nimport { MCP_VERSION } from '@/shared/version';\nimport { DESCRIPTIONS, buildServerInstructions } from '@/shared/descriptions';\nimport { loadUserOrigins } from '@/shared/user-origins';\nimport type { PaymentProtocol } from './shared/protocols/types';\nimport { Network } from '@agentcash/networks';\n\nconst isClaudeCode = Boolean(process.env.CLAUDECODE);\nconst defaultYes = isClaudeCode || Boolean(process.env.CI);\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 })\n .option('provider', {\n type: 'string',\n description: 'Provider to use for the MCP server',\n required: false,\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'],\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 yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to fetch',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: 'HTTP method',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n default: 'GET',\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .option('payment-method', {\n alias: 'p',\n type: 'string',\n description: 'Payment protocol to use',\n choices: isMppEnabled() ? ['x402', 'mpp', 'auto'] : ['x402', 'auto'],\n })\n .option('payment-network', {\n type: 'string',\n description: 'Payment network to use',\n choices: [Network.BASE, Network.SOLANA],\n })\n .option('max-amount', {\n type: 'number',\n description:\n 'Maximum amount (USD) to pay per request. Aborts if the endpoint requests more. Defaults to $5.',\n })\n .epilogue(DESCRIPTIONS.fetch.epilogue),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(\n {\n ...args,\n paymentMethod: args.paymentMethod as PaymentProtocol | undefined,\n paymentNetwork: args.paymentNetwork,\n },\n args\n );\n }\n )\n .command(\n 'fetch-auth <url>',\n DESCRIPTIONS.fetchWithAuth.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to fetch',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: 'HTTP method',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n default: 'GET',\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .option('payment-network', {\n type: 'string',\n description: 'Payment network to use',\n choices: [Network.BASE, Network.SOLANA],\n })\n .epilogue(DESCRIPTIONS.fetchWithAuth.epilogue),\n async args => {\n const { fetchAuthCommand } = await import('@/cli/commands/fetch-auth');\n await fetchAuthCommand(\n {\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n paymentNetwork: args.paymentNetwork,\n },\n args\n );\n }\n )\n .command(\n 'check <url>',\n DESCRIPTIONS.checkEndpointSchema.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to check',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description:\n 'HTTP method to check. If omitted, all methods declared in the spec are returned.',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),\n async args => {\n const { checkCommand } = await import('@/cli/commands/check');\n await checkCommand(\n {\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n },\n args\n );\n }\n )\n .command(\n 'try <url>',\n DESCRIPTIONS.try.cli,\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to explore',\n demandOption: true,\n }),\n async args => {\n const { tryCommand } = await import('@/cli/commands/try');\n await tryCommand({ url: args.url }, args);\n }\n )\n .command(\n 'discover <url>',\n DESCRIPTIONS.discoverApiEndpoints.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The origin URL to discover endpoints from',\n demandOption: true,\n })\n .option('include-guidance', {\n type: 'boolean',\n description:\n 'Guidance override: true=always include, false=never include, omitted=auto by threshold',\n })\n .epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),\n async args => {\n const { discoverCommand } = await import('@/cli/commands/discover');\n await discoverCommand(\n { url: args.url, includeGuidance: args.includeGuidance },\n args\n );\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({ url: args.url }, 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: 'The URL of the origin to add',\n demandOption: true,\n }),\n async args => {\n const { addSkillCommand } = await import('@/cli/commands/add-skill');\n await addSkillCommand({ url: args.url }, 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({ url: args.url }, 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 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 originsRemoveCommand({ url: args.url }, 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 '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({ code: args.code ?? args.invite }, args);\n }\n )\n .command(\n 'wallet',\n 'Wallet management commands',\n yargs =>\n yargs\n .command(\n 'info',\n DESCRIPTIONS.getWalletInfo.cli,\n yargs => yargs,\n async args => {\n const { walletInfoCommand } = await import('@/cli/commands/wallet');\n await walletInfoCommand({}, args);\n }\n )\n .command(\n 'redeem <code>',\n DESCRIPTIONS.redeemInvite.cli,\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: 'The invite code to redeem',\n demandOption: true,\n }),\n async args => {\n const { walletRedeemCommand } =\n await import('@/cli/commands/wallet');\n await walletRedeemCommand({ code: args.code }, args);\n }\n )\n .command(\n 'address',\n 'Get wallet address',\n yargs => yargs,\n async args => {\n const { walletAddressCommand } =\n await import('@/cli/commands/wallet');\n await walletAddressCommand({}, 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 '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 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 settingsSetCommand({ key: args.key, value: args.value }, 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: 'The tool/command that failed',\n demandOption: true,\n })\n .option('summary', {\n type: 'string',\n description: '1-2 sentence summary of the issue',\n demandOption: true,\n })\n .option('error-message', {\n type: 'string',\n description: 'The error message',\n demandOption: true,\n })\n .option('resource', {\n type: 'string',\n description: 'The x402 resource URL (if applicable)',\n })\n .option('stack', {\n type: 'string',\n description: 'Stack trace (if available)',\n })\n .option('full-report', {\n type: 'string',\n description: 'Detailed report with context and repro steps',\n }),\n async args => {\n const { reportErrorCommand } =\n await import('@/cli/commands/report-error');\n await reportErrorCommand(\n {\n tool: args.tool,\n summary: args.summary,\n errorMessage: args.errorMessage,\n resource: args.resource,\n stack: args.stack,\n fullReport: args.fullReport,\n },\n args\n );\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 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 wallet info', 'Get wallet balance')\n .example('$0 wallet redeem ABC123', 'Redeem invite code')\n .example('$0', 'Start MCP server (default)')\n .example('$0 install --client cursor', 'Install MCP for Cursor')\n .strict()\n .epilogue(buildServerInstructions(loadUserOrigins()))\n .help()\n .version(MCP_VERSION)\n .parseAsync()\n .catch(err => {\n // Output error in JSON format for agent consumption\n const response = {\n success: false,\n error: {\n code: 'GENERAL_ERROR',\n message: err instanceof Error ? err.message : String(err),\n surface: 'cli',\n cause: 'unknown',\n },\n };\n console.log(JSON.stringify(response, null, 2));\n process.exit(1);\n });\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,SAAS,eAAe;AASxB,IAAM,eAAe,QAAQ,QAAQ,IAAI,UAAU;AACnD,IAAM,aAAa,gBAAgB,QAAQ,QAAQ,IAAI,EAAE;AAEzD,KAAK,MAAM,QAAQ,QAAQ,IAAI,CAAC,EAC7B,WAAW,WAAW,EACtB,MAAM,wBAAwB,EAC9B,OAAO,OAAO;AAAA,EACb,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,EACA,OAAO,OAAO;AAAA,EACb,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS,aAAa,OAAO;AAC/B,CAAC,EACA,OAAO,aAAa;AAAA,EACnB,MAAM;AAAA,EACN,aACE;AAAA,EACF,UAAU;AACZ,CAAC,EACA,OAAO,YAAY;AAAA,EAClB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AACZ,CAAC,EACA,OAAO,UAAU;AAAA,EAChB,MAAM;AAAA,EACN,aACE;AAAA,EACF,SAAS,CAAC,QAAQ,QAAQ;AAC5B,CAAC,EACA,OAAO,SAAS;AAAA,EACf,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,OAAO,WAAW;AAAA,EACjB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,aAAa;AAAA,EACb,SAAS;AACX,CAAC,EACA,WAAW,OAAM,SAAQ;AAExB,MAAI,KAAK,SAAS;AAChB,UAAM,EAAE,oBAAoB,IAAI,MAAM,OAAO,uBAAmB;AAChE,wBAAoB,EAAE,SAAS,KAAK,CAAC;AAAA,EACvC;AACF,CAAC,EAIA;AAAA,EACC;AAAA,EACA,aAAa,MAAM;AAAA,EACnB,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,UAAU;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC,OAAO,QAAQ,OAAO,UAAU,OAAO;AAAA,IACjD,SAAS;AAAA,EACX,CAAC,EACA,OAAO,QAAQ;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,kBAAkB;AAAA,IACxB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,aAAa,IAAI,CAAC,QAAQ,OAAO,MAAM,IAAI,CAAC,QAAQ,MAAM;AAAA,EACrE,CAAC,EACA,OAAO,mBAAmB;AAAA,IACzB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,iFAA6B;AAAA,EACxC,CAAC,EACA,OAAO,cAAc;AAAA,IACpB,MAAM;AAAA,IACN,aACE;AAAA,EACJ,CAAC,EACA,SAAS,aAAa,MAAM,QAAQ;AAAA,EACzC,OAAM,SAAQ;AACZ,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAsB;AAC5D,UAAM;AAAA,MACJ;AAAA,QACE,GAAG;AAAA,QACH,eAAe,KAAK;AAAA,QACpB,gBAAgB,KAAK;AAAA,MACvB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,cAAc;AAAA,EAC3B,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,UAAU;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC,OAAO,QAAQ,OAAO,UAAU,OAAO;AAAA,IACjD,SAAS;AAAA,EACX,CAAC,EACA,OAAO,QAAQ;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,mBAAmB;AAAA,IACzB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,iFAA6B;AAAA,EACxC,CAAC,EACA,SAAS,aAAa,cAAc,QAAQ;AAAA,EACjD,OAAM,SAAQ;AACZ,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,0BAA2B;AACrE,UAAM;AAAA,MACJ;AAAA,QACE,KAAK,KAAK;AAAA,QACV,QAAQ,KAAK;AAAA,QACb,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,gBAAgB,KAAK;AAAA,MACvB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,oBAAoB;AAAA,EACjC,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,UAAU;AAAA,IAChB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aACE;AAAA,IACF,SAAS,CAAC,OAAO,QAAQ,OAAO,UAAU,OAAO;AAAA,EACnD,CAAC,EACA,OAAO,QAAQ;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,SAAS,aAAa,oBAAoB,QAAQ;AAAA,EACvD,OAAM,SAAQ;AACZ,UAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAsB;AAC5D,UAAM;AAAA,MACJ;AAAA,QACE,KAAK,KAAK;AAAA,QACV,QAAQ,KAAK;AAAA,QACb,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,MAChB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,IAAI;AAAA,EACjB,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,WAAW,IAAI,MAAM,OAAO,mBAAoB;AACxD,UAAM,WAAW,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;AAAA,EAC1C;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,qBAAqB;AAAA,EAClC,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,oBAAoB;AAAA,IAC1B,MAAM;AAAA,IACN,aACE;AAAA,EACJ,CAAC,EACA,SAAS,aAAa,qBAAqB,QAAQ;AAAA,EACxD,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,wBAAyB;AAClE,UAAM;AAAA,MACJ,EAAE,KAAK,KAAK,KAAK,iBAAiB,KAAK,gBAAgB;AAAA,MACvD;AAAA,IACF;AAAA,EACF;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,wBAAyB;AAClE,UAAM,gBAAgB,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;AAAA,EAC/C;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,IACtB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,gBAAgB,IAAI,MAAM,OAAO,yBAA0B;AACnE,UAAM,gBAAgB,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;AAAA,EAC/C;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,MACtB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,kBAAkB,IACxB,MAAM,OAAO,uBAAwB;AACvC,YAAM,kBAAkB,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;AAAA,IACjD;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,uBAAwB;AACvC,yBAAmB,CAAC,GAAG,IAAI;AAAA,IAC7B;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OAAM,WAAW,OAAO;AAAA,MACtB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,qBAAqB,IAC3B,MAAM,OAAO,uBAAwB;AACvC,2BAAqB,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;AAAA,IAC9C;AAAA,EACF,EACC,cAAc,GAAG,wCAAwC,EACzD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,WAAW,QAAQ;AAAA,IACvB,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,eAAe,IAAI,MAAM,OAAO,uBAAwB;AAChE,UAAM,eAAe,EAAE,MAAM,KAAK,QAAQ,KAAK,OAAO,GAAG,IAAI;AAAA,EAC/D;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA,aAAa,cAAc;AAAA,IAC3B,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,kBAAkB,IAAI,MAAM,OAAO,sBAAuB;AAClE,YAAM,kBAAkB,CAAC,GAAG,IAAI;AAAA,IAClC;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA,aAAa,aAAa;AAAA,IAC1B,CAAAA,WACEA,OAAM,WAAW,QAAQ;AAAA,MACvB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACH,OAAM,SAAQ;AACZ,YAAM,EAAE,oBAAoB,IAC1B,MAAM,OAAO,sBAAuB;AACtC,YAAM,oBAAoB,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI;AAAA,IACrD;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,qBAAqB,IAC3B,MAAM,OAAO,sBAAuB;AACtC,YAAM,qBAAqB,CAAC,GAAG,IAAI;AAAA,IACrC;AAAA,EACF,EACC,cAAc,GAAG,sCAAsC,EACvD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OACG;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WAASA;AAAA,IACT,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,wBAAyB;AACxC,yBAAmB,CAAC,GAAG,IAAI;AAAA,IAC7B;AAAA,EACF,EACC;AAAA,IACC;AAAA,IACA;AAAA,IACA,CAAAA,WACEA,OACG,WAAW,OAAO;AAAA,MACjB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC,EACA,WAAW,SAAS;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB,CAAC;AAAA,IACL,OAAM,SAAQ;AACZ,YAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,wBAAyB;AACxC,yBAAmB,EAAE,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM,GAAG,IAAI;AAAA,IAC/D;AAAA,EACF,EACC,cAAc,GAAG,wCAAwC,EACzD,OAAO;AAAA,EACZ,MAAM;AAAA,EAEN;AACF,EACC;AAAA,EACC;AAAA,EACA,aAAa,YAAY;AAAA,EACzB,CAAAA,WACEA,OACG,OAAO,QAAQ;AAAA,IACd,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,WAAW;AAAA,IACjB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,iBAAiB;AAAA,IACvB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,cAAc;AAAA,EAChB,CAAC,EACA,OAAO,YAAY;AAAA,IAClB,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,SAAS;AAAA,IACf,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC,EACA,OAAO,eAAe;AAAA,IACrB,MAAM;AAAA,IACN,aAAa;AAAA,EACf,CAAC;AAAA,EACL,OAAM,SAAQ;AACZ,UAAM,EAAE,mBAAmB,IACzB,MAAM,OAAO,4BAA6B;AAC5C,UAAM;AAAA,MACJ;AAAA,QACE,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,cAAc,KAAK;AAAA,QACnB,UAAU,KAAK;AAAA,QACf,OAAO,KAAK;AAAA,QACZ,YAAY,KAAK;AAAA,MACnB;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF,EAIC;AAAA,EACC,CAAC,MAAM,QAAQ;AAAA,EACf;AAAA,EACA,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,sBAAuB;AAC9D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WACEA,OAAM,OAAO,UAAU;AAAA,IACrB,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,IACV,SAAS,gDAAoC;AAAA,EAC/C,CAAC;AAAA,EACH,OAAM,SAAQ;AACZ,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,uBAAwB;AAClE,UAAM,iBAAiB,IAAI;AAAA,EAC7B;AACF,EACC;AAAA,EACC;AAAA,EACA;AAAA,EACA,CAAAA,WAASA;AAAA,EACT,OAAM,SAAQ;AACZ,UAAM,EAAE,cAAc,IAAI,MAAM,OAAO,oBAAqB;AAC5D,UAAM,cAAc,IAAI;AAAA,EAC1B;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC;AAAA,EACC;AAAA,EACA;AACF,EACC,QAAQ,kBAAkB,oBAAoB,EAC9C,QAAQ,2BAA2B,oBAAoB,EACvD,QAAQ,MAAM,4BAA4B,EAC1C,QAAQ,8BAA8B,wBAAwB,EAC9D,OAAO,EACP,SAAS,wBAAwB,gBAAgB,CAAC,CAAC,EACnD,KAAK,EACL,QAAQ,WAAW,EACnB,WAAW,EACX,MAAM,SAAO;AAEZ,QAAM,WAAW;AAAA,IACf,SAAS;AAAA,IACT,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,MACxD,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AACA,UAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAC7C,UAAQ,KAAK,CAAC;AAChB,CAAC;","names":["yargs"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport yargs from 'yargs';\nimport { hideBin } from 'yargs/helpers';\nimport { Clients } from './cli/commands/install/clients';\nimport { isMppEnabled } from '@/shared/mpp-enabled';\nimport { MCP_VERSION } from '@/shared/version';\nimport { DESCRIPTIONS, buildServerInstructions } from '@/shared/descriptions';\nimport { loadUserOrigins } from '@/shared/user-origins';\nimport type { PaymentProtocol } from './shared/protocols/types';\nimport { Network } from '@agentcash/networks';\n\nconst isClaudeCode = Boolean(process.env.CLAUDECODE);\nconst defaultYes = isClaudeCode || Boolean(process.env.CI);\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 })\n .option('provider', {\n type: 'string',\n description: 'Provider to use for the MCP server',\n required: false,\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'],\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 yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to fetch',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: 'HTTP method',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n default: 'GET',\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .option('payment-method', {\n alias: 'p',\n type: 'string',\n description: 'Payment protocol to use',\n choices: isMppEnabled() ? ['x402', 'mpp', 'auto'] : ['x402', 'auto'],\n })\n .option('payment-network', {\n type: 'string',\n description: 'Payment network to use',\n choices: [Network.BASE, Network.SOLANA],\n })\n .option('max-amount', {\n type: 'number',\n description:\n 'Maximum amount (USD) to pay per request. Aborts if the endpoint requests more. Defaults to $5.',\n })\n .epilogue(DESCRIPTIONS.fetch.epilogue),\n async args => {\n const { fetchCommand } = await import('@/cli/commands/fetch');\n await fetchCommand(\n {\n ...args,\n paymentMethod: args.paymentMethod as PaymentProtocol | undefined,\n paymentNetwork: args.paymentNetwork,\n },\n args\n );\n }\n )\n .command(\n 'fetch-auth <url>',\n DESCRIPTIONS.fetchWithAuth.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to fetch',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description: 'HTTP method',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n default: 'GET',\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .option('payment-network', {\n type: 'string',\n description: 'Payment network to use',\n choices: [Network.BASE, Network.SOLANA],\n })\n .epilogue(DESCRIPTIONS.fetchWithAuth.epilogue),\n async args => {\n const { fetchAuthCommand } = await import('@/cli/commands/fetch-auth');\n await fetchAuthCommand(\n {\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n paymentNetwork: args.paymentNetwork,\n },\n args\n );\n }\n )\n .command(\n 'check <url>',\n DESCRIPTIONS.checkEndpointSchema.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The endpoint URL to check',\n demandOption: true,\n })\n .option('method', {\n alias: 'm',\n type: 'string',\n description:\n 'HTTP method to check. If omitted, all methods declared in the spec are returned.',\n choices: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],\n })\n .option('body', {\n alias: 'b',\n type: 'string',\n description: 'Request body as JSON string',\n })\n .option('headers', {\n alias: 'H',\n type: 'string',\n description: 'Additional headers as JSON object',\n })\n .epilogue(DESCRIPTIONS.checkEndpointSchema.epilogue),\n async args => {\n const { checkCommand } = await import('@/cli/commands/check');\n await checkCommand(\n {\n url: args.url,\n method: args.method,\n body: args.body,\n headers: args.headers,\n },\n args\n );\n }\n )\n .command(\n 'try <url>',\n DESCRIPTIONS.try.cli,\n yargs =>\n yargs.positional('url', {\n type: 'string',\n description: 'The origin URL to explore',\n demandOption: true,\n }),\n async args => {\n const { tryCommand } = await import('@/cli/commands/try');\n await tryCommand({ url: args.url }, args);\n }\n )\n .command(\n 'discover <url>',\n DESCRIPTIONS.discoverApiEndpoints.cli,\n yargs =>\n yargs\n .positional('url', {\n type: 'string',\n description: 'The origin URL to discover endpoints from',\n demandOption: true,\n })\n .option('include-guidance', {\n type: 'boolean',\n description:\n 'Guidance override: true=always include, false=never include, omitted=auto by threshold',\n })\n .epilogue(DESCRIPTIONS.discoverApiEndpoints.epilogue),\n async args => {\n const { discoverCommand } = await import('@/cli/commands/discover');\n await discoverCommand(\n { url: args.url, includeGuidance: args.includeGuidance },\n args\n );\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({ url: args.url }, 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: 'The URL of the origin to add',\n demandOption: true,\n }),\n async args => {\n const { addSkillCommand } = await import('@/cli/commands/add-skill');\n await addSkillCommand({ url: args.url }, 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({ url: args.url }, 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 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 originsRemoveCommand({ url: args.url }, 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 '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({ code: args.code ?? args.invite }, args);\n }\n )\n .command(\n 'wallet',\n 'Wallet management commands',\n yargs =>\n yargs\n .command(\n 'info',\n DESCRIPTIONS.getWalletInfo.cli,\n yargs => yargs,\n async args => {\n const { walletInfoCommand } = await import('@/cli/commands/wallet');\n await walletInfoCommand({}, args);\n }\n )\n .command(\n 'redeem <code>',\n DESCRIPTIONS.redeemInvite.cli,\n yargs =>\n yargs.positional('code', {\n type: 'string',\n description: 'The invite code to redeem',\n demandOption: true,\n }),\n async args => {\n const { walletRedeemCommand } =\n await import('@/cli/commands/wallet');\n await walletRedeemCommand({ code: args.code }, args);\n }\n )\n .command(\n 'address',\n 'Get wallet address',\n yargs => yargs,\n async args => {\n const { walletAddressCommand } =\n await import('@/cli/commands/wallet');\n await walletAddressCommand({}, 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 '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 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 settingsSetCommand({ key: args.key, value: args.value }, 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: 'The tool/command that failed',\n demandOption: true,\n })\n .option('summary', {\n type: 'string',\n description: '1-2 sentence summary of the issue',\n demandOption: true,\n })\n .option('error-message', {\n type: 'string',\n description: 'The error message',\n demandOption: true,\n })\n .option('resource', {\n type: 'string',\n description: 'The x402 resource URL (if applicable)',\n })\n .option('stack', {\n type: 'string',\n description: 'Stack trace (if available)',\n })\n .option('full-report', {\n type: 'string',\n description: 'Detailed report with context and repro steps',\n }),\n async args => {\n const { reportErrorCommand } =\n await import('@/cli/commands/report-error');\n await reportErrorCommand(\n {\n tool: args.tool,\n summary: args.summary,\n errorMessage: args.errorMessage,\n resource: args.resource,\n stack: args.stack,\n fullReport: args.fullReport,\n },\n args\n );\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 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 wallet info', 'Get wallet balance')\n .example('$0 wallet 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,26 +1,26 @@
1
1
  import {
2
2
  promptDeposit
3
- } from "./chunk-ST5ITYIM.js";
3
+ } from "./chunk-X6IKKHHP.js";
4
4
  import {
5
5
  addServer
6
- } from "./chunk-6ZASEAWN.js";
6
+ } from "./chunk-RXSYAZUA.js";
7
7
  import {
8
8
  wait
9
9
  } from "./chunk-DZNSJ2BA.js";
10
10
  import {
11
11
  redeemInviteCode
12
- } from "./chunk-CM6NIM6K.js";
12
+ } from "./chunk-I5GPG6M6.js";
13
13
  import {
14
14
  Clients,
15
15
  clientMetadata
16
16
  } from "./chunk-RBEVKU3U.js";
17
- import "./chunk-CGFED7FU.js";
17
+ import "./chunk-X46IRIC5.js";
18
18
  import "./chunk-6XGAIMNK.js";
19
19
  import {
20
20
  getBalance
21
- } from "./chunk-RAFN7MFS.js";
21
+ } from "./chunk-UPEWVW6F.js";
22
22
  import "./chunk-OKHBFFZP.js";
23
- import "./chunk-G3AVBW3H.js";
23
+ import "./chunk-LOKWX2HK.js";
24
24
  import {
25
25
  getWallet
26
26
  } from "./chunk-4AS5OYMF.js";
@@ -136,7 +136,7 @@ var addFunds = async ({ flags, wallets, isNew }) => {
136
136
  "add-funds",
137
137
  {
138
138
  address: wallets.evmAccount.account.address,
139
- network: "eip155:8453" /* BASE */
139
+ network: "base" /* BASE */
140
140
  },
141
141
  flags
142
142
  );
@@ -173,6 +173,7 @@ var installMcpServer = async (flags) => {
173
173
  {
174
174
  code: flags.invite,
175
175
  address: walletResult.value.evmAccount.account.address,
176
+ solanaAddr: walletResult.value.svmAccount.account.address,
176
177
  surface: "install"
177
178
  },
178
179
  flags
@@ -189,4 +190,4 @@ var installMcpServer = async (flags) => {
189
190
  export {
190
191
  installMcpServer
191
192
  };
192
- //# sourceMappingURL=install-GB7Z3Y7Y.js.map
193
+ //# sourceMappingURL=install-DSGVSQUA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cli/commands/install/index.ts","../../src/cli/commands/install/1-get-client/index.ts","../../src/cli/commands/install/3-redeem-invite/index.ts","../../src/cli/commands/install/4-add-funds/index.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { intro, outro } from '@clack/prompts';\n\nimport { log } from '@/shared/log';\n\nimport { getClient } from './1-get-client';\nimport { addServer } from './2-add-server';\nimport { redeemInviteCode } from './3-redeem-invite';\nimport { addFunds } from './4-add-funds';\n\nimport type { Command, GlobalFlags } from '@/types';\nimport { getWallet } from '@/wallet';\n\nexport type InstallFlags = GlobalFlags<{\n client?: string;\n}>;\n\nexport const installMcpServer: Command<InstallFlags> = async flags => {\n intro(chalk.green.bold(`Install agentcash MCP`));\n\n const walletResult = await getWallet();\n\n if (walletResult.isErr()) {\n log.error(JSON.stringify(walletResult.error, null, 2));\n outro(chalk.bold.red('Failed to get wallet'));\n process.exit(1);\n }\n\n const client = await getClient(flags);\n\n await addServer(client, flags);\n\n const inviteRedeemed = flags.invite\n ? await redeemInviteCode(\n {\n code: flags.invite,\n address: walletResult.value.evmAccount.account.address,\n solanaAddr: walletResult.value.svmAccount.account.address,\n surface: 'install',\n },\n flags\n )\n : false;\n\n if (!inviteRedeemed) {\n await addFunds({\n flags,\n wallets: walletResult.value,\n isNew: walletResult.value.evmAccount.isNew,\n });\n }\n\n outro(chalk.bold.green('Your agentcash MCP server is ready to use!'));\n};\n","import z from 'zod';\n\nimport { select, log, outro } from '@clack/prompts';\n\nimport chalk from 'chalk';\n\nimport { clientMetadata, Clients } from '../clients';\n\nimport type { InstallFlags } from '..';\n\nexport const getClient = async ({ client: flagClient, yes }: InstallFlags) => {\n if (yes) {\n if (!flagClient) {\n throw new Error(\n `Client is required when yes is true. Pass --client as one of these values: ${Object.values(Clients).join(', ')}`\n );\n }\n const parsedClient = z.enum(Clients).safeParse(flagClient);\n if (!parsedClient.success) {\n throw new Error(\n `${flagClient} is not a valid client. Valid options are: ${Object.values(Clients).join(', ')}`\n );\n }\n return parsedClient.data;\n }\n const parsedClient = z.enum(Clients).safeParse(flagClient);\n if (parsedClient.success) {\n return parsedClient.data;\n }\n if (flagClient) {\n log.error(`${flagClient} is not a valid client. Please select a client`);\n }\n const client = await select({\n message: 'Where would you like to install the agentcash MCP server?',\n options: Object.values(Clients).map(client => {\n const metadata = clientMetadata[client];\n return {\n label: metadata.name,\n value: client,\n };\n }),\n maxItems: 7,\n });\n\n const parsedClientSelection = z.enum(Clients).safeParse(client);\n if (parsedClientSelection.success) {\n return parsedClientSelection.data;\n }\n outro(chalk.bold.red('No MCP client selected'));\n process.exit(0);\n};\n","import chalk from 'chalk';\nimport { log, spinner } from '@clack/prompts';\n\nimport { wait } from '@/cli/lib/wait';\n\nimport { redeemInviteCode as redeemInviteCodeLib } from '@/shared/redeem-invite';\n\nimport type { RedeemInviteProps } from '@/shared/redeem-invite';\nimport type { GlobalFlags } from '@/types';\n\nexport const redeemInviteCode = async (\n props: RedeemInviteProps,\n flags: GlobalFlags\n) => {\n const s = spinner();\n\n if (!flags.yes) {\n s.start('Redeeming invite code...');\n }\n\n const result = await redeemInviteCodeLib({ ...props, dev: flags.dev });\n\n return result.match(\n async ({ amount, txHash }) => {\n if (!flags.yes) {\n s.stop('Invite code redeemed successfully!');\n\n await wait({\n startText: 'Processing...',\n stopText: chalk.green(\n `${chalk.bold(amount)} USDC has been sent to your wallet!`\n ),\n ms: 1000,\n });\n }\n\n log.info(chalk.dim(`Transaction: https://basescan.org/tx/${txHash}`));\n\n return true;\n },\n error => {\n if (!flags.yes) {\n s.stop('Invite code redemption failed');\n }\n log.warning(\n chalk.yellow(`Failed to redeem invite code: ${error.message}`)\n );\n return false;\n }\n );\n};\n","import chalk from 'chalk';\nimport { log, spinner } from '@clack/prompts';\n\nimport { getBalance } from '@/shared/balance';\nimport { promptDeposit } from '@/cli/lib/deposit';\n\nimport { Network } from '@agentcash/networks';\n\nimport type { InstallFlags } from '..';\nimport type { Wallets } from '@/wallet';\n\ninterface AddFundsProps {\n flags: InstallFlags;\n wallets: Wallets;\n isNew: boolean;\n}\n\nexport const addFunds = async ({ flags, wallets, isNew }: AddFundsProps) => {\n if (isNew) {\n if (!flags.yes) {\n await new Promise(resolve => setTimeout(resolve, 1000));\n }\n log.info('To use paid API tools, you will need USDC in your wallet.');\n await promptDeposit({ wallets, flags, surface: 'add-funds' });\n } else {\n const { start, stop } = spinner();\n\n start('Checking balance...');\n const balanceResult = await getBalance(\n 'add-funds',\n {\n address: wallets.evmAccount.account.address,\n network: Network.BASE,\n },\n flags\n );\n\n if (balanceResult.isOk()) {\n stop(`Balance: ${chalk.bold(`${balanceResult.value.balance} USDC`)} `);\n } else {\n stop(`Error: ${balanceResult.error.message}`);\n return;\n }\n\n const balance = balanceResult.value;\n if (balance.balance < 1) {\n log.warning(\n chalk.bold(\n `Your balance is low (${balance.balance} USDC). Consider topping up.`\n )\n );\n await promptDeposit({ wallets, flags, surface: 'install' });\n }\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,YAAW;AAClB,SAAS,OAAO,SAAAC,cAAa;;;ACD7B,OAAO,OAAO;AAEd,SAAS,QAAQ,OAAAC,MAAK,aAAa;AAEnC,OAAO,WAAW;AAMX,IAAM,YAAY,OAAO,EAAE,QAAQ,YAAY,IAAI,MAAoB;AAC5E,MAAI,KAAK;AACP,QAAI,CAAC,YAAY;AACf,YAAM,IAAI;AAAA,QACR,8EAA8E,OAAO,OAAO,OAAO,EAAE,KAAK,IAAI,CAAC;AAAA,MACjH;AAAA,IACF;AACA,UAAMC,gBAAe,EAAE,KAAK,OAAO,EAAE,UAAU,UAAU;AACzD,QAAI,CAACA,cAAa,SAAS;AACzB,YAAM,IAAI;AAAA,QACR,GAAG,UAAU,8CAA8C,OAAO,OAAO,OAAO,EAAE,KAAK,IAAI,CAAC;AAAA,MAC9F;AAAA,IACF;AACA,WAAOA,cAAa;AAAA,EACtB;AACA,QAAM,eAAe,EAAE,KAAK,OAAO,EAAE,UAAU,UAAU;AACzD,MAAI,aAAa,SAAS;AACxB,WAAO,aAAa;AAAA,EACtB;AACA,MAAI,YAAY;AACd,IAAAC,KAAI,MAAM,GAAG,UAAU,gDAAgD;AAAA,EACzE;AACA,QAAM,SAAS,MAAM,OAAO;AAAA,IAC1B,SAAS;AAAA,IACT,SAAS,OAAO,OAAO,OAAO,EAAE,IAAI,CAAAC,YAAU;AAC5C,YAAM,WAAW,eAAeA,OAAM;AACtC,aAAO;AAAA,QACL,OAAO,SAAS;AAAA,QAChB,OAAOA;AAAA,MACT;AAAA,IACF,CAAC;AAAA,IACD,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,wBAAwB,EAAE,KAAK,OAAO,EAAE,UAAU,MAAM;AAC9D,MAAI,sBAAsB,SAAS;AACjC,WAAO,sBAAsB;AAAA,EAC/B;AACA,QAAM,MAAM,KAAK,IAAI,wBAAwB,CAAC;AAC9C,UAAQ,KAAK,CAAC;AAChB;;;AClDA,OAAOC,YAAW;AAClB,SAAS,OAAAC,MAAK,eAAe;AAStB,IAAMC,oBAAmB,OAC9B,OACA,UACG;AACH,QAAM,IAAI,QAAQ;AAElB,MAAI,CAAC,MAAM,KAAK;AACd,MAAE,MAAM,0BAA0B;AAAA,EACpC;AAEA,QAAM,SAAS,MAAM,iBAAoB,EAAE,GAAG,OAAO,KAAK,MAAM,IAAI,CAAC;AAErE,SAAO,OAAO;AAAA,IACZ,OAAO,EAAE,QAAQ,OAAO,MAAM;AAC5B,UAAI,CAAC,MAAM,KAAK;AACd,UAAE,KAAK,oCAAoC;AAE3C,cAAM,KAAK;AAAA,UACT,WAAW;AAAA,UACX,UAAUC,OAAM;AAAA,YACd,GAAGA,OAAM,KAAK,MAAM,CAAC;AAAA,UACvB;AAAA,UACA,IAAI;AAAA,QACN,CAAC;AAAA,MACH;AAEA,MAAAC,KAAI,KAAKD,OAAM,IAAI,wCAAwC,MAAM,EAAE,CAAC;AAEpE,aAAO;AAAA,IACT;AAAA,IACA,WAAS;AACP,UAAI,CAAC,MAAM,KAAK;AACd,UAAE,KAAK,+BAA+B;AAAA,MACxC;AACA,MAAAC,KAAI;AAAA,QACFD,OAAM,OAAO,iCAAiC,MAAM,OAAO,EAAE;AAAA,MAC/D;AACA,aAAO;AAAA,IACT;AAAA,EACF;AACF;;;AClDA,OAAOE,YAAW;AAClB,SAAS,OAAAC,MAAK,WAAAC,gBAAe;AAgBtB,IAAM,WAAW,OAAO,EAAE,OAAO,SAAS,MAAM,MAAqB;AAC1E,MAAI,OAAO;AACT,QAAI,CAAC,MAAM,KAAK;AACd,YAAM,IAAI,QAAQ,aAAW,WAAW,SAAS,GAAI,CAAC;AAAA,IACxD;AACA,IAAAC,KAAI,KAAK,2DAA2D;AACpE,UAAM,cAAc,EAAE,SAAS,OAAO,SAAS,YAAY,CAAC;AAAA,EAC9D,OAAO;AACL,UAAM,EAAE,OAAO,KAAK,IAAIC,SAAQ;AAEhC,UAAM,qBAAqB;AAC3B,UAAM,gBAAgB,MAAM;AAAA,MAC1B;AAAA,MACA;AAAA,QACE,SAAS,QAAQ,WAAW,QAAQ;AAAA,QACpC;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAEA,QAAI,cAAc,KAAK,GAAG;AACxB,WAAK,YAAYC,OAAM,KAAK,GAAG,cAAc,MAAM,OAAO,OAAO,CAAC,GAAG;AAAA,IACvE,OAAO;AACL,WAAK,UAAU,cAAc,MAAM,OAAO,EAAE;AAC5C;AAAA,IACF;AAEA,UAAM,UAAU,cAAc;AAC9B,QAAI,QAAQ,UAAU,GAAG;AACvB,MAAAF,KAAI;AAAA,QACFE,OAAM;AAAA,UACJ,wBAAwB,QAAQ,OAAO;AAAA,QACzC;AAAA,MACF;AACA,YAAM,cAAc,EAAE,SAAS,OAAO,SAAS,UAAU,CAAC;AAAA,IAC5D;AAAA,EACF;AACF;;;AHrCO,IAAM,mBAA0C,OAAM,UAAS;AACpE,QAAMC,OAAM,MAAM,KAAK,uBAAuB,CAAC;AAE/C,QAAM,eAAe,MAAM,UAAU;AAErC,MAAI,aAAa,MAAM,GAAG;AACxB,QAAI,MAAM,KAAK,UAAU,aAAa,OAAO,MAAM,CAAC,CAAC;AACrD,IAAAC,OAAMD,OAAM,KAAK,IAAI,sBAAsB,CAAC;AAC5C,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,SAAS,MAAM,UAAU,KAAK;AAEpC,QAAM,UAAU,QAAQ,KAAK;AAE7B,QAAM,iBAAiB,MAAM,SACzB,MAAME;AAAA,IACJ;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,SAAS,aAAa,MAAM,WAAW,QAAQ;AAAA,MAC/C,YAAY,aAAa,MAAM,WAAW,QAAQ;AAAA,MAClD,SAAS;AAAA,IACX;AAAA,IACA;AAAA,EACF,IACA;AAEJ,MAAI,CAAC,gBAAgB;AACnB,UAAM,SAAS;AAAA,MACb;AAAA,MACA,SAAS,aAAa;AAAA,MACtB,OAAO,aAAa,MAAM,WAAW;AAAA,IACvC,CAAC;AAAA,EACH;AAEA,EAAAD,OAAMD,OAAM,KAAK,MAAM,4CAA4C,CAAC;AACtE;","names":["chalk","outro","log","parsedClient","log","client","chalk","log","redeemInviteCode","chalk","log","chalk","log","spinner","log","spinner","chalk","chalk","outro","redeemInviteCode"]}
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  getPlatformPath,
3
3
  tryAddServer
4
- } from "./chunk-6ZASEAWN.js";
4
+ } from "./chunk-RXSYAZUA.js";
5
5
  import "./chunk-DZNSJ2BA.js";
6
6
  import {
7
7
  redeemInviteCode
8
- } from "./chunk-CM6NIM6K.js";
8
+ } from "./chunk-I5GPG6M6.js";
9
9
  import "./chunk-RBEVKU3U.js";
10
- import "./chunk-CGFED7FU.js";
10
+ import "./chunk-X46IRIC5.js";
11
11
  import {
12
12
  getOnboardingCta,
13
13
  getWalletInfo
14
- } from "./chunk-UJO2BWV6.js";
14
+ } from "./chunk-JPUCBTWC.js";
15
15
  import "./chunk-6XGAIMNK.js";
16
- import "./chunk-RAFN7MFS.js";
16
+ import "./chunk-UPEWVW6F.js";
17
17
  import {
18
18
  getBaseUrl,
19
19
  getDepositLink
20
20
  } from "./chunk-OKHBFFZP.js";
21
- import "./chunk-GQTOWVH6.js";
22
- import "./chunk-G3AVBW3H.js";
21
+ import "./chunk-XZVPAEDA.js";
22
+ import "./chunk-LOKWX2HK.js";
23
23
  import {
24
24
  detect,
25
25
  installSkills
@@ -316,7 +316,7 @@ var formatSuccessOutput = (params) => {
316
316
  }
317
317
  if (params.wallet.chains && params.wallet.chains.length > 0) {
318
318
  lines.push(
319
- `Chain balances: ${params.wallet.chains.map((chain) => `${chain.chain} ${formatBalance(chain.balance)}`).join(", ")}`
319
+ `Chain balances: ${params.wallet.chains.map((chain) => `${chain.paymentNetwork} ${formatBalance(chain.balance)}`).join(", ")}`
320
320
  );
321
321
  }
322
322
  lines.push(formatDemoPromptsBlock(getBaseUrl(params.dev), params.prompts));
@@ -405,6 +405,9 @@ async function onboardCommand(args, flags) {
405
405
  const {
406
406
  evmAccount: {
407
407
  account: { address }
408
+ },
409
+ svmAccount: {
410
+ account: { address: solanaAddr }
408
411
  }
409
412
  } = walletResult.value;
410
413
  progress(flags, "Installing agentcash wallet skill...");
@@ -429,6 +432,7 @@ async function onboardCommand(args, flags) {
429
432
  progress(flags, "Redeeming invite code...");
430
433
  const redeemResult = await redeemInviteCode({
431
434
  address,
435
+ solanaAddr,
432
436
  code: args.code,
433
437
  dev: flags.dev,
434
438
  surface: SURFACE
@@ -565,4 +569,4 @@ async function onboardCommand(args, flags) {
565
569
  export {
566
570
  onboardCommand
567
571
  };
568
- //# sourceMappingURL=onboard-IOSC3DTG.js.map
572
+ //# sourceMappingURL=onboard-6QKPAT4E.js.map