@absol-labs/agent 0.12.0-rc.3 → 0.12.0-rc.4
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/cli/commands/claim.d.ts +6 -0
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +53 -22
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +10 -0
- package/dist/cli/commands/pay.d.ts.map +1 -1
- package/dist/cli/commands/pay.js +246 -50
- package/dist/cli/commands/pay.js.map +1 -1
- package/dist/cli/commands/refund.d.ts +21 -12
- package/dist/cli/commands/refund.d.ts.map +1 -1
- package/dist/cli/commands/refund.js +61 -206
- package/dist/cli/commands/refund.js.map +1 -1
- package/dist/cli/deps.d.ts +6 -0
- package/dist/cli/deps.d.ts.map +1 -1
- package/dist/cli/deps.js +3 -0
- package/dist/cli/deps.js.map +1 -1
- package/dist/cli/errors.d.ts +8 -1
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +21 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/x402-tools.d.ts +7 -1
- package/dist/mcp/x402-tools.d.ts.map +1 -1
- package/dist/mcp/x402-tools.js +159 -6
- package/dist/mcp/x402-tools.js.map +1 -1
- package/dist/x402-buyer/index.d.ts +1 -0
- package/dist/x402-buyer/index.d.ts.map +1 -1
- package/dist/x402-buyer/index.js +1 -0
- package/dist/x402-buyer/index.js.map +1 -1
- package/dist/x402-buyer/pay.d.ts +38 -2
- package/dist/x402-buyer/pay.d.ts.map +1 -1
- package/dist/x402-buyer/pay.js +52 -2
- package/dist/x402-buyer/pay.js.map +1 -1
- package/dist/x402-buyer/refund-actions.d.ts +168 -0
- package/dist/x402-buyer/refund-actions.d.ts.map +1 -0
- package/dist/x402-buyer/refund-actions.js +351 -0
- package/dist/x402-buyer/refund-actions.js.map +1 -0
- package/docs/cli.md +39 -7
- package/docs/mcp-reference.md +23 -0
- package/docs/x402.md +43 -3
- package/package.json +1 -1
- package/src/cli/commands/claim.ts +55 -29
- package/src/cli/commands/pay.ts +299 -51
- package/src/cli/commands/refund.ts +89 -240
- package/src/cli/deps.ts +9 -0
- package/src/cli/errors.ts +8 -1
- package/src/mcp/server.ts +30 -1
- package/src/mcp/x402-tools.ts +222 -7
- package/src/x402-buyer/index.ts +1 -0
- package/src/x402-buyer/pay.ts +99 -2
- package/src/x402-buyer/refund-actions.ts +486 -0
package/dist/mcp/server.js
CHANGED
|
@@ -222,6 +222,13 @@ export const METRIK_MCP_TOOLS = [
|
|
|
222
222
|
];
|
|
223
223
|
/** @deprecated Renamed to METRIK_MCP_TOOLS; retained for back-compat. */
|
|
224
224
|
export const STREAMPROOF_MCP_TOOLS = METRIK_MCP_TOOLS;
|
|
225
|
+
/** What a record counts against the spend mandate: the budget less a verified reclaim. */
|
|
226
|
+
export function countedSpendUsdc(record) {
|
|
227
|
+
const reclaimed = record.reclaimedUsdc ?? 0n;
|
|
228
|
+
return reclaimed > 0n && reclaimed <= record.budgetUsdc
|
|
229
|
+
? record.budgetUsdc - reclaimed
|
|
230
|
+
: record.budgetUsdc;
|
|
231
|
+
}
|
|
225
232
|
export class InMemoryStreamRegistry {
|
|
226
233
|
records = new Map();
|
|
227
234
|
async put(record) {
|
|
@@ -282,6 +289,7 @@ export class FileStreamRegistry {
|
|
|
282
289
|
x402Reservation: z.boolean().optional(),
|
|
283
290
|
x402Charge: z.literal("upfront-only").optional(),
|
|
284
291
|
nonRefundableUsdc: decimalStringSchema.optional(),
|
|
292
|
+
reclaimedUsdc: decimalStringSchema.optional(),
|
|
285
293
|
}))
|
|
286
294
|
.parse(JSON.parse(contents));
|
|
287
295
|
return new Map(parsed.map((record) => [
|
|
@@ -309,6 +317,9 @@ export class FileStreamRegistry {
|
|
|
309
317
|
...(record.nonRefundableUsdc === undefined
|
|
310
318
|
? {}
|
|
311
319
|
: { nonRefundableUsdc: BigInt(record.nonRefundableUsdc) }),
|
|
320
|
+
...(record.reclaimedUsdc === undefined
|
|
321
|
+
? {}
|
|
322
|
+
: { reclaimedUsdc: BigInt(record.reclaimedUsdc) }),
|
|
312
323
|
},
|
|
313
324
|
]));
|
|
314
325
|
}
|
|
@@ -321,6 +332,9 @@ export class FileStreamRegistry {
|
|
|
321
332
|
...(record.nonRefundableUsdc === undefined
|
|
322
333
|
? {}
|
|
323
334
|
: { nonRefundableUsdc: record.nonRefundableUsdc.toString() }),
|
|
335
|
+
...(record.reclaimedUsdc === undefined
|
|
336
|
+
? {}
|
|
337
|
+
: { reclaimedUsdc: record.reclaimedUsdc.toString() }),
|
|
324
338
|
})), null, 2));
|
|
325
339
|
}
|
|
326
340
|
}
|
|
@@ -387,7 +401,7 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
387
401
|
const records = await registry.list();
|
|
388
402
|
return records
|
|
389
403
|
.filter((record) => record.buyer.toLowerCase() === owner.toLowerCase())
|
|
390
|
-
.reduce((sum, record) => sum + record
|
|
404
|
+
.reduce((sum, record) => sum + countedSpendUsdc(record), 0n);
|
|
391
405
|
};
|
|
392
406
|
if (options.mandateStateResolver?.getRevokedMandateIds === undefined) {
|
|
393
407
|
warnOnce("mcp-revocation", "[metrik] MCP server started with no mandate revocation resolver: revoked mandates will NOT be rejected until getRevokedMandateIds is wired. Cumulative spend is bounded by escrowed budget from the stream registry.");
|
|
@@ -750,6 +764,9 @@ export function createVerifiedStreamMcpServer(options) {
|
|
|
750
764
|
...(record.nonRefundableUsdc === undefined
|
|
751
765
|
? {}
|
|
752
766
|
: { nonRefundableUsdc: record.nonRefundableUsdc.toString() }),
|
|
767
|
+
...(record.reclaimedUsdc === undefined
|
|
768
|
+
? {}
|
|
769
|
+
: { reclaimedUsdc: record.reclaimedUsdc.toString() }),
|
|
753
770
|
status,
|
|
754
771
|
};
|
|
755
772
|
}));
|
|
@@ -1089,6 +1106,9 @@ export async function createVerifiedStreamMcpServerOptionsFromEnv(env = process.
|
|
|
1089
1106
|
? {}
|
|
1090
1107
|
: { opener: target.opener }),
|
|
1091
1108
|
...(target.fetch === undefined ? {} : { fetch: target.fetch }),
|
|
1109
|
+
...(target.settledAt === undefined
|
|
1110
|
+
? {}
|
|
1111
|
+
: { settledAt: target.settledAt }),
|
|
1092
1112
|
// Every relay "success" is checked against the receipt.
|
|
1093
1113
|
verifyWith: readOnlyMetrikClient({
|
|
1094
1114
|
escrowAddress: parsed.escrow,
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/x402-tools.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ import type { PayX402WithMandateInput, PayX402WithMandateResult } from "../x402-
|
|
|
15
15
|
* recorded), and `checkMandate()` on the payment's opener terms before the SDK
|
|
16
16
|
* signs anything (see `../x402-buyer/pay.ts`).
|
|
17
17
|
*/
|
|
18
|
-
export declare const X402_PAY_TOOL_DESCRIPTION = "Pay an x402 endpoint (HTTP 402 Payment Required, x402 v2 'exact') and return its response. A Metrik x402 seller quotes a payment that opens an escrow STREAM; the seller earns ratePerSecond x VERIFIED seconds, capped at the deposit, and the unearned remainder stays recoverable by this server's wallet. An UPFRONT ('minimum charge') quote splits the price: upfrontAmount is a NON-REFUNDABLE per-call charge paid to the seller at settlement, and only price - upfrontAmount is escrowed and refundable; when upfrontAmount == price no stream opens at all (streamId null, nothing to refund). Subject to the agent's spend mandate (the WHOLE price vs per-stream and total caps, rate, duration, operator) and a cap on the non-refundable part (maxUpfrontAmountUsdc, default 0.10 USDC), checked BEFORE anything is signed. Refunds are NOT automatic: use refund_status and refund with the returned streamId.";
|
|
18
|
+
export declare const X402_PAY_TOOL_DESCRIPTION = "Pay an x402 endpoint (HTTP 402 Payment Required, x402 v2 'exact') and return its response. A Metrik x402 seller quotes a payment that opens an escrow STREAM; the seller earns ratePerSecond x VERIFIED seconds, capped at the deposit, and the unearned remainder stays recoverable by this server's wallet. An UPFRONT ('minimum charge') quote splits the price: upfrontAmount is a NON-REFUNDABLE per-call charge paid to the seller at settlement, and only price - upfrontAmount is escrowed and refundable; when upfrontAmount == price no stream opens at all (streamId null, nothing to refund). Subject to the agent's spend mandate (the WHOLE price vs per-stream and total caps, rate, duration, operator) and a cap on the non-refundable part (maxUpfrontAmountUsdc, default 0.10 USDC), checked BEFORE anything is signed. Refunds are NOT automatic: pass closeAfter=true to have this server close the stream and reclaim the unearned part right after the response (recommended for one-shot calls), or use refund_status and refund with the returned streamId later.";
|
|
19
19
|
export declare const REFUND_STATUS_TOOL_DESCRIPTION = "Read the refund state of a stream this server paid for over x402, from the seller's gasless refund relay: whether it is running, what is reclaimable, and the next step (close / wait / reclaim). An upfront-only payment (no stream) has nothing to refund. Moves no funds.";
|
|
20
20
|
export declare const REFUND_TOOL_DESCRIPTION = "Recover the unearned part of an x402 payment through the seller's gasless refund relay: close=true stops the stream (this wallet signs the opener's Close; the relay pays the gas), reclaim=true sends the permissionless reclaim (the refund always goes to the payer). Only the escrowed part can come back: an upfront charge is final, and an upfront-only payment has nothing to refund. Nothing is refunded automatically; reclaim waits for the settlement window and may say when to retry.";
|
|
21
21
|
export interface McpX402Options {
|
|
@@ -31,6 +31,8 @@ export interface McpX402Options {
|
|
|
31
31
|
readonly opener?: `0x${string}`;
|
|
32
32
|
/** The guarded fetch the relay client must use. */
|
|
33
33
|
readonly fetch?: typeof fetch;
|
|
34
|
+
/** When the payment settled, unix ms (`x402_pay` with `closeAfter`). */
|
|
35
|
+
readonly settledAt?: number;
|
|
34
36
|
}) => Promise<RefundClient>;
|
|
35
37
|
/** Passed to the SDK payer (e.g. a transport for the on-chain checks). */
|
|
36
38
|
readonly sdkOptions?: PayX402WithMandateInput["sdkOptions"];
|
|
@@ -41,6 +43,8 @@ export interface McpX402Options {
|
|
|
41
43
|
* refund_status may contact (exact, or `*.domain`). Unset = any PUBLIC host.
|
|
42
44
|
*/
|
|
43
45
|
readonly allowedHosts?: readonly string[];
|
|
46
|
+
/** Delay used while a close-after waits for the relay (tests). Default `setTimeout`. */
|
|
47
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
44
48
|
/** Base fetch under the outbound guard (tests). Default `globalThis.fetch`. */
|
|
45
49
|
readonly fetch?: typeof fetch;
|
|
46
50
|
/** DNS resolution for the outbound guard (tests). */
|
|
@@ -75,6 +79,8 @@ export interface McpX402Context {
|
|
|
75
79
|
readonly x402Charge?: "upfront-only";
|
|
76
80
|
/** The non-refundable part of the payment (the upfront charge), base units. */
|
|
77
81
|
readonly nonRefundableUsdc?: bigint;
|
|
82
|
+
/** Base units this server's own verified reclaim returned to the payer. */
|
|
83
|
+
readonly reclaimedUsdc?: bigint;
|
|
78
84
|
}) => Promise<void>;
|
|
79
85
|
/** Drop a record (a released reservation). Absent = reservations are kept. */
|
|
80
86
|
readonly removeStream?: (streamId: `0x${string}`) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/x402-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EAGZ,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EAIL,KAAK,QAAQ,EACd,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"x402-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/x402-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/x402-tools.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { verifyMandateOwnerSignature, } from "../mandates/mandate.js";
|
|
3
3
|
import { createPublicClient, http, keccak256, toHex, } from "viem";
|
|
4
4
|
import { assertOutboundUrlAllowed, createGuardedFetch, OutboundRequestRefusedError, } from "../x402-buyer/guarded-fetch.js";
|
|
5
|
+
import { closeAfterPayment, } from "../x402-buyer/refund-actions.js";
|
|
5
6
|
/**
|
|
6
7
|
* The MCP surface for x402 (metrik-agent#121 item 4): `x402_pay`,
|
|
7
8
|
* `refund_status`, `refund`. Registered only when the server is given an
|
|
@@ -13,7 +14,7 @@ import { assertOutboundUrlAllowed, createGuardedFetch, OutboundRequestRefusedErr
|
|
|
13
14
|
* recorded), and `checkMandate()` on the payment's opener terms before the SDK
|
|
14
15
|
* signs anything (see `../x402-buyer/pay.ts`).
|
|
15
16
|
*/
|
|
16
|
-
export const X402_PAY_TOOL_DESCRIPTION = "Pay an x402 endpoint (HTTP 402 Payment Required, x402 v2 'exact') and return its response. A Metrik x402 seller quotes a payment that opens an escrow STREAM; the seller earns ratePerSecond x VERIFIED seconds, capped at the deposit, and the unearned remainder stays recoverable by this server's wallet. An UPFRONT ('minimum charge') quote splits the price: upfrontAmount is a NON-REFUNDABLE per-call charge paid to the seller at settlement, and only price - upfrontAmount is escrowed and refundable; when upfrontAmount == price no stream opens at all (streamId null, nothing to refund). Subject to the agent's spend mandate (the WHOLE price vs per-stream and total caps, rate, duration, operator) and a cap on the non-refundable part (maxUpfrontAmountUsdc, default 0.10 USDC), checked BEFORE anything is signed. Refunds are NOT automatic: use refund_status and refund with the returned streamId.";
|
|
17
|
+
export const X402_PAY_TOOL_DESCRIPTION = "Pay an x402 endpoint (HTTP 402 Payment Required, x402 v2 'exact') and return its response. A Metrik x402 seller quotes a payment that opens an escrow STREAM; the seller earns ratePerSecond x VERIFIED seconds, capped at the deposit, and the unearned remainder stays recoverable by this server's wallet. An UPFRONT ('minimum charge') quote splits the price: upfrontAmount is a NON-REFUNDABLE per-call charge paid to the seller at settlement, and only price - upfrontAmount is escrowed and refundable; when upfrontAmount == price no stream opens at all (streamId null, nothing to refund). Subject to the agent's spend mandate (the WHOLE price vs per-stream and total caps, rate, duration, operator) and a cap on the non-refundable part (maxUpfrontAmountUsdc, default 0.10 USDC), checked BEFORE anything is signed. Refunds are NOT automatic: pass closeAfter=true to have this server close the stream and reclaim the unearned part right after the response (recommended for one-shot calls), or use refund_status and refund with the returned streamId later.";
|
|
17
18
|
export const REFUND_STATUS_TOOL_DESCRIPTION = "Read the refund state of a stream this server paid for over x402, from the seller's gasless refund relay: whether it is running, what is reclaimable, and the next step (close / wait / reclaim). An upfront-only payment (no stream) has nothing to refund. Moves no funds.";
|
|
18
19
|
export const REFUND_TOOL_DESCRIPTION = "Recover the unearned part of an x402 payment through the seller's gasless refund relay: close=true stops the stream (this wallet signs the opener's Close; the relay pays the gas), reclaim=true sends the permissionless reclaim (the refund always goes to the payer). Only the escrowed part can come back: an upfront charge is final, and an upfront-only payment has nothing to refund. Nothing is refunded automatically; reclaim waits for the settlement window and may say when to retry.";
|
|
19
20
|
/** Longest response body returned to the model. */
|
|
@@ -52,6 +53,10 @@ const x402PaySchema = {
|
|
|
52
53
|
.regex(/^(0|[1-9]\d*)$/, "a non-negative integer of USDC base units")
|
|
53
54
|
.optional()
|
|
54
55
|
.describe("Cap on the NON-REFUNDABLE per-call part of an upfront-opener quote, base units. Default 100000 (0.10 USDC); 0 refuses any upfront charge."),
|
|
56
|
+
closeAfter: z
|
|
57
|
+
.boolean()
|
|
58
|
+
.optional()
|
|
59
|
+
.describe("true = right after a successful paid response, this server closes the stream on your behalf (it signs the payer's Close; the seller's refund relay sends it and pays the gas), waits for the checkpoint covering the close, and reclaims the unearned part to the payer. For one-shot calls: without it the stream keeps running and the seller can earn the whole metered part for one response. Your request, sent by this server; not an automatic refund. Only what the payment finally keeps counts against the spend mandate. The tool can take a minute or two longer."),
|
|
55
60
|
};
|
|
56
61
|
const ZERO_STREAM_ID = `0x${"00".repeat(32)}`;
|
|
57
62
|
const refundSchema = {
|
|
@@ -101,6 +106,9 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
101
106
|
streamId: target.streamId,
|
|
102
107
|
...(target.opener === undefined ? {} : { opener: target.opener }),
|
|
103
108
|
...(target.fetch === undefined ? {} : { fetch: target.fetch }),
|
|
109
|
+
...(target.settledAt === undefined
|
|
110
|
+
? {}
|
|
111
|
+
: { settledAt: target.settledAt }),
|
|
104
112
|
expectedChainId: ctx.x402.network.chain.id,
|
|
105
113
|
// Chain access is what lets the SDK read the opener's KIND on-chain and
|
|
106
114
|
// sign an upfront opener's Close under its own EIP-712 domain; without
|
|
@@ -136,7 +144,10 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
136
144
|
await assertOutboundUrlAllowed(args.url, guard);
|
|
137
145
|
const signedMandate = await ctx.resolveMandate();
|
|
138
146
|
const owner = signedMandate.owner;
|
|
139
|
-
|
|
147
|
+
// A stream payment whose close-after runs OUTSIDE this owner's
|
|
148
|
+
// serialized queue (it can wait a minute or two for a checkpoint).
|
|
149
|
+
const pending = { close: null };
|
|
150
|
+
const answer = await ctx.serialize(owner, async () => {
|
|
140
151
|
const spentSoFarUsdc = await ctx.getSpentSoFarUsdc(owner);
|
|
141
152
|
const revokedMandateIds = await ctx.getRevokedMandateIds(owner);
|
|
142
153
|
const nowSeconds = ctx.now();
|
|
@@ -212,6 +223,7 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
212
223
|
}
|
|
213
224
|
const opener = result.metrikStreamOpener;
|
|
214
225
|
const upfrontAmount = result.quote?.upfrontAmount ?? null;
|
|
226
|
+
let streamRecord = null;
|
|
215
227
|
if (result.paid &&
|
|
216
228
|
opener !== null &&
|
|
217
229
|
opener.streamId === null &&
|
|
@@ -240,7 +252,7 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
240
252
|
opener.streamId !== null &&
|
|
241
253
|
result.approved !== null) {
|
|
242
254
|
// Replace the reservation with the real stream (same amount).
|
|
243
|
-
|
|
255
|
+
streamRecord = {
|
|
244
256
|
streamId: opener.streamId,
|
|
245
257
|
buyer: owner,
|
|
246
258
|
operator: result.approved.operator,
|
|
@@ -257,7 +269,8 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
257
269
|
...(upfrontAmount === null || upfrontAmount === 0n
|
|
258
270
|
? {}
|
|
259
271
|
: { nonRefundableUsdc: upfrontAmount }),
|
|
260
|
-
}
|
|
272
|
+
};
|
|
273
|
+
await ctx.recordStream(streamRecord);
|
|
261
274
|
await release();
|
|
262
275
|
}
|
|
263
276
|
else if (!result.paid) {
|
|
@@ -294,12 +307,42 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
294
307
|
refundIsAutomatic: false,
|
|
295
308
|
};
|
|
296
309
|
if (opener !== null && opener.streamId === null) {
|
|
297
|
-
return ctx.ok(`paid ${result.quote?.amount.toString() ?? "?"} USDC base units as an UPFRONT-ONLY charge; HTTP ${result.response.status}. The whole price was a non-refundable per-call charge paid to the seller at settlement: no stream was opened, the payment is final and there is nothing to refund
|
|
310
|
+
return ctx.ok(`paid ${result.quote?.amount.toString() ?? "?"} USDC base units as an UPFRONT-ONLY charge; HTTP ${result.response.status}. The whole price was a non-refundable per-call charge paid to the seller at settlement: no stream was opened, the payment is final and there is nothing to refund.${args.closeAfter === true ? " closeAfter: nothing to close (no stream was opened); nothing was signed or sent." : ""}`, args.closeAfter === true
|
|
311
|
+
? {
|
|
312
|
+
...structured,
|
|
313
|
+
closeAfter: {
|
|
314
|
+
outcome: "nothing-to-close",
|
|
315
|
+
refundIsAutomatic: false,
|
|
316
|
+
},
|
|
317
|
+
}
|
|
318
|
+
: structured);
|
|
298
319
|
}
|
|
299
320
|
const split = upfrontAmount !== null && upfrontAmount > 0n
|
|
300
321
|
? ` Of the ${result.quote?.amount.toString() ?? "?"} paid, ${upfrontAmount.toString()} was a NON-REFUNDABLE per-call charge (final); only the ${opener?.deposit?.toString() ?? "?"} escrowed can come back.`
|
|
301
322
|
: "";
|
|
302
|
-
|
|
323
|
+
const paidText = `paid ${opener?.deposit?.toString() ?? "?"} USDC base units into stream ${opener?.streamId ?? "?"}; HTTP ${result.response.status}.${split}`;
|
|
324
|
+
if (args.closeAfter === true &&
|
|
325
|
+
opener !== null &&
|
|
326
|
+
opener.streamId !== null &&
|
|
327
|
+
streamRecord !== null) {
|
|
328
|
+
pending.close = {
|
|
329
|
+
opener: { ...opener, streamId: opener.streamId },
|
|
330
|
+
record: streamRecord,
|
|
331
|
+
paidText,
|
|
332
|
+
structured,
|
|
333
|
+
};
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
return ctx.ok(`${paidText} The seller earns only for VERIFIED seconds; the unearned remainder is NOT refunded automatically — call refund (or refund_status) with this streamId.`, structured);
|
|
337
|
+
});
|
|
338
|
+
if (answer !== null || pending.close === null) {
|
|
339
|
+
return answer ?? ctx.unexpected(new Error("no x402_pay result"));
|
|
340
|
+
}
|
|
341
|
+
return await runCloseAfter(ctx, pending.close, {
|
|
342
|
+
owner,
|
|
343
|
+
guard,
|
|
344
|
+
guardedFetch,
|
|
345
|
+
openRefunds,
|
|
303
346
|
});
|
|
304
347
|
}
|
|
305
348
|
catch (error) {
|
|
@@ -427,6 +470,116 @@ export function registerX402Tools(mcpServer, ctx) {
|
|
|
427
470
|
}
|
|
428
471
|
});
|
|
429
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* `x402_pay` with `closeAfter`: right after the paid response, at the model's
|
|
475
|
+
* request, this server closes the stream (it signs the payer's Close, the
|
|
476
|
+
* seller's relay sends it) and reclaims the unearned part to the payer, with
|
|
477
|
+
* `metrik refund`'s run. The tool still SUCCEEDS when that does not finish —
|
|
478
|
+
* the payment and the response are good — and says exactly how to finish it.
|
|
479
|
+
*
|
|
480
|
+
* Spend accounting: only a reclaim whose mined receipt was VERIFIED
|
|
481
|
+
* (`ReclaimForwarded` to the payer) is credited back, as the record's
|
|
482
|
+
* `reclaimedUsdc`; the relay's unverified word never lowers counted spend.
|
|
483
|
+
*/
|
|
484
|
+
async function runCloseAfter(ctx, pending, wiring) {
|
|
485
|
+
const { opener, record } = pending;
|
|
486
|
+
const outcome = await closeAfterPayment({
|
|
487
|
+
payment: opener,
|
|
488
|
+
payer: ctx.x402.signer.address,
|
|
489
|
+
openRefunds: async () => {
|
|
490
|
+
const refundUrl = opener.refundUrl;
|
|
491
|
+
await assertOutboundUrlAllowed(refundUrl.replace("{streamId}", opener.streamId), wiring.guard);
|
|
492
|
+
return await wiring.openRefunds({
|
|
493
|
+
refundUrl,
|
|
494
|
+
streamId: opener.streamId,
|
|
495
|
+
opener: opener.opener,
|
|
496
|
+
fetch: wiring.guardedFetch,
|
|
497
|
+
...(typeof opener.settledAt === "number"
|
|
498
|
+
? { settledAt: opener.settledAt }
|
|
499
|
+
: {}),
|
|
500
|
+
});
|
|
501
|
+
},
|
|
502
|
+
// Buyer recovery, authorized on the mandate owner's signature alone —
|
|
503
|
+
// the same rule as the refund tool.
|
|
504
|
+
closeSigner: async () => {
|
|
505
|
+
const signedMandate = await ctx.resolveMandate();
|
|
506
|
+
const decision = await verifyMandateOwnerSignature(signedMandate);
|
|
507
|
+
if (!decision.allowed) {
|
|
508
|
+
throw new Error(`mandate denied: ${decision.reason ?? "unknown"}`);
|
|
509
|
+
}
|
|
510
|
+
return ctx.x402.signer;
|
|
511
|
+
},
|
|
512
|
+
sleep: ctx.x402.sleep ??
|
|
513
|
+
(async (ms) => {
|
|
514
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
515
|
+
}),
|
|
516
|
+
});
|
|
517
|
+
let counted = record.budgetUsdc;
|
|
518
|
+
const refunded = outcome.refundedUsdc;
|
|
519
|
+
if (refunded !== null && refunded > 0n && refunded <= record.budgetUsdc) {
|
|
520
|
+
// Only what the payment finally kept counts against the mandate.
|
|
521
|
+
await ctx.serialize(wiring.owner, async () => {
|
|
522
|
+
await ctx.recordStream({ ...record, reclaimedUsdc: refunded });
|
|
523
|
+
});
|
|
524
|
+
counted = record.budgetUsdc - refunded;
|
|
525
|
+
}
|
|
526
|
+
const closeAfter = {
|
|
527
|
+
outcome: outcome.outcome,
|
|
528
|
+
close: outcome.close === null
|
|
529
|
+
? null
|
|
530
|
+
: {
|
|
531
|
+
transaction: outcome.close.transaction,
|
|
532
|
+
verified: outcome.close.verified,
|
|
533
|
+
},
|
|
534
|
+
closeSkipped: outcome.closeSkipped,
|
|
535
|
+
reclaim: outcome.reclaim === null
|
|
536
|
+
? null
|
|
537
|
+
: {
|
|
538
|
+
transaction: outcome.reclaim.transaction,
|
|
539
|
+
amountUsdc: outcome.reclaim.amount?.toString() ?? null,
|
|
540
|
+
verified: outcome.reclaim.verified,
|
|
541
|
+
},
|
|
542
|
+
reclaimSkipped: outcome.reclaimSkipped,
|
|
543
|
+
refundedUsdc: refunded?.toString() ?? null,
|
|
544
|
+
finishedReason: outcome.finished,
|
|
545
|
+
incomplete: outcome.incomplete === null
|
|
546
|
+
? null
|
|
547
|
+
: {
|
|
548
|
+
stage: outcome.incomplete.stage,
|
|
549
|
+
closed: outcome.incomplete.closed,
|
|
550
|
+
reason: outcome.incomplete.reason,
|
|
551
|
+
},
|
|
552
|
+
sentBy: "buyer",
|
|
553
|
+
refundIsAutomatic: false,
|
|
554
|
+
};
|
|
555
|
+
const structured = {
|
|
556
|
+
...pending.structured,
|
|
557
|
+
closeAfter,
|
|
558
|
+
countedSpendUsdc: counted.toString(),
|
|
559
|
+
};
|
|
560
|
+
return ctx.ok(`${pending.paidText} ${describeCloseAfter(outcome, opener.streamId, counted)}`, structured);
|
|
561
|
+
}
|
|
562
|
+
function describeCloseAfter(outcome, streamId, counted) {
|
|
563
|
+
const spend = `${counted.toString()} USDC base units count against the spend mandate.`;
|
|
564
|
+
if (outcome.outcome === "incomplete") {
|
|
565
|
+
const incomplete = outcome.incomplete;
|
|
566
|
+
if (incomplete?.stage === "no-relay") {
|
|
567
|
+
return `closeAfter did NOT finish: ${incomplete.reason}. ${spend}`;
|
|
568
|
+
}
|
|
569
|
+
return `closeAfter did NOT finish: the ${incomplete?.stage ?? "close"} did not complete (${incomplete?.reason ?? "unknown"}). Nothing is lost: the unearned part stays in the escrow for the payer. Finish it with refund (streamId ${streamId}${incomplete?.closed === true ? ", reclaim=true" : ", close=true, reclaim=true"}). ${spend}`;
|
|
570
|
+
}
|
|
571
|
+
const closed = outcome.close === null
|
|
572
|
+
? "the stream was already closed"
|
|
573
|
+
: `closed the stream (${outcome.close.transaction})`;
|
|
574
|
+
if (outcome.reclaim !== null) {
|
|
575
|
+
const amount = outcome.refundedUsdc ?? outcome.reclaim.amount;
|
|
576
|
+
return `closeAfter: at your request this server ${closed} and reclaimed ${amount?.toString() ?? "the unearned remainder"} USDC base units to the payer (${outcome.reclaim.transaction}${outcome.refundedUsdc !== null ? ", receipt verified on-chain" : ", relay-reported, not verified"}). ${spend}`;
|
|
577
|
+
}
|
|
578
|
+
if (outcome.finished === "reclaimed") {
|
|
579
|
+
return `closeAfter: ${closed}; it was already reclaimed to the payer. ${spend}`;
|
|
580
|
+
}
|
|
581
|
+
return `closeAfter: ${closed}; nothing to reclaim — the verified delivery covers the whole deposit. ${spend}`;
|
|
582
|
+
}
|
|
430
583
|
/** Upfront-only payments: a finished, successful answer — not an error. */
|
|
431
584
|
function nothingToRefund(ctx, args) {
|
|
432
585
|
return ctx.ok("nothing to refund: this was an upfront-only payment — the whole price was a non-refundable per-call charge paid to the seller at settlement, no stream was opened and nothing was escrowed. Nothing was requested, signed or sent.", {
|