@aifinpay/mcp 2.11.4 → 2.12.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/README.md +109 -88
- package/bin/aifinpay-mcp.js +44 -36
- package/dist/config.d.ts +38 -13
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +51 -19
- package/dist/config.js.map +1 -1
- package/dist/dashboard-policy.d.ts +47 -0
- package/dist/dashboard-policy.d.ts.map +1 -0
- package/dist/dashboard-policy.js +124 -0
- package/dist/dashboard-policy.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/merchant-site.d.ts +32 -0
- package/dist/merchant-site.d.ts.map +1 -0
- package/dist/merchant-site.js +58 -0
- package/dist/merchant-site.js.map +1 -0
- package/dist/server.d.ts +4 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +37 -10
- package/dist/server.js.map +1 -1
- package/dist/tools/payable-fetch.d.ts.map +1 -1
- package/dist/tools/payable-fetch.js +40 -12
- package/dist/tools/payable-fetch.js.map +1 -1
- package/dist/tools/payment-setup-status.d.ts +16 -9
- package/dist/tools/payment-setup-status.d.ts.map +1 -1
- package/dist/tools/payment-setup-status.js +83 -63
- package/dist/tools/payment-setup-status.js.map +1 -1
- package/package.json +2 -2
- package/smithery.yaml +7 -8
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,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACrF,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,EAAE,WAAW,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7G,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;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,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,MAAM,eAAe,GACnB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.d.ts","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AAWA,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":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBhD,wBAAgB,gBAAgB;IAE5B,IAAI;IACJ,WAAW;IAEX,WAAW;QACT,IAAI;QACJ,UAAU;YACR,GAAG;gBACD,IAAI;gBACJ,WAAW;;YAGb,cAAc;gBACZ,IAAI;gBACJ,gBAAgB;gBAChB,WAAW;;YAEb,KAAK;gBACH,IAAI;gBACJ,IAAI;gBACJ,WAAW;;YAGb,oBAAoB;gBAClB,IAAI;gBACJ,OAAO;gBACP,WAAW;;;QAIf,QAAQ;QACR,oBAAoB;;IAEtB,WAAW;QAAI,YAAY;QAAS,aAAa;QAAQ,eAAe;;EAE3E;AAED,2FAA2F;AAC3F,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;GA+ZpF"}
|
|
@@ -4,20 +4,27 @@ import { PaymentStateError } from "../payment-state.js";
|
|
|
4
4
|
import { independentNativeUsd } from "../native-price.js";
|
|
5
5
|
import { payChain } from "../pay-chains.js";
|
|
6
6
|
import { paymentSetupStatus } from "./payment-setup-status.js";
|
|
7
|
+
import { assertVerifiedMerchantSite, UnverifiedMerchantSiteError } from "../merchant-site.js";
|
|
7
8
|
// "prefix" is left out on purpose: it needs a resource to anchor to, and the
|
|
8
9
|
// owner's two real requests are "this endpoint" and "this site".
|
|
9
10
|
const SCOPES = ["exact", "merchant"];
|
|
10
11
|
// Real ids are "mrch_" plus hex. A 402's merchant id is unauthenticated, so
|
|
11
12
|
// only an id this plain is ever repeated to the model.
|
|
12
13
|
const MERCHANT_ID = /^[A-Za-z0-9_.:-]{1,64}$/;
|
|
14
|
+
// The hosted gateway addresses merchants by slug; every other origin is a site
|
|
15
|
+
// running its own paywall, whose AIFP-1 resource is the full request path.
|
|
16
|
+
const HOSTED_GATEWAY_ORIGIN = "https://gateway.aifinpay.io";
|
|
13
17
|
export function payableFetchTool() {
|
|
14
18
|
return {
|
|
15
19
|
name: "payable_fetch",
|
|
16
|
-
description: 'Fetch a GET resource from an
|
|
20
|
+
description: 'Fetch a GET resource from an AiFinPay merchant, paying its AIFP-1 402 when needed. Always listed: until a persistent wallet exists (npx @aifinpay/mcp init, then agent_reload) it signs nothing and returns the payment_setup_status checklist with the one next step. Payments are on by default within a built-in ceiling of $5 per payment and $20 per 24 hours (the owner can only lower it in env; the working limits are the dashboard Controls after agent_claim_self) and only ever reach a merchant registered with AiFinPay, through a quote signed by the AiFinPay backend; a 402 never chooses who is paid. Without AIFINPAY_GATEWAY_ORIGINS it pays only a merchant whose site AiFinPay reports as DNS-verified, on that very site (or through the AiFinPay hosted gateway); with it, only the origins the owner listed; AIFINPAY_PAYMENTS_ENABLED=0 turns payments off. Buys a prepaid batch through verified v1.4 on the chain the owner set in AIFINPAY_PAY_CHAIN (Polygon by default; other supported networks require explicit owner selection) — in its native currency (POL, SOL, ETH, AVAX, BNB or XRP), 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.',
|
|
17
21
|
inputSchema: {
|
|
18
22
|
type: "object",
|
|
19
23
|
properties: {
|
|
20
|
-
url: {
|
|
24
|
+
url: {
|
|
25
|
+
type: "string",
|
|
26
|
+
description: "HTTPS resource to fetch. Without AIFINPAY_GATEWAY_ORIGINS, payment goes only to a merchant that verified this site with AiFinPay; with it, only to the origins the owner listed.",
|
|
27
|
+
},
|
|
21
28
|
max_amount_usd: {
|
|
22
29
|
type: "number",
|
|
23
30
|
exclusiveMinimum: 0,
|
|
@@ -74,16 +81,21 @@ export async function runPayableFetch(ctx, args) {
|
|
|
74
81
|
return errorResult("expected_merchant_id must be a merchant id such as mrch_0123abcd.");
|
|
75
82
|
const url = new URL(args.url);
|
|
76
83
|
if (url.protocol !== "https:" || url.username || url.password || url.hash)
|
|
77
|
-
return errorResult("The URL must
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
|
|
84
|
+
return errorResult("The URL must be an https resource without credentials or fragment.");
|
|
85
|
+
// Unset, the allowlist is the origin of this very URL: whoever answers its
|
|
86
|
+
// 402 is still only paid if the AiFinPay backend quotes them as a
|
|
87
|
+
// registered merchant. Set, it is the owner's word on which sites may be
|
|
88
|
+
// paid at all, and the agent cannot add to it: a page asking to be paid is
|
|
89
|
+
// not the owner asking to pay it. Name the origin so the owner can decide.
|
|
90
|
+
const origins = ctx.config.gatewayOrigins ?? [url.origin];
|
|
91
|
+
if (!origins.includes(url.origin))
|
|
81
92
|
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.`);
|
|
93
|
+
const pathMode = ctx.config.gatewayPathMode ?? (url.origin === HOSTED_GATEWAY_ORIGIN ? "gateway" : "direct");
|
|
82
94
|
if (args.max_amount_usd !== undefined &&
|
|
83
95
|
(typeof args.max_amount_usd !== "number" || !Number.isFinite(args.max_amount_usd) || args.max_amount_usd <= 0))
|
|
84
96
|
return errorResult("max_amount_usd must be a positive finite amount.");
|
|
85
97
|
const maximum = Math.min(ctx.config.maxAmountUsd, typeof args.max_amount_usd === "number" ? args.max_amount_usd : Infinity);
|
|
86
|
-
const parsed = parseGatewayUrl(url.href,
|
|
98
|
+
const parsed = parseGatewayUrl(url.href, origins, pathMode);
|
|
87
99
|
const pay = chain;
|
|
88
100
|
const payAsset = ctx.config.payAsset ?? pay.native;
|
|
89
101
|
const rpc = ctx.config.rpcUrl ?? pay.defaultRpc;
|
|
@@ -199,6 +211,19 @@ export async function runPayableFetch(ctx, args) {
|
|
|
199
211
|
const spent = store.spent24h(state);
|
|
200
212
|
const priorReceiptIds = new Set(state.receipts.map((entry) => entry.receiptId));
|
|
201
213
|
let price;
|
|
214
|
+
// No owner allowlist: pay only the verified owner of the site being used
|
|
215
|
+
// (see ../merchant-site.ts). With one, the owner already chose the sites.
|
|
216
|
+
const confirmPayee = async (merchantId) => {
|
|
217
|
+
if (ctx.config.gatewayOrigins !== undefined)
|
|
218
|
+
return;
|
|
219
|
+
await assertVerifiedMerchantSite({
|
|
220
|
+
fetchImpl: (input, init) => ctx.agent.inner.fetchImpl(input, init),
|
|
221
|
+
apiBase: (ctx.config.baseUrl ?? "https://api.aifinpay.io").replace(/\/+$/, ""),
|
|
222
|
+
merchantId,
|
|
223
|
+
url,
|
|
224
|
+
pathMode,
|
|
225
|
+
});
|
|
226
|
+
};
|
|
202
227
|
const persistPrepared = (prepared, usd, serializedTransaction) => {
|
|
203
228
|
if (state.pending)
|
|
204
229
|
throw new Error("A payment is already pending");
|
|
@@ -207,9 +232,7 @@ export async function runPayableFetch(ctx, args) {
|
|
|
207
232
|
usd > maximum ||
|
|
208
233
|
store.spent24h(state) + usd > ctx.config.dailyAmountUsd)
|
|
209
234
|
throw new Error("Owner spending limit reached");
|
|
210
|
-
const site =
|
|
211
|
-
? `direct:${JSON.stringify([url.origin, prepared.quote.merchant_id])}`
|
|
212
|
-
: parsed.site;
|
|
235
|
+
const site = pathMode === "direct" ? `direct:${JSON.stringify([url.origin, prepared.quote.merchant_id])}` : parsed.site;
|
|
213
236
|
state.pending = {
|
|
214
237
|
recovery: prepared,
|
|
215
238
|
...(serializedTransaction ? { serializedTransaction } : {}),
|
|
@@ -224,8 +247,8 @@ export async function runPayableFetch(ctx, args) {
|
|
|
224
247
|
const response = await ctx.agent.fetchPaid(url.href, { method: "GET", redirect: "manual" }, {
|
|
225
248
|
apiBaseUrl: ctx.config.baseUrl,
|
|
226
249
|
paymentIssuer: ctx.config.baseUrl ?? "https://api.aifinpay.io",
|
|
227
|
-
gatewayOrigins:
|
|
228
|
-
resourcePathMode:
|
|
250
|
+
gatewayOrigins: origins,
|
|
251
|
+
resourcePathMode: pathMode,
|
|
229
252
|
scope,
|
|
230
253
|
...(expectedMerchantId !== undefined ? { expectedMerchantId } : {}),
|
|
231
254
|
...(ctx.framework ? { framework: ctx.framework } : {}),
|
|
@@ -259,6 +282,7 @@ export async function runPayableFetch(ctx, args) {
|
|
|
259
282
|
prepared.quote.payer !== ctx.agent.solanaAddress ||
|
|
260
283
|
prepared.asset !== payAsset)
|
|
261
284
|
throw new Error("Prepared Solana payment disagrees with the owner configuration");
|
|
285
|
+
await confirmPayee(prepared.quote.merchant_id);
|
|
262
286
|
if (!price || Date.now() - price.observedAtMs > 60_000 || price.observedAtMs > Date.now())
|
|
263
287
|
throw new Error("Independent SOL price expired before preparation");
|
|
264
288
|
const native = prepared.quote.native_settlement;
|
|
@@ -280,6 +304,7 @@ export async function runPayableFetch(ctx, args) {
|
|
|
280
304
|
...(payAsset !== pay.native ? { asset: payAsset } : {}),
|
|
281
305
|
maxGasWei: feeCap,
|
|
282
306
|
onPrepared: async (prepared) => {
|
|
307
|
+
await confirmPayee(prepared.quote.merchant_id);
|
|
283
308
|
let usd;
|
|
284
309
|
if (payAsset !== pay.native) {
|
|
285
310
|
if (prepared.asset !== payAsset)
|
|
@@ -369,6 +394,9 @@ export async function runPayableFetch(ctx, args) {
|
|
|
369
394
|
? `, and only then retry with expected_merchant_id "${error.merchantId}".`
|
|
370
395
|
: ". This merchant id cannot be confirmed through this tool."));
|
|
371
396
|
}
|
|
397
|
+
if (!state?.pending && error instanceof UnverifiedMerchantSiteError) {
|
|
398
|
+
return errorResult(`${error.message} Without an owner allowlist, payable_fetch pays only a merchant that verified its site with AiFinPay, on that site. Tell the owner; the agent cannot approve this payee itself.`);
|
|
399
|
+
}
|
|
372
400
|
if (!state?.pending && error instanceof Aifp1GatewayRetiredError) {
|
|
373
401
|
return errorResult(`${error.site} is retired: the gateway no longer serves this site (410 gateway_retired). Nothing was quoted or paid. Do not retry this request or pay for it again; tell the owner.`);
|
|
374
402
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,GAIhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAqB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AAE9C,4EAA4E;AAC5E,uDAAuD;AACvD,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,+1BAA+1B;QACj2B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6DAA6D,EAAE;gBACnG,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,gBAAgB,EAAE,CAAC;oBACnB,WAAW,EAAE,0EAA0E;iBACxF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;oBACjB,WAAW,EACT,wPAAwP;iBAC3P;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,WAAW,CAAC,MAAM;oBAC3B,WAAW,EACT,mQAAmQ;iBACtQ;aACF;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,oBAAoB,EAAE,KAAK;SAC5B;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;KACjF,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB,EAAE,IAA6B;IACnF,IAAI,KAA+B,CAAC;IACpC,IAAI,KAA2B,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;QAC/B,2EAA2E;QAC3E,wEAAwE;QACxE,iEAAiE;QACjE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAClG,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;YACrE,OAAO,WAAW,CAChB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,8DAA8D,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9G,CAAC;QACJ,CAAC;QACD,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,WAAW,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxG,OAAO,WAAW,CAChB,kGAAkG,CACnG,CAAC;QACJ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,WAAW,CAAC,oCAAoC,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAqB,CAAC;YAC1E,OAAO,WAAW,CAAC,sCAAsC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAkB,IAAI,CAAC,KAAkC,IAAI,OAAO,CAAC;QAChF,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACrD,IACE,kBAAkB,KAAK,SAAS;YAChC,CAAC,OAAO,kBAAkB,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjF,OAAO,WAAW,CAAC,mEAAmE,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;YACvE,OAAO,WAAW,CAAC,wFAAwF,CAAC,CAAC;QAC/G,0EAA0E;QAC1E,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAClD,OAAO,WAAW,CAChB,GAAG,GAAG,CAAC,MAAM,uKAAuK,CACrL,CAAC;QACJ,IACE,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;YAE9G,OAAO,WAAW,CAAC,kDAAkD,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,GAAG,CAAC,MAAM,CAAC,YAAa,EACxB,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CACzE,CAAC;QACF,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAChG,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC;QAChD,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YACtC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;gBAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAW,EAAE;gBAC5D,IAAI,CAAC,CAAC,KAAK,YAAY,0BAA0B,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACjE,MAAM,OAAO,GAAG,KAAM,CAAC,OAAO,CAAC;gBAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAChC,IACE,CAAC,OAAO;oBACR,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ;oBACpC,QAAQ,EAAE,MAAM,KAAK,QAAQ;oBAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC7D,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,iBAAiB;oBAChD,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBACpC,KAAK,CAAC,YAAY,GAAG,CAAC;oBACtB,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,SAAS;oBACtC,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;oBAC3C,KAAK,CAAC,iBAAiB,GAAG,EAAE;oBAE5B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAG,KAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,SAAS;oBACpF,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBACzE,yEAAyE;gBACzE,uEAAuE;gBACvE,wEAAwE;gBACxE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;gBACpC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC1B,OAAO,KAAM,CAAC,OAAO,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;YACF,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAClC,WAAW,CACT,kLAAkL,CACnL,CAAC;YACJ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC9B,uEAAuE;gBACvE,oEAAoE;gBACpE,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC5F,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC;gBACpD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACrC,MAAM,YAAY,GAAG,MAAM;oBACzB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa;oBAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACvF,IACE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,aAAa;oBACjE,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,aAAa;oBACvF,CAAC,YAAY;oBACb,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC;oBAC7E,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI;oBACxB,IAAI,CAAC,gBAAgB,KAAK,KAAK;oBAC/B,CAAE,IAA2B,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK;oBACxE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACxD,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC;oBAEtF,MAAM,IAAI,KAAK,CAAC,4DAA4D,GAAG,CAAC,IAAI,uBAAuB,CAAC,CAAC;gBAC/G,IAAI,QAA8B,CAAC;gBACnC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACzC,IACE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,aAAa;wBAC3D,IAA6B,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,aAAa;wBAEnE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;oBACtF,kEAAkE;oBAClE,mEAAmE;oBACnE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBACnF,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;wBACzC,MAAM,yBAAyB,CAC7B,IAAyB,EACzB,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,CAAC,qBAAsB,EAAE,EACvF,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,KAAK,CAAC,UAAU,EACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAChC,CAAC;oBACJ,CAAC;oBACD,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAChF,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,KAAK;qBACzB,kBAAkB,CAAC,QAAQ,EAAE;oBAC5B,aAAa,EAAE,aAAa;oBAC5B,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACvB,CAAC,CAAC;4BACE,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAc;4BACxC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,KAAe,CAAC,CAAC,CAAE,MAAgB;yBAC7E;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;qBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBACxB,IAAI,yBAAyB,CAAC,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAClD,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;gBACL,IAAI,CAAC,IAAI;oBAAE,OAAO,sBAAsB,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAuB;oBAClC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,GAAG,EAAE,IAAI,CAAC,OAAO;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;oBACtC,SAAS,EAAE,OAAO,CAAC,SAAS;iBAC7B,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAC7F,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAChD,OAAO,KAAK,CAAC,OAAO,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,IAAI,KAAwD,CAAC;YAC7D,MAAM,eAAe,GAAG,CAAC,QAA8B,EAAE,GAAW,EAAE,qBAAqC,EAAE,EAAE;gBAC7G,IAAI,KAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBACpE,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrB,GAAG,IAAI,CAAC;oBACR,GAAG,GAAG,OAAO;oBACb,KAAK,CAAC,QAAQ,CAAC,KAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAe;oBAEzD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAClD,MAAM,IAAI,GACR,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,QAAQ;oBACrC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;oBACtE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,KAAM,CAAC,OAAO,GAAG;oBACf,QAAQ,EAAE,QAAQ;oBAClB,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,IAAI;oBACJ,SAAS,EAAE,GAAG;iBACf,CAAC;gBACF,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/D,+DAA+D;gBAC/D,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YACrB,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CACxC,GAAG,CAAC,IAAI,EACR,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACrC;oBACE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;oBAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,yBAAyB;oBAC9D,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc;oBACzC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe;oBAC5C,KAAK;oBACL,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,mEAAmE;oBACnE,sEAAsE;oBACtE,kDAAkD;oBAClD,YAAY,EACV,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,cAAe,GAAG,KAAK,CAAC,CAAC;oBACtG,cAAc,EAAE,KAAK,IAAI,EAAE;wBACzB,kEAAkE;wBAClE,6DAA6D;wBAC7D,gEAAgE;wBAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC;4BACvC,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;4BAClE,KAAK,EAAE,GAAG;4BACV,GAAG;yBACJ,CAAC,CAAC;wBACH,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;wBAC7D,OAAO,KAAK,CAAC;oBACf,CAAC;oBACD,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACvB,CAAC,CAAC;4BACE,SAAS,EAAE;gCACT,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,KAAe,CAAC,CAAC,CAAE,MAAgB;gCACtE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,aAAc;gCAClC,KAAK,EAAE,QAAQ;gCACf,cAAc,EAAE,MAAM;gCACtB,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;oCAC7B,IACE,QAAQ,CAAC,MAAM,KAAK,QAAQ;wCAC5B,QAAQ,CAAC,KAAK,KAAK,QAAQ;wCAC3B,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,aAAa;wCACpD,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,aAAa;wCAChD,QAAQ,CAAC,KAAK,KAAK,QAAQ;wCAE3B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;oCACpF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,GAAG,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE;wCACvF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oCACtE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAA4D,CAAC;oCAC3F,MAAM,KAAK,GACT,QAAQ,KAAK,KAAK;wCAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7B,CAAC,MAAM,CAAC,MAAM,CAAC,MAAO,CAAC,cAAe,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAC5D;wCACH,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACpC,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;wCACvB,KAAK,IAAI,CAAC;wCACV,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wCAC5C,QAAQ,CAAC,iBAAiB,GAAG,KAAK;wCAElC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;oCACtE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;gCACxD,CAAC;6BACF;yBACF;wBACH,CAAC,CAAC;4BACE,GAAG,EAAE;gCACH,KAAK,EAAE,GAAG,CAAC,IAAI;gCACf,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACvD,SAAS,EAAE,MAAM;gCACjB,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;oCAC7B,IAAI,GAAW,CAAC;oCAChB,IAAI,QAAQ,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;wCAC5B,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;4CAC7B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;wCACrE,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oCACtC,CAAC;yCAAM,CAAC;wCACN,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,GAAG,MAAM;4CACpD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;wCAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAA0C,CAAC;wCACzE,GAAG,GAAG,IAAI,CAAC,GAAG,CACZ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAC7B,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CACtD,CAAC;oCACJ,CAAC;oCACD,2DAA2D;oCAC3D,4DAA4D;oCAC5D,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gCACjE,CAAC;6BACF;yBACF,CAAC;iBACP,CACF,CAAC;gBACF,IAAI,QAAQ,KAAK,IAAI;oBAAE,OAAO,WAAW,CAAC,wCAAwC,CAAC,CAAC;gBACpF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;oBACvC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;wBACnD,IAAI,KAAK,CAAC,GAAG;4BAAE,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;oBAC3E,CAAC;oBACD,OAAO,KAAK,CAAC,OAAO,CAAC,2DAA2D,EAAE,kBAAkB,CAAC,CAAC;gBACxG,CAAC,CAAC;gBACF,MAAM,OAAO,GAA2B,EAAE,CAAC;gBAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBAChF,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzC,IAAI,KAAK,KAAK,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gCACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;gCACf,OAAO;gCACP,IAAI;gCACJ,SAAS;gCACT,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE;6BAC7C,CAAC;yBACH;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,yBAAyB,CAAC,KAAK,CAAC;oBAAE,OAAO,sBAAsB,EAAE,CAAC;gBACtE,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,oEAAoE;gBACpE,wEAAwE;gBACxE,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAChD,IACE,KAAK,CAAC,OAAO;oBACb,KAAK,CAAC,QAAQ,CAAC,IAAI,CACjB,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;wBACrC,KAAK,CAAC,IAAI,KAAK,KAAM,CAAC,OAAQ,CAAC,IAAI;wBACnC,KAAK,CAAC,UAAU,KAAK,KAAM,CAAC,OAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAClE,EACD,CAAC;oBACD,OAAO,KAAK,CAAC,OAAO,CAAC;gBACvB,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB;YAAE,OAAO,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,EAAE,GAAG,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAClE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAC1F,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACpC,OAAO,WAAW,CAChB,IAAI,CAAC,oBAAoB,KAAK,SAAS;gBACrC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,wBAAwB,GAAG,+BAA+B,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,qEAAqE;gBAC7K,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,4BAA4B,GAAG,sCAAsC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,4IAA4I;oBAC3P,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBACjC,CAAC,CAAC,oDAAoD,KAAK,CAAC,UAAU,IAAI;wBAC1E,CAAC,CAAC,2DAA2D,CAAC,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,YAAY,wBAAwB,EAAE,CAAC;YACjE,OAAO,WAAW,CAChB,GAAG,KAAK,CAAC,IAAI,uKAAuK,CACrL,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,YAAY,+BAA+B,EAAE,CAAC;YACxE,OAAO,WAAW,CAChB,2CAA2C,KAAK,qKAAqK,CACtN,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACrF,MAAM,IAAI,GAAI,KAAmC,CAAC,IAAI,CAAC;YACvD,MAAM,QAAQ,GAA2B;gBACvC,wBAAwB,EAAE,2BAA2B,EAAE,CAAC,MAAM,OAAO,KAAK,yDAAyD;gBACnI,uBAAuB,EAAE,mEAAmE,EAAE,CAAC,MAAM,+DAA+D;gBACpK,UAAU,EAAE,iEAAiE;gBAC7E,WAAW,EAAE,oEAAoE;gBACjF,YAAY,EAAE,4EAA4E;gBAC1F,eAAe,EAAE,oEAAoE;aACtF,CAAC;YACF,OAAO,WAAW,CAChB,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAClB,4GAA4G,KAAK,yCAAyC,CAC7J,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAChB,KAAK,EAAE,OAAO;YACZ,CAAC,CAAC,oBAAoB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,sMAAsM;YACxP,CAAC,CAAC,+JAA+J,CACpK,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAkB,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI;IAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;YACpF,MAAM,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC1C,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AACD,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"payable-fetch.js","sourceRoot":"","sources":["../../src/tools/payable-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ToolContext } from "../server.js";
|
|
2
|
-
import { type
|
|
2
|
+
import { type DashboardStatus } from "../dashboard-policy.js";
|
|
3
3
|
/**
|
|
4
4
|
* The one read-only checklist between "server connected" and "first payment".
|
|
5
5
|
*
|
|
@@ -13,16 +13,14 @@ import { type McpConfig } from "../config.js";
|
|
|
13
13
|
*/
|
|
14
14
|
/** The smallest AIFP-1 batch the backend sells, in USD. */
|
|
15
15
|
export declare const SMALLEST_BATCH_USD = 0.1;
|
|
16
|
-
export declare const
|
|
17
|
-
AIFINPAY_PAYMENTS_ENABLED: "1";
|
|
16
|
+
export declare const PAYMENT_OVERRIDES: Readonly<{
|
|
18
17
|
AIFINPAY_GATEWAY_ORIGINS: "https://merchant.example";
|
|
19
|
-
AIFINPAY_GATEWAY_PATH_MODE: "direct";
|
|
20
|
-
AIFINPAY_MAX_USD: "5";
|
|
21
|
-
AIFINPAY_DAILY_USD: "20";
|
|
22
18
|
AIFINPAY_MAX_GAS_POL: "0.3";
|
|
23
19
|
}>;
|
|
20
|
+
/** How payments work with nothing set, for init's output and the tool text. */
|
|
21
|
+
export declare const PAYMENTS_DEFAULT_NOTE: string;
|
|
24
22
|
/** Where the owner manages the working limits once the agent is claimed. */
|
|
25
|
-
export declare const CONTROLS_NOTE = "The
|
|
23
|
+
export declare const CONTROLS_NOTE = "The working limits are the dashboard Controls: once the agent is linked with agent_claim_self, the owner sets the per-payment cap, daily cap, pause and allowed merchants at https://dash.aifinpay.io, and AiFinPay enforces them on every quote and payment; this server's ceiling applies underneath.";
|
|
26
24
|
export declare const INIT_COMMAND = "npx @aifinpay/mcp init";
|
|
27
25
|
/**
|
|
28
26
|
* init, run so that it writes the keystore this server reads. An agent's shell
|
|
@@ -41,8 +39,11 @@ export declare function freshWalletHome(now?: Date): string;
|
|
|
41
39
|
export declare function lockedKeystoreStep(keystore: string): string;
|
|
42
40
|
interface Limit {
|
|
43
41
|
env: string;
|
|
42
|
+
/** A value applies (built in or the owner's); false when nothing bounds this. */
|
|
44
43
|
set: boolean;
|
|
45
44
|
value?: string | number | string[];
|
|
45
|
+
/** "default": the built-in value; "env": the owner lowered or set it. */
|
|
46
|
+
source?: "default" | "env";
|
|
46
47
|
}
|
|
47
48
|
export interface PaymentSetupStatus {
|
|
48
49
|
ready: boolean;
|
|
@@ -54,6 +55,11 @@ export interface PaymentSetupStatus {
|
|
|
54
55
|
payments_enabled: boolean;
|
|
55
56
|
pay_chain: string;
|
|
56
57
|
pay_asset: string;
|
|
58
|
+
/** The built-in ceiling; the env limits below can only lower it. */
|
|
59
|
+
ceiling: {
|
|
60
|
+
max_usd: number;
|
|
61
|
+
daily_usd: number;
|
|
62
|
+
};
|
|
57
63
|
limits: {
|
|
58
64
|
max_usd: Limit;
|
|
59
65
|
daily_usd: Limit;
|
|
@@ -71,6 +77,9 @@ export interface PaymentSetupStatus {
|
|
|
71
77
|
balance_error?: string;
|
|
72
78
|
/** What to fund a persistent wallet with, priced now; absent for an ephemeral wallet. */
|
|
73
79
|
funding?: Funding;
|
|
80
|
+
/** The owner's dashboard Controls, read with this wallet's own signature; absent for an
|
|
81
|
+
* ephemeral wallet, on Solana, and on payable_fetch's refusal (which contacts nothing). */
|
|
82
|
+
dashboard?: DashboardStatus;
|
|
74
83
|
next_step: string;
|
|
75
84
|
}
|
|
76
85
|
export interface Funding {
|
|
@@ -112,8 +121,6 @@ export declare function runPaymentSetupStatus(ctx: ToolContext, _args: Record<st
|
|
|
112
121
|
}[];
|
|
113
122
|
structuredContent: PaymentSetupStatus;
|
|
114
123
|
}>;
|
|
115
|
-
/** The example block, with the owner's real origins kept when they already set some. */
|
|
116
|
-
export declare function paymentEnvFor(config: McpConfig): Record<string, string>;
|
|
117
124
|
export declare function paymentSetupStatus(ctx: ToolContext, options: {
|
|
118
125
|
readBalance: boolean;
|
|
119
126
|
}): Promise<PaymentSetupStatus>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-setup-status.d.ts","sourceRoot":"","sources":["../../src/tools/payment-setup-status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"payment-setup-status.d.ts","sourceRoot":"","sources":["../../src/tools/payment-setup-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
|
-
import { validatePaymentConfig } from "../config.js";
|
|
4
|
+
import { DEFAULT_DAILY_USD, DEFAULT_MAX_GAS_POL, DEFAULT_MAX_USD, validatePaymentConfig } from "../config.js";
|
|
5
5
|
import { independentNativeUsd } from "../native-price.js";
|
|
6
6
|
import { payChain } from "../pay-chains.js";
|
|
7
|
+
import { dashboardRefusal, dashboardSentence, readDashboardPolicy } from "../dashboard-policy.js";
|
|
7
8
|
/**
|
|
8
9
|
* The one read-only checklist between "server connected" and "first payment".
|
|
9
10
|
*
|
|
@@ -17,24 +18,22 @@ import { payChain } from "../pay-chains.js";
|
|
|
17
18
|
*/
|
|
18
19
|
/** The smallest AIFP-1 batch the backend sells, in USD. */
|
|
19
20
|
export const SMALLEST_BATCH_USD = 0.1;
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
// cap is a worst case at the current Polygon gas price, not the fee: 0.05 POL
|
|
27
|
-
// refused every payment at ~280 gwei.
|
|
28
|
-
export const PAYMENT_ENV = Object.freeze({
|
|
29
|
-
AIFINPAY_PAYMENTS_ENABLED: "1",
|
|
21
|
+
// Optional env the owner may add to narrow the defaults; none of it is needed
|
|
22
|
+
// for a first payment. init prints it as a reference and README "Optional
|
|
23
|
+
// overrides" shows the same block; a test keeps the two equal. The gas cap is a
|
|
24
|
+
// worst case at the current Polygon gas price, not the fee: 0.05 POL refused
|
|
25
|
+
// every payment at ~280 gwei, so the default is 0.3 POL.
|
|
26
|
+
export const PAYMENT_OVERRIDES = Object.freeze({
|
|
30
27
|
AIFINPAY_GATEWAY_ORIGINS: "https://merchant.example",
|
|
31
|
-
AIFINPAY_GATEWAY_PATH_MODE: "direct",
|
|
32
|
-
AIFINPAY_MAX_USD: "5",
|
|
33
|
-
AIFINPAY_DAILY_USD: "20",
|
|
34
28
|
AIFINPAY_MAX_GAS_POL: "0.3",
|
|
35
29
|
});
|
|
30
|
+
/** How payments work with nothing set, for init's output and the tool text. */
|
|
31
|
+
export const PAYMENTS_DEFAULT_NOTE = `Payments are on by default within a built-in ceiling of $${DEFAULT_MAX_USD} per payment and $${DEFAULT_DAILY_USD} per 24 hours, ` +
|
|
32
|
+
"only through a persistent wallet, only to merchants registered with AiFinPay via a quote signed by its backend; an unfunded wallet spends nothing. " +
|
|
33
|
+
"AIFINPAY_MAX_USD and AIFINPAY_DAILY_USD can only lower that ceiling; AIFINPAY_PAYMENTS_ENABLED=0 turns payments off; " +
|
|
34
|
+
"AIFINPAY_GATEWAY_ORIGINS, when set, is the only list of payable sites.";
|
|
36
35
|
/** Where the owner manages the working limits once the agent is claimed. */
|
|
37
|
-
export const CONTROLS_NOTE = "The
|
|
36
|
+
export const CONTROLS_NOTE = "The working limits are the dashboard Controls: once the agent is linked with agent_claim_self, the owner sets the per-payment cap, daily cap, pause and allowed merchants at https://dash.aifinpay.io, and AiFinPay enforces them on every quote and payment; this server's ceiling applies underneath.";
|
|
38
37
|
export const INIT_COMMAND = "npx @aifinpay/mcp init";
|
|
39
38
|
/** POSIX single quotes: the path reaches init byte for byte, spaces and quotes included. */
|
|
40
39
|
function shellQuote(value) {
|
|
@@ -86,10 +85,10 @@ function lockedKeystore(config) {
|
|
|
86
85
|
export function paymentSetupStatusTool() {
|
|
87
86
|
return {
|
|
88
87
|
name: "payment_setup_status",
|
|
89
|
-
description: "Read-only checklist for paying with payable_fetch: wallet (persistent or ephemeral), whether the
|
|
90
|
-
"First payment in five steps: (1) GET the resource and read its 402 (merchant, price, smallest batch); (2) call payment_setup_status; (3) no persistent wallet: run `npx @aifinpay/mcp init` without a terminal, put its printed env into the MCP client config,
|
|
91
|
-
|
|
92
|
-
"
|
|
88
|
+
description: "Read-only checklist for paying with payable_fetch: wallet (persistent or ephemeral), whether payments are on, the ceiling and each limit with its source (built-in default or the owner's env), the wallet's native balance on the pay chain when readable, the owner's dashboard Controls in `dashboard`, and next_step — exactly one instruction for the first unmet item. " +
|
|
89
|
+
"First payment in five steps: (1) GET the resource and read its 402 (merchant, price, smallest batch); (2) call payment_setup_status; (3) no persistent wallet: run `npx @aifinpay/mcp init` without a terminal, put its printed env into the MCP client config, then call agent_reload (no restart: payments are on by default); (4) tell the owner the address and the amount in `funding` (the smallest batch at today's rate plus the gas cap; if no rate could be read, ask for the batch price in the native currency at today's rate plus the gas cap and name no number), and offer the dashboard link so the owner can claim the agent (agent_claim_self) and set the working limits in Controls; (5) payable_fetch the URL. " +
|
|
90
|
+
PAYMENTS_DEFAULT_NOTE +
|
|
91
|
+
" Moves nothing and signs no payment: for a persistent wallet it signs one short AiFinPay read statement to fetch the owner's Controls. Never asks the owner's limits from the model.",
|
|
93
92
|
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
94
93
|
annotations: { readOnlyHint: true, openWorldHint: true, destructiveHint: false },
|
|
95
94
|
};
|
|
@@ -101,21 +100,32 @@ export async function runPaymentSetupStatus(ctx, _args) {
|
|
|
101
100
|
function limit(env, value) {
|
|
102
101
|
return value === undefined ? { env, set: false } : { env, set: true, value };
|
|
103
102
|
}
|
|
103
|
+
/** A USD limit with its source: the owner's env when they set it, otherwise the
|
|
104
|
+
* built-in ceiling (a programmatic value equal to the ceiling counts as it). */
|
|
105
|
+
function usdLimit(config, env, value, ceiling) {
|
|
106
|
+
if (value === undefined)
|
|
107
|
+
return { env, set: false };
|
|
108
|
+
const source = config.ownerOverrides?.includes(env) || value !== ceiling ? "env" : "default";
|
|
109
|
+
return { env, set: true, value, source };
|
|
110
|
+
}
|
|
104
111
|
function gasLimit(config, chain) {
|
|
105
112
|
if (chain.name === "solana")
|
|
106
113
|
return limit("AIFINPAY_MAX_FEE_LAMPORTS", config.maxFeeLamports);
|
|
107
114
|
if (config.maxGas !== undefined)
|
|
108
|
-
return limit("AIFINPAY_MAX_GAS", config.maxGas);
|
|
109
|
-
|
|
115
|
+
return { ...limit("AIFINPAY_MAX_GAS", config.maxGas), source: "env" };
|
|
116
|
+
if (config.maxGasPol !== undefined)
|
|
117
|
+
return { ...limit("AIFINPAY_MAX_GAS_POL", config.maxGasPol), source: "env" };
|
|
118
|
+
// validatePaymentConfig applies the same default on Polygon; another chain names its own cap.
|
|
119
|
+
if (chain.name === "polygon")
|
|
120
|
+
return { env: "AIFINPAY_MAX_GAS_POL", set: true, value: DEFAULT_MAX_GAS_POL, source: "default" };
|
|
121
|
+
return limit("AIFINPAY_MAX_GAS", undefined);
|
|
110
122
|
}
|
|
111
|
-
/**
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
...(config.dailyAmountUsd !== undefined ? { AIFINPAY_DAILY_USD: String(config.dailyAmountUsd) } : {}),
|
|
118
|
-
};
|
|
123
|
+
/** "the built-in ceiling" or which part of it the owner lowered. */
|
|
124
|
+
function ceilingWords(limits) {
|
|
125
|
+
const lowered = [limits.max_usd, limits.daily_usd].filter((l) => l.source === "env").map((l) => l.env);
|
|
126
|
+
return lowered.length
|
|
127
|
+
? `the built-in $${DEFAULT_MAX_USD} / $${DEFAULT_DAILY_USD} ceiling, lowered by the owner's ${lowered.join(" and ")}`
|
|
128
|
+
: "the built-in ceiling";
|
|
119
129
|
}
|
|
120
130
|
export async function paymentSetupStatus(ctx, options) {
|
|
121
131
|
const { config } = ctx;
|
|
@@ -132,8 +142,8 @@ export async function paymentSetupStatus(ctx, options) {
|
|
|
132
142
|
return unready(ctx, source, chain, error.message);
|
|
133
143
|
}
|
|
134
144
|
const limits = {
|
|
135
|
-
max_usd:
|
|
136
|
-
daily_usd:
|
|
145
|
+
max_usd: usdLimit(config, "AIFINPAY_MAX_USD", config.maxAmountUsd, DEFAULT_MAX_USD),
|
|
146
|
+
daily_usd: usdLimit(config, "AIFINPAY_DAILY_USD", config.dailyAmountUsd, DEFAULT_DAILY_USD),
|
|
137
147
|
gas_cap: gasLimit(config, chain),
|
|
138
148
|
origins: limit("AIFINPAY_GATEWAY_ORIGINS", config.gatewayOrigins),
|
|
139
149
|
};
|
|
@@ -152,6 +162,7 @@ export async function paymentSetupStatus(ctx, options) {
|
|
|
152
162
|
payments_enabled: Boolean(config.paymentsEnabled),
|
|
153
163
|
pay_chain: chain.name,
|
|
154
164
|
pay_asset: config.payAsset ?? chain.native,
|
|
165
|
+
ceiling: { max_usd: DEFAULT_MAX_USD, daily_usd: DEFAULT_DAILY_USD },
|
|
155
166
|
limits,
|
|
156
167
|
...(configError ? { config_error: configError } : {}),
|
|
157
168
|
balance: "unknown",
|
|
@@ -166,29 +177,36 @@ export async function paymentSetupStatus(ctx, options) {
|
|
|
166
177
|
: `Run \`${initCommand(config.walletHome)}\` (without a terminal it prints JSON; copy its "env" into this server's env in the MCP client config), reconnect the server, then call agent_reload and payment_setup_status again.`);
|
|
167
178
|
return status;
|
|
168
179
|
}
|
|
169
|
-
// The amount to fund is answered
|
|
170
|
-
//
|
|
171
|
-
//
|
|
172
|
-
//
|
|
180
|
+
// The amount to fund is answered whatever the env says: step 4 ("tell the
|
|
181
|
+
// owner the address and the amount") must not wait on it, and the 2026-10-19
|
|
182
|
+
// quote priced $0.10 at 1.08 POL while the guide still said 0.5 — no fixed
|
|
183
|
+
// rate survives, so the tool reads one now.
|
|
173
184
|
const gasCap = status.limits.gas_cap.set && Number(status.limits.gas_cap.value) > 0 ? String(status.limits.gas_cap.value) : undefined;
|
|
174
185
|
const rpc = config.rpcUrl ?? chain.defaultRpc;
|
|
175
186
|
if (options.readBalance && chain.name !== "solana") {
|
|
176
187
|
status.funding = await funding(ctx, chain, rpc, gasCap);
|
|
188
|
+
// The owner's Controls are the working limits once the agent is claimed;
|
|
189
|
+
// read them here so the agent can name them, or offer the link if there is none.
|
|
190
|
+
status.dashboard = await readDashboardPolicy(ctx);
|
|
177
191
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
+
const withDashboard = (text) => status.dashboard ? `${text} ${dashboardSentence(status.dashboard)}` : text;
|
|
193
|
+
// The env is read once, at start. An agent that saw agent_reload succeed and
|
|
194
|
+
// payments stay off concluded the settings were lost, and stopped: say what
|
|
195
|
+
// the owner changes and that the client must restart the server after.
|
|
196
|
+
const restart = "Env is read only when the server starts and agent_reload does not read it: once the owner has saved the change, have the client restart the aifinpay MCP server (restart the client, or disable and re-enable the server), then call payment_setup_status again.";
|
|
197
|
+
if (!config.paymentsEnabled) {
|
|
198
|
+
status.next_step = withDashboard(`Payments are off: the owner set AIFINPAY_PAYMENTS_ENABLED=0 for this server (they are on by default, within ${ceilingWords(limits)}). ` +
|
|
199
|
+
`To turn them on, the owner removes that variable from the server's env in the MCP client config. ${restart} ${CONTROLS_NOTE}`);
|
|
200
|
+
return status;
|
|
201
|
+
}
|
|
202
|
+
if (configError) {
|
|
203
|
+
status.next_step = withDashboard(`Owner setting refused: ${configError}. The owner fixes it in the server's env in the MCP client config. ` + restart);
|
|
204
|
+
return status;
|
|
205
|
+
}
|
|
206
|
+
// Paused or expired Controls refuse every quote; funding or paying now would only fail.
|
|
207
|
+
const refusal = status.dashboard && dashboardRefusal(status.dashboard);
|
|
208
|
+
if (refusal) {
|
|
209
|
+
status.next_step = refusal;
|
|
192
210
|
return status;
|
|
193
211
|
}
|
|
194
212
|
if (status.funding) {
|
|
@@ -197,10 +215,9 @@ export async function paymentSetupStatus(ctx, options) {
|
|
|
197
215
|
status.balance = { amount: formatNative(balance), asset: chain.native, chain: chain.name, rpc };
|
|
198
216
|
const needed = status.funding.amount !== undefined ? Number(status.funding.amount) : Number(gasCap);
|
|
199
217
|
if (Number(status.balance.amount) < needed) {
|
|
200
|
-
status.next_step =
|
|
201
|
-
status.funding.amount
|
|
202
|
-
|
|
203
|
-
: `Fund ${ctx.agent.evmAddress} on ${chain.label} with the batch price in ${chain.native} at today's rate plus the gas cap of ${gasCap} ${chain.native} (the rate could not be read here, so ask the owner to look it up; it holds ${status.balance.amount}), then call payment_setup_status again.`;
|
|
218
|
+
status.next_step = withDashboard(status.funding.amount !== undefined
|
|
219
|
+
? `Fund ${ctx.agent.evmAddress} on ${chain.label} with about ${status.funding.amount} ${chain.native} (the smallest batch is $${SMALLEST_BATCH_USD.toFixed(2)} ≈ ${status.funding.batch_native} ${chain.native} at today's rate plus up to ${gasCap} ${chain.native} gas; it holds ${status.balance.amount}), then call payment_setup_status again.`
|
|
220
|
+
: `Fund ${ctx.agent.evmAddress} on ${chain.label} with the batch price in ${chain.native} at today's rate plus the gas cap of ${gasCap} ${chain.native} (the rate could not be read here, so ask the owner to look it up; it holds ${status.balance.amount}), then call payment_setup_status again.`);
|
|
204
221
|
return status;
|
|
205
222
|
}
|
|
206
223
|
}
|
|
@@ -209,14 +226,16 @@ export async function paymentSetupStatus(ctx, options) {
|
|
|
209
226
|
}
|
|
210
227
|
}
|
|
211
228
|
status.ready = true;
|
|
212
|
-
|
|
213
|
-
`
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
229
|
+
const sites = config.gatewayOrigins?.length
|
|
230
|
+
? `on ${config.gatewayOrigins.join(" or ")}`
|
|
231
|
+
: "on any https site (the owner can narrow this with AIFINPAY_GATEWAY_ORIGINS)";
|
|
232
|
+
status.next_step = withDashboard(`Ready. Call payable_fetch({"url": "<HTTPS resource ${sites}>"}); ` +
|
|
233
|
+
`it pays at most $${config.maxAmountUsd} per call and $${config.dailyAmountUsd} per 24 hours (${ceilingWords(limits)}), with gas capped at ${status.limits.gas_cap.value} ${chain.native}, and only merchants registered with AiFinPay are ever paid. ` +
|
|
234
|
+
CONTROLS_NOTE +
|
|
235
|
+
(status.balance === "unknown"
|
|
236
|
+
? ` The wallet must hold the batch price plus up to the gas cap in ${chain.native} on ${chain.label}` +
|
|
237
|
+
(status.funding?.amount !== undefined ? ` (about ${status.funding.amount} ${chain.native} at today's rate).` : ".")
|
|
238
|
+
: ""));
|
|
220
239
|
return status;
|
|
221
240
|
}
|
|
222
241
|
/**
|
|
@@ -277,9 +296,10 @@ function unready(ctx, source, chain, error) {
|
|
|
277
296
|
payments_enabled: Boolean(ctx.config.paymentsEnabled),
|
|
278
297
|
pay_chain: String(ctx.config.payChain),
|
|
279
298
|
pay_asset: ctx.config.payAsset ?? chain.native,
|
|
299
|
+
ceiling: { max_usd: DEFAULT_MAX_USD, daily_usd: DEFAULT_DAILY_USD },
|
|
280
300
|
limits: {
|
|
281
|
-
max_usd:
|
|
282
|
-
daily_usd:
|
|
301
|
+
max_usd: usdLimit(ctx.config, "AIFINPAY_MAX_USD", ctx.config.maxAmountUsd, DEFAULT_MAX_USD),
|
|
302
|
+
daily_usd: usdLimit(ctx.config, "AIFINPAY_DAILY_USD", ctx.config.dailyAmountUsd, DEFAULT_DAILY_USD),
|
|
283
303
|
gas_cap: limit("AIFINPAY_MAX_GAS", ctx.config.maxGas),
|
|
284
304
|
origins: limit("AIFINPAY_GATEWAY_ORIGINS", ctx.config.gatewayOrigins),
|
|
285
305
|
},
|