@aws-sdk/client-bedrock-agentcore 3.1043.0 → 3.1045.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 (71) hide show
  1. package/README.md +77 -0
  2. package/dist-cjs/index.js +217 -0
  3. package/dist-cjs/schemas/schemas_0.js +458 -33
  4. package/dist-es/BedrockAgentCore.js +26 -0
  5. package/dist-es/commands/CreatePaymentInstrumentCommand.js +16 -0
  6. package/dist-es/commands/CreatePaymentSessionCommand.js +16 -0
  7. package/dist-es/commands/DeletePaymentInstrumentCommand.js +16 -0
  8. package/dist-es/commands/DeletePaymentSessionCommand.js +16 -0
  9. package/dist-es/commands/GetPaymentInstrumentBalanceCommand.js +16 -0
  10. package/dist-es/commands/GetPaymentInstrumentCommand.js +16 -0
  11. package/dist-es/commands/GetPaymentSessionCommand.js +16 -0
  12. package/dist-es/commands/GetResourcePaymentTokenCommand.js +16 -0
  13. package/dist-es/commands/ListPaymentInstrumentsCommand.js +16 -0
  14. package/dist-es/commands/ListPaymentSessionsCommand.js +16 -0
  15. package/dist-es/commands/ProcessPaymentCommand.js +16 -0
  16. package/dist-es/commands/index.js +11 -0
  17. package/dist-es/models/enums.js +45 -0
  18. package/dist-es/pagination/ListPaymentInstrumentsPaginator.js +4 -0
  19. package/dist-es/pagination/ListPaymentSessionsPaginator.js +4 -0
  20. package/dist-es/pagination/index.js +2 -0
  21. package/dist-es/schemas/schemas_0.js +449 -25
  22. package/dist-types/BedrockAgentCore.d.ts +91 -0
  23. package/dist-types/BedrockAgentCoreClient.d.ts +13 -2
  24. package/dist-types/commands/CreatePaymentInstrumentCommand.d.ts +212 -0
  25. package/dist-types/commands/CreatePaymentSessionCommand.d.ts +122 -0
  26. package/dist-types/commands/DeletePaymentInstrumentCommand.d.ts +110 -0
  27. package/dist-types/commands/DeletePaymentSessionCommand.d.ts +105 -0
  28. package/dist-types/commands/GetPaymentInstrumentBalanceCommand.d.ts +102 -0
  29. package/dist-types/commands/GetPaymentInstrumentCommand.d.ts +155 -0
  30. package/dist-types/commands/GetPaymentSessionCommand.d.ts +112 -0
  31. package/dist-types/commands/GetResourcePaymentTokenCommand.d.ts +119 -0
  32. package/dist-types/commands/InvokeHarnessCommand.d.ts +1 -1
  33. package/dist-types/commands/ListPaymentInstrumentsCommand.d.ts +103 -0
  34. package/dist-types/commands/ListPaymentSessionsCommand.d.ts +100 -0
  35. package/dist-types/commands/ProcessPaymentCommand.d.ts +117 -0
  36. package/dist-types/commands/RetrieveMemoryRecordsCommand.d.ts +1 -1
  37. package/dist-types/commands/SearchRegistryRecordsCommand.d.ts +1 -2
  38. package/dist-types/commands/StartMemoryExtractionJobCommand.d.ts +1 -1
  39. package/dist-types/commands/index.d.ts +11 -0
  40. package/dist-types/models/enums.d.ts +140 -0
  41. package/dist-types/models/models_0.d.ts +222 -154
  42. package/dist-types/models/models_1.d.ts +1321 -2
  43. package/dist-types/pagination/ListPaymentInstrumentsPaginator.d.ts +7 -0
  44. package/dist-types/pagination/ListPaymentSessionsPaginator.d.ts +7 -0
  45. package/dist-types/pagination/index.d.ts +2 -0
  46. package/dist-types/schemas/schemas_0.d.ts +59 -0
  47. package/dist-types/ts3.4/BedrockAgentCore.d.ts +201 -0
  48. package/dist-types/ts3.4/BedrockAgentCoreClient.d.ts +66 -0
  49. package/dist-types/ts3.4/commands/CreatePaymentInstrumentCommand.d.ts +51 -0
  50. package/dist-types/ts3.4/commands/CreatePaymentSessionCommand.d.ts +51 -0
  51. package/dist-types/ts3.4/commands/DeletePaymentInstrumentCommand.d.ts +51 -0
  52. package/dist-types/ts3.4/commands/DeletePaymentSessionCommand.d.ts +51 -0
  53. package/dist-types/ts3.4/commands/GetPaymentInstrumentBalanceCommand.d.ts +51 -0
  54. package/dist-types/ts3.4/commands/GetPaymentInstrumentCommand.d.ts +51 -0
  55. package/dist-types/ts3.4/commands/GetPaymentSessionCommand.d.ts +51 -0
  56. package/dist-types/ts3.4/commands/GetResourcePaymentTokenCommand.d.ts +51 -0
  57. package/dist-types/ts3.4/commands/ListPaymentInstrumentsCommand.d.ts +51 -0
  58. package/dist-types/ts3.4/commands/ListPaymentSessionsCommand.d.ts +51 -0
  59. package/dist-types/ts3.4/commands/ProcessPaymentCommand.d.ts +50 -0
  60. package/dist-types/ts3.4/commands/RetrieveMemoryRecordsCommand.d.ts +1 -1
  61. package/dist-types/ts3.4/commands/SearchRegistryRecordsCommand.d.ts +4 -2
  62. package/dist-types/ts3.4/commands/StartMemoryExtractionJobCommand.d.ts +1 -1
  63. package/dist-types/ts3.4/commands/index.d.ts +11 -0
  64. package/dist-types/ts3.4/models/enums.d.ts +62 -0
  65. package/dist-types/ts3.4/models/models_0.d.ts +84 -38
  66. package/dist-types/ts3.4/models/models_1.d.ts +423 -2
  67. package/dist-types/ts3.4/pagination/ListPaymentInstrumentsPaginator.d.ts +11 -0
  68. package/dist-types/ts3.4/pagination/ListPaymentSessionsPaginator.d.ts +11 -0
  69. package/dist-types/ts3.4/pagination/index.d.ts +2 -0
  70. package/dist-types/ts3.4/schemas/schemas_0.d.ts +59 -0
  71. package/package.json +1 -1
@@ -1,5 +1,1324 @@
1
- import type { DescriptorType, RegistryRecordStatus } from "./enums";
2
- import type { A2aDescriptor, AgentSkillsDescriptor, CustomDescriptor } from "./models_0";
1
+ import type { DocumentType as __DocumentType } from "@smithy/types";
2
+ import type { BlockchainChainId, CryptoWalletNetwork, Currency, DescriptorType, InstrumentBalanceToken, PaymentInstrumentStatus, PaymentInstrumentType, PaymentSessionStatus, PaymentStatus, PaymentType, RegistryRecordStatus } from "./enums";
3
+ import type { A2aDescriptor, AgentSkillsDescriptor, MemoryMetadataFilterExpression, MemoryRecordSummary } from "./models_0";
4
+ /**
5
+ * <p>Contains search criteria for retrieving memory records.</p>
6
+ * @public
7
+ */
8
+ export interface SearchCriteria {
9
+ /**
10
+ * <p>The search query to use for finding relevant memory records.</p>
11
+ * @public
12
+ */
13
+ searchQuery: string | undefined;
14
+ /**
15
+ * <p>The memory strategy identifier to filter memory records by.</p>
16
+ * @public
17
+ */
18
+ memoryStrategyId?: string | undefined;
19
+ /**
20
+ * <p>The maximum number of top-scoring memory records to return. This value is used for semantic search ranking.</p>
21
+ * @public
22
+ */
23
+ topK?: number | undefined;
24
+ /**
25
+ * <p>Filters to apply to metadata associated with a memory.</p>
26
+ * @public
27
+ */
28
+ metadataFilters?: MemoryMetadataFilterExpression[] | undefined;
29
+ }
30
+ /**
31
+ * @public
32
+ */
33
+ export interface RetrieveMemoryRecordsInput {
34
+ /**
35
+ * <p>The identifier of the AgentCore Memory resource from which to retrieve memory records.</p>
36
+ * @public
37
+ */
38
+ memoryId: string | undefined;
39
+ /**
40
+ * <p>The namespace prefix to filter memory records by. Searches for memory records in namespaces that start with the provided prefix.</p>
41
+ * @public
42
+ */
43
+ namespace?: string | undefined;
44
+ /**
45
+ * <p>Use namespacePath for hierarchical retrievals. Return all memory records where namespace falls under the same parent hierarchy.</p>
46
+ * @public
47
+ */
48
+ namespacePath?: string | undefined;
49
+ /**
50
+ * <p>The search criteria to use for finding relevant memory records. This includes the search query, memory strategy ID, and other search parameters.</p>
51
+ * @public
52
+ */
53
+ searchCriteria: SearchCriteria | undefined;
54
+ /**
55
+ * <p>The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.</p>
56
+ * @public
57
+ */
58
+ nextToken?: string | undefined;
59
+ /**
60
+ * <p>The maximum number of results to return in a single call. The default value is 20.</p>
61
+ * @public
62
+ */
63
+ maxResults?: number | undefined;
64
+ }
65
+ /**
66
+ * @public
67
+ */
68
+ export interface RetrieveMemoryRecordsOutput {
69
+ /**
70
+ * <p>The list of memory record summaries that match the search criteria, ordered by relevance.</p>
71
+ * @public
72
+ */
73
+ memoryRecordSummaries: MemoryRecordSummary[] | undefined;
74
+ /**
75
+ * <p>The token to use in a subsequent request to get the next set of results. This value is null when there are no more results to return.</p>
76
+ * @public
77
+ */
78
+ nextToken?: string | undefined;
79
+ }
80
+ /**
81
+ * <p>Represents the metadata of a memory extraction job such as the message identifiers that compose this job.</p>
82
+ * @public
83
+ */
84
+ export interface ExtractionJob {
85
+ /**
86
+ * <p>The unique identifier of the extraction job.</p>
87
+ * @public
88
+ */
89
+ jobId: string | undefined;
90
+ }
91
+ /**
92
+ * @public
93
+ */
94
+ export interface StartMemoryExtractionJobInput {
95
+ /**
96
+ * <p>The unique identifier of the memory for which to start extraction jobs.</p>
97
+ * @public
98
+ */
99
+ memoryId: string | undefined;
100
+ /**
101
+ * <p>Extraction job to start in this operation.</p>
102
+ * @public
103
+ */
104
+ extractionJob: ExtractionJob | undefined;
105
+ /**
106
+ * <p>A unique, case-sensitive identifier to ensure idempotent processing of the request.</p>
107
+ * @public
108
+ */
109
+ clientToken?: string | undefined;
110
+ }
111
+ /**
112
+ * @public
113
+ */
114
+ export interface StartMemoryExtractionJobOutput {
115
+ /**
116
+ * <p>Extraction Job ID that was attempted to start.</p>
117
+ * @public
118
+ */
119
+ jobId: string | undefined;
120
+ }
121
+ /**
122
+ * Authentication method using JWT with key ID and subject claims.
123
+ * @public
124
+ */
125
+ export interface LinkedAccountDeveloperJwt {
126
+ /**
127
+ * The key ID (kid) from the JWT header.
128
+ * Identifies which key was used to sign the JWT.
129
+ * @public
130
+ */
131
+ kid: string | undefined;
132
+ /**
133
+ * The subject (sub) claim from the JWT payload.
134
+ * Identifies the principal that is the subject of the JWT.
135
+ * @public
136
+ */
137
+ sub: string | undefined;
138
+ }
139
+ /**
140
+ * LinkedAccount using an email address.
141
+ * @public
142
+ */
143
+ export interface LinkedAccountEmail {
144
+ /**
145
+ * The email address used for linkedAccount.
146
+ * Must be a valid email format.
147
+ * @public
148
+ */
149
+ emailAddress: string | undefined;
150
+ }
151
+ /**
152
+ * OAuth2 authentication information for third-party providers.
153
+ * Supports Google, Apple, X, Telegram, and GitHub providers.
154
+ * @public
155
+ */
156
+ export interface OAuth2Authentication {
157
+ /**
158
+ * The subject (sub) claim from the OAuth2 provider.
159
+ * Uniquely identifies the user at the provider.
160
+ * @public
161
+ */
162
+ sub: string | undefined;
163
+ /**
164
+ * The email address from the OAuth2 provider (optional).
165
+ * @public
166
+ */
167
+ emailAddress?: string | undefined;
168
+ /**
169
+ * The user's name from the OAuth2 provider (optional).
170
+ * @public
171
+ */
172
+ name?: string | undefined;
173
+ /**
174
+ * The username from the OAuth2 provider (optional).
175
+ * @public
176
+ */
177
+ username?: string | undefined;
178
+ }
179
+ /**
180
+ * Authentication method using OAuth2 providers.
181
+ * Supports Google, Apple, X, Telegram, and GitHub providers.
182
+ * @public
183
+ */
184
+ export type LinkedAccountOAuth2 = LinkedAccountOAuth2.AppleMember | LinkedAccountOAuth2.GithubMember | LinkedAccountOAuth2.GoogleMember | LinkedAccountOAuth2.TelegramMember | LinkedAccountOAuth2.XMember | LinkedAccountOAuth2.$UnknownMember;
185
+ /**
186
+ * @public
187
+ */
188
+ export declare namespace LinkedAccountOAuth2 {
189
+ /**
190
+ * Google OAuth2 authentication
191
+ * @public
192
+ */
193
+ interface GoogleMember {
194
+ google: OAuth2Authentication;
195
+ apple?: never;
196
+ x?: never;
197
+ telegram?: never;
198
+ github?: never;
199
+ $unknown?: never;
200
+ }
201
+ /**
202
+ * Apple OAuth2 authentication
203
+ * @public
204
+ */
205
+ interface AppleMember {
206
+ google?: never;
207
+ apple: OAuth2Authentication;
208
+ x?: never;
209
+ telegram?: never;
210
+ github?: never;
211
+ $unknown?: never;
212
+ }
213
+ /**
214
+ * X (formerly Twitter) OAuth2 authentication
215
+ * @public
216
+ */
217
+ interface XMember {
218
+ google?: never;
219
+ apple?: never;
220
+ x: OAuth2Authentication;
221
+ telegram?: never;
222
+ github?: never;
223
+ $unknown?: never;
224
+ }
225
+ /**
226
+ * Telegram OAuth2 authentication
227
+ * @public
228
+ */
229
+ interface TelegramMember {
230
+ google?: never;
231
+ apple?: never;
232
+ x?: never;
233
+ telegram: OAuth2Authentication;
234
+ github?: never;
235
+ $unknown?: never;
236
+ }
237
+ /**
238
+ * GitHub OAuth2 authentication
239
+ * @public
240
+ */
241
+ interface GithubMember {
242
+ google?: never;
243
+ apple?: never;
244
+ x?: never;
245
+ telegram?: never;
246
+ github: OAuth2Authentication;
247
+ $unknown?: never;
248
+ }
249
+ /**
250
+ * @public
251
+ */
252
+ interface $UnknownMember {
253
+ google?: never;
254
+ apple?: never;
255
+ x?: never;
256
+ telegram?: never;
257
+ github?: never;
258
+ $unknown: [string, any];
259
+ }
260
+ /**
261
+ * @deprecated unused in schema-serde mode.
262
+ *
263
+ */
264
+ interface Visitor<T> {
265
+ google: (value: OAuth2Authentication) => T;
266
+ apple: (value: OAuth2Authentication) => T;
267
+ x: (value: OAuth2Authentication) => T;
268
+ telegram: (value: OAuth2Authentication) => T;
269
+ github: (value: OAuth2Authentication) => T;
270
+ _: (name: string, value: any) => T;
271
+ }
272
+ }
273
+ /**
274
+ * LinkedAccount using a phone number in E.164 format.
275
+ * @public
276
+ */
277
+ export interface LinkedAccountSms {
278
+ /**
279
+ * The phone number in E.164 format (e.g., +1234567890).
280
+ * Must be a valid E.164 formatted phone number starting with + and containing 1-15 digits.
281
+ * @public
282
+ */
283
+ phoneNumber: string | undefined;
284
+ }
285
+ /**
286
+ * Represents different linkedAccounts that can be linked to an embedded wallet.
287
+ * This union supports multiple linkedAccount approaches: email, SMS, JWT, and OAuth2.
288
+ * @public
289
+ */
290
+ export type LinkedAccount = LinkedAccount.DeveloperJwtMember | LinkedAccount.EmailMember | LinkedAccount.OAuth2Member | LinkedAccount.SmsMember | LinkedAccount.$UnknownMember;
291
+ /**
292
+ * @public
293
+ */
294
+ export declare namespace LinkedAccount {
295
+ /**
296
+ * Email-based linkedAccount
297
+ * @public
298
+ */
299
+ interface EmailMember {
300
+ email: LinkedAccountEmail;
301
+ sms?: never;
302
+ developerJwt?: never;
303
+ oAuth2?: never;
304
+ $unknown?: never;
305
+ }
306
+ /**
307
+ * SMS-based linkedAccount using phone number
308
+ * @public
309
+ */
310
+ interface SmsMember {
311
+ email?: never;
312
+ sms: LinkedAccountSms;
313
+ developerJwt?: never;
314
+ oAuth2?: never;
315
+ $unknown?: never;
316
+ }
317
+ /**
318
+ * Developer JWT linkedAccount with key ID and subject
319
+ * @public
320
+ */
321
+ interface DeveloperJwtMember {
322
+ email?: never;
323
+ sms?: never;
324
+ developerJwt: LinkedAccountDeveloperJwt;
325
+ oAuth2?: never;
326
+ $unknown?: never;
327
+ }
328
+ /**
329
+ * OAuth2 provider linkedAccount (Google, Apple, X, Telegram, GitHub)
330
+ * @public
331
+ */
332
+ interface OAuth2Member {
333
+ email?: never;
334
+ sms?: never;
335
+ developerJwt?: never;
336
+ oAuth2: LinkedAccountOAuth2;
337
+ $unknown?: never;
338
+ }
339
+ /**
340
+ * @public
341
+ */
342
+ interface $UnknownMember {
343
+ email?: never;
344
+ sms?: never;
345
+ developerJwt?: never;
346
+ oAuth2?: never;
347
+ $unknown: [string, any];
348
+ }
349
+ /**
350
+ * @deprecated unused in schema-serde mode.
351
+ *
352
+ */
353
+ interface Visitor<T> {
354
+ email: (value: LinkedAccountEmail) => T;
355
+ sms: (value: LinkedAccountSms) => T;
356
+ developerJwt: (value: LinkedAccountDeveloperJwt) => T;
357
+ oAuth2: (value: LinkedAccountOAuth2) => T;
358
+ _: (name: string, value: any) => T;
359
+ }
360
+ }
361
+ /**
362
+ * Embedded Crypto wallet instrument details
363
+ * @public
364
+ */
365
+ export interface EmbeddedCryptoWallet {
366
+ /**
367
+ * The blockchain network for this embedded crypto wallet.
368
+ * Supported networks: ETHEREUM, SOLANA
369
+ * @public
370
+ */
371
+ network: CryptoWalletNetwork | undefined;
372
+ /**
373
+ * List of linkedAccounts linked to this wallet.
374
+ * Each linkedAccount represents a way the end user can authenticate to this wallet.
375
+ * Can be empty when adding a new linkedAccount to an existing wallet.
376
+ * @public
377
+ */
378
+ linkedAccounts: LinkedAccount[] | undefined;
379
+ /**
380
+ * The wallet address on the specified blockchain network.
381
+ * @public
382
+ */
383
+ walletAddress?: string | undefined;
384
+ /**
385
+ * URL for the end user to complete a provider-specific action (e.g., wallet linking, onboarding).
386
+ * Returned by the payment connector during instrument creation.
387
+ * @public
388
+ */
389
+ redirectUrl?: string | undefined;
390
+ }
391
+ /**
392
+ * Details specific to the instrument type
393
+ * @public
394
+ */
395
+ export type PaymentInstrumentDetails = PaymentInstrumentDetails.EmbeddedCryptoWalletMember | PaymentInstrumentDetails.$UnknownMember;
396
+ /**
397
+ * @public
398
+ */
399
+ export declare namespace PaymentInstrumentDetails {
400
+ /**
401
+ * Embedded crypto wallet managed directly by end user
402
+ * @public
403
+ */
404
+ interface EmbeddedCryptoWalletMember {
405
+ embeddedCryptoWallet: EmbeddedCryptoWallet;
406
+ $unknown?: never;
407
+ }
408
+ /**
409
+ * @public
410
+ */
411
+ interface $UnknownMember {
412
+ embeddedCryptoWallet?: never;
413
+ $unknown: [string, any];
414
+ }
415
+ /**
416
+ * @deprecated unused in schema-serde mode.
417
+ *
418
+ */
419
+ interface Visitor<T> {
420
+ embeddedCryptoWallet: (value: EmbeddedCryptoWallet) => T;
421
+ _: (name: string, value: any) => T;
422
+ }
423
+ }
424
+ /**
425
+ * Request structure for creating a payment instrument
426
+ * @public
427
+ */
428
+ export interface CreatePaymentInstrumentRequest {
429
+ /**
430
+ * The user ID associated with this payment instrument.
431
+ * @public
432
+ */
433
+ userId?: string | undefined;
434
+ /**
435
+ * The agent name associated with this request, used for observability.
436
+ * @public
437
+ */
438
+ agentName?: string | undefined;
439
+ /**
440
+ * The ARN of the payment manager that owns this payment instrument.
441
+ * @public
442
+ */
443
+ paymentManagerArn: string | undefined;
444
+ /**
445
+ * The ID of the payment connector to use for this instrument.
446
+ * @public
447
+ */
448
+ paymentConnectorId: string | undefined;
449
+ /**
450
+ * The type of payment instrument being created.
451
+ * @public
452
+ */
453
+ paymentInstrumentType: PaymentInstrumentType | undefined;
454
+ /**
455
+ * The details of the payment instrument.
456
+ * @public
457
+ */
458
+ paymentInstrumentDetails: PaymentInstrumentDetails | undefined;
459
+ /**
460
+ * Idempotency token to ensure request uniqueness.
461
+ * @public
462
+ */
463
+ clientToken?: string | undefined;
464
+ }
465
+ /**
466
+ * Represents a payment instrument
467
+ * @public
468
+ */
469
+ export interface PaymentInstrument {
470
+ /**
471
+ * The unique identifier for this payment instrument.
472
+ * @public
473
+ */
474
+ paymentInstrumentId: string | undefined;
475
+ /**
476
+ * The ARN of the payment manager that owns this payment instrument.
477
+ * @public
478
+ */
479
+ paymentManagerArn: string | undefined;
480
+ /**
481
+ * The ID of the payment connector associated with this instrument.
482
+ * @public
483
+ */
484
+ paymentConnectorId: string | undefined;
485
+ /**
486
+ * The user ID associated with this payment instrument.
487
+ * @public
488
+ */
489
+ userId: string | undefined;
490
+ /**
491
+ * The type of payment instrument (e.g., EMBEDDED_CRYPTO_WALLET).
492
+ * @public
493
+ */
494
+ paymentInstrumentType: PaymentInstrumentType | undefined;
495
+ /**
496
+ * The details specific to the payment instrument type.
497
+ * @public
498
+ */
499
+ paymentInstrumentDetails: PaymentInstrumentDetails | undefined;
500
+ /**
501
+ * The timestamp when this payment instrument was created.
502
+ * @public
503
+ */
504
+ createdAt: Date | undefined;
505
+ /**
506
+ * The current status of this payment instrument.
507
+ * @public
508
+ */
509
+ status: PaymentInstrumentStatus | undefined;
510
+ /**
511
+ * The timestamp when this payment instrument was last updated.
512
+ * @public
513
+ */
514
+ updatedAt: Date | undefined;
515
+ }
516
+ /**
517
+ * Response structure for creating a payment instrument
518
+ * @public
519
+ */
520
+ export interface CreatePaymentInstrumentResponse {
521
+ /**
522
+ * Represents a payment instrument
523
+ * @public
524
+ */
525
+ paymentInstrument: PaymentInstrument | undefined;
526
+ }
527
+ /**
528
+ * Request structure for deleting a payment instrument
529
+ *
530
+ * All fields are required and must match the instrument owner's identifiers for authorization to succeed.
531
+ * @public
532
+ */
533
+ export interface DeletePaymentInstrumentRequest {
534
+ /**
535
+ * The user ID making the delete request. Must match the instrument's userId.
536
+ * @public
537
+ */
538
+ userId?: string | undefined;
539
+ /**
540
+ * The payment manager ARN. Must match the instrument's paymentManagerArn.
541
+ * @public
542
+ */
543
+ paymentManagerArn: string | undefined;
544
+ /**
545
+ * The payment connector ID. Must match the instrument's paymentConnectorId.
546
+ * @public
547
+ */
548
+ paymentConnectorId: string | undefined;
549
+ /**
550
+ * The payment instrument ID to delete.
551
+ * @public
552
+ */
553
+ paymentInstrumentId: string | undefined;
554
+ }
555
+ /**
556
+ * Response structure for deleting a payment instrument
557
+ *
558
+ * Returns the deletion status with HTTP 200 OK status code on successful soft deletion.
559
+ * @public
560
+ */
561
+ export interface DeletePaymentInstrumentResponse {
562
+ /**
563
+ * The status of the instrument after deletion. Always DELETED for successful soft delete.
564
+ * @public
565
+ */
566
+ status: PaymentInstrumentStatus | undefined;
567
+ }
568
+ /**
569
+ * Request structure for getting a payment instrument
570
+ * @public
571
+ */
572
+ export interface GetPaymentInstrumentRequest {
573
+ /**
574
+ * The user ID associated with this payment instrument.
575
+ * @public
576
+ */
577
+ userId?: string | undefined;
578
+ /**
579
+ * The agent name associated with this request, used for observability.
580
+ * @public
581
+ */
582
+ agentName?: string | undefined;
583
+ /**
584
+ * The ARN of the payment manager that owns this payment instrument.
585
+ * @public
586
+ */
587
+ paymentManagerArn: string | undefined;
588
+ /**
589
+ * The ID of the payment connector.
590
+ * @public
591
+ */
592
+ paymentConnectorId?: string | undefined;
593
+ /**
594
+ * The ID of the payment instrument to retrieve.
595
+ * @public
596
+ */
597
+ paymentInstrumentId: string | undefined;
598
+ }
599
+ /**
600
+ * Response structure for getting a payment instrument
601
+ * @public
602
+ */
603
+ export interface GetPaymentInstrumentResponse {
604
+ /**
605
+ * Represents a payment instrument
606
+ * @public
607
+ */
608
+ paymentInstrument: PaymentInstrument | undefined;
609
+ }
610
+ /**
611
+ * Request structure for getting payment instrument balance
612
+ * @public
613
+ */
614
+ export interface GetPaymentInstrumentBalanceRequest {
615
+ /**
616
+ * The user ID associated with this payment instrument.
617
+ * @public
618
+ */
619
+ userId?: string | undefined;
620
+ /**
621
+ * The agent name associated with this request, used for observability.
622
+ * @public
623
+ */
624
+ agentName?: string | undefined;
625
+ /**
626
+ * The ARN of the payment manager that owns this payment instrument.
627
+ * @public
628
+ */
629
+ paymentManagerArn: string | undefined;
630
+ /**
631
+ * The ID of the payment connector associated with this instrument.
632
+ * @public
633
+ */
634
+ paymentConnectorId: string | undefined;
635
+ /**
636
+ * The ID of the payment instrument to query balance for.
637
+ * @public
638
+ */
639
+ paymentInstrumentId: string | undefined;
640
+ /**
641
+ * The specific blockchain chain to query balance on.
642
+ * Required because balances are chain-specific — the same wallet address may hold
643
+ * different token balances on different chains.
644
+ * @public
645
+ */
646
+ chain: BlockchainChainId | undefined;
647
+ /**
648
+ * The token to query balance for.
649
+ * Required to specify which supported token's balance to return.
650
+ * @public
651
+ */
652
+ token: InstrumentBalanceToken | undefined;
653
+ }
654
+ /**
655
+ * A single token balance entry
656
+ * @public
657
+ */
658
+ export interface TokenBalance {
659
+ /**
660
+ * Raw balance in the smallest denomination (e.g., USDC base units where 1 USDC = 1000000).
661
+ * @public
662
+ */
663
+ amount: string | undefined;
664
+ /**
665
+ * Number of decimal places for the token (e.g., 6 for USDC).
666
+ * @public
667
+ */
668
+ decimals: number | undefined;
669
+ /**
670
+ * The supported token for this balance.
671
+ * @public
672
+ */
673
+ token: InstrumentBalanceToken | undefined;
674
+ /**
675
+ * The blockchain network family (ETHEREUM or SOLANA).
676
+ * @public
677
+ */
678
+ network: CryptoWalletNetwork | undefined;
679
+ /**
680
+ * The specific blockchain chain.
681
+ * @public
682
+ */
683
+ chain: BlockchainChainId | undefined;
684
+ }
685
+ /**
686
+ * Response structure for getting payment instrument balance
687
+ * @public
688
+ */
689
+ export interface GetPaymentInstrumentBalanceResponse {
690
+ /**
691
+ * The ID of the payment instrument.
692
+ * @public
693
+ */
694
+ paymentInstrumentId: string | undefined;
695
+ /**
696
+ * The balance of the supported token on the requested chain.
697
+ * @public
698
+ */
699
+ tokenBalance: TokenBalance | undefined;
700
+ }
701
+ /**
702
+ * Request structure for listing payment instruments
703
+ * @public
704
+ */
705
+ export interface ListPaymentInstrumentsRequest {
706
+ /**
707
+ * The user ID associated with the payment instruments.
708
+ * @public
709
+ */
710
+ userId?: string | undefined;
711
+ /**
712
+ * The agent name associated with this request, used for observability.
713
+ * @public
714
+ */
715
+ agentName?: string | undefined;
716
+ /**
717
+ * The ARN of the payment manager that owns the payment instruments.
718
+ * @public
719
+ */
720
+ paymentManagerArn: string | undefined;
721
+ /**
722
+ * The ID of the payment connector to filter by.
723
+ * @public
724
+ */
725
+ paymentConnectorId?: string | undefined;
726
+ /**
727
+ * Token for pagination to retrieve the next set of results.
728
+ * @public
729
+ */
730
+ nextToken?: string | undefined;
731
+ /**
732
+ * Maximum number of results to return in a single response.
733
+ * @public
734
+ */
735
+ maxResults?: number | undefined;
736
+ }
737
+ /**
738
+ * Summary of a payment instrument for list operations
739
+ * @public
740
+ */
741
+ export interface PaymentInstrumentSummary {
742
+ /**
743
+ * The unique identifier for this payment instrument.
744
+ * @public
745
+ */
746
+ paymentInstrumentId: string | undefined;
747
+ /**
748
+ * The ARN of the payment manager that owns this payment instrument.
749
+ * @public
750
+ */
751
+ paymentManagerArn: string | undefined;
752
+ /**
753
+ * The ID of the payment connector associated with this instrument.
754
+ * @public
755
+ */
756
+ paymentConnectorId: string | undefined;
757
+ /**
758
+ * The user ID associated with this payment instrument.
759
+ * @public
760
+ */
761
+ userId: string | undefined;
762
+ /**
763
+ * The type of payment instrument (e.g., EMBEDDED_CRYPTO_WALLET).
764
+ * @public
765
+ */
766
+ paymentInstrumentType: PaymentInstrumentType | undefined;
767
+ /**
768
+ * The current status of this payment instrument.
769
+ * @public
770
+ */
771
+ status: PaymentInstrumentStatus | undefined;
772
+ /**
773
+ * The timestamp when this payment instrument was created.
774
+ * @public
775
+ */
776
+ createdAt: Date | undefined;
777
+ /**
778
+ * The timestamp when this payment instrument was last updated.
779
+ * @public
780
+ */
781
+ updatedAt: Date | undefined;
782
+ }
783
+ /**
784
+ * Response structure for listing payment instruments
785
+ * @public
786
+ */
787
+ export interface ListPaymentInstrumentsResponse {
788
+ /**
789
+ * List of payment instrument summaries matching the request criteria.
790
+ * @public
791
+ */
792
+ paymentInstruments: PaymentInstrumentSummary[] | undefined;
793
+ /**
794
+ * Token for pagination to retrieve the next set of results.
795
+ * @public
796
+ */
797
+ nextToken?: string | undefined;
798
+ }
799
+ /**
800
+ * Money amount with currency
801
+ * @public
802
+ */
803
+ export interface Amount {
804
+ /**
805
+ * The numeric value of the amount.
806
+ * @public
807
+ */
808
+ value: string | undefined;
809
+ /**
810
+ * The currency code for this amount.
811
+ * @public
812
+ */
813
+ currency: Currency | undefined;
814
+ }
815
+ /**
816
+ * Session spending limits
817
+ * @public
818
+ */
819
+ export interface SessionLimits {
820
+ /**
821
+ * The maximum amount that can be spent in this session.
822
+ * @public
823
+ */
824
+ maxSpendAmount: Amount | undefined;
825
+ }
826
+ /**
827
+ * Request structure for creating a payment session
828
+ * @public
829
+ */
830
+ export interface CreatePaymentSessionRequest {
831
+ /**
832
+ * The user ID associated with this payment session.
833
+ * @public
834
+ */
835
+ userId?: string | undefined;
836
+ /**
837
+ * The agent name associated with this request, used for observability.
838
+ * @public
839
+ */
840
+ agentName?: string | undefined;
841
+ /**
842
+ * The ARN of the payment manager that owns this session.
843
+ * @public
844
+ */
845
+ paymentManagerArn: string | undefined;
846
+ /**
847
+ * The spending limits for this payment session.
848
+ * @public
849
+ */
850
+ limits?: SessionLimits | undefined;
851
+ /**
852
+ * The session expiry time in minutes. Must be between 15 and 480 minutes.
853
+ * @public
854
+ */
855
+ expiryTimeInMinutes: number | undefined;
856
+ /**
857
+ * Idempotency token to ensure request uniqueness.
858
+ * @public
859
+ */
860
+ clientToken?: string | undefined;
861
+ }
862
+ /**
863
+ * Available session limits. Currently only budget is supported.
864
+ * @public
865
+ */
866
+ export interface AvailableLimits {
867
+ /**
868
+ * The available spend amount for this session.
869
+ * @public
870
+ */
871
+ availableSpendAmount?: Amount | undefined;
872
+ /**
873
+ * The timestamp when the available limits were last updated.
874
+ * @public
875
+ */
876
+ updatedAt?: Date | undefined;
877
+ }
878
+ /**
879
+ * Payment manager session
880
+ * @public
881
+ */
882
+ export interface PaymentSession {
883
+ /**
884
+ * The unique identifier for this payment session.
885
+ * @public
886
+ */
887
+ paymentSessionId: string | undefined;
888
+ /**
889
+ * The ARN of the payment manager that owns this session.
890
+ * @public
891
+ */
892
+ paymentManagerArn: string | undefined;
893
+ /**
894
+ * The spending limits for this session.
895
+ * @public
896
+ */
897
+ limits?: SessionLimits | undefined;
898
+ /**
899
+ * The user ID associated with this payment session.
900
+ * @public
901
+ */
902
+ userId: string | undefined;
903
+ /**
904
+ * The session expiry time in minutes.
905
+ * @public
906
+ */
907
+ expiryTimeInMinutes: number | undefined;
908
+ /**
909
+ * The timestamp when this payment session was created.
910
+ * @public
911
+ */
912
+ createdAt: Date | undefined;
913
+ /**
914
+ * The available limits for this session after accounting for processed payments.
915
+ * @public
916
+ */
917
+ availableLimits?: AvailableLimits | undefined;
918
+ /**
919
+ * The timestamp when this payment session was last updated.
920
+ * @public
921
+ */
922
+ updatedAt: Date | undefined;
923
+ }
924
+ /**
925
+ * Response structure for creating a payment session
926
+ * @public
927
+ */
928
+ export interface CreatePaymentSessionResponse {
929
+ /**
930
+ * Payment manager session
931
+ * @public
932
+ */
933
+ paymentSession: PaymentSession | undefined;
934
+ }
935
+ /**
936
+ * Request structure for deleting a payment session
937
+ *
938
+ * All fields are required and must match the session owner's identifiers for authorization to succeed.
939
+ * @public
940
+ */
941
+ export interface DeletePaymentSessionRequest {
942
+ /**
943
+ * The user ID making the delete request. Must match the session's userId.
944
+ * @public
945
+ */
946
+ userId?: string | undefined;
947
+ /**
948
+ * The payment manager ARN. Must match the session's paymentManagerArn.
949
+ * @public
950
+ */
951
+ paymentManagerArn: string | undefined;
952
+ /**
953
+ * The payment session ID to delete.
954
+ * @public
955
+ */
956
+ paymentSessionId: string | undefined;
957
+ }
958
+ /**
959
+ * Response structure for deleting a payment session
960
+ *
961
+ * Returns the deletion status with HTTP 200 status code on successful deletion.
962
+ * @public
963
+ */
964
+ export interface DeletePaymentSessionResponse {
965
+ /**
966
+ * The status of the deletion. Always DELETED for successful hard delete.
967
+ * @public
968
+ */
969
+ status: PaymentSessionStatus | undefined;
970
+ }
971
+ /**
972
+ * Request structure for getting a payment session
973
+ * @public
974
+ */
975
+ export interface GetPaymentSessionRequest {
976
+ /**
977
+ * The user ID associated with this payment session.
978
+ * @public
979
+ */
980
+ userId?: string | undefined;
981
+ /**
982
+ * The agent name associated with this request, used for observability.
983
+ * @public
984
+ */
985
+ agentName?: string | undefined;
986
+ /**
987
+ * The ARN of the payment manager that owns this session.
988
+ * @public
989
+ */
990
+ paymentManagerArn: string | undefined;
991
+ /**
992
+ * The ID of the payment session to retrieve.
993
+ * @public
994
+ */
995
+ paymentSessionId: string | undefined;
996
+ }
997
+ /**
998
+ * Response structure for getting a payment session
999
+ * @public
1000
+ */
1001
+ export interface GetPaymentSessionResponse {
1002
+ /**
1003
+ * Payment manager session
1004
+ * @public
1005
+ */
1006
+ paymentSession: PaymentSession | undefined;
1007
+ }
1008
+ /**
1009
+ * Request structure for listing payment sessions
1010
+ * @public
1011
+ */
1012
+ export interface ListPaymentSessionsRequest {
1013
+ /**
1014
+ * The user ID associated with the payment sessions.
1015
+ * @public
1016
+ */
1017
+ userId?: string | undefined;
1018
+ /**
1019
+ * The agent name associated with this request, used for observability.
1020
+ * @public
1021
+ */
1022
+ agentName?: string | undefined;
1023
+ /**
1024
+ * The ARN of the payment manager that owns the sessions.
1025
+ * @public
1026
+ */
1027
+ paymentManagerArn: string | undefined;
1028
+ /**
1029
+ * Token for pagination to retrieve the next set of results.
1030
+ * @public
1031
+ */
1032
+ nextToken?: string | undefined;
1033
+ /**
1034
+ * Maximum number of results to return in a single response.
1035
+ * @public
1036
+ */
1037
+ maxResults?: number | undefined;
1038
+ }
1039
+ /**
1040
+ * Summary of a payment session for list operations
1041
+ * @public
1042
+ */
1043
+ export interface PaymentSessionSummary {
1044
+ /**
1045
+ * The unique identifier for this payment session.
1046
+ * @public
1047
+ */
1048
+ paymentSessionId: string | undefined;
1049
+ /**
1050
+ * The ARN of the payment manager that owns this session.
1051
+ * @public
1052
+ */
1053
+ paymentManagerArn: string | undefined;
1054
+ /**
1055
+ * The user ID associated with this payment session.
1056
+ * @public
1057
+ */
1058
+ userId: string | undefined;
1059
+ /**
1060
+ * The session expiry time in minutes.
1061
+ * @public
1062
+ */
1063
+ expiryTimeInMinutes: number | undefined;
1064
+ /**
1065
+ * The timestamp when this payment session was created.
1066
+ * @public
1067
+ */
1068
+ createdAt: Date | undefined;
1069
+ /**
1070
+ * The timestamp when this payment session was last updated.
1071
+ * @public
1072
+ */
1073
+ updatedAt: Date | undefined;
1074
+ }
1075
+ /**
1076
+ * Response structure for listing payment sessions
1077
+ * @public
1078
+ */
1079
+ export interface ListPaymentSessionsResponse {
1080
+ /**
1081
+ * List of payment session summaries matching the request criteria.
1082
+ * @public
1083
+ */
1084
+ paymentSessions: PaymentSessionSummary[] | undefined;
1085
+ /**
1086
+ * Token for pagination to retrieve the next set of results.
1087
+ * @public
1088
+ */
1089
+ nextToken?: string | undefined;
1090
+ }
1091
+ /**
1092
+ * X402 payment requirement input
1093
+ * @public
1094
+ */
1095
+ export interface CryptoX402PaymentInput {
1096
+ /**
1097
+ * The X402 protocol version (e.g., "v1", "v2")
1098
+ * @public
1099
+ */
1100
+ version: string | undefined;
1101
+ /**
1102
+ * This can hold any JSON-like object
1103
+ * @public
1104
+ */
1105
+ payload: __DocumentType | undefined;
1106
+ }
1107
+ /**
1108
+ * Payment request details union
1109
+ * @public
1110
+ */
1111
+ export type PaymentInput = PaymentInput.CryptoX402Member | PaymentInput.$UnknownMember;
1112
+ /**
1113
+ * @public
1114
+ */
1115
+ export declare namespace PaymentInput {
1116
+ /**
1117
+ * X402 payment requirement input
1118
+ * @public
1119
+ */
1120
+ interface CryptoX402Member {
1121
+ cryptoX402: CryptoX402PaymentInput;
1122
+ $unknown?: never;
1123
+ }
1124
+ /**
1125
+ * @public
1126
+ */
1127
+ interface $UnknownMember {
1128
+ cryptoX402?: never;
1129
+ $unknown: [string, any];
1130
+ }
1131
+ /**
1132
+ * @deprecated unused in schema-serde mode.
1133
+ *
1134
+ */
1135
+ interface Visitor<T> {
1136
+ cryptoX402: (value: CryptoX402PaymentInput) => T;
1137
+ _: (name: string, value: any) => T;
1138
+ }
1139
+ }
1140
+ /**
1141
+ * Request structure for processing a payment
1142
+ * @public
1143
+ */
1144
+ export interface ProcessPaymentRequest {
1145
+ /**
1146
+ * The user ID associated with this payment.
1147
+ * @public
1148
+ */
1149
+ userId?: string | undefined;
1150
+ /**
1151
+ * The agent name associated with this request, used for observability.
1152
+ * @public
1153
+ */
1154
+ agentName?: string | undefined;
1155
+ /**
1156
+ * The ARN of the payment manager handling this payment.
1157
+ * @public
1158
+ */
1159
+ paymentManagerArn: string | undefined;
1160
+ /**
1161
+ * The ID of the payment session for this transaction.
1162
+ * @public
1163
+ */
1164
+ paymentSessionId: string | undefined;
1165
+ /**
1166
+ * The ID of the payment instrument to use for this transaction.
1167
+ * @public
1168
+ */
1169
+ paymentInstrumentId: string | undefined;
1170
+ /**
1171
+ * The type of payment being processed.
1172
+ * @public
1173
+ */
1174
+ paymentType: PaymentType | undefined;
1175
+ /**
1176
+ * The payment input details specific to the payment type.
1177
+ * @public
1178
+ */
1179
+ paymentInput: PaymentInput | undefined;
1180
+ /**
1181
+ * Idempotency token to ensure request uniqueness.
1182
+ * @public
1183
+ */
1184
+ clientToken?: string | undefined;
1185
+ }
1186
+ /**
1187
+ * X402 payment requirement output
1188
+ * @public
1189
+ */
1190
+ export interface CryptoX402PaymentOutput {
1191
+ /**
1192
+ * The X402 protocol version (e.g., "1", "2")
1193
+ * @public
1194
+ */
1195
+ version: string | undefined;
1196
+ /**
1197
+ * This can hold any JSON-like object
1198
+ * @public
1199
+ */
1200
+ payload: __DocumentType | undefined;
1201
+ }
1202
+ /**
1203
+ * Payment response payload union. We will support versioning by introducing other model in this union
1204
+ * @public
1205
+ */
1206
+ export type PaymentOutput = PaymentOutput.CryptoX402Member | PaymentOutput.$UnknownMember;
1207
+ /**
1208
+ * @public
1209
+ */
1210
+ export declare namespace PaymentOutput {
1211
+ /**
1212
+ * X402 payment requirement output
1213
+ * @public
1214
+ */
1215
+ interface CryptoX402Member {
1216
+ cryptoX402: CryptoX402PaymentOutput;
1217
+ $unknown?: never;
1218
+ }
1219
+ /**
1220
+ * @public
1221
+ */
1222
+ interface $UnknownMember {
1223
+ cryptoX402?: never;
1224
+ $unknown: [string, any];
1225
+ }
1226
+ /**
1227
+ * @deprecated unused in schema-serde mode.
1228
+ *
1229
+ */
1230
+ interface Visitor<T> {
1231
+ cryptoX402: (value: CryptoX402PaymentOutput) => T;
1232
+ _: (name: string, value: any) => T;
1233
+ }
1234
+ }
1235
+ /**
1236
+ * Response structure for processing a payment
1237
+ * @public
1238
+ */
1239
+ export interface ProcessPaymentResponse {
1240
+ /**
1241
+ * The unique ID of the processed payment transaction.
1242
+ * @public
1243
+ */
1244
+ processPaymentId: string | undefined;
1245
+ /**
1246
+ * The ARN of the payment manager that processed this payment.
1247
+ * @public
1248
+ */
1249
+ paymentManagerArn: string | undefined;
1250
+ /**
1251
+ * The ID of the payment session for this transaction.
1252
+ * @public
1253
+ */
1254
+ paymentSessionId: string | undefined;
1255
+ /**
1256
+ * The ID of the payment instrument used for this transaction.
1257
+ * @public
1258
+ */
1259
+ paymentInstrumentId: string | undefined;
1260
+ /**
1261
+ * The type of payment that was processed.
1262
+ * @public
1263
+ */
1264
+ paymentType: PaymentType | undefined;
1265
+ /**
1266
+ * The status of the payment transaction.
1267
+ * @public
1268
+ */
1269
+ status: PaymentStatus | undefined;
1270
+ /**
1271
+ * The payment output details specific to the payment type.
1272
+ * @public
1273
+ */
1274
+ paymentOutput: PaymentOutput | undefined;
1275
+ /**
1276
+ * The timestamp when the payment was created.
1277
+ * @public
1278
+ */
1279
+ createdAt: Date | undefined;
1280
+ /**
1281
+ * The timestamp when the payment was last updated.
1282
+ * @public
1283
+ */
1284
+ updatedAt: Date | undefined;
1285
+ }
1286
+ /**
1287
+ * @public
1288
+ */
1289
+ export interface SearchRegistryRecordsRequest {
1290
+ /**
1291
+ * <p> The search query to find matching registry records.</p>
1292
+ * @public
1293
+ */
1294
+ searchQuery: string | undefined;
1295
+ /**
1296
+ * <p> The list of registry identifiers to search within. Currently, you can specify exactly one registry identifier. You can provide either the full Amazon Web Services Resource Name (ARN) or the 12-character alphanumeric registry ID.</p>
1297
+ * @public
1298
+ */
1299
+ registryIds: string[] | undefined;
1300
+ /**
1301
+ * <p> The maximum number of records to return in a single call. Valid values are 1 through 20. The default value is 10.</p>
1302
+ * @public
1303
+ */
1304
+ maxResults?: number | undefined;
1305
+ /**
1306
+ * <p> A metadata filter expression to narrow search results. Uses structured JSON operators including field-level operators (<code>$eq</code>, <code>$ne</code>, <code>$in</code>) and logical operators (<code>$and</code>, <code>$or</code>) on filterable fields (<code>name</code>, <code>descriptorType</code>, <code>version</code>). For example, to filter by descriptor type: <code>\{"descriptorType": \{"$eq": "MCP"\}\}</code>. To combine filters: <code>\{"$and": [\{"descriptorType": \{"$eq": "MCP"\}\}, \{"name": \{"$eq": "my-tool"\}\}]\}</code>.</p>
1307
+ * @public
1308
+ */
1309
+ filters?: __DocumentType | undefined;
1310
+ }
1311
+ /**
1312
+ * <p> A custom descriptor configuration for a registry record.</p>
1313
+ * @public
1314
+ */
1315
+ export interface CustomDescriptor {
1316
+ /**
1317
+ * <p> The inline content of the custom descriptor.</p>
1318
+ * @public
1319
+ */
1320
+ inlineContent?: string | undefined;
1321
+ }
3
1322
  /**
4
1323
  * <p> The MCP server definition with a schema version and inline content. The <code>schemaVersion</code> identifies the version of the MCP server configuration schema.</p>
5
1324
  * @public