@absol-labs/agent 0.12.0-rc.1 → 0.12.0-rc.2
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 +1 -1
- package/dist/cli/commands/claim.d.ts +32 -0
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +115 -27
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +15 -0
- package/dist/cli/commands/pay.d.ts.map +1 -1
- package/dist/cli/commands/pay.js +131 -7
- package/dist/cli/commands/pay.js.map +1 -1
- package/dist/cli/commands/reclaim.d.ts.map +1 -1
- package/dist/cli/commands/reclaim.js +20 -4
- package/dist/cli/commands/reclaim.js.map +1 -1
- package/dist/cli/commands/refund.d.ts +19 -1
- package/dist/cli/commands/refund.d.ts.map +1 -1
- package/dist/cli/commands/refund.js +200 -27
- package/dist/cli/commands/refund.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +11 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +2 -0
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/context.d.ts +19 -0
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/deps.d.ts +20 -0
- package/dist/cli/deps.d.ts.map +1 -1
- package/dist/cli/deps.js +14 -0
- package/dist/cli/deps.js.map +1 -1
- package/dist/cli/progress.d.ts +13 -1
- package/dist/cli/progress.d.ts.map +1 -1
- package/dist/cli/progress.js +7 -1
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +26 -14
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/status.d.ts +103 -0
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +310 -41
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/wallet.d.ts +1 -1
- package/dist/cli/wallet.d.ts.map +1 -1
- package/dist/cli/wallet.js +28 -4
- package/dist/cli/wallet.js.map +1 -1
- package/dist/gateway/http-server.d.ts +17 -0
- package/dist/gateway/http-server.d.ts.map +1 -1
- package/dist/gateway/http-server.js +76 -9
- package/dist/gateway/http-server.js.map +1 -1
- package/dist/gateway/x402-opener-mode.d.ts +39 -2
- package/dist/gateway/x402-opener-mode.d.ts.map +1 -1
- package/dist/gateway/x402-opener-mode.js +169 -36
- package/dist/gateway/x402-opener-mode.js.map +1 -1
- package/dist/mcp/server.d.ts +12 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +28 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/x402-tools.d.ts +8 -3
- package/dist/mcp/x402-tools.d.ts.map +1 -1
- package/dist/mcp/x402-tools.js +126 -6
- package/dist/mcp/x402-tools.js.map +1 -1
- package/dist/sdk/client.d.ts +13 -0
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +15 -0
- package/dist/sdk/client.js.map +1 -1
- package/dist/x402-buyer/pay.d.ts +22 -0
- package/dist/x402-buyer/pay.d.ts.map +1 -1
- package/dist/x402-buyer/pay.js +33 -3
- package/dist/x402-buyer/pay.js.map +1 -1
- package/dist/x402-opener/facilitator-entry.js +4 -1
- package/dist/x402-opener/facilitator-entry.js.map +1 -1
- package/dist/x402-opener/facilitator-server.d.ts +29 -0
- package/dist/x402-opener/facilitator-server.d.ts.map +1 -1
- package/dist/x402-opener/facilitator-server.js +67 -1
- package/dist/x402-opener/facilitator-server.js.map +1 -1
- package/dist/x402-opener/refund-relay.d.ts +30 -4
- package/dist/x402-opener/refund-relay.d.ts.map +1 -1
- package/dist/x402-opener/refund-relay.js +123 -22
- package/dist/x402-opener/refund-relay.js.map +1 -1
- package/dist/x402-opener/scheme.d.ts +79 -0
- package/dist/x402-opener/scheme.d.ts.map +1 -1
- package/dist/x402-opener/scheme.js +326 -40
- package/dist/x402-opener/scheme.js.map +1 -1
- package/dist/x402-opener/terms.d.ts +61 -1
- package/dist/x402-opener/terms.d.ts.map +1 -1
- package/dist/x402-opener/terms.js +94 -2
- package/dist/x402-opener/terms.js.map +1 -1
- package/docs/cli.md +87 -9
- package/docs/mcp-reference.md +18 -2
- package/docs/quickstart.md +3 -3
- package/docs/x402.md +150 -10
- package/package.json +3 -3
- package/src/cli/commands/claim.ts +167 -32
- package/src/cli/commands/pay.ts +150 -8
- package/src/cli/commands/reclaim.ts +25 -5
- package/src/cli/commands/refund.ts +231 -33
- package/src/cli/commands/status.ts +11 -1
- package/src/cli/commands/watch.ts +4 -0
- package/src/cli/context.ts +16 -0
- package/src/cli/deps.ts +37 -0
- package/src/cli/progress.ts +21 -2
- package/src/cli/run.ts +26 -13
- package/src/cli/status.ts +440 -43
- package/src/cli/wallet.ts +44 -7
- package/src/gateway/http-server.ts +96 -8
- package/src/gateway/x402-opener-mode.ts +234 -37
- package/src/mcp/server.ts +43 -11
- package/src/mcp/x402-tools.ts +171 -7
- package/src/sdk/client.ts +25 -0
- package/src/x402-buyer/pay.ts +41 -3
- package/src/x402-opener/facilitator-entry.ts +4 -1
- package/src/x402-opener/facilitator-server.ts +101 -1
- package/src/x402-opener/refund-relay.ts +150 -20
- package/src/x402-opener/scheme.ts +459 -41
- package/src/x402-opener/terms.ts +155 -2
package/README.md
CHANGED
|
@@ -268,7 +268,7 @@ reimplemented.
|
|
|
268
268
|
|
|
269
269
|
```bash
|
|
270
270
|
metrik discover --min-tier 2
|
|
271
|
-
metrik open --service <serviceRef> --rate 0.
|
|
271
|
+
metrik open --service <serviceRef> --rate 0.0001 --budget 0.36 --duration 1h [--dry-run]
|
|
272
272
|
metrik status <streamId>
|
|
273
273
|
metrik streams --role buyer --limit 5
|
|
274
274
|
metrik watch <streamId> --interval 15
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { CliError } from "../errors.js";
|
|
1
2
|
import type { CommandSpec } from "../context.js";
|
|
3
|
+
import type { CliReadClient } from "../deps.js";
|
|
4
|
+
import type { StreamV2 } from "@absol-labs/sdk";
|
|
2
5
|
/**
|
|
3
6
|
* The seller's side of the loop.
|
|
4
7
|
*
|
|
@@ -10,4 +13,33 @@ import type { CommandSpec } from "../context.js";
|
|
|
10
13
|
* learn a fact that was already available.
|
|
11
14
|
*/
|
|
12
15
|
export declare const claimCommand: CommandSpec;
|
|
16
|
+
/**
|
|
17
|
+
* Which claim, if any, `metrik claim` would send. Reads only, so it is
|
|
18
|
+
* testable (and checkable against a live stream) without a key.
|
|
19
|
+
*
|
|
20
|
+
* - `claimWithProof` pays `min(proofCumulative, deposit) − claimed` against ANY
|
|
21
|
+
* retained checkpoint root.
|
|
22
|
+
* - `claimProven` (StreamEscrowV3) pays `min(provenCumulative, deposit) −
|
|
23
|
+
* claimed` with NO proof: the high-water was itself proven against a signed
|
|
24
|
+
* root when it was recorded. It is the only way to collect proven value whose
|
|
25
|
+
* root has rotated out of the retained set, or that a later root regressed.
|
|
26
|
+
*
|
|
27
|
+
* Both are asked of the escrow (`claimableFor` at each cumulative; the escrow
|
|
28
|
+
* pays a claim with exactly that math), and the larger is chosen. A proof
|
|
29
|
+
* claim wins a tie, because it also raises the proven high-water. Nothing is
|
|
30
|
+
* chosen when both pay zero, so no gas is spent to learn `NothingToClaim`.
|
|
31
|
+
*/
|
|
32
|
+
export type ClaimPlan = {
|
|
33
|
+
readonly kind: "claimWithProof" | "claimProven";
|
|
34
|
+
/** What the operator receives, net of the protocol fee. */
|
|
35
|
+
readonly claimable: bigint;
|
|
36
|
+
/** The current proof's cumulative; `null` when no proof was available. */
|
|
37
|
+
readonly verifiedCumulative: bigint | null;
|
|
38
|
+
/** V3 proven high-water; `null` on V2 or when unreadable. */
|
|
39
|
+
readonly provenCumulative: bigint | null;
|
|
40
|
+
} | {
|
|
41
|
+
readonly kind: "nothing";
|
|
42
|
+
readonly error: CliError;
|
|
43
|
+
};
|
|
44
|
+
export declare function planClaim(read: CliReadClient, streamId: `0x${string}`, stream: Pick<StreamV2, "claimedCumulative">, escrowGeneration: string): Promise<ClaimPlan>;
|
|
13
45
|
//# sourceMappingURL=claim.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -5,6 +5,7 @@ import { signClaimMandate } from "../mandate.js";
|
|
|
5
5
|
import { assertCanPayGas } from "../preflight.js";
|
|
6
6
|
import { writeClientOptions } from "../deps.js";
|
|
7
7
|
import { isPolicyEnforced, PRIVATE_KEY_ENV, resolveCliWallet, } from "../wallet.js";
|
|
8
|
+
import { escrowGenerationFor } from "../../escrow-generation.js";
|
|
8
9
|
/**
|
|
9
10
|
* The seller's side of the loop.
|
|
10
11
|
*
|
|
@@ -51,30 +52,11 @@ export const claimCommand = {
|
|
|
51
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 \`metrik reclaim ${streamId}\`.)`,
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
let cumulativeAmount;
|
|
58
|
-
try {
|
|
59
|
-
cumulativeAmount = (await read.checkpointProof(streamId))
|
|
60
|
-
.cumulativeAmount;
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
throw new CliError("no checkpoint covers this stream yet, so there is nothing provable to claim", {
|
|
64
|
-
exitCode: 4,
|
|
65
|
-
hint: `the oracle publishes roughly every 15-22s and pays only for intervals that verified; ${describeError(error)}`,
|
|
66
|
-
cause: error,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
const claimable = await read.claimableForV2(streamId, cumulativeAmount);
|
|
70
|
-
if (claimable === 0n) {
|
|
71
|
-
throw new CliError("this stream has nothing claimable right now", {
|
|
72
|
-
exitCode: 4,
|
|
73
|
-
hint: `everything checkpointed so far has already been claimed. See where it stands: metrik status ${streamId}`,
|
|
74
|
-
});
|
|
75
|
-
}
|
|
55
|
+
const plan = await planClaim(read, streamId, stream, escrowGenerationFor(config.chainId, config.escrow));
|
|
56
|
+
if (plan.kind === "nothing")
|
|
57
|
+
throw plan.error;
|
|
76
58
|
const write = deps.createWriteClient(config, account, writeClientOptions(wallet));
|
|
77
|
-
const
|
|
59
|
+
const action = {
|
|
78
60
|
streamId,
|
|
79
61
|
// `null` for a policy-enforced wallet — see `../spend-policy.ts`.
|
|
80
62
|
signedMandate: isPolicyEnforced(wallet)
|
|
@@ -82,21 +64,127 @@ export const claimCommand = {
|
|
|
82
64
|
: await signClaimMandate(account, config.chainId),
|
|
83
65
|
spentSoFarUsdc: 0n,
|
|
84
66
|
nowSeconds: deps.nowSeconds(),
|
|
85
|
-
}
|
|
67
|
+
};
|
|
68
|
+
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
|
+
});
|
|
78
|
+
}
|
|
79
|
+
result = await write.claimProvenStream(action);
|
|
80
|
+
}
|
|
86
81
|
out.result({
|
|
87
82
|
streamId,
|
|
88
83
|
txHash: result.txHash,
|
|
89
84
|
operator: stream.operator,
|
|
90
|
-
claimed: claimable,
|
|
91
|
-
|
|
85
|
+
claimed: plan.claimable,
|
|
86
|
+
method: plan.kind,
|
|
87
|
+
verifiedCumulative: plan.verifiedCumulative,
|
|
88
|
+
provenCumulative: plan.provenCumulative,
|
|
92
89
|
});
|
|
93
90
|
out.print("Claimed.");
|
|
94
91
|
out.table([
|
|
95
92
|
["streamId", streamId],
|
|
96
93
|
["tx", result.txHash],
|
|
97
94
|
["operator", stream.operator],
|
|
98
|
-
["claimed", `${formatUsdc(claimable)} (net of protocol fee)`],
|
|
95
|
+
["claimed", `${formatUsdc(plan.claimable)} (net of protocol fee)`],
|
|
96
|
+
[
|
|
97
|
+
"via",
|
|
98
|
+
plan.kind === "claimWithProof"
|
|
99
|
+
? "claimWithProof (the oracle's current checkpoint proof)"
|
|
100
|
+
: `claimProven (the on-chain proven high-water, ${formatUsdc(plan.provenCumulative ?? 0n)} gross — no current checkpoint proof pays more)`,
|
|
101
|
+
],
|
|
99
102
|
]);
|
|
100
103
|
},
|
|
101
104
|
};
|
|
105
|
+
export async function planClaim(read, streamId, stream, escrowGeneration) {
|
|
106
|
+
let verifiedCumulative = null;
|
|
107
|
+
let proofError = null;
|
|
108
|
+
try {
|
|
109
|
+
verifiedCumulative = (await read.checkpointProof(streamId))
|
|
110
|
+
.cumulativeAmount;
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
proofError = error;
|
|
114
|
+
}
|
|
115
|
+
let provenCumulative = null;
|
|
116
|
+
let provenError = null;
|
|
117
|
+
if (escrowGeneration === "v3") {
|
|
118
|
+
if (read.provenCumulativeOf === undefined) {
|
|
119
|
+
provenError = "this read client cannot read provenCumulativeOf";
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
try {
|
|
123
|
+
provenCumulative = await read.provenCumulativeOf(streamId);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
provenError = describeError(error);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const [proofClaimable, provenClaimable] = await Promise.all([
|
|
131
|
+
verifiedCumulative === null
|
|
132
|
+
? 0n
|
|
133
|
+
: read.claimableForV2(streamId, verifiedCumulative),
|
|
134
|
+
// `claimProven` pays at the high-water, so it is worth asking only when
|
|
135
|
+
// the high-water is above what has already been claimed.
|
|
136
|
+
provenCumulative === null || provenCumulative <= stream.claimedCumulative
|
|
137
|
+
? 0n
|
|
138
|
+
: read.claimableForV2(streamId, provenCumulative),
|
|
139
|
+
]);
|
|
140
|
+
if (proofClaimable > 0n && proofClaimable >= provenClaimable) {
|
|
141
|
+
return {
|
|
142
|
+
kind: "claimWithProof",
|
|
143
|
+
claimable: proofClaimable,
|
|
144
|
+
verifiedCumulative,
|
|
145
|
+
provenCumulative,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
if (provenClaimable > 0n) {
|
|
149
|
+
return {
|
|
150
|
+
kind: "claimProven",
|
|
151
|
+
claimable: provenClaimable,
|
|
152
|
+
verifiedCumulative,
|
|
153
|
+
provenCumulative,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
if (provenCumulative !== null && provenCumulative > 0n) {
|
|
157
|
+
return {
|
|
158
|
+
kind: "nothing",
|
|
159
|
+
error: new CliError("this stream has nothing to claim", {
|
|
160
|
+
exitCode: 4,
|
|
161
|
+
hint: `everything proven on-chain for it (${formatUsdc(provenCumulative)} gross) has already been claimed${verifiedCumulative === null
|
|
162
|
+
? ", and the latest checkpoint no longer contains it"
|
|
163
|
+
: ""}. See where it stands: metrik status ${streamId}`,
|
|
164
|
+
}),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (verifiedCumulative === null) {
|
|
168
|
+
// Accrual lives in the oracle's checkpoint proof (and, on V3, the proven
|
|
169
|
+
// high-water), never in the stream tuple. Saying so is better than paying
|
|
170
|
+
// gas for a `NothingToClaim()` revert.
|
|
171
|
+
return {
|
|
172
|
+
kind: "nothing",
|
|
173
|
+
error: new CliError("no checkpoint covers this stream yet, so there is nothing provable to claim", {
|
|
174
|
+
exitCode: 4,
|
|
175
|
+
hint: `the oracle publishes roughly every 15-22s and pays only for intervals that verified; ${describeError(proofError)}${provenError === null
|
|
176
|
+
? ""
|
|
177
|
+
: `; the on-chain proven high-water could not be read either (${provenError})`}`,
|
|
178
|
+
cause: proofError,
|
|
179
|
+
}),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
kind: "nothing",
|
|
184
|
+
error: new CliError("this stream has nothing claimable right now", {
|
|
185
|
+
exitCode: 4,
|
|
186
|
+
hint: `everything checkpointed so far has already been claimed. See where it stands: metrik status ${streamId}`,
|
|
187
|
+
}),
|
|
188
|
+
};
|
|
189
|
+
}
|
|
102
190
|
//# sourceMappingURL=claim.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAGtB;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgB;IACvC,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,yDAAyD;IAClE,KAAK,EAAE,yBAAyB;IAChC,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,IAAI;IACX,KAAK,CAAC,GAAG,CAAC,OAAuB;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,UAAU,CAAC,oCAAoC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACzC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC3B,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,kEAAkE;YAClE,kEAAkE;YAClE,qEAAqE;YACrE,oEAAoE;YACpE,qDAAqD;YACrD,GAAG,CAAC,IAAI,CACN,qJAAqJ,CACtJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACpE,MAAM,IAAI,QAAQ,CAChB,UAAU,OAAO,CAAC,OAAO,qCAAqC,EAC9D;gBACE,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,QAAQ,MAAM,CAAC,QAAQ,yEAAyE,eAAe,gFAAgF,QAAQ,MAAM;aACpN,CACF,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../src/cli/commands/claim.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
|
+
import type { X402QuoteSummary } from "@absol-labs/sdk/x402";
|
|
1
2
|
import { type ServerMandateCaps } from "../../mandates/env.js";
|
|
2
3
|
import type { CommandSpec } from "../context.js";
|
|
3
4
|
export declare const payCommand: CommandSpec;
|
|
5
|
+
/**
|
|
6
|
+
* One line stating what a quote commits the payer to, printed before signing:
|
|
7
|
+
* for an upfront-opener quote, the NON-REFUNDABLE per-call part and the
|
|
8
|
+
* metered, refundable part; for a stream quote, that all of it is metered.
|
|
9
|
+
*/
|
|
10
|
+
export declare function describeQuoteSplit(quote: X402QuoteSummary): string;
|
|
11
|
+
/**
|
|
12
|
+
* The settlement transaction hash from the facilitator's `PAYMENT-RESPONSE`,
|
|
13
|
+
* when it carries a well-formed one. Anything else (absent, empty, not a
|
|
14
|
+
* 32-byte hash) is `null`: a malformed value is never printed as a hash.
|
|
15
|
+
*/
|
|
16
|
+
export declare function settlementTransaction(paymentResponse: {
|
|
17
|
+
readonly transaction?: unknown;
|
|
18
|
+
} | null | undefined): `0x${string}` | null;
|
|
4
19
|
/**
|
|
5
20
|
* The mandate this command signs: a standing `METRIK_AGENT_MANDATE_*` ceiling
|
|
6
21
|
* INTERSECTED with every flag (the most restrictive value wins), or, with no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/pay.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/cli/commands/pay.js
CHANGED
|
@@ -5,7 +5,7 @@ import { assertTestnetRpc } from "../config.js";
|
|
|
5
5
|
import { rpcTransport } from "../deps.js";
|
|
6
6
|
import { CliError, configError, usageError } from "../errors.js";
|
|
7
7
|
import { usdcFundingHint } from "../../network.js";
|
|
8
|
-
import { isPrivyWalletSource, resolveCliWallet } from "../wallet.js";
|
|
8
|
+
import { CDP_ENV_VARS, PRIVATE_KEY_ENV, isPrivyWalletSource, resolveCliWallet, } from "../wallet.js";
|
|
9
9
|
import { hasHeader, parseHeaders } from "./invoke.js";
|
|
10
10
|
/** Default stream window a request-sized mandate allows (one day). */
|
|
11
11
|
const DEFAULT_MAX_DURATION_SECONDS = 86_400;
|
|
@@ -14,7 +14,7 @@ const MAX_PRINTED_BODY_CHARS = 64 * 1024;
|
|
|
14
14
|
export const payCommand = {
|
|
15
15
|
name: "pay",
|
|
16
16
|
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-duration <seconds>] [--min-duration <seconds>] [--operator <address>] [--units atomic]',
|
|
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]',
|
|
18
18
|
flags: [
|
|
19
19
|
"data",
|
|
20
20
|
"json-body",
|
|
@@ -22,6 +22,7 @@ export const payCommand = {
|
|
|
22
22
|
"header",
|
|
23
23
|
"max-amount",
|
|
24
24
|
"max-rate",
|
|
25
|
+
"max-upfront",
|
|
25
26
|
"max-duration",
|
|
26
27
|
"min-duration",
|
|
27
28
|
"operator",
|
|
@@ -32,6 +33,20 @@ export const payCommand = {
|
|
|
32
33
|
// settles into the escrow). The PAYER broadcasts nothing and needs no gas,
|
|
33
34
|
// but it is a fund-moving command and is gated like one.
|
|
34
35
|
signs: true,
|
|
36
|
+
// ...so the generic "Broadcasts a transaction" help would be false, and so
|
|
37
|
+
// would listing Privy: the command refuses a Privy wallet (its broker does
|
|
38
|
+
// not sign EIP-3009). Say what actually happens.
|
|
39
|
+
walletHelp: {
|
|
40
|
+
tag: "[signs a USDC payment]",
|
|
41
|
+
text: "Broadcasts nothing and needs no gas: the payer signs an EIP-3009 USDC authorization (TransferWithAuthorization) " +
|
|
42
|
+
"that the seller's facilitator settles into an escrow stream. Requires a wallet holding USDC in the environment: " +
|
|
43
|
+
`${PRIVATE_KEY_ENV} or ${CDP_ENV_VARS.join(" + ")}. A Privy wallet cannot pay x402: its broker does not sign EIP-3009.`,
|
|
44
|
+
},
|
|
45
|
+
flagHelp: {
|
|
46
|
+
"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
|
+
data: "--data <body>",
|
|
48
|
+
"json-body": "--json <body> (alias: --json-body <body>)",
|
|
49
|
+
},
|
|
35
50
|
async run(context) {
|
|
36
51
|
const { args, config, env, out, deps } = context;
|
|
37
52
|
const x402 = requireX402(deps.x402);
|
|
@@ -49,6 +64,10 @@ export const payCommand = {
|
|
|
49
64
|
const maxRate = maxRateRaw === undefined
|
|
50
65
|
? undefined
|
|
51
66
|
: parseUsdcAmount(maxRateRaw, units, "max-rate");
|
|
67
|
+
const maxUpfrontRaw = stringFlag(args, "max-upfront");
|
|
68
|
+
const maxUpfront = maxUpfrontRaw === undefined
|
|
69
|
+
? undefined
|
|
70
|
+
: parseUsdcAmount(maxUpfrontRaw, units, "max-upfront");
|
|
52
71
|
const maxDurationRaw = stringFlag(args, "max-duration");
|
|
53
72
|
const maxDuration = maxDurationRaw === undefined
|
|
54
73
|
? undefined
|
|
@@ -81,6 +100,7 @@ export const payCommand = {
|
|
|
81
100
|
operator: operator,
|
|
82
101
|
});
|
|
83
102
|
const wallet = await resolveCliWallet(env, {
|
|
103
|
+
purpose: "x402-payment",
|
|
84
104
|
note: out.note,
|
|
85
105
|
rpcUrl: config.rpcUrl,
|
|
86
106
|
});
|
|
@@ -114,6 +134,12 @@ export const payCommand = {
|
|
|
114
134
|
...(maxAmount === undefined ? {} : { maxAmount }),
|
|
115
135
|
...(maxRate === undefined ? {} : { maxRatePerSecond: maxRate }),
|
|
116
136
|
...(minDuration === undefined ? {} : { minDurationSeconds: minDuration }),
|
|
137
|
+
...(maxUpfront === undefined ? {} : { maxUpfrontAmount: maxUpfront }),
|
|
138
|
+
// The split, stated BEFORE anything is signed (the mandate approved the
|
|
139
|
+
// quote; the SDK signs right after this).
|
|
140
|
+
onApproved: ({ quote }) => {
|
|
141
|
+
out.note(describeQuoteSplit(quote));
|
|
142
|
+
},
|
|
117
143
|
sdkOptions: {
|
|
118
144
|
transport: rpcTransport(config),
|
|
119
145
|
// A LEGACY deployment's factory is refused by the SDK unless the
|
|
@@ -127,8 +153,14 @@ export const payCommand = {
|
|
|
127
153
|
const bodyText = await result.response.text();
|
|
128
154
|
const opener = result.metrikStreamOpener;
|
|
129
155
|
const quote = result.quote;
|
|
156
|
+
const settlementTx = settlementTransaction(result.paymentResponse);
|
|
130
157
|
out.result({
|
|
131
158
|
paid: result.paid,
|
|
159
|
+
// The facilitator's settlement transaction, from the PAYMENT-RESPONSE
|
|
160
|
+
// header the seller relayed: the facilitator's relayer broadcast it, not
|
|
161
|
+
// the payer. Reported as-is; null when the header carries none.
|
|
162
|
+
settlementTransaction: settlementTx,
|
|
163
|
+
settlementTransactionSource: settlementTx === null ? null : "PAYMENT-RESPONSE",
|
|
132
164
|
httpStatus: result.response.status,
|
|
133
165
|
contentType: result.response.headers.get("content-type"),
|
|
134
166
|
body: bodyText,
|
|
@@ -137,6 +169,16 @@ export const payCommand = {
|
|
|
137
169
|
refundUrl: opener?.refundUrl ?? null,
|
|
138
170
|
escrow: opener?.escrow ?? null,
|
|
139
171
|
deposit: opener?.deposit ?? null,
|
|
172
|
+
openerKind: quote?.openerKind ?? null,
|
|
173
|
+
price: quote?.amount ?? null,
|
|
174
|
+
// The NON-REFUNDABLE part (paid to the seller at settlement) and the
|
|
175
|
+
// metered, refundable part (the most any refund can return).
|
|
176
|
+
upfrontAmount: quote?.upfrontAmount ?? null,
|
|
177
|
+
refundableAmount: quote?.refundableAmount ?? null,
|
|
178
|
+
upfrontFee: opener?.upfrontFee ?? null,
|
|
179
|
+
upfrontOnly: opener?.upfrontOnly ?? quote?.upfrontOnly ?? null,
|
|
180
|
+
// True for an upfront-only payment: nothing was escrowed, nothing to refund.
|
|
181
|
+
final: opener?.upfrontOnly === true,
|
|
140
182
|
ratePerSecond: opener?.ratePerSecond ?? null,
|
|
141
183
|
expiresAt: opener?.expiresAt ?? null,
|
|
142
184
|
operator: quote?.operator ?? null,
|
|
@@ -153,11 +195,31 @@ export const payCommand = {
|
|
|
153
195
|
out.print(`Paid. HTTP ${result.response.status}`);
|
|
154
196
|
out.print(truncate(bodyText));
|
|
155
197
|
out.print("");
|
|
156
|
-
if (opener !== null) {
|
|
198
|
+
if (opener !== null && opener.streamId === null) {
|
|
199
|
+
// Upfront-only: no stream exists, so there is no refund or reclaim to offer.
|
|
200
|
+
out.table([
|
|
201
|
+
["opener", opener.opener],
|
|
202
|
+
["payer", account.address],
|
|
203
|
+
...splitRows(quote, opener.upfrontFee),
|
|
204
|
+
...(settlementTx === null
|
|
205
|
+
? []
|
|
206
|
+
: [
|
|
207
|
+
[
|
|
208
|
+
"settlement tx",
|
|
209
|
+
`${settlementTx} (reported by the seller's facilitator in PAYMENT-RESPONSE; its relayer broadcast it)`,
|
|
210
|
+
],
|
|
211
|
+
]),
|
|
212
|
+
]);
|
|
213
|
+
out.print("");
|
|
214
|
+
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.");
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (opener !== null && opener.streamId !== null) {
|
|
157
218
|
out.table([
|
|
158
219
|
["streamId", opener.streamId],
|
|
159
220
|
["opener", opener.opener],
|
|
160
221
|
["payer", account.address],
|
|
222
|
+
...splitRows(quote, opener.upfrontFee),
|
|
161
223
|
...(opener.deposit === null
|
|
162
224
|
? []
|
|
163
225
|
: [["deposit", formatUsdc(opener.deposit)]]),
|
|
@@ -181,6 +243,14 @@ export const payCommand = {
|
|
|
181
243
|
["expires", new Date(opener.expiresAt * 1000).toISOString()],
|
|
182
244
|
]),
|
|
183
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
|
+
]),
|
|
184
254
|
]);
|
|
185
255
|
out.print("");
|
|
186
256
|
// A stream on another (e.g. legacy) registered escrow is reached by
|
|
@@ -189,13 +259,58 @@ export const payCommand = {
|
|
|
189
259
|
opener.escrow.toLowerCase() !== config.escrow.toLowerCase()
|
|
190
260
|
? ` --escrow ${opener.escrow}`
|
|
191
261
|
: "";
|
|
192
|
-
out.print(
|
|
262
|
+
out.print(quote?.openerKind === "upfront" &&
|
|
263
|
+
quote.upfrontAmount !== null &&
|
|
264
|
+
quote.upfrontAmount > 0n
|
|
265
|
+
? `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
|
+
: "Refunds are NOT automatic. The seller earns only for verified seconds; whatever is unearned stays in the escrow until someone reclaims it for you:");
|
|
193
267
|
out.print(opener.refundUrl === null
|
|
194
268
|
? ` metrik reclaim ${opener.streamId}${escrowFlag} (anyone may send it; the refund always goes to the payer)`
|
|
195
269
|
: ` metrik refund ${opener.streamId} --refund-url ${opener.refundUrl}${escrowFlag} --close --reclaim`);
|
|
196
270
|
}
|
|
197
271
|
},
|
|
198
272
|
};
|
|
273
|
+
/**
|
|
274
|
+
* One line stating what a quote commits the payer to, printed before signing:
|
|
275
|
+
* for an upfront-opener quote, the NON-REFUNDABLE per-call part and the
|
|
276
|
+
* metered, refundable part; for a stream quote, that all of it is metered.
|
|
277
|
+
*/
|
|
278
|
+
export function describeQuoteSplit(quote) {
|
|
279
|
+
if (quote.openerKind === "upfront" && quote.upfrontAmount !== null) {
|
|
280
|
+
if (quote.upfrontOnly === true) {
|
|
281
|
+
return `quote: ${formatUsdc(quote.amount)}, ALL of it a NON-REFUNDABLE per-call charge (upfront-only: no stream is opened, nothing is metered, nothing can be refunded). Signing it.`;
|
|
282
|
+
}
|
|
283
|
+
return `quote: ${formatUsdc(quote.amount)} = ${formatUsdc(quote.upfrontAmount)} NON-REFUNDABLE per-call charge (paid to the seller at settlement) + ${formatUsdc(quote.refundableAmount ?? 0n)} metered and refundable (escrowed; the seller earns it only for verified seconds). Signing it.`;
|
|
284
|
+
}
|
|
285
|
+
return `quote: ${formatUsdc(quote.amount)}, all of it escrowed, metered and refundable (the seller earns it only for verified seconds). Signing it.`;
|
|
286
|
+
}
|
|
287
|
+
/** Table rows stating a paid quote's split (upfront quotes only). */
|
|
288
|
+
function splitRows(quote, upfrontFee) {
|
|
289
|
+
if (quote === null || quote.openerKind !== "upfront")
|
|
290
|
+
return [];
|
|
291
|
+
return [
|
|
292
|
+
["price", formatUsdc(quote.amount)],
|
|
293
|
+
[
|
|
294
|
+
"non-refundable",
|
|
295
|
+
`${formatUsdc(quote.upfrontAmount ?? 0n)} (per-call charge, paid to the seller at settlement${upfrontFee === null ? "" : `; protocol fee ${formatUsdc(upfrontFee)} as the seller reports it`})`,
|
|
296
|
+
],
|
|
297
|
+
[
|
|
298
|
+
"refundable",
|
|
299
|
+
`${formatUsdc(quote.refundableAmount ?? 0n)} (metered; the most any refund can return)`,
|
|
300
|
+
],
|
|
301
|
+
];
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* The settlement transaction hash from the facilitator's `PAYMENT-RESPONSE`,
|
|
305
|
+
* when it carries a well-formed one. Anything else (absent, empty, not a
|
|
306
|
+
* 32-byte hash) is `null`: a malformed value is never printed as a hash.
|
|
307
|
+
*/
|
|
308
|
+
export function settlementTransaction(paymentResponse) {
|
|
309
|
+
const value = paymentResponse?.transaction;
|
|
310
|
+
return typeof value === "string" && /^0x[0-9a-fA-F]{64}$/.test(value)
|
|
311
|
+
? value
|
|
312
|
+
: null;
|
|
313
|
+
}
|
|
199
314
|
const minBig = (a, b) => b !== undefined && b < a ? b : a;
|
|
200
315
|
/**
|
|
201
316
|
* The mandate this command signs: a standing `METRIK_AGENT_MANDATE_*` ceiling
|
|
@@ -324,15 +439,24 @@ export function explainPayFailure(error) {
|
|
|
324
439
|
case "X402PaymentRefusedError":
|
|
325
440
|
return new CliError(error.message, {
|
|
326
441
|
exitCode: 3,
|
|
327
|
-
hint: /
|
|
328
|
-
? "
|
|
329
|
-
:
|
|
442
|
+
hint: /maxUpfrontAmount/.test(error.message)
|
|
443
|
+
? "the quote's NON-REFUNDABLE upfront (per-call) charge is above your cap (--max-upfront, default 0.10 USDC). Raise --max-upfront only if you accept losing that much per call whatever is delivered. Nothing was signed."
|
|
444
|
+
: /exceeds maxAmount|exceeds maxRatePerSecond/.test(error.message)
|
|
445
|
+
? "that ceiling is your spend mandate's (--max-amount / --max-rate or METRIK_AGENT_MANDATE_*), handed to the SDK as a second gate. Nothing was signed."
|
|
446
|
+
: "the quote failed one of the SDK's protections (wrong network or token, unknown factory, payTo != factory.predict(terms), invalid upfront terms, not an opener payment, ...). Nothing was signed.",
|
|
330
447
|
cause: error,
|
|
331
448
|
});
|
|
332
449
|
case "X402PostSignatureError": {
|
|
333
450
|
// The signature was handed out: never say "nothing moved" unless the
|
|
334
451
|
// chain proves the authorization can never be used.
|
|
335
452
|
const post = error;
|
|
453
|
+
if (post.upfrontOnly && post.state === "used") {
|
|
454
|
+
return new CliError(error.message, {
|
|
455
|
+
exitCode: 4,
|
|
456
|
+
hint: "the money LEFT the payer as an upfront-only (minimum-charge) payment: the whole price was a non-refundable per-call charge and no stream was opened, so there is nothing to refund or reclaim. Keep this output as evidence if the response was not delivered (see docs/x402.md).",
|
|
457
|
+
cause: error,
|
|
458
|
+
});
|
|
459
|
+
}
|
|
336
460
|
const recover = post.streamId === null
|
|
337
461
|
? ""
|
|
338
462
|
: ` Recover the unearned part: metrik refund ${post.streamId} --refund-url <the seller's relay> --close --reclaim (or metrik reclaim ${post.streamId}).`;
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAWhD,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"reclaim.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/reclaim.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAkB,WAAW,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EACV,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAkB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAWhD,eAAO,MAAM,cAAc,EAAE,WA4O5B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAClD,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAO9C;AA0BD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,EACxC,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACpC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,OAAO,EAAE;IACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,uEAAuE;IACvE,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD,GACA,OAAO,CAAC,2BAA2B,CAAC,CAwBtC;AA6LD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,SAAS,GAAG,EAAE,CAAA;CAAE,GAAG,SAAS,EAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,MAAM,GAAG,IAAI,CAcf"}
|