agentcash 0.9.3 → 0.9.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 (54) hide show
  1. package/dist/cjs/run-server.cjs +15 -5
  2. package/dist/esm/{chunk-I64SAKMT.js → chunk-2BFBWXV7.js} +2 -2
  3. package/dist/esm/{chunk-X46IRIC5.js → chunk-2R5MUYWC.js} +2 -2
  4. package/dist/esm/{chunk-LOKWX2HK.js → chunk-62QNPANE.js} +8 -1
  5. package/dist/esm/{chunk-LOKWX2HK.js.map → chunk-62QNPANE.js.map} +1 -1
  6. package/dist/esm/{chunk-JPUCBTWC.js → chunk-6UCUS55L.js} +3 -3
  7. package/dist/esm/{chunk-X6IKKHHP.js → chunk-7KSWBPCM.js} +10 -6
  8. package/dist/esm/chunk-7KSWBPCM.js.map +1 -0
  9. package/dist/esm/{chunk-RXSYAZUA.js → chunk-IASQHCOJ.js} +2 -2
  10. package/dist/esm/{chunk-LUWOAFE2.js → chunk-NVXH4W4B.js} +5 -5
  11. package/dist/esm/{chunk-XADII4KF.js → chunk-PC2H2VMO.js} +2 -2
  12. package/dist/esm/chunk-QNGKSJMB.js +7 -0
  13. package/dist/esm/{chunk-UPEWVW6F.js → chunk-RKHABEUY.js} +2 -2
  14. package/dist/esm/{chunk-I5GPG6M6.js → chunk-WTIOX2O6.js} +3 -1
  15. package/dist/esm/chunk-WTIOX2O6.js.map +1 -0
  16. package/dist/esm/{chunk-XGV3H2AG.js → chunk-ZWNYMKSZ.js} +3 -3
  17. package/dist/esm/{fetch-WVBTB2ZC.js → fetch-3K4HJT3L.js} +7 -7
  18. package/dist/esm/{fetch-auth-L43YZQKM.js → fetch-auth-GYML7HTH.js} +4 -4
  19. package/dist/esm/{fund-GDQGBL4O.js → fund-JRGGUWPA.js} +4 -4
  20. package/dist/esm/index.js +16 -16
  21. package/dist/esm/{install-DSGVSQUA.js → install-PETWDHGW.js} +14 -9
  22. package/dist/esm/install-PETWDHGW.js.map +1 -0
  23. package/dist/esm/{onboard-6QKPAT4E.js → onboard-XY5OXO3P.js} +15 -33
  24. package/dist/esm/onboard-XY5OXO3P.js.map +1 -0
  25. package/dist/esm/{report-error-4S3UZ6UV.js → report-error-HDNKWLPW.js} +3 -3
  26. package/dist/esm/{server-6VNA4WK6.js → server-J3ECFD2W.js} +2 -2
  27. package/dist/esm/{server-DXRVE6YW.js → server-LN5CV7ZD.js} +17 -14
  28. package/dist/esm/{server-DXRVE6YW.js.map → server-LN5CV7ZD.js.map} +1 -1
  29. package/dist/esm/{settings-XQZYE7XS.js → settings-STCAUISU.js} +6 -6
  30. package/dist/esm/{try-WPFY4KZL.js → try-PQ2IKFAX.js} +5 -5
  31. package/dist/esm/{wallet-2GMS734S.js → wallet-XTCV3JW6.js} +6 -6
  32. package/package.json +5 -5
  33. package/dist/esm/chunk-I5GPG6M6.js.map +0 -1
  34. package/dist/esm/chunk-X6IKKHHP.js.map +0 -1
  35. package/dist/esm/chunk-XZVPAEDA.js +0 -7
  36. package/dist/esm/install-DSGVSQUA.js.map +0 -1
  37. package/dist/esm/onboard-6QKPAT4E.js.map +0 -1
  38. /package/dist/esm/{chunk-I64SAKMT.js.map → chunk-2BFBWXV7.js.map} +0 -0
  39. /package/dist/esm/{chunk-X46IRIC5.js.map → chunk-2R5MUYWC.js.map} +0 -0
  40. /package/dist/esm/{chunk-JPUCBTWC.js.map → chunk-6UCUS55L.js.map} +0 -0
  41. /package/dist/esm/{chunk-RXSYAZUA.js.map → chunk-IASQHCOJ.js.map} +0 -0
  42. /package/dist/esm/{chunk-LUWOAFE2.js.map → chunk-NVXH4W4B.js.map} +0 -0
  43. /package/dist/esm/{chunk-XADII4KF.js.map → chunk-PC2H2VMO.js.map} +0 -0
  44. /package/dist/esm/{chunk-XZVPAEDA.js.map → chunk-QNGKSJMB.js.map} +0 -0
  45. /package/dist/esm/{chunk-UPEWVW6F.js.map → chunk-RKHABEUY.js.map} +0 -0
  46. /package/dist/esm/{chunk-XGV3H2AG.js.map → chunk-ZWNYMKSZ.js.map} +0 -0
  47. /package/dist/esm/{fetch-WVBTB2ZC.js.map → fetch-3K4HJT3L.js.map} +0 -0
  48. /package/dist/esm/{fetch-auth-L43YZQKM.js.map → fetch-auth-GYML7HTH.js.map} +0 -0
  49. /package/dist/esm/{fund-GDQGBL4O.js.map → fund-JRGGUWPA.js.map} +0 -0
  50. /package/dist/esm/{report-error-4S3UZ6UV.js.map → report-error-HDNKWLPW.js.map} +0 -0
  51. /package/dist/esm/{server-6VNA4WK6.js.map → server-J3ECFD2W.js.map} +0 -0
  52. /package/dist/esm/{settings-XQZYE7XS.js.map → settings-STCAUISU.js.map} +0 -0
  53. /package/dist/esm/{try-WPFY4KZL.js.map → try-PQ2IKFAX.js.map} +0 -0
  54. /package/dist/esm/{wallet-2GMS734S.js.map → wallet-XTCV3JW6.js.map} +0 -0
@@ -95225,7 +95225,7 @@ var import_path2 = require("path");
95225
95225
  var import_url = require("url");
95226
95226
  function getVersion() {
95227
95227
  if (true) {
95228
- return "0.9.3";
95228
+ return "0.9.5";
95229
95229
  }
95230
95230
  const __dirname3 = (0, import_path2.dirname)((0, import_url.fileURLToPath)(importMetaUrl));
95231
95231
  const pkg2 = JSON.parse(
@@ -95378,7 +95378,7 @@ var isFetchError = (error48) => {
95378
95378
 
95379
95379
  // src/shared/mpp-enabled.ts
95380
95380
  init_cjs_shims();
95381
- var isMppEnabled = () => "0.9.3".includes("-mpp");
95381
+ var isMppEnabled = () => "0.9.5".includes("-mpp");
95382
95382
 
95383
95383
  // src/operations/fetch-with-payment.ts
95384
95384
  init_cjs_shims();
@@ -114669,6 +114669,11 @@ var networkToCaip2 = (network) => {
114669
114669
  }
114670
114670
  return EVM_CONFIGS[network].caip2;
114671
114671
  };
114672
+ var TX_EXPLORER_URLS = {
114673
+ ["base" /* BASE */]: "https://basescan.org/tx/",
114674
+ ["tempo" /* TEMPO */]: "https://testnet.tempo.xyz/tx/",
114675
+ ["solana" /* SOLANA */]: "https://solscan.io/tx/"
114676
+ };
114672
114677
  var caip2ToNetwork = (caip2) => {
114673
114678
  if (caip2 === SOLANA_CONFIG.caip2) {
114674
114679
  return "solana" /* SOLANA */;
@@ -122677,7 +122682,9 @@ init_cjs_shims();
122677
122682
  var redeemInviteResponseSchema = zod_default.object({
122678
122683
  redemptionId: zod_default.string(),
122679
122684
  txHash: zod_default.string(),
122685
+ solanaTxHash: zod_default.string().optional(),
122680
122686
  amount: zod_default.coerce.number(),
122687
+ network: zod_default.enum(["base", "solana"]).optional(),
122681
122688
  prompts: zod_default.array(
122682
122689
  zod_default.object({
122683
122690
  label: zod_default.string(),
@@ -122781,11 +122788,14 @@ var registerRedeemInviteTool = ({
122781
122788
  if (result.isErr()) {
122782
122789
  return mcpError(result, { isError: true });
122783
122790
  }
122784
- const { amount: amount2, txHash } = result.value;
122791
+ const { amount: amount2, txHash, solanaTxHash, network } = result.value;
122792
+ const effectiveTxHash = solanaTxHash ?? txHash;
122793
+ const explorerUrl = solanaTxHash || network === "solana" ? `https://solscan.io/tx/${effectiveTxHash}` : `https://basescan.org/tx/${effectiveTxHash}`;
122785
122794
  return mcpSuccessStructuredJson({
122786
122795
  redeemed: true,
122787
122796
  amount: `${amount2} USDC`,
122788
- txHash
122797
+ txHash: effectiveTxHash,
122798
+ explorerUrl
122789
122799
  });
122790
122800
  }
122791
122801
  );
@@ -123055,7 +123065,7 @@ var import_path3 = require("path");
123055
123065
  var import_url2 = require("url");
123056
123066
  function getVersion3() {
123057
123067
  if (true) {
123058
- return "0.9.3";
123068
+ return "0.9.5";
123059
123069
  }
123060
123070
  const __dirname3 = (0, import_path3.dirname)((0, import_url2.fileURLToPath)(importMetaUrl));
123061
123071
  const pkg2 = JSON.parse(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  networkToCaip2
3
- } from "./chunk-LOKWX2HK.js";
3
+ } from "./chunk-62QNPANE.js";
4
4
  import {
5
5
  err,
6
6
  ok,
@@ -263,4 +263,4 @@ export {
263
263
  safeGetPaymentSettlement,
264
264
  safeCreateSIWxPayload
265
265
  };
266
- //# sourceMappingURL=chunk-I64SAKMT.js.map
266
+ //# sourceMappingURL=chunk-2BFBWXV7.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.9.3";
7
+ return "0.9.5";
8
8
  }
9
9
  const __dirname2 = dirname(fileURLToPath(import.meta.url));
10
10
  const pkg = JSON.parse(
@@ -19,4 +19,4 @@ export {
19
19
  MCP_VERSION,
20
20
  DIST_TAG
21
21
  };
22
- //# sourceMappingURL=chunk-X46IRIC5.js.map
22
+ //# sourceMappingURL=chunk-2R5MUYWC.js.map
@@ -50,6 +50,12 @@ var networkToCaip2 = (network) => {
50
50
  }
51
51
  return EVM_CONFIGS[network].caip2;
52
52
  };
53
+ var TX_EXPLORER_URLS = {
54
+ ["base" /* BASE */]: "https://basescan.org/tx/",
55
+ ["tempo" /* TEMPO */]: "https://testnet.tempo.xyz/tx/",
56
+ ["solana" /* SOLANA */]: "https://solscan.io/tx/"
57
+ };
58
+ var getTxExplorerUrl = (txHash, network = "base" /* BASE */) => `${TX_EXPLORER_URLS[network]}${txHash}`;
53
59
  var caip2ToNetwork = (caip2) => {
54
60
  if (caip2 === SOLANA_CONFIG.caip2) {
55
61
  return "solana" /* SOLANA */;
@@ -71,6 +77,7 @@ export {
71
77
  SOLANA_CONFIG,
72
78
  ALL_NETWORK_CONFIGS,
73
79
  networkToCaip2,
80
+ getTxExplorerUrl,
74
81
  caip2ToNetwork
75
82
  };
76
- //# sourceMappingURL=chunk-LOKWX2HK.js.map
83
+ //# sourceMappingURL=chunk-62QNPANE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../internal/networks/src/types.ts","../../../../internal/networks/src/schemas.ts","../../../../internal/networks/src/configs.ts"],"sourcesContent":["import type { Chain, Address as EvmAddress } from 'viem';\nimport type { Address as SolanaAddress } from '@solana/kit';\n\nexport type EthereumAddress = EvmAddress;\nexport { SolanaAddress };\nexport type MixedAddress = EthereumAddress | SolanaAddress;\n\nexport enum Network {\n BASE = 'base',\n TEMPO = 'tempo',\n SOLANA = 'solana',\n}\n\nexport type EvmNetwork = Exclude<Network, Network.SOLANA>;\n\nexport interface BaseNetworkConfig {\n caip2: `${string}:${string}`;\n name: string;\n}\n\nexport interface EvmNetworkConfig extends BaseNetworkConfig {\n chain: Chain;\n usdcAddress: EthereumAddress;\n}\n\nexport interface SolanaNetworkConfig extends BaseNetworkConfig {\n usdcAddress: SolanaAddress;\n}\n","import z from 'zod';\n\nimport { Network } from './types';\n\nimport { isAddress } from 'viem';\nimport { isAddress as isSolanaAddress } from '@solana/kit';\n\nimport type { MixedAddress, SolanaAddress, EvmNetwork } from './types';\n\nexport const networkSchema = z.enum(Network);\nexport const optionalNetworkSchema = networkSchema.optional();\n\nexport const evmNetworkSchema = networkSchema\n .refine(network => network !== Network.SOLANA, {\n message: 'Invalid EVM chain',\n })\n .transform(network => network as EvmNetwork);\n\nexport const ethereumAddressSchema = z\n .string()\n .refine(isAddress, 'Invalid EVM address');\n\nexport const solanaAddressSchema: z.ZodType<SolanaAddress, string> = z\n .string()\n .refine(isSolanaAddress, 'Invalid Solana address');\n\nexport const mixedAddressSchema: z.ZodType<MixedAddress, string> = z\n .union([ethereumAddressSchema, solanaAddressSchema])\n .transform(address => address as MixedAddress);\n","import { base, tempo } from 'viem/chains';\n\nimport { Network } from './types';\n\nimport type {\n EvmNetworkConfig,\n EvmNetwork,\n SolanaAddress,\n SolanaNetworkConfig,\n BaseNetworkConfig,\n} from './types';\n\nexport const EVM_CONFIGS: Record<EvmNetwork, EvmNetworkConfig> = {\n [Network.BASE]: {\n chain: base,\n name: 'Base',\n caip2: 'eip155:8453',\n usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n },\n [Network.TEMPO]: {\n chain: tempo,\n name: 'Tempo',\n caip2: 'eip155:4217',\n usdcAddress: '0x20c0000000000000000000000000000000000000',\n },\n};\n\nexport const chainId = (network: EvmNetwork) => EVM_CONFIGS[network].chain.id;\n\nexport const SOLANA_CONFIG: SolanaNetworkConfig = {\n name: 'Solana',\n caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n usdcAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' as SolanaAddress,\n};\n\nexport const ALL_NETWORK_CONFIGS: Record<Network, BaseNetworkConfig> = {\n ...EVM_CONFIGS,\n [Network.SOLANA]: SOLANA_CONFIG,\n};\n\nexport const networkToCaip2 = (network: Network) => {\n if (network === Network.SOLANA) {\n return SOLANA_CONFIG.caip2;\n }\n return EVM_CONFIGS[network].caip2;\n};\n\nexport const caip2ToNetwork = (caip2: `${string}:${string}`) => {\n if (caip2 === SOLANA_CONFIG.caip2) {\n return Network.SOLANA;\n }\n const evmNetwork = Object.entries(EVM_CONFIGS).find(\n ([, config]) => config.caip2 === caip2\n )?.[0];\n if (evmNetwork) {\n return evmNetwork as EvmNetwork;\n }\n return null;\n};\n"],"mappings":";AAOO,IAAK,UAAL,kBAAKA,aAAL;AACL,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;;;ACPZ,OAAO,OAAO;AAId,SAAS,iBAAiB;AAC1B,SAAS,aAAa,uBAAuB;AAItC,IAAM,gBAAgB,EAAE,KAAK,OAAO;AACpC,IAAM,wBAAwB,cAAc,SAAS;AAErD,IAAM,mBAAmB,cAC7B,OAAO,aAAW,mCAA4B;AAAA,EAC7C,SAAS;AACX,CAAC,EACA,UAAU,aAAW,OAAqB;AAEtC,IAAM,wBAAwB,EAClC,OAAO,EACP,OAAO,WAAW,qBAAqB;AAEnC,IAAM,sBAAwD,EAClE,OAAO,EACP,OAAO,iBAAiB,wBAAwB;AAE5C,IAAM,qBAAsD,EAChE,MAAM,CAAC,uBAAuB,mBAAmB,CAAC,EAClD,UAAU,aAAW,OAAuB;;;AC5B/C,SAAS,MAAM,aAAa;AAYrB,IAAM,cAAoD;AAAA,EAC/D,kBAAa,GAAG;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,oBAAc,GAAG;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AACF;AAIO,IAAM,gBAAqC;AAAA,EAChD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,sBAA0D;AAAA,EACrE,GAAG;AAAA,EACH,sBAAe,GAAG;AACpB;AAEO,IAAM,iBAAiB,CAAC,YAAqB;AAClD,MAAI,mCAA4B;AAC9B,WAAO,cAAc;AAAA,EACvB;AACA,SAAO,YAAY,OAAO,EAAE;AAC9B;AAEO,IAAM,iBAAiB,CAAC,UAAiC;AAC9D,MAAI,UAAU,cAAc,OAAO;AACjC;AAAA,EACF;AACA,QAAM,aAAa,OAAO,QAAQ,WAAW,EAAE;AAAA,IAC7C,CAAC,CAAC,EAAE,MAAM,MAAM,OAAO,UAAU;AAAA,EACnC,IAAI,CAAC;AACL,MAAI,YAAY;AACd,WAAO;AAAA,EACT;AACA,SAAO;AACT;","names":["Network"]}
1
+ {"version":3,"sources":["../../../../internal/networks/src/types.ts","../../../../internal/networks/src/schemas.ts","../../../../internal/networks/src/configs.ts"],"sourcesContent":["import type { Chain, Address as EvmAddress } from 'viem';\nimport type { Address as SolanaAddress } from '@solana/kit';\n\nexport type EthereumAddress = EvmAddress;\nexport { SolanaAddress };\nexport type MixedAddress = EthereumAddress | SolanaAddress;\n\nexport enum Network {\n BASE = 'base',\n TEMPO = 'tempo',\n SOLANA = 'solana',\n}\n\nexport type EvmNetwork = Exclude<Network, Network.SOLANA>;\n\nexport interface BaseNetworkConfig {\n caip2: `${string}:${string}`;\n name: string;\n}\n\nexport interface EvmNetworkConfig extends BaseNetworkConfig {\n chain: Chain;\n usdcAddress: EthereumAddress;\n}\n\nexport interface SolanaNetworkConfig extends BaseNetworkConfig {\n usdcAddress: SolanaAddress;\n}\n","import z from 'zod';\n\nimport { Network } from './types';\n\nimport { isAddress } from 'viem';\nimport { isAddress as isSolanaAddress } from '@solana/kit';\n\nimport type { MixedAddress, SolanaAddress, EvmNetwork } from './types';\n\nexport const networkSchema = z.enum(Network);\nexport const optionalNetworkSchema = networkSchema.optional();\n\nexport const evmNetworkSchema = networkSchema\n .refine(network => network !== Network.SOLANA, {\n message: 'Invalid EVM chain',\n })\n .transform(network => network as EvmNetwork);\n\nexport const ethereumAddressSchema = z\n .string()\n .refine(isAddress, 'Invalid EVM address');\n\nexport const solanaAddressSchema: z.ZodType<SolanaAddress, string> = z\n .string()\n .refine(isSolanaAddress, 'Invalid Solana address');\n\nexport const mixedAddressSchema: z.ZodType<MixedAddress, string> = z\n .union([ethereumAddressSchema, solanaAddressSchema])\n .transform(address => address as MixedAddress);\n","import { base, tempo } from 'viem/chains';\n\nimport { Network } from './types';\n\nimport type {\n EvmNetworkConfig,\n EvmNetwork,\n SolanaAddress,\n SolanaNetworkConfig,\n BaseNetworkConfig,\n} from './types';\n\nexport const EVM_CONFIGS: Record<EvmNetwork, EvmNetworkConfig> = {\n [Network.BASE]: {\n chain: base,\n name: 'Base',\n caip2: 'eip155:8453',\n usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',\n },\n [Network.TEMPO]: {\n chain: tempo,\n name: 'Tempo',\n caip2: 'eip155:4217',\n usdcAddress: '0x20c0000000000000000000000000000000000000',\n },\n};\n\nexport const chainId = (network: EvmNetwork) => EVM_CONFIGS[network].chain.id;\n\nexport const SOLANA_CONFIG: SolanaNetworkConfig = {\n name: 'Solana',\n caip2: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n usdcAddress: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' as SolanaAddress,\n};\n\nexport const ALL_NETWORK_CONFIGS: Record<Network, BaseNetworkConfig> = {\n ...EVM_CONFIGS,\n [Network.SOLANA]: SOLANA_CONFIG,\n};\n\nexport const networkToCaip2 = (network: Network) => {\n if (network === Network.SOLANA) {\n return SOLANA_CONFIG.caip2;\n }\n return EVM_CONFIGS[network].caip2;\n};\n\nexport const TX_EXPLORER_URLS: Record<Network, string> = {\n [Network.BASE]: 'https://basescan.org/tx/',\n [Network.TEMPO]: 'https://testnet.tempo.xyz/tx/',\n [Network.SOLANA]: 'https://solscan.io/tx/',\n};\n\nexport const getTxExplorerUrl = (\n txHash: string,\n network: Network = Network.BASE\n) => `${TX_EXPLORER_URLS[network]}${txHash}`;\n\nexport const caip2ToNetwork = (caip2: `${string}:${string}`) => {\n if (caip2 === SOLANA_CONFIG.caip2) {\n return Network.SOLANA;\n }\n const evmNetwork = Object.entries(EVM_CONFIGS).find(\n ([, config]) => config.caip2 === caip2\n )?.[0];\n if (evmNetwork) {\n return evmNetwork as EvmNetwork;\n }\n return null;\n};\n"],"mappings":";AAOO,IAAK,UAAL,kBAAKA,aAAL;AACL,EAAAA,SAAA,UAAO;AACP,EAAAA,SAAA,WAAQ;AACR,EAAAA,SAAA,YAAS;AAHC,SAAAA;AAAA,GAAA;;;ACPZ,OAAO,OAAO;AAId,SAAS,iBAAiB;AAC1B,SAAS,aAAa,uBAAuB;AAItC,IAAM,gBAAgB,EAAE,KAAK,OAAO;AACpC,IAAM,wBAAwB,cAAc,SAAS;AAErD,IAAM,mBAAmB,cAC7B,OAAO,aAAW,mCAA4B;AAAA,EAC7C,SAAS;AACX,CAAC,EACA,UAAU,aAAW,OAAqB;AAEtC,IAAM,wBAAwB,EAClC,OAAO,EACP,OAAO,WAAW,qBAAqB;AAEnC,IAAM,sBAAwD,EAClE,OAAO,EACP,OAAO,iBAAiB,wBAAwB;AAE5C,IAAM,qBAAsD,EAChE,MAAM,CAAC,uBAAuB,mBAAmB,CAAC,EAClD,UAAU,aAAW,OAAuB;;;AC5B/C,SAAS,MAAM,aAAa;AAYrB,IAAM,cAAoD;AAAA,EAC/D,kBAAa,GAAG;AAAA,IACd,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AAAA,EACA,oBAAc,GAAG;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,IACN,OAAO;AAAA,IACP,aAAa;AAAA,EACf;AACF;AAIO,IAAM,gBAAqC;AAAA,EAChD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AACf;AAEO,IAAM,sBAA0D;AAAA,EACrE,GAAG;AAAA,EACH,sBAAe,GAAG;AACpB;AAEO,IAAM,iBAAiB,CAAC,YAAqB;AAClD,MAAI,mCAA4B;AAC9B,WAAO,cAAc;AAAA,EACvB;AACA,SAAO,YAAY,OAAO,EAAE;AAC9B;AAEO,IAAM,mBAA4C;AAAA,EACvD,kBAAa,GAAG;AAAA,EAChB,oBAAc,GAAG;AAAA,EACjB,sBAAe,GAAG;AACpB;AAEO,IAAM,mBAAmB,CAC9B,QACA,gCACG,GAAG,iBAAiB,OAAO,CAAC,GAAG,MAAM;AAEnC,IAAM,iBAAiB,CAAC,UAAiC;AAC9D,MAAI,UAAU,cAAc,OAAO;AACjC;AAAA,EACF;AACA,QAAM,aAAa,OAAO,QAAQ,WAAW,EAAE;AAAA,IAC7C,CAAC,CAAC,EAAE,MAAM,MAAM,OAAO,UAAU;AAAA,EACnC,IAAI,CAAC;AACL,MAAI,YAAY;AACd,WAAO;AAAA,EACT;AACA,SAAO;AACT;","names":["Network"]}
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-6XGAIMNK.js";
4
4
  import {
5
5
  getBalance
6
- } from "./chunk-UPEWVW6F.js";
6
+ } from "./chunk-RKHABEUY.js";
7
7
  import {
8
8
  getBaseUrl,
9
9
  getDepositLink
10
10
  } from "./chunk-OKHBFFZP.js";
11
11
  import {
12
12
  isMppEnabled
13
- } from "./chunk-XZVPAEDA.js";
13
+ } from "./chunk-QNGKSJMB.js";
14
14
  import {
15
15
  ok
16
16
  } from "./chunk-C7KWYVS3.js";
@@ -76,4 +76,4 @@ export {
76
76
  getOnboardingCta,
77
77
  getWalletInfo
78
78
  };
79
- //# sourceMappingURL=chunk-JPUCBTWC.js.map
79
+ //# sourceMappingURL=chunk-6UCUS55L.js.map
@@ -3,13 +3,14 @@ import {
3
3
  } from "./chunk-DZNSJ2BA.js";
4
4
  import {
5
5
  redeemInviteCode
6
- } from "./chunk-I5GPG6M6.js";
6
+ } from "./chunk-WTIOX2O6.js";
7
7
  import {
8
8
  getDepositLink
9
9
  } from "./chunk-OKHBFFZP.js";
10
10
  import {
11
- EVM_CONFIGS
12
- } from "./chunk-LOKWX2HK.js";
11
+ EVM_CONFIGS,
12
+ getTxExplorerUrl
13
+ } from "./chunk-62QNPANE.js";
13
14
 
14
15
  // src/cli/lib/deposit.ts
15
16
  import chalk from "chalk";
@@ -84,7 +85,7 @@ var promptDeposit = async (props) => {
84
85
  return promptDeposit({ wallets, flags, surface });
85
86
  }
86
87
  s.stop("Invite code redeemed successfully!");
87
- const { amount, txHash } = redeemResult.value;
88
+ const { amount, txHash, network } = redeemResult.value;
88
89
  await wait({
89
90
  startText: "Processing...",
90
91
  stopText: chalk.green(
@@ -94,7 +95,10 @@ var promptDeposit = async (props) => {
94
95
  });
95
96
  log.success(chalk.bold(`Your wallet has been funded with ${amount} USDC`));
96
97
  if (txHash) {
97
- log.info(chalk.dim(`Transaction: https://basescan.org/tx/${txHash}`));
98
+ const resolvedNetwork = network === "solana" ? "solana" /* SOLANA */ : "base" /* BASE */;
99
+ log.info(
100
+ chalk.dim(`Transaction: ${getTxExplorerUrl(txHash, resolvedNetwork)}`)
101
+ );
98
102
  }
99
103
  return;
100
104
  }
@@ -103,4 +107,4 @@ var promptDeposit = async (props) => {
103
107
  export {
104
108
  promptDeposit
105
109
  };
106
- //# sourceMappingURL=chunk-X6IKKHHP.js.map
110
+ //# sourceMappingURL=chunk-7KSWBPCM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cli/lib/deposit.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { select, text, log, spinner } from '@clack/prompts';\nimport open from 'open';\n\nimport { wait } from './wait';\nimport { getDepositLink } from '../../shared/utils';\nimport { redeemInviteCode } from '../../shared/redeem-invite';\n\nimport type { GlobalFlags } from '@/types';\nimport { EVM_CONFIGS, Network, getTxExplorerUrl } from '@agentcash/networks';\nimport type { Wallets } from '@/wallet';\n\ninterface PromptDepositProps {\n wallets: Wallets;\n flags: GlobalFlags;\n surface: string;\n}\n\nexport const promptDeposit = async (\n props: PromptDepositProps\n): Promise<void> => {\n const { wallets, flags, surface } = props;\n\n const depositLink = getDepositLink(wallets.evmAccount.account.address, flags);\n\n const depositChoice =\n flags.yes || surface === 'guided'\n ? 'manual'\n : await select({\n message: chalk.bold('How would you like to deposit?'),\n initialValue: 'guided' as string | undefined,\n options: [\n {\n label: 'Guided - Recommended',\n value: 'guided',\n hint: 'Online portal in agentcash',\n },\n {\n label: 'Manual',\n value: 'manual',\n hint: 'Print deposit instructions',\n },\n {\n label: 'Redeem Invite Code',\n value: 'invite',\n hint: 'Enter an invite code for starter money',\n },\n {\n label: 'Skip',\n value: undefined,\n hint: 'Skip deposit process - functionality limited',\n },\n ],\n });\n\n if (depositChoice === 'guided') {\n await wait({\n startText: 'Opening deposit page...',\n stopText: `Opening ${chalk.underline.hex('#2563eb')(depositLink)}`,\n ms: 1000,\n });\n\n await open(depositLink);\n } else if (depositChoice === 'manual') {\n log.step(chalk.bold('Account Information'));\n\n log.message(`Address: ${wallets.evmAccount.account.address}`);\n log.message(`Network: ${EVM_CONFIGS[Network.BASE].name}`);\n\n log.step(chalk.bold('Online Portal'));\n log.message(`${chalk.underline(depositLink)}`);\n } else if (depositChoice === 'invite') {\n const code = await text({\n message: 'Enter your invite code',\n placeholder: 'MRT-XXXXX',\n validate: value => {\n if (!value || value.trim().length === 0) {\n return 'Please enter an invite code';\n }\n },\n });\n\n if (typeof code !== 'string') {\n return promptDeposit({ wallets, flags, surface });\n }\n\n const s = spinner();\n s.start('Redeeming invite code...');\n\n const redeemResult = await redeemInviteCode({\n code,\n address: wallets.evmAccount.account.address,\n solanaAddr: wallets.svmAccount.account.address,\n surface: 'redeemInvite',\n });\n\n if (redeemResult.isErr()) {\n s.stop('Invite code redemption failed');\n log.error('Failed to redeem invite code');\n return promptDeposit({ wallets, flags, surface });\n }\n\n s.stop('Invite code redeemed successfully!');\n\n const { amount, txHash, network } = redeemResult.value;\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: 1500,\n });\n\n log.success(chalk.bold(`Your wallet has been funded with ${amount} USDC`));\n\n if (txHash) {\n const resolvedNetwork =\n network === 'solana' ? Network.SOLANA : Network.BASE;\n log.info(\n chalk.dim(`Transaction: ${getTxExplorerUrl(txHash, resolvedNetwork)}`)\n );\n }\n\n return;\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,SAAS,QAAQ,MAAM,KAAK,eAAe;AAC3C,OAAO,UAAU;AAgBV,IAAM,gBAAgB,OAC3B,UACkB;AAClB,QAAM,EAAE,SAAS,OAAO,QAAQ,IAAI;AAEpC,QAAM,cAAc,eAAe,QAAQ,WAAW,QAAQ,SAAS,KAAK;AAE5E,QAAM,gBACJ,MAAM,OAAO,YAAY,WACrB,WACA,MAAM,OAAO;AAAA,IACX,SAAS,MAAM,KAAK,gCAAgC;AAAA,IACpD,cAAc;AAAA,IACd,SAAS;AAAA,MACP;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF,CAAC;AAEP,MAAI,kBAAkB,UAAU;AAC9B,UAAM,KAAK;AAAA,MACT,WAAW;AAAA,MACX,UAAU,WAAW,MAAM,UAAU,IAAI,SAAS,EAAE,WAAW,CAAC;AAAA,MAChE,IAAI;AAAA,IACN,CAAC;AAED,UAAM,KAAK,WAAW;AAAA,EACxB,WAAW,kBAAkB,UAAU;AACrC,QAAI,KAAK,MAAM,KAAK,qBAAqB,CAAC;AAE1C,QAAI,QAAQ,YAAY,QAAQ,WAAW,QAAQ,OAAO,EAAE;AAC5D,QAAI,QAAQ,YAAY,6BAAwB,EAAE,IAAI,EAAE;AAExD,QAAI,KAAK,MAAM,KAAK,eAAe,CAAC;AACpC,QAAI,QAAQ,GAAG,MAAM,UAAU,WAAW,CAAC,EAAE;AAAA,EAC/C,WAAW,kBAAkB,UAAU;AACrC,UAAM,OAAO,MAAM,KAAK;AAAA,MACtB,SAAS;AAAA,MACT,aAAa;AAAA,MACb,UAAU,WAAS;AACjB,YAAI,CAAC,SAAS,MAAM,KAAK,EAAE,WAAW,GAAG;AACvC,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAED,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO,cAAc,EAAE,SAAS,OAAO,QAAQ,CAAC;AAAA,IAClD;AAEA,UAAM,IAAI,QAAQ;AAClB,MAAE,MAAM,0BAA0B;AAElC,UAAM,eAAe,MAAM,iBAAiB;AAAA,MAC1C;AAAA,MACA,SAAS,QAAQ,WAAW,QAAQ;AAAA,MACpC,YAAY,QAAQ,WAAW,QAAQ;AAAA,MACvC,SAAS;AAAA,IACX,CAAC;AAED,QAAI,aAAa,MAAM,GAAG;AACxB,QAAE,KAAK,+BAA+B;AACtC,UAAI,MAAM,8BAA8B;AACxC,aAAO,cAAc,EAAE,SAAS,OAAO,QAAQ,CAAC;AAAA,IAClD;AAEA,MAAE,KAAK,oCAAoC;AAE3C,UAAM,EAAE,QAAQ,QAAQ,QAAQ,IAAI,aAAa;AAEjD,UAAM,KAAK;AAAA,MACT,WAAW;AAAA,MACX,UAAU,MAAM;AAAA,QACd,GAAG,MAAM,KAAK,MAAM,CAAC;AAAA,MACvB;AAAA,MACA,IAAI;AAAA,IACN,CAAC;AAED,QAAI,QAAQ,MAAM,KAAK,oCAAoC,MAAM,OAAO,CAAC;AAEzE,QAAI,QAAQ;AACV,YAAM,kBACJ,YAAY;AACd,UAAI;AAAA,QACF,MAAM,IAAI,gBAAgB,iBAAiB,QAAQ,eAAe,CAAC,EAAE;AAAA,MACvE;AAAA,IACF;AAEA;AAAA,EACF;AACF;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-RBEVKU3U.js";
7
7
  import {
8
8
  DIST_TAG
9
- } from "./chunk-X46IRIC5.js";
9
+ } from "./chunk-2R5MUYWC.js";
10
10
  import {
11
11
  log,
12
12
  safeReadFile,
@@ -596,4 +596,4 @@ export {
596
596
  tryAddServer,
597
597
  addServer
598
598
  };
599
- //# sourceMappingURL=chunk-RXSYAZUA.js.map
599
+ //# sourceMappingURL=chunk-IASQHCOJ.js.map
@@ -5,20 +5,20 @@ import {
5
5
  x402Err,
6
6
  x402Ok,
7
7
  x402ProbeClient
8
- } from "./chunk-I64SAKMT.js";
8
+ } from "./chunk-2BFBWXV7.js";
9
9
  import {
10
10
  getBalance
11
- } from "./chunk-UPEWVW6F.js";
11
+ } from "./chunk-RKHABEUY.js";
12
12
  import {
13
13
  tokenStringToNumber
14
14
  } from "./chunk-OKHBFFZP.js";
15
15
  import {
16
16
  isMppEnabled
17
- } from "./chunk-XZVPAEDA.js";
17
+ } from "./chunk-QNGKSJMB.js";
18
18
  import {
19
19
  caip2ToNetwork,
20
20
  networkToCaip2
21
- } from "./chunk-LOKWX2HK.js";
21
+ } from "./chunk-62QNPANE.js";
22
22
  import {
23
23
  BLACKLISTED_ORIGINS
24
24
  } from "./chunk-TTAO2EJK.js";
@@ -500,4 +500,4 @@ export {
500
500
  DEFAULT_MAX_AMOUNT,
501
501
  createFetchWithPayment
502
502
  };
503
- //# sourceMappingURL=chunk-LUWOAFE2.js.map
503
+ //# sourceMappingURL=chunk-NVXH4W4B.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  MCP_VERSION
3
- } from "./chunk-X46IRIC5.js";
3
+ } from "./chunk-2R5MUYWC.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-XADII4KF.js.map
54
+ //# sourceMappingURL=chunk-PC2H2VMO.js.map
@@ -0,0 +1,7 @@
1
+ // src/shared/mpp-enabled.ts
2
+ var isMppEnabled = () => "0.9.5".includes("-mpp");
3
+
4
+ export {
5
+ isMppEnabled
6
+ };
7
+ //# sourceMappingURL=chunk-QNGKSJMB.js.map
@@ -9,7 +9,7 @@ import {
9
9
  ethereumAddressSchema,
10
10
  networkSchema,
11
11
  solanaAddressSchema
12
- } from "./chunk-LOKWX2HK.js";
12
+ } from "./chunk-62QNPANE.js";
13
13
  import {
14
14
  safeFetchJson
15
15
  } from "./chunk-I66V4HGH.js";
@@ -67,4 +67,4 @@ var getBalance = async (surface, input, flags) => {
67
67
  export {
68
68
  getBalance
69
69
  };
70
- //# sourceMappingURL=chunk-UPEWVW6F.js.map
70
+ //# sourceMappingURL=chunk-RKHABEUY.js.map
@@ -18,7 +18,9 @@ import z from "zod";
18
18
  var redeemInviteResponseSchema = z.object({
19
19
  redemptionId: z.string(),
20
20
  txHash: z.string(),
21
+ solanaTxHash: z.string().optional(),
21
22
  amount: z.coerce.number(),
23
+ network: z.enum(["base", "solana"]).optional(),
22
24
  prompts: z.array(
23
25
  z.object({
24
26
  label: z.string(),
@@ -86,4 +88,4 @@ var redeemInviteCode = async ({
86
88
  export {
87
89
  redeemInviteCode
88
90
  };
89
- //# sourceMappingURL=chunk-I5GPG6M6.js.map
91
+ //# sourceMappingURL=chunk-WTIOX2O6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/redeem-invite.ts"],"sourcesContent":["import z from 'zod';\n\nimport { safeFetchJson } from '@/shared/neverthrow/fetch';\nimport { err, resultFromPromise } from '@agentcash/neverthrow';\n\nimport { getBaseUrl } from './utils';\nimport { getState, setState } from './state';\n\nimport type { Address } from 'viem';\n\nexport interface RedeemInviteProps {\n code: string;\n address: Address;\n solanaAddr?: string;\n surface: string;\n dev?: boolean;\n}\n\nconst redeemInviteResponseSchema = z.object({\n redemptionId: z.string(),\n txHash: z.string(),\n solanaTxHash: z.string().optional(),\n amount: z.coerce.number(),\n network: z.enum(['base', 'solana']).optional(),\n prompts: z\n .array(\n z.object({\n label: z.string(),\n prompt: z.string(),\n resources: z.array(z.string()),\n })\n )\n .optional(),\n});\n\nexport const redeemInviteCode = async ({\n code,\n address,\n solanaAddr,\n surface,\n dev = false,\n}: RedeemInviteProps) => {\n const state = getState();\n\n if (state.redeemedCodes?.includes(code)) {\n return err('user', surface, {\n cause: 'conflict',\n message: 'This invite code has already been redeemed',\n });\n }\n\n const result = await safeFetchJson(\n surface,\n new Request(`${getBaseUrl(dev)}/api/redeem`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n code,\n recipientAddr: address,\n solanaAddr: solanaAddr ?? null,\n }),\n }),\n redeemInviteResponseSchema\n );\n\n if (result.isOk()) {\n setState({\n redeemedCodes: [...(state.redeemedCodes ?? []), code],\n });\n return result;\n }\n\n // Extract error message from response body when available\n const error = result.error;\n if (error.cause === 'http' && error.response) {\n const bodyResult = await resultFromPromise(\n 'user',\n surface,\n error.response.json() as Promise<{ error?: string }>,\n () => ({\n cause: 'parse' as const,\n message: 'Could not parse error response',\n })\n );\n\n if (bodyResult.isOk() && bodyResult.value.error) {\n return err('user', surface, {\n cause: 'conflict',\n message: bodyResult.value.error,\n });\n }\n }\n\n return result;\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,OAAO;AAkBd,IAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,cAAc,EAAE,OAAO;AAAA,EACvB,QAAQ,EAAE,OAAO;AAAA,EACjB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,QAAQ,EAAE,OAAO,OAAO;AAAA,EACxB,SAAS,EAAE,KAAK,CAAC,QAAQ,QAAQ,CAAC,EAAE,SAAS;AAAA,EAC7C,SAAS,EACN;AAAA,IACC,EAAE,OAAO;AAAA,MACP,OAAO,EAAE,OAAO;AAAA,MAChB,QAAQ,EAAE,OAAO;AAAA,MACjB,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,IAC/B,CAAC;AAAA,EACH,EACC,SAAS;AACd,CAAC;AAEM,IAAM,mBAAmB,OAAO;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM;AACR,MAAyB;AACvB,QAAM,QAAQ,SAAS;AAEvB,MAAI,MAAM,eAAe,SAAS,IAAI,GAAG;AACvC,WAAO,IAAI,QAAQ,SAAS;AAAA,MAC1B,OAAO;AAAA,MACP,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AAEA,QAAM,SAAS,MAAM;AAAA,IACnB;AAAA,IACA,IAAI,QAAQ,GAAG,WAAW,GAAG,CAAC,eAAe;AAAA,MAC3C,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU;AAAA,QACnB;AAAA,QACA,eAAe;AAAA,QACf,YAAY,cAAc;AAAA,MAC5B,CAAC;AAAA,IACH,CAAC;AAAA,IACD;AAAA,EACF;AAEA,MAAI,OAAO,KAAK,GAAG;AACjB,aAAS;AAAA,MACP,eAAe,CAAC,GAAI,MAAM,iBAAiB,CAAC,GAAI,IAAI;AAAA,IACtD,CAAC;AACD,WAAO;AAAA,EACT;AAGA,QAAM,QAAQ,OAAO;AACrB,MAAI,MAAM,UAAU,UAAU,MAAM,UAAU;AAC5C,UAAM,aAAa,MAAM;AAAA,MACvB;AAAA,MACA;AAAA,MACA,MAAM,SAAS,KAAK;AAAA,MACpB,OAAO;AAAA,QACL,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,IACF;AAEA,QAAI,WAAW,KAAK,KAAK,WAAW,MAAM,OAAO;AAC/C,aAAO,IAAI,QAAQ,SAAS;AAAA,QAC1B,OAAO;AAAA,QACP,SAAS,WAAW,MAAM;AAAA,MAC5B,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  safeCreateSIWxPayload,
3
3
  safeGetPaymentRequired
4
- } from "./chunk-I64SAKMT.js";
4
+ } from "./chunk-2BFBWXV7.js";
5
5
  import {
6
6
  networkToCaip2
7
- } from "./chunk-LOKWX2HK.js";
7
+ } from "./chunk-62QNPANE.js";
8
8
  import {
9
9
  DEFAULT_USER_FETCH_TIMEOUT,
10
10
  fetchOk,
@@ -80,4 +80,4 @@ function createFetchWithAuth(options) {
80
80
  export {
81
81
  createFetchWithAuth
82
82
  };
83
- //# sourceMappingURL=chunk-XGV3H2AG.js.map
83
+ //# sourceMappingURL=chunk-ZWNYMKSZ.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createFetchWithPayment
3
- } from "./chunk-LUWOAFE2.js";
3
+ } from "./chunk-NVXH4W4B.js";
4
4
  import {
5
5
  MCP_VERSION
6
- } from "./chunk-X46IRIC5.js";
7
- import "./chunk-I64SAKMT.js";
8
- import "./chunk-UPEWVW6F.js";
6
+ } from "./chunk-2R5MUYWC.js";
7
+ import "./chunk-2BFBWXV7.js";
8
+ import "./chunk-RKHABEUY.js";
9
9
  import "./chunk-OKHBFFZP.js";
10
- import "./chunk-XZVPAEDA.js";
11
- import "./chunk-LOKWX2HK.js";
10
+ import "./chunk-QNGKSJMB.js";
11
+ import "./chunk-62QNPANE.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-WVBTB2ZC.js.map
119
+ //# sourceMappingURL=fetch-3K4HJT3L.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  createFetchWithAuth
3
- } from "./chunk-XGV3H2AG.js";
4
- import "./chunk-I64SAKMT.js";
5
- import "./chunk-LOKWX2HK.js";
3
+ } from "./chunk-ZWNYMKSZ.js";
4
+ import "./chunk-2BFBWXV7.js";
5
+ import "./chunk-62QNPANE.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-L43YZQKM.js.map
86
+ //# sourceMappingURL=fetch-auth-GYML7HTH.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  promptDeposit
3
- } from "./chunk-X6IKKHHP.js";
3
+ } from "./chunk-7KSWBPCM.js";
4
4
  import "./chunk-DZNSJ2BA.js";
5
- import "./chunk-I5GPG6M6.js";
5
+ import "./chunk-WTIOX2O6.js";
6
6
  import "./chunk-6XGAIMNK.js";
7
7
  import "./chunk-OKHBFFZP.js";
8
- import "./chunk-LOKWX2HK.js";
8
+ import "./chunk-62QNPANE.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-GDQGBL4O.js.map
40
+ //# sourceMappingURL=fund-JRGGUWPA.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-X46IRIC5.js";
8
+ } from "./chunk-2R5MUYWC.js";
9
9
  import {
10
10
  isMppEnabled
11
- } from "./chunk-XZVPAEDA.js";
12
- import "./chunk-LOKWX2HK.js";
11
+ } from "./chunk-QNGKSJMB.js";
12
+ import "./chunk-62QNPANE.js";
13
13
  import {
14
14
  DESCRIPTIONS,
15
15
  buildServerInstructions
@@ -99,7 +99,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
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-WVBTB2ZC.js");
102
+ const { fetchCommand } = await import("./fetch-3K4HJT3L.js");
103
103
  await fetchCommand(
104
104
  {
105
105
  ...args,
@@ -136,7 +136,7 @@ void yargs(hideBin(process.argv)).scriptName("agentcash").usage("$0 [command] [o
136
136
  choices: ["base" /* BASE */, "solana" /* SOLANA */]
137
137
  }).epilogue(DESCRIPTIONS.fetchWithAuth.epilogue),
138
138
  async (args) => {
139
- const { fetchAuthCommand } = await import("./fetch-auth-L43YZQKM.js");
139
+ const { fetchAuthCommand } = await import("./fetch-auth-GYML7HTH.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-WPFY4KZL.js");
193
+ const { tryCommand } = await import("./try-PQ2IKFAX.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-6QKPAT4E.js");
284
+ const { onboardCommand } = await import("./onboard-XY5OXO3P.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-2GMS734S.js");
295
+ const { walletInfoCommand } = await import("./wallet-XTCV3JW6.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-2GMS734S.js");
307
+ const { walletRedeemCommand } = await import("./wallet-XTCV3JW6.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-2GMS734S.js");
315
+ const { walletAddressCommand } = await import("./wallet-XTCV3JW6.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-XQZYE7XS.js");
329
+ const { settingsGetCommand } = await import("./settings-STCAUISU.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-XQZYE7XS.js");
345
+ const { settingsSetCommand } = await import("./settings-STCAUISU.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-4S3UZ6UV.js");
377
+ const { reportErrorCommand } = await import("./report-error-HDNKWLPW.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-6VNA4WK6.js");
395
+ const { serverCommand } = await import("./server-J3ECFD2W.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-DSGVSQUA.js");
408
+ const { installMcpServer } = await import("./install-PETWDHGW.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-GDQGBL4O.js");
416
+ const { fundMcpServer } = await import("./fund-JRGGUWPA.js");
417
417
  await fundMcpServer(args);
418
418
  }
419
419
  ).example(
@@ -1,26 +1,28 @@
1
1
  import {
2
2
  promptDeposit
3
- } from "./chunk-X6IKKHHP.js";
3
+ } from "./chunk-7KSWBPCM.js";
4
4
  import {
5
5
  addServer
6
- } from "./chunk-RXSYAZUA.js";
6
+ } from "./chunk-IASQHCOJ.js";
7
7
  import {
8
8
  wait
9
9
  } from "./chunk-DZNSJ2BA.js";
10
10
  import {
11
11
  redeemInviteCode
12
- } from "./chunk-I5GPG6M6.js";
12
+ } from "./chunk-WTIOX2O6.js";
13
13
  import {
14
14
  Clients,
15
15
  clientMetadata
16
16
  } from "./chunk-RBEVKU3U.js";
17
- import "./chunk-X46IRIC5.js";
17
+ import "./chunk-2R5MUYWC.js";
18
18
  import "./chunk-6XGAIMNK.js";
19
19
  import {
20
20
  getBalance
21
- } from "./chunk-UPEWVW6F.js";
21
+ } from "./chunk-RKHABEUY.js";
22
22
  import "./chunk-OKHBFFZP.js";
23
- import "./chunk-LOKWX2HK.js";
23
+ import {
24
+ getTxExplorerUrl
25
+ } from "./chunk-62QNPANE.js";
24
26
  import {
25
27
  getWallet
26
28
  } from "./chunk-4AS5OYMF.js";
@@ -93,7 +95,7 @@ var redeemInviteCode2 = async (props, flags) => {
93
95
  }
94
96
  const result = await redeemInviteCode({ ...props, dev: flags.dev });
95
97
  return result.match(
96
- async ({ amount, txHash }) => {
98
+ async ({ amount, txHash, network }) => {
97
99
  if (!flags.yes) {
98
100
  s.stop("Invite code redeemed successfully!");
99
101
  await wait({
@@ -104,7 +106,10 @@ var redeemInviteCode2 = async (props, flags) => {
104
106
  ms: 1e3
105
107
  });
106
108
  }
107
- log3.info(chalk2.dim(`Transaction: https://basescan.org/tx/${txHash}`));
109
+ const resolvedNetwork = network === "solana" ? "solana" /* SOLANA */ : "base" /* BASE */;
110
+ log3.info(
111
+ chalk2.dim(`Transaction: ${getTxExplorerUrl(txHash, resolvedNetwork)}`)
112
+ );
108
113
  return true;
109
114
  },
110
115
  (error) => {
@@ -190,4 +195,4 @@ var installMcpServer = async (flags) => {
190
195
  export {
191
196
  installMcpServer
192
197
  };
193
- //# sourceMappingURL=install-DSGVSQUA.js.map
198
+ //# sourceMappingURL=install-PETWDHGW.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';\nimport { getTxExplorerUrl, Network } from '@agentcash/networks';\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, network }) => {\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 const resolvedNetwork =\n network === 'solana' ? Network.SOLANA : Network.BASE;\n log.info(\n chalk.dim(`Transaction: ${getTxExplorerUrl(txHash, resolvedNetwork)}`)\n );\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":"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","names":["chalk","outro","log","parsedClient","log","client","chalk","log","redeemInviteCode","chalk","log","chalk","log","spinner","log","spinner","chalk","chalk","outro","redeemInviteCode"]}