agentcash 0.14.4 → 0.15.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.
- package/dist/cjs/run-server.cjs +41391 -17817
- package/dist/esm/{add-skill-MO4YPAYM.js → add-skill-5HFBHQTQ.js} +10 -10
- package/dist/esm/{bridge-Q4YWH4WW.js → bridge-BOLVXKCD.js} +7 -7
- package/dist/esm/{check-3GPSLBNI.js → check-FEWY37RD.js} +7 -7
- package/dist/esm/{chunk-JKK2XT7N.js → chunk-2C7X7XIG.js} +3 -3
- package/dist/esm/{chunk-UCADMHNP.js → chunk-2E4ZDG2M.js} +2 -2
- package/dist/esm/{chunk-YUPRVVFP.js → chunk-4MCPQDKM.js} +3 -3
- package/dist/esm/{chunk-JX2XE6FD.js → chunk-4TIYIVZF.js} +1 -1
- package/dist/esm/chunk-4TIYIVZF.js.map +1 -0
- package/dist/esm/{chunk-ONGJJBKT.js → chunk-66AVEFTO.js} +4 -4
- package/dist/esm/{chunk-CUZFVI2X.js → chunk-7CV5CENJ.js} +2 -2
- package/dist/esm/{chunk-MSNAPI5G.js → chunk-BIO4Y27B.js} +3 -3
- package/dist/esm/{chunk-WRNDLZ3K.js → chunk-BM5W5OV2.js} +3 -3
- package/dist/esm/{chunk-BNFMFAEF.js → chunk-C7B6LEPE.js} +3 -3
- package/dist/esm/{chunk-JVMJVMWB.js → chunk-EDI77S36.js} +209 -84
- package/dist/esm/chunk-EDI77S36.js.map +1 -0
- package/dist/esm/{chunk-KJCWPVQE.js → chunk-EM6OE6WL.js} +3 -3
- package/dist/esm/chunk-FBGNOXFP.js +102 -0
- package/dist/esm/chunk-FBGNOXFP.js.map +1 -0
- package/dist/esm/{chunk-NPJV7AMV.js → chunk-HTGTKVXB.js} +6 -2
- package/dist/esm/chunk-HTGTKVXB.js.map +1 -0
- package/dist/esm/{chunk-L4U6AJW3.js → chunk-K3WB4R2P.js} +3 -2
- package/dist/esm/{chunk-L4U6AJW3.js.map → chunk-K3WB4R2P.js.map} +1 -1
- package/dist/esm/{chunk-2OKYUR7B.js → chunk-MKA2PTOE.js} +5 -7
- package/dist/esm/chunk-MKA2PTOE.js.map +1 -0
- package/dist/esm/{chunk-2SZ6MZS3.js → chunk-O57QVTLM.js} +2 -2
- package/dist/esm/{chunk-QOMU3YLK.js → chunk-PQXKQJIU.js} +2 -2
- package/dist/esm/{chunk-BFOYXXLG.js → chunk-RAS5DZPQ.js} +15 -1
- package/dist/esm/chunk-RAS5DZPQ.js.map +1 -0
- package/dist/esm/{chunk-7KT6UCTT.js → chunk-SLTRGQ7W.js} +8 -3
- package/dist/esm/{chunk-7KT6UCTT.js.map → chunk-SLTRGQ7W.js.map} +1 -1
- package/dist/esm/chunk-TX7S7QGG.js +146 -0
- package/dist/esm/chunk-TX7S7QGG.js.map +1 -0
- package/dist/esm/{chunk-3PYQIEMA.js → chunk-W37JKCLN.js} +41 -3
- package/dist/esm/chunk-W37JKCLN.js.map +1 -0
- package/dist/esm/{chunk-TTAO2EJK.js → chunk-YPFBBTA2.js} +1 -1
- package/dist/esm/chunk-YPFBBTA2.js.map +1 -0
- package/dist/esm/{discover-TE2BZJMA.js → discover-TXEJNB5A.js} +5 -5
- package/dist/esm/{fetch-ZAECKP5C.js → fetch-AFKCCCHZ.js} +12 -11
- package/dist/esm/{fetch-ZAECKP5C.js.map → fetch-AFKCCCHZ.js.map} +1 -1
- package/dist/esm/{fund-HHL4QEU5.js → fund-FCOUEG7T.js} +5 -5
- package/dist/esm/index.js +70 -34
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{install-EOF353SY.js → install-LAWJMMPO.js} +8 -8
- package/dist/esm/{onboard-EMUCEMFN.js → onboard-W7CUGJJM.js} +12 -12
- package/dist/esm/{origins-MBWKIWLR.js → origins-EVVF3N4G.js} +6 -6
- package/dist/esm/{register-NSQPYCWI.js → register-5KLJDRG4.js} +62 -21
- package/dist/esm/register-5KLJDRG4.js.map +1 -0
- package/dist/esm/{report-error-7RCKDM2N.js → report-error-HN4YXEOC.js} +5 -5
- package/dist/esm/{search-SYBTWXON.js → search-MEGI3KJW.js} +11 -10
- package/dist/esm/{search-SYBTWXON.js.map → search-MEGI3KJW.js.map} +1 -1
- package/dist/esm/{server-ZIKTGUST.js → server-7QJB55AW.js} +2 -2
- package/dist/esm/{server-NHOKDQHU.js → server-M7SLAGFR.js} +83 -18
- package/dist/esm/server-M7SLAGFR.js.map +1 -0
- package/dist/esm/sessions-NUOSJC6M.js +74 -0
- package/dist/esm/sessions-NUOSJC6M.js.map +1 -0
- package/dist/esm/{settings-RLSKK5RM.js → settings-SBL7WIBQ.js} +2 -2
- package/dist/esm/{try-MXWZSHRS.js → try-4RHB5KHZ.js} +10 -10
- package/dist/esm/try-4RHB5KHZ.js.map +1 -0
- package/dist/esm/{wallet-QOS3FPSF.js → wallet-PY4ZDHNZ.js} +12 -12
- package/package.json +8 -8
- package/dist/esm/chunk-2OKYUR7B.js.map +0 -1
- package/dist/esm/chunk-3PYQIEMA.js.map +0 -1
- package/dist/esm/chunk-BFOYXXLG.js.map +0 -1
- package/dist/esm/chunk-JVMJVMWB.js.map +0 -1
- package/dist/esm/chunk-JX2XE6FD.js.map +0 -1
- package/dist/esm/chunk-NPJV7AMV.js.map +0 -1
- package/dist/esm/chunk-TTAO2EJK.js.map +0 -1
- package/dist/esm/register-NSQPYCWI.js.map +0 -1
- package/dist/esm/server-NHOKDQHU.js.map +0 -1
- package/dist/esm/try-MXWZSHRS.js.map +0 -1
- /package/dist/esm/{add-skill-MO4YPAYM.js.map → add-skill-5HFBHQTQ.js.map} +0 -0
- /package/dist/esm/{bridge-Q4YWH4WW.js.map → bridge-BOLVXKCD.js.map} +0 -0
- /package/dist/esm/{check-3GPSLBNI.js.map → check-FEWY37RD.js.map} +0 -0
- /package/dist/esm/{chunk-JKK2XT7N.js.map → chunk-2C7X7XIG.js.map} +0 -0
- /package/dist/esm/{chunk-UCADMHNP.js.map → chunk-2E4ZDG2M.js.map} +0 -0
- /package/dist/esm/{chunk-YUPRVVFP.js.map → chunk-4MCPQDKM.js.map} +0 -0
- /package/dist/esm/{chunk-ONGJJBKT.js.map → chunk-66AVEFTO.js.map} +0 -0
- /package/dist/esm/{chunk-CUZFVI2X.js.map → chunk-7CV5CENJ.js.map} +0 -0
- /package/dist/esm/{chunk-MSNAPI5G.js.map → chunk-BIO4Y27B.js.map} +0 -0
- /package/dist/esm/{chunk-WRNDLZ3K.js.map → chunk-BM5W5OV2.js.map} +0 -0
- /package/dist/esm/{chunk-BNFMFAEF.js.map → chunk-C7B6LEPE.js.map} +0 -0
- /package/dist/esm/{chunk-KJCWPVQE.js.map → chunk-EM6OE6WL.js.map} +0 -0
- /package/dist/esm/{chunk-2SZ6MZS3.js.map → chunk-O57QVTLM.js.map} +0 -0
- /package/dist/esm/{chunk-QOMU3YLK.js.map → chunk-PQXKQJIU.js.map} +0 -0
- /package/dist/esm/{discover-TE2BZJMA.js.map → discover-TXEJNB5A.js.map} +0 -0
- /package/dist/esm/{fund-HHL4QEU5.js.map → fund-FCOUEG7T.js.map} +0 -0
- /package/dist/esm/{install-EOF353SY.js.map → install-LAWJMMPO.js.map} +0 -0
- /package/dist/esm/{onboard-EMUCEMFN.js.map → onboard-W7CUGJJM.js.map} +0 -0
- /package/dist/esm/{origins-MBWKIWLR.js.map → origins-EVVF3N4G.js.map} +0 -0
- /package/dist/esm/{report-error-7RCKDM2N.js.map → report-error-HN4YXEOC.js.map} +0 -0
- /package/dist/esm/{server-ZIKTGUST.js.map → server-7QJB55AW.js.map} +0 -0
- /package/dist/esm/{settings-RLSKK5RM.js.map → settings-SBL7WIBQ.js.map} +0 -0
- /package/dist/esm/{wallet-QOS3FPSF.js.map → wallet-PY4ZDHNZ.js.map} +0 -0
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveOrigin
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-O57QVTLM.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-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-K3WB4R2P.js";
|
|
11
|
+
import "./chunk-W37JKCLN.js";
|
|
12
12
|
import "./chunk-KVSTJRSJ.js";
|
|
13
13
|
import "./chunk-FB5CMO3J.js";
|
|
14
14
|
import "./chunk-U6FRXL3X.js";
|
|
15
|
-
import {
|
|
16
|
-
errorResponse,
|
|
17
|
-
outputAndExit,
|
|
18
|
-
successResponse
|
|
19
|
-
} from "./chunk-7EBJ4BCH.js";
|
|
20
15
|
import {
|
|
21
16
|
safeMkdir,
|
|
22
17
|
safeMkdtemp,
|
|
23
18
|
safeRm,
|
|
24
19
|
safeWriteFile
|
|
25
20
|
} from "./chunk-QZCSZB7E.js";
|
|
26
|
-
import
|
|
21
|
+
import {
|
|
22
|
+
errorResponse,
|
|
23
|
+
outputAndExit,
|
|
24
|
+
successResponse
|
|
25
|
+
} from "./chunk-7EBJ4BCH.js";
|
|
26
|
+
import "./chunk-YPFBBTA2.js";
|
|
27
27
|
import "./chunk-YWNBUUBR.js";
|
|
28
28
|
import "./chunk-ITCDZXBZ.js";
|
|
29
29
|
|
|
@@ -97,4 +97,4 @@ var addSkillCommand = async (input) => {
|
|
|
97
97
|
export {
|
|
98
98
|
addSkillCommand
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=add-skill-
|
|
100
|
+
//# sourceMappingURL=add-skill-5HFBHQTQ.js.map
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import {
|
|
2
2
|
bridge,
|
|
3
3
|
bridgeSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MKA2PTOE.js";
|
|
5
5
|
import {
|
|
6
6
|
DESCRIPTIONS
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-W37JKCLN.js";
|
|
8
|
+
import "./chunk-RAS5DZPQ.js";
|
|
9
9
|
import {
|
|
10
10
|
getWalletOrExit
|
|
11
11
|
} from "./chunk-7AT3NXJ2.js";
|
|
12
12
|
import "./chunk-F3KGAMIA.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-HTGTKVXB.js";
|
|
14
14
|
import "./chunk-KVSTJRSJ.js";
|
|
15
15
|
import "./chunk-U6FRXL3X.js";
|
|
16
|
+
import "./chunk-QZCSZB7E.js";
|
|
16
17
|
import {
|
|
17
18
|
errorResponse,
|
|
18
19
|
fromNeverthrowError,
|
|
19
20
|
outputAndExit,
|
|
20
21
|
successResponse
|
|
21
22
|
} from "./chunk-7EBJ4BCH.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-TTAO2EJK.js";
|
|
23
|
+
import "./chunk-YPFBBTA2.js";
|
|
24
24
|
import "./chunk-YWNBUUBR.js";
|
|
25
25
|
import "./chunk-ITCDZXBZ.js";
|
|
26
26
|
|
|
@@ -54,4 +54,4 @@ var bridgeCommand = async (args) => {
|
|
|
54
54
|
export {
|
|
55
55
|
bridgeCommand
|
|
56
56
|
};
|
|
57
|
-
//# sourceMappingURL=bridge-
|
|
57
|
+
//# sourceMappingURL=bridge-BOLVXKCD.js.map
|
|
@@ -3,9 +3,9 @@ import {
|
|
|
3
3
|
} from "./chunk-5CMVFNXO.js";
|
|
4
4
|
import {
|
|
5
5
|
cliRequestSchema
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-2C7X7XIG.js";
|
|
7
|
+
import "./chunk-SLTRGQ7W.js";
|
|
8
|
+
import "./chunk-W37JKCLN.js";
|
|
9
9
|
import "./chunk-IKPLMFAK.js";
|
|
10
10
|
import {
|
|
11
11
|
RequestMethod
|
|
@@ -14,16 +14,16 @@ import {
|
|
|
14
14
|
getWalletOrExit
|
|
15
15
|
} from "./chunk-7AT3NXJ2.js";
|
|
16
16
|
import "./chunk-F3KGAMIA.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-HTGTKVXB.js";
|
|
18
18
|
import "./chunk-KVSTJRSJ.js";
|
|
19
19
|
import "./chunk-FB5CMO3J.js";
|
|
20
|
+
import "./chunk-QZCSZB7E.js";
|
|
20
21
|
import {
|
|
21
22
|
errorResponse,
|
|
22
23
|
outputAndExit,
|
|
23
24
|
successResponse
|
|
24
25
|
} from "./chunk-7EBJ4BCH.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-TTAO2EJK.js";
|
|
26
|
+
import "./chunk-YPFBBTA2.js";
|
|
27
27
|
import "./chunk-YWNBUUBR.js";
|
|
28
28
|
import "./chunk-ITCDZXBZ.js";
|
|
29
29
|
|
|
@@ -69,4 +69,4 @@ var checkCommand = async (args) => {
|
|
|
69
69
|
export {
|
|
70
70
|
checkCommand
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=check-
|
|
72
|
+
//# sourceMappingURL=check-FEWY37RD.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
coreRequestSchema,
|
|
3
3
|
fetchShape
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-SLTRGQ7W.js";
|
|
5
5
|
import {
|
|
6
6
|
REQUEST_PARAMS
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-W37JKCLN.js";
|
|
8
8
|
|
|
9
9
|
// src/shared/request/schemas/cli.ts
|
|
10
10
|
import z from "zod";
|
|
@@ -46,4 +46,4 @@ export {
|
|
|
46
46
|
cliRequestSchema,
|
|
47
47
|
cliFetchRequestSchema
|
|
48
48
|
};
|
|
49
|
-
//# sourceMappingURL=chunk-
|
|
49
|
+
//# sourceMappingURL=chunk-2C7X7XIG.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
safeFetch,
|
|
6
6
|
safeFetchJson
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RAS5DZPQ.js";
|
|
8
8
|
import {
|
|
9
9
|
safeMkdir,
|
|
10
10
|
safeMkdtemp,
|
|
@@ -163,4 +163,4 @@ async function installGitHubSkill(surface, source, options) {
|
|
|
163
163
|
export {
|
|
164
164
|
installGitHubSkill
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=chunk-
|
|
166
|
+
//# sourceMappingURL=chunk-2E4ZDG2M.js.map
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-ISF2WVEZ.js";
|
|
4
4
|
import {
|
|
5
5
|
getBalance
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EM6OE6WL.js";
|
|
7
7
|
import {
|
|
8
8
|
Network
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HTGTKVXB.js";
|
|
10
10
|
import {
|
|
11
11
|
getBaseUrl,
|
|
12
12
|
getDepositLink
|
|
@@ -90,4 +90,4 @@ export {
|
|
|
90
90
|
getBalances,
|
|
91
91
|
listAccountsWithBalances
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
93
|
+
//# sourceMappingURL=chunk-4MCPQDKM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/shared/settings.ts","../../src/operations/fetch/types.ts"],"sourcesContent":["import z from 'zod';\nimport fs from 'fs';\n\nimport { configFile } from './fs';\n\nconst SETTINGS_FILE = configFile('settings.json');\n\nconst settingsSchema = z\n .object({\n maxAmount: z.number().positive(),\n })\n .partial();\n\ntype Settings = z.infer<typeof settingsSchema>;\n\nexport const getSettings = (): Settings => {\n if (!fs.existsSync(SETTINGS_FILE)) {\n return {};\n }\n\n const content = fs.readFileSync(SETTINGS_FILE, 'utf-8');\n const result = settingsSchema.safeParse(JSON.parse(content));\n if (!result.success) {\n return {};\n }\n return result.data;\n};\n\nexport const setSettings = (settings: Settings) => {\n const existing = getSettings();\n const newSettings = settingsSchema.parse({ ...existing, ...settings });\n fs.writeFileSync(SETTINGS_FILE, JSON.stringify(newSettings, null, 2));\n};\n","import type { GlobalFlags } from '@/types';\nimport type { Wallets } from '@/wallet';\nimport type { PaymentProtocol } from '@/shared/protocols/types';\nimport type z from 'zod';\nimport type { fetchShape } from '@/shared/request/schemas/core';\nimport type { Network } from '@agentcash/networks';\n\n// Type aliases (not interfaces) so PaymentInfo remains assignable to\n// JsonStringifyValue in successResponse — interfaces are augmentable and\n// therefore not assignable to index-signature types.\n/* eslint-disable @typescript-eslint/consistent-type-definitions */\ntype SettledPayment = { success: boolean; transactionHash: string };\n\ntype ChannelPayment = { success: boolean; channelId: string };\n\ntype PaymentInfo = {\n protocol: PaymentProtocol;\n price: string;\n network: Network;\n payment: SettledPayment | ChannelPayment | null;\n};\n/* eslint-enable @typescript-eslint/consistent-type-definitions */\n\nexport interface ExecuteFetchResult {\n response: Response;\n paymentInfo: PaymentInfo | null;\n}\n\n/** Default max amount (in USD/USDC) allowed without explicit opt-in. */\nexport const DEFAULT_MAX_AMOUNT = 5;\n\nexport interface ExecuteFetchOptions {\n surface: string;\n wallets: Wallets;\n flags: GlobalFlags;\n params: z.infer<z.ZodObject<typeof fetchShape>>;\n}\n"],"mappings":";;;;;AAAA,OAAO,OAAO;AACd,OAAO,QAAQ;AAIf,IAAM,gBAAgB,WAAW,eAAe;AAEhD,IAAM,iBAAiB,EACpB,OAAO;AAAA,EACN,WAAW,EAAE,OAAO,EAAE,SAAS;AACjC,CAAC,EACA,QAAQ;AAIJ,IAAM,cAAc,MAAgB;AACzC,MAAI,CAAC,GAAG,WAAW,aAAa,GAAG;AACjC,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,UAAU,GAAG,aAAa,eAAe,OAAO;AACtD,QAAM,SAAS,eAAe,UAAU,KAAK,MAAM,OAAO,CAAC;AAC3D,MAAI,CAAC,OAAO,SAAS;AACnB,WAAO,CAAC;AAAA,EACV;AACA,SAAO,OAAO;AAChB;AAEO,IAAM,cAAc,CAAC,aAAuB;AACjD,QAAM,WAAW,YAAY;AAC7B,QAAM,cAAc,eAAe,MAAM,EAAE,GAAG,UAAU,GAAG,SAAS,CAAC;AACrE,KAAG,cAAc,eAAe,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AACtE;;;ACHO,IAAM,qBAAqB;","names":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TOOL_PARAMS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W37JKCLN.js";
|
|
4
4
|
import {
|
|
5
5
|
executeFetch
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-EDI77S36.js";
|
|
7
7
|
import {
|
|
8
8
|
safeParseResponse
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-RAS5DZPQ.js";
|
|
10
10
|
import {
|
|
11
11
|
log
|
|
12
12
|
} from "./chunk-QZCSZB7E.js";
|
|
@@ -89,4 +89,4 @@ export {
|
|
|
89
89
|
searchSchema,
|
|
90
90
|
search
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-66AVEFTO.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-27DZCYDB.js";
|
|
7
7
|
import {
|
|
8
8
|
INSTALL_PACKAGE_SPECIFIER
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PQXKQJIU.js";
|
|
10
10
|
import {
|
|
11
11
|
log,
|
|
12
12
|
safeReadFile,
|
|
@@ -628,4 +628,4 @@ export {
|
|
|
628
628
|
tryAddServer,
|
|
629
629
|
addServer
|
|
630
630
|
};
|
|
631
|
-
//# sourceMappingURL=chunk-
|
|
631
|
+
//# sourceMappingURL=chunk-7CV5CENJ.js.map
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
} from "./chunk-ISF2WVEZ.js";
|
|
5
5
|
import {
|
|
6
6
|
safeFetchJson
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-RAS5DZPQ.js";
|
|
8
8
|
import {
|
|
9
9
|
optionalNetworkSchema
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HTGTKVXB.js";
|
|
11
11
|
import {
|
|
12
12
|
getBaseUrl
|
|
13
13
|
} from "./chunk-U6FRXL3X.js";
|
|
@@ -87,4 +87,4 @@ var redeemInviteCode = async (surface, args, globalArgs, wallets) => {
|
|
|
87
87
|
export {
|
|
88
88
|
redeemInviteCode
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-BIO4Y27B.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MCP_VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PQXKQJIU.js";
|
|
4
4
|
import {
|
|
5
5
|
safeFetchJson
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RAS5DZPQ.js";
|
|
7
7
|
import {
|
|
8
8
|
getBaseUrl
|
|
9
9
|
} from "./chunk-U6FRXL3X.js";
|
|
@@ -51,4 +51,4 @@ async function submitErrorReport(surface, input, address, dev) {
|
|
|
51
51
|
export {
|
|
52
52
|
submitErrorReport
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-BM5W5OV2.js.map
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
} from "./chunk-DZNSJ2BA.js";
|
|
4
4
|
import {
|
|
5
5
|
redeemInviteCode
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BIO4Y27B.js";
|
|
7
7
|
import {
|
|
8
8
|
EVM_CONFIGS,
|
|
9
9
|
getTxExplorerUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HTGTKVXB.js";
|
|
11
11
|
import {
|
|
12
12
|
getDepositLink
|
|
13
13
|
} from "./chunk-U6FRXL3X.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-C7B6LEPE.js.map
|
|
@@ -1,23 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
assertTempoUsdc,
|
|
3
|
+
createTempoClient,
|
|
4
|
+
mppErr,
|
|
5
|
+
mppOk,
|
|
6
|
+
mppResultFromPromise,
|
|
7
|
+
safeCreateMppCredential,
|
|
8
|
+
safeGetMppChallenge,
|
|
9
|
+
safeGetMppReceipt,
|
|
10
|
+
sessionRequestFailedErr
|
|
11
|
+
} from "./chunk-FBGNOXFP.js";
|
|
1
12
|
import {
|
|
2
13
|
DEFAULT_MAX_AMOUNT,
|
|
3
14
|
getSettings
|
|
4
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4TIYIVZF.js";
|
|
5
16
|
import {
|
|
6
17
|
buildRequest
|
|
7
18
|
} from "./chunk-IKPLMFAK.js";
|
|
8
19
|
import {
|
|
9
20
|
getBalance
|
|
10
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-EM6OE6WL.js";
|
|
11
22
|
import {
|
|
12
23
|
fetchErr,
|
|
13
24
|
fetchOk,
|
|
14
|
-
safeFetch
|
|
15
|
-
|
|
25
|
+
safeFetch,
|
|
26
|
+
safeReadResponseText
|
|
27
|
+
} from "./chunk-RAS5DZPQ.js";
|
|
16
28
|
import {
|
|
17
|
-
EVM_CONFIGS,
|
|
18
29
|
caip2ToNetwork,
|
|
19
30
|
networkToCaip2
|
|
20
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-HTGTKVXB.js";
|
|
21
32
|
import {
|
|
22
33
|
formatUsd,
|
|
23
34
|
getDepositLink,
|
|
@@ -28,7 +39,7 @@ import {
|
|
|
28
39
|
} from "./chunk-QZCSZB7E.js";
|
|
29
40
|
import {
|
|
30
41
|
BLACKLISTED_ORIGINS
|
|
31
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-YPFBBTA2.js";
|
|
32
43
|
import {
|
|
33
44
|
err,
|
|
34
45
|
ok,
|
|
@@ -214,9 +225,10 @@ var x402ResultFromPromise = (surface, promise, error) => resultFromPromise(error
|
|
|
214
225
|
var x402ResultFromThrowable = (surface, fn, error) => resultFromThrowable(errorType, surface, fn, error);
|
|
215
226
|
var x402ProbeClient = new x402HTTPClient(new x402Client());
|
|
216
227
|
var safeGetPaymentRequired = (surface, response) => {
|
|
228
|
+
const probe = response.clone();
|
|
217
229
|
return x402ResultFromPromise(
|
|
218
230
|
surface,
|
|
219
|
-
|
|
231
|
+
probe.json().then(
|
|
220
232
|
(json) => x402ProbeClient.getPaymentRequiredResponse(
|
|
221
233
|
(name) => response.headers.get(name),
|
|
222
234
|
json
|
|
@@ -379,62 +391,7 @@ function detectPaymentProtocols(response) {
|
|
|
379
391
|
}
|
|
380
392
|
|
|
381
393
|
// src/shared/protocols/mpp/handle-payment.ts
|
|
382
|
-
import { formatUnits } from "viem";
|
|
383
|
-
|
|
384
|
-
// src/shared/protocols/mpp/index.ts
|
|
385
|
-
import { Challenge, Receipt } from "mppx";
|
|
386
|
-
import { Methods } from "mppx/tempo";
|
|
387
|
-
import { Mppx, tempo as tempoMethod } from "mppx/client";
|
|
388
|
-
import { createClient, http as http2 } from "viem";
|
|
389
|
-
import { tempo } from "viem/chains";
|
|
390
|
-
var errorType2 = "mpp";
|
|
391
|
-
var mppOk = (value) => ok(value);
|
|
392
|
-
var mppErr = (surface, error) => err(errorType2, surface, error);
|
|
393
|
-
var mppResultFromPromise = (surface, promise, error) => resultFromPromise(errorType2, surface, promise, error);
|
|
394
|
-
var mppResultFromThrowable = (surface, fn, error) => resultFromThrowable(errorType2, surface, fn, error);
|
|
395
|
-
var safeGetMppChallenge = (surface, response) => {
|
|
396
|
-
return mppResultFromThrowable(
|
|
397
|
-
surface,
|
|
398
|
-
() => Challenge.fromResponse(response, { methods: [Methods.charge] }),
|
|
399
|
-
(error) => ({
|
|
400
|
-
cause: "parse_mpp_challenge",
|
|
401
|
-
message: error instanceof Error ? error.message : "Failed to parse MPP challenge from response"
|
|
402
|
-
})
|
|
403
|
-
);
|
|
404
|
-
};
|
|
405
|
-
var safeCreateMppCredential = (surface, wallets, response) => {
|
|
406
|
-
const TEMPO_RPC_URL = "https://eng:acard-melody-fashion-finish@rpc.mainnet.tempo.xyz";
|
|
407
|
-
const client = Mppx.create({
|
|
408
|
-
polyfill: false,
|
|
409
|
-
methods: [
|
|
410
|
-
tempoMethod({
|
|
411
|
-
account: wallets.evm,
|
|
412
|
-
getClient: () => createClient({
|
|
413
|
-
chain: tempo,
|
|
414
|
-
transport: http2(TEMPO_RPC_URL)
|
|
415
|
-
})
|
|
416
|
-
})
|
|
417
|
-
]
|
|
418
|
-
});
|
|
419
|
-
return mppResultFromPromise(
|
|
420
|
-
surface,
|
|
421
|
-
client.createCredential(response),
|
|
422
|
-
(error) => ({
|
|
423
|
-
cause: "create_mpp_credential",
|
|
424
|
-
message: error instanceof Error ? error.message : "Failed to create MPP credential"
|
|
425
|
-
})
|
|
426
|
-
);
|
|
427
|
-
};
|
|
428
|
-
var safeGetMppReceipt = (surface, response) => {
|
|
429
|
-
return mppResultFromThrowable(
|
|
430
|
-
surface,
|
|
431
|
-
() => Receipt.fromResponse(response),
|
|
432
|
-
(error) => ({
|
|
433
|
-
cause: "parse_mpp_receipt",
|
|
434
|
-
message: error instanceof Error ? error.message : "Failed to parse MPP receipt from response"
|
|
435
|
-
})
|
|
436
|
-
);
|
|
437
|
-
};
|
|
394
|
+
import { formatUnits as formatUnits2 } from "viem";
|
|
438
395
|
|
|
439
396
|
// src/shared/protocols/before-payment.ts
|
|
440
397
|
var beforePayment = async (props) => {
|
|
@@ -473,12 +430,176 @@ var insufficientBalanceErrorMessage = (props, balance) => {
|
|
|
473
430
|
].join("\n");
|
|
474
431
|
};
|
|
475
432
|
|
|
433
|
+
// src/shared/protocols/mpp/session/handle-session-payment.ts
|
|
434
|
+
import { formatUnits } from "viem";
|
|
435
|
+
import { tempo as tempoClient } from "mppx/client";
|
|
436
|
+
|
|
437
|
+
// src/shared/protocols/mpp/session/run-request-session.ts
|
|
438
|
+
async function runRequestSession(surface, sm, url, init, channelId) {
|
|
439
|
+
const fetchInit = {
|
|
440
|
+
...init,
|
|
441
|
+
...channelId ? { context: { channelId } } : {}
|
|
442
|
+
};
|
|
443
|
+
const fetchResult = await mppResultFromPromise(
|
|
444
|
+
surface,
|
|
445
|
+
sm.fetch(url, fetchInit),
|
|
446
|
+
(e) => sessionRequestFailedErr(e)
|
|
447
|
+
);
|
|
448
|
+
if (fetchResult.isErr()) return fetchResult;
|
|
449
|
+
const paymentResponse = fetchResult.value;
|
|
450
|
+
if (paymentResponse.status === 402) {
|
|
451
|
+
const body = await safeReadResponseText(surface, paymentResponse).unwrapOr(
|
|
452
|
+
""
|
|
453
|
+
);
|
|
454
|
+
const detail = body ? `: ${body}` : "";
|
|
455
|
+
return mppErr(surface, {
|
|
456
|
+
cause: "mpp_payment_rejected",
|
|
457
|
+
message: `MPP session payment was rejected by the server (402)${detail}`
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
return mppOk({
|
|
461
|
+
response: paymentResponse,
|
|
462
|
+
receipt: paymentResponse.receipt
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// src/shared/protocols/mpp/session/run-streaming-session.ts
|
|
467
|
+
var MAX_BUFFERED_BYTES = 50 * 1024 * 1024;
|
|
468
|
+
async function runStreamingSession(surface, sm, url, init, channelId) {
|
|
469
|
+
let latestReceipt = null;
|
|
470
|
+
const { signal, ...rest } = init;
|
|
471
|
+
const sseResult = await sm.sse(url, {
|
|
472
|
+
...rest,
|
|
473
|
+
...signal ? { signal } : {},
|
|
474
|
+
...channelId ? { context: { channelId } } : {},
|
|
475
|
+
onReceipt: (receipt) => {
|
|
476
|
+
latestReceipt = receipt;
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
const chunks = [];
|
|
480
|
+
let bytes = 0;
|
|
481
|
+
for await (const chunk of sseResult) {
|
|
482
|
+
bytes += chunk.length;
|
|
483
|
+
chunks.push(chunk);
|
|
484
|
+
if (bytes > MAX_BUFFERED_BYTES) {
|
|
485
|
+
return mppErr(surface, {
|
|
486
|
+
cause: "mpp_session_response_too_large",
|
|
487
|
+
message: `Streaming response exceeded the ${MAX_BUFFERED_BYTES}-byte buffering cap (got ${bytes} bytes).`
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
const response = new Response(chunks.join("\n"), {
|
|
492
|
+
status: 200,
|
|
493
|
+
headers: {
|
|
494
|
+
"Content-Type": "text/plain",
|
|
495
|
+
"Cache-Control": "private"
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
return mppOk({ response, receipt: latestReceipt });
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// src/shared/protocols/mpp/session/utils.ts
|
|
502
|
+
var USDC_DECIMALS = 6;
|
|
503
|
+
var DEFAULT_TICK_BUDGET = 10;
|
|
504
|
+
function resolveDepositUsd(suggestedDeposit, tickCostUsd, options) {
|
|
505
|
+
const maxAmount = options.params.maxAmount ?? getSettings().maxAmount ?? DEFAULT_MAX_AMOUNT;
|
|
506
|
+
const desired = suggestedDeposit !== void 0 ? tokenStringToNumber(suggestedDeposit, USDC_DECIMALS) : tickCostUsd * DEFAULT_TICK_BUDGET;
|
|
507
|
+
return Math.min(desired, maxAmount);
|
|
508
|
+
}
|
|
509
|
+
function formatDepositCap(depositUsd) {
|
|
510
|
+
if (!Number.isFinite(depositUsd) || depositUsd <= 0) {
|
|
511
|
+
return "0";
|
|
512
|
+
}
|
|
513
|
+
return depositUsd.toFixed(USDC_DECIMALS);
|
|
514
|
+
}
|
|
515
|
+
async function bufferRequestForReplay(request) {
|
|
516
|
+
const init = {
|
|
517
|
+
method: request.method,
|
|
518
|
+
headers: new Headers(request.headers),
|
|
519
|
+
credentials: request.credentials,
|
|
520
|
+
redirect: request.redirect,
|
|
521
|
+
referrer: request.referrer === "" ? void 0 : request.referrer,
|
|
522
|
+
integrity: request.integrity || void 0,
|
|
523
|
+
signal: request.signal
|
|
524
|
+
};
|
|
525
|
+
const hasBody = request.method !== "GET" && request.method !== "HEAD" && request.body !== null;
|
|
526
|
+
if (hasBody) {
|
|
527
|
+
init.body = await request.arrayBuffer();
|
|
528
|
+
}
|
|
529
|
+
return init;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
// src/shared/protocols/mpp/session/handle-session-payment.ts
|
|
533
|
+
async function handleMppSessionPayment(challenge, { request, options }) {
|
|
534
|
+
const { surface, wallets } = options;
|
|
535
|
+
const tickCostAtomic = BigInt(challenge.request.amount);
|
|
536
|
+
const tickCostUsd = Number(formatUnits(tickCostAtomic, USDC_DECIMALS));
|
|
537
|
+
const tokenAddress = challenge.request.currency;
|
|
538
|
+
const tokenCheck = assertTempoUsdc(surface, tokenAddress);
|
|
539
|
+
if (tokenCheck.isErr()) return tokenCheck;
|
|
540
|
+
const depositUsd = resolveDepositUsd(
|
|
541
|
+
challenge.request.suggestedDeposit,
|
|
542
|
+
tickCostUsd,
|
|
543
|
+
options
|
|
544
|
+
);
|
|
545
|
+
const beforePaymentResult = await beforePayment({
|
|
546
|
+
options,
|
|
547
|
+
balanceInput: {
|
|
548
|
+
address: wallets.evm.address,
|
|
549
|
+
network: "tempo" /* TEMPO */,
|
|
550
|
+
tokenAddress
|
|
551
|
+
},
|
|
552
|
+
amount: depositUsd,
|
|
553
|
+
protocol: "mpp" /* MPP */
|
|
554
|
+
});
|
|
555
|
+
if (beforePaymentResult.isErr()) return beforePaymentResult;
|
|
556
|
+
const replayInitResult = await mppResultFromPromise(
|
|
557
|
+
surface,
|
|
558
|
+
bufferRequestForReplay(request),
|
|
559
|
+
(e) => sessionRequestFailedErr(
|
|
560
|
+
e,
|
|
561
|
+
"Failed to buffer request body for session replay"
|
|
562
|
+
)
|
|
563
|
+
);
|
|
564
|
+
if (replayInitResult.isErr()) return replayInitResult;
|
|
565
|
+
const sm = tempoClient.session({
|
|
566
|
+
account: wallets.evm,
|
|
567
|
+
client: createTempoClient(),
|
|
568
|
+
maxDeposit: formatDepositCap(depositUsd),
|
|
569
|
+
decimals: USDC_DECIMALS
|
|
570
|
+
});
|
|
571
|
+
const isStreaming = challenge.meta?.streaming === "true" || options.params.stream === true;
|
|
572
|
+
const reuseChannelId = options.params.channelId;
|
|
573
|
+
const sessionResult = isStreaming ? await runStreamingSession(
|
|
574
|
+
surface,
|
|
575
|
+
sm,
|
|
576
|
+
request.url,
|
|
577
|
+
replayInitResult.value,
|
|
578
|
+
reuseChannelId
|
|
579
|
+
) : await runRequestSession(
|
|
580
|
+
surface,
|
|
581
|
+
sm,
|
|
582
|
+
request.url,
|
|
583
|
+
replayInitResult.value,
|
|
584
|
+
reuseChannelId
|
|
585
|
+
);
|
|
586
|
+
if (sessionResult.isErr()) return sessionResult;
|
|
587
|
+
const { response: finalResponse, receipt } = sessionResult.value;
|
|
588
|
+
const price = receipt ? formatUsd(tokenStringToNumber(receipt.spent, USDC_DECIMALS)) : `from ${formatUsd(tickCostUsd)}/tick`;
|
|
589
|
+
return mppOk({
|
|
590
|
+
response: finalResponse,
|
|
591
|
+
paymentInfo: {
|
|
592
|
+
protocol: "mpp" /* MPP */,
|
|
593
|
+
network: "tempo" /* TEMPO */,
|
|
594
|
+
price,
|
|
595
|
+
payment: receipt ? { success: true, channelId: receipt.channelId } : null
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
}
|
|
599
|
+
|
|
476
600
|
// src/shared/protocols/mpp/handle-payment.ts
|
|
477
|
-
async function handleMppPayment({
|
|
478
|
-
response,
|
|
479
|
-
request,
|
|
480
|
-
options
|
|
481
|
-
}) {
|
|
601
|
+
async function handleMppPayment(params) {
|
|
602
|
+
const { response, request, options } = params;
|
|
482
603
|
const { surface, wallets } = options;
|
|
483
604
|
const { timeout } = options.params;
|
|
484
605
|
if (request.headers.has("Authorization")) {
|
|
@@ -492,14 +613,14 @@ async function handleMppPayment({
|
|
|
492
613
|
return challengeResult;
|
|
493
614
|
}
|
|
494
615
|
const challenge = challengeResult.value;
|
|
495
|
-
|
|
616
|
+
if (challenge.intent === "session") {
|
|
617
|
+
return handleMppSessionPayment(challenge, params);
|
|
618
|
+
}
|
|
619
|
+
const amount = Number(formatUnits2(BigInt(challenge.request.amount), 6));
|
|
496
620
|
const tokenAddress = challenge.request.currency;
|
|
497
|
-
const
|
|
498
|
-
if (
|
|
499
|
-
return
|
|
500
|
-
cause: "unsupported_token",
|
|
501
|
-
message: `Endpoint requires payment in token ${tokenAddress} on Tempo, but agentcash only supports ${EVM_CONFIGS["tempo" /* TEMPO */].usdcAddress}. The endpoint may be configured for a different token (e.g. PathUSD vs USDC).`
|
|
502
|
-
});
|
|
621
|
+
const tokenCheck = assertTempoUsdc(surface, tokenAddress);
|
|
622
|
+
if (tokenCheck.isErr()) {
|
|
623
|
+
return tokenCheck;
|
|
503
624
|
}
|
|
504
625
|
const beforePaymentResult = await beforePayment({
|
|
505
626
|
options,
|
|
@@ -530,7 +651,7 @@ async function handleMppPayment({
|
|
|
530
651
|
}
|
|
531
652
|
const paidResponse = paidFetchResult.value;
|
|
532
653
|
if (paidResponse.status === 402) {
|
|
533
|
-
const body = await paidResponse
|
|
654
|
+
const body = await safeReadResponseText(surface, paidResponse).unwrapOr("");
|
|
534
655
|
const detail = body ? `: ${body}` : "";
|
|
535
656
|
return mppErr(surface, {
|
|
536
657
|
cause: "mpp_payment_rejected",
|
|
@@ -753,10 +874,14 @@ async function handleX402Payment({
|
|
|
753
874
|
return paidResult;
|
|
754
875
|
}
|
|
755
876
|
const paidResponse = paidResult.value;
|
|
756
|
-
const permit2Error = await detectPermit2AllowanceError(
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
877
|
+
const permit2Error = await detectPermit2AllowanceError(
|
|
878
|
+
surface,
|
|
879
|
+
paidResponse,
|
|
880
|
+
{
|
|
881
|
+
walletAddress: wallets.evm.address,
|
|
882
|
+
scheme: paymentPayload.accepted.scheme
|
|
883
|
+
}
|
|
884
|
+
);
|
|
760
885
|
if (permit2Error) {
|
|
761
886
|
return x402Err(surface, permit2Error);
|
|
762
887
|
}
|
|
@@ -779,11 +904,11 @@ async function handleX402Payment({
|
|
|
779
904
|
}
|
|
780
905
|
});
|
|
781
906
|
}
|
|
782
|
-
async function detectPermit2AllowanceError(response, context) {
|
|
907
|
+
async function detectPermit2AllowanceError(surface, response, context) {
|
|
783
908
|
if (response.ok) {
|
|
784
909
|
return null;
|
|
785
910
|
}
|
|
786
|
-
const body = await response
|
|
911
|
+
const body = await safeReadResponseText(surface, response).unwrapOr("");
|
|
787
912
|
if (!isPermit2AllowanceFailureBody(body)) {
|
|
788
913
|
return null;
|
|
789
914
|
}
|
|
@@ -875,4 +1000,4 @@ async function executeFetch(input, options) {
|
|
|
875
1000
|
export {
|
|
876
1001
|
executeFetch
|
|
877
1002
|
};
|
|
878
|
-
//# sourceMappingURL=chunk-
|
|
1003
|
+
//# sourceMappingURL=chunk-EDI77S36.js.map
|