agentcash 0.11.0 → 0.11.2
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.
- package/dist/cjs/run-server.cjs +39 -42
- package/dist/esm/{add-skill-6T2KEDPY.js → add-skill-LRKVJTRX.js} +4 -3
- package/dist/esm/{add-skill-6T2KEDPY.js.map → add-skill-LRKVJTRX.js.map} +1 -1
- package/dist/esm/{check-LXNXTMZQ.js → check-BC2AYK2F.js} +6 -6
- package/dist/esm/{chunk-4BIDHO2O.js → chunk-26HXYYNP.js} +7 -7
- package/dist/esm/chunk-26HXYYNP.js.map +1 -0
- package/dist/esm/{chunk-6JMSKM4U.js → chunk-2HJ52VIH.js} +2 -2
- package/dist/esm/{chunk-62B6T557.js → chunk-2KHCM4GH.js} +7 -7
- package/dist/esm/chunk-2KHCM4GH.js.map +1 -0
- package/dist/esm/{chunk-XKQ2YEPQ.js → chunk-3NHHOAYY.js} +2 -2
- package/dist/esm/{chunk-TSQHYLV6.js → chunk-A6NJUOCG.js} +3 -4
- package/dist/esm/chunk-A6NJUOCG.js.map +1 -0
- package/dist/esm/{chunk-GKUPI6IF.js → chunk-C25DJ6BH.js} +2 -2
- package/dist/esm/chunk-FB5CMO3J.js +17 -0
- package/dist/esm/chunk-FB5CMO3J.js.map +1 -0
- package/dist/esm/{chunk-DPFLZADN.js → chunk-KEUYTMIM.js} +3 -3
- package/dist/esm/{chunk-CSYBEBUR.js → chunk-KGGPN7W5.js} +5 -2
- package/dist/esm/{chunk-CSYBEBUR.js.map → chunk-KGGPN7W5.js.map} +1 -1
- package/dist/esm/{chunk-BLFVFL5X.js → chunk-LI5257FZ.js} +2 -2
- package/dist/esm/{chunk-ZTJS66XW.js → chunk-PITBMGHN.js} +6 -17
- package/dist/esm/chunk-PITBMGHN.js.map +1 -0
- package/dist/esm/{chunk-APU2KEXG.js → chunk-QPHNB77R.js} +14 -21
- package/dist/esm/chunk-QPHNB77R.js.map +1 -0
- package/dist/esm/{chunk-PK7YGJOH.js → chunk-RWYXPIDK.js} +2 -2
- package/dist/esm/{chunk-BQWJQ7AZ.js → chunk-V7NLC7HT.js} +6 -3
- package/dist/esm/chunk-V7NLC7HT.js.map +1 -0
- package/dist/esm/{chunk-PMBIKPZT.js → chunk-ZRM5POEW.js} +2 -2
- package/dist/esm/{discover-YVQEIK7X.js → discover-6NWDM5WY.js} +4 -3
- package/dist/esm/discover-6NWDM5WY.js.map +1 -0
- package/dist/esm/{fetch-G63KJXEG.js → fetch-DJKLEQQD.js} +7 -7
- package/dist/esm/{fund-IAFNIUCC.js → fund-QP4AOYIT.js} +4 -4
- package/dist/esm/index.js +26 -26
- package/dist/esm/{install-OC5BXEQ3.js → install-WOSQ5SPS.js} +7 -7
- package/dist/esm/{onboard-2KL7GTXH.js → onboard-F2E5VASS.js} +7 -8
- package/dist/esm/{onboard-2KL7GTXH.js.map → onboard-F2E5VASS.js.map} +1 -1
- package/dist/esm/{origins-V4GYSKX2.js → origins-YYHZAFKX.js} +7 -4
- package/dist/esm/origins-YYHZAFKX.js.map +1 -0
- package/dist/esm/{register-MEKBJVNW.js → register-CD34YPLN.js} +6 -2
- package/dist/esm/register-CD34YPLN.js.map +1 -0
- package/dist/esm/{report-error-FPNNL6AX.js → report-error-QUXZHGCB.js} +3 -3
- package/dist/esm/{server-IDKRNCMZ.js → server-GJZF7DXM.js} +2 -2
- package/dist/esm/{server-WJRY25DU.js → server-MBCZGZKK.js} +13 -13
- package/dist/esm/{try-MZGLV6TT.js → try-OOK7FEWW.js} +7 -7
- package/dist/esm/try-OOK7FEWW.js.map +1 -0
- package/dist/esm/{wallet-56MFWQGR.js → wallet-5D2DDA5U.js} +5 -6
- package/dist/esm/{wallet-56MFWQGR.js.map → wallet-5D2DDA5U.js.map} +1 -1
- package/package.json +3 -3
- package/dist/esm/chunk-4BIDHO2O.js.map +0 -1
- package/dist/esm/chunk-62B6T557.js.map +0 -1
- package/dist/esm/chunk-APU2KEXG.js.map +0 -1
- package/dist/esm/chunk-BQWJQ7AZ.js.map +0 -1
- package/dist/esm/chunk-KKY7UGCK.js +0 -7
- package/dist/esm/chunk-KKY7UGCK.js.map +0 -1
- package/dist/esm/chunk-TSQHYLV6.js.map +0 -1
- package/dist/esm/chunk-ZTJS66XW.js.map +0 -1
- package/dist/esm/discover-YVQEIK7X.js.map +0 -1
- package/dist/esm/origins-V4GYSKX2.js.map +0 -1
- package/dist/esm/register-MEKBJVNW.js.map +0 -1
- package/dist/esm/try-MZGLV6TT.js.map +0 -1
- /package/dist/esm/{check-LXNXTMZQ.js.map → check-BC2AYK2F.js.map} +0 -0
- /package/dist/esm/{chunk-6JMSKM4U.js.map → chunk-2HJ52VIH.js.map} +0 -0
- /package/dist/esm/{chunk-XKQ2YEPQ.js.map → chunk-3NHHOAYY.js.map} +0 -0
- /package/dist/esm/{chunk-GKUPI6IF.js.map → chunk-C25DJ6BH.js.map} +0 -0
- /package/dist/esm/{chunk-DPFLZADN.js.map → chunk-KEUYTMIM.js.map} +0 -0
- /package/dist/esm/{chunk-BLFVFL5X.js.map → chunk-LI5257FZ.js.map} +0 -0
- /package/dist/esm/{chunk-PK7YGJOH.js.map → chunk-RWYXPIDK.js.map} +0 -0
- /package/dist/esm/{chunk-PMBIKPZT.js.map → chunk-ZRM5POEW.js.map} +0 -0
- /package/dist/esm/{fetch-G63KJXEG.js.map → fetch-DJKLEQQD.js.map} +0 -0
- /package/dist/esm/{fund-IAFNIUCC.js.map → fund-QP4AOYIT.js.map} +0 -0
- /package/dist/esm/{install-OC5BXEQ3.js.map → install-WOSQ5SPS.js.map} +0 -0
- /package/dist/esm/{report-error-FPNNL6AX.js.map → report-error-QUXZHGCB.js.map} +0 -0
- /package/dist/esm/{server-IDKRNCMZ.js.map → server-GJZF7DXM.js.map} +0 -0
- /package/dist/esm/{server-WJRY25DU.js.map → server-MBCZGZKK.js.map} +0 -0
package/dist/cjs/run-server.cjs
CHANGED
|
@@ -112192,21 +112192,15 @@ init_cjs_shims();
|
|
|
112192
112192
|
// src/shared/protocols/detect.ts
|
|
112193
112193
|
init_cjs_shims();
|
|
112194
112194
|
|
|
112195
|
-
// src/shared/protocols/mpp/enabled.ts
|
|
112196
|
-
init_cjs_shims();
|
|
112197
|
-
var isMppEnabled = () => "0.11.0".includes("-mpp");
|
|
112198
|
-
|
|
112199
112195
|
// src/shared/protocols/types.ts
|
|
112200
112196
|
init_cjs_shims();
|
|
112201
112197
|
|
|
112202
112198
|
// src/shared/protocols/detect.ts
|
|
112203
112199
|
function detectPaymentProtocols(response) {
|
|
112204
112200
|
const protocols = [];
|
|
112205
|
-
|
|
112206
|
-
|
|
112207
|
-
|
|
112208
|
-
protocols.push("mpp" /* MPP */);
|
|
112209
|
-
}
|
|
112201
|
+
const wwwAuth = response.headers.get("WWW-Authenticate");
|
|
112202
|
+
if (wwwAuth?.startsWith("Payment")) {
|
|
112203
|
+
protocols.push("mpp" /* MPP */);
|
|
112210
112204
|
}
|
|
112211
112205
|
const paymentRequired = response.headers.get("payment-required");
|
|
112212
112206
|
if (paymentRequired) {
|
|
@@ -122537,12 +122531,6 @@ var safeGetMppChallenge = (surface, response) => {
|
|
|
122537
122531
|
);
|
|
122538
122532
|
};
|
|
122539
122533
|
var safeCreateMppCredential = (surface, wallets, response) => {
|
|
122540
|
-
if (!isMppEnabled()) {
|
|
122541
|
-
return mppErr(surface, {
|
|
122542
|
-
cause: "mpp_disabled",
|
|
122543
|
-
message: "MPP is not enabled"
|
|
122544
|
-
});
|
|
122545
|
-
}
|
|
122546
122534
|
const TEMPO_RPC_URL = "https://eng:acard-melody-fashion-finish@rpc.mainnet.tempo.xyz";
|
|
122547
122535
|
const client = Mppx_exports.create({
|
|
122548
122536
|
polyfill: false,
|
|
@@ -123467,6 +123455,18 @@ init_cjs_shims();
|
|
|
123467
123455
|
// src/shared/request/schemas/core.ts
|
|
123468
123456
|
init_cjs_shims();
|
|
123469
123457
|
|
|
123458
|
+
// src/shared/url.ts
|
|
123459
|
+
init_cjs_shims();
|
|
123460
|
+
function ensureProtocol(target) {
|
|
123461
|
+
const trimmed = target.trim();
|
|
123462
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
123463
|
+
const host = trimmed.split("/")[0] ?? "";
|
|
123464
|
+
const hostname5 = host.split(":")[0] ?? "";
|
|
123465
|
+
const isLocal = hostname5 === "localhost" || hostname5 === "127.0.0.1" || hostname5 === "::1";
|
|
123466
|
+
return `${isLocal ? "http" : "https"}://${trimmed}`;
|
|
123467
|
+
}
|
|
123468
|
+
var zodUrl = zod_default.string().transform(ensureProtocol).pipe(zod_default.url());
|
|
123469
|
+
|
|
123470
123470
|
// src/shared/request/types.ts
|
|
123471
123471
|
init_cjs_shims();
|
|
123472
123472
|
var RequestMethod = /* @__PURE__ */ ((RequestMethod2) => {
|
|
@@ -123482,17 +123482,17 @@ var RequestMethod = /* @__PURE__ */ ((RequestMethod2) => {
|
|
|
123482
123482
|
var requestMethodValues = Object.values(RequestMethod);
|
|
123483
123483
|
var methodSchema = zod_default.enum(RequestMethod).optional().default("GET" /* GET */).describe(REQUEST_PARAMS.method);
|
|
123484
123484
|
var coreRequestSchema = zod_default.object({
|
|
123485
|
-
url:
|
|
123485
|
+
url: zodUrl.describe(REQUEST_PARAMS.url),
|
|
123486
123486
|
method: methodSchema
|
|
123487
123487
|
});
|
|
123488
123488
|
var paymentNetworks = [
|
|
123489
123489
|
"base" /* BASE */,
|
|
123490
123490
|
"solana" /* SOLANA */,
|
|
123491
|
-
|
|
123491
|
+
"tempo" /* TEMPO */
|
|
123492
123492
|
];
|
|
123493
123493
|
var paymentProtocols = [
|
|
123494
123494
|
"x402" /* X402 */,
|
|
123495
|
-
|
|
123495
|
+
"mpp" /* MPP */
|
|
123496
123496
|
];
|
|
123497
123497
|
var fetchShape = {
|
|
123498
123498
|
paymentNetwork: zod_default.enum(paymentNetworks).optional().describe(REQUEST_FETCH_PARAMS.paymentNetwork),
|
|
@@ -123626,21 +123626,15 @@ var getBalances = async (surface, wallets, flags) => {
|
|
|
123626
123626
|
evm: { address: evmAddress },
|
|
123627
123627
|
svm: { address: svmAddress }
|
|
123628
123628
|
} = wallets;
|
|
123629
|
-
const balanceResults = await Promise.all(
|
|
123630
|
-
|
|
123631
|
-
|
|
123632
|
-
surface,
|
|
123633
|
-
{ address: svmAddress, network: "solana" /* SOLANA */ },
|
|
123634
|
-
flags
|
|
123635
|
-
),
|
|
123636
|
-
...isMppEnabled() ? [
|
|
123637
|
-
getBalance4(
|
|
123629
|
+
const balanceResults = await Promise.all(
|
|
123630
|
+
Object.values(Network).map(
|
|
123631
|
+
(network) => getBalance4(
|
|
123638
123632
|
surface,
|
|
123639
|
-
{ address:
|
|
123633
|
+
network === "solana" /* SOLANA */ ? { address: svmAddress, network } : { address: evmAddress, network },
|
|
123640
123634
|
flags
|
|
123641
123635
|
)
|
|
123642
|
-
|
|
123643
|
-
|
|
123636
|
+
)
|
|
123637
|
+
);
|
|
123644
123638
|
const accounts = balanceResults.filter((balance) => balance.isOk()).map((balance) => {
|
|
123645
123639
|
const address2 = balance.value.paymentNetwork === "solana" /* SOLANA */ ? svmAddress : evmAddress;
|
|
123646
123640
|
const depositLink = getDepositLink(
|
|
@@ -137455,7 +137449,7 @@ var HTTP_METHODS = /* @__PURE__ */ new Set([
|
|
|
137455
137449
|
"TRACE"
|
|
137456
137450
|
]);
|
|
137457
137451
|
var DEFAULT_MISSING_METHOD = "POST";
|
|
137458
|
-
function
|
|
137452
|
+
function ensureProtocol2(target) {
|
|
137459
137453
|
const trimmed = target.trim();
|
|
137460
137454
|
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
137461
137455
|
const host = trimmed.split("/")[0] ?? "";
|
|
@@ -137464,7 +137458,7 @@ function ensureProtocol(target) {
|
|
|
137464
137458
|
return `${isLocal ? "http" : "https"}://${trimmed}`;
|
|
137465
137459
|
}
|
|
137466
137460
|
function normalizeOrigin(target) {
|
|
137467
|
-
const url22 = new URL(
|
|
137461
|
+
const url22 = new URL(ensureProtocol2(target));
|
|
137468
137462
|
url22.pathname = "";
|
|
137469
137463
|
url22.search = "";
|
|
137470
137464
|
url22.hash = "";
|
|
@@ -138146,7 +138140,7 @@ function getAdvisoriesForProbe(probe, path) {
|
|
|
138146
138140
|
});
|
|
138147
138141
|
}
|
|
138148
138142
|
async function checkEndpointSchema(options) {
|
|
138149
|
-
const endpoint = new URL(
|
|
138143
|
+
const endpoint = new URL(ensureProtocol2(options.url));
|
|
138150
138144
|
const origin = normalizeOrigin(endpoint.origin);
|
|
138151
138145
|
const path = normalizePath(endpoint.pathname || "/");
|
|
138152
138146
|
if (options.probe || options.sampleInputBody !== void 0) {
|
|
@@ -138273,7 +138267,10 @@ async function checkEndpoint(surface, requestInput, context2) {
|
|
|
138273
138267
|
(json4) => json4,
|
|
138274
138268
|
() => void 0
|
|
138275
138269
|
),
|
|
138276
|
-
paymentRequiredBody: safeToJsonObject(
|
|
138270
|
+
paymentRequiredBody: safeToJsonObject(
|
|
138271
|
+
surface,
|
|
138272
|
+
a.paymentRequiredBody
|
|
138273
|
+
).match(
|
|
138277
138274
|
(json4) => json4,
|
|
138278
138275
|
() => void 0
|
|
138279
138276
|
),
|
|
@@ -138472,12 +138469,12 @@ init_cjs_shims();
|
|
|
138472
138469
|
init_cjs_shims();
|
|
138473
138470
|
var import_fs7 = require("fs");
|
|
138474
138471
|
var import_path2 = require("path");
|
|
138475
|
-
var
|
|
138472
|
+
var import_url2 = require("url");
|
|
138476
138473
|
function getVersion3() {
|
|
138477
138474
|
if (true) {
|
|
138478
|
-
return "0.11.
|
|
138475
|
+
return "0.11.2";
|
|
138479
138476
|
}
|
|
138480
|
-
const __dirname2 = (0, import_path2.dirname)((0,
|
|
138477
|
+
const __dirname2 = (0, import_path2.dirname)((0, import_url2.fileURLToPath)(importMetaUrl));
|
|
138481
138478
|
const pkg2 = JSON.parse(
|
|
138482
138479
|
(0, import_fs7.readFileSync)((0, import_path2.join)(__dirname2, "../../package.json"), "utf-8")
|
|
138483
138480
|
);
|
|
@@ -138595,11 +138592,10 @@ init_cjs_shims();
|
|
|
138595
138592
|
// src/operations/discover.ts
|
|
138596
138593
|
init_cjs_shims();
|
|
138597
138594
|
var discoverResourcesSchema = zod_default.object({
|
|
138598
|
-
url:
|
|
138595
|
+
url: zodUrl.describe(TOOL_PARAMS.discoverApiEndpoints.url),
|
|
138599
138596
|
includeGuidance: zod_default.boolean().optional().describe(TOOL_PARAMS.discoverApiEndpoints.includeGuidance)
|
|
138600
138597
|
});
|
|
138601
138598
|
async function discoverResources(surface, args) {
|
|
138602
|
-
const { url: url4, includeGuidance } = args;
|
|
138603
138599
|
const parsedArgs = discoverResourcesSchema.safeParse(args);
|
|
138604
138600
|
if (!parsedArgs.success) {
|
|
138605
138601
|
return {
|
|
@@ -138608,6 +138604,7 @@ async function discoverResources(surface, args) {
|
|
|
138608
138604
|
message: parsedArgs.error.message
|
|
138609
138605
|
};
|
|
138610
138606
|
}
|
|
138607
|
+
const { url: url4, includeGuidance } = parsedArgs.data;
|
|
138611
138608
|
const guidance = includeGuidance === true ? GuidanceMode.Always : includeGuidance === false ? GuidanceMode.Never : GuidanceMode.Auto;
|
|
138612
138609
|
const result = await discoverOriginSchema({ target: url4, guidance });
|
|
138613
138610
|
if (!result.found) {
|
|
@@ -138733,12 +138730,12 @@ var registerSettingsTools = ({ server }) => {
|
|
|
138733
138730
|
init_cjs_shims();
|
|
138734
138731
|
var import_fs8 = require("fs");
|
|
138735
138732
|
var import_path3 = require("path");
|
|
138736
|
-
var
|
|
138733
|
+
var import_url4 = require("url");
|
|
138737
138734
|
function getVersion4() {
|
|
138738
138735
|
if (true) {
|
|
138739
|
-
return "0.11.
|
|
138736
|
+
return "0.11.2";
|
|
138740
138737
|
}
|
|
138741
|
-
const __dirname2 = (0, import_path3.dirname)((0,
|
|
138738
|
+
const __dirname2 = (0, import_path3.dirname)((0, import_url4.fileURLToPath)(importMetaUrl));
|
|
138742
138739
|
const pkg2 = JSON.parse(
|
|
138743
138740
|
(0, import_fs8.readFileSync)((0, import_path3.join)(__dirname2, "../../../package.json"), "utf-8")
|
|
138744
138741
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveOrigin
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2KHCM4GH.js";
|
|
4
4
|
import {
|
|
5
5
|
installSkills
|
|
6
6
|
} from "./chunk-4JNU4ZDR.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
addUserOrigin
|
|
9
9
|
} from "./chunk-TX4UYXJO.js";
|
|
10
10
|
import "./chunk-LNQRIXFK.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-V7NLC7HT.js";
|
|
12
12
|
import {
|
|
13
13
|
safeMkdir,
|
|
14
14
|
safeMkdtemp,
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
outputAndExit,
|
|
24
24
|
successResponse
|
|
25
25
|
} from "./chunk-7EBJ4BCH.js";
|
|
26
|
+
import "./chunk-FB5CMO3J.js";
|
|
26
27
|
import "./chunk-C7KWYVS3.js";
|
|
27
28
|
|
|
28
29
|
// src/shared/skills/origin.ts
|
|
@@ -95,4 +96,4 @@ var addSkillCommand = async (input) => {
|
|
|
95
96
|
export {
|
|
96
97
|
addSkillCommand
|
|
97
98
|
};
|
|
98
|
-
//# sourceMappingURL=add-skill-
|
|
99
|
+
//# sourceMappingURL=add-skill-LRKVJTRX.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":"
|
|
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,19 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
checkEndpoint
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KGGPN7W5.js";
|
|
4
4
|
import {
|
|
5
5
|
cliRequestSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2HJ52VIH.js";
|
|
7
7
|
import "./chunk-S3Q7HU4U.js";
|
|
8
8
|
import {
|
|
9
9
|
RequestMethod
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-26HXYYNP.js";
|
|
11
11
|
import {
|
|
12
12
|
getWalletOrExit
|
|
13
13
|
} from "./chunk-OZD4QBHS.js";
|
|
14
14
|
import "./chunk-SIBQDIAW.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-TSQHYLV6.js";
|
|
15
|
+
import "./chunk-A6NJUOCG.js";
|
|
17
16
|
import "./chunk-NROPRHIC.js";
|
|
18
17
|
import "./chunk-LNQRIXFK.js";
|
|
19
18
|
import "./chunk-Y4VZACTC.js";
|
|
@@ -25,6 +24,7 @@ import {
|
|
|
25
24
|
outputAndExit,
|
|
26
25
|
successResponse
|
|
27
26
|
} from "./chunk-7EBJ4BCH.js";
|
|
27
|
+
import "./chunk-FB5CMO3J.js";
|
|
28
28
|
import "./chunk-C7KWYVS3.js";
|
|
29
29
|
|
|
30
30
|
// src/cli/commands/check.ts
|
|
@@ -69,4 +69,4 @@ var checkCommand = async (args) => {
|
|
|
69
69
|
export {
|
|
70
70
|
checkCommand
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=check-
|
|
72
|
+
//# sourceMappingURL=check-BC2AYK2F.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
isMppEnabled
|
|
3
|
-
} from "./chunk-KKY7UGCK.js";
|
|
4
1
|
import {
|
|
5
2
|
REQUEST_FETCH_PARAMS,
|
|
6
3
|
REQUEST_PARAMS
|
|
7
4
|
} from "./chunk-FNE2SKE7.js";
|
|
5
|
+
import {
|
|
6
|
+
zodUrl
|
|
7
|
+
} from "./chunk-FB5CMO3J.js";
|
|
8
8
|
|
|
9
9
|
// src/shared/request/types.ts
|
|
10
10
|
var RequestMethod = /* @__PURE__ */ ((RequestMethod2) => {
|
|
@@ -21,17 +21,17 @@ import z from "zod";
|
|
|
21
21
|
var requestMethodValues = Object.values(RequestMethod);
|
|
22
22
|
var methodSchema = z.enum(RequestMethod).optional().default("GET" /* GET */).describe(REQUEST_PARAMS.method);
|
|
23
23
|
var coreRequestSchema = z.object({
|
|
24
|
-
url:
|
|
24
|
+
url: zodUrl.describe(REQUEST_PARAMS.url),
|
|
25
25
|
method: methodSchema
|
|
26
26
|
});
|
|
27
27
|
var paymentNetworks = [
|
|
28
28
|
"base" /* BASE */,
|
|
29
29
|
"solana" /* SOLANA */,
|
|
30
|
-
|
|
30
|
+
"tempo" /* TEMPO */
|
|
31
31
|
];
|
|
32
32
|
var paymentProtocols = [
|
|
33
33
|
"x402" /* X402 */,
|
|
34
|
-
|
|
34
|
+
"mpp" /* MPP */
|
|
35
35
|
];
|
|
36
36
|
var fetchShape = {
|
|
37
37
|
paymentNetwork: z.enum(paymentNetworks).optional().describe(REQUEST_FETCH_PARAMS.paymentNetwork),
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
paymentProtocols,
|
|
49
49
|
fetchShape
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-26HXYYNP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/request/types.ts","../../src/shared/request/schemas/core.ts"],"sourcesContent":["import type { GlobalFlags } from '@/types';\nimport type { Wallets } from '@/wallet';\nimport type { coreRequestSchema } from './schemas/core';\nimport type z from 'zod';\n\nexport interface RequestContext {\n wallets: Wallets;\n flags: GlobalFlags;\n}\n\nexport enum RequestMethod {\n GET = 'GET',\n POST = 'POST',\n PUT = 'PUT',\n DELETE = 'DELETE',\n PATCH = 'PATCH',\n}\n\nexport type RequestInput = z.infer<typeof coreRequestSchema> & {\n headers: Record<string, string>;\n body?: string | undefined;\n};\n","import z from 'zod';\n\nimport { REQUEST_PARAMS, REQUEST_FETCH_PARAMS } from '@/shared/descriptions';\nimport { PaymentProtocol } from '@/shared/protocols/types';\nimport { Network } from '@agentcash/networks';\nimport { zodUrl } from '@/shared/url';\n\nimport { RequestMethod } from '../types';\n\nexport const requestMethodValues: readonly RequestMethod[] =\n Object.values(RequestMethod);\n\nconst methodSchema = z\n .enum(RequestMethod)\n .optional()\n .default(RequestMethod.GET)\n .describe(REQUEST_PARAMS.method);\n\nexport const coreRequestSchema = z.object({\n url: zodUrl.describe(REQUEST_PARAMS.url),\n method: methodSchema,\n});\n\nexport const paymentNetworks: Network[] = [\n Network.BASE,\n Network.SOLANA,\n Network.TEMPO,\n];\n\nexport const paymentProtocols: PaymentProtocol[] = [\n PaymentProtocol.X402,\n PaymentProtocol.MPP,\n];\n\nexport const fetchShape = {\n paymentNetwork: z\n .enum(paymentNetworks)\n .optional()\n .describe(REQUEST_FETCH_PARAMS.paymentNetwork),\n paymentProtocol: z\n .enum(paymentProtocols)\n .optional()\n .describe(REQUEST_FETCH_PARAMS.paymentProtocol),\n maxAmount: z\n .number()\n .positive()\n .optional()\n .describe(REQUEST_FETCH_PARAMS.maxAmount),\n timeout: z\n .number()\n .int()\n .positive()\n .optional()\n .describe(REQUEST_PARAMS.timeout),\n};\n"],"mappings":";;;;;;;;;AAUO,IAAK,gBAAL,kBAAKA,mBAAL;AACL,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,UAAO;AACP,EAAAA,eAAA,SAAM;AACN,EAAAA,eAAA,YAAS;AACT,EAAAA,eAAA,WAAQ;AALE,SAAAA;AAAA,GAAA;;;ACVZ,OAAO,OAAO;AASP,IAAM,sBACX,OAAO,OAAO,aAAa;AAE7B,IAAM,eAAe,EAClB,KAAK,aAAa,EAClB,SAAS,EACT,uBAAyB,EACzB,SAAS,eAAe,MAAM;AAE1B,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACxC,KAAK,OAAO,SAAS,eAAe,GAAG;AAAA,EACvC,QAAQ;AACV,CAAC;AAEM,IAAM,kBAA6B;AAAA;AAAA;AAAA;AAI1C;AAEO,IAAM,mBAAsC;AAAA;AAAA;AAGnD;AAEO,IAAM,aAAa;AAAA,EACxB,gBAAgB,EACb,KAAK,eAAe,EACpB,SAAS,EACT,SAAS,qBAAqB,cAAc;AAAA,EAC/C,iBAAiB,EACd,KAAK,gBAAgB,EACrB,SAAS,EACT,SAAS,qBAAqB,eAAe;AAAA,EAChD,WAAW,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,qBAAqB,SAAS;AAAA,EAC1C,SAAS,EACN,OAAO,EACP,IAAI,EACJ,SAAS,EACT,SAAS,EACT,SAAS,eAAe,OAAO;AACpC;","names":["RequestMethod"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
coreRequestSchema,
|
|
3
3
|
fetchShape
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-26HXYYNP.js";
|
|
5
5
|
import {
|
|
6
6
|
REQUEST_PARAMS
|
|
7
7
|
} from "./chunk-FNE2SKE7.js";
|
|
@@ -46,4 +46,4 @@ export {
|
|
|
46
46
|
cliRequestSchema,
|
|
47
47
|
cliFetchRequestSchema
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=chunk-
|
|
49
|
+
//# sourceMappingURL=chunk-2HJ52VIH.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
discoverResources
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-V7NLC7HT.js";
|
|
4
4
|
import {
|
|
5
5
|
errorResponse
|
|
6
6
|
} from "./chunk-7EBJ4BCH.js";
|
|
@@ -13,7 +13,7 @@ async function resolveOrigin(surface, args) {
|
|
|
13
13
|
ok: false,
|
|
14
14
|
error: errorResponse({
|
|
15
15
|
code: "GENERAL_ERROR",
|
|
16
|
-
message: result.message ?? `No OpenAPI spec found for ${
|
|
16
|
+
message: result.message ?? `No OpenAPI spec found for ${result.origin}`,
|
|
17
17
|
surface,
|
|
18
18
|
cause: result.cause
|
|
19
19
|
})
|
|
@@ -30,16 +30,16 @@ async function resolveOrigin(surface, args) {
|
|
|
30
30
|
return {
|
|
31
31
|
ok: true,
|
|
32
32
|
origin: {
|
|
33
|
-
url:
|
|
34
|
-
title: resolveTitle(result
|
|
33
|
+
url: result.origin,
|
|
34
|
+
title: resolveTitle(result),
|
|
35
35
|
description,
|
|
36
36
|
warnings
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
function resolveTitle(result
|
|
40
|
+
function resolveTitle(result) {
|
|
41
41
|
if (result.info?.title) return result.info.title;
|
|
42
|
-
const hostname = new URL(
|
|
42
|
+
const hostname = new URL(result.origin).hostname.replace(/^www\./, "");
|
|
43
43
|
const parts = hostname.split(".");
|
|
44
44
|
return parts.length > 1 ? parts.slice(0, -1).join(".") : hostname;
|
|
45
45
|
}
|
|
@@ -52,4 +52,4 @@ function resolveDescription(result) {
|
|
|
52
52
|
export {
|
|
53
53
|
resolveOrigin
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-2KHCM4GH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cli/lib/resolve-origin.ts"],"sourcesContent":["import type { DiscoverOriginSchemaSuccess } from '@agentcash/discovery';\n\nimport { discoverResources } from '@/operations/discover';\nimport { errorResponse } from '@/cli/output';\n\nimport type z from 'zod';\nimport type { discoverResourcesSchema } from '@/operations/discover';\n\nexport interface ResolvedOrigin {\n url: string;\n title: string;\n description: string;\n warnings: string[];\n}\n\n/**\n * Normalize a URL, validate it, and discover its OpenAPI spec.\n * Shared by `agentcash add` and `agentcash origins add`.\n */\nexport async function resolveOrigin(\n surface: string,\n args: z.input<typeof discoverResourcesSchema>\n) {\n const result = await discoverResources(surface, args);\n\n if (!result.found) {\n return {\n ok: false as const,\n error: errorResponse({\n code: 'GENERAL_ERROR',\n message: result.message ?? `No OpenAPI spec found for ${result.origin}`,\n surface,\n cause: result.cause,\n }),\n };\n }\n\n const description = resolveDescription(result) ?? '';\n\n const warnings: string[] = [];\n if (!result.info?.title)\n warnings.push('No title found in OpenAPI spec; derived from URL.');\n if (!result.info?.description)\n warnings.push(\n description\n ? 'No description found in OpenAPI spec; derived from guidance.'\n : 'No description could be found.'\n );\n\n return {\n ok: true as const,\n origin: {\n url: result.origin,\n title: resolveTitle(result),\n description,\n warnings,\n },\n };\n}\n\n/**\n * Derive a display title for an origin. Uses the OpenAPI info title if present,\n * otherwise falls back to the hostname with www. stripped and the TLD removed\n * (e.g. \"stableenrich.dev\" → \"stableenrich\").\n */\nfunction resolveTitle(result: DiscoverOriginSchemaSuccess): string {\n if (result.info?.title) return result.info.title;\n const hostname = new URL(result.origin).hostname.replace(/^www\\./, '');\n const parts = hostname.split('.');\n return parts.length > 1 ? parts.slice(0, -1).join('.') : hostname;\n}\n\n/**\n * Resolve a description for an origin. Uses the OpenAPI/well-known info description if\n * present, otherwise falls back to the first 100 characters of guidance.\n * Returns null if neither is available.\n */\nfunction resolveDescription(\n result: DiscoverOriginSchemaSuccess\n): string | null {\n if (result.info?.description) return result.info.description;\n if (result.guidance) return result.guidance.slice(0, 100);\n return null;\n}\n"],"mappings":";;;;;;;;AAmBA,eAAsB,cACpB,SACA,MACA;AACA,QAAM,SAAS,MAAM,kBAAkB,SAAS,IAAI;AAEpD,MAAI,CAAC,OAAO,OAAO;AACjB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OAAO,cAAc;AAAA,QACnB,MAAM;AAAA,QACN,SAAS,OAAO,WAAW,6BAA6B,OAAO,MAAM;AAAA,QACrE;AAAA,QACA,OAAO,OAAO;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,cAAc,mBAAmB,MAAM,KAAK;AAElD,QAAM,WAAqB,CAAC;AAC5B,MAAI,CAAC,OAAO,MAAM;AAChB,aAAS,KAAK,mDAAmD;AACnE,MAAI,CAAC,OAAO,MAAM;AAChB,aAAS;AAAA,MACP,cACI,iEACA;AAAA,IACN;AAEF,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ;AAAA,MACN,KAAK,OAAO;AAAA,MACZ,OAAO,aAAa,MAAM;AAAA,MAC1B;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAOA,SAAS,aAAa,QAA6C;AACjE,MAAI,OAAO,MAAM,MAAO,QAAO,OAAO,KAAK;AAC3C,QAAM,WAAW,IAAI,IAAI,OAAO,MAAM,EAAE,SAAS,QAAQ,UAAU,EAAE;AACrE,QAAM,QAAQ,SAAS,MAAM,GAAG;AAChC,SAAO,MAAM,SAAS,IAAI,MAAM,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,IAAI;AAC3D;AAOA,SAAS,mBACP,QACe;AACf,MAAI,OAAO,MAAM,YAAa,QAAO,OAAO,KAAK;AACjD,MAAI,OAAO,SAAU,QAAO,OAAO,SAAS,MAAM,GAAG,GAAG;AACxD,SAAO;AACT;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MCP_VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZRM5POEW.js";
|
|
4
4
|
import {
|
|
5
5
|
getBaseUrl,
|
|
6
6
|
safeFetchJson
|
|
@@ -49,4 +49,4 @@ async function submitErrorReport(surface, input, address, dev) {
|
|
|
49
49
|
export {
|
|
50
50
|
submitErrorReport
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-3NHHOAYY.js.map
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// ../../internal/networks/src/schemas.ts
|
|
2
|
-
import z from "zod";
|
|
3
|
-
|
|
4
1
|
// ../../internal/networks/src/types.ts
|
|
5
2
|
var Network = /* @__PURE__ */ ((Network2) => {
|
|
6
3
|
Network2["BASE"] = "base";
|
|
@@ -10,6 +7,7 @@ var Network = /* @__PURE__ */ ((Network2) => {
|
|
|
10
7
|
})(Network || {});
|
|
11
8
|
|
|
12
9
|
// ../../internal/networks/src/schemas.ts
|
|
10
|
+
import z from "zod";
|
|
13
11
|
import { isAddress } from "viem";
|
|
14
12
|
import { isAddress as isSolanaAddress } from "@solana/kit";
|
|
15
13
|
var networkSchema = z.enum(Network);
|
|
@@ -72,6 +70,7 @@ var caip2ToNetwork = (caip2) => {
|
|
|
72
70
|
};
|
|
73
71
|
|
|
74
72
|
export {
|
|
73
|
+
Network,
|
|
75
74
|
networkSchema,
|
|
76
75
|
optionalNetworkSchema,
|
|
77
76
|
ethereumAddressSchema,
|
|
@@ -83,4 +82,4 @@ export {
|
|
|
83
82
|
getTxExplorerUrl,
|
|
84
83
|
caip2ToNetwork
|
|
85
84
|
};
|
|
86
|
-
//# sourceMappingURL=chunk-
|
|
85
|
+
//# sourceMappingURL=chunk-A6NJUOCG.js.map
|
|
@@ -0,0 +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: '0x20c000000000000000000000b9537d11c60e8b50',\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"]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
ethereumAddressSchema,
|
|
7
7
|
networkSchema,
|
|
8
8
|
solanaAddressSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-A6NJUOCG.js";
|
|
10
10
|
import {
|
|
11
11
|
getBaseUrl,
|
|
12
12
|
safeFetchJson
|
|
@@ -65,4 +65,4 @@ var getBalance = async (surface, input, flags) => {
|
|
|
65
65
|
export {
|
|
66
66
|
getBalance
|
|
67
67
|
};
|
|
68
|
-
//# sourceMappingURL=chunk-
|
|
68
|
+
//# sourceMappingURL=chunk-C25DJ6BH.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/shared/url.ts
|
|
2
|
+
import z from "zod";
|
|
3
|
+
function ensureProtocol(target) {
|
|
4
|
+
const trimmed = target.trim();
|
|
5
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
6
|
+
const host = trimmed.split("/")[0] ?? "";
|
|
7
|
+
const hostname = host.split(":")[0] ?? "";
|
|
8
|
+
const isLocal = hostname === "localhost" || hostname === "127.0.0.1" || hostname === "::1";
|
|
9
|
+
return `${isLocal ? "http" : "https"}://${trimmed}`;
|
|
10
|
+
}
|
|
11
|
+
var zodUrl = z.string().transform(ensureProtocol).pipe(z.url());
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
ensureProtocol,
|
|
15
|
+
zodUrl
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-FB5CMO3J.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/url.ts"],"sourcesContent":["import z from 'zod';\n\n/**\n * Prepend https:// to bare domains so URL.canParse / new URL() work.\n * Localhost and 127.0.0.1 get http:// instead.\n */\nexport function ensureProtocol(target: string): string {\n const trimmed = target.trim();\n if (/^https?:\\/\\//i.test(trimmed)) return trimmed;\n const host = trimmed.split('/')[0] ?? '';\n const hostname = host.split(':')[0] ?? '';\n const isLocal =\n hostname === 'localhost' || hostname === '127.0.0.1' || hostname === '::1';\n return `${isLocal ? 'http' : 'https'}://${trimmed}`;\n}\n\n/**\n * Zod schema that accepts bare domains (e.g. \"stableenrich.dev\") and full URLs.\n * Normalizes with {@link ensureProtocol} then validates as a URL.\n */\nexport const zodUrl = z.string().transform(ensureProtocol).pipe(z.url());\n"],"mappings":";AAAA,OAAO,OAAO;AAMP,SAAS,eAAe,QAAwB;AACrD,QAAM,UAAU,OAAO,KAAK;AAC5B,MAAI,gBAAgB,KAAK,OAAO,EAAG,QAAO;AAC1C,QAAM,OAAO,QAAQ,MAAM,GAAG,EAAE,CAAC,KAAK;AACtC,QAAM,WAAW,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK;AACvC,QAAM,UACJ,aAAa,eAAe,aAAa,eAAe,aAAa;AACvE,SAAO,GAAG,UAAU,SAAS,OAAO,MAAM,OAAO;AACnD;AAMO,IAAM,SAAS,EAAE,OAAO,EAAE,UAAU,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC;","names":[]}
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-DZNSJ2BA.js";
|
|
4
4
|
import {
|
|
5
5
|
redeemInviteCode
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LI5257FZ.js";
|
|
7
7
|
import {
|
|
8
8
|
EVM_CONFIGS,
|
|
9
9
|
getTxExplorerUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-A6NJUOCG.js";
|
|
11
11
|
import {
|
|
12
12
|
getDepositLink
|
|
13
13
|
} from "./chunk-QZBSRYSW.js";
|
|
@@ -106,4 +106,4 @@ var promptDeposit = async (surface, args, wallets) => {
|
|
|
106
106
|
export {
|
|
107
107
|
promptDeposit
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
109
|
+
//# sourceMappingURL=chunk-KEUYTMIM.js.map
|
|
@@ -54,7 +54,10 @@ async function checkEndpoint(surface, requestInput, context) {
|
|
|
54
54
|
(json) => json,
|
|
55
55
|
() => void 0
|
|
56
56
|
),
|
|
57
|
-
paymentRequiredBody: safeToJsonObject(
|
|
57
|
+
paymentRequiredBody: safeToJsonObject(
|
|
58
|
+
surface,
|
|
59
|
+
a.paymentRequiredBody
|
|
60
|
+
).match(
|
|
58
61
|
(json) => json,
|
|
59
62
|
() => void 0
|
|
60
63
|
),
|
|
@@ -66,4 +69,4 @@ async function checkEndpoint(surface, requestInput, context) {
|
|
|
66
69
|
export {
|
|
67
70
|
checkEndpoint
|
|
68
71
|
};
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-KGGPN7W5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/operations/check-endpoint.ts"],"sourcesContent":["import { checkEndpointSchema } from '@agentcash/discovery';\n\nimport { log } from '@/shared/log';\n\nimport { buildRequestHeaders } from '@/shared/request/build';\n\nimport type {\n RequestContext,\n RequestInput,\n RequestMethod,\n} from '@/shared/request/types';\nimport { safeParseJson, safeToJsonObject } from '@/shared/neverthrow/json';\n\ntype CheckRequestInput = Omit<RequestInput, 'method'> & {\n method?: RequestMethod;\n};\n\nexport async function checkEndpoint(\n surface: string,\n requestInput: CheckRequestInput,\n context: RequestContext\n) {\n const { url, method, body } = requestInput;\n log.info('Checking endpoint', {\n surface,\n url,\n method,\n hasSampleInputBody: !!body,\n });\n\n const requestHeaders = buildRequestHeaders(requestInput.headers, context);\n\n const result = await checkEndpointSchema({\n url,\n sampleInputBody: body\n ? safeParseJson(surface, body).match(\n json => json as Record<string, unknown>,\n () => undefined\n )\n : undefined,\n headers: Object.fromEntries(requestHeaders.entries()),\n });\n\n if (!result.found) {\n log.error(`[checkEndpoint failed`, {\n surface,\n url,\n cause: result.cause,\n message: result.message,\n });\n return result;\n }\n\n const advisories = method\n ? result.advisories.filter(a => (a.method as RequestMethod) === method)\n : result.advisories;\n\n return {\n ...result,\n advisories: advisories.map(a => ({\n ...a,\n inputSchema: safeToJsonObject(surface, a.inputSchema).match(\n json => json,\n () => undefined\n ),\n outputSchema: safeToJsonObject(surface, a.outputSchema).match(\n json => json,\n () => undefined\n ),\n paymentOptions: safeToJsonObject(surface, a.paymentOptions).match(\n json => json,\n () => undefined\n ),\n paymentRequiredBody: safeToJsonObject(surface
|
|
1
|
+
{"version":3,"sources":["../../src/operations/check-endpoint.ts"],"sourcesContent":["import { checkEndpointSchema } from '@agentcash/discovery';\n\nimport { log } from '@/shared/log';\n\nimport { buildRequestHeaders } from '@/shared/request/build';\n\nimport type {\n RequestContext,\n RequestInput,\n RequestMethod,\n} from '@/shared/request/types';\nimport { safeParseJson, safeToJsonObject } from '@/shared/neverthrow/json';\n\ntype CheckRequestInput = Omit<RequestInput, 'method'> & {\n method?: RequestMethod;\n};\n\nexport async function checkEndpoint(\n surface: string,\n requestInput: CheckRequestInput,\n context: RequestContext\n) {\n const { url, method, body } = requestInput;\n log.info('Checking endpoint', {\n surface,\n url,\n method,\n hasSampleInputBody: !!body,\n });\n\n const requestHeaders = buildRequestHeaders(requestInput.headers, context);\n\n const result = await checkEndpointSchema({\n url,\n sampleInputBody: body\n ? safeParseJson(surface, body).match(\n json => json as Record<string, unknown>,\n () => undefined\n )\n : undefined,\n headers: Object.fromEntries(requestHeaders.entries()),\n });\n\n if (!result.found) {\n log.error(`[checkEndpoint failed`, {\n surface,\n url,\n cause: result.cause,\n message: result.message,\n });\n return result;\n }\n\n const advisories = method\n ? result.advisories.filter(a => (a.method as RequestMethod) === method)\n : result.advisories;\n\n return {\n ...result,\n advisories: advisories.map(a => ({\n ...a,\n inputSchema: safeToJsonObject(surface, a.inputSchema).match(\n json => json,\n () => undefined\n ),\n outputSchema: safeToJsonObject(surface, a.outputSchema).match(\n json => json,\n () => undefined\n ),\n paymentOptions: safeToJsonObject(surface, a.paymentOptions).match(\n json => json,\n () => undefined\n ),\n paymentRequiredBody: safeToJsonObject(\n surface,\n a.paymentRequiredBody\n ).match(\n json => json,\n () => undefined\n ),\n requiresPayment: a.authMode === 'paid' || a.authMode === 'apiKey+paid',\n })),\n };\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,2BAA2B;AAiBpC,eAAsB,cACpB,SACA,cACA,SACA;AACA,QAAM,EAAE,KAAK,QAAQ,KAAK,IAAI;AAC9B,MAAI,KAAK,qBAAqB;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA,oBAAoB,CAAC,CAAC;AAAA,EACxB,CAAC;AAED,QAAM,iBAAiB,oBAAoB,aAAa,SAAS,OAAO;AAExE,QAAM,SAAS,MAAM,oBAAoB;AAAA,IACvC;AAAA,IACA,iBAAiB,OACb,cAAc,SAAS,IAAI,EAAE;AAAA,MAC3B,UAAQ;AAAA,MACR,MAAM;AAAA,IACR,IACA;AAAA,IACJ,SAAS,OAAO,YAAY,eAAe,QAAQ,CAAC;AAAA,EACtD,CAAC;AAED,MAAI,CAAC,OAAO,OAAO;AACjB,QAAI,MAAM,yBAAyB;AAAA,MACjC;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd,SAAS,OAAO;AAAA,IAClB,CAAC;AACD,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,SACf,OAAO,WAAW,OAAO,OAAM,EAAE,WAA6B,MAAM,IACpE,OAAO;AAEX,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY,WAAW,IAAI,QAAM;AAAA,MAC/B,GAAG;AAAA,MACH,aAAa,iBAAiB,SAAS,EAAE,WAAW,EAAE;AAAA,QACpD,UAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,MACA,cAAc,iBAAiB,SAAS,EAAE,YAAY,EAAE;AAAA,QACtD,UAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,MACA,gBAAgB,iBAAiB,SAAS,EAAE,cAAc,EAAE;AAAA,QAC1D,UAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,MACA,qBAAqB;AAAA,QACnB;AAAA,QACA,EAAE;AAAA,MACJ,EAAE;AAAA,QACA,UAAQ;AAAA,QACR,MAAM;AAAA,MACR;AAAA,MACA,iBAAiB,EAAE,aAAa,UAAU,EAAE,aAAa;AAAA,IAC3D,EAAE;AAAA,EACJ;AACF;","names":[]}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-6XGAIMNK.js";
|
|
5
5
|
import {
|
|
6
6
|
optionalNetworkSchema
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-A6NJUOCG.js";
|
|
8
8
|
import {
|
|
9
9
|
getBaseUrl,
|
|
10
10
|
safeFetchJson
|
|
@@ -85,4 +85,4 @@ var redeemInviteCode = async (surface, args, globalArgs, wallets) => {
|
|
|
85
85
|
export {
|
|
86
86
|
redeemInviteCode
|
|
87
87
|
};
|
|
88
|
-
//# sourceMappingURL=chunk-
|
|
88
|
+
//# sourceMappingURL=chunk-LI5257FZ.js.map
|
|
@@ -7,14 +7,11 @@ import {
|
|
|
7
7
|
} from "./chunk-S3Q7HU4U.js";
|
|
8
8
|
import {
|
|
9
9
|
getBalance
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import {
|
|
12
|
-
isMppEnabled
|
|
13
|
-
} from "./chunk-KKY7UGCK.js";
|
|
10
|
+
} from "./chunk-C25DJ6BH.js";
|
|
14
11
|
import {
|
|
15
12
|
caip2ToNetwork,
|
|
16
13
|
networkToCaip2
|
|
17
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-A6NJUOCG.js";
|
|
18
15
|
import {
|
|
19
16
|
fetchErr,
|
|
20
17
|
fetchOk,
|
|
@@ -343,11 +340,9 @@ async function attemptSiwxAuth(response, authRetryRequest, paymentRetryRequest,
|
|
|
343
340
|
// src/shared/protocols/detect.ts
|
|
344
341
|
function detectPaymentProtocols(response) {
|
|
345
342
|
const protocols = [];
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
protocols.push("mpp" /* MPP */);
|
|
350
|
-
}
|
|
343
|
+
const wwwAuth = response.headers.get("WWW-Authenticate");
|
|
344
|
+
if (wwwAuth?.startsWith("Payment")) {
|
|
345
|
+
protocols.push("mpp" /* MPP */);
|
|
351
346
|
}
|
|
352
347
|
const paymentRequired = response.headers.get("payment-required");
|
|
353
348
|
if (paymentRequired) {
|
|
@@ -384,12 +379,6 @@ var safeGetMppChallenge = (surface, response) => {
|
|
|
384
379
|
);
|
|
385
380
|
};
|
|
386
381
|
var safeCreateMppCredential = (surface, wallets, response) => {
|
|
387
|
-
if (!isMppEnabled()) {
|
|
388
|
-
return mppErr(surface, {
|
|
389
|
-
cause: "mpp_disabled",
|
|
390
|
-
message: "MPP is not enabled"
|
|
391
|
-
});
|
|
392
|
-
}
|
|
393
382
|
const TEMPO_RPC_URL = "https://eng:acard-melody-fashion-finish@rpc.mainnet.tempo.xyz";
|
|
394
383
|
const client = Mppx.create({
|
|
395
384
|
polyfill: false,
|
|
@@ -804,4 +793,4 @@ async function executeFetch(input, options) {
|
|
|
804
793
|
export {
|
|
805
794
|
executeFetch
|
|
806
795
|
};
|
|
807
|
-
//# sourceMappingURL=chunk-
|
|
796
|
+
//# sourceMappingURL=chunk-PITBMGHN.js.map
|