@aifinpay/agent 2.0.0-rc.7 → 2.0.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/LICENSE +21 -0
- package/PAYMENT_RECEIPTS.md +114 -0
- package/README.md +85 -28
- package/dist/agent.d.ts +8 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +50 -17
- package/dist/agent.js.map +1 -1
- package/dist/agentHistory.d.ts +55 -0
- package/dist/agentHistory.d.ts.map +1 -0
- package/dist/agentHistory.js +145 -0
- package/dist/agentHistory.js.map +1 -0
- package/dist/agentPassport.d.ts +71 -7
- package/dist/agentPassport.d.ts.map +1 -1
- package/dist/agentPassport.js +135 -27
- package/dist/agentPassport.js.map +1 -1
- package/dist/aifp1.d.ts +126 -5
- package/dist/aifp1.d.ts.map +1 -1
- package/dist/aifp1.js +407 -108
- package/dist/aifp1.js.map +1 -1
- package/dist/apiUrl.d.ts +3 -0
- package/dist/apiUrl.d.ts.map +1 -0
- package/dist/apiUrl.js +8 -0
- package/dist/apiUrl.js.map +1 -0
- package/dist/chains.d.ts +7 -0
- package/dist/chains.d.ts.map +1 -1
- package/dist/chains.js +19 -1
- package/dist/chains.js.map +1 -1
- package/dist/crossChain.d.ts.map +1 -1
- package/dist/crossChain.js.map +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js.map +1 -1
- package/dist/deploymentResolver.d.ts +95 -0
- package/dist/deploymentResolver.d.ts.map +1 -0
- package/dist/deploymentResolver.js +169 -0
- package/dist/deploymentResolver.js.map +1 -0
- package/dist/errors.d.ts +17 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +14 -0
- package/dist/errors.js.map +1 -1
- package/dist/facilitators/aifinpay.d.ts +4 -5
- package/dist/facilitators/aifinpay.d.ts.map +1 -1
- package/dist/facilitators/aifinpay.js +50 -21
- package/dist/facilitators/aifinpay.js.map +1 -1
- package/dist/facilitators/base.d.ts +12 -1
- package/dist/facilitators/base.d.ts.map +1 -1
- package/dist/facilitators/coinbase.d.ts.map +1 -1
- package/dist/facilitators/coinbase.js +3 -7
- package/dist/facilitators/coinbase.js.map +1 -1
- package/dist/facilitators/detect.d.ts.map +1 -1
- package/dist/facilitators/detect.js +2 -7
- package/dist/facilitators/detect.js.map +1 -1
- package/dist/facilitators/standard-x402.d.ts.map +1 -1
- package/dist/facilitators/standard-x402.js +40 -30
- package/dist/facilitators/standard-x402.js.map +1 -1
- package/dist/generated/solanaV14Deployments.generated.d.ts +25 -0
- package/dist/generated/solanaV14Deployments.generated.d.ts.map +1 -0
- package/dist/generated/solanaV14Deployments.generated.js +39 -0
- package/dist/generated/solanaV14Deployments.generated.js.map +1 -0
- package/dist/generated/splitterRoutes.generated.d.ts +24 -0
- package/dist/generated/splitterRoutes.generated.d.ts.map +1 -0
- package/dist/generated/splitterRoutes.generated.js +453 -0
- package/dist/generated/splitterRoutes.generated.js.map +1 -0
- package/dist/generated/v14Deployments.generated.d.ts +49 -0
- package/dist/generated/v14Deployments.generated.d.ts.map +1 -0
- package/dist/generated/v14Deployments.generated.js +415 -0
- package/dist/generated/v14Deployments.generated.js.map +1 -0
- package/dist/index.d.ts +27 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -7
- package/dist/index.js.map +1 -1
- package/dist/localIdentity.d.ts +17 -0
- package/dist/localIdentity.d.ts.map +1 -0
- package/dist/localIdentity.js +95 -0
- package/dist/localIdentity.js.map +1 -0
- package/dist/settlement.d.ts +34 -4
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +233 -75
- package/dist/settlement.js.map +1 -1
- package/dist/settlementHttp.d.ts +10 -0
- package/dist/settlementHttp.d.ts.map +1 -0
- package/dist/settlementHttp.js +78 -0
- package/dist/settlementHttp.js.map +1 -0
- package/dist/settlementV14.d.ts +10 -9
- package/dist/settlementV14.d.ts.map +1 -1
- package/dist/settlementV14.js +43 -55
- package/dist/settlementV14.js.map +1 -1
- package/dist/solanaDeploymentResolver.d.ts +98 -0
- package/dist/solanaDeploymentResolver.d.ts.map +1 -0
- package/dist/solanaDeploymentResolver.js +162 -0
- package/dist/solanaDeploymentResolver.js.map +1 -0
- package/dist/solanaV14Deployments.generated.d.ts +25 -0
- package/dist/solanaV14Deployments.generated.d.ts.map +1 -0
- package/dist/solanaV14Deployments.generated.js +39 -0
- package/dist/solanaV14Deployments.generated.js.map +1 -0
- package/dist/spendLedger.d.ts.map +1 -1
- package/dist/spendLedger.js +1 -3
- package/dist/spendLedger.js.map +1 -1
- package/dist/splitterRoutes.d.ts +11 -4
- package/dist/splitterRoutes.d.ts.map +1 -1
- package/dist/splitterRoutes.generated.d.ts +11 -9
- package/dist/splitterRoutes.generated.d.ts.map +1 -1
- package/dist/splitterRoutes.generated.js +72 -18
- package/dist/splitterRoutes.generated.js.map +1 -1
- package/dist/splitterRoutes.js +7 -5
- package/dist/splitterRoutes.js.map +1 -1
- package/dist/unifiedAgent.d.ts +96 -28
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +219 -348
- package/dist/unifiedAgent.js.map +1 -1
- package/dist/v14Deployments.generated.d.ts +49 -0
- package/dist/v14Deployments.generated.d.ts.map +1 -0
- package/dist/v14Deployments.generated.js +413 -0
- package/dist/v14Deployments.generated.js.map +1 -0
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +2 -2
- package/dist/wallet.js.map +1 -1
- package/package.json +27 -6
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -127
- package/dist/cli.js.map +0 -1
package/dist/aifp1.d.ts
CHANGED
|
@@ -13,13 +13,30 @@ export declare class Aifp1SettlementUnsupportedError extends Aifp1Error {
|
|
|
13
13
|
* Carries the tx hash because that is the only thing standing between the
|
|
14
14
|
* caller and a lost payment: the quote is still settleable through
|
|
15
15
|
* `POST /v1/pay` by hand with the same Idempotency-Key, and without the hash
|
|
16
|
-
* in the error there is nothing to retry with.
|
|
16
|
+
* in the error there is nothing to retry with. `recovery` additionally preserves
|
|
17
|
+
* the quote nonce and issuer domain needed to sign a fresh receipt claim.
|
|
17
18
|
*/
|
|
18
19
|
export declare class Aifp1PayError extends Aifp1Error {
|
|
19
20
|
readonly txRef?: string | undefined;
|
|
20
21
|
readonly quoteId?: string | undefined;
|
|
21
|
-
|
|
22
|
+
readonly recovery?: Aifp1PaymentRecovery | undefined;
|
|
23
|
+
constructor(msg: string, txRef?: string | undefined, quoteId?: string | undefined, recovery?: Aifp1PaymentRecovery | undefined);
|
|
22
24
|
}
|
|
25
|
+
/** Public settlement context; contains no private key or authorization signature. */
|
|
26
|
+
export interface Aifp1PaymentRecovery {
|
|
27
|
+
apiBaseUrl: string;
|
|
28
|
+
quote: Aifp1Quote;
|
|
29
|
+
txRef: `0x${string}`;
|
|
30
|
+
asset: string;
|
|
31
|
+
paymentIssuer?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface Aifp1PaymentSigner {
|
|
34
|
+
payerAddress: string;
|
|
35
|
+
signPaymentAuthorization(message: string): Promise<string>;
|
|
36
|
+
fetchImpl?: typeof fetch;
|
|
37
|
+
}
|
|
38
|
+
/** Recover an already settled Polygon payment. Never sends an on-chain transaction. */
|
|
39
|
+
export declare function recoverAifp1Payment(recovery: Aifp1PaymentRecovery, signer: Aifp1PaymentSigner, options?: Pick<Aifp1FetchOptions, "settlementConfirmMs" | "apiTimeoutMs" | "paymentIssuer">): Promise<Aifp1PayResult>;
|
|
23
40
|
/** The gateway rejected a receipt we believed covered the request. */
|
|
24
41
|
export declare class Aifp1ReceiptRejectedError extends Aifp1Error {
|
|
25
42
|
}
|
|
@@ -42,6 +59,13 @@ export interface Aifp1Challenge {
|
|
|
42
59
|
/** POST /v1/quote 200 body — routes/aifp.js (`used` is stripped server-side). */
|
|
43
60
|
export interface Aifp1Quote {
|
|
44
61
|
quote_id: string;
|
|
62
|
+
payer?: string;
|
|
63
|
+
network_mode?: "live" | "test";
|
|
64
|
+
payment_authorization?: {
|
|
65
|
+
scheme: "wallet-signature-v1";
|
|
66
|
+
domain: string;
|
|
67
|
+
max_age_seconds: number;
|
|
68
|
+
};
|
|
45
69
|
merchant_id: string;
|
|
46
70
|
resource: string;
|
|
47
71
|
scope: Aifp1Scope;
|
|
@@ -55,6 +79,24 @@ export interface Aifp1Quote {
|
|
|
55
79
|
accepted_assets: string[];
|
|
56
80
|
accepted_chains: string[];
|
|
57
81
|
pay_to: Record<string, string>;
|
|
82
|
+
/** The target and calldata the receipt verifier expects for this quote. */
|
|
83
|
+
settlement_call?: {
|
|
84
|
+
chain: string;
|
|
85
|
+
contract: string;
|
|
86
|
+
splitter_version: string;
|
|
87
|
+
asset: string;
|
|
88
|
+
function: string;
|
|
89
|
+
arg_encoding: string;
|
|
90
|
+
value_wei: string;
|
|
91
|
+
args: {
|
|
92
|
+
payment_id: string;
|
|
93
|
+
merchant: string;
|
|
94
|
+
gross_amount: string;
|
|
95
|
+
ip_creator: string;
|
|
96
|
+
valid_until: number;
|
|
97
|
+
order_id: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
58
100
|
/** Native Polygon v1.3 gross settlement, when enabled by backend readiness. */
|
|
59
101
|
native_settlement?: {
|
|
60
102
|
asset: string;
|
|
@@ -67,7 +109,7 @@ export interface Aifp1Quote {
|
|
|
67
109
|
merchant_wei: string;
|
|
68
110
|
treasury_wei: string;
|
|
69
111
|
creator_wei: string;
|
|
70
|
-
valid_until?: string;
|
|
112
|
+
valid_until?: number | string;
|
|
71
113
|
settlement_semantics?: "gross-inclusive";
|
|
72
114
|
};
|
|
73
115
|
settlement: {
|
|
@@ -78,11 +120,49 @@ export interface Aifp1Quote {
|
|
|
78
120
|
merchant_units: string;
|
|
79
121
|
protocol_fee_units: string;
|
|
80
122
|
creator_units: string;
|
|
81
|
-
|
|
123
|
+
/** Canonical form, or the backend's retained legacy breakdown (not an extra fee). */
|
|
124
|
+
fee_on_top: false | {
|
|
125
|
+
provider: string;
|
|
126
|
+
treasury: string;
|
|
127
|
+
creator: string;
|
|
128
|
+
};
|
|
129
|
+
settlement_semantics?: "gross-inclusive";
|
|
82
130
|
};
|
|
83
131
|
nonce: string;
|
|
84
132
|
expires_at: string;
|
|
85
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* A one-object, human-and-LLM-readable summary of what a quote actually buys.
|
|
136
|
+
*
|
|
137
|
+
* The raw quote answers "1.06 POL" and leaves the agent — or the person reading
|
|
138
|
+
* over its shoulder — to work out FOR WHAT. That is the gap an agent-flow audit
|
|
139
|
+
* flagged: a payment prompt that states an amount without the terms is a prompt
|
|
140
|
+
* a careful agent should refuse, and a careless one over-pays on. Every field
|
|
141
|
+
* here already exists in the quote; this just assembles them into the sentence
|
|
142
|
+
* a reasonable payer needs before signing.
|
|
143
|
+
*/
|
|
144
|
+
export interface QuoteSummary {
|
|
145
|
+
/** One line, safe to show a user or feed an LLM: what, how much, how many, until when. */
|
|
146
|
+
headline: string;
|
|
147
|
+
amount_usd: string;
|
|
148
|
+
/** The on-chain figure and its asset, when the quote is settled natively. */
|
|
149
|
+
pay: {
|
|
150
|
+
amount: string;
|
|
151
|
+
asset: string;
|
|
152
|
+
} | null;
|
|
153
|
+
/** How many requests this batch covers, and each request's weight. */
|
|
154
|
+
requests: number;
|
|
155
|
+
unit_quota: number;
|
|
156
|
+
/** WHERE the batch may be spent — the single most misread field (see the
|
|
157
|
+
* wildcard bug): "exact" buys one path, "prefix" buys a subtree. */
|
|
158
|
+
scope: Aifp1Scope;
|
|
159
|
+
resource: string;
|
|
160
|
+
/** When the quote stops being settleable. */
|
|
161
|
+
expires_at: string;
|
|
162
|
+
/** The protocol fee, stated up front. */
|
|
163
|
+
fee_bps: number | null;
|
|
164
|
+
}
|
|
165
|
+
export declare function describeQuote(q: Aifp1Quote): QuoteSummary;
|
|
86
166
|
/** POST /v1/pay 200 body — routes/aifp.js. */
|
|
87
167
|
export interface Aifp1PayResult {
|
|
88
168
|
receipt_id: string;
|
|
@@ -134,7 +214,7 @@ export declare function prefixHint(path: string): string;
|
|
|
134
214
|
* treated as "allow all", because that is the shape a config bug takes.
|
|
135
215
|
*/
|
|
136
216
|
export declare const DEFAULT_GATEWAY_ORIGINS: readonly ["https://gateway.aifinpay.io"];
|
|
137
|
-
export declare function parseGatewayUrl(url: string, allowedOrigins?: readonly string[]): {
|
|
217
|
+
export declare function parseGatewayUrl(url: string, allowedOrigins?: readonly string[], resourcePathMode?: "gateway" | "direct"): {
|
|
138
218
|
site: string;
|
|
139
219
|
slug: string;
|
|
140
220
|
restPath: string;
|
|
@@ -239,9 +319,23 @@ export declare class Aifp1ReceiptCache {
|
|
|
239
319
|
evict(entry: Aifp1CachedReceipt): void;
|
|
240
320
|
/** Everything we still hold, expired entries dropped. Plain data, copyable. */
|
|
241
321
|
list(): Aifp1CachedReceipt[];
|
|
322
|
+
/**
|
|
323
|
+
* Redacted view for dashboards and MCP tools: everything except the bearer
|
|
324
|
+
* `jwt` (a credential — only the paying agent holds it). Safe to log.
|
|
325
|
+
*/
|
|
326
|
+
summary(): Omit<Aifp1CachedReceipt, "jwt">[];
|
|
242
327
|
get size(): number;
|
|
243
328
|
}
|
|
244
329
|
export interface Aifp1FetchOptions {
|
|
330
|
+
/** Reviewed v1.3 deployment pin, supplied independently of the quote server.
|
|
331
|
+
* The receipt flow currently verifies Polygon native settlements only. */
|
|
332
|
+
settlementPin?: import("./settlement.js").TrustedSettlementRoutePin;
|
|
333
|
+
/** Independent native/USD observation from the caller's trusted price source,
|
|
334
|
+
* never copied from the payment quote. Required with settlementPin; <=60s old. */
|
|
335
|
+
nativeUsdPrice?: {
|
|
336
|
+
usd: number;
|
|
337
|
+
observedAtMs: number;
|
|
338
|
+
};
|
|
245
339
|
/**
|
|
246
340
|
* How wide a batch to buy. Default "prefix" — see the comment on
|
|
247
341
|
* resolveScope() for why the default is not "exact".
|
|
@@ -256,14 +350,26 @@ export interface Aifp1FetchOptions {
|
|
|
256
350
|
* the tiers move.
|
|
257
351
|
*/
|
|
258
352
|
units?: number;
|
|
353
|
+
/** Maximum quoted batch cost in USD; only tightens the agent's budget caps. */
|
|
354
|
+
maxAmountUsd?: number;
|
|
259
355
|
/** Where /v1/quote and /v1/pay live. Default https://api.aifinpay.io */
|
|
260
356
|
apiBaseUrl?: string;
|
|
357
|
+
/** Per-API request deadline, including the body. Default 15 seconds. */
|
|
358
|
+
apiTimeoutMs?: number;
|
|
359
|
+
/** Independently configured receipt issuer. Defaults to https://api.aifinpay.io. */
|
|
360
|
+
paymentIssuer?: string;
|
|
261
361
|
/**
|
|
262
362
|
* Gateway origins this client will settle against. Defaults to
|
|
263
363
|
* DEFAULT_GATEWAY_ORIGINS — set it only for a self-hosted gateway, and
|
|
264
364
|
* never to a host you do not control the paywall of.
|
|
265
365
|
*/
|
|
266
366
|
gatewayOrigins?: readonly string[];
|
|
367
|
+
/**
|
|
368
|
+
* "gateway" strips the hosted merchant slug (default). "direct" uses the
|
|
369
|
+
* full URL pathname and probes for the merchant before reusing a receipt.
|
|
370
|
+
* Direct origins must still be explicitly trusted through gatewayOrigins.
|
|
371
|
+
*/
|
|
372
|
+
resourcePathMode?: "gateway" | "direct";
|
|
267
373
|
/** Value for the AIFP-Agent-Id header; defaults to the agent's EVM address. */
|
|
268
374
|
agentId?: string;
|
|
269
375
|
/** How long to keep retrying /v1/pay while the chain catches up (AIFP-425). */
|
|
@@ -281,6 +387,9 @@ export interface Aifp1Deps {
|
|
|
281
387
|
cache: Aifp1ReceiptCache;
|
|
282
388
|
/** AIFP-Agent-Id / agent_id — a 0x address, or agent policies cannot key on it. */
|
|
283
389
|
agentId: string;
|
|
390
|
+
/** Actual settlement wallet, independent of any display/agent identifier. */
|
|
391
|
+
payerAddress: string;
|
|
392
|
+
signPaymentAuthorization(message: string): Promise<string>;
|
|
284
393
|
/**
|
|
285
394
|
* Settle one canonical v1.3 gross amount, returning a hash whose transaction
|
|
286
395
|
* was included AND succeeded. Implementations must independently verify the
|
|
@@ -316,4 +425,16 @@ export interface Aifp1Deps {
|
|
|
316
425
|
* already has.
|
|
317
426
|
*/
|
|
318
427
|
export declare function aifp1Fetch(deps: Aifp1Deps, url: string, init?: RequestInit, opts?: Aifp1FetchOptions): Promise<Response | null>;
|
|
428
|
+
/** Fixed, domain-separated receipt claim; sign with the wallet that settled. */
|
|
429
|
+
export declare function paymentAuthorizationMessage(p: {
|
|
430
|
+
quote: Aifp1Quote;
|
|
431
|
+
apiBase: string;
|
|
432
|
+
chain: string;
|
|
433
|
+
txRef: string;
|
|
434
|
+
asset: string;
|
|
435
|
+
idempotencyKey: string;
|
|
436
|
+
payer: string;
|
|
437
|
+
expiresAt: number;
|
|
438
|
+
issuer?: string;
|
|
439
|
+
}): string;
|
|
319
440
|
//# sourceMappingURL=aifp1.d.ts.map
|
package/dist/aifp1.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aifp1.d.ts","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aifp1.d.ts","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"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"}
|