@aifinpay/mcp 2.3.1 → 2.5.0
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/README.md +94 -31
- package/bin/aifinpay-mcp.js +50 -10
- package/dist/config.d.ts +10 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -5
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/native-price.d.ts +18 -9
- package/dist/native-price.d.ts.map +1 -1
- package/dist/native-price.js +34 -29
- package/dist/native-price.js.map +1 -1
- package/dist/pay-chains.d.ts +31 -0
- package/dist/pay-chains.d.ts.map +1 -0
- package/dist/pay-chains.js +37 -0
- package/dist/pay-chains.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/agent-address.d.ts.map +1 -1
- package/dist/tools/agent-address.js +1 -1
- package/dist/tools/agent-address.js.map +1 -1
- package/dist/tools/payable-fetch.d.ts +5 -0
- package/dist/tools/payable-fetch.d.ts.map +1 -1
- package/dist/tools/payable-fetch.js +49 -25
- package/dist/tools/payable-fetch.js.map +1 -1
- package/package.json +3 -3
- package/skills/SKILL.md +85 -25
- package/smithery.yaml +72 -40
package/dist/native-price.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { PAY_CHAINS } from "./pay-chains.js";
|
|
1
2
|
/**
|
|
2
|
-
* Independent
|
|
3
|
+
* Independent native/USD rate for payable_fetch: POL on Polygon, ETH on Base.
|
|
3
4
|
*
|
|
4
5
|
* payable_fetch values a v1.4 quote in USD with a rate it fetches itself —
|
|
5
6
|
* never the quote API's own — so the owner's per-payment and daily USD limits
|
|
@@ -9,29 +10,27 @@
|
|
|
9
10
|
* it began, with nothing to try instead.
|
|
10
11
|
*
|
|
11
12
|
* Sources, in order; the first fresh, sane answer wins:
|
|
12
|
-
* 1. Chainlink
|
|
13
|
-
* the host the payment already needs, so no extra
|
|
13
|
+
* 1. Chainlink <native>/USD on the payment chain, read over the agent's own
|
|
14
|
+
* RPC for that chain — the host the payment already needs, so no extra
|
|
15
|
+
* allowlist entry.
|
|
14
16
|
* 2. api.coinbase.com spot price.
|
|
15
|
-
* 3. api.coingecko.com
|
|
16
|
-
*
|
|
17
|
+
* 3. api.coingecko.com.
|
|
18
|
+
* Feed addresses and ids live in pay-chains.ts.
|
|
17
19
|
*/
|
|
18
|
-
|
|
19
|
-
// 1:1 and the feed kept its name ("MATIC / USD"); 8 decimals. Read 2026-09-23:
|
|
20
|
-
// 0.1064, updated 3 s earlier, within 0.1% of Coinbase.
|
|
21
|
-
export const CHAINLINK_POL_USD_POLYGON = "0xAB594600376Ec9fD91F8e885dADF0CE036862dE0";
|
|
20
|
+
export const CHAINLINK_POL_USD_POLYGON = PAY_CHAINS.polygon.chainlinkNativeUsd;
|
|
22
21
|
const LATEST_ROUND_DATA = "0xfeaf968c"; // latestRoundData()
|
|
23
22
|
const CHAINLINK_DECIMALS = 8;
|
|
24
23
|
// The feed updates on a 0.5% deviation or its heartbeat; a quiet market can
|
|
25
24
|
// leave it for a while. Older than this and it is not trusted as "current".
|
|
26
25
|
const MAX_FEED_AGE_S = 3600;
|
|
27
|
-
const sane = (usd) => Number.isFinite(usd) && usd > 0 && usd <
|
|
26
|
+
const sane = (usd, chain) => Number.isFinite(usd) && usd > 0 && usd < chain.maxSaneUsd;
|
|
28
27
|
async function boundedJson(response, limit = 16 * 1024) {
|
|
29
28
|
const text = await response.text();
|
|
30
29
|
if (text.length > limit)
|
|
31
30
|
throw new Error("price response exceeds limit");
|
|
32
31
|
return JSON.parse(text);
|
|
33
32
|
}
|
|
34
|
-
async function fromChainlink(fetchImpl, rpc) {
|
|
33
|
+
async function fromChainlink(fetchImpl, rpc, chain) {
|
|
35
34
|
const response = await fetchImpl(rpc, {
|
|
36
35
|
method: "POST",
|
|
37
36
|
headers: { "content-type": "application/json" },
|
|
@@ -39,7 +38,7 @@ async function fromChainlink(fetchImpl, rpc) {
|
|
|
39
38
|
jsonrpc: "2.0",
|
|
40
39
|
id: 1,
|
|
41
40
|
method: "eth_call",
|
|
42
|
-
params: [{ to:
|
|
41
|
+
params: [{ to: chain.chainlinkNativeUsd, data: LATEST_ROUND_DATA }, "latest"],
|
|
43
42
|
}),
|
|
44
43
|
signal: AbortSignal.timeout(10_000),
|
|
45
44
|
redirect: "manual",
|
|
@@ -60,12 +59,12 @@ async function fromChainlink(fetchImpl, rpc) {
|
|
|
60
59
|
if (ageS > MAX_FEED_AGE_S)
|
|
61
60
|
throw new Error(`feed is ${ageS}s old`);
|
|
62
61
|
const usd = Number(answer) / 10 ** CHAINLINK_DECIMALS;
|
|
63
|
-
if (!sane(usd))
|
|
62
|
+
if (!sane(usd, chain))
|
|
64
63
|
throw new Error("implausible answer");
|
|
65
|
-
return { usd, observedAtMs: Date.now(), source:
|
|
64
|
+
return { usd, observedAtMs: Date.now(), source: `chainlink-${chain.name}` };
|
|
66
65
|
}
|
|
67
|
-
async function fromCoinbase(fetchImpl) {
|
|
68
|
-
const response = await fetchImpl(
|
|
66
|
+
async function fromCoinbase(fetchImpl, chain) {
|
|
67
|
+
const response = await fetchImpl(`https://api.coinbase.com/v2/prices/${chain.coinbasePair}/spot`, {
|
|
69
68
|
signal: AbortSignal.timeout(10_000),
|
|
70
69
|
redirect: "manual",
|
|
71
70
|
});
|
|
@@ -73,36 +72,38 @@ async function fromCoinbase(fetchImpl) {
|
|
|
73
72
|
throw new Error(`http ${response.status}`);
|
|
74
73
|
const data = (await boundedJson(response));
|
|
75
74
|
const usd = Number(data.data?.amount);
|
|
76
|
-
if (data.data?.base !==
|
|
75
|
+
if (data.data?.base !== chain.native || data.data?.currency !== "USD" || !sane(usd, chain)) {
|
|
77
76
|
throw new Error("invalid response");
|
|
78
77
|
}
|
|
79
78
|
return { usd, observedAtMs: Date.now(), source: "coinbase" };
|
|
80
79
|
}
|
|
81
|
-
async function fromCoinGecko(fetchImpl) {
|
|
82
|
-
const response = await fetchImpl(
|
|
80
|
+
async function fromCoinGecko(fetchImpl, chain) {
|
|
81
|
+
const response = await fetchImpl(`https://api.coingecko.com/api/v3/simple/price?ids=${chain.coingeckoId}&vs_currencies=usd&include_last_updated_at=true`, { signal: AbortSignal.timeout(10_000), redirect: "manual" });
|
|
83
82
|
if (!response.ok)
|
|
84
83
|
throw new Error(`http ${response.status}`);
|
|
85
84
|
const data = (await boundedJson(response));
|
|
86
|
-
const entry = data[
|
|
85
|
+
const entry = data[chain.coingeckoId];
|
|
87
86
|
const usd = Number(entry?.usd);
|
|
88
87
|
const ageS = Math.floor(Date.now() / 1000) - Number(entry?.last_updated_at ?? 0);
|
|
89
|
-
if (!sane(usd))
|
|
88
|
+
if (!sane(usd, chain))
|
|
90
89
|
throw new Error("invalid response");
|
|
91
90
|
if (!(ageS <= MAX_FEED_AGE_S))
|
|
92
91
|
throw new Error(`price is ${ageS}s old`);
|
|
93
92
|
return { usd, observedAtMs: Date.now(), source: "coingecko" };
|
|
94
93
|
}
|
|
95
94
|
/**
|
|
96
|
-
* The first independent
|
|
97
|
-
* every source tried, so an agent in a
|
|
95
|
+
* The first independent native/USD rate any source gives for the payment
|
|
96
|
+
* chain. Throws one error naming every source tried, so an agent in a
|
|
97
|
+
* restricted sandbox knows what to allow.
|
|
98
98
|
*/
|
|
99
|
-
export async function
|
|
99
|
+
export async function independentNativeUsd(opts) {
|
|
100
|
+
const { chain } = opts;
|
|
100
101
|
const attempts = [];
|
|
101
|
-
const rpc = opts.
|
|
102
|
+
const rpc = opts.rpc;
|
|
102
103
|
if (rpc)
|
|
103
|
-
attempts.push([`Chainlink on
|
|
104
|
-
attempts.push(["api.coinbase.com", () => fromCoinbase(opts.fetchImpl)]);
|
|
105
|
-
attempts.push(["api.coingecko.com", () => fromCoinGecko(opts.fetchImpl)]);
|
|
104
|
+
attempts.push([`Chainlink on ${chain.label} via ${hostOf(rpc)}`, () => fromChainlink(opts.fetchImpl, rpc, chain)]);
|
|
105
|
+
attempts.push(["api.coinbase.com", () => fromCoinbase(opts.fetchImpl, chain)]);
|
|
106
|
+
attempts.push(["api.coingecko.com", () => fromCoinGecko(opts.fetchImpl, chain)]);
|
|
106
107
|
const failures = [];
|
|
107
108
|
for (const [label, attempt] of attempts) {
|
|
108
109
|
try {
|
|
@@ -112,10 +113,14 @@ export async function independentPolUsd(opts) {
|
|
|
112
113
|
failures.push(`${label}: ${e instanceof Error ? e.message : String(e)}`);
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
throw new Error(
|
|
116
|
+
throw new Error(`Independent ${chain.native}/USD price unavailable — nothing was paid. Tried ` +
|
|
116
117
|
failures.join("; ") +
|
|
117
118
|
". Allow outbound access to one of these hosts.");
|
|
118
119
|
}
|
|
120
|
+
/** The Polygon rate, as before chains were configurable. */
|
|
121
|
+
export function independentPolUsd(opts) {
|
|
122
|
+
return independentNativeUsd({ fetchImpl: opts.fetchImpl, chain: PAY_CHAINS.polygon, rpc: opts.polygonRpc });
|
|
123
|
+
}
|
|
119
124
|
function hostOf(url) {
|
|
120
125
|
try {
|
|
121
126
|
return new URL(url).host;
|
package/dist/native-price.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-price.js","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"native-price.js","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Aifp1V14Chain } from "@aifinpay/agent";
|
|
2
|
+
/**
|
|
3
|
+
* The chains payable_fetch can settle on, and everything that differs between
|
|
4
|
+
* them. The owner picks one with AIFINPAY_PAY_CHAIN; nothing here is ever taken
|
|
5
|
+
* from a quote or a tool argument.
|
|
6
|
+
*
|
|
7
|
+
* Adding a chain is one entry, once @aifinpay/agent can settle on it (its
|
|
8
|
+
* Aifp1V14Chain type is the gate — an entry the SDK cannot pay on does not
|
|
9
|
+
* compile) and the backend serves it.
|
|
10
|
+
*/
|
|
11
|
+
export interface PayChain {
|
|
12
|
+
name: Aifp1V14Chain;
|
|
13
|
+
/** How messages to the owner name it. */
|
|
14
|
+
label: string;
|
|
15
|
+
/** Native currency: the default pay asset and the gas currency. */
|
|
16
|
+
native: string;
|
|
17
|
+
/** Public RPC used when the owner sets none; also read for the Chainlink price. */
|
|
18
|
+
defaultRpc: string;
|
|
19
|
+
/** Chainlink <native>/USD aggregator proxy on this chain, 8 decimals. */
|
|
20
|
+
chainlinkNativeUsd: `0x${string}`;
|
|
21
|
+
/** Coinbase spot pair, e.g. "ETH-USD". */
|
|
22
|
+
coinbasePair: string;
|
|
23
|
+
/** CoinGecko simple/price id. */
|
|
24
|
+
coingeckoId: string;
|
|
25
|
+
/** Upper bound of a plausible native/USD price; anything above is refused. */
|
|
26
|
+
maxSaneUsd: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const PAY_CHAINS: Readonly<Record<Aifp1V14Chain, PayChain>>;
|
|
29
|
+
export declare const PAY_CHAIN_NAMES: Aifp1V14Chain[];
|
|
30
|
+
export declare function payChain(name: string | undefined): PayChain;
|
|
31
|
+
//# sourceMappingURL=pay-chains.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pay-chains.d.ts","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAC;IAClC,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CA2B/D,CAAC;AAEH,eAAO,MAAM,eAAe,EAA8B,aAAa,EAAE,CAAC;AAE1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAK3D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const PAY_CHAINS = Object.freeze({
|
|
2
|
+
polygon: {
|
|
3
|
+
name: "polygon",
|
|
4
|
+
label: "Polygon",
|
|
5
|
+
native: "POL",
|
|
6
|
+
defaultRpc: "https://polygon.drpc.org",
|
|
7
|
+
// MATIC/USD proxy; POL replaced MATIC 1:1 and the feed kept its name. Read
|
|
8
|
+
// 2026-09-23: 0.1064, updated 3 s earlier, within 0.1% of Coinbase.
|
|
9
|
+
chainlinkNativeUsd: "0xAB594600376Ec9fD91F8e885dADF0CE036862dE0",
|
|
10
|
+
coinbasePair: "POL-USD",
|
|
11
|
+
// NOT matic-network: that id stopped updating in February 2026 and answers
|
|
12
|
+
// a stale, higher price.
|
|
13
|
+
coingeckoId: "polygon-ecosystem-token",
|
|
14
|
+
maxSaneUsd: 1000,
|
|
15
|
+
},
|
|
16
|
+
base: {
|
|
17
|
+
name: "base",
|
|
18
|
+
label: "Base",
|
|
19
|
+
native: "ETH",
|
|
20
|
+
defaultRpc: "https://mainnet.base.org",
|
|
21
|
+
// "ETH / USD" proxy on Base. Read 2026-10-01: 2689.997, updated 50 s
|
|
22
|
+
// earlier; Coinbase 2690.635, CoinGecko 2692.5.
|
|
23
|
+
chainlinkNativeUsd: "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70",
|
|
24
|
+
coinbasePair: "ETH-USD",
|
|
25
|
+
coingeckoId: "ethereum",
|
|
26
|
+
maxSaneUsd: 100_000,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
export const PAY_CHAIN_NAMES = Object.keys(PAY_CHAINS);
|
|
30
|
+
export function payChain(name) {
|
|
31
|
+
const key = (name ?? "polygon");
|
|
32
|
+
const chain = Object.hasOwn(PAY_CHAINS, key) ? PAY_CHAINS[key] : undefined;
|
|
33
|
+
if (!chain)
|
|
34
|
+
throw new Error(`AIFINPAY_PAY_CHAIN must be one of ${PAY_CHAIN_NAMES.join(", ")}`);
|
|
35
|
+
return chain;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pay-chains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pay-chains.js","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,UAAU,GAA8C,MAAM,CAAC,MAAM,CAAC;IACjF,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,0BAA0B;QACtC,2EAA2E;QAC3E,oEAAoE;QACpE,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EAAE,SAAS;QACvB,2EAA2E;QAC3E,yBAAyB;QACzB,WAAW,EAAE,yBAAyB;QACtC,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,KAAK;QACb,UAAU,EAAE,0BAA0B;QACtC,qEAAqE;QACrE,gDAAgD;QAChD,kBAAkB,EAAE,4CAA4C;QAChE,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,OAAO;KACpB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAoB,CAAC;AAE1E,MAAM,UAAU,QAAQ,CAAC,IAAwB;IAC/C,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAkB,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA0BvD;gFACgF;AAChF,wBAAsB,YAAY,CAAC,MAAM,GAAE,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA0BvD;gFACgF;AAChF,wBAAsB,YAAY,CAAC,MAAM,GAAE,SAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyLxD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D"}
|
package/dist/server.js
CHANGED
|
@@ -32,7 +32,15 @@ export async function createServer(config = {}) {
|
|
|
32
32
|
const identity = loadWalletIdentity(config);
|
|
33
33
|
if (!identity)
|
|
34
34
|
return null;
|
|
35
|
-
|
|
35
|
+
// The owner's RPC for the pay chain, if set, is the one the SDK settles
|
|
36
|
+
// through; otherwise the SDK keeps its public default for that chain.
|
|
37
|
+
const rpc = config.rpcUrl ? { [config.payChain ?? "polygon"]: config.rpcUrl } : undefined;
|
|
38
|
+
const options = {
|
|
39
|
+
fetchImpl: safeFetch,
|
|
40
|
+
baseUrl: config.baseUrl,
|
|
41
|
+
timeoutMs: config.timeoutMs,
|
|
42
|
+
...(rpc ? { evmRpcUrls: rpc, ...(rpc.polygon ? { polygonRpc: rpc.polygon } : {}) } : {}),
|
|
43
|
+
};
|
|
36
44
|
const loaded = identity.seedHash
|
|
37
45
|
? await AiFinPayAgent.fromSeed(identity.seedHash, options)
|
|
38
46
|
: await AiFinPayAgent.fromSolanaSecret(identity.secretB58, options);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF,2EAA2E;AAC3E,8EAA8E;AAC9E,qDAAqD;AACrD,MAAM,SAAS,GAAG,aAAa,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG;IAC9D,8EAA8E;IAC9E,0EAA0E;IAC1E,YAAY,EAAE,iBAAiB,EAAE,CAAC,YAAY;CAC/C,CAAC,CAAC;AAEH;gFACgF;AAChF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAoB,EAAE;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAEvC,IAAI,cAAc,GAAG,WAAW,CAAC;IACjC,KAAK,UAAU,eAAe;QAC5B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-address.d.ts","sourceRoot":"","sources":["../../src/tools/agent-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"agent-address.d.ts","sourceRoot":"","sources":["../../src/tools/agent-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC/B;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;GAkBrF"}
|
|
@@ -19,7 +19,7 @@ export function agentAddressTool() {
|
|
|
19
19
|
},
|
|
20
20
|
casper: {
|
|
21
21
|
type: "string",
|
|
22
|
-
description: "Casper identity derived from the same seed.
|
|
22
|
+
description: "Casper identity derived from the same seed. This tool is read-only; payments go only through payable_fetch, when the owner enables them.",
|
|
23
23
|
},
|
|
24
24
|
note: { type: "string" },
|
|
25
25
|
dashboard: { type: "string" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-address.js","sourceRoot":"","sources":["../../src/tools/agent-address.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2DAA2D;YAC3D,kEAAkE;YAClE,yIAAyI;QAC3I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;QACjF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAChE,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,
|
|
1
|
+
{"version":3,"file":"agent-address.js","sourceRoot":"","sources":["../../src/tools/agent-address.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2DAA2D;YAC3D,kEAAkE;YAClE,yIAAyI;QAC3I,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;QACjF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAChE,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qHAAqH;iBACxH;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,0IAA0I;iBAC7I;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9B;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;SAC5B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB,EAAE,KAA8B;IACpF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;QAC/B,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU;QACzB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa;QAC/B,IAAI,EACF,uFAAuF;YACvF,sFAAsF;YACtF,2CAA2C;QAC7C,SAAS,EACP,4FAA4F;YAC5F,4FAA4F;YAC5F,wBAAwB;KAC3B,CAAC;IACF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACnE,iBAAiB,EAAE,OAAO;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -14,6 +14,11 @@ export declare function payableFetchTool(): {
|
|
|
14
14
|
exclusiveMinimum: number;
|
|
15
15
|
description: string;
|
|
16
16
|
};
|
|
17
|
+
scope: {
|
|
18
|
+
type: string;
|
|
19
|
+
enum: ("exact" | "merchant")[];
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
17
22
|
};
|
|
18
23
|
required: string[];
|
|
19
24
|
additionalProperties: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"payable-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAWhD,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B/B;AAED,2FAA2F;AAC3F,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GAgPpF"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { Aifp1SettlementUnsupportedError, parseGatewayUrl } from "@aifinpay/agent";
|
|
2
2
|
import { validatePaymentConfig } from "../config.js";
|
|
3
3
|
import { PaymentStateError } from "../payment-state.js";
|
|
4
|
-
import {
|
|
4
|
+
import { independentNativeUsd } from "../native-price.js";
|
|
5
|
+
import { payChain } from "../pay-chains.js";
|
|
6
|
+
// "prefix" is left out on purpose: it needs a resource to anchor to, and the
|
|
7
|
+
// owner's two real requests are "this endpoint" and "this site".
|
|
8
|
+
const SCOPES = ["exact", "merchant"];
|
|
5
9
|
export function payableFetchTool() {
|
|
6
10
|
return {
|
|
7
11
|
name: "payable_fetch",
|
|
8
|
-
description:
|
|
12
|
+
description: 'Fetch a GET resource from an owner-approved AiFinPay merchant. Buys a prepaid batch through verified v1.4 on the chain the owner set in AIFINPAY_PAY_CHAIN (Polygon by default, or Base) — in its native currency (POL, ETH), or in the stablecoin the owner set in AIFINPAY_PAY_ASSET (e.g. USDC; gas is still native) — within owner limits, then reuses its receipt. With scope "merchant" one batch covers every path on the site. Pending payments are recovered without sending another transaction. Other payment protocols are unsupported.',
|
|
9
13
|
inputSchema: {
|
|
10
14
|
type: "object",
|
|
11
15
|
properties: {
|
|
@@ -15,6 +19,11 @@ export function payableFetchTool() {
|
|
|
15
19
|
exclusiveMinimum: 0,
|
|
16
20
|
description: "Optional tighter per-payment USD limit; cannot increase the owner's cap.",
|
|
17
21
|
},
|
|
22
|
+
scope: {
|
|
23
|
+
type: "string",
|
|
24
|
+
enum: [...SCOPES],
|
|
25
|
+
description: 'What a new batch covers. "exact" (default): this one resource. "merchant": every path on this site — use it when the owner asked for access to the site; each request still costs its own listed price. Does not change the price or the owner limits.',
|
|
26
|
+
},
|
|
18
27
|
},
|
|
19
28
|
required: ["url"],
|
|
20
29
|
additionalProperties: false,
|
|
@@ -25,10 +34,12 @@ export function payableFetchTool() {
|
|
|
25
34
|
/** Never expose bearer receipts, raw signed transactions, or exception response bodies. */
|
|
26
35
|
export async function runPayableFetch(ctx, args) {
|
|
27
36
|
let state;
|
|
37
|
+
let chain;
|
|
28
38
|
try {
|
|
29
39
|
let maxGasWei;
|
|
30
40
|
try {
|
|
31
41
|
maxGasWei = validatePaymentConfig(ctx.config);
|
|
42
|
+
chain = payChain(ctx.config.payChain);
|
|
32
43
|
}
|
|
33
44
|
catch (error) {
|
|
34
45
|
return errorResult(error.message);
|
|
@@ -36,23 +47,28 @@ export async function runPayableFetch(ctx, args) {
|
|
|
36
47
|
const store = ctx.paymentState;
|
|
37
48
|
if (!store || store.address !== ctx.agent.evmAddress.toLowerCase())
|
|
38
49
|
return errorResult("A persistent matching wallet is required for payments.");
|
|
39
|
-
if (Object.keys(args).some((k) => !["url", "max_amount_usd"].includes(k)))
|
|
40
|
-
return errorResult("Only url and
|
|
50
|
+
if (Object.keys(args).some((k) => !["url", "max_amount_usd", "scope"].includes(k)))
|
|
51
|
+
return errorResult("Only url, max_amount_usd and scope are supported; no facilitator fallback.");
|
|
41
52
|
if (typeof args.url !== "string")
|
|
42
53
|
return errorResult("url must be an HTTPS resource URL.");
|
|
54
|
+
if (args.scope !== undefined && !SCOPES.includes(args.scope))
|
|
55
|
+
return errorResult('scope must be "exact" or "merchant".');
|
|
56
|
+
const scope = args.scope ?? "exact";
|
|
43
57
|
const url = new URL(args.url);
|
|
44
|
-
if (url.protocol !== "https:" ||
|
|
45
|
-
url.username ||
|
|
46
|
-
url.password ||
|
|
47
|
-
url.hash ||
|
|
48
|
-
!ctx.config.gatewayOrigins.includes(url.origin))
|
|
58
|
+
if (url.protocol !== "https:" || url.username || url.password || url.hash)
|
|
49
59
|
return errorResult("The URL must use an owner-approved exact HTTPS origin without credentials or fragment.");
|
|
60
|
+
// The agent cannot approve a site itself: a page asking to be paid is not
|
|
61
|
+
// the owner asking to pay it. Name the origin so the owner can decide.
|
|
62
|
+
if (!ctx.config.gatewayOrigins.includes(url.origin))
|
|
63
|
+
return errorResult(`${url.origin} is not an owner-approved site. Nothing was paid. The owner can add it to AIFINPAY_GATEWAY_ORIGINS and reconnect this server; the agent cannot approve a site itself.`);
|
|
50
64
|
if (args.max_amount_usd !== undefined &&
|
|
51
65
|
(typeof args.max_amount_usd !== "number" || !Number.isFinite(args.max_amount_usd) || args.max_amount_usd <= 0))
|
|
52
66
|
return errorResult("max_amount_usd must be a positive finite amount.");
|
|
53
67
|
const maximum = Math.min(ctx.config.maxAmountUsd, typeof args.max_amount_usd === "number" ? args.max_amount_usd : Infinity);
|
|
54
68
|
const parsed = parseGatewayUrl(url.href, ctx.config.gatewayOrigins, ctx.config.gatewayPathMode);
|
|
55
|
-
const
|
|
69
|
+
const pay = chain;
|
|
70
|
+
const payAsset = ctx.config.payAsset ?? pay.native;
|
|
71
|
+
const rpc = ctx.config.rpcUrl ?? pay.defaultRpc;
|
|
56
72
|
return await store.exclusive(async () => {
|
|
57
73
|
state = store.read();
|
|
58
74
|
for (const entry of ctx.agent.aifp1Receipts.list())
|
|
@@ -68,12 +84,14 @@ export async function runPayableFetch(ctx, args) {
|
|
|
68
84
|
if (pending.recovery.apiBaseUrl.replace(/\/+$/, "") !== configuredApi ||
|
|
69
85
|
(pending.recovery.paymentIssuer ?? configuredApi).replace(/\/+$/, "") !== configuredApi ||
|
|
70
86
|
pending.recovery.quote.payer?.toLowerCase() !== ctx.agent.evmAddress.toLowerCase() ||
|
|
71
|
-
call?.chain !==
|
|
87
|
+
call?.chain !== pay.name ||
|
|
72
88
|
call.splitter_version !== "1.4" ||
|
|
73
89
|
// Native calls from earlier versions may lack the field; they were POL.
|
|
74
90
|
(call.asset ?? "POL") !== pending.recovery.asset ||
|
|
75
|
-
![
|
|
76
|
-
|
|
91
|
+
![pay.native, payAsset].includes(pending.recovery.asset)) {
|
|
92
|
+
// A payment pending on another chain is recovered by switching back
|
|
93
|
+
// to that chain; it is never re-sent here and never forgotten.
|
|
94
|
+
throw new Error(`Pending payment does not match the configured wallet/API/${pay.name} v1.4 route and asset`);
|
|
77
95
|
}
|
|
78
96
|
const paid = await ctx.agent.recoverPaidPayment(pending.recovery, { paymentIssuer: configuredApi });
|
|
79
97
|
const receipt = {
|
|
@@ -104,30 +122,32 @@ export async function runPayableFetch(ctx, args) {
|
|
|
104
122
|
paymentIssuer: ctx.config.baseUrl ?? "https://api.aifinpay.io",
|
|
105
123
|
gatewayOrigins: ctx.config.gatewayOrigins,
|
|
106
124
|
resourcePathMode: ctx.config.gatewayPathMode,
|
|
107
|
-
scope
|
|
125
|
+
scope,
|
|
108
126
|
maxAmountUsd: Math.min(maximum, Math.max(0, ctx.config.dailyAmountUsd - spent)),
|
|
109
127
|
nativeUsdPrice: async () => {
|
|
110
128
|
// Independent public price, never the quote API's rate: Chainlink
|
|
111
|
-
// over the agent's own
|
|
112
|
-
// Coinbase, then CoinGecko. See ../native-price.ts.
|
|
113
|
-
const found = await
|
|
129
|
+
// over the agent's own RPC for the pay chain first (no extra
|
|
130
|
+
// host), then Coinbase, then CoinGecko. See ../native-price.ts.
|
|
131
|
+
const found = await independentNativeUsd({
|
|
114
132
|
fetchImpl: (input, init) => ctx.agent.inner.fetchImpl(input, init),
|
|
115
|
-
|
|
133
|
+
chain: pay,
|
|
134
|
+
rpc,
|
|
116
135
|
});
|
|
117
136
|
price = { usd: found.usd, observedAtMs: found.observedAtMs };
|
|
118
137
|
return price;
|
|
119
138
|
},
|
|
120
139
|
v14: {
|
|
121
|
-
|
|
140
|
+
chain: pay.name,
|
|
141
|
+
...(payAsset !== pay.native ? { asset: payAsset } : {}),
|
|
122
142
|
maxGasWei,
|
|
123
143
|
onPrepared: async (prepared) => {
|
|
124
144
|
if (state.pending)
|
|
125
145
|
throw new Error("A payment is already pending");
|
|
126
146
|
// A stablecoin batch is dollars already: the SDK bound the signed
|
|
127
147
|
// gross to the quoted USD amount exactly. Only a native batch
|
|
128
|
-
// needs the independent
|
|
148
|
+
// needs the independent native price.
|
|
129
149
|
let usd;
|
|
130
|
-
if (payAsset !==
|
|
150
|
+
if (payAsset !== pay.native) {
|
|
131
151
|
if (prepared.asset !== payAsset)
|
|
132
152
|
throw new Error("Prepared payment is not in the configured asset");
|
|
133
153
|
usd = Number(prepared.quote.amount);
|
|
@@ -215,21 +235,25 @@ export async function runPayableFetch(ctx, args) {
|
|
|
215
235
|
catch (error) {
|
|
216
236
|
if (error instanceof PaymentStateError)
|
|
217
237
|
return errorResult(error.message);
|
|
238
|
+
// Set before any payment step runs; the fallback only covers a throw from
|
|
239
|
+
// inside validation itself, which returns above.
|
|
240
|
+
const on = chain ?? payChain(undefined);
|
|
241
|
+
const label = on.label;
|
|
218
242
|
if (!state?.pending && error instanceof Aifp1SettlementUnsupportedError) {
|
|
219
|
-
return errorResult(
|
|
243
|
+
return errorResult(`The merchant must offer a signed native ${label} v1.4 quote (the chain set in AIFINPAY_PAY_CHAIN). Its current settlement route is unsupported; no legacy, other-chain or alternate-protocol payment was attempted.`);
|
|
220
244
|
}
|
|
221
245
|
if (!state?.pending && error instanceof Error && error.name === "V14SettlementError") {
|
|
222
246
|
const code = error.code;
|
|
223
247
|
const messages = {
|
|
224
|
-
V14_INSUFFICIENT_BALANCE:
|
|
225
|
-
V14_GAS_BUDGET_EXCEEDED:
|
|
248
|
+
V14_INSUFFICIENT_BALANCE: `The wallet needs enough ${on.native} on ${label} for the quoted purchase plus the owner-capped gas fee.`,
|
|
249
|
+
V14_GAS_BUDGET_EXCEEDED: `Estimated gas exceeds the owner's gas cap (AIFINPAY_MAX_GAS, in ${on.native}). The owner can review the limit; the agent cannot raise it.`,
|
|
226
250
|
V14_PAUSED: "The approved payment deployment is paused. No payment was sent.",
|
|
227
251
|
V14_EXPIRED: "The signed quote expired before submission. Request a fresh quote.",
|
|
228
252
|
V14_EXPIRING: "The signed quote expires too soon to submit safely. Request a fresh quote.",
|
|
229
253
|
V14_STALE_NONCE: "The signed quote uses a stale wallet nonce. Request a fresh quote.",
|
|
230
254
|
};
|
|
231
255
|
return errorResult(messages[code ?? ""] ??
|
|
232
|
-
|
|
256
|
+
`Payment verification refused this deployment, signer or quote. The merchant must offer a verified native ${label} v1.4 route; no fallback was attempted.`);
|
|
233
257
|
}
|
|
234
258
|
return errorResult(state?.pending
|
|
235
259
|
? `Payment pending (${state.pending.recovery.txRef}). Its private recovery journal is retained. Retry to recover the receipt; no replacement payment will be submitted. If submission never occurred or reverted, the owner must reconcile the journal.`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aifinpay/mcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"mcpName": "io.github.daochild/aifinpay",
|
|
5
5
|
"description": "AiFinPay MCP: persistent agent wallets, discovery and owner-enabled verified native Polygon v1.4 payments with durable receipt recovery.",
|
|
6
6
|
"type": "module",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
},
|
|
77
77
|
"bugs": "https://github.com/AiFinPay/sdk/issues",
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@aifinpay/agent": "^2.
|
|
80
|
-
"@aifinpay/skill": "^2.
|
|
79
|
+
"@aifinpay/agent": "^2.3.0",
|
|
80
|
+
"@aifinpay/skill": "^2.6.0",
|
|
81
81
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
82
82
|
"bs58": "^6.0.0",
|
|
83
83
|
"tweetnacl": "^1.0.3"
|