@naulon/wayfarer 0.4.2 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -2
- package/dist/agent.js.map +1 -1
- package/dist/buyer.d.ts.map +1 -1
- package/dist/buyer.js +29 -0
- package/dist/buyer.js.map +1 -1
- package/dist/decide.d.ts +15 -1
- package/dist/decide.d.ts.map +1 -1
- package/dist/decide.js +48 -1
- package/dist/decide.js.map +1 -1
- package/dist/gateway.d.ts +47 -16
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +82 -8
- package/dist/gateway.js.map +1 -1
- package/dist/lib.d.ts +3 -3
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +8 -2
- package/dist/lib.js.map +1 -1
- package/dist/licenseStore.d.ts +22 -0
- package/dist/licenseStore.d.ts.map +1 -1
- package/dist/licenseStore.js +27 -1
- package/dist/licenseStore.js.map +1 -1
- package/dist/rail.d.ts.map +1 -1
- package/dist/rail.js +31 -10
- package/dist/rail.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
The paying agent. Give it a topic and a budget; it discovers tolled articles,
|
|
4
4
|
decides which are worth citing, pays only those, and answers from what it bought.
|
|
5
5
|
|
|
6
|
-
The point isn't automation for its own sake
|
|
6
|
+
The point isn't automation for its own sake. It is that the agent makes a real
|
|
7
7
|
budget decision at each step instead of paying for everything. It ranks candidates
|
|
8
8
|
by relevance-per-dollar, buys greedily under the budget down to a relevance floor,
|
|
9
9
|
reuses anything already paid for, and logs *why* for every candidate. The
|
|
@@ -29,10 +29,10 @@ with a funded buyer wallet to pay for real over Circle Gateway on Arc Network.
|
|
|
29
29
|
|
|
30
30
|
## What's inside
|
|
31
31
|
|
|
32
|
-
- **`discover.ts` / `discovery.ts
|
|
33
|
-
- **`appraise.ts` / `decide.ts` / `allocation.ts
|
|
34
|
-
- **`buyer.ts` / `gateway.ts
|
|
35
|
-
- **`agent.ts` / `lib.ts
|
|
32
|
+
- **`discover.ts` / `discovery.ts`**: find tollable candidates from a gate or feed.
|
|
33
|
+
- **`appraise.ts` / `decide.ts` / `allocation.ts`**: relevance, the pay or skip call, budget allocation.
|
|
34
|
+
- **`buyer.ts` / `gateway.ts`**: the x402 payment loop (mock and Circle Gateway).
|
|
35
|
+
- **`agent.ts` / `lib.ts`**: the end-to-end research run, also importable as a library.
|
|
36
36
|
|
|
37
37
|
Exposed as an MCP server by [`@naulon/wayfarer-mcp`](../wayfarer-mcp).
|
|
38
38
|
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -16,7 +16,7 @@ import { decide, DEFAULT_POLICY, payHostOf, payUrlOf, spendGate } from "./decide
|
|
|
16
16
|
import { makeLicenceResolver } from "./licence.js";
|
|
17
17
|
import { discover } from "./discover.js";
|
|
18
18
|
import { authorizeOrigin } from "./origin-policy.js";
|
|
19
|
-
import { decodeHeld, fileHeldStore, findHeld } from "./licenseStore.js";
|
|
19
|
+
import { decodeHeld, fileHeldStore, findHeld, heldKey } from "./licenseStore.js";
|
|
20
20
|
import { buildPopProof } from "./pop.js";
|
|
21
21
|
import { agentFetch } from "./sign.js";
|
|
22
22
|
import { getWallet } from "./wallet.js";
|
|
@@ -396,7 +396,9 @@ export async function run(topic, log = () => { }, opts = {}) {
|
|
|
396
396
|
if (decoded) {
|
|
397
397
|
// Persist the url actually paid alongside the license, so it travels with the
|
|
398
398
|
// held record (a slug-only re-read can then target the real link, not a template).
|
|
399
|
-
|
|
399
|
+
// Keyed by `jti` (`heldKey`), never by slug: two publishers sharing `about`/`faq`
|
|
400
|
+
// used to evict each other here, leaving one entry for two payments.
|
|
401
|
+
held.set(heldKey(decoded), { ...decoded, jws: result.license, url });
|
|
400
402
|
licenseId = decoded.jti;
|
|
401
403
|
links = proofLinksFor({ jti: decoded.jti, aud: decoded.aud, paidUrl: url });
|
|
402
404
|
// Save NOW, not only once after the loop (A1): a later candidate's re-read
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/buyer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer.d.ts","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"buyer.d.ts","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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"}
|
package/dist/buyer.js
CHANGED
|
@@ -129,6 +129,9 @@ export function classifySignerRefusal(errorText) {
|
|
|
129
129
|
case "insufficient_gateway_balance":
|
|
130
130
|
return { errorCode: "needs_topup", retryable: false };
|
|
131
131
|
case "funding_unreadable":
|
|
132
|
+
// Its twin one guard along: the amount already owed to the drain could not be read. Same shape
|
|
133
|
+
// (a store/RPC fault, nothing charged, not the buyer's fault) so it gets the same answer.
|
|
134
|
+
case "outstanding_unreadable":
|
|
132
135
|
// The balance could NOT be read (RPC / Gateway API fault) — not a shortfall and not the buyer's
|
|
133
136
|
// fault, so it must not render as "you are out of money". Nothing was charged. Deliberately not
|
|
134
137
|
// retryable despite being transient: one skipped citation is cheap, while an auto-retry loop
|
|
@@ -139,6 +142,14 @@ export function classifySignerRefusal(errorText) {
|
|
|
139
142
|
case "bad_from":
|
|
140
143
|
case "chain_mismatch":
|
|
141
144
|
case "payee_not_allowed":
|
|
145
|
+
// The SECOND payee guard, and the stricter one: `payee_not_allowed` is the buyer's own allowlist,
|
|
146
|
+
// `payee_not_owned` is the publisher-owner's authorized wallet set (PA-1) — a 402 naming a payTo
|
|
147
|
+
// no owner declared. It is the refusal that stops funds being redirected, so retrying it is the
|
|
148
|
+
// last thing anyone wants; left unlisted it was classified as a retryable blip and re-signed.
|
|
149
|
+
case "payee_not_owned":
|
|
150
|
+
// The fleet has no GatewayWallet configured for the chain this 402 advertised. Fleet config, not
|
|
151
|
+
// money and not luck — the identical 402 refuses identically until someone fixes the registry.
|
|
152
|
+
case "no_gateway_wallet":
|
|
142
153
|
// below_floor (the buyer's own spam floor) + nonce_reused (the nonce is committed to a DIFFERENT
|
|
143
154
|
// authorization) are equally deterministic — retrying the identical authorization only re-refuses.
|
|
144
155
|
// Left unrecognized they fell through to classifyPaymentError's retryable `rejected`, which is what
|
|
@@ -150,6 +161,24 @@ export function classifySignerRefusal(errorText) {
|
|
|
150
161
|
// remedy — acting on that advice means spending real money to satisfy a test. The fix is a
|
|
151
162
|
// session on the publisher's plane, which is config, exactly what this bucket is for.
|
|
152
163
|
case "cross_plane":
|
|
164
|
+
// `cross_plane` was RENAMED into two codes, and for a while only the old name was listed here —
|
|
165
|
+
// so both new ones fell through to `default: null`, then to `classifyPaymentError`, which matches
|
|
166
|
+
// no regex and answers the retryable `rejected`. A plane mismatch is the most deterministic
|
|
167
|
+
// refusal there is, and the caller re-signed it once per candidate. Measured in prod on
|
|
168
|
+
// 2026-09-11: one /ask run, one article, TWO identical "wrong_plane" skips in the recorded tape.
|
|
169
|
+
// Exactly the failure the below_floor/nonce_reused note above describes, reached by a rename
|
|
170
|
+
// rather than by an omission — which is why a code added on one side of this seam has to be added
|
|
171
|
+
// on the other in the same breath.
|
|
172
|
+
// wrong_plane — the buyer HAS a wallet that can pay here; this one is on the other plane.
|
|
173
|
+
// no_wallet_on_plane — the buyer has none on the publisher's plane; making one is the remedy.
|
|
174
|
+
case "wrong_plane":
|
|
175
|
+
case "no_wallet_on_plane":
|
|
176
|
+
// The wallet cannot sign at all: no signer key yet (`no_signer`), or the row went away underneath
|
|
177
|
+
// the spend — a retire racing a payment (`wallet_unavailable`). Config and lifecycle, not money,
|
|
178
|
+
// so neither is `needs_topup`; and neither is fixed by asking again inside the same run. These
|
|
179
|
+
// two replaced `no_session`, which is kept above for gates that still emit it.
|
|
180
|
+
case "no_signer":
|
|
181
|
+
case "wallet_unavailable":
|
|
153
182
|
return { errorCode: "rejected", retryable: false };
|
|
154
183
|
default:
|
|
155
184
|
return null;
|
package/dist/buyer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"buyer.js","sourceRoot":"","sources":["../src/buyer.ts"],"names":[],"mappings":"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"}
|
package/dist/decide.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* case) — it maximizes total relevance bought per dollar without the overhead of
|
|
13
13
|
* solving a knapsack for sub-cent items.
|
|
14
14
|
*/
|
|
15
|
-
import type { RslTermsForUrl } from "@naulon/sdk/rsl";
|
|
15
|
+
import type { RslTermsForUrl, RslUserClass } from "@naulon/sdk/rsl";
|
|
16
16
|
/**
|
|
17
17
|
* What the agent knows about one URL's published terms — the resolved terms, plus whether the
|
|
18
18
|
* licence-server obligation (if any) has actually been DISCHARGED.
|
|
@@ -76,6 +76,20 @@ export interface DecisionPolicy {
|
|
|
76
76
|
* promise the publisher made in public.
|
|
77
77
|
*/
|
|
78
78
|
licenceOverchargeTolerance?: number;
|
|
79
|
+
/**
|
|
80
|
+
* What this buyer IS, in RSL 1.0's `<permits type="user">` vocabulary.
|
|
81
|
+
*
|
|
82
|
+
* Undeclared by default, and that has teeth: a document that restricts its grant to named
|
|
83
|
+
* classes has not granted anything to a buyer who cannot say which class they are, so the read
|
|
84
|
+
* is refused rather than paid for. Declaring it falsely is the operator's own exposure, which
|
|
85
|
+
* is exactly where that decision belongs.
|
|
86
|
+
*/
|
|
87
|
+
userClass?: RslUserClass;
|
|
88
|
+
/**
|
|
89
|
+
* Where this buyer operates, ISO 3166-1 alpha-2. Same rule as {@link userClass}: a document
|
|
90
|
+
* naming permitted regions has granted nothing to a buyer with no region to check against.
|
|
91
|
+
*/
|
|
92
|
+
region?: string;
|
|
79
93
|
}
|
|
80
94
|
/** Runtime state injected into `decide()` that can't be known from the candidates alone. */
|
|
81
95
|
export interface DecideContext {
|
package/dist/decide.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|
package/dist/decide.js
CHANGED
|
@@ -77,11 +77,58 @@ export function spendGate(input) {
|
|
|
77
77
|
const verdict = input.licence;
|
|
78
78
|
const licence = verdict?.terms;
|
|
79
79
|
if (verdict && licence) {
|
|
80
|
+
const scope = licence.scopes[0] ?? "/";
|
|
80
81
|
if (licence.usage["ai-input"] === false) {
|
|
81
82
|
return {
|
|
82
83
|
ok: false,
|
|
83
84
|
action: "skip",
|
|
84
|
-
reason: `publisher's licence prohibits ai-input for this url (RSL scope ${
|
|
85
|
+
reason: `publisher's licence prohibits ai-input for this url (RSL scope ${scope})`,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
// Silence is not permission. A document that GOVERNS this url and never grants `ai-input` has
|
|
89
|
+
// not sold the read, so paying buys a receipt and no right. This is deliberately not the same
|
|
90
|
+
// as having no document at all: with nothing published, the 402 is the only term there is and
|
|
91
|
+
// it still governs, which is why `licences` carries null for those urls rather than an empty
|
|
92
|
+
// verdict.
|
|
93
|
+
if (licence.usage["ai-input"] !== true) {
|
|
94
|
+
return {
|
|
95
|
+
ok: false,
|
|
96
|
+
action: "skip",
|
|
97
|
+
reason: `publisher's licence covers this url (RSL scope ${scope}) and does not grant ai-input — silence is not permission`,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// WHO the grant is addressed to. The parser has always collected this and nothing read it, so
|
|
101
|
+
// "not for commercial use" resolved to an ordinary priced read.
|
|
102
|
+
const klass = policy.userClass;
|
|
103
|
+
if (klass !== undefined && licence.user[klass] === false) {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
action: "skip",
|
|
107
|
+
reason: `publisher's licence prohibits ${klass} use for this url (RSL scope ${scope})`,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
const named = Object.entries(licence.user).filter(([, v]) => v === true).map(([k]) => k);
|
|
111
|
+
if (named.length > 0 && (klass === undefined || licence.user[klass] !== true)) {
|
|
112
|
+
return {
|
|
113
|
+
ok: false,
|
|
114
|
+
action: "skip",
|
|
115
|
+
reason: klass === undefined
|
|
116
|
+
? `publisher grants this url to ${named.join(", ")} only and no userClass is declared`
|
|
117
|
+
: `publisher grants this url to ${named.join(", ")} only, not to ${klass}`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
// WHERE. Deny first, for the same reason prohibition wins everywhere else here.
|
|
121
|
+
const region = policy.region?.trim().toUpperCase() || undefined;
|
|
122
|
+
if (region !== undefined && licence.geo.deny.includes(region)) {
|
|
123
|
+
return { ok: false, action: "skip", reason: `publisher's licence excludes ${region} for this url (RSL scope ${scope})` };
|
|
124
|
+
}
|
|
125
|
+
if (licence.geo.allow.length > 0 && (region === undefined || !licence.geo.allow.includes(region))) {
|
|
126
|
+
return {
|
|
127
|
+
ok: false,
|
|
128
|
+
action: "skip",
|
|
129
|
+
reason: region === undefined
|
|
130
|
+
? `publisher grants this url in ${licence.geo.allow.join(", ")} only and no region is declared`
|
|
131
|
+
: `publisher grants this url in ${licence.geo.allow.join(", ")} only, not ${region}`,
|
|
85
132
|
};
|
|
86
133
|
}
|
|
87
134
|
// RSL: with `content@server` set, a client MUST obtain the licence from that server —
|
package/dist/decide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../src/decide.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.d.ts
CHANGED
|
@@ -32,15 +32,39 @@ import { type Buyer, type Quoted } from "./buyer.ts";
|
|
|
32
32
|
*/
|
|
33
33
|
export interface GatewaySigner {
|
|
34
34
|
address: `0x${string}`;
|
|
35
|
-
signTypedData(args: {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
35
|
+
signTypedData(args: GatewayTypedDataArgs): Promise<`0x${string}`>;
|
|
36
|
+
/**
|
|
37
|
+
* Sign EVERY leg of one multi-leg toll in a single call — the gateway twin of `MemoSigner`'s
|
|
38
|
+
* `signTypedDataBatch`, and the reason it exists is the same.
|
|
39
|
+
*
|
|
40
|
+
* A hosted signer does not merely sign: it debits a spending grant, and it enforces the buyer's
|
|
41
|
+
* per-read ceilings. Asked one leg at a time it can only ever reason about one leg. So a two-leg
|
|
42
|
+
* toll (author + operator fee) was debited twice, independently — and the moment a sibling leg
|
|
43
|
+
* tripped a ceiling, the author leg was ALREADY debited and signed while no payment went out at
|
|
44
|
+
* all. The buyer's own "never pay more than $X for one read" also degraded to a per-leg bound,
|
|
45
|
+
* which an author leg at $X plus a fee leg above it walks straight through.
|
|
46
|
+
*
|
|
47
|
+
* OPTIONAL, and every caller must fall back to `signTypedData` per leg when it is absent: a viem
|
|
48
|
+
* `PrivateKeyAccount` satisfies this interface and has no such method, and the self-host/CLI path
|
|
49
|
+
* has no grant to protect. Adding it must never make a plain account unusable.
|
|
50
|
+
*
|
|
51
|
+
* Contract: one signature per element, index-aligned to `argsList`, or a THROW that signs
|
|
52
|
+
* nothing. A partial result is what the whole method exists to prevent, so returning fewer
|
|
53
|
+
* signatures than legs is a bug in the implementation, not a state a caller handles.
|
|
54
|
+
*/
|
|
55
|
+
signTypedDataBatch?(argsList: GatewayTypedDataArgs[]): Promise<`0x${string}`[]>;
|
|
56
|
+
}
|
|
57
|
+
/** The typed data a Gateway leg is signed over — `TransferWithAuthorization` against the
|
|
58
|
+
* GatewayWallet EIP-712 domain, as `BatchEvmScheme` builds it. Named so the batch method above and
|
|
59
|
+
* the single one cannot drift apart. */
|
|
60
|
+
export interface GatewayTypedDataArgs {
|
|
61
|
+
domain: TypedDataDomain;
|
|
62
|
+
types: Record<string, Array<{
|
|
63
|
+
name: string;
|
|
64
|
+
type: string;
|
|
65
|
+
}>>;
|
|
66
|
+
primaryType: string;
|
|
67
|
+
message: Record<string, unknown>;
|
|
44
68
|
}
|
|
45
69
|
/** The 402's author accept, with the Gateway batching `extra` the envelope needs. `probe`
|
|
46
70
|
* keeps the runtime object verbatim on `quoted.requirements`; the type there is narrowed to
|
|
@@ -58,6 +82,16 @@ export type BatchingRequirements = Quoted["requirements"] & {
|
|
|
58
82
|
* `gatewayLegPayload` shape. Wraps the SDK's `BatchEvmScheme` so the domain / validity clamp
|
|
59
83
|
* never drifts from the rail. SDK loaded lazily so the mock path never pulls it in. */
|
|
60
84
|
export declare function gatewayLegPayload(signer: GatewaySigner, quoted: Quoted, x402Version: number): Promise<Record<string, unknown>>;
|
|
85
|
+
/**
|
|
86
|
+
* Sign every leg of a multi-leg Gateway toll through ONE call to a batch-capable signer.
|
|
87
|
+
*
|
|
88
|
+
* Exported for `rail.ts`, which is the only caller — kept here beside `gatewayLegPayload` so the
|
|
89
|
+
* single-leg and multi-leg paths share the SDK wrapper, the guards and the placeholder machinery
|
|
90
|
+
* rather than growing a second copy in another file.
|
|
91
|
+
*/
|
|
92
|
+
export declare function gatewayLegPayloadsBatched(signer: GatewaySigner & {
|
|
93
|
+
signTypedDataBatch: NonNullable<GatewaySigner["signTypedDataBatch"]>;
|
|
94
|
+
}, legQuotes: Quoted[], x402Version: number): Promise<Record<string, unknown>[]>;
|
|
61
95
|
export declare function gatewayBuyer(signer?: GatewaySigner): Buyer;
|
|
62
96
|
/**
|
|
63
97
|
* The `GatewayClient` constructor config for a chain + key. Pure + exported for direct
|
|
@@ -65,17 +99,14 @@ export declare function gatewayBuyer(signer?: GatewaySigner): Buyer;
|
|
|
65
99
|
* sites below all build their client through `newGatewayClient`, so this IS the config
|
|
66
100
|
* that runs, not a parallel copy.
|
|
67
101
|
*
|
|
68
|
-
* `
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* funding calls behaving exactly as they did on 3.2.0, and — unlike the old default —
|
|
73
|
-
* says so out loud at a spot a reader can find.
|
|
102
|
+
* It used to add `X-ARC-PRIVATE-MAINNET-ENABLED` on Arc, restoring by hand the default SDK 3.2.0
|
|
103
|
+
* applied and 3.3.0 deleted. Arc mainnet went public on 2026-09-16, which retired the opt-in
|
|
104
|
+
* itself: measured that day, the Gateway API answers an Arc (domain 26) balances call identically
|
|
105
|
+
* with the header and without it. So the config is the two fields the SDK needs and nothing else.
|
|
74
106
|
*/
|
|
75
107
|
export declare function gatewayClientConfig(chain: SupportedChainName, privateKey: Hex): {
|
|
76
108
|
chain: SupportedChainName;
|
|
77
109
|
privateKey: Hex;
|
|
78
|
-
headers: Record<string, string>;
|
|
79
110
|
};
|
|
80
111
|
/** Options for a standalone out-of-band Gateway deposit. */
|
|
81
112
|
export interface GatewayDepositOpts {
|
package/dist/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAGpE,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACf,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAIL,KAAK,KAAK,EAGV,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAGpB;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/gateway.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* deposits via the SDK `GatewayClient` for backwards compatibility.
|
|
21
21
|
*/
|
|
22
22
|
import {} from "viem";
|
|
23
|
-
import { activeNetwork,
|
|
23
|
+
import { activeNetwork, getConfig } from "@naulon/shared";
|
|
24
24
|
import { classifyPaymentError, classifySignerRefusal, probe, } from "./buyer.js";
|
|
25
25
|
import { runPaidFetch } from "./paidFetch.js";
|
|
26
26
|
function envAccountKey() {
|
|
@@ -58,6 +58,82 @@ export async function gatewayLegPayload(signer, quoted, x402Version) {
|
|
|
58
58
|
const signed = await scheme.createPaymentPayload(x402Version, requirements);
|
|
59
59
|
return { ...signed, resource: quoted.resource, accepted: requirements };
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* A signature-shaped placeholder, swapped out before anything sees it.
|
|
63
|
+
*
|
|
64
|
+
* 65 bytes of `0x11…` with a v of 27 — structurally a signature, recoverable to nobody. It exists
|
|
65
|
+
* only inside {@link buildLegPayloadsForBatch}, between the SDK building a leg's authorization and
|
|
66
|
+
* the real signer signing all of them together. Deliberately not zeroes: a run of zeroes is what a
|
|
67
|
+
* missing value looks like, and if a bug ever let one of these escape, `0x1111…` in a payment
|
|
68
|
+
* payload is unmistakably a placeholder while `0x0000…` reads as an empty field.
|
|
69
|
+
*/
|
|
70
|
+
const PLACEHOLDER_SIGNATURE = `0x${"11".repeat(64)}1b`;
|
|
71
|
+
/**
|
|
72
|
+
* Build every leg's payload WITHOUT signing, and hand back the typed data each one needs.
|
|
73
|
+
*
|
|
74
|
+
* ## Why this shape
|
|
75
|
+
*
|
|
76
|
+
* `BatchEvmScheme.createPaymentPayload` builds the authorization (nonce, the validity clamp, the
|
|
77
|
+
* GatewayWallet domain) and signs it in one step — there is no "give me the typed data" entry
|
|
78
|
+
* point. Reconstructing the authorization ourselves to get at it would fork the shape away from the
|
|
79
|
+
* rail, which is the exact drift `gatewayLegPayload` wraps the SDK to prevent.
|
|
80
|
+
*
|
|
81
|
+
* So the SDK keeps building, and a COLLECTING signer stands in for the real one: it records the
|
|
82
|
+
* typed data it is asked to sign and returns {@link PLACEHOLDER_SIGNATURE}. The caller then signs
|
|
83
|
+
* all of the collected typed data in one call and substitutes the results back, index-aligned. The
|
|
84
|
+
* SDK still owns every byte of the authorization; only the moment of signing moves.
|
|
85
|
+
*
|
|
86
|
+
* Returns the payloads with placeholder signatures and the typed data in the SAME order, so the
|
|
87
|
+
* substitution is positional and cannot mis-pair a signature with another leg's authorization.
|
|
88
|
+
*/
|
|
89
|
+
async function buildLegPayloadsForBatch(signerAddress, legQuotes, x402Version) {
|
|
90
|
+
const typedData = [];
|
|
91
|
+
const collector = {
|
|
92
|
+
address: signerAddress,
|
|
93
|
+
async signTypedData(args) {
|
|
94
|
+
typedData.push(args);
|
|
95
|
+
return PLACEHOLDER_SIGNATURE;
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
const payloads = [];
|
|
99
|
+
for (const legQuote of legQuotes) {
|
|
100
|
+
// Through `gatewayLegPayload`, not around it: its two pre-sign guards (single-leg shape, and
|
|
101
|
+
// "this really is a GatewayWalletBatched option") must run on every leg here exactly as they do
|
|
102
|
+
// on the single-leg path. Each leg is already narrowed to its own one-leg quote by the caller.
|
|
103
|
+
payloads.push(await gatewayLegPayload(collector, legQuote, x402Version));
|
|
104
|
+
// ONE authorization per leg, checked AS EACH LEG IS BUILT rather than only in total. A total-only
|
|
105
|
+
// check passes an SDK that signed twice for one leg and not at all for another — the counts
|
|
106
|
+
// match and every payload is paired with the wrong signature, which no later check can see.
|
|
107
|
+
if (typedData.length !== payloads.length) {
|
|
108
|
+
throw new Error(`gateway batch: leg ${payloads.length - 1} produced ${typedData.length - (payloads.length - 1)} authorization(s), expected exactly 1`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (typedData.length !== legQuotes.length) {
|
|
112
|
+
// One authorization per leg, or we do not know which signature belongs to which leg. An SDK
|
|
113
|
+
// that signed twice for one leg, or not at all, must fail loudly here rather than produce a
|
|
114
|
+
// payment whose legs are mis-paired.
|
|
115
|
+
throw new Error(`gateway batch: expected ${legQuotes.length} authorization(s) to sign, the SDK produced ${typedData.length}`);
|
|
116
|
+
}
|
|
117
|
+
return { payloads, typedData };
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Sign every leg of a multi-leg Gateway toll through ONE call to a batch-capable signer.
|
|
121
|
+
*
|
|
122
|
+
* Exported for `rail.ts`, which is the only caller — kept here beside `gatewayLegPayload` so the
|
|
123
|
+
* single-leg and multi-leg paths share the SDK wrapper, the guards and the placeholder machinery
|
|
124
|
+
* rather than growing a second copy in another file.
|
|
125
|
+
*/
|
|
126
|
+
export async function gatewayLegPayloadsBatched(signer, legQuotes, x402Version) {
|
|
127
|
+
const { payloads, typedData } = await buildLegPayloadsForBatch(signer.address, legQuotes, x402Version);
|
|
128
|
+
const signatures = await signer.signTypedDataBatch(typedData);
|
|
129
|
+
if (signatures.length !== typedData.length) {
|
|
130
|
+
throw new Error(`gateway batch: signer returned ${signatures.length} signature(s) for ${typedData.length} leg(s)`);
|
|
131
|
+
}
|
|
132
|
+
return payloads.map((p, i) => {
|
|
133
|
+
const inner = p.payload;
|
|
134
|
+
return { ...p, payload: { ...inner, signature: signatures[i] } };
|
|
135
|
+
});
|
|
136
|
+
}
|
|
61
137
|
export function gatewayBuyer(signer) {
|
|
62
138
|
const cfg = getConfig();
|
|
63
139
|
// Resolve the signer once. An injected signer NEVER reads BUYER_PRIVATE_KEY (the whole point
|
|
@@ -121,15 +197,13 @@ export function gatewayBuyer(signer) {
|
|
|
121
197
|
* sites below all build their client through `newGatewayClient`, so this IS the config
|
|
122
198
|
* that runs, not a parallel copy.
|
|
123
199
|
*
|
|
124
|
-
* `
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* funding calls behaving exactly as they did on 3.2.0, and — unlike the old default —
|
|
129
|
-
* says so out loud at a spot a reader can find.
|
|
200
|
+
* It used to add `X-ARC-PRIVATE-MAINNET-ENABLED` on Arc, restoring by hand the default SDK 3.2.0
|
|
201
|
+
* applied and 3.3.0 deleted. Arc mainnet went public on 2026-09-16, which retired the opt-in
|
|
202
|
+
* itself: measured that day, the Gateway API answers an Arc (domain 26) balances call identically
|
|
203
|
+
* with the header and without it. So the config is the two fields the SDK needs and nothing else.
|
|
130
204
|
*/
|
|
131
205
|
export function gatewayClientConfig(chain, privateKey) {
|
|
132
|
-
return { chain, privateKey
|
|
206
|
+
return { chain, privateKey };
|
|
133
207
|
}
|
|
134
208
|
/** One owner for every `GatewayClient` construction in this module: the lazy SDK import
|
|
135
209
|
* (so the mock/memo paths never pull the SDK in) plus `gatewayClientConfig`. Six wrappers
|
package/dist/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAgD,MAAM,MAAM,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts
CHANGED
|
@@ -18,11 +18,11 @@ export { discover } from "./discover.ts";
|
|
|
18
18
|
export { resolvedDiscoverySourceUrl } from "./discovery.ts";
|
|
19
19
|
export { appraise, buildAppraisePrompt, evidenceLine, parseRelevance } from "./appraise.ts";
|
|
20
20
|
export type { AppraisalSubject, AppraisePromptOptions } from "./appraise.ts";
|
|
21
|
-
export { probe, probePrice, probeFailure, assemblePayment, rereadWithLicense, selectBuyer, quotedTotalAtomic, tollMovedOrNull, classifyPaymentError, } from "./buyer.ts";
|
|
21
|
+
export { probe, probePrice, probeFailure, assemblePayment, rereadWithLicense, selectBuyer, quotedTotalAtomic, tollMovedOrNull, classifyPaymentError, classifySignerRefusal, } from "./buyer.ts";
|
|
22
22
|
export type { Buyer, Quoted, LegRequirements, Fetched, FetchErrorCode, PayGuard, ProbeOutcome } from "./buyer.ts";
|
|
23
23
|
export { mockBuyer } from "./pay.ts";
|
|
24
24
|
export { gatewayBuyer, gatewayDeposit, gatewayWithdraw, gatewayBalances, gatewayTransferStatus, gatewayTransfers, classifyGatewaySettlement, } from "./gateway.ts";
|
|
25
|
-
export type { GatewaySigner, GatewayDepositOpts, GatewaySettlementState } from "./gateway.ts";
|
|
25
|
+
export type { GatewaySigner, GatewayTypedDataArgs, GatewayDepositOpts, GatewaySettlementState } from "./gateway.ts";
|
|
26
26
|
export { memoBuyer, signMemoPayment, assembleMemoPayment } from "./memo.ts";
|
|
27
27
|
export type { MemoSigner, MemoTypedData } from "./memo.ts";
|
|
28
28
|
export { railBuyer, assembleRailPayment } from "./rail.ts";
|
|
@@ -36,7 +36,7 @@ export { authorizeOrigin } from "./origin-policy.ts";
|
|
|
36
36
|
export type { OriginRequest, OriginVerdict, PayableTarget } from "./origin-policy.ts";
|
|
37
37
|
export { allocateByContribution } from "./allocation.ts";
|
|
38
38
|
export type { SourceAllocation } from "./allocation.ts";
|
|
39
|
-
export { decodeHeld, fileHeldStore, findHeld, isLive, loadHeld, memoryHeldStore, saveHeld } from "./licenseStore.ts";
|
|
39
|
+
export { decodeHeld, fileHeldStore, findHeld, heldKey, isLive, loadHeld, memoryHeldStore, saveHeld } from "./licenseStore.ts";
|
|
40
40
|
export type { HeldLicense, HeldStore } from "./licenseStore.ts";
|
|
41
41
|
export { buildPopProof } from "./pop.ts";
|
|
42
42
|
export { getWallet } from "./wallet.ts";
|
package/dist/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAMrD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGnI,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5F,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.js
CHANGED
|
@@ -24,7 +24,13 @@ export { resolvedDiscoverySourceUrl } from "./discovery.js";
|
|
|
24
24
|
// ── appraise ────────────────────────────────────────────────────────────────
|
|
25
25
|
export { appraise, buildAppraisePrompt, evidenceLine, parseRelevance } from "./appraise.js";
|
|
26
26
|
// ── quote + pay (the Buyer seam) ────────────────────────────────────────────
|
|
27
|
-
export { probe, probePrice, probeFailure, assemblePayment, rereadWithLicense, selectBuyer, quotedTotalAtomic, tollMovedOrNull, classifyPaymentError,
|
|
27
|
+
export { probe, probePrice, probeFailure, assemblePayment, rereadWithLicense, selectBuyer, quotedTotalAtomic, tollMovedOrNull, classifyPaymentError,
|
|
28
|
+
// Public because it is a CONTRACT, not a helper: it decides whether a signer's refusal is terminal
|
|
29
|
+
// or gets re-signed, and the codes it switches on are minted by whoever implements the signer — not
|
|
30
|
+
// by this package. A host that adds or renames a refusal code and does not add it here has its
|
|
31
|
+
// deterministic refusal silently reclassified as a retryable blip and paid for twice. Exported so a
|
|
32
|
+
// host can assert the two halves agree, instead of finding out in production.
|
|
33
|
+
classifySignerRefusal, } from "./buyer.js";
|
|
28
34
|
export { mockBuyer } from "./pay.js";
|
|
29
35
|
export { gatewayBuyer, gatewayDeposit, gatewayWithdraw, gatewayBalances, gatewayTransferStatus, gatewayTransfers, classifyGatewaySettlement, } from "./gateway.js";
|
|
30
36
|
export { memoBuyer, signMemoPayment, assembleMemoPayment } from "./memo.js";
|
|
@@ -44,7 +50,7 @@ export { authorizeOrigin } from "./origin-policy.js";
|
|
|
44
50
|
// ── cross-source allocation (buyer-side citation-reward policy) ──────────────
|
|
45
51
|
export { allocateByContribution } from "./allocation.js";
|
|
46
52
|
// ── citation licenses (pay once, re-read free) ──────────────────────────────
|
|
47
|
-
export { decodeHeld, fileHeldStore, findHeld, isLive, loadHeld, memoryHeldStore, saveHeld } from "./licenseStore.js";
|
|
53
|
+
export { decodeHeld, fileHeldStore, findHeld, heldKey, isLive, loadHeld, memoryHeldStore, saveHeld } from "./licenseStore.js";
|
|
48
54
|
export { buildPopProof } from "./pop.js";
|
|
49
55
|
// ── wallet ──────────────────────────────────────────────────────────────────
|
|
50
56
|
export { getWallet } from "./wallet.js";
|
package/dist/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnI,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG5F,+EAA+E;AAC/E,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,oBAAoB,
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,8EAA8E;AAC9E,4EAA4E;AAC5E,4EAA4E;AAC5E,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEnI,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG5F,+EAA+E;AAC/E,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,oBAAoB;AACpB,mGAAmG;AACnG,oGAAoG;AACpG,+FAA+F;AAC/F,oGAAoG;AACpG,8EAA8E;AAC9E,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAG3D,+EAA+E;AAC/E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG3E,gFAAgF;AAChF,kFAAkF;AAClF,mFAAmF;AACnF,wEAAwE;AACxE,mGAAmG;AACnG,qFAAqF;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,wFAAwF;AACxF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,gFAAgF;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,+EAA+E;AAC/E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE9H,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/licenseStore.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export interface HeldLicense {
|
|
|
16
16
|
scope?: {
|
|
17
17
|
patterns: string[];
|
|
18
18
|
};
|
|
19
|
+
/** The RSL usage terms this payment executed (`ai-input` for a per-read toll) — WHAT THE
|
|
20
|
+
* HOLDER MAY DO with the bytes. Absent on licences minted before tolls stated their terms;
|
|
21
|
+
* a consumer reads absent as the same default grounding right, never as "no rights". */
|
|
22
|
+
terms?: string[];
|
|
19
23
|
/** The canonical URL this source was actually PAID at — captured at pay time so a
|
|
20
24
|
* later `read_held` re-fetches the exact link (`/articles/<slug>`, a custom domain,
|
|
21
25
|
* whatever the publisher serves) instead of reconstructing a `/essays/<slug>`
|
|
@@ -24,6 +28,24 @@ export interface HeldLicense {
|
|
|
24
28
|
* decoded token — it's the buyer's own bookkeeping, so `decodeHeld` never sets it. */
|
|
25
29
|
url?: string;
|
|
26
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* The key a held licence is filed under: its `jti`, never its slug.
|
|
33
|
+
*
|
|
34
|
+
* Slug was the original key and it EVICTS ACROSS PUBLISHERS. `about`, `faq`, `index` and `privacy`
|
|
35
|
+
* are not rare; two independently-run sites share one, and the second purchase silently overwrote
|
|
36
|
+
* the first licence's entry — one row for two payments, with the survivor bound (by `aud`) to only
|
|
37
|
+
* one of them. The buyer then re-paid for the evicted one, which is the double-charge this store
|
|
38
|
+
* exists to prevent. Measured in prod on 2026-09-10.
|
|
39
|
+
*
|
|
40
|
+
* `jti` is the gate's own unique identifier for the licence, so one entry is one purchase. Nothing
|
|
41
|
+
* reads the map by key — `findHeld` scans values and decides coverage with `licenseCoversPath` —
|
|
42
|
+
* so the key's only job is to keep two purchases from colliding, and a slug cannot do it.
|
|
43
|
+
*
|
|
44
|
+
* A re-buy of the SAME slug therefore adds an entry rather than replacing one. That is correct:
|
|
45
|
+
* they are two purchases. Expired entries are pruned by the backing store (the hosted one) or
|
|
46
|
+
* simply ignored by `isLive` (the file one).
|
|
47
|
+
*/
|
|
48
|
+
export declare const heldKey: (held: Pick<HeldLicense, "jti">) => string;
|
|
27
49
|
/**
|
|
28
50
|
* Decode a token's `jti`, `exp`, and `naulon.slug/title` WITHOUT verifying — this
|
|
29
51
|
* is the agent reading its own captured receipt for bookkeeping, not trusting a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"licenseStore.d.ts","sourceRoot":"","sources":["../src/licenseStore.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ;2DACuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ;uEACmE;IACnE,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/B;;;;;0FAKsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"licenseStore.d.ts","sourceRoot":"","sources":["../src/licenseStore.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ;2DACuD;IACvD,GAAG,EAAE,OAAO,CAAC;IACb,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ;uEACmE;IACnE,KAAK,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/B;;6FAEyF;IACzF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;;0FAKsF;IACtF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,KAAG,MAAkB,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,IAAI,CAqCvE;AAED,oEAAoE;AACpE,wBAAgB,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,EAC3B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAClD,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,IAAI,CAqCpB;AAED,wBAAsB,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAYlE;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAED,gFAAgF;AAChF,eAAO,MAAM,aAAa,EAAE,SAA8C,CAAC;AAE3E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,SAAS,CAS1F"}
|
package/dist/licenseStore.js
CHANGED
|
@@ -8,6 +8,24 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
|
8
8
|
import { dirname } from "node:path";
|
|
9
9
|
import { getConfig, licenseCoversPath } from "@naulon/shared";
|
|
10
10
|
const file = () => getConfig().WAYFARER_LICENSE_PATH;
|
|
11
|
+
/**
|
|
12
|
+
* The key a held licence is filed under: its `jti`, never its slug.
|
|
13
|
+
*
|
|
14
|
+
* Slug was the original key and it EVICTS ACROSS PUBLISHERS. `about`, `faq`, `index` and `privacy`
|
|
15
|
+
* are not rare; two independently-run sites share one, and the second purchase silently overwrote
|
|
16
|
+
* the first licence's entry — one row for two payments, with the survivor bound (by `aud`) to only
|
|
17
|
+
* one of them. The buyer then re-paid for the evicted one, which is the double-charge this store
|
|
18
|
+
* exists to prevent. Measured in prod on 2026-09-10.
|
|
19
|
+
*
|
|
20
|
+
* `jti` is the gate's own unique identifier for the licence, so one entry is one purchase. Nothing
|
|
21
|
+
* reads the map by key — `findHeld` scans values and decides coverage with `licenseCoversPath` —
|
|
22
|
+
* so the key's only job is to keep two purchases from colliding, and a slug cannot do it.
|
|
23
|
+
*
|
|
24
|
+
* A re-buy of the SAME slug therefore adds an entry rather than replacing one. That is correct:
|
|
25
|
+
* they are two purchases. Expired entries are pruned by the backing store (the hosted one) or
|
|
26
|
+
* simply ignored by `isLive` (the file one).
|
|
27
|
+
*/
|
|
28
|
+
export const heldKey = (held) => held.jti;
|
|
11
29
|
/**
|
|
12
30
|
* Decode a token's `jti`, `exp`, and `naulon.slug/title` WITHOUT verifying — this
|
|
13
31
|
* is the agent reading its own captured receipt for bookkeeping, not trusting a
|
|
@@ -31,9 +49,14 @@ export function decodeHeld(jws) {
|
|
|
31
49
|
if (grant !== undefined && grant !== "read")
|
|
32
50
|
return null;
|
|
33
51
|
const patterns = claims.naulon.scope?.patterns;
|
|
52
|
+
// The TERMS the payment executed. Carried because the holder is the party that needs to act
|
|
53
|
+
// on them: an agent with bytes and no statement of rights guesses, and guesses the most
|
|
54
|
+
// restrictive thing it can — which is how a buyer was refused an article they had paid for.
|
|
55
|
+
const terms = claims.naulon.terms;
|
|
34
56
|
return {
|
|
35
57
|
slug: claims.naulon.slug,
|
|
36
58
|
title: claims.naulon.title ?? claims.naulon.slug,
|
|
59
|
+
...(Array.isArray(terms) ? { terms: terms.filter((x) => typeof x === "string") } : {}),
|
|
37
60
|
...(Array.isArray(patterns) ? { scope: { patterns: patterns.filter((x) => typeof x === "string") } } : {}),
|
|
38
61
|
jti: claims.jti,
|
|
39
62
|
exp: claims.exp,
|
|
@@ -111,7 +134,10 @@ export async function loadHeld() {
|
|
|
111
134
|
try {
|
|
112
135
|
const raw = await readFile(file(), "utf8");
|
|
113
136
|
const arr = JSON.parse(raw);
|
|
114
|
-
|
|
137
|
+
// Keyed by `jti` on load, whatever the file was written with: the on-disk shape is a flat ARRAY
|
|
138
|
+
// of licences, so a store written under the old slug key re-keys itself here with no migration.
|
|
139
|
+
// The only loss is the eviction that already happened before the file was written.
|
|
140
|
+
return new Map(arr.map((h) => [heldKey(h), h]));
|
|
115
141
|
}
|
|
116
142
|
catch (err) {
|
|
117
143
|
if (err.code === "ENOENT")
|
package/dist/licenseStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"licenseStore.js","sourceRoot":"","sources":["../src/licenseStore.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"licenseStore.js","sourceRoot":"","sources":["../src/licenseStore.ts"],"names":[],"mappings":"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"}
|
package/dist/rail.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../src/rail.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAIL,KAAK,KAAK,EAGV,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"rail.d.ts","sourceRoot":"","sources":["../src/rail.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAIL,KAAK,KAAK,EAGV,KAAK,MAAM,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAA2E,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3H,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAmBD;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB9G;AAqED,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,CA0BrD"}
|
package/dist/rail.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { classifyPaymentError, classifySignerRefusal, probe, } from "./buyer.js";
|
|
11
11
|
import { runPaidFetch } from "./paidFetch.js";
|
|
12
12
|
import { assembleMemoPayment } from "./memo.js";
|
|
13
|
-
import { gatewayLegPayload } from "./gateway.js";
|
|
13
|
+
import { gatewayLegPayload, gatewayLegPayloadsBatched } from "./gateway.js";
|
|
14
14
|
import { networkByCaip2, supportsMemo } from "@naulon/shared";
|
|
15
15
|
/** Pick the rail the GATE will settle this 402 on — which is now Circle Gateway on EVERY chain.
|
|
16
16
|
*
|
|
@@ -79,21 +79,42 @@ export async function assembleRailPayment(quoted, nowMs, signers) {
|
|
|
79
79
|
* A single-leg quote returns the bare envelope, not a one-element array: that is the shape stock
|
|
80
80
|
* x402 clients send and the gate still accepts either, so there is no reason to change what the
|
|
81
81
|
* common case puts on the wire.
|
|
82
|
+
*
|
|
83
|
+
* ## Why a batch-capable signer takes a different path
|
|
84
|
+
*
|
|
85
|
+
* The loop above signs each leg through a SEPARATE call, and for a plain key that is nothing — the
|
|
86
|
+
* same account signs N times. For a HOSTED signer it is not nothing: signing there also debits a
|
|
87
|
+
* spending grant and enforces the buyer's per-read ceilings, and a signer asked one leg at a time
|
|
88
|
+
* can only reason about one leg. Two independent debits for one toll, and the moment a sibling leg
|
|
89
|
+
* trips a ceiling the author leg is already debited and signed while this function throws and NO
|
|
90
|
+
* payment goes out at all. The buyer's "never pay more than $X for one read" degrades to a per-leg
|
|
91
|
+
* bound in the same move.
|
|
92
|
+
*
|
|
93
|
+
* So when the signer offers `signTypedDataBatch`, every leg's authorization is built first and the
|
|
94
|
+
* whole set is signed in ONE call — which is the only shape in which a hosted signer can reserve a
|
|
95
|
+
* toll atomically and bound it as a citation. The SDK still builds every authorization; only the
|
|
96
|
+
* moment of signing moves (`gatewayLegPayloadsBatched`).
|
|
82
97
|
*/
|
|
83
98
|
async function gatewayEnvelopes(signer, quoted) {
|
|
84
99
|
const legs = quoted.legs;
|
|
85
100
|
if (!legs || legs.length <= 1)
|
|
86
101
|
return gatewayLegPayload(signer, quoted, 2);
|
|
102
|
+
// Leg order is the contract: the gate pairs payloads[i] with its own legs[i] and refuses on a
|
|
103
|
+
// count mismatch, so this must stay a sequential map over `quoted.legs` and never a filter.
|
|
104
|
+
const legQuotes = legs.map((leg) => ({
|
|
105
|
+
...quoted,
|
|
106
|
+
amountAtomic: leg.amount,
|
|
107
|
+
requirements: { ...quoted.requirements, payTo: leg.payTo, amount: leg.amount },
|
|
108
|
+
legs: undefined,
|
|
109
|
+
}));
|
|
110
|
+
// A batch-capable signer gets the whole toll in one call. A plain one (a viem account, the
|
|
111
|
+
// self-host path) keeps the per-leg loop unchanged — it has no grant to protect, and requiring
|
|
112
|
+
// the method would make an ordinary key unusable.
|
|
113
|
+
if (signer.signTypedDataBatch) {
|
|
114
|
+
return gatewayLegPayloadsBatched(signer, legQuotes, 2);
|
|
115
|
+
}
|
|
87
116
|
const out = [];
|
|
88
|
-
for (const
|
|
89
|
-
// Leg order is the contract: the gate pairs payloads[i] with its own legs[i] and refuses on a
|
|
90
|
-
// count mismatch, so this must stay a sequential map over `quoted.legs` and never a filter.
|
|
91
|
-
const legQuote = {
|
|
92
|
-
...quoted,
|
|
93
|
-
amountAtomic: leg.amount,
|
|
94
|
-
requirements: { ...quoted.requirements, payTo: leg.payTo, amount: leg.amount },
|
|
95
|
-
legs: undefined,
|
|
96
|
-
};
|
|
117
|
+
for (const legQuote of legQuotes) {
|
|
97
118
|
out.push(await gatewayLegPayload(signer, legQuote, 2));
|
|
98
119
|
}
|
|
99
120
|
return out;
|
package/dist/rail.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../src/rail.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,GAKN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAmB,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAiD,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rail.js","sourceRoot":"","sources":["../src/rail.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naulon/wayfarer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "The naulon paying agent: discover \u2192 quote \u2192 appraise \u2192 decide \u2192 pay \u2192 ground. Budgeted x402 buying over Circle Gateway on Arc, with reusable Citation Licenses (pay once, re-read free).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"x402",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"test": "node --import tsx --test \"src/**/*.test.ts\""
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@circle-fin/x402-batching": "^3.
|
|
45
|
+
"@circle-fin/x402-batching": "^3.5.0",
|
|
46
46
|
"@langchain/core": "^1.2.9",
|
|
47
47
|
"@langchain/openai": "^1.5.10",
|
|
48
|
-
"@naulon/shared": "^0.
|
|
48
|
+
"@naulon/shared": "^0.5.0",
|
|
49
49
|
"@x402/core": "^2.23.0",
|
|
50
50
|
"@x402/evm": "^2.23.0",
|
|
51
51
|
"viem": "^2.56.0"
|