@pay-skill/sdk 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +143 -154
  2. package/dist/auth.d.ts +11 -6
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +19 -7
  5. package/dist/auth.js.map +1 -1
  6. package/dist/errors.d.ts +4 -2
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +8 -3
  9. package/dist/errors.js.map +1 -1
  10. package/dist/index.d.ts +2 -13
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -6
  13. package/dist/index.js.map +1 -1
  14. package/dist/keychain.d.ts +8 -0
  15. package/dist/keychain.d.ts.map +1 -0
  16. package/dist/keychain.js +17 -0
  17. package/dist/keychain.js.map +1 -0
  18. package/dist/wallet.d.ts +135 -104
  19. package/dist/wallet.d.ts.map +1 -1
  20. package/dist/wallet.js +631 -276
  21. package/dist/wallet.js.map +1 -1
  22. package/jsr.json +13 -13
  23. package/knip.json +5 -5
  24. package/package.json +51 -48
  25. package/src/auth.ts +210 -200
  26. package/src/eip3009.ts +79 -79
  27. package/src/errors.ts +55 -48
  28. package/src/index.ts +24 -51
  29. package/src/keychain.ts +18 -0
  30. package/src/wallet.ts +1111 -445
  31. package/tests/test_auth_rejection.ts +102 -154
  32. package/tests/test_crypto.ts +138 -251
  33. package/tests/test_e2e.ts +99 -158
  34. package/tests/test_errors.ts +44 -36
  35. package/tests/test_ows.ts +153 -0
  36. package/tests/test_wallet.ts +194 -0
  37. package/dist/client.d.ts +0 -94
  38. package/dist/client.d.ts.map +0 -1
  39. package/dist/client.js +0 -443
  40. package/dist/client.js.map +0 -1
  41. package/dist/models.d.ts +0 -78
  42. package/dist/models.d.ts.map +0 -1
  43. package/dist/models.js +0 -2
  44. package/dist/models.js.map +0 -1
  45. package/dist/ows-signer.d.ts +0 -75
  46. package/dist/ows-signer.d.ts.map +0 -1
  47. package/dist/ows-signer.js +0 -130
  48. package/dist/ows-signer.js.map +0 -1
  49. package/dist/signer.d.ts +0 -46
  50. package/dist/signer.d.ts.map +0 -1
  51. package/dist/signer.js +0 -111
  52. package/dist/signer.js.map +0 -1
  53. package/src/client.ts +0 -644
  54. package/src/models.ts +0 -77
  55. package/src/ows-signer.ts +0 -223
  56. package/src/signer.ts +0 -147
  57. package/tests/test_ows_integration.ts +0 -92
  58. package/tests/test_ows_signer.ts +0 -365
  59. package/tests/test_signer.ts +0 -47
  60. package/tests/test_validation.ts +0 -66
package/README.md CHANGED
@@ -1,154 +1,143 @@
1
- # @pay-skill/sdk
2
-
3
- TypeScript SDK for [pay](https://pay-skill.com) payment infrastructure for AI agents. USDC on Base.
4
-
5
- Three primitives: direct payments, tabs (pre-funded metered accounts), and x402 HTTP paywalls.
6
-
7
- ## Install
8
-
9
- ```bash
10
- npm install @pay-skill/sdk
11
- ```
12
-
13
- Requires Node.js 20+.
14
-
15
- ## Quick Start
16
-
17
- ```typescript
18
- import { PayClient } from "@pay-skill/sdk";
19
-
20
- const client = new PayClient({ signer: "cli" }); // uses `pay sign` subprocess
21
-
22
- // Pay another agent $5
23
- const result = await client.payDirect("0xprovider...", 5_000_000, { memo: "task-42" });
24
- console.log(result.txHash);
25
-
26
- // Open a metered tab
27
- const tab = await client.openTab("0xprovider...", 20_000_000, { maxChargePerCall: 500_000 });
28
-
29
- // x402 request (SDK handles payment automatically)
30
- const response = await client.request("https://api.example.com/data");
31
- ```
32
-
33
- All amounts are in USDC micro-units (6 decimals). `$1.00 = 1_000_000`.
34
-
35
- ## API Reference
36
-
37
- ### PayClient
38
-
39
- ```typescript
40
- import { PayClient } from "@pay-skill/sdk";
41
-
42
- const client = new PayClient({
43
- apiUrl: "https://pay-skill.com/api/v1", // default
44
- signer: "cli", // "cli", "raw", "custom", or a Signer instance
45
- });
46
- ```
47
-
48
- ### Direct Payment
49
-
50
- One-shot USDC transfer. $1.00 minimum.
51
-
52
- ```typescript
53
- const result = await client.payDirect(to, amount, { memo });
54
- // Returns: { txHash, status, amount, fee }
55
- ```
56
-
57
- ### Tab Management
58
-
59
- Pre-funded metered account. $5.00 minimum to open.
60
-
61
- ```typescript
62
- // Open
63
- const tab = await client.openTab(provider, amount, { maxChargePerCall });
64
-
65
- // Query
66
- const tabs = await client.listTabs();
67
- const tab = await client.getTab(tabId);
68
-
69
- // Top up (no extra activation fee)
70
- const tab = await client.topUpTab(tabId, amount);
71
-
72
- // Close (either party, unilateral)
73
- const tab = await client.closeTab(tabId);
74
- ```
75
-
76
- Returns `Tab { tabId, provider, amount, balanceRemaining, totalCharged, chargeCount, maxChargePerCall, status }`.
77
-
78
- ### x402 Requests
79
-
80
- Transparent HTTP 402 handling. The SDK detects `402 Payment Required`, pays (via direct or tab), and retries.
81
-
82
- ```typescript
83
- const response = await client.request(url, { method, body, headers });
84
- // Returns: Response (native fetch Response)
85
- ```
86
-
87
- If the provider requires tab settlement, the SDK auto-opens a tab at 10x the per-call price (minimum $5).
88
-
89
- ### Wallet
90
-
91
- ```typescript
92
- const status = await client.getStatus();
93
- // Returns: { address, balance, openTabs }
94
- ```
95
-
96
- ### Webhooks
97
-
98
- ```typescript
99
- const wh = await client.registerWebhook(url, { events: ["tab.opened"], secret: "whsec_..." });
100
- const webhooks = await client.listWebhooks();
101
- await client.deleteWebhook(webhookId);
102
- ```
103
-
104
- ### Funding
105
-
106
- ```typescript
107
- const fundUrl = await client.createFundLink(10_000_000); // Coinbase Onramp
108
- const withdrawUrl = await client.createWithdrawLink(5_000_000);
109
- ```
110
-
111
- ## Signer Modes
112
-
113
- | Mode | Usage | When |
114
- |------|-------|------|
115
- | `"cli"` | Subprocess call to `pay sign` | Default. Key in OS keychain. |
116
- | `"raw"` | `PAYSKILL_KEY` env var | Dev/testing only. |
117
- | `"custom"` | Your own callback | Custom key management. |
118
-
119
- ```typescript
120
- // CLI signer (default)
121
- const client = new PayClient({ signer: "cli" });
122
-
123
- // Raw key (dev only)
124
- const client = new PayClient({ signer: "raw", signerOptions: { key: "0xdead..." } });
125
-
126
- // Custom callback
127
- import { CallbackSigner } from "@pay-skill/sdk";
128
- const signer = new CallbackSigner((hash: Uint8Array) => mySign(hash));
129
- const client = new PayClient({ signer });
130
- ```
131
-
132
- ## Error Handling
133
-
134
- ```typescript
135
- import {
136
- PayError, // Base class
137
- PayValidationError, // Bad input (has .field)
138
- PayNetworkError, // Connection failed
139
- PayServerError, // Server returned error (has .statusCode)
140
- PayInsufficientFundsError, // Not enough USDC
141
- } from "@pay-skill/sdk";
142
- ```
143
-
144
- ## Configuration
145
-
146
- | Env Var | Purpose |
147
- |---------|---------|
148
- | `PAYSKILL_KEY` | Private key for raw signer mode |
149
-
150
- The API URL is configurable via the `apiUrl` option. Default: `https://pay-skill.com/api/v1`.
151
-
152
- ## License
153
-
154
- MIT
1
+ # @pay-skill/sdk
2
+
3
+ TypeScript SDK for [pay](https://pay-skill.com) -- payment infrastructure for AI agents. USDC on Base.
4
+
5
+ ```ts
6
+ import { Wallet } from "@pay-skill/sdk";
7
+
8
+ const wallet = new Wallet();
9
+ await wallet.send("0xProvider...", 5, "for API access");
10
+ ```
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ npm install @pay-skill/sdk
16
+ ```
17
+
18
+ ## Quick Start
19
+
20
+ ### Zero-config (env var)
21
+
22
+ Set `PAYSKILL_KEY` to your hex private key:
23
+
24
+ ```ts
25
+ const wallet = new Wallet();
26
+ const { txHash } = await wallet.send("0xRecipient...", 10);
27
+ ```
28
+
29
+ ### Explicit key
30
+
31
+ ```ts
32
+ const wallet = new Wallet({ privateKey: "0xdead..." });
33
+ ```
34
+
35
+ ### OS keychain (same key as `pay` CLI)
36
+
37
+ ```ts
38
+ const wallet = await Wallet.create();
39
+ ```
40
+
41
+ ### Testnet
42
+
43
+ ```ts
44
+ const wallet = new Wallet({ testnet: true });
45
+ // or: PAYSKILL_TESTNET=1
46
+ await wallet.mint(100); // mint $100 test USDC
47
+ ```
48
+
49
+ ### OWS (Open Wallet Standard)
50
+
51
+ ```ts
52
+ const wallet = await Wallet.fromOws({ walletId: "my-agent" });
53
+ ```
54
+
55
+ Requires `@open-wallet-standard/core` as a peer dependency.
56
+
57
+ ## API
58
+
59
+ All amounts are in dollars by default. Use `{ micro: N }` for micro-USDC precision.
60
+
61
+ ### Payments
62
+
63
+ ```ts
64
+ await wallet.send(to, 5); // $5 direct payment
65
+ await wallet.send(to, 5, "invoice #42"); // with memo
66
+ await wallet.send(to, { micro: 5_000_000 }); // micro-USDC
67
+ ```
68
+
69
+ ### Tabs (pre-funded metered accounts)
70
+
71
+ ```ts
72
+ const tab = await wallet.openTab(provider, 50, 1); // $50 tab, $1 max/charge
73
+ await wallet.chargeTab(tab.id, 0.01); // charge $0.01
74
+ await wallet.topUpTab(tab.id, 25); // add $25
75
+ await wallet.closeTab(tab.id); // close + settle
76
+ const tabs = await wallet.listTabs();
77
+ const tab = await wallet.getTab(tabId);
78
+ ```
79
+
80
+ ### x402 (paid HTTP)
81
+
82
+ ```ts
83
+ const resp = await wallet.request("https://api.example.com/data");
84
+ // Handles 402 responses automatically: pays, retries, returns final response
85
+ ```
86
+
87
+ ### Wallet
88
+
89
+ ```ts
90
+ const bal = await wallet.balance(); // { total, locked, available }
91
+ const info = await wallet.status(); // { address, balance, openTabs }
92
+ ```
93
+
94
+ ### Discovery
95
+
96
+ ```ts
97
+ const services = await wallet.discover("weather");
98
+ // Or without a wallet:
99
+ import { discover } from "@pay-skill/sdk";
100
+ const services = await discover("weather");
101
+ ```
102
+
103
+ ### Funding
104
+
105
+ ```ts
106
+ const url = await wallet.createFundLink({ message: "Need $50 for API calls" });
107
+ const url = await wallet.createWithdrawLink();
108
+ ```
109
+
110
+ ### Webhooks
111
+
112
+ ```ts
113
+ const wh = await wallet.registerWebhook("https://example.com/hook", ["payment.completed"]);
114
+ const hooks = await wallet.listWebhooks();
115
+ await wallet.deleteWebhook(wh.id);
116
+ ```
117
+
118
+ ### Testnet
119
+
120
+ ```ts
121
+ await wallet.mint(100); // mint $100 test USDC (testnet only)
122
+ ```
123
+
124
+ ## Errors
125
+
126
+ ```ts
127
+ import {
128
+ PayError, // base
129
+ PayValidationError, // invalid input
130
+ PayNetworkError, // network failure
131
+ PayServerError, // server 4xx/5xx
132
+ PayInsufficientFundsError, // low balance (hints createFundLink)
133
+ } from "@pay-skill/sdk";
134
+ ```
135
+
136
+ ## Requirements
137
+
138
+ - Node.js 18+
139
+ - ESM only
140
+
141
+ ## License
142
+
143
+ MIT
package/dist/auth.d.ts CHANGED
@@ -32,13 +32,18 @@ export interface AuthHeaders {
32
32
  */
33
33
  export declare function buildAuthHeaders(privateKey: Hex, method: string, path: string, config: AuthConfig): Promise<AuthHeaders>;
34
34
  /**
35
- * Build auth headers using a generic signer (Signer interface).
36
- * Computes the EIP-712 hash manually and delegates signing to the signer.
35
+ * Build auth headers using a signTypedData function.
36
+ * Used by OWS signers and any non-raw-key signing path.
37
37
  */
38
- export declare function buildAuthHeadersWithSigner(signer: {
39
- sign(hash: Uint8Array): Uint8Array;
40
- address: string;
41
- }, method: string, path: string, config: AuthConfig): AuthHeaders;
38
+ export declare function buildAuthHeadersSigned(address: string, signTypedData: (params: {
39
+ domain: Record<string, unknown>;
40
+ types: Record<string, readonly {
41
+ name: string;
42
+ type: string;
43
+ }[]>;
44
+ primaryType: string;
45
+ message: Record<string, unknown>;
46
+ }) => Promise<string>, method: string, path: string, config: AuthConfig): Promise<AuthHeaders>;
42
47
  /**
43
48
  * Compute the EIP-712 hash for an APIRequest.
44
49
  * Must match the server's computation exactly.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAIvE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE;IAAE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC/D,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,WAAW,CAsBb;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,OAAO,GACzB,UAAU,CA4DZ"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,GAAG,EAA2B,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAIvE,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAgBD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,GAAG,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA2BtB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,KAAK,OAAO,CAAC,MAAM,CAAC,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CA0BtB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,OAAO,GACzB,UAAU,CA4DZ"}
package/dist/auth.js CHANGED
@@ -61,17 +61,29 @@ export async function buildAuthHeaders(privateKey, method, path, config) {
61
61
  };
62
62
  }
63
63
  /**
64
- * Build auth headers using a generic signer (Signer interface).
65
- * Computes the EIP-712 hash manually and delegates signing to the signer.
64
+ * Build auth headers using a signTypedData function.
65
+ * Used by OWS signers and any non-raw-key signing path.
66
66
  */
67
- export function buildAuthHeadersWithSigner(signer, method, path, config) {
67
+ export async function buildAuthHeadersSigned(address, signTypedData, method, path, config) {
68
68
  const timestamp = BigInt(Math.floor(Date.now() / 1000));
69
69
  const nonce = ("0x" + randomBytes(32).toString("hex"));
70
- const hash = computeEip712Hash(method.toUpperCase(), path, timestamp, nonce, config.chainId, config.routerAddress);
71
- const sigBytes = signer.sign(hash);
72
- const signature = ("0x" + Buffer.from(sigBytes).toString("hex"));
70
+ const signature = await signTypedData({
71
+ domain: {
72
+ ...EIP712_DOMAIN,
73
+ chainId: config.chainId,
74
+ verifyingContract: config.routerAddress,
75
+ },
76
+ types: API_REQUEST_TYPES,
77
+ primaryType: "APIRequest",
78
+ message: {
79
+ method: method.toUpperCase(),
80
+ path,
81
+ timestamp,
82
+ nonce,
83
+ },
84
+ });
73
85
  return {
74
- "X-Pay-Agent": signer.address,
86
+ "X-Pay-Agent": address,
75
87
  "X-Pay-Signature": signature,
76
88
  "X-Pay-Timestamp": timestamp.toString(),
77
89
  "X-Pay-Nonce": nonce,
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAY,SAAS,EAAE,YAAY,EAAgB,MAAM,MAAM,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc1C,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,KAAK;CACN,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,UAAU,EAAE;QACV,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAe,EACf,MAAc,EACd,IAAY,EACZ,MAAkB;IAElB,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ,CAAC;IAE9D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC;QAC5C,MAAM,EAAE;YACN,GAAG,aAAa;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,aAAa;SACxC;QACD,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;YAC5B,IAAI;YACJ,SAAS;YACT,KAAK;SACN;KACF,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,OAAO;QAC9B,iBAAiB,EAAE,SAAS;QAC5B,iBAAiB,EAAE,SAAS,CAAC,QAAQ,EAAE;QACvC,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,aAKqB,EACrB,MAAc,EACd,IAAY,EACZ,MAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ,CAAC;IAE9D,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC;QACpC,MAAM,EAAE;YACN,GAAG,aAAa;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,aAAa;SACxC;QACD,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,YAAY;QACzB,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;YAC5B,IAAI;YACJ,SAAS;YACT,KAAK;SACN;KACF,CAAC,CAAC;IAEH,OAAO;QACL,aAAa,EAAE,OAAO;QACtB,iBAAiB,EAAE,SAAS;QAC5B,iBAAiB,EAAE,SAAS,CAAC,QAAQ,EAAE;QACvC,aAAa,EAAE,KAAK;KACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAAY,EACZ,SAAiB,EACjB,KAAU,EACV,OAAe,EACf,iBAA0B;IAE1B,cAAc;IACd,MAAM,cAAc,GAAG,SAAS,CAC9B,YAAY,CACV,CAAC,QAAQ,CAAC,EACV;QACE,oFAAoF;KACrF,CACF,CACF,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAC9B,YAAY,CACV,CAAC,QAAQ,CAAC,EACV;QACE,uEAAuE;KACxE,CACF,CACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEjE,MAAM,eAAe,GAAG,SAAS,CAC/B,YAAY,CACV,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACvD;QACE,cAAc;QACd,QAAQ;QACR,WAAW;QACX,MAAM,CAAC,OAAO,CAAC;QACf,CAAC,4BAA4B,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAQ;KACnE,CACF,CACF,CAAC;IAEF,cAAc;IACd,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,MAAM,WAAW,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAQ,CAAC;IAE/D,MAAM,UAAU,GAAG,SAAS,CAC1B,YAAY,CACV,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACvD,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAC/D,CACF,CAAC;IAEF,qEAAqE;IACrE,MAAM,SAAS,GAAG,SAAS,CACzB,YAAY,CACV,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAChC,CAAC,QAAe,EAAE,eAAe,EAAE,UAAU,CAAC,CAC/C,CACF,CAAC;IAEF,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -17,8 +17,10 @@ export declare class PayServerError extends PayError {
17
17
  readonly statusCode: number;
18
18
  constructor(message: string, statusCode: number);
19
19
  }
20
- /** Insufficient USDC balance. */
20
+ /** Insufficient USDC balance. Includes fund link hint for agents. */
21
21
  export declare class PayInsufficientFundsError extends PayError {
22
- constructor(message?: string);
22
+ readonly balance: number;
23
+ readonly required: number;
24
+ constructor(message: string, balance?: number, required?: number);
23
25
  }
24
26
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,+BAA+B;AAC/B,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAK5C;AAED,8CAA8C;AAC9C,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,yCAAyC;AACzC,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED,iCAAiC;AACjC,qBAAa,yBAA0B,SAAQ,QAAQ;gBACzC,OAAO,SAA8B;CAIlD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,IAAI,SAAc;CAKhD;AAED,+BAA+B;AAC/B,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAK5C;AAED,8CAA8C;AAC9C,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,yCAAyC;AACzC,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAKhD;AAED,qEAAqE;AACrE,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,QAAQ,SAAI;CAQvD"}
package/dist/errors.js CHANGED
@@ -32,11 +32,16 @@ export class PayServerError extends PayError {
32
32
  this.statusCode = statusCode;
33
33
  }
34
34
  }
35
- /** Insufficient USDC balance. */
35
+ /** Insufficient USDC balance. Includes fund link hint for agents. */
36
36
  export class PayInsufficientFundsError extends PayError {
37
- constructor(message = "Insufficient USDC balance") {
38
- super(message, "insufficient_funds");
37
+ balance;
38
+ required;
39
+ constructor(message, balance = 0, required = 0) {
40
+ const hint = '\nUse wallet.createFundLink({ message: "Need funds" }) to request funding.';
41
+ super(message + hint, "insufficient_funds");
39
42
  this.name = "PayInsufficientFundsError";
43
+ this.balance = balance;
44
+ this.required = required;
40
45
  }
41
46
  }
42
47
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAI,GAAG,WAAW;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrC,KAAK,CAAU;IAExB,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAS;IAE5B,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,iCAAiC;AACjC,MAAM,OAAO,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,OAAO,GAAG,2BAA2B;QAC/C,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,IAAI,CAAS;IAEtB,YAAY,OAAe,EAAE,IAAI,GAAG,WAAW;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,+BAA+B;AAC/B,MAAM,OAAO,kBAAmB,SAAQ,QAAQ;IACrC,KAAK,CAAU;IAExB,YAAY,OAAe,EAAE,KAAc;QACzC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,yCAAyC;AACzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAS;IAE5B,YAAY,OAAe,EAAE,UAAkB;QAC7C,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,OAAO,yBAA0B,SAAQ,QAAQ;IAC5C,OAAO,CAAS;IAChB,QAAQ,CAAS;IAE1B,YAAY,OAAe,EAAE,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC;QACpD,MAAM,IAAI,GACR,4EAA4E,CAAC;QAC/E,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,4 @@
1
- export { PayClient, DEFAULT_API_URL } from "./client.js";
2
- export type { PayClientOptions } from "./client.js";
3
1
  export { PayError, PayValidationError, PayNetworkError, PayServerError, PayInsufficientFundsError, } from "./errors.js";
4
- export type { DirectPaymentResult, DiscoverOptions, DiscoverService, Tab, TabStatus, StatusResponse, WebhookRegistration, } from "./models.js";
5
- export type { Signer } from "./signer.js";
6
- export { CliSigner, RawKeySigner, CallbackSigner, createSigner, } from "./signer.js";
7
- export { OwsSigner } from "./ows-signer.js";
8
- export type { OwsSignerOptions } from "./ows-signer.js";
9
- export { Wallet, PrivateKeySigner } from "./wallet.js";
10
- export type { WalletOptions, FundLinkOptions, PermitResult, } from "./wallet.js";
11
- export { buildAuthHeaders, buildAuthHeadersWithSigner, computeEip712Hash, } from "./auth.js";
12
- export type { AuthConfig, AuthHeaders } from "./auth.js";
13
- export { signTransferAuthorization, combinedSignature, } from "./eip3009.js";
14
- export type { TransferAuthorization } from "./eip3009.js";
2
+ export { Wallet, discover } from "./wallet.js";
3
+ export type { Amount, WalletOptions, OwsWalletOptions, SendResult, Tab, ChargeResult, Balance, Status, DiscoverService, DiscoverOptions, FundLinkOptions, WebhookRegistration, MintResult, } from "./wallet.js";
15
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,GAAG,EACH,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EACV,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,MAAM,EACN,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,GAAG,EACH,YAAY,EACZ,OAAO,EACP,MAAM,EACN,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,UAAU,GACX,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,3 @@
1
- export { PayClient, DEFAULT_API_URL } from "./client.js";
2
1
  export { PayError, PayValidationError, PayNetworkError, PayServerError, PayInsufficientFundsError, } from "./errors.js";
3
- export { CliSigner, RawKeySigner, CallbackSigner, createSigner, } from "./signer.js";
4
- export { OwsSigner } from "./ows-signer.js";
5
- export { Wallet, PrivateKeySigner } from "./wallet.js";
6
- export { buildAuthHeaders, buildAuthHeadersWithSigner, computeEip712Hash, } from "./auth.js";
7
- export { signTransferAuthorization, combinedSignature, } from "./eip3009.js";
2
+ export { Wallet, discover } from "./wallet.js";
8
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOvD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OS keychain reader — reads the private key stored by `pay` CLI.
3
+ * Service: "pay", account: "default".
4
+ *
5
+ * keytar is an optional dependency. If not installed, returns null.
6
+ */
7
+ export declare function readFromKeychain(): Promise<string | null>;
8
+ //# sourceMappingURL=keychain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU/D"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OS keychain reader — reads the private key stored by `pay` CLI.
3
+ * Service: "pay", account: "default".
4
+ *
5
+ * keytar is an optional dependency. If not installed, returns null.
6
+ */
7
+ export async function readFromKeychain() {
8
+ try {
9
+ const moduleName = "keytar";
10
+ const keytar = (await import(moduleName));
11
+ return await keytar.default.getPassword("pay", "default");
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ //# sourceMappingURL=keychain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAEvC,CAAC;QACF,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}