@sly_ai/sdk 0.1.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 +346 -0
  2. package/dist/a2a.d.mts +108 -0
  3. package/dist/a2a.d.ts +108 -0
  4. package/dist/a2a.js +173 -0
  5. package/dist/a2a.js.map +1 -0
  6. package/dist/a2a.mjs +171 -0
  7. package/dist/a2a.mjs.map +1 -0
  8. package/dist/acp.d.mts +201 -0
  9. package/dist/acp.d.ts +201 -0
  10. package/dist/acp.js +143 -0
  11. package/dist/acp.js.map +1 -0
  12. package/dist/acp.mjs +141 -0
  13. package/dist/acp.mjs.map +1 -0
  14. package/dist/ap2.d.mts +188 -0
  15. package/dist/ap2.d.ts +188 -0
  16. package/dist/ap2.js +135 -0
  17. package/dist/ap2.js.map +1 -0
  18. package/dist/ap2.mjs +133 -0
  19. package/dist/ap2.mjs.map +1 -0
  20. package/dist/cards.d.mts +750 -0
  21. package/dist/cards.d.ts +750 -0
  22. package/dist/cards.js +373 -0
  23. package/dist/cards.js.map +1 -0
  24. package/dist/cards.mjs +369 -0
  25. package/dist/cards.mjs.map +1 -0
  26. package/dist/client-Cwe2CLU7.d.mts +41 -0
  27. package/dist/client-CyJe3uWO.d.ts +41 -0
  28. package/dist/index.d.mts +662 -0
  29. package/dist/index.d.ts +662 -0
  30. package/dist/index.js +2709 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/index.mjs +2700 -0
  33. package/dist/index.mjs.map +1 -0
  34. package/dist/langchain.d.mts +11 -0
  35. package/dist/langchain.d.ts +11 -0
  36. package/dist/langchain.js +25 -0
  37. package/dist/langchain.js.map +1 -0
  38. package/dist/langchain.mjs +23 -0
  39. package/dist/langchain.mjs.map +1 -0
  40. package/dist/types-df1EICn_.d.mts +165 -0
  41. package/dist/types-df1EICn_.d.ts +165 -0
  42. package/dist/ucp.d.mts +844 -0
  43. package/dist/ucp.d.ts +844 -0
  44. package/dist/ucp.js +616 -0
  45. package/dist/ucp.js.map +1 -0
  46. package/dist/ucp.mjs +614 -0
  47. package/dist/ucp.mjs.map +1 -0
  48. package/dist/vercel.d.mts +178 -0
  49. package/dist/vercel.d.ts +178 -0
  50. package/dist/vercel.js +143 -0
  51. package/dist/vercel.js.map +1 -0
  52. package/dist/vercel.mjs +138 -0
  53. package/dist/vercel.mjs.map +1 -0
  54. package/dist/x402.d.mts +209 -0
  55. package/dist/x402.d.ts +209 -0
  56. package/dist/x402.js +476 -0
  57. package/dist/x402.js.map +1 -0
  58. package/dist/x402.mjs +471 -0
  59. package/dist/x402.mjs.map +1 -0
  60. package/package.json +118 -0
package/dist/cards.mjs ADDED
@@ -0,0 +1,369 @@
1
+ // src/cards/index.ts
2
+ var VisaClient = class {
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ /**
7
+ * Create a Visa VIC payment instruction
8
+ */
9
+ async createInstruction(params) {
10
+ return this.client.request("/v1/cards/visa/instructions", {
11
+ method: "POST",
12
+ body: JSON.stringify(params)
13
+ });
14
+ }
15
+ /**
16
+ * Get a specific Visa payment instruction
17
+ */
18
+ async getInstruction(instructionId) {
19
+ return this.client.request(
20
+ `/v1/cards/visa/instructions/${instructionId}`
21
+ );
22
+ }
23
+ /**
24
+ * List Visa payment instructions
25
+ */
26
+ async listInstructions(options) {
27
+ const params = new URLSearchParams();
28
+ if (options?.status) params.set("status", options.status);
29
+ if (options?.limit) params.set("limit", String(options.limit));
30
+ if (options?.offset) params.set("offset", String(options.offset));
31
+ const query = params.toString();
32
+ return this.client.request(
33
+ `/v1/cards/visa/instructions${query ? `?${query}` : ""}`
34
+ );
35
+ }
36
+ /**
37
+ * Provision a VTS token for an instruction
38
+ */
39
+ async createToken(params) {
40
+ return this.client.request("/v1/cards/visa/tokens", {
41
+ method: "POST",
42
+ body: JSON.stringify(params)
43
+ });
44
+ }
45
+ /**
46
+ * Get a specific Visa token
47
+ */
48
+ async getToken(tokenId) {
49
+ return this.client.request(`/v1/cards/visa/tokens/${tokenId}`);
50
+ }
51
+ /**
52
+ * List Visa tokens
53
+ */
54
+ async listTokens(options) {
55
+ const params = new URLSearchParams();
56
+ if (options?.status) params.set("status", options.status);
57
+ if (options?.limit) params.set("limit", String(options.limit));
58
+ if (options?.offset) params.set("offset", String(options.offset));
59
+ const query = params.toString();
60
+ return this.client.request(
61
+ `/v1/cards/visa/tokens${query ? `?${query}` : ""}`
62
+ );
63
+ }
64
+ /**
65
+ * Suspend a Visa token
66
+ */
67
+ async suspendToken(tokenId) {
68
+ return this.client.request(
69
+ `/v1/cards/visa/tokens/${tokenId}`,
70
+ { method: "DELETE" }
71
+ );
72
+ }
73
+ };
74
+ var MastercardClient = class {
75
+ constructor(client) {
76
+ this.client = client;
77
+ }
78
+ /**
79
+ * Register an agent with Mastercard Agent Pay
80
+ */
81
+ async registerAgent(params) {
82
+ return this.client.request("/v1/cards/mastercard/agents", {
83
+ method: "POST",
84
+ body: JSON.stringify(params)
85
+ });
86
+ }
87
+ /**
88
+ * Get a specific Mastercard agent registration
89
+ */
90
+ async getAgent(agentId) {
91
+ return this.client.request(
92
+ `/v1/cards/mastercard/agents/${agentId}`
93
+ );
94
+ }
95
+ /**
96
+ * List registered Mastercard agents
97
+ */
98
+ async listAgents() {
99
+ return this.client.request(
100
+ "/v1/cards/mastercard/agents"
101
+ );
102
+ }
103
+ /**
104
+ * Create a Mastercard agentic token with DTVC
105
+ */
106
+ async createToken(params) {
107
+ return this.client.request("/v1/cards/mastercard/tokens", {
108
+ method: "POST",
109
+ body: JSON.stringify(params)
110
+ });
111
+ }
112
+ /**
113
+ * Get a Mastercard token, optionally refreshing the DTVC
114
+ */
115
+ async getToken(tokenReference, options) {
116
+ const query = options?.refresh ? "?refresh=true" : "";
117
+ return this.client.request(
118
+ `/v1/cards/mastercard/tokens/${tokenReference}${query}`
119
+ );
120
+ }
121
+ /**
122
+ * List Mastercard tokens
123
+ */
124
+ async listTokens(options) {
125
+ const params = new URLSearchParams();
126
+ if (options?.status) params.set("status", options.status);
127
+ if (options?.limit) params.set("limit", String(options.limit));
128
+ if (options?.offset) params.set("offset", String(options.offset));
129
+ const query = params.toString();
130
+ return this.client.request(
131
+ `/v1/cards/mastercard/tokens${query ? `?${query}` : ""}`
132
+ );
133
+ }
134
+ /**
135
+ * Revoke a Mastercard token
136
+ */
137
+ async revokeToken(tokenReference) {
138
+ return this.client.request(
139
+ `/v1/cards/mastercard/tokens/${tokenReference}`,
140
+ { method: "DELETE" }
141
+ );
142
+ }
143
+ };
144
+ var CardsClient = class {
145
+ constructor(client) {
146
+ this.client = client;
147
+ this.visa = new VisaClient(client);
148
+ this.mastercard = new MastercardClient(client);
149
+ }
150
+ /**
151
+ * Verify an AI agent's Web Bot Auth signature
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const result = await payos.cards.verifyAgentSignature({
156
+ * method: 'POST',
157
+ * path: '/checkout',
158
+ * headers: req.headers,
159
+ * signatureInput: req.headers['signature-input'],
160
+ * signature: req.headers['signature'],
161
+ * });
162
+ *
163
+ * if (result.valid) {
164
+ * console.log(`Verified ${result.network} agent from ${result.agentProvider}`);
165
+ * }
166
+ * ```
167
+ */
168
+ async verifyAgentSignature(params) {
169
+ return this.client.request("/v1/cards/verify", {
170
+ method: "POST",
171
+ body: JSON.stringify(params)
172
+ });
173
+ }
174
+ /**
175
+ * Get configured card networks and their status
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * const { networks, capabilities } = await payos.cards.getNetworks();
180
+ *
181
+ * if (networks.visa.configured) {
182
+ * console.log(`Visa: ${networks.visa.status}`);
183
+ * }
184
+ * ```
185
+ */
186
+ async getNetworks() {
187
+ return this.client.request("/v1/cards/networks");
188
+ }
189
+ /**
190
+ * Test connection to a card network
191
+ */
192
+ async testNetwork(network) {
193
+ return this.client.request(`/v1/cards/networks/${network}/test`, {
194
+ method: "POST"
195
+ });
196
+ }
197
+ /**
198
+ * Configure Visa VIC credentials
199
+ */
200
+ async configureVisa(params) {
201
+ return this.client.request("/v1/cards/networks/visa/configure", {
202
+ method: "POST",
203
+ body: JSON.stringify(params)
204
+ });
205
+ }
206
+ /**
207
+ * Configure Mastercard Agent Pay credentials
208
+ */
209
+ async configureMastercard(params) {
210
+ return this.client.request("/v1/cards/networks/mastercard/configure", {
211
+ method: "POST",
212
+ body: JSON.stringify(params)
213
+ });
214
+ }
215
+ /**
216
+ * Disconnect a card network
217
+ */
218
+ async disconnectNetwork(network) {
219
+ return this.client.request(
220
+ `/v1/cards/networks/${network}/disconnect`,
221
+ { method: "DELETE" }
222
+ );
223
+ }
224
+ /**
225
+ * Get comprehensive card network analytics
226
+ *
227
+ * @param days - Number of days to analyze (default: 30)
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * const analytics = await payos.cards.getAnalytics(30);
232
+ *
233
+ * console.log(`Success rate: ${analytics.verifications.successRate}%`);
234
+ * console.log(`Total volume: $${analytics.transactions.volume}`);
235
+ * ```
236
+ */
237
+ async getAnalytics(days = 30) {
238
+ return this.client.request(`/v1/cards/analytics?days=${days}`);
239
+ }
240
+ /**
241
+ * Get verification statistics
242
+ *
243
+ * @param days - Number of days to analyze (default: 30)
244
+ */
245
+ async getVerificationStats(days = 30) {
246
+ return this.client.request(`/v1/cards/verifications/stats?days=${days}`);
247
+ }
248
+ /**
249
+ * List card network transactions
250
+ */
251
+ async listTransactions(options) {
252
+ const params = new URLSearchParams();
253
+ if (options?.network) params.set("network", options.network);
254
+ if (options?.status) params.set("status", options.status);
255
+ if (options?.limit) params.set("limit", String(options.limit));
256
+ if (options?.offset) params.set("offset", String(options.offset));
257
+ const query = params.toString();
258
+ return this.client.request(
259
+ `/v1/cards/transactions${query ? `?${query}` : ""}`
260
+ );
261
+ }
262
+ /**
263
+ * Get a specific transaction
264
+ */
265
+ async getTransaction(transactionId) {
266
+ return this.client.request(`/v1/cards/transactions/${transactionId}`);
267
+ }
268
+ // ============================================
269
+ // Agent Signing Methods
270
+ // ============================================
271
+ /**
272
+ * Generate a signing key for an agent
273
+ *
274
+ * Creates an Ed25519 or RSA-SHA256 key pair for the agent to sign
275
+ * payment requests according to RFC 9421 (HTTP Message Signatures).
276
+ *
277
+ * @example
278
+ * ```typescript
279
+ * const key = await payos.cards.generateSigningKey('agent_123');
280
+ * console.log(`Public key: ${key.publicKey}`);
281
+ * // Register this public key with card networks (Visa TAP, MC Agent Pay)
282
+ * ```
283
+ */
284
+ async generateSigningKey(agentId, options) {
285
+ return this.client.request(
286
+ `/v1/agents/${agentId}/signing-keys`,
287
+ {
288
+ method: "POST",
289
+ body: JSON.stringify(options || {})
290
+ }
291
+ );
292
+ }
293
+ /**
294
+ * Get the signing key status for an agent
295
+ *
296
+ * @example
297
+ * ```typescript
298
+ * const status = await payos.cards.getSigningKey('agent_123');
299
+ * if (status.hasKey) {
300
+ * console.log(`Key: ${status.keyId}, Uses: ${status.stats.useCount}`);
301
+ * }
302
+ * ```
303
+ */
304
+ async getSigningKey(agentId) {
305
+ return this.client.request(`/v1/agents/${agentId}/signing-keys`);
306
+ }
307
+ /**
308
+ * Revoke an agent's signing key
309
+ *
310
+ * After revocation, the agent will need a new key to sign requests.
311
+ */
312
+ async revokeSigningKey(agentId) {
313
+ return this.client.request(
314
+ `/v1/agents/${agentId}/signing-keys`,
315
+ { method: "DELETE" }
316
+ );
317
+ }
318
+ /**
319
+ * Sign a payment request for an agent
320
+ *
321
+ * Signs an HTTP request according to RFC 9421 so the agent can
322
+ * authenticate with merchants and card networks.
323
+ *
324
+ * Requirements:
325
+ * - Agent must have KYA tier >= 1
326
+ * - Agent must be active
327
+ * - Agent must have a signing key
328
+ * - Payment must be within spending limits
329
+ *
330
+ * @example
331
+ * ```typescript
332
+ * // Sign a payment request
333
+ * const signed = await payos.cards.signRequest('agent_123', {
334
+ * method: 'POST',
335
+ * path: '/api/checkout',
336
+ * host: 'merchant.com',
337
+ * body: JSON.stringify({ items: [...], total: 99.99 }),
338
+ * payment: {
339
+ * amount: 99.99,
340
+ * currency: 'USD',
341
+ * merchantName: 'Acme Store',
342
+ * },
343
+ * });
344
+ *
345
+ * // Agent uses signed headers to call merchant
346
+ * const response = await fetch('https://merchant.com/api/checkout', {
347
+ * method: 'POST',
348
+ * headers: {
349
+ * ...signed.headers,
350
+ * 'Content-Type': 'application/json',
351
+ * },
352
+ * body: JSON.stringify({ items: [...], total: 99.99 }),
353
+ * });
354
+ * ```
355
+ */
356
+ async signRequest(agentId, request) {
357
+ return this.client.request(
358
+ `/v1/agents/${agentId}/sign-request`,
359
+ {
360
+ method: "POST",
361
+ body: JSON.stringify(request)
362
+ }
363
+ );
364
+ }
365
+ };
366
+
367
+ export { CardsClient, MastercardClient, VisaClient };
368
+ //# sourceMappingURL=cards.mjs.map
369
+ //# sourceMappingURL=cards.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cards/index.ts"],"names":[],"mappings":"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","file":"cards.mjs","sourcesContent":["/**\n * Card Networks Module\n *\n * Provides SDK integration for Visa VIC and Mastercard Agent Pay\n * for accepting payments from AI agents.\n */\n\nimport { PayOSClient } from '../client';\nimport type {\n VerifyAgentSignatureRequest,\n VerifyAgentSignatureResult,\n CardNetworksResponse,\n CardAnalyticsResponse,\n VerificationStats,\n CreateVisaInstructionRequest,\n VisaPaymentInstruction,\n PaginatedResponse,\n CreateVisaTokenRequest,\n VisaToken,\n RegisterMastercardAgentRequest,\n MastercardAgentRegistration,\n CreateMastercardTokenRequest,\n MastercardToken,\n CardTransaction,\n NetworkTestResult,\n ConfigureVisaRequest,\n ConfigureMastercardRequest,\n ConfigureResult,\n GenerateSigningKeyRequest,\n GenerateSigningKeyResult,\n SigningKeyStatus,\n SignRequestInput,\n SignRequestResult,\n DeleteSigningKeyResult,\n} from './types';\n\nexport * from './types';\n\n/**\n * Visa-specific operations\n */\nexport class VisaClient {\n constructor(private client: PayOSClient) {}\n\n /**\n * Create a Visa VIC payment instruction\n */\n async createInstruction(\n params: CreateVisaInstructionRequest\n ): Promise<VisaPaymentInstruction> {\n return this.client.request<VisaPaymentInstruction>('/v1/cards/visa/instructions', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Get a specific Visa payment instruction\n */\n async getInstruction(instructionId: string): Promise<VisaPaymentInstruction> {\n return this.client.request<VisaPaymentInstruction>(\n `/v1/cards/visa/instructions/${instructionId}`\n );\n }\n\n /**\n * List Visa payment instructions\n */\n async listInstructions(options?: {\n status?: string;\n limit?: number;\n offset?: number;\n }): Promise<PaginatedResponse<VisaPaymentInstruction>> {\n const params = new URLSearchParams();\n if (options?.status) params.set('status', options.status);\n if (options?.limit) params.set('limit', String(options.limit));\n if (options?.offset) params.set('offset', String(options.offset));\n const query = params.toString();\n return this.client.request<PaginatedResponse<VisaPaymentInstruction>>(\n `/v1/cards/visa/instructions${query ? `?${query}` : ''}`\n );\n }\n\n /**\n * Provision a VTS token for an instruction\n */\n async createToken(params: CreateVisaTokenRequest): Promise<VisaToken> {\n return this.client.request<VisaToken>('/v1/cards/visa/tokens', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Get a specific Visa token\n */\n async getToken(tokenId: string): Promise<VisaToken> {\n return this.client.request<VisaToken>(`/v1/cards/visa/tokens/${tokenId}`);\n }\n\n /**\n * List Visa tokens\n */\n async listTokens(options?: {\n status?: string;\n limit?: number;\n offset?: number;\n }): Promise<PaginatedResponse<VisaToken>> {\n const params = new URLSearchParams();\n if (options?.status) params.set('status', options.status);\n if (options?.limit) params.set('limit', String(options.limit));\n if (options?.offset) params.set('offset', String(options.offset));\n const query = params.toString();\n return this.client.request<PaginatedResponse<VisaToken>>(\n `/v1/cards/visa/tokens${query ? `?${query}` : ''}`\n );\n }\n\n /**\n * Suspend a Visa token\n */\n async suspendToken(tokenId: string): Promise<{ success: boolean; message: string }> {\n return this.client.request<{ success: boolean; message: string }>(\n `/v1/cards/visa/tokens/${tokenId}`,\n { method: 'DELETE' }\n );\n }\n}\n\n/**\n * Mastercard-specific operations\n */\nexport class MastercardClient {\n constructor(private client: PayOSClient) {}\n\n /**\n * Register an agent with Mastercard Agent Pay\n */\n async registerAgent(\n params: RegisterMastercardAgentRequest\n ): Promise<MastercardAgentRegistration> {\n return this.client.request<MastercardAgentRegistration>('/v1/cards/mastercard/agents', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Get a specific Mastercard agent registration\n */\n async getAgent(agentId: string): Promise<MastercardAgentRegistration> {\n return this.client.request<MastercardAgentRegistration>(\n `/v1/cards/mastercard/agents/${agentId}`\n );\n }\n\n /**\n * List registered Mastercard agents\n */\n async listAgents(): Promise<{ data: MastercardAgentRegistration[] }> {\n return this.client.request<{ data: MastercardAgentRegistration[] }>(\n '/v1/cards/mastercard/agents'\n );\n }\n\n /**\n * Create a Mastercard agentic token with DTVC\n */\n async createToken(params: CreateMastercardTokenRequest): Promise<MastercardToken> {\n return this.client.request<MastercardToken>('/v1/cards/mastercard/tokens', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Get a Mastercard token, optionally refreshing the DTVC\n */\n async getToken(tokenReference: string, options?: { refresh?: boolean }): Promise<MastercardToken> {\n const query = options?.refresh ? '?refresh=true' : '';\n return this.client.request<MastercardToken>(\n `/v1/cards/mastercard/tokens/${tokenReference}${query}`\n );\n }\n\n /**\n * List Mastercard tokens\n */\n async listTokens(options?: {\n status?: string;\n limit?: number;\n offset?: number;\n }): Promise<PaginatedResponse<MastercardToken>> {\n const params = new URLSearchParams();\n if (options?.status) params.set('status', options.status);\n if (options?.limit) params.set('limit', String(options.limit));\n if (options?.offset) params.set('offset', String(options.offset));\n const query = params.toString();\n return this.client.request<PaginatedResponse<MastercardToken>>(\n `/v1/cards/mastercard/tokens${query ? `?${query}` : ''}`\n );\n }\n\n /**\n * Revoke a Mastercard token\n */\n async revokeToken(tokenReference: string): Promise<{ success: boolean; message: string }> {\n return this.client.request<{ success: boolean; message: string }>(\n `/v1/cards/mastercard/tokens/${tokenReference}`,\n { method: 'DELETE' }\n );\n }\n}\n\n/**\n * Cards Module - Main client for card network operations\n *\n * Provides unified access to:\n * - Web Bot Auth signature verification\n * - Network configuration and status\n * - Visa VIC payment instructions and tokens\n * - Mastercard Agent Pay registration and tokens\n * - Analytics and transactions\n */\nexport class CardsClient {\n /** Visa-specific operations */\n public readonly visa: VisaClient;\n /** Mastercard-specific operations */\n public readonly mastercard: MastercardClient;\n\n constructor(private client: PayOSClient) {\n this.visa = new VisaClient(client);\n this.mastercard = new MastercardClient(client);\n }\n\n /**\n * Verify an AI agent's Web Bot Auth signature\n *\n * @example\n * ```typescript\n * const result = await payos.cards.verifyAgentSignature({\n * method: 'POST',\n * path: '/checkout',\n * headers: req.headers,\n * signatureInput: req.headers['signature-input'],\n * signature: req.headers['signature'],\n * });\n *\n * if (result.valid) {\n * console.log(`Verified ${result.network} agent from ${result.agentProvider}`);\n * }\n * ```\n */\n async verifyAgentSignature(\n params: VerifyAgentSignatureRequest\n ): Promise<VerifyAgentSignatureResult> {\n return this.client.request<VerifyAgentSignatureResult>('/v1/cards/verify', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Get configured card networks and their status\n *\n * @example\n * ```typescript\n * const { networks, capabilities } = await payos.cards.getNetworks();\n *\n * if (networks.visa.configured) {\n * console.log(`Visa: ${networks.visa.status}`);\n * }\n * ```\n */\n async getNetworks(): Promise<CardNetworksResponse> {\n return this.client.request<CardNetworksResponse>('/v1/cards/networks');\n }\n\n /**\n * Test connection to a card network\n */\n async testNetwork(network: 'visa' | 'mastercard'): Promise<NetworkTestResult> {\n return this.client.request<NetworkTestResult>(`/v1/cards/networks/${network}/test`, {\n method: 'POST',\n });\n }\n\n /**\n * Configure Visa VIC credentials\n */\n async configureVisa(params: ConfigureVisaRequest): Promise<ConfigureResult> {\n return this.client.request<ConfigureResult>('/v1/cards/networks/visa/configure', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Configure Mastercard Agent Pay credentials\n */\n async configureMastercard(params: ConfigureMastercardRequest): Promise<ConfigureResult> {\n return this.client.request<ConfigureResult>('/v1/cards/networks/mastercard/configure', {\n method: 'POST',\n body: JSON.stringify(params),\n });\n }\n\n /**\n * Disconnect a card network\n */\n async disconnectNetwork(network: 'visa' | 'mastercard'): Promise<{ success: boolean; message: string }> {\n return this.client.request<{ success: boolean; message: string }>(\n `/v1/cards/networks/${network}/disconnect`,\n { method: 'DELETE' }\n );\n }\n\n /**\n * Get comprehensive card network analytics\n *\n * @param days - Number of days to analyze (default: 30)\n *\n * @example\n * ```typescript\n * const analytics = await payos.cards.getAnalytics(30);\n *\n * console.log(`Success rate: ${analytics.verifications.successRate}%`);\n * console.log(`Total volume: $${analytics.transactions.volume}`);\n * ```\n */\n async getAnalytics(days = 30): Promise<CardAnalyticsResponse> {\n return this.client.request<CardAnalyticsResponse>(`/v1/cards/analytics?days=${days}`);\n }\n\n /**\n * Get verification statistics\n *\n * @param days - Number of days to analyze (default: 30)\n */\n async getVerificationStats(days = 30): Promise<VerificationStats> {\n return this.client.request<VerificationStats>(`/v1/cards/verifications/stats?days=${days}`);\n }\n\n /**\n * List card network transactions\n */\n async listTransactions(options?: {\n network?: 'visa' | 'mastercard';\n status?: string;\n limit?: number;\n offset?: number;\n }): Promise<PaginatedResponse<CardTransaction>> {\n const params = new URLSearchParams();\n if (options?.network) params.set('network', options.network);\n if (options?.status) params.set('status', options.status);\n if (options?.limit) params.set('limit', String(options.limit));\n if (options?.offset) params.set('offset', String(options.offset));\n const query = params.toString();\n return this.client.request<PaginatedResponse<CardTransaction>>(\n `/v1/cards/transactions${query ? `?${query}` : ''}`\n );\n }\n\n /**\n * Get a specific transaction\n */\n async getTransaction(transactionId: string): Promise<CardTransaction> {\n return this.client.request<CardTransaction>(`/v1/cards/transactions/${transactionId}`);\n }\n\n // ============================================\n // Agent Signing Methods\n // ============================================\n\n /**\n * Generate a signing key for an agent\n *\n * Creates an Ed25519 or RSA-SHA256 key pair for the agent to sign\n * payment requests according to RFC 9421 (HTTP Message Signatures).\n *\n * @example\n * ```typescript\n * const key = await payos.cards.generateSigningKey('agent_123');\n * console.log(`Public key: ${key.publicKey}`);\n * // Register this public key with card networks (Visa TAP, MC Agent Pay)\n * ```\n */\n async generateSigningKey(\n agentId: string,\n options?: GenerateSigningKeyRequest\n ): Promise<GenerateSigningKeyResult> {\n return this.client.request<GenerateSigningKeyResult>(\n `/v1/agents/${agentId}/signing-keys`,\n {\n method: 'POST',\n body: JSON.stringify(options || {}),\n }\n );\n }\n\n /**\n * Get the signing key status for an agent\n *\n * @example\n * ```typescript\n * const status = await payos.cards.getSigningKey('agent_123');\n * if (status.hasKey) {\n * console.log(`Key: ${status.keyId}, Uses: ${status.stats.useCount}`);\n * }\n * ```\n */\n async getSigningKey(agentId: string): Promise<SigningKeyStatus> {\n return this.client.request<SigningKeyStatus>(`/v1/agents/${agentId}/signing-keys`);\n }\n\n /**\n * Revoke an agent's signing key\n *\n * After revocation, the agent will need a new key to sign requests.\n */\n async revokeSigningKey(agentId: string): Promise<DeleteSigningKeyResult> {\n return this.client.request<DeleteSigningKeyResult>(\n `/v1/agents/${agentId}/signing-keys`,\n { method: 'DELETE' }\n );\n }\n\n /**\n * Sign a payment request for an agent\n *\n * Signs an HTTP request according to RFC 9421 so the agent can\n * authenticate with merchants and card networks.\n *\n * Requirements:\n * - Agent must have KYA tier >= 1\n * - Agent must be active\n * - Agent must have a signing key\n * - Payment must be within spending limits\n *\n * @example\n * ```typescript\n * // Sign a payment request\n * const signed = await payos.cards.signRequest('agent_123', {\n * method: 'POST',\n * path: '/api/checkout',\n * host: 'merchant.com',\n * body: JSON.stringify({ items: [...], total: 99.99 }),\n * payment: {\n * amount: 99.99,\n * currency: 'USD',\n * merchantName: 'Acme Store',\n * },\n * });\n *\n * // Agent uses signed headers to call merchant\n * const response = await fetch('https://merchant.com/api/checkout', {\n * method: 'POST',\n * headers: {\n * ...signed.headers,\n * 'Content-Type': 'application/json',\n * },\n * body: JSON.stringify({ items: [...], total: 99.99 }),\n * });\n * ```\n */\n async signRequest(\n agentId: string,\n request: SignRequestInput\n ): Promise<SignRequestResult> {\n return this.client.request<SignRequestResult>(\n `/v1/agents/${agentId}/sign-request`,\n {\n method: 'POST',\n body: JSON.stringify(request),\n }\n );\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { b as SlyConfig, c as SettlementQuoteRequest, S as SettlementQuote, d as CreateSettlementRequest, a as Settlement, e as ComplianceCheckRequest, C as ComplianceCheckResponse, f as CapabilitiesResponse } from './types-df1EICn_.mjs';
2
+
3
+ /**
4
+ * Base API client for Sly
5
+ *
6
+ * Note: EVM key validation is intentionally NOT done here.
7
+ * The base client only makes REST API calls (Bearer token auth).
8
+ * Protocol-specific clients (x402, etc.) that need EVM signing
9
+ * validate the key themselves.
10
+ */
11
+ declare class SlyClient {
12
+ private apiKey;
13
+ private apiUrl;
14
+ constructor(config: SlyConfig);
15
+ /**
16
+ * Make an authenticated API request
17
+ */
18
+ request<T>(path: string, options?: RequestInit): Promise<T>;
19
+ /**
20
+ * Get a settlement quote
21
+ */
22
+ getSettlementQuote(request: SettlementQuoteRequest): Promise<SettlementQuote>;
23
+ /**
24
+ * Create a settlement
25
+ */
26
+ createSettlement(request: CreateSettlementRequest): Promise<Settlement>;
27
+ /**
28
+ * Get settlement status
29
+ */
30
+ getSettlement(settlementId: string): Promise<Settlement>;
31
+ /**
32
+ * Check compliance for a recipient
33
+ */
34
+ checkCompliance(request: ComplianceCheckRequest): Promise<ComplianceCheckResponse>;
35
+ /**
36
+ * Get API capabilities
37
+ */
38
+ getCapabilities(): Promise<CapabilitiesResponse>;
39
+ }
40
+
41
+ export { SlyClient as S };
@@ -0,0 +1,41 @@
1
+ import { b as SlyConfig, c as SettlementQuoteRequest, S as SettlementQuote, d as CreateSettlementRequest, a as Settlement, e as ComplianceCheckRequest, C as ComplianceCheckResponse, f as CapabilitiesResponse } from './types-df1EICn_.js';
2
+
3
+ /**
4
+ * Base API client for Sly
5
+ *
6
+ * Note: EVM key validation is intentionally NOT done here.
7
+ * The base client only makes REST API calls (Bearer token auth).
8
+ * Protocol-specific clients (x402, etc.) that need EVM signing
9
+ * validate the key themselves.
10
+ */
11
+ declare class SlyClient {
12
+ private apiKey;
13
+ private apiUrl;
14
+ constructor(config: SlyConfig);
15
+ /**
16
+ * Make an authenticated API request
17
+ */
18
+ request<T>(path: string, options?: RequestInit): Promise<T>;
19
+ /**
20
+ * Get a settlement quote
21
+ */
22
+ getSettlementQuote(request: SettlementQuoteRequest): Promise<SettlementQuote>;
23
+ /**
24
+ * Create a settlement
25
+ */
26
+ createSettlement(request: CreateSettlementRequest): Promise<Settlement>;
27
+ /**
28
+ * Get settlement status
29
+ */
30
+ getSettlement(settlementId: string): Promise<Settlement>;
31
+ /**
32
+ * Check compliance for a recipient
33
+ */
34
+ checkCompliance(request: ComplianceCheckRequest): Promise<ComplianceCheckResponse>;
35
+ /**
36
+ * Get API capabilities
37
+ */
38
+ getCapabilities(): Promise<CapabilitiesResponse>;
39
+ }
40
+
41
+ export { SlyClient as S };