@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.
Files changed (53) hide show
  1. package/dist/cli/commands/claim.d.ts +6 -0
  2. package/dist/cli/commands/claim.d.ts.map +1 -1
  3. package/dist/cli/commands/claim.js +53 -22
  4. package/dist/cli/commands/claim.js.map +1 -1
  5. package/dist/cli/commands/pay.d.ts +10 -0
  6. package/dist/cli/commands/pay.d.ts.map +1 -1
  7. package/dist/cli/commands/pay.js +246 -50
  8. package/dist/cli/commands/pay.js.map +1 -1
  9. package/dist/cli/commands/refund.d.ts +21 -12
  10. package/dist/cli/commands/refund.d.ts.map +1 -1
  11. package/dist/cli/commands/refund.js +61 -206
  12. package/dist/cli/commands/refund.js.map +1 -1
  13. package/dist/cli/deps.d.ts +6 -0
  14. package/dist/cli/deps.d.ts.map +1 -1
  15. package/dist/cli/deps.js +3 -0
  16. package/dist/cli/deps.js.map +1 -1
  17. package/dist/cli/errors.d.ts +8 -1
  18. package/dist/cli/errors.d.ts.map +1 -1
  19. package/dist/cli/errors.js.map +1 -1
  20. package/dist/mcp/server.d.ts +10 -0
  21. package/dist/mcp/server.d.ts.map +1 -1
  22. package/dist/mcp/server.js +21 -1
  23. package/dist/mcp/server.js.map +1 -1
  24. package/dist/mcp/x402-tools.d.ts +7 -1
  25. package/dist/mcp/x402-tools.d.ts.map +1 -1
  26. package/dist/mcp/x402-tools.js +159 -6
  27. package/dist/mcp/x402-tools.js.map +1 -1
  28. package/dist/x402-buyer/index.d.ts +1 -0
  29. package/dist/x402-buyer/index.d.ts.map +1 -1
  30. package/dist/x402-buyer/index.js +1 -0
  31. package/dist/x402-buyer/index.js.map +1 -1
  32. package/dist/x402-buyer/pay.d.ts +38 -2
  33. package/dist/x402-buyer/pay.d.ts.map +1 -1
  34. package/dist/x402-buyer/pay.js +52 -2
  35. package/dist/x402-buyer/pay.js.map +1 -1
  36. package/dist/x402-buyer/refund-actions.d.ts +168 -0
  37. package/dist/x402-buyer/refund-actions.d.ts.map +1 -0
  38. package/dist/x402-buyer/refund-actions.js +351 -0
  39. package/dist/x402-buyer/refund-actions.js.map +1 -0
  40. package/docs/cli.md +39 -7
  41. package/docs/mcp-reference.md +23 -0
  42. package/docs/x402.md +43 -3
  43. package/package.json +1 -1
  44. package/src/cli/commands/claim.ts +55 -29
  45. package/src/cli/commands/pay.ts +299 -51
  46. package/src/cli/commands/refund.ts +89 -240
  47. package/src/cli/deps.ts +9 -0
  48. package/src/cli/errors.ts +8 -1
  49. package/src/mcp/server.ts +30 -1
  50. package/src/mcp/x402-tools.ts +222 -7
  51. package/src/x402-buyer/index.ts +1 -0
  52. package/src/x402-buyer/pay.ts +99 -2
  53. package/src/x402-buyer/refund-actions.ts +486 -0
@@ -13,6 +13,12 @@ import type { StreamV2 } from "@absol-labs/sdk";
13
13
  * learn a fact that was already available.
14
14
  */
15
15
  export declare const claimCommand: CommandSpec;
16
+ /**
17
+ * A claim reverted because its proof no longer matches a root the escrow
18
+ * accepts (a checkpoint rotated, or a lagging node served a not-yet-visible
19
+ * root). Re-planning reads a fresh proof, so it is worth one more round.
20
+ */
21
+ export declare function isStaleProofError(error: unknown): boolean;
16
22
  /**
17
23
  * Which claim, if any, `metrik claim` would send. Reads only, so it is
18
24
  * testable (and checkable against a live stream) without a key.
@@ -1 +1 @@
1
- {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAA6B,MAAM,cAAc,CAAC;AASnE,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,WAyG1B,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE3D,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAC3C,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC,CA8FpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/D,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR"}
1
+ {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAA6B,MAAM,cAAc,CAAC;AASnE,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,EAAE,WAoH1B,CAAC;AAOF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAAC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE3D,wBAAsB,SAAS,CAC7B,IAAI,EAAE,aAAa,EACnB,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAC3C,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC,CA8FpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/D,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR"}
@@ -52,31 +52,49 @@ export const claimCommand = {
52
52
  hint: `only ${stream.operator} can claim it — the escrow enforces this, so no other wallet can. Set ${PRIVATE_KEY_ENV} to the operator's key. (The buyer's side of this stream is \`${buyerSideCommand(stream, streamId, deps.nowSeconds())}\`.)`,
53
53
  });
54
54
  }
55
- const plan = await planClaim(read, streamId, stream, escrowGenerationFor(config.chainId, config.escrow));
56
- if (plan.kind === "nothing")
57
- throw plan.error;
58
55
  const write = deps.createWriteClient(config, account, writeClientOptions(wallet));
59
- const action = {
60
- streamId,
61
- // `null` for a policy-enforced wallet — see `../spend-policy.ts`.
62
- signedMandate: isPolicyEnforced(wallet)
63
- ? null
64
- : await signClaimMandate(account, config.chainId),
65
- spentSoFarUsdc: 0n,
66
- nowSeconds: deps.nowSeconds(),
67
- };
56
+ const generation = escrowGenerationFor(config.chainId, config.escrow);
57
+ // The oracle can post (or the escrow retain) a newer checkpoint between
58
+ // this plan and the transaction, so a proof read moments ago can revert
59
+ // `InvalidProof`. Nothing was spent on a reverted simulation: re-plan from
60
+ // fresh chain and proof state and try again, a bounded number of times.
61
+ let plan;
68
62
  let result;
69
- if (plan.kind === "claimWithProof") {
70
- result = await write.claimStream(action);
71
- }
72
- else {
73
- if (write.claimProvenStream === undefined) {
74
- throw new CliError("this write client cannot send claimProven, which is the only way to collect this stream's proven value", {
75
- exitCode: 3,
76
- hint: "no current checkpoint proof pays it, so a proof claim would revert NothingToClaim",
77
- });
63
+ for (let attempt = 1;; attempt += 1) {
64
+ const planned = await planClaim(read, streamId, stream, generation);
65
+ if (planned.kind === "nothing")
66
+ throw planned.error;
67
+ plan = planned;
68
+ const action = {
69
+ streamId,
70
+ // `null` for a policy-enforced wallet — see `../spend-policy.ts`.
71
+ signedMandate: isPolicyEnforced(wallet)
72
+ ? null
73
+ : await signClaimMandate(account, config.chainId),
74
+ spentSoFarUsdc: 0n,
75
+ nowSeconds: deps.nowSeconds(),
76
+ };
77
+ try {
78
+ if (plan.kind === "claimWithProof") {
79
+ result = await write.claimStream(action);
80
+ }
81
+ else {
82
+ if (write.claimProvenStream === undefined) {
83
+ throw new CliError("this write client cannot send claimProven, which is the only way to collect this stream's proven value", {
84
+ exitCode: 3,
85
+ hint: "no current checkpoint proof pays it, so a proof claim would revert NothingToClaim",
86
+ });
87
+ }
88
+ result = await write.claimProvenStream(action);
89
+ }
90
+ break;
91
+ }
92
+ catch (error) {
93
+ if (attempt >= CLAIM_REPLAN_ATTEMPTS || !isStaleProofError(error)) {
94
+ throw error;
95
+ }
96
+ await deps.sleep(CLAIM_REPLAN_DELAY_MS);
78
97
  }
79
- result = await write.claimProvenStream(action);
80
98
  }
81
99
  out.result({
82
100
  streamId,
@@ -102,6 +120,19 @@ export const claimCommand = {
102
120
  ]);
103
121
  },
104
122
  };
123
+ /** How many plan-then-send rounds `metrik claim` makes before giving up. */
124
+ const CLAIM_REPLAN_ATTEMPTS = 3;
125
+ /** Pause between rounds, so a just-posted checkpoint can settle on the RPC. */
126
+ const CLAIM_REPLAN_DELAY_MS = 3_000;
127
+ /**
128
+ * A claim reverted because its proof no longer matches a root the escrow
129
+ * accepts (a checkpoint rotated, or a lagging node served a not-yet-visible
130
+ * root). Re-planning reads a fresh proof, so it is worth one more round.
131
+ */
132
+ export function isStaleProofError(error) {
133
+ const text = describeError(error);
134
+ return /InvalidProof|fresh checkpoint proof/.test(text);
135
+ }
105
136
  export async function planClaim(read, streamId, stream, escrowGeneration) {
106
137
  let verifiedCumulative = null;
107
138
  let proofError = null;
@@ -1 +1 @@
1
- {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,17 @@
1
1
  import type { X402QuoteSummary } from "@absol-labs/sdk/x402";
2
2
  import { type ServerMandateCaps } from "../../mandates/env.js";
3
+ import { type CloseAfterOutcome } from "../../x402-buyer/refund-actions.js";
3
4
  import type { CommandSpec } from "../context.js";
4
5
  export declare const payCommand: CommandSpec;
6
+ /**
7
+ * The `closeAfter` part of `metrik pay --close-after --json`: what this
8
+ * client's close + reclaim did, with the amounts from the verified receipt.
9
+ */
10
+ export declare function describeCloseAfter(outcome: CloseAfterOutcome, context: {
11
+ readonly price: bigint | null;
12
+ readonly deposit: bigint | null;
13
+ readonly finishCommand: string | null;
14
+ }): Record<string, unknown>;
5
15
  /**
6
16
  * One line stating what a quote commits the payer to, printed before signing:
7
17
  * for an upfront-opener quote, the NON-REFUNDABLE per-call part and the
@@ -1 +1 @@
1
- {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AA2B/B,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjE,eAAO,MAAM,UAAU,EAAE,WAsSxB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAQlE;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACrE,KAAK,MAAM,EAAE,GAAG,IAAI,CAKtB;AAKD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,KAAK,EAAE;IACL,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C,GACA,iBAAiB,CA4CnB;AAqFD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAkDzD"}
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AA2B/B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAQ5C,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AAOjE,eAAO,MAAM,UAAU,EAAE,WA0ZxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmDzB;AA2DD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAQlE;AAqBD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GACrE,KAAK,MAAM,EAAE,GAAG,IAAI,CAKtB;AAKD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,KAAK,EAAE;IACL,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9C,GACA,iBAAiB,CA4CnB;AAqFD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAkDzD"}
@@ -7,6 +7,8 @@ import { CliError, configError, usageError } from "../errors.js";
7
7
  import { usdcFundingHint } from "../../network.js";
8
8
  import { CDP_ENV_VARS, PRIVATE_KEY_ENV, isPrivyWalletSource, resolveCliWallet, } from "../wallet.js";
9
9
  import { hasHeader, parseHeaders } from "./invoke.js";
10
+ import { closeAfterPayment, } from "../../x402-buyer/refund-actions.js";
11
+ import { authorizeCloseSigner, DEFAULT_ATTEMPTS, DEFAULT_MAX_WAIT_SECONDS, explainRefundFailure, reclaimActivity, } from "./refund.js";
10
12
  /** Default stream window a request-sized mandate allows (one day). */
11
13
  const DEFAULT_MAX_DURATION_SECONDS = 86_400;
12
14
  /** Longest response body printed in human mode before it is truncated. */
@@ -14,7 +16,7 @@ const MAX_PRINTED_BODY_CHARS = 64 * 1024;
14
16
  export const payCommand = {
15
17
  name: "pay",
16
18
  summary: "Pay an x402 endpoint into a recoverable escrow stream, under a spend mandate",
17
- usage: 'metrik pay <url> [--json \'{"text":"hi"}\' | --data <body>] [--method POST] [--header "K: V"] --max-amount <usdc> [--max-rate <usdc/s>] [--max-upfront <usdc>] [--max-duration <seconds>] [--min-duration <seconds>] [--operator <address>] [--units atomic]',
19
+ usage: 'metrik pay <url> [--json \'{"text":"hi"}\' | --data <body>] [--method POST] [--header "K: V"] --max-amount <usdc> [--max-rate <usdc/s>] [--max-upfront <usdc>] [--max-duration <seconds>] [--min-duration <seconds>] [--operator <address>] [--close-after] [--units atomic]',
18
20
  flags: [
19
21
  "data",
20
22
  "json-body",
@@ -26,6 +28,7 @@ export const payCommand = {
26
28
  "max-duration",
27
29
  "min-duration",
28
30
  "operator",
31
+ "close-after",
29
32
  "units",
30
33
  "allow-legacy-factory",
31
34
  ],
@@ -46,6 +49,7 @@ export const payCommand = {
46
49
  "max-upfront": "--max-upfront <usdc> (cap on the NON-REFUNDABLE per-call part of an upfront-opener quote; default 0.10 USDC, 0 refuses any)",
47
50
  data: "--data <body>",
48
51
  "json-body": "--json <body> (alias: --json-body <body>)",
52
+ "close-after": "--close-after (after a successful paid response, this client closes the stream for you and reclaims the unearned part: it signs the payer's Close, the seller's refund relay sends it and pays the gas, then it waits for the covering checkpoint and asks the relay to reclaim to the payer. Your request, sent by your client; not an automatic refund. Exit 5 if it does not finish, with the command that finishes it)",
49
53
  },
50
54
  async run(context) {
51
55
  const { args, config, env, out, deps } = context;
@@ -154,7 +158,15 @@ export const payCommand = {
154
158
  const opener = result.metrikStreamOpener;
155
159
  const quote = result.quote;
156
160
  const settlementTx = settlementTransaction(result.paymentResponse);
157
- out.result({
161
+ const closeAfter = booleanFlag(args, "close-after");
162
+ // A stream on another (e.g. legacy) registered escrow is reached by
163
+ // naming that escrow; the CLI defaults to the network's current one.
164
+ const escrowFlag = opener?.escrow !== null &&
165
+ opener?.escrow !== undefined &&
166
+ opener.escrow.toLowerCase() !== config.escrow.toLowerCase()
167
+ ? ` --escrow ${opener.escrow}`
168
+ : "";
169
+ const payResult = {
158
170
  paid: result.paid,
159
171
  // The facilitator's settlement transaction, from the PAYMENT-RESPONSE
160
172
  // header the seller relayed: the facilitator's relayer broadcast it, not
@@ -186,16 +198,36 @@ export const payCommand = {
186
198
  minEarnSeconds: quote?.minEarnSeconds ?? null,
187
199
  mandateSource: envCaps === null ? "request" : "env",
188
200
  refundIsAutomatic: false,
189
- });
201
+ };
190
202
  if (!result.paid) {
203
+ // Nothing settled (the endpoint answered without a payment, or the paid
204
+ // request failed and was never settled): there is nothing to close.
205
+ out.result({
206
+ ...payResult,
207
+ ...(closeAfter ? { closeAfter: { outcome: "not-paid" } } : {}),
208
+ });
191
209
  out.print(`The endpoint answered ${result.response.status} without asking for payment; nothing was signed or paid.`);
192
210
  out.print(truncate(bodyText));
211
+ if (closeAfter) {
212
+ out.print("--close-after: nothing was paid, so there is nothing to close.");
213
+ }
193
214
  return;
194
215
  }
195
216
  out.print(`Paid. HTTP ${result.response.status}`);
196
217
  out.print(truncate(bodyText));
197
218
  out.print("");
198
219
  if (opener !== null && opener.streamId === null) {
220
+ out.result({
221
+ ...payResult,
222
+ ...(closeAfter
223
+ ? {
224
+ closeAfter: {
225
+ outcome: "nothing-to-close",
226
+ refundIsAutomatic: false,
227
+ },
228
+ }
229
+ : {}),
230
+ });
199
231
  // Upfront-only: no stream exists, so there is no refund or reclaim to offer.
200
232
  out.table([
201
233
  ["opener", opener.opener],
@@ -212,64 +244,228 @@ export const payCommand = {
212
244
  ]);
213
245
  out.print("");
214
246
  out.print("This payment is FINAL: it was an upfront-only (minimum-charge) payment, the whole price was paid to the seller at settlement as a non-refundable per-call charge, and no escrow stream was opened. There is nothing to refund or reclaim.");
247
+ if (closeAfter) {
248
+ out.print("--close-after: nothing to close — no stream was opened. Nothing was signed or sent.");
249
+ }
215
250
  return;
216
251
  }
217
- if (opener !== null && opener.streamId !== null) {
218
- out.table([
219
- ["streamId", opener.streamId],
220
- ["opener", opener.opener],
221
- ["payer", account.address],
222
- ...splitRows(quote, opener.upfrontFee),
223
- ...(opener.deposit === null
224
- ? []
225
- : [["deposit", formatUsdc(opener.deposit)]]),
226
- ...(opener.ratePerSecond === null
227
- ? []
228
- : [
229
- ["rate", `${formatUsdc(opener.ratePerSecond)} / verified second`],
230
- ]),
231
- ...(quote?.minEarnSeconds === null ||
232
- quote?.minEarnSeconds === undefined
233
- ? []
234
- : [
235
- [
236
- "fully earned after",
237
- `${formatDuration(Number(quote.minEarnSeconds))} of verified delivery`,
238
- ],
239
- ]),
240
- ...(opener.expiresAt === null
241
- ? []
242
- : [
243
- ["expires", new Date(opener.expiresAt * 1000).toISOString()],
244
- ]),
245
- ["refund url", opener.refundUrl ?? "(the seller advertised no relay)"],
246
- ...(settlementTx === null
247
- ? []
248
- : [
249
- [
250
- "settlement tx",
251
- `${settlementTx} (reported by the seller's facilitator in PAYMENT-RESPONSE; its relayer broadcast it)`,
252
- ],
253
- ]),
254
- ]);
255
- out.print("");
256
- // A stream on another (e.g. legacy) registered escrow is reached by
257
- // naming that escrow; the CLI defaults to the network's current one.
258
- const escrowFlag = opener.escrow !== null &&
259
- opener.escrow.toLowerCase() !== config.escrow.toLowerCase()
260
- ? ` --escrow ${opener.escrow}`
261
- : "";
252
+ if (opener === null || opener.streamId === null) {
253
+ out.result(payResult);
254
+ return;
255
+ }
256
+ const streamId = opener.streamId;
257
+ out.table([
258
+ ["streamId", streamId],
259
+ ["opener", opener.opener],
260
+ ["payer", account.address],
261
+ ...splitRows(quote, opener.upfrontFee),
262
+ ...(opener.deposit === null
263
+ ? []
264
+ : [["deposit", formatUsdc(opener.deposit)]]),
265
+ ...(opener.ratePerSecond === null
266
+ ? []
267
+ : [
268
+ ["rate", `${formatUsdc(opener.ratePerSecond)} / verified second`],
269
+ ]),
270
+ ...(quote?.minEarnSeconds === null || quote?.minEarnSeconds === undefined
271
+ ? []
272
+ : [
273
+ [
274
+ "fully earned after",
275
+ `${formatDuration(Number(quote.minEarnSeconds))} of verified delivery`,
276
+ ],
277
+ ]),
278
+ ...(opener.expiresAt === null
279
+ ? []
280
+ : [
281
+ ["expires", new Date(opener.expiresAt * 1000).toISOString()],
282
+ ]),
283
+ ["refund url", opener.refundUrl ?? "(the seller advertised no relay)"],
284
+ ...(settlementTx === null
285
+ ? []
286
+ : [
287
+ [
288
+ "settlement tx",
289
+ `${settlementTx} (reported by the seller's facilitator in PAYMENT-RESPONSE; its relayer broadcast it)`,
290
+ ],
291
+ ]),
292
+ ]);
293
+ out.print("");
294
+ const refundCommand = (flags) => opener.refundUrl === null
295
+ ? `metrik reclaim ${streamId}${escrowFlag}`
296
+ : `metrik refund ${streamId} --refund-url ${opener.refundUrl}${escrowFlag} ${flags}`;
297
+ if (!closeAfter) {
298
+ out.result(payResult);
262
299
  out.print(quote?.openerKind === "upfront" &&
263
300
  quote.upfrontAmount !== null &&
264
301
  quote.upfrontAmount > 0n
265
302
  ? `Refunds are NOT automatic. The ${formatUsdc(quote.upfrontAmount)} upfront charge is final; of the ${formatUsdc(quote.refundableAmount ?? 0n)} escrowed, the seller earns only verified seconds, and whatever is unearned stays in the escrow until someone reclaims it for you:`
266
303
  : "Refunds are NOT automatic. The seller earns only for verified seconds; whatever is unearned stays in the escrow until someone reclaims it for you:");
267
304
  out.print(opener.refundUrl === null
268
- ? ` metrik reclaim ${opener.streamId}${escrowFlag} (anyone may send it; the refund always goes to the payer)`
269
- : ` metrik refund ${opener.streamId} --refund-url ${opener.refundUrl}${escrowFlag} --close --reclaim`);
305
+ ? ` ${refundCommand("")} (anyone may send it; the refund always goes to the payer)`
306
+ : ` ${refundCommand("--close --reclaim")}`);
307
+ return;
270
308
  }
309
+ // --close-after: the buyer asked for it, so THIS client now sends the
310
+ // buyer's own close and reclaim. Not an automatic refund.
311
+ out.note("--close-after: closing the stream now, as you asked. This client signs the payer's Close and the seller's refund relay sends it (the relay pays the gas); then it waits for the checkpoint covering the close and asks the relay to reclaim the unearned part to the payer.");
312
+ const outcome = await closeAfterPayment({
313
+ payment: opener,
314
+ payer: account.address,
315
+ openRefunds: async () => await x402.refundClient(config, {
316
+ refundUrl: opener.refundUrl,
317
+ streamId,
318
+ opener: opener.opener,
319
+ maxAttempts: DEFAULT_ATTEMPTS,
320
+ maxDelayMs: DEFAULT_MAX_WAIT_SECONDS * 1_000,
321
+ ...(typeof opener.settledAt === "number"
322
+ ? { settledAt: opener.settledAt }
323
+ : {}),
324
+ }),
325
+ closeSigner: async () => await authorizeCloseSigner(account, config.chainId),
326
+ sleep: deps.sleep,
327
+ note: out.note,
328
+ ...(context.progress === undefined
329
+ ? {}
330
+ : {
331
+ setActivity: (activity) => context.progress?.setActivity(activity),
332
+ }),
333
+ reclaimActivity: reclaimActivity(DEFAULT_ATTEMPTS, DEFAULT_MAX_WAIT_SECONDS),
334
+ });
335
+ const finishCommand = outcome.outcome === "incomplete"
336
+ ? refundCommand(outcome.incomplete?.closed === true
337
+ ? "--reclaim"
338
+ : "--close --reclaim")
339
+ : null;
340
+ out.result({
341
+ ...payResult,
342
+ closeAfter: describeCloseAfter(outcome, {
343
+ price: quote?.amount ?? null,
344
+ deposit: opener.deposit,
345
+ finishCommand,
346
+ }),
347
+ });
348
+ out.table(closeAfterRows(outcome, quote, opener.deposit));
349
+ out.print("");
350
+ if (outcome.outcome === "incomplete") {
351
+ const incomplete = outcome.incomplete;
352
+ const why = incomplete?.error instanceof Error
353
+ ? explainRefundFailure(incomplete.error)
354
+ : null;
355
+ throw new CliError(`paid (HTTP ${result.response.status}), but the close-after did not finish: ${incomplete?.stage === "no-relay" ? "" : `the ${incomplete?.stage ?? "close"} did not finish — `}${incomplete?.reason ?? "unknown"}`, {
356
+ exitCode: 5,
357
+ hint: `the payment and the response are fine, and nothing is lost: ${incomplete?.closed === true ? "the stream is closed and " : ""}the unearned part stays in the escrow for the payer. Finish it with:\n ${finishCommand ?? refundCommand("--close --reclaim")}${why instanceof CliError && why.hint !== undefined
358
+ ? `\n (${why.hint})`
359
+ : ""}`,
360
+ cause: incomplete?.error ?? undefined,
361
+ });
362
+ }
363
+ out.print(describeCloseAfterDone(outcome));
271
364
  },
272
365
  };
366
+ /**
367
+ * The `closeAfter` part of `metrik pay --close-after --json`: what this
368
+ * client's close + reclaim did, with the amounts from the verified receipt.
369
+ */
370
+ export function describeCloseAfter(outcome, context) {
371
+ const refunded = outcome.refundedUsdc;
372
+ return {
373
+ outcome: outcome.outcome,
374
+ streamId: outcome.streamId,
375
+ close: outcome.close === null
376
+ ? null
377
+ : {
378
+ transaction: outcome.close.transaction,
379
+ verified: outcome.close.verified,
380
+ },
381
+ closeSkipped: outcome.closeSkipped,
382
+ reclaim: outcome.reclaim === null
383
+ ? null
384
+ : {
385
+ transaction: outcome.reclaim.transaction,
386
+ amount: outcome.reclaim.amount,
387
+ verified: outcome.reclaim.verified,
388
+ },
389
+ reclaimSkipped: outcome.reclaimSkipped,
390
+ // Base units returned to the payer, from the receipt's ReclaimForwarded
391
+ // (null unless the receipt was verified).
392
+ refunded,
393
+ // What the payment finally cost: price - refunded (upfront + earned).
394
+ kept: refunded === null || context.price === null
395
+ ? null
396
+ : context.price - refunded,
397
+ // What the seller earned from the escrow: deposit - refunded.
398
+ earned: refunded === null || context.deposit === null
399
+ ? null
400
+ : context.deposit - refunded,
401
+ finishedReason: outcome.finished,
402
+ status: outcome.status?.status ?? null,
403
+ reclaimed: outcome.status?.reclaimed ?? null,
404
+ incomplete: outcome.incomplete === null
405
+ ? null
406
+ : {
407
+ stage: outcome.incomplete.stage,
408
+ closed: outcome.incomplete.closed,
409
+ reason: outcome.incomplete.reason,
410
+ },
411
+ finishCommand: context.finishCommand,
412
+ // The buyer's own client sent these, at the buyer's request.
413
+ sentBy: "buyer",
414
+ refundIsAutomatic: false,
415
+ };
416
+ }
417
+ /** Human rows for a close-after run. */
418
+ function closeAfterRows(outcome, quote, deposit) {
419
+ const rows = [];
420
+ if (outcome.close !== null) {
421
+ rows.push([
422
+ "close tx",
423
+ `${outcome.close.transaction}${outcome.close.verified ? " (verified)" : " (relay-reported)"}`,
424
+ ]);
425
+ }
426
+ else if (outcome.closeSkipped !== null) {
427
+ rows.push(["close", "skipped — already closed"]);
428
+ }
429
+ if (outcome.reclaim !== null) {
430
+ rows.push([
431
+ "reclaim tx",
432
+ `${outcome.reclaim.transaction}${outcome.reclaim.verified ? " (verified)" : " (relay-reported)"}`,
433
+ ]);
434
+ const amount = outcome.refundedUsdc ?? outcome.reclaim.amount;
435
+ if (amount !== null) {
436
+ rows.push([
437
+ "refunded to payer",
438
+ `${formatUsdc(amount)}${outcome.refundedUsdc === null ? " (relay-reported; the receipt was NOT verified)" : " (from the verified receipt)"}`,
439
+ ]);
440
+ if (deposit !== null) {
441
+ rows.push([
442
+ "seller earned",
443
+ `${formatUsdc(deposit - amount)} (verified seconds)`,
444
+ ]);
445
+ }
446
+ if (quote !== null) {
447
+ rows.push([
448
+ "payment cost",
449
+ `${formatUsdc(quote.amount - amount)} of the ${formatUsdc(quote.amount)} paid`,
450
+ ]);
451
+ }
452
+ }
453
+ }
454
+ return rows;
455
+ }
456
+ function describeCloseAfterDone(outcome) {
457
+ if (outcome.reclaim !== null) {
458
+ const amount = outcome.refundedUsdc ?? outcome.reclaim.amount;
459
+ return `Closed and reclaimed at your request: ${amount === null ? "the unearned remainder" : formatUsdc(amount)} went back to the payer${outcome.refundedUsdc !== null ? " (receipt verified on-chain)" : ""}. Nothing further to do for this stream.`;
460
+ }
461
+ if (outcome.finished === "reclaimed") {
462
+ return "Already finished: the stream is closed and was already reclaimed to the payer. Nothing further to do.";
463
+ }
464
+ if (outcome.finished === "nothing-to-reclaim") {
465
+ return "Closed at your request. Nothing to reclaim: the verified delivery covers the whole deposit, so none of it is unearned.";
466
+ }
467
+ return "Closed at your request.";
468
+ }
273
469
  /**
274
470
  * One line stating what a quote commits the payer to, printed before signing:
275
471
  * for an upfront-opener quote, the NON-REFUNDABLE per-call part and the
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"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"}