agentcash 0.13.8 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/cjs/run-server.cjs +93 -25
  2. package/dist/esm/{add-skill-5O3R2PAD.js → add-skill-JHBOH5SG.js} +4 -3
  3. package/dist/esm/{add-skill-5O3R2PAD.js.map → add-skill-JHBOH5SG.js.map} +1 -1
  4. package/dist/esm/{bridge-3T5NWKDE.js → bridge-YU2PE54M.js} +4 -3
  5. package/dist/esm/{bridge-3T5NWKDE.js.map → bridge-YU2PE54M.js.map} +1 -1
  6. package/dist/esm/{chunk-THSTTUNV.js → chunk-6I5J7IHC.js} +2 -2
  7. package/dist/esm/{chunk-QCP7Q6UF.js → chunk-BFOYXXLG.js} +2 -27
  8. package/dist/esm/chunk-BFOYXXLG.js.map +1 -0
  9. package/dist/esm/{chunk-54KBJ4F6.js → chunk-BNFMFAEF.js} +5 -5
  10. package/dist/esm/{chunk-2NMSPXMD.js → chunk-G5FHPXQL.js} +9 -7
  11. package/dist/esm/{chunk-2NMSPXMD.js.map → chunk-G5FHPXQL.js.map} +1 -1
  12. package/dist/esm/{chunk-DBP743M5.js → chunk-GZ5DKXKY.js} +24 -6
  13. package/dist/esm/chunk-GZ5DKXKY.js.map +1 -0
  14. package/dist/esm/{chunk-TCXITLKU.js → chunk-ICTY7IIE.js} +2 -2
  15. package/dist/esm/{chunk-NQ7OJNSO.js → chunk-KJCWPVQE.js} +5 -3
  16. package/dist/esm/{chunk-NQ7OJNSO.js.map → chunk-KJCWPVQE.js.map} +1 -1
  17. package/dist/esm/{chunk-CWU2QWNS.js → chunk-MSNAPI5G.js} +5 -3
  18. package/dist/esm/{chunk-CWU2QWNS.js.map → chunk-MSNAPI5G.js.map} +1 -1
  19. package/dist/esm/{chunk-UNG335FG.js → chunk-PAVGIVNI.js} +6 -4
  20. package/dist/esm/{chunk-UNG335FG.js.map → chunk-PAVGIVNI.js.map} +1 -1
  21. package/dist/esm/chunk-U6FRXL3X.js +28 -0
  22. package/dist/esm/chunk-U6FRXL3X.js.map +1 -0
  23. package/dist/esm/{chunk-OJGYNAKF.js → chunk-UCADMHNP.js} +2 -2
  24. package/dist/esm/{chunk-PZNRMIWW.js → chunk-V3HBA7NZ.js} +3 -3
  25. package/dist/esm/chunk-Y2J274RB.js +109 -0
  26. package/dist/esm/chunk-Y2J274RB.js.map +1 -0
  27. package/dist/esm/{chunk-FYEDHLYF.js → chunk-Y4BYJBYU.js} +5 -3
  28. package/dist/esm/{chunk-FYEDHLYF.js.map → chunk-Y4BYJBYU.js.map} +1 -1
  29. package/dist/esm/{chunk-63TCLGO6.js → chunk-YUPRVVFP.js} +6 -6
  30. package/dist/esm/{discover-PMVCPMAP.js → discover-654M2PZ3.js} +4 -3
  31. package/dist/esm/discover-654M2PZ3.js.map +1 -0
  32. package/dist/esm/{fetch-WACX4GKY.js → fetch-GPYZNSPB.js} +5 -4
  33. package/dist/esm/{fetch-WACX4GKY.js.map → fetch-GPYZNSPB.js.map} +1 -1
  34. package/dist/esm/{fund-QLGZGIUE.js → fund-HHL4QEU5.js} +5 -4
  35. package/dist/esm/{fund-QLGZGIUE.js.map → fund-HHL4QEU5.js.map} +1 -1
  36. package/dist/esm/index.js +24 -24
  37. package/dist/esm/{install-KTU4GOMT.js → install-6W2Z2CWU.js} +8 -7
  38. package/dist/esm/{install-KTU4GOMT.js.map → install-6W2Z2CWU.js.map} +1 -1
  39. package/dist/esm/{onboard-YNZPSS34.js → onboard-HONVULXC.js} +11 -10
  40. package/dist/esm/{onboard-YNZPSS34.js.map → onboard-HONVULXC.js.map} +1 -1
  41. package/dist/esm/{origins-UCEONL2Q.js → origins-JAC2K5A4.js} +4 -3
  42. package/dist/esm/{origins-UCEONL2Q.js.map → origins-JAC2K5A4.js.map} +1 -1
  43. package/dist/esm/{register-UN5RG5QY.js → register-AD43YD5O.js} +5 -4
  44. package/dist/esm/{register-UN5RG5QY.js.map → register-AD43YD5O.js.map} +1 -1
  45. package/dist/esm/{report-error-PIRP6TAE.js → report-error-D44QKQHM.js} +5 -4
  46. package/dist/esm/{report-error-PIRP6TAE.js.map → report-error-D44QKQHM.js.map} +1 -1
  47. package/dist/esm/{search-FDAGE4G3.js → search-WV2FO7OG.js} +6 -5
  48. package/dist/esm/{search-FDAGE4G3.js.map → search-WV2FO7OG.js.map} +1 -1
  49. package/dist/esm/{server-PEG4DEHG.js → server-G7SXDQJD.js} +2 -2
  50. package/dist/esm/{server-RHNWYLER.js → server-GZG3KSPG.js} +20 -16
  51. package/dist/esm/server-GZG3KSPG.js.map +1 -0
  52. package/dist/esm/{try-2JMNINOB.js → try-36SR5JEG.js} +7 -6
  53. package/dist/esm/try-36SR5JEG.js.map +1 -0
  54. package/dist/esm/{wallet-IWRIAD6V.js → wallet-QOS3FPSF.js} +7 -6
  55. package/dist/esm/{wallet-IWRIAD6V.js.map → wallet-QOS3FPSF.js.map} +1 -1
  56. package/package.json +4 -4
  57. package/dist/esm/chunk-CR6PFCYR.js +0 -49
  58. package/dist/esm/chunk-CR6PFCYR.js.map +0 -1
  59. package/dist/esm/chunk-DBP743M5.js.map +0 -1
  60. package/dist/esm/chunk-QCP7Q6UF.js.map +0 -1
  61. package/dist/esm/discover-PMVCPMAP.js.map +0 -1
  62. package/dist/esm/server-RHNWYLER.js.map +0 -1
  63. package/dist/esm/try-2JMNINOB.js.map +0 -1
  64. /package/dist/esm/{chunk-THSTTUNV.js.map → chunk-6I5J7IHC.js.map} +0 -0
  65. /package/dist/esm/{chunk-54KBJ4F6.js.map → chunk-BNFMFAEF.js.map} +0 -0
  66. /package/dist/esm/{chunk-TCXITLKU.js.map → chunk-ICTY7IIE.js.map} +0 -0
  67. /package/dist/esm/{chunk-OJGYNAKF.js.map → chunk-UCADMHNP.js.map} +0 -0
  68. /package/dist/esm/{chunk-PZNRMIWW.js.map → chunk-V3HBA7NZ.js.map} +0 -0
  69. /package/dist/esm/{chunk-63TCLGO6.js.map → chunk-YUPRVVFP.js.map} +0 -0
  70. /package/dist/esm/{server-PEG4DEHG.js.map → server-G7SXDQJD.js.map} +0 -0
@@ -147202,7 +147202,7 @@ init_cjs_shims();
147202
147202
  // src/operations/check-endpoint.ts
147203
147203
  init_cjs_shims();
147204
147204
 
147205
- // ../../../node_modules/.pnpm/@agentcash+discovery@1.5.0/node_modules/@agentcash/discovery/dist/index.js
147205
+ // ../../../node_modules/.pnpm/@agentcash+discovery@1.6.2/node_modules/@agentcash/discovery/dist/index.js
147206
147206
  init_cjs_shims();
147207
147207
  var import_dereference_json_schema = __toESM(require_dereference_json_schema(), 1);
147208
147208
  var __defProp2 = Object.defineProperty;
@@ -160847,7 +160847,7 @@ var MppProtocolSchema = external_exports5.object({
160847
160847
  currency: external_exports5.string()
160848
160848
  })
160849
160849
  });
160850
- var PaymentProtocolSchema = external_exports5.union([MppProtocolSchema, X402ProtocolSchema]);
160850
+ var PaymentProtocolSchema = external_exports5.record(external_exports5.string(), external_exports5.unknown());
160851
160851
  var PaymentInfoSchema = external_exports5.object({
160852
160852
  price: PriceSchema,
160853
160853
  protocols: external_exports5.array(PaymentProtocolSchema)
@@ -161122,9 +161122,9 @@ function toAbsoluteUrl(origin2, value) {
161122
161122
  return null;
161123
161123
  }
161124
161124
  }
161125
- function toFetchError(err22) {
161126
- const cause = err22 instanceof DOMException && (err22.name === "TimeoutError" || err22.name === "AbortError") ? "timeout" : "network";
161127
- return { cause, message: String(err22) };
161125
+ function toFetchError(err3) {
161126
+ const cause = err3 instanceof DOMException && (err3.name === "TimeoutError" || err3.name === "AbortError") ? "timeout" : "network";
161127
+ return { cause, message: String(err3) };
161128
161128
  }
161129
161129
  function fetchSafe(url22, init) {
161130
161130
  return ResultAsync.fromPromise(fetch(url22, init), toFetchError);
@@ -161148,6 +161148,7 @@ function resolveProtocols(p) {
161148
161148
  }
161149
161149
  var OpenApiParsedSchema = OpenApiDocSchema.transform((doc) => {
161150
161150
  const routes = [];
161151
+ const serverBasePath = extractServerBasePath(doc.servers).unwrapOr("");
161151
161152
  for (const [rawPath, pathItem] of Object.entries(doc.paths)) {
161152
161153
  for (const httpMethod of [...HTTP_METHODS]) {
161153
161154
  const operation = pathItem[httpMethod.toLowerCase()];
@@ -161158,7 +161159,7 @@ var OpenApiParsedSchema = OpenApiDocSchema.transform((doc) => {
161158
161159
  const pricing = (authMode === "paid" || authMode === "apiKey+paid") && p ? resolvePricingHint(p) : void 0;
161159
161160
  const summary = operation.summary ?? operation.description;
161160
161161
  routes.push({
161161
- path: normalizePath(rawPath),
161162
+ path: normalizePath(serverBasePath + rawPath),
161162
161163
  method: httpMethod.toUpperCase(),
161163
161164
  ...summary ? { summary } : {},
161164
161165
  authMode,
@@ -161177,6 +161178,16 @@ var OpenApiParsedSchema = OpenApiDocSchema.transform((doc) => {
161177
161178
  ...resolveGuidance(doc.info) ? { guidance: resolveGuidance(doc.info) } : {}
161178
161179
  };
161179
161180
  });
161181
+ function extractServerBasePath(servers) {
161182
+ const serverUrl = servers?.[0]?.url;
161183
+ if (!serverUrl) return err("no_servers");
161184
+ try {
161185
+ const pathname = normalizePath(new URL(serverUrl).pathname);
161186
+ return ok(pathname === "/" ? "" : pathname);
161187
+ } catch {
161188
+ return err("malformed_url");
161189
+ }
161190
+ }
161180
161191
  function resolveGuidance(info) {
161181
161192
  if (info["x-guidance"]) return info["x-guidance"];
161182
161193
  if (info.guidance) return info.guidance;
@@ -162325,7 +162336,7 @@ var import_path2 = require("path");
162325
162336
  var import_url2 = require("url");
162326
162337
  function getVersion3() {
162327
162338
  if (true) {
162328
- return "0.13.8";
162339
+ return "0.14.1";
162329
162340
  }
162330
162341
  const __dirname2 = (0, import_path2.dirname)((0, import_url2.fileURLToPath)(importMetaUrl));
162331
162342
  const pkg2 = JSON.parse(
@@ -162448,7 +162459,7 @@ var discoverResourcesSchema = zod_default.object({
162448
162459
  url: zodUrl.describe(TOOL_PARAMS.discoverApiEndpoints.url),
162449
162460
  includeGuidance: zod_default.boolean().optional().describe(TOOL_PARAMS.discoverApiEndpoints.includeGuidance)
162450
162461
  });
162451
- async function discoverResources(surface, args) {
162462
+ async function discoverResources(surface, args, options) {
162452
162463
  const parsedArgs = discoverResourcesSchema.safeParse(args);
162453
162464
  if (!parsedArgs.success) {
162454
162465
  return {
@@ -162460,25 +162471,82 @@ async function discoverResources(surface, args) {
162460
162471
  const { url: url5, includeGuidance } = parsedArgs.data;
162461
162472
  const guidance = includeGuidance === true ? GuidanceMode.Always : includeGuidance === false ? GuidanceMode.Never : GuidanceMode.Auto;
162462
162473
  const result = await discoverOriginSchema({ target: url5, guidance });
162463
- if (!result.found) {
162464
- log.error(`[discoverResources failed`, {
162465
- surface,
162466
- url: url5,
162467
- cause: result.cause,
162468
- message: result.message
162469
- });
162470
- return result;
162474
+ if (result.found) {
162475
+ return {
162476
+ ...result,
162477
+ endpoints: result.endpoints.map((e5) => ({ ...e5 }))
162478
+ };
162471
162479
  }
162472
- return {
162473
- ...result,
162474
- endpoints: result.endpoints.map((e5) => ({ ...e5 }))
162475
- };
162480
+ const scanResult = await fetchScanEndpoints(
162481
+ url5,
162482
+ options?.flags?.dev ?? false
162483
+ );
162484
+ if (scanResult) {
162485
+ log.info(
162486
+ `[discoverResources] scan fallback found ${scanResult.endpoints.length} endpoints for ${url5}`
162487
+ );
162488
+ return scanResult;
162489
+ }
162490
+ log.error(`[discoverResources] failed`, {
162491
+ surface,
162492
+ url: url5,
162493
+ cause: result.cause,
162494
+ message: result.message
162495
+ });
162496
+ return result;
162497
+ }
162498
+ var scanEndpointSchema = zod_default.object({
162499
+ method: zod_default.string(),
162500
+ path: zod_default.string(),
162501
+ summary: zod_default.string().optional().default(""),
162502
+ authMode: zod_default.string().optional(),
162503
+ price: zod_default.string().optional()
162504
+ });
162505
+ var scanResponseSchema = zod_default.object({
162506
+ origin: zod_default.string(),
162507
+ title: zod_default.string().optional().default(""),
162508
+ description: zod_default.string().optional().default(""),
162509
+ endpoints: zod_default.array(scanEndpointSchema)
162510
+ });
162511
+ async function fetchScanEndpoints(origin2, dev) {
162512
+ const baseUrl = getBaseUrl(dev);
162513
+ const url5 = `${baseUrl}/api/discover/scan?origin=${encodeURIComponent(origin2)}`;
162514
+ return fetch(url5, {
162515
+ signal: AbortSignal.timeout(5e3)
162516
+ }).then(async (res) => {
162517
+ if (!res.ok) return null;
162518
+ const data = scanResponseSchema.safeParse(await res.json());
162519
+ if (!data.success || data.data.endpoints.length === 0) return null;
162520
+ return {
162521
+ found: true,
162522
+ origin: data.data.origin,
162523
+ source: "scan",
162524
+ info: {
162525
+ title: data.data.title,
162526
+ description: data.data.description
162527
+ },
162528
+ endpoints: data.data.endpoints.map((e5) => ({
162529
+ path: e5.path,
162530
+ method: (e5.method || "GET").toUpperCase(),
162531
+ summary: e5.summary,
162532
+ authMode: e5.authMode ?? void 0,
162533
+ protocols: ["x402"],
162534
+ price: e5.price
162535
+ })),
162536
+ guidanceAvailable: false,
162537
+ guidanceTokens: 0,
162538
+ guidance: void 0
162539
+ };
162540
+ }).catch(() => null);
162476
162541
  }
162477
162542
 
162478
162543
  // src/server/tools/discover-resources.ts
162479
162544
  var toolName3 = "discover_api_endpoints";
162480
162545
  var OPENAPI_TRIED_PATHS = "/openapi.json, /.well-known/x402";
162481
- function registerDiscoveryTools(server) {
162546
+ var registerDiscoveryTools = ({
162547
+ server,
162548
+ flags
162549
+ }) => {
162482
162550
  server.registerTool(
162483
162551
  toolName3,
162484
162552
  {
@@ -162497,7 +162565,7 @@ function registerDiscoveryTools(server) {
162497
162565
  const discoverResult = await resultFromPromise(
162498
162566
  "discover",
162499
162567
  toolName3,
162500
- discoverResources(toolName3, args),
162568
+ discoverResources(toolName3, args, { flags }),
162501
162569
  (e5) => ({
162502
162570
  cause: "discover",
162503
162571
  message: e5 instanceof Error ? e5.message : String(e5)
@@ -162525,7 +162593,7 @@ function registerDiscoveryTools(server) {
162525
162593
  });
162526
162594
  })
162527
162595
  );
162528
- }
162596
+ };
162529
162597
  var hintMap = {
162530
162598
  timeout: "The server may be slow or unreachable. Try again later.",
162531
162599
  network: "Could not reach the server. Check the network connection and try again.",
@@ -169792,7 +169860,7 @@ var import_path3 = require("path");
169792
169860
  var import_url5 = require("url");
169793
169861
  function getVersion4() {
169794
169862
  if (true) {
169795
- return "0.13.8";
169863
+ return "0.14.1";
169796
169864
  }
169797
169865
  const __dirname2 = (0, import_path3.dirname)((0, import_url5.fileURLToPath)(importMetaUrl));
169798
169866
  const pkg2 = JSON.parse(
@@ -170181,7 +170249,7 @@ var startServer = async (flags) => {
170181
170249
  registerWalletTools(props);
170182
170250
  registerCheckEndpointTool(props);
170183
170251
  registerRedeemInviteTool(props);
170184
- registerDiscoveryTools(server);
170252
+ registerDiscoveryTools(props);
170185
170253
  registerTelemetryTools(props);
170186
170254
  registerSettingsTools(props);
170187
170255
  registerBridgeTool(props);
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  resolveOrigin
3
- } from "./chunk-THSTTUNV.js";
3
+ } from "./chunk-6I5J7IHC.js";
4
4
  import {
5
5
  installSkills
6
6
  } from "./chunk-FVVSNDQR.js";
7
7
  import {
8
8
  addUserOrigin
9
9
  } from "./chunk-YIU364NZ.js";
10
- import "./chunk-CR6PFCYR.js";
10
+ import "./chunk-Y2J274RB.js";
11
11
  import "./chunk-CR2YGI3I.js";
12
12
  import "./chunk-KVSTJRSJ.js";
13
13
  import "./chunk-FB5CMO3J.js";
14
+ import "./chunk-U6FRXL3X.js";
14
15
  import {
15
16
  errorResponse,
16
17
  outputAndExit,
@@ -96,4 +97,4 @@ var addSkillCommand = async (input) => {
96
97
  export {
97
98
  addSkillCommand
98
99
  };
99
- //# sourceMappingURL=add-skill-5O3R2PAD.js.map
100
+ //# sourceMappingURL=add-skill-JHBOH5SG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/shared/skills/origin.ts","../../src/cli/commands/add-skill.ts"],"sourcesContent":["import * as os from 'node:os';\nimport * as path from 'node:path';\n\nimport {\n safeMkdir,\n safeMkdtemp,\n safeRm,\n safeWriteFile,\n} from '@/shared/neverthrow/fs';\nimport { installSkills } from '@/shared/skills/core/install';\n\nimport type { InstallSkillsOptions } from './core/install';\nimport type { ResolvedOrigin } from '@/cli/lib/resolve-origin';\n\nexport async function addOriginSkill(\n origin: ResolvedOrigin,\n surface: string,\n options?: InstallSkillsOptions\n) {\n const tmpDirResult = await safeMkdtemp(\n surface,\n path.join(os.tmpdir(), 'agentcash-skill-add')\n );\n if (tmpDirResult.isErr()) {\n return tmpDirResult;\n }\n\n const tmpDir = tmpDirResult.value;\n\n const skillDir = path.join(tmpDir, originSkillTitle(origin));\n const mkdirResult = await safeMkdir(surface, skillDir, { recursive: true });\n\n if (mkdirResult.isErr()) {\n return mkdirResult;\n }\n\n const writeResult = await safeWriteFile(\n surface,\n path.join(skillDir, 'SKILL.md'),\n originSkillContent(origin)\n );\n\n if (writeResult.isErr()) {\n await safeRm(surface, tmpDir, { recursive: true, force: true });\n return writeResult;\n }\n\n const result = await installSkills(skillDir, options);\n\n await safeRm(surface, tmpDir, { recursive: true, force: true });\n\n return result;\n}\n\nconst originSkillTitle = (origin: ResolvedOrigin) =>\n origin.title.toLowerCase().replace(/[ .]/g, '-');\n\nconst originSkillContent = (origin: ResolvedOrigin) => `---\nname: ${originSkillTitle(origin)}\ndescription: ${origin.description}\ncommand: npx agentcash discover ${origin.url}\n---\nCall \\`npx agentcash discover ${origin.url}\\` to discover how to use ${origin.title}.`;\n","import { successResponse, outputAndExit, errorResponse } from '@/cli/output';\nimport { addUserOrigin } from '@/shared/user-origins';\n\nimport { resolveOrigin } from '../lib/resolve-origin';\nimport { addOriginSkill } from '@/shared/skills/origin';\n\nimport type { Command } from '@/types';\nimport type { DiscoverResourcesInput } from '@/operations/discover';\n\nconst SURFACE = 'cli:add-skill';\n\nexport const addSkillCommand: Command<DiscoverResourcesInput> = async input => {\n const resolved = await resolveOrigin(SURFACE, input);\n if (!resolved.ok) return outputAndExit(resolved.error, input);\n\n const { origin } = resolved;\n addUserOrigin(origin);\n\n const skillResult = await addOriginSkill(origin, SURFACE);\n\n if (!skillResult.isOk()) {\n return outputAndExit(\n errorResponse({\n code: 'GENERAL_ERROR',\n message: skillResult.error.message,\n surface: SURFACE,\n cause: 'skill_install_failed',\n }),\n input\n );\n }\n\n return outputAndExit(\n successResponse({\n ...origin,\n installed: skillResult.value.path,\n linkedAgents: skillResult.value.agents,\n note: 'Restart your MCP server for this origin to appear in the model context.',\n }),\n input\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AAatB,eAAsB,eACpB,QACA,SACA,SACA;AACA,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,IACK,UAAQ,UAAO,GAAG,qBAAqB;AAAA,EAC9C;AACA,MAAI,aAAa,MAAM,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,aAAa;AAE5B,QAAM,WAAgB,UAAK,QAAQ,iBAAiB,MAAM,CAAC;AAC3D,QAAM,cAAc,MAAM,UAAU,SAAS,UAAU,EAAE,WAAW,KAAK,CAAC;AAE1E,MAAI,YAAY,MAAM,GAAG;AACvB,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,MAAM;AAAA,IACxB;AAAA,IACK,UAAK,UAAU,UAAU;AAAA,IAC9B,mBAAmB,MAAM;AAAA,EAC3B;AAEA,MAAI,YAAY,MAAM,GAAG;AACvB,UAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAC9D,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,cAAc,UAAU,OAAO;AAEpD,QAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAE9D,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,WACxB,OAAO,MAAM,YAAY,EAAE,QAAQ,SAAS,GAAG;AAEjD,IAAM,qBAAqB,CAAC,WAA2B;AAAA,QAC/C,iBAAiB,MAAM,CAAC;AAAA,eACjB,OAAO,WAAW;AAAA,kCACC,OAAO,GAAG;AAAA;AAAA,gCAEZ,OAAO,GAAG,6BAA6B,OAAO,KAAK;;;ACrDnF,IAAM,UAAU;AAET,IAAM,kBAAmD,OAAM,UAAS;AAC7E,QAAM,WAAW,MAAM,cAAc,SAAS,KAAK;AACnD,MAAI,CAAC,SAAS,GAAI,QAAO,cAAc,SAAS,OAAO,KAAK;AAE5D,QAAM,EAAE,OAAO,IAAI;AACnB,gBAAc,MAAM;AAEpB,QAAM,cAAc,MAAM,eAAe,QAAQ,OAAO;AAExD,MAAI,CAAC,YAAY,KAAK,GAAG;AACvB,WAAO;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS,YAAY,MAAM;AAAA,QAC3B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,gBAAgB;AAAA,MACd,GAAG;AAAA,MACH,WAAW,YAAY,MAAM;AAAA,MAC7B,cAAc,YAAY,MAAM;AAAA,MAChC,MAAM;AAAA,IACR,CAAC;AAAA,IACD;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/shared/skills/origin.ts","../../src/cli/commands/add-skill.ts"],"sourcesContent":["import * as os from 'node:os';\nimport * as path from 'node:path';\n\nimport {\n safeMkdir,\n safeMkdtemp,\n safeRm,\n safeWriteFile,\n} from '@/shared/neverthrow/fs';\nimport { installSkills } from '@/shared/skills/core/install';\n\nimport type { InstallSkillsOptions } from './core/install';\nimport type { ResolvedOrigin } from '@/cli/lib/resolve-origin';\n\nexport async function addOriginSkill(\n origin: ResolvedOrigin,\n surface: string,\n options?: InstallSkillsOptions\n) {\n const tmpDirResult = await safeMkdtemp(\n surface,\n path.join(os.tmpdir(), 'agentcash-skill-add')\n );\n if (tmpDirResult.isErr()) {\n return tmpDirResult;\n }\n\n const tmpDir = tmpDirResult.value;\n\n const skillDir = path.join(tmpDir, originSkillTitle(origin));\n const mkdirResult = await safeMkdir(surface, skillDir, { recursive: true });\n\n if (mkdirResult.isErr()) {\n return mkdirResult;\n }\n\n const writeResult = await safeWriteFile(\n surface,\n path.join(skillDir, 'SKILL.md'),\n originSkillContent(origin)\n );\n\n if (writeResult.isErr()) {\n await safeRm(surface, tmpDir, { recursive: true, force: true });\n return writeResult;\n }\n\n const result = await installSkills(skillDir, options);\n\n await safeRm(surface, tmpDir, { recursive: true, force: true });\n\n return result;\n}\n\nconst originSkillTitle = (origin: ResolvedOrigin) =>\n origin.title.toLowerCase().replace(/[ .]/g, '-');\n\nconst originSkillContent = (origin: ResolvedOrigin) => `---\nname: ${originSkillTitle(origin)}\ndescription: ${origin.description}\ncommand: npx agentcash discover ${origin.url}\n---\nCall \\`npx agentcash discover ${origin.url}\\` to discover how to use ${origin.title}.`;\n","import { successResponse, outputAndExit, errorResponse } from '@/cli/output';\nimport { addUserOrigin } from '@/shared/user-origins';\n\nimport { resolveOrigin } from '../lib/resolve-origin';\nimport { addOriginSkill } from '@/shared/skills/origin';\n\nimport type { Command } from '@/types';\nimport type { DiscoverResourcesInput } from '@/operations/discover';\n\nconst SURFACE = 'cli:add-skill';\n\nexport const addSkillCommand: Command<DiscoverResourcesInput> = async input => {\n const resolved = await resolveOrigin(SURFACE, input);\n if (!resolved.ok) return outputAndExit(resolved.error, input);\n\n const { origin } = resolved;\n addUserOrigin(origin);\n\n const skillResult = await addOriginSkill(origin, SURFACE);\n\n if (!skillResult.isOk()) {\n return outputAndExit(\n errorResponse({\n code: 'GENERAL_ERROR',\n message: skillResult.error.message,\n surface: SURFACE,\n cause: 'skill_install_failed',\n }),\n input\n );\n }\n\n return outputAndExit(\n successResponse({\n ...origin,\n installed: skillResult.value.path,\n linkedAgents: skillResult.value.agents,\n note: 'Restart your MCP server for this origin to appear in the model context.',\n }),\n input\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,QAAQ;AACpB,YAAY,UAAU;AAatB,eAAsB,eACpB,QACA,SACA,SACA;AACA,QAAM,eAAe,MAAM;AAAA,IACzB;AAAA,IACK,UAAQ,UAAO,GAAG,qBAAqB;AAAA,EAC9C;AACA,MAAI,aAAa,MAAM,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,aAAa;AAE5B,QAAM,WAAgB,UAAK,QAAQ,iBAAiB,MAAM,CAAC;AAC3D,QAAM,cAAc,MAAM,UAAU,SAAS,UAAU,EAAE,WAAW,KAAK,CAAC;AAE1E,MAAI,YAAY,MAAM,GAAG;AACvB,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,MAAM;AAAA,IACxB;AAAA,IACK,UAAK,UAAU,UAAU;AAAA,IAC9B,mBAAmB,MAAM;AAAA,EAC3B;AAEA,MAAI,YAAY,MAAM,GAAG;AACvB,UAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAC9D,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,cAAc,UAAU,OAAO;AAEpD,QAAM,OAAO,SAAS,QAAQ,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AAE9D,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,WACxB,OAAO,MAAM,YAAY,EAAE,QAAQ,SAAS,GAAG;AAEjD,IAAM,qBAAqB,CAAC,WAA2B;AAAA,QAC/C,iBAAiB,MAAM,CAAC;AAAA,eACjB,OAAO,WAAW;AAAA,kCACC,OAAO,GAAG;AAAA;AAAA,gCAEZ,OAAO,GAAG,6BAA6B,OAAO,KAAK;;;ACrDnF,IAAM,UAAU;AAET,IAAM,kBAAmD,OAAM,UAAS;AAC7E,QAAM,WAAW,MAAM,cAAc,SAAS,KAAK;AACnD,MAAI,CAAC,SAAS,GAAI,QAAO,cAAc,SAAS,OAAO,KAAK;AAE5D,QAAM,EAAE,OAAO,IAAI;AACnB,gBAAc,MAAM;AAEpB,QAAM,cAAc,MAAM,eAAe,QAAQ,OAAO;AAExD,MAAI,CAAC,YAAY,KAAK,GAAG;AACvB,WAAO;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS,YAAY,MAAM;AAAA,QAC3B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,gBAAgB;AAAA,MACd,GAAG;AAAA,MACH,WAAW,YAAY,MAAM;AAAA,MAC7B,cAAc,YAAY,MAAM;AAAA,MAChC,MAAM;AAAA,IACR,CAAC;AAAA,IACD;AAAA,EACF;AACF;","names":[]}
@@ -1,17 +1,18 @@
1
1
  import {
2
2
  bridge,
3
3
  bridgeSchema
4
- } from "./chunk-FYEDHLYF.js";
4
+ } from "./chunk-Y4BYJBYU.js";
5
5
  import {
6
6
  DESCRIPTIONS
7
7
  } from "./chunk-CR2YGI3I.js";
8
- import "./chunk-QCP7Q6UF.js";
8
+ import "./chunk-BFOYXXLG.js";
9
9
  import {
10
10
  getWalletOrExit
11
11
  } from "./chunk-7AT3NXJ2.js";
12
12
  import "./chunk-F3KGAMIA.js";
13
13
  import "./chunk-NPJV7AMV.js";
14
14
  import "./chunk-KVSTJRSJ.js";
15
+ import "./chunk-U6FRXL3X.js";
15
16
  import {
16
17
  errorResponse,
17
18
  fromNeverthrowError,
@@ -53,4 +54,4 @@ var bridgeCommand = async (args) => {
53
54
  export {
54
55
  bridgeCommand
55
56
  };
56
- //# sourceMappingURL=bridge-3T5NWKDE.js.map
57
+ //# sourceMappingURL=bridge-YU2PE54M.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/commands/bridge.ts"],"sourcesContent":["import {\n successResponse,\n fromNeverthrowError,\n outputAndExit,\n errorResponse,\n} from '@/cli/output';\n\nimport { bridge, bridgeSchema, type BridgeInput } from '@/operations/bridge';\nimport { DESCRIPTIONS } from '@/shared/descriptions';\nimport type { Command } from '@/types';\nimport { getWalletOrExit } from '../lib/get-wallet-or-exit';\n\nconst SURFACE = `cli:${DESCRIPTIONS.bridge.toolNames.cli}`;\n\nexport const bridgeCommand: Command<BridgeInput> = async args => {\n const wallets = await getWalletOrExit(args);\n\n const parsedArgs = bridgeSchema.safeParse(args);\n\n if (!parsedArgs.success) {\n return outputAndExit(\n errorResponse({\n code: 'INVALID_INPUT',\n message: parsedArgs.error.message,\n surface: SURFACE,\n cause: 'validation',\n }),\n args\n );\n }\n\n const bridgeResult = await bridge({ ...args, ...parsedArgs.data }, wallets);\n\n if (bridgeResult.isErr()) {\n return outputAndExit(fromNeverthrowError(bridgeResult), args);\n }\n\n return outputAndExit(\n successResponse({\n success: true,\n }),\n args\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAM,UAAU,OAAO,aAAa,OAAO,UAAU,GAAG;AAEjD,IAAM,gBAAsC,OAAM,SAAQ;AAC/D,QAAM,UAAU,MAAM,gBAAgB,IAAI;AAE1C,QAAM,aAAa,aAAa,UAAU,IAAI;AAE9C,MAAI,CAAC,WAAW,SAAS;AACvB,WAAO;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS,WAAW,MAAM;AAAA,QAC1B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAEA,QAAM,eAAe,MAAM,OAAO,EAAE,GAAG,MAAM,GAAG,WAAW,KAAK,GAAG,OAAO;AAE1E,MAAI,aAAa,MAAM,GAAG;AACxB,WAAO,cAAc,oBAAoB,YAAY,GAAG,IAAI;AAAA,EAC9D;AAEA,SAAO;AAAA,IACL,gBAAgB;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/cli/commands/bridge.ts"],"sourcesContent":["import {\n successResponse,\n fromNeverthrowError,\n outputAndExit,\n errorResponse,\n} from '@/cli/output';\n\nimport { bridge, bridgeSchema, type BridgeInput } from '@/operations/bridge';\nimport { DESCRIPTIONS } from '@/shared/descriptions';\nimport type { Command } from '@/types';\nimport { getWalletOrExit } from '../lib/get-wallet-or-exit';\n\nconst SURFACE = `cli:${DESCRIPTIONS.bridge.toolNames.cli}`;\n\nexport const bridgeCommand: Command<BridgeInput> = async args => {\n const wallets = await getWalletOrExit(args);\n\n const parsedArgs = bridgeSchema.safeParse(args);\n\n if (!parsedArgs.success) {\n return outputAndExit(\n errorResponse({\n code: 'INVALID_INPUT',\n message: parsedArgs.error.message,\n surface: SURFACE,\n cause: 'validation',\n }),\n args\n );\n }\n\n const bridgeResult = await bridge({ ...args, ...parsedArgs.data }, wallets);\n\n if (bridgeResult.isErr()) {\n return outputAndExit(fromNeverthrowError(bridgeResult), args);\n }\n\n return outputAndExit(\n successResponse({\n success: true,\n }),\n args\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAM,UAAU,OAAO,aAAa,OAAO,UAAU,GAAG;AAEjD,IAAM,gBAAsC,OAAM,SAAQ;AAC/D,QAAM,UAAU,MAAM,gBAAgB,IAAI;AAE1C,QAAM,aAAa,aAAa,UAAU,IAAI;AAE9C,MAAI,CAAC,WAAW,SAAS;AACvB,WAAO;AAAA,MACL,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,SAAS,WAAW,MAAM;AAAA,QAC1B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACF;AAEA,QAAM,eAAe,MAAM,OAAO,EAAE,GAAG,MAAM,GAAG,WAAW,KAAK,GAAG,OAAO;AAE1E,MAAI,aAAa,MAAM,GAAG;AACxB,WAAO,cAAc,oBAAoB,YAAY,GAAG,IAAI;AAAA,EAC9D;AAEA,SAAO;AAAA,IACL,gBAAgB;AAAA,MACd,SAAS;AAAA,IACX,CAAC;AAAA,IACD;AAAA,EACF;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  discoverResources
3
- } from "./chunk-CR6PFCYR.js";
3
+ } from "./chunk-Y2J274RB.js";
4
4
  import {
5
5
  errorResponse
6
6
  } from "./chunk-7EBJ4BCH.js";
@@ -52,4 +52,4 @@ function resolveDescription(result) {
52
52
  export {
53
53
  resolveOrigin
54
54
  };
55
- //# sourceMappingURL=chunk-THSTTUNV.js.map
55
+ //# sourceMappingURL=chunk-6I5J7IHC.js.map
@@ -128,27 +128,6 @@ var isFetchError = (error) => {
128
128
  return error.type === errorType;
129
129
  };
130
130
 
131
- // src/shared/utils.ts
132
- import { formatUnits } from "viem";
133
- var getBaseUrl = (dev) => {
134
- return dev ? "http://localhost:3000" : "https://agentcash.dev";
135
- };
136
- var getDepositLink = (address, flags, network) => {
137
- return `${getBaseUrl(flags.dev)}/deposit/${address}${network ? `?network=${network}` : ""}`;
138
- };
139
- var tokenStringToNumber = (amount, decimals = 6) => {
140
- return Number(formatUnits(BigInt(amount), decimals));
141
- };
142
- var formatUsd = (amount) => {
143
- const fractionDigits = amount < 0.01 && amount > 0 ? 4 : 2;
144
- return amount.toLocaleString("en-US", {
145
- style: "currency",
146
- currency: "USD",
147
- minimumFractionDigits: 2,
148
- maximumFractionDigits: fractionDigits
149
- });
150
- };
151
-
152
131
  export {
153
132
  fetchErr,
154
133
  fetchOk,
@@ -156,10 +135,6 @@ export {
156
135
  safeFetch,
157
136
  safeFetchJson,
158
137
  safeParseResponse,
159
- isFetchError,
160
- getBaseUrl,
161
- getDepositLink,
162
- tokenStringToNumber,
163
- formatUsd
138
+ isFetchError
164
139
  };
165
- //# sourceMappingURL=chunk-QCP7Q6UF.js.map
140
+ //# sourceMappingURL=chunk-BFOYXXLG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/shared/neverthrow/fetch/index.ts"],"sourcesContent":["import contentType from 'content-type';\nimport { err, ok, resultFromPromise } from '@agentcash/neverthrow';\n\nimport type z from 'zod';\n\nimport type { BaseError, Error } from '@agentcash/neverthrow/types';\nimport type { BaseFetchError, FetchError, ParsedResponse } from './types';\nimport type { JsonObject } from '../json/types';\nimport { safeParse } from '../parse';\n\nconst DEFAULT_USER_FETCH_TIMEOUT = 30_000;\n\nconst IMAGE_TYPES = new Set([\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n 'image/tiff',\n 'image/bmp',\n 'image/ico',\n]);\n\nconst errorType = 'fetch';\n\nexport const fetchErr = (surface: string, error: BaseFetchError) =>\n err(errorType, surface, error);\nexport const fetchOk = <T>(value: T) => ok(value);\n\nexport const fetchHttpErr = (surface: string, response: Response) =>\n fetchErr(surface, {\n cause: 'http' as const,\n statusCode: response.status,\n message: response.statusText,\n response,\n });\n\nexport const safeFetch = (\n surface: string,\n request: Request,\n timeout = DEFAULT_USER_FETCH_TIMEOUT\n) => {\n const signal = AbortSignal.timeout(timeout);\n\n return resultFromPromise(\n errorType,\n surface,\n fetch(request, ...(signal ? [{ signal }] : [])),\n error => {\n if (\n error instanceof DOMException &&\n (error.name === 'TimeoutError' || error.name === 'AbortError')\n ) {\n return {\n cause: 'timeout',\n message: timeout\n ? `Request timed out after ${timeout}ms. You can increase the timeout by passing a larger value in the 'timeout' parameter.`\n : 'Request was aborted',\n } as BaseFetchError;\n }\n\n return {\n cause: 'network',\n message: error instanceof Error ? error.message : 'Network error',\n } as BaseFetchError;\n }\n );\n};\n\nexport const safeFetchJson = <T>(\n surface: string,\n request: Request,\n schema: z.ZodSchema<T>,\n timeout?: number\n) => {\n return safeFetch(surface, request, timeout)\n .andThen(response => {\n if (!response.ok) {\n return fetchHttpErr(surface, response);\n }\n\n return resultFromPromise(errorType, surface, response.json(), () => ({\n cause: 'parse' as const,\n message: 'Could not parse JSON from response',\n statusCode: response.status,\n contentType: response.headers.get('content-type') ?? 'Not specified',\n }));\n })\n .andThen(data => safeParse(surface, schema, data));\n};\n\nexport const safeParseResponse = (surface: string, response: Response) => {\n return resultFromPromise(\n errorType,\n surface,\n (async (): Promise<ParsedResponse> => {\n const header = response.headers.get('content-type');\n const { type: mimeType } = header\n ? contentType.parse(header)\n : { type: 'application/octet-stream' };\n\n switch (mimeType) {\n case 'application/json':\n return {\n type: 'json' as const,\n data: (await response.json()) as JsonObject,\n };\n case 'application/pdf':\n return {\n type: 'pdf' as const,\n mimeType,\n data: await response.arrayBuffer(),\n };\n case 'application/octet-stream':\n return {\n type: 'octet-stream' as const,\n mimeType,\n data: await response.arrayBuffer(),\n };\n case 'multipart/form-data':\n return { type: 'formData' as const, data: await response.formData() };\n }\n\n if (IMAGE_TYPES.has(mimeType)) {\n return {\n type: 'image' as const,\n mimeType,\n data: await response.arrayBuffer(),\n };\n }\n\n if (mimeType.startsWith('audio/')) {\n return {\n type: 'audio' as const,\n mimeType,\n data: await response.arrayBuffer(),\n };\n }\n\n if (mimeType.startsWith('video/')) {\n return {\n type: 'video' as const,\n mimeType,\n data: await response.arrayBuffer(),\n };\n }\n\n if (mimeType.startsWith('text/')) {\n return { type: 'text' as const, data: await response.text() };\n }\n\n throw new Error(`Unsupported content type: ${header}`);\n })(),\n e => ({\n cause: 'parse' as const,\n message: e instanceof Error ? e.message : 'Could not parse response',\n statusCode: response.status,\n contentType: response.headers.get('content-type') ?? 'Not specified',\n })\n );\n};\n\nexport const isFetchError = (error: Error<BaseError>): error is FetchError => {\n return error.type === errorType;\n};\n"],"mappings":"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","names":[]}
@@ -3,14 +3,14 @@ import {
3
3
  } from "./chunk-DZNSJ2BA.js";
4
4
  import {
5
5
  redeemInviteCode
6
- } from "./chunk-CWU2QWNS.js";
7
- import {
8
- getDepositLink
9
- } from "./chunk-QCP7Q6UF.js";
6
+ } from "./chunk-MSNAPI5G.js";
10
7
  import {
11
8
  EVM_CONFIGS,
12
9
  getTxExplorerUrl
13
10
  } from "./chunk-NPJV7AMV.js";
11
+ import {
12
+ getDepositLink
13
+ } from "./chunk-U6FRXL3X.js";
14
14
 
15
15
  // src/cli/lib/deposit.ts
16
16
  import chalk from "chalk";
@@ -106,4 +106,4 @@ var promptDeposit = async (surface, args, wallets) => {
106
106
  export {
107
107
  promptDeposit
108
108
  };
109
- //# sourceMappingURL=chunk-54KBJ4F6.js.map
109
+ //# sourceMappingURL=chunk-BNFMFAEF.js.map
@@ -7,20 +7,22 @@ import {
7
7
  } from "./chunk-IKPLMFAK.js";
8
8
  import {
9
9
  getBalance
10
- } from "./chunk-NQ7OJNSO.js";
10
+ } from "./chunk-KJCWPVQE.js";
11
11
  import {
12
12
  fetchErr,
13
13
  fetchOk,
14
- formatUsd,
15
- getDepositLink,
16
- safeFetch,
17
- tokenStringToNumber
18
- } from "./chunk-QCP7Q6UF.js";
14
+ safeFetch
15
+ } from "./chunk-BFOYXXLG.js";
19
16
  import {
20
17
  EVM_CONFIGS,
21
18
  caip2ToNetwork,
22
19
  networkToCaip2
23
20
  } from "./chunk-NPJV7AMV.js";
21
+ import {
22
+ formatUsd,
23
+ getDepositLink,
24
+ tokenStringToNumber
25
+ } from "./chunk-U6FRXL3X.js";
24
26
  import {
25
27
  log
26
28
  } from "./chunk-QZCSZB7E.js";
@@ -824,4 +826,4 @@ async function executeFetch(input, options) {
824
826
  export {
825
827
  executeFetch
826
828
  };
827
- //# sourceMappingURL=chunk-2NMSPXMD.js.map
829
+ //# sourceMappingURL=chunk-G5FHPXQL.js.map