@sardis/sdk 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 (146) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/LICENSE +21 -0
  3. package/README.md +439 -0
  4. package/dist/browser/index.js +7049 -0
  5. package/dist/browser/index.js.map +1 -0
  6. package/dist/browser/sardis.umd.js +7071 -0
  7. package/dist/browser/sardis.umd.js.map +1 -0
  8. package/dist/cjs/client.js +644 -0
  9. package/dist/cjs/client.js.map +1 -0
  10. package/dist/cjs/demo.js +699 -0
  11. package/dist/cjs/demo.js.map +1 -0
  12. package/dist/cjs/errors.js +630 -0
  13. package/dist/cjs/errors.js.map +1 -0
  14. package/dist/cjs/index.js +131 -0
  15. package/dist/cjs/index.js.map +1 -0
  16. package/dist/cjs/integrations/index.js +21 -0
  17. package/dist/cjs/integrations/index.js.map +1 -0
  18. package/dist/cjs/integrations/langchain.js +339 -0
  19. package/dist/cjs/integrations/langchain.js.map +1 -0
  20. package/dist/cjs/integrations/openai.js +505 -0
  21. package/dist/cjs/integrations/openai.js.map +1 -0
  22. package/dist/cjs/integrations/vercel-ai.js +198 -0
  23. package/dist/cjs/integrations/vercel-ai.js.map +1 -0
  24. package/dist/cjs/resources/a2a.js +158 -0
  25. package/dist/cjs/resources/a2a.js.map +1 -0
  26. package/dist/cjs/resources/agents.js +142 -0
  27. package/dist/cjs/resources/agents.js.map +1 -0
  28. package/dist/cjs/resources/base.js +124 -0
  29. package/dist/cjs/resources/base.js.map +1 -0
  30. package/dist/cjs/resources/cards.js +43 -0
  31. package/dist/cjs/resources/cards.js.map +1 -0
  32. package/dist/cjs/resources/holds.js +64 -0
  33. package/dist/cjs/resources/holds.js.map +1 -0
  34. package/dist/cjs/resources/index.js +31 -0
  35. package/dist/cjs/resources/index.js.map +1 -0
  36. package/dist/cjs/resources/ledger.js +43 -0
  37. package/dist/cjs/resources/ledger.js.map +1 -0
  38. package/dist/cjs/resources/marketplace.js +88 -0
  39. package/dist/cjs/resources/marketplace.js.map +1 -0
  40. package/dist/cjs/resources/payments.js +33 -0
  41. package/dist/cjs/resources/payments.js.map +1 -0
  42. package/dist/cjs/resources/policies.js +31 -0
  43. package/dist/cjs/resources/policies.js.map +1 -0
  44. package/dist/cjs/resources/transactions.js +37 -0
  45. package/dist/cjs/resources/transactions.js.map +1 -0
  46. package/dist/cjs/resources/ucp.js +133 -0
  47. package/dist/cjs/resources/ucp.js.map +1 -0
  48. package/dist/cjs/resources/wallets.js +109 -0
  49. package/dist/cjs/resources/wallets.js.map +1 -0
  50. package/dist/cjs/resources/webhooks.js +81 -0
  51. package/dist/cjs/resources/webhooks.js.map +1 -0
  52. package/dist/cjs/types.js +11 -0
  53. package/dist/cjs/types.js.map +1 -0
  54. package/dist/client.d.ts +419 -0
  55. package/dist/client.d.ts.map +1 -0
  56. package/dist/client.js +637 -0
  57. package/dist/client.js.map +1 -0
  58. package/dist/demo.d.ts +335 -0
  59. package/dist/demo.d.ts.map +1 -0
  60. package/dist/demo.js +694 -0
  61. package/dist/demo.js.map +1 -0
  62. package/dist/errors.d.ts +522 -0
  63. package/dist/errors.d.ts.map +1 -0
  64. package/dist/errors.js +612 -0
  65. package/dist/errors.js.map +1 -0
  66. package/dist/index.d.ts +83 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +85 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/integrations/index.d.ts +4 -0
  71. package/dist/integrations/index.d.ts.map +1 -0
  72. package/dist/integrations/index.js +5 -0
  73. package/dist/integrations/index.js.map +1 -0
  74. package/dist/integrations/langchain.d.ts +68 -0
  75. package/dist/integrations/langchain.d.ts.map +1 -0
  76. package/dist/integrations/langchain.js +335 -0
  77. package/dist/integrations/langchain.js.map +1 -0
  78. package/dist/integrations/openai.d.ts +97 -0
  79. package/dist/integrations/openai.d.ts.map +1 -0
  80. package/dist/integrations/openai.js +467 -0
  81. package/dist/integrations/openai.js.map +1 -0
  82. package/dist/integrations/vercel-ai.d.ts +180 -0
  83. package/dist/integrations/vercel-ai.d.ts.map +1 -0
  84. package/dist/integrations/vercel-ai.js +194 -0
  85. package/dist/integrations/vercel-ai.js.map +1 -0
  86. package/dist/resources/a2a.d.ts +254 -0
  87. package/dist/resources/a2a.d.ts.map +1 -0
  88. package/dist/resources/a2a.js +154 -0
  89. package/dist/resources/a2a.js.map +1 -0
  90. package/dist/resources/agents.d.ts +111 -0
  91. package/dist/resources/agents.d.ts.map +1 -0
  92. package/dist/resources/agents.js +138 -0
  93. package/dist/resources/agents.js.map +1 -0
  94. package/dist/resources/base.d.ts +115 -0
  95. package/dist/resources/base.d.ts.map +1 -0
  96. package/dist/resources/base.js +120 -0
  97. package/dist/resources/base.js.map +1 -0
  98. package/dist/resources/cards.d.ts +19 -0
  99. package/dist/resources/cards.d.ts.map +1 -0
  100. package/dist/resources/cards.js +39 -0
  101. package/dist/resources/cards.js.map +1 -0
  102. package/dist/resources/holds.d.ts +44 -0
  103. package/dist/resources/holds.d.ts.map +1 -0
  104. package/dist/resources/holds.js +60 -0
  105. package/dist/resources/holds.js.map +1 -0
  106. package/dist/resources/index.d.ts +16 -0
  107. package/dist/resources/index.d.ts.map +1 -0
  108. package/dist/resources/index.js +16 -0
  109. package/dist/resources/index.js.map +1 -0
  110. package/dist/resources/ledger.d.ts +38 -0
  111. package/dist/resources/ledger.d.ts.map +1 -0
  112. package/dist/resources/ledger.js +39 -0
  113. package/dist/resources/ledger.js.map +1 -0
  114. package/dist/resources/marketplace.d.ts +60 -0
  115. package/dist/resources/marketplace.d.ts.map +1 -0
  116. package/dist/resources/marketplace.js +84 -0
  117. package/dist/resources/marketplace.js.map +1 -0
  118. package/dist/resources/payments.d.ts +24 -0
  119. package/dist/resources/payments.d.ts.map +1 -0
  120. package/dist/resources/payments.js +29 -0
  121. package/dist/resources/payments.js.map +1 -0
  122. package/dist/resources/policies.d.ts +23 -0
  123. package/dist/resources/policies.d.ts.map +1 -0
  124. package/dist/resources/policies.js +27 -0
  125. package/dist/resources/policies.js.map +1 -0
  126. package/dist/resources/transactions.d.ts +32 -0
  127. package/dist/resources/transactions.d.ts.map +1 -0
  128. package/dist/resources/transactions.js +33 -0
  129. package/dist/resources/transactions.js.map +1 -0
  130. package/dist/resources/ucp.d.ts +218 -0
  131. package/dist/resources/ucp.d.ts.map +1 -0
  132. package/dist/resources/ucp.js +129 -0
  133. package/dist/resources/ucp.js.map +1 -0
  134. package/dist/resources/wallets.d.ts +71 -0
  135. package/dist/resources/wallets.d.ts.map +1 -0
  136. package/dist/resources/wallets.js +105 -0
  137. package/dist/resources/wallets.js.map +1 -0
  138. package/dist/resources/webhooks.d.ts +57 -0
  139. package/dist/resources/webhooks.d.ts.map +1 -0
  140. package/dist/resources/webhooks.js +77 -0
  141. package/dist/resources/webhooks.js.map +1 -0
  142. package/dist/types.d.ts +1045 -0
  143. package/dist/types.d.ts.map +1 -0
  144. package/dist/types.js +10 -0
  145. package/dist/types.js.map +1 -0
  146. package/package.json +114 -0
@@ -0,0 +1,218 @@
1
+ /**
2
+ * UCP (Universal Commerce Protocol) resource
3
+ *
4
+ * Provides checkout session management for structured commerce:
5
+ * - Create checkout sessions with cart items
6
+ * - Update sessions (add/remove items, discounts)
7
+ * - Complete checkout and generate payment mandates
8
+ */
9
+ import { BaseResource } from './base.js';
10
+ export interface UCPLineItem {
11
+ item_id: string;
12
+ name: string;
13
+ description: string;
14
+ quantity: number;
15
+ unit_price_minor: number;
16
+ currency?: string;
17
+ sku?: string;
18
+ category?: string;
19
+ image_url?: string;
20
+ taxable?: boolean;
21
+ tax_rate?: string;
22
+ metadata?: Record<string, unknown>;
23
+ }
24
+ export interface UCPDiscount {
25
+ discount_id: string;
26
+ name: string;
27
+ discount_type: 'percentage' | 'fixed' | 'coupon';
28
+ value: string;
29
+ code?: string;
30
+ applied_to?: string[];
31
+ min_purchase_minor?: number;
32
+ }
33
+ export interface CreateCheckoutInput {
34
+ merchant_id: string;
35
+ merchant_name: string;
36
+ merchant_domain: string;
37
+ customer_id: string;
38
+ line_items: UCPLineItem[];
39
+ currency?: string;
40
+ tax_rate?: string;
41
+ shipping_minor?: number;
42
+ metadata?: Record<string, unknown>;
43
+ }
44
+ export interface UpdateCheckoutInput {
45
+ add_items?: UCPLineItem[];
46
+ remove_item_ids?: string[];
47
+ add_discounts?: UCPDiscount[];
48
+ remove_discount_ids?: string[];
49
+ shipping_minor?: number;
50
+ metadata?: Record<string, unknown>;
51
+ }
52
+ export interface CompleteCheckoutInput {
53
+ chain: string;
54
+ token: string;
55
+ destination: string;
56
+ subject: string;
57
+ issuer: string;
58
+ execute_payment?: boolean;
59
+ }
60
+ export interface CheckoutSession {
61
+ session_id: string;
62
+ merchant_id: string;
63
+ merchant_name: string;
64
+ merchant_domain: string;
65
+ customer_id: string;
66
+ status: 'open' | 'pending_payment' | 'completed' | 'expired' | 'cancelled';
67
+ currency: string;
68
+ line_items: UCPLineItem[];
69
+ discounts: UCPDiscount[];
70
+ subtotal_minor: number;
71
+ taxes_minor: number;
72
+ shipping_minor: number;
73
+ total_minor: number;
74
+ cart_mandate?: Record<string, unknown>;
75
+ checkout_mandate?: Record<string, unknown>;
76
+ payment_mandate?: Record<string, unknown>;
77
+ order_id?: string;
78
+ chain_tx_hash?: string;
79
+ created_at: string;
80
+ updated_at: string;
81
+ expires_at: number;
82
+ metadata?: Record<string, unknown>;
83
+ }
84
+ export interface CheckoutResult {
85
+ success: boolean;
86
+ session_id: string;
87
+ order_id?: string;
88
+ payment_mandate?: Record<string, unknown>;
89
+ chain_tx_hash?: string;
90
+ error?: string;
91
+ error_code?: string;
92
+ }
93
+ export interface UCPOrder {
94
+ order_id: string;
95
+ checkout_session_id: string;
96
+ merchant_id: string;
97
+ customer_id: string;
98
+ status: string;
99
+ line_items: UCPLineItem[];
100
+ currency: string;
101
+ subtotal_minor: number;
102
+ taxes_minor: number;
103
+ shipping_minor: number;
104
+ discount_minor: number;
105
+ total_minor: number;
106
+ payment_mandate_id?: string;
107
+ chain_tx_hash?: string;
108
+ created_at: string;
109
+ updated_at: string;
110
+ metadata?: Record<string, unknown>;
111
+ }
112
+ export declare class UCPResource extends BaseResource {
113
+ /**
114
+ * Create a new checkout session
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * const session = await client.ucp.createCheckout({
119
+ * merchant_id: 'merchant_123',
120
+ * merchant_name: 'Example Store',
121
+ * merchant_domain: 'store.example.com',
122
+ * customer_id: 'agent_abc',
123
+ * line_items: [{
124
+ * item_id: 'item_1',
125
+ * name: 'Widget',
126
+ * description: 'A useful widget',
127
+ * quantity: 2,
128
+ * unit_price_minor: 1000,
129
+ * }],
130
+ * });
131
+ * ```
132
+ */
133
+ createCheckout(input: CreateCheckoutInput): Promise<CheckoutSession>;
134
+ /**
135
+ * Get a checkout session
136
+ *
137
+ * @example
138
+ * ```typescript
139
+ * const session = await client.ucp.getCheckout('cs_abc123');
140
+ * console.log(session.status, session.total_minor);
141
+ * ```
142
+ */
143
+ getCheckout(sessionId: string): Promise<CheckoutSession>;
144
+ /**
145
+ * Update a checkout session
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * const updated = await client.ucp.updateCheckout('cs_abc123', {
150
+ * add_items: [{ item_id: 'item_2', name: 'Extra', quantity: 1, unit_price_minor: 500 }],
151
+ * add_discounts: [{
152
+ * discount_id: 'disc_1',
153
+ * name: '10% Off',
154
+ * discount_type: 'percentage',
155
+ * value: '10',
156
+ * }],
157
+ * });
158
+ * ```
159
+ */
160
+ updateCheckout(sessionId: string, input: UpdateCheckoutInput): Promise<CheckoutSession>;
161
+ /**
162
+ * Complete a checkout session and generate payment mandate
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * const result = await client.ucp.completeCheckout('cs_abc123', {
167
+ * chain: 'base',
168
+ * token: 'USDC',
169
+ * destination: '0x...',
170
+ * subject: 'agent_abc',
171
+ * issuer: 'sardis.sh',
172
+ * });
173
+ *
174
+ * if (result.success) {
175
+ * console.log('Payment tx:', result.chain_tx_hash);
176
+ * }
177
+ * ```
178
+ */
179
+ completeCheckout(sessionId: string, input: CompleteCheckoutInput): Promise<CheckoutResult>;
180
+ /**
181
+ * Cancel a checkout session
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * await client.ucp.cancelCheckout('cs_abc123');
186
+ * ```
187
+ */
188
+ cancelCheckout(sessionId: string): Promise<CheckoutSession>;
189
+ /**
190
+ * Get an order by ID
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * const order = await client.ucp.getOrder('ord_abc123');
195
+ * console.log(order.status, order.chain_tx_hash);
196
+ * ```
197
+ */
198
+ getOrder(orderId: string): Promise<UCPOrder>;
199
+ /**
200
+ * List orders
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * const orders = await client.ucp.listOrders({
205
+ * customer_id: 'agent_abc',
206
+ * status: 'completed',
207
+ * });
208
+ * ```
209
+ */
210
+ listOrders(options?: {
211
+ customer_id?: string;
212
+ merchant_id?: string;
213
+ status?: string;
214
+ limit?: number;
215
+ offset?: number;
216
+ }): Promise<UCPOrder[]>;
217
+ }
218
+ //# sourceMappingURL=ucp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucp.d.ts","sourceRoot":"","sources":["../../src/resources/ucp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * UCP (Universal Commerce Protocol) resource
3
+ *
4
+ * Provides checkout session management for structured commerce:
5
+ * - Create checkout sessions with cart items
6
+ * - Update sessions (add/remove items, discounts)
7
+ * - Complete checkout and generate payment mandates
8
+ */
9
+ import { BaseResource } from './base.js';
10
+ // ============ Resource ============
11
+ export class UCPResource extends BaseResource {
12
+ /**
13
+ * Create a new checkout session
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const session = await client.ucp.createCheckout({
18
+ * merchant_id: 'merchant_123',
19
+ * merchant_name: 'Example Store',
20
+ * merchant_domain: 'store.example.com',
21
+ * customer_id: 'agent_abc',
22
+ * line_items: [{
23
+ * item_id: 'item_1',
24
+ * name: 'Widget',
25
+ * description: 'A useful widget',
26
+ * quantity: 2,
27
+ * unit_price_minor: 1000,
28
+ * }],
29
+ * });
30
+ * ```
31
+ */
32
+ async createCheckout(input) {
33
+ return this._post('/api/v2/ucp/checkout', input);
34
+ }
35
+ /**
36
+ * Get a checkout session
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const session = await client.ucp.getCheckout('cs_abc123');
41
+ * console.log(session.status, session.total_minor);
42
+ * ```
43
+ */
44
+ async getCheckout(sessionId) {
45
+ return this._get(`/api/v2/ucp/checkout/${sessionId}`);
46
+ }
47
+ /**
48
+ * Update a checkout session
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const updated = await client.ucp.updateCheckout('cs_abc123', {
53
+ * add_items: [{ item_id: 'item_2', name: 'Extra', quantity: 1, unit_price_minor: 500 }],
54
+ * add_discounts: [{
55
+ * discount_id: 'disc_1',
56
+ * name: '10% Off',
57
+ * discount_type: 'percentage',
58
+ * value: '10',
59
+ * }],
60
+ * });
61
+ * ```
62
+ */
63
+ async updateCheckout(sessionId, input) {
64
+ return this._patch(`/api/v2/ucp/checkout/${sessionId}`, input);
65
+ }
66
+ /**
67
+ * Complete a checkout session and generate payment mandate
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * const result = await client.ucp.completeCheckout('cs_abc123', {
72
+ * chain: 'base',
73
+ * token: 'USDC',
74
+ * destination: '0x...',
75
+ * subject: 'agent_abc',
76
+ * issuer: 'sardis.sh',
77
+ * });
78
+ *
79
+ * if (result.success) {
80
+ * console.log('Payment tx:', result.chain_tx_hash);
81
+ * }
82
+ * ```
83
+ */
84
+ async completeCheckout(sessionId, input) {
85
+ return this._post(`/api/v2/ucp/checkout/${sessionId}/complete`, input);
86
+ }
87
+ /**
88
+ * Cancel a checkout session
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * await client.ucp.cancelCheckout('cs_abc123');
93
+ * ```
94
+ */
95
+ async cancelCheckout(sessionId) {
96
+ return this._post(`/api/v2/ucp/checkout/${sessionId}/cancel`, {});
97
+ }
98
+ /**
99
+ * Get an order by ID
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const order = await client.ucp.getOrder('ord_abc123');
104
+ * console.log(order.status, order.chain_tx_hash);
105
+ * ```
106
+ */
107
+ async getOrder(orderId) {
108
+ return this._get(`/api/v2/ucp/orders/${orderId}`);
109
+ }
110
+ /**
111
+ * List orders
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const orders = await client.ucp.listOrders({
116
+ * customer_id: 'agent_abc',
117
+ * status: 'completed',
118
+ * });
119
+ * ```
120
+ */
121
+ async listOrders(options) {
122
+ const response = await this._get('/api/v2/ucp/orders', options);
123
+ if (Array.isArray(response)) {
124
+ return response;
125
+ }
126
+ return response.orders || [];
127
+ }
128
+ }
129
+ //# sourceMappingURL=ucp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ucp.js","sourceRoot":"","sources":["../../src/resources/ucp.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAkHzC,qCAAqC;AAErC,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,cAAc,CAAC,KAA0B;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAkB,sBAAsB,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAkB,wBAAwB,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,KAA0B;QAChE,OAAO,IAAI,CAAC,MAAM,CAAkB,wBAAwB,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,KAA4B;QACpE,OAAO,IAAI,CAAC,KAAK,CAAiB,wBAAwB,SAAS,WAAW,EAAE,KAAK,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAkB,wBAAwB,SAAS,SAAS,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAW,sBAAsB,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,OAMhB;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,oBAAoB,EACpB,OAAO,CACR,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Wallets Resource
3
+ *
4
+ * Manages non-custodial wallets for agents.
5
+ * Wallets never hold funds - they only sign transactions via MPC.
6
+ */
7
+ import { BaseResource } from './base.js';
8
+ import type { Wallet, WalletBalance, CreateWalletInput, SetAddressInput, WalletTransferInput, WalletTransferResponse, RequestOptions } from '../types.js';
9
+ export declare class WalletsResource extends BaseResource {
10
+ private _normalize;
11
+ /**
12
+ * Create a new non-custodial wallet for an agent.
13
+ *
14
+ * @param input Wallet creation parameters
15
+ * @param options Request options (signal, timeout)
16
+ * @returns Created wallet
17
+ */
18
+ create(input: CreateWalletInput, options?: RequestOptions): Promise<Wallet>;
19
+ /**
20
+ * Get a wallet by ID.
21
+ *
22
+ * @param walletId Wallet ID
23
+ * @param options Request options (signal, timeout)
24
+ * @returns Wallet details
25
+ */
26
+ get(walletId: string, options?: RequestOptions): Promise<Wallet>;
27
+ /**
28
+ * List wallets.
29
+ *
30
+ * @param agentId Optional agent ID filter
31
+ * @param limit Maximum number of wallets to return
32
+ * @param options Request options (signal, timeout)
33
+ * @returns List of wallets
34
+ */
35
+ list(agentId?: string, limit?: number, options?: RequestOptions): Promise<Wallet[]>;
36
+ /**
37
+ * Get wallet balance from chain (non-custodial, read-only).
38
+ *
39
+ * @param walletId Wallet ID
40
+ * @param chain Chain identifier (e.g., "base", "polygon")
41
+ * @param token Token symbol (e.g., "USDC", "USDT")
42
+ * @param options Request options (signal, timeout)
43
+ * @returns Wallet balance from chain
44
+ */
45
+ getBalance(walletId: string, chain?: string, token?: string, options?: RequestOptions): Promise<WalletBalance>;
46
+ /**
47
+ * Get all wallet addresses (chain -> address mapping).
48
+ *
49
+ * @param walletId Wallet ID
50
+ * @param options Request options (signal, timeout)
51
+ * @returns Dictionary mapping chain names to addresses
52
+ */
53
+ getAddresses(walletId: string, options?: RequestOptions): Promise<Record<string, string>>;
54
+ /**
55
+ * Set wallet address for a chain.
56
+ *
57
+ * @param walletId Wallet ID
58
+ * @param input Address information
59
+ * @param options Request options (signal, timeout)
60
+ * @returns Updated wallet
61
+ */
62
+ setAddress(walletId: string, input: SetAddressInput, options?: RequestOptions): Promise<Wallet>;
63
+ /**
64
+ * Transfer stablecoins from a wallet (agent is sender).
65
+ *
66
+ * This endpoint is intended to be called by an agent process using an API key.
67
+ * Sardis enforces policy + compliance and signs via the agent MPC wallet.
68
+ */
69
+ transfer(walletId: string, input: WalletTransferInput, options?: RequestOptions): Promise<WalletTransferResponse>;
70
+ }
71
+ //# sourceMappingURL=wallets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../src/resources/wallets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,UAAU;IAQlB;;;;;;OAMG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjF;;;;;;OAMG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtE;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB9F;;;;;;;;OAQG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,MAAe,EACtB,KAAK,GAAE,MAAe,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAOzB;;;;;;OAMG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAQ/F;;;;;;;OAOG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;IASlB;;;;;OAKG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,mBAAmB,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,sBAAsB,CAAC;CAOnC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Wallets Resource
3
+ *
4
+ * Manages non-custodial wallets for agents.
5
+ * Wallets never hold funds - they only sign transactions via MPC.
6
+ */
7
+ import { BaseResource } from './base.js';
8
+ export class WalletsResource extends BaseResource {
9
+ _normalize(wallet) {
10
+ // Provide backwards-compatible alias: id := wallet_id
11
+ if (!wallet.id) {
12
+ wallet.id = wallet.wallet_id;
13
+ }
14
+ return wallet;
15
+ }
16
+ /**
17
+ * Create a new non-custodial wallet for an agent.
18
+ *
19
+ * @param input Wallet creation parameters
20
+ * @param options Request options (signal, timeout)
21
+ * @returns Created wallet
22
+ */
23
+ async create(input, options) {
24
+ const wallet = await this._post('/api/v2/wallets', input, options);
25
+ return this._normalize(wallet);
26
+ }
27
+ /**
28
+ * Get a wallet by ID.
29
+ *
30
+ * @param walletId Wallet ID
31
+ * @param options Request options (signal, timeout)
32
+ * @returns Wallet details
33
+ */
34
+ async get(walletId, options) {
35
+ const wallet = await this._get(`/api/v2/wallets/${walletId}`, undefined, options);
36
+ return this._normalize(wallet);
37
+ }
38
+ /**
39
+ * List wallets.
40
+ *
41
+ * @param agentId Optional agent ID filter
42
+ * @param limit Maximum number of wallets to return
43
+ * @param options Request options (signal, timeout)
44
+ * @returns List of wallets
45
+ */
46
+ async list(agentId, limit = 100, options) {
47
+ const params = { limit };
48
+ if (agentId) {
49
+ params.agent_id = agentId;
50
+ }
51
+ const response = await this._get('/api/v2/wallets', params, options);
52
+ // Handle both array and object response formats
53
+ if (Array.isArray(response)) {
54
+ return response.map((w) => this._normalize(w));
55
+ }
56
+ return (response.wallets || []).map((w) => this._normalize(w));
57
+ }
58
+ /**
59
+ * Get wallet balance from chain (non-custodial, read-only).
60
+ *
61
+ * @param walletId Wallet ID
62
+ * @param chain Chain identifier (e.g., "base", "polygon")
63
+ * @param token Token symbol (e.g., "USDC", "USDT")
64
+ * @param options Request options (signal, timeout)
65
+ * @returns Wallet balance from chain
66
+ */
67
+ async getBalance(walletId, chain = 'base', token = 'USDC', options) {
68
+ return this._get(`/api/v2/wallets/${walletId}/balance`, {
69
+ chain,
70
+ token,
71
+ }, options);
72
+ }
73
+ /**
74
+ * Get all wallet addresses (chain -> address mapping).
75
+ *
76
+ * @param walletId Wallet ID
77
+ * @param options Request options (signal, timeout)
78
+ * @returns Dictionary mapping chain names to addresses
79
+ */
80
+ async getAddresses(walletId, options) {
81
+ return this._get(`/api/v2/wallets/${walletId}/addresses`, undefined, options);
82
+ }
83
+ /**
84
+ * Set wallet address for a chain.
85
+ *
86
+ * @param walletId Wallet ID
87
+ * @param input Address information
88
+ * @param options Request options (signal, timeout)
89
+ * @returns Updated wallet
90
+ */
91
+ async setAddress(walletId, input, options) {
92
+ const wallet = await this._post(`/api/v2/wallets/${walletId}/addresses`, input, options);
93
+ return this._normalize(wallet);
94
+ }
95
+ /**
96
+ * Transfer stablecoins from a wallet (agent is sender).
97
+ *
98
+ * This endpoint is intended to be called by an agent process using an API key.
99
+ * Sardis enforces policy + compliance and signs via the agent MPC wallet.
100
+ */
101
+ async transfer(walletId, input, options) {
102
+ return this._post(`/api/v2/wallets/${walletId}/transfer`, input, options);
103
+ }
104
+ }
105
+ //# sourceMappingURL=wallets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../src/resources/wallets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACvC,UAAU,CAAC,MAAc;QAC/B,sDAAsD;QACtD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAoC,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,KAAwB,EAAE,OAAwB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAS,iBAAiB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,OAAwB;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAS,mBAAmB,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,OAAgB,EAAE,QAAgB,GAAG,EAAE,OAAwB;QACxE,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC5B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC9B,iBAAiB,EACjB,MAAM,EACN,OAAO,CACR,CAAC;QAEF,gDAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,QAAgB,MAAM,EACtB,QAAgB,MAAM,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAgB,mBAAmB,QAAQ,UAAU,EAAE;YACrE,KAAK;YACL,KAAK;SACN,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,OAAwB;QAC3D,OAAO,IAAI,CAAC,IAAI,CACd,mBAAmB,QAAQ,YAAY,EACvC,SAAS,EACT,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,KAAsB,EACtB,OAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAC7B,mBAAmB,QAAQ,YAAY,EACvC,KAAK,EACL,OAAO,CACR,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,KAA0B,EAC1B,OAAwB;QAExB,OAAO,IAAI,CAAC,KAAK,CACf,mBAAmB,QAAQ,WAAW,EACtC,KAAK,EACL,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Webhooks resource
3
+ */
4
+ import { BaseResource } from './base.js';
5
+ import type { Webhook, WebhookDelivery, CreateWebhookInput, UpdateWebhookInput } from '../types.js';
6
+ export declare class WebhooksResource extends BaseResource {
7
+ /**
8
+ * List all available webhook event types
9
+ */
10
+ listEventTypes(): Promise<string[]>;
11
+ /**
12
+ * Create a webhook subscription
13
+ */
14
+ create(input: CreateWebhookInput): Promise<Webhook>;
15
+ /**
16
+ * List all webhook subscriptions
17
+ */
18
+ list(): Promise<Webhook[]>;
19
+ /**
20
+ * Get a webhook subscription by ID
21
+ *
22
+ * @param webhookId - The webhook ID
23
+ * @returns The webhook object
24
+ */
25
+ get(webhookId: string): Promise<Webhook>;
26
+ /**
27
+ * Get a webhook subscription by ID
28
+ *
29
+ * @deprecated Use `get(webhookId)` instead. This method will be removed in v1.0.0.
30
+ * @param webhookId - The webhook ID
31
+ * @returns The webhook object
32
+ */
33
+ getById(webhookId: string): Promise<Webhook>;
34
+ /**
35
+ * Update a webhook subscription
36
+ */
37
+ update(webhookId: string, input: UpdateWebhookInput): Promise<Webhook>;
38
+ /**
39
+ * Delete a webhook subscription
40
+ */
41
+ delete(webhookId: string): Promise<void>;
42
+ /**
43
+ * Send a test event to a webhook
44
+ */
45
+ test(webhookId: string): Promise<WebhookDelivery>;
46
+ /**
47
+ * List delivery attempts for a webhook
48
+ */
49
+ listDeliveries(webhookId: string, limit?: number): Promise<WebhookDelivery[]>;
50
+ /**
51
+ * Rotate the webhook signing secret
52
+ */
53
+ rotateSecret(webhookId: string): Promise<{
54
+ secret: string;
55
+ }>;
56
+ }
57
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpG,qBAAa,gBAAiB,SAAQ,YAAY;IAChD;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKzC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAKhC;;;;;OAKG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9C;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIvD;;OAEG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAQvF;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAGnE"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Webhooks resource
3
+ */
4
+ import { BaseResource } from './base.js';
5
+ export class WebhooksResource extends BaseResource {
6
+ /**
7
+ * List all available webhook event types
8
+ */
9
+ async listEventTypes() {
10
+ const response = await this._get('/api/v2/webhooks/event-types');
11
+ return response.event_types || [];
12
+ }
13
+ /**
14
+ * Create a webhook subscription
15
+ */
16
+ async create(input) {
17
+ return this._post('/api/v2/webhooks', input);
18
+ }
19
+ /**
20
+ * List all webhook subscriptions
21
+ */
22
+ async list() {
23
+ const response = await this._get('/api/v2/webhooks');
24
+ return response.webhooks || [];
25
+ }
26
+ /**
27
+ * Get a webhook subscription by ID
28
+ *
29
+ * @param webhookId - The webhook ID
30
+ * @returns The webhook object
31
+ */
32
+ async get(webhookId) {
33
+ return this._get(`/api/v2/webhooks/${webhookId}`);
34
+ }
35
+ /**
36
+ * Get a webhook subscription by ID
37
+ *
38
+ * @deprecated Use `get(webhookId)` instead. This method will be removed in v1.0.0.
39
+ * @param webhookId - The webhook ID
40
+ * @returns The webhook object
41
+ */
42
+ async getById(webhookId) {
43
+ return this.get(webhookId);
44
+ }
45
+ /**
46
+ * Update a webhook subscription
47
+ */
48
+ async update(webhookId, input) {
49
+ return this._patch(`/api/v2/webhooks/${webhookId}`, input);
50
+ }
51
+ /**
52
+ * Delete a webhook subscription
53
+ */
54
+ async delete(webhookId) {
55
+ await this._delete(`/api/v2/webhooks/${webhookId}`);
56
+ }
57
+ /**
58
+ * Send a test event to a webhook
59
+ */
60
+ async test(webhookId) {
61
+ return this._post(`/api/v2/webhooks/${webhookId}/test`, {});
62
+ }
63
+ /**
64
+ * List delivery attempts for a webhook
65
+ */
66
+ async listDeliveries(webhookId, limit = 50) {
67
+ const response = await this._get(`/api/v2/webhooks/${webhookId}/deliveries`, { limit });
68
+ return response.deliveries || [];
69
+ }
70
+ /**
71
+ * Rotate the webhook signing secret
72
+ */
73
+ async rotateSecret(webhookId) {
74
+ return this._post(`/api/v2/webhooks/${webhookId}/rotate-secret`, {});
75
+ }
76
+ }
77
+ //# sourceMappingURL=webhooks.js.map