@onkernel/sdk 0.125.0 → 0.127.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 (47) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +1 -1
  3. package/resources/browser-pools.d.mts +15 -5
  4. package/resources/browser-pools.d.mts.map +1 -1
  5. package/resources/browser-pools.d.ts +15 -5
  6. package/resources/browser-pools.d.ts.map +1 -1
  7. package/resources/browsers/browsers.d.mts +6 -4
  8. package/resources/browsers/browsers.d.mts.map +1 -1
  9. package/resources/browsers/browsers.d.ts +6 -4
  10. package/resources/browsers/browsers.d.ts.map +1 -1
  11. package/resources/browsers/browsers.js.map +1 -1
  12. package/resources/browsers/browsers.mjs.map +1 -1
  13. package/resources/browsers/telemetry.d.mts +14 -6
  14. package/resources/browsers/telemetry.d.mts.map +1 -1
  15. package/resources/browsers/telemetry.d.ts +14 -6
  16. package/resources/browsers/telemetry.d.ts.map +1 -1
  17. package/resources/vaults/index.d.mts +1 -1
  18. package/resources/vaults/index.d.mts.map +1 -1
  19. package/resources/vaults/index.d.ts +1 -1
  20. package/resources/vaults/index.d.ts.map +1 -1
  21. package/resources/vaults/index.js.map +1 -1
  22. package/resources/vaults/index.mjs.map +1 -1
  23. package/resources/vaults/items.d.mts +357 -197
  24. package/resources/vaults/items.d.mts.map +1 -1
  25. package/resources/vaults/items.d.ts +357 -197
  26. package/resources/vaults/items.d.ts.map +1 -1
  27. package/resources/vaults/items.js +20 -11
  28. package/resources/vaults/items.js.map +1 -1
  29. package/resources/vaults/items.mjs +20 -11
  30. package/resources/vaults/items.mjs.map +1 -1
  31. package/resources/vaults/vaults.d.mts +2 -2
  32. package/resources/vaults/vaults.d.mts.map +1 -1
  33. package/resources/vaults/vaults.d.ts +2 -2
  34. package/resources/vaults/vaults.d.ts.map +1 -1
  35. package/resources/vaults/vaults.js.map +1 -1
  36. package/resources/vaults/vaults.mjs.map +1 -1
  37. package/src/resources/browser-pools.ts +16 -5
  38. package/src/resources/browsers/browsers.ts +6 -4
  39. package/src/resources/browsers/telemetry.ts +16 -3
  40. package/src/resources/vaults/index.ts +1 -0
  41. package/src/resources/vaults/items.ts +371 -198
  42. package/src/resources/vaults/vaults.ts +2 -0
  43. package/src/version.ts +1 -1
  44. package/version.d.mts +1 -1
  45. package/version.d.ts +1 -1
  46. package/version.js +1 -1
  47. package/version.mjs +1 -1
@@ -33,8 +33,10 @@ export declare class Items extends APIResource {
33
33
  * request, subject to atomic provider approval checks; omitted optional fields
34
34
  * remain unchanged and explicit empty lists clear them. Wallet/provider binding
35
35
  * and unsupported fields cannot change after authorization starts. An uncertain
36
- * update enters recovery_required and must not be retried. Checkout cards may be
37
- * edited between authorizations.
36
+ * update enters recovery_required; delete the card and create a new one rather
37
+ * than retrying the update. Checkout cards may be edited between authorizations. A
38
+ * Link card authorized with browser_id and page_url cannot be changed; delete it
39
+ * and create a new card with the updated details.
38
40
  *
39
41
  * @example
40
42
  * ```ts
@@ -73,11 +75,12 @@ export declare class Items extends APIResource {
73
75
  * Unresolved payment operations normally block deletion, including operations on
74
76
  * child cards of a wallet. Deleting a connected Kernel wallet first blocks new
75
77
  * payments on it, then removes its enrolled card. If that fails, the wallet is
76
- * kept and keeps refusing payments; retry the deletion. An AgentCard card in
77
- * recovery_required whose checkout create response returned no authorization ID
78
- * may be explicitly abandoned by deleting that card directly; deleting its wallet
79
- * or vault remains blocked. Deleting or recreating an item is not proof that a
80
- * payment did not occur. Deleting a managed auth credential item leaves the
78
+ * kept and keeps refusing payments; retry the deletion. A Link or Kernel card in
79
+ * recovery_required for issuance, or an AgentCard card in recovery_required whose
80
+ * checkout create response returned no authorization ID, may be explicitly
81
+ * abandoned by deleting that card directly; deleting its wallet or vault remains
82
+ * blocked until the card is deleted. Deleting or recreating an item is not proof
83
+ * that a payment did not occur. Deleting a managed auth credential item leaves the
81
84
  * connection and its saved credential unchanged.
82
85
  *
83
86
  * @example
@@ -105,16 +108,20 @@ export declare class Items extends APIResource {
105
108
  * `available_operations`, following its natural-language description. Availability
106
109
  * is rechecked at execution time; unavailable operations return 409. Authorization
107
110
  * and preparation may call an external provider and return updated state. Link
108
- * cards advertise authorize without checkout context. Eligible unused AgentCard
109
- * cards advertise prepare_checkout, which requires checkout context and obtains
110
- * device approval before native Square Pay. Keep the returned approval page open,
111
- * poll until ready_to_submit, then submit before preparation.expires_at. Unused
111
+ * cards advertise authorize; pass browser_id and page_url from the final checkout
112
+ * page so Kernel can inspect the checkout. Eligible unused AgentCard cards
113
+ * advertise prepare_checkout, which requires checkout context and obtains device
114
+ * approval before native Square Pay. Keep the returned approval page open, poll
115
+ * until ready_to_submit, then submit before preparation.expires_at. Unused
112
116
  * preparations expire automatically and cannot be reused. If spend-request
113
117
  * creation is rejected with a non-retryable provider error, the card item is
114
118
  * deleted and the provider's error code and message are returned. Rate limits
115
119
  * return HTTP 429 and retain the card item; stop, back off, and retry the same
116
120
  * authorize operation.
117
121
  *
122
+ * Ready Kernel cards advertise fill. Fill delivers card details for a few minutes;
123
+ * submit checkout promptly after filling. A repeated fill is safe.
124
+ *
118
125
  * Fill returns a value-free execution result. Validation failures before writing
119
126
  * return 400 (invalid request or targets), 403 (access or destination denied), 404
120
127
  * (resource not found), or 409 (item or browser not ready). Once writing starts,
@@ -128,6 +135,8 @@ export declare class Items extends APIResource {
128
135
  * await client.vaults.items.performOperation('key', {
129
136
  * id_or_name: 'id_or_name',
130
137
  * type: 'authorize',
138
+ * browser_id: 'browser-session-id',
139
+ * page_url: 'https://store.example.com/checkout',
131
140
  * });
132
141
  * ```
133
142
  */
@@ -227,25 +236,52 @@ export interface AgentcardCheckoutPreparation {
227
236
  export type AgentcardPreparedProcessor = 'square' | 'braintree' | 'worldpay' | 'bambora' | 'mercado_pago' | 'adyen';
228
237
  /**
229
238
  * Authorize a Link or Kernel card using its existing purchase specification. Use
230
- * only after explicit user approval and when the item advertises authorize. Do not
231
- * automatically retry provider failures or indeterminate outcomes. Checkout
232
- * context is not accepted.
239
+ * only after explicit user approval and when the item advertises authorize; follow
240
+ * the advertised operation's description. For a Link card, pass browser_id and
241
+ * page_url together while the browser is on the final checkout page: Kernel
242
+ * inspects that checkout, chooses how the credential is delivered, and limits fill
243
+ * to that checkout's origin in any browser with this vault attached. Omitting both
244
+ * issues a virtual card that fills any page on the merchant origin. Once approval
245
+ * has been requested, browser_id and page_url are ignored and authorize only
246
+ * re-checks the request. Browser and checkout inspection errors occur before any
247
+ * provider request and can be retried once the browser is on the checkout page.
248
+ * Kernel cards do not accept browser_id or page_url.
233
249
  */
234
250
  export interface AuthorizeVaultItemOperationRequest {
235
251
  type: 'authorize';
252
+ /**
253
+ * Browser session ID, not a reusable browser name. The browser must have this
254
+ * vault attached.
255
+ */
256
+ browser_id?: string;
257
+ /**
258
+ * Exact current top-level URL of the final checkout page open in browser_id.
259
+ */
260
+ page_url?: string;
236
261
  }
237
262
  /**
238
- * Live payment card. Test-mode card creation is not supported.
263
+ * Live Link card request. Test-mode card creation is not supported. The spec can
264
+ * be changed with PATCH until the card is authorized at a checkout. Authorize it
265
+ * with the browser at final checkout: Kernel inspects the checkout through WebMCP
266
+ * and internally chooses a merchant-bound Link Pay Token when supported or a
267
+ * virtual card otherwise. Callers never receive or choose how the credential is
268
+ * delivered.
239
269
  */
240
270
  export type CardVaultItemSpec = CardVaultItemSpec.LinkCardVaultItemSpec | CardVaultItemSpec.AgentCardCardVaultItemSpec | KernelCardVaultItemSpec;
241
271
  export declare namespace CardVaultItemSpec {
242
272
  /**
243
- * Live payment card. Test-mode card creation is not supported.
273
+ * Live Link card request. Test-mode card creation is not supported. The spec can
274
+ * be changed with PATCH until the card is authorized at a checkout. Authorize it
275
+ * with the browser at final checkout: Kernel inspects the checkout through WebMCP
276
+ * and internally chooses a merchant-bound Link Pay Token when supported or a
277
+ * virtual card otherwise. Callers never receive or choose how the credential is
278
+ * delivered.
244
279
  */
245
280
  interface LinkCardVaultItemSpec {
246
281
  /**
247
- * Integer amount in minor currency units. Link permits at most 50000 per spend
248
- * request.
282
+ * Integer amount in minor currency units. Link Pay Token execution permits at most
283
+ * 500000; virtual-card execution permits at most 50000. Authorization rejects a
284
+ * larger amount when the checkout requires a virtual card.
249
285
  */
250
286
  amount: number;
251
287
  context: string;
@@ -260,10 +296,9 @@ export declare namespace CardVaultItemSpec {
260
296
  payment_method_id: string;
261
297
  provider: 'link';
262
298
  /**
263
- * Wallet item key used to mint this card.
299
+ * Connected Link wallet item key.
264
300
  */
265
301
  wallet: string;
266
- expires_at?: number;
267
302
  line_items?: Array<LinkCardVaultItemSpec.LineItem>;
268
303
  metadata?: {
269
304
  [key: string]: string;
@@ -357,11 +392,12 @@ export declare namespace CardVaultItemState {
357
392
  interface LinkCardState {
358
393
  provider: 'link';
359
394
  /**
360
- * recovery_required means an original provider operation has an unresolved
361
- * outcome. Do not retry, delete, or replace it. Known references may be observed
362
- * safely, but unknown creation without an ID and uncertain card-material retrieval
363
- * require manual reconciliation with the provider or support. There is no reset or
364
- * caller-asserted reconciliation operation.
395
+ * recovery_required means an original provider operation has an unresolved outcome
396
+ * and the card cannot be used. Reads keep observing a known provider request and
397
+ * may clear the recovery. To continue, delete this card and create a new one;
398
+ * deleting cancels the original request when its ID is known and keeps the
399
+ * recovery evidence. The user may see an approval request for the original card
400
+ * and should approve only the new one.
365
401
  */
366
402
  status: 'requested' | 'pending_authorization' | 'ready' | 'consumed' | 'expired' | 'declined' | 'recovery_required';
367
403
  domains?: Array<string>;
@@ -425,16 +461,16 @@ export declare namespace CardVaultItemState {
425
461
  /**
426
462
  * Return the credential item with its collection action. Supported for ready and
427
463
  * pending_collection credential items. Always render the same form from every
428
- * form-supported field; totp fields have no form input and are omitted. No
429
- * caller-selected field subsets or form overrides are accepted. Reuse an active
430
- * Kernel-hosted session or renew an expired session atomically. Customer-hosted
431
- * forms use their own backend and ordinary item GET/PATCH. Opening the form does
432
- * not clear values or change readiness or item version. To observe edits on a
433
- * ready item, record its version and poll GET without wait until the version
434
- * changes, then reconcile the returned state. Version changes may also come from
435
- * PATCH; they do not identify a particular form submission. Customer-hosted apps
436
- * use their own submission callback, including for unchanged forms. The wait
437
- * parameter waits for readiness, not edits.
464
+ * form-supported field; totp and passkey fields have no form input and are
465
+ * omitted. No caller-selected field subsets or form overrides are accepted. Reuse
466
+ * an active Kernel-hosted session or renew an expired session atomically.
467
+ * Customer-hosted forms use their own backend and ordinary item GET/PATCH. Opening
468
+ * the form does not clear values or change readiness or item version. To observe
469
+ * edits on a ready item, record its version and poll GET without wait until the
470
+ * version changes, then reconcile the returned state. Version changes may also
471
+ * come from PATCH; they do not identify a particular form submission.
472
+ * Customer-hosted apps use their own submission callback, including for unchanged
473
+ * forms. The wait parameter waits for readiness, not edits.
438
474
  */
439
475
  export interface CollectVaultItemOperationRequest {
440
476
  type: 'collect';
@@ -508,30 +544,31 @@ export interface CredentialAccountVaultItemRequest {
508
544
  }
509
545
  /**
510
546
  * One schema-derived form for the item, available in ready or pending_collection
511
- * state. Render every form-supported field as editable; omit totp fields and
512
- * preserve their stored seeds. Prefill non-sensitive values, and allow existing
513
- * sensitive values to be preserved or replaced without ever revealing them. No
514
- * field subsets or per-request form configuration exist. Validate required fields
515
- * against the resulting values, including preserved secrets. Submit changed values
516
- * only, using the version used to render the form. Scoped hosted submission
517
- * rejects totp edits; seed writes require the ordinary authenticated item API.
518
- * Customer forms likewise omit totp from their payloads. Save edits atomically. A
519
- * successful hosted submission increments the version, marks ready, and consumes
520
- * the session; an empty edit may complete collection while preserving values. A
521
- * customer form uses PATCH for changed values and does not send an empty PATCH
522
- * when nothing changed. Kernel-hosted bearer sessions require no Kernel account
523
- * and are bound to the item version. Expired, superseded, consumed, or
524
- * deleted-item sessions cannot submit. Authenticated item GET renews expired
525
- * active sessions for ready or pending items; pending items always receive an
526
- * action. A ready item with no active session omits the action until collect is
527
- * invoked. Concurrent renewals return the same link. Renewal changes neither
528
- * values nor item version. An expired link cannot renew itself. The hosted form
529
- * handles its collection protocol; callers only open the returned URL and do not
530
- * extract or submit its token through the public API. For customer-hosted forms,
531
- * use @onkernel/vault-react and an authenticated customer backend calling the
532
- * ordinary item GET/PATCH API. Kernel does not store customer collection URLs or
533
- * authenticate the customer's end users. Treat URLs and submitted values as
534
- * secrets and exclude them from logs, traces, and errors.
547
+ * state. Render every form-supported field as editable; omit totp and passkey
548
+ * fields and preserve their stored values. Prefill non-sensitive values, and allow
549
+ * existing sensitive values to be preserved or replaced without ever revealing
550
+ * them. No field subsets or per-request form configuration exist. Validate
551
+ * required fields against the resulting values, including preserved secrets.
552
+ * Submit changed values only, using the version used to render the form. Scoped
553
+ * hosted submission rejects totp and passkey edits; those writes require the
554
+ * ordinary authenticated item API. Customer forms likewise omit them from their
555
+ * payloads. Save edits atomically. A successful hosted submission increments the
556
+ * version, marks ready, and consumes the session; an empty edit may complete
557
+ * collection while preserving values. A customer form uses PATCH for changed
558
+ * values and does not send an empty PATCH when nothing changed. Kernel-hosted
559
+ * bearer sessions require no Kernel account and are bound to the item version.
560
+ * Expired, superseded, consumed, or deleted-item sessions cannot submit.
561
+ * Authenticated item GET renews expired active sessions for ready or pending
562
+ * items; pending items always receive an action. A ready item with no active
563
+ * session omits the action until collect is invoked. Concurrent renewals return
564
+ * the same link. Renewal changes neither values nor item version. An expired link
565
+ * cannot renew itself. The hosted form handles its collection protocol; callers
566
+ * only open the returned URL and do not extract or submit its token through the
567
+ * public API. For customer-hosted forms, use @onkernel/vault-react and an
568
+ * authenticated customer backend calling the ordinary item GET/PATCH API. Kernel
569
+ * does not store customer collection URLs or authenticate the customer's end
570
+ * users. Treat URLs and submitted values as secrets and exclude them from logs,
571
+ * traces, and errors.
535
572
  */
536
573
  export interface CredentialCollectionAction {
537
574
  /**
@@ -561,14 +598,19 @@ export interface CredentialVaultFieldDefinition {
561
598
  */
562
599
  sensitive: boolean;
563
600
  /**
564
- * Text, email, and password have form inputs; totp does not and is omitted from
565
- * both Kernel-hosted and customer React forms. Password and totp must be
566
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
567
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
568
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
569
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
570
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
571
- * unsupported.
601
+ * Text, email, and password have form inputs; totp and passkey do not and are
602
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
603
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
604
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
605
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
606
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
607
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
608
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
609
+ * Credential Exchange Format passkey object with unpadded base64url
610
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
611
+ * private key), a lowercase `rpId` domain, and optional `username` and
612
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
613
+ * pages.
572
614
  */
573
615
  type: CredentialVaultFieldType;
574
616
  /**
@@ -579,20 +621,67 @@ export interface CredentialVaultFieldDefinition {
579
621
  */
580
622
  label?: string;
581
623
  }
624
+ /**
625
+ * A field definition without a value. Field updates add fields with this shape and
626
+ * set their values in `fields`.
627
+ */
628
+ export interface CredentialVaultFieldDefinitionInput {
629
+ /**
630
+ * Unique stable field name used to key values, updates, and browser fills.
631
+ */
632
+ name: string;
633
+ /**
634
+ * Text, email, and password have form inputs; totp and passkey do not and are
635
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
636
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
637
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
638
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
639
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
640
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
641
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
642
+ * Credential Exchange Format passkey object with unpadded base64url
643
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
644
+ * private key), a lowercase `rpId` domain, and optional `username` and
645
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
646
+ * pages.
647
+ */
648
+ type: CredentialVaultFieldType;
649
+ /**
650
+ * Optional human-readable display label. It is returned as non-secret metadata and
651
+ * never affects value keys, updates, or browser fills. Use single-line, trimmed
652
+ * display text without control or formatting characters. The server enforces a
653
+ * 128-byte UTF-8 limit.
654
+ */
655
+ label?: string;
656
+ required?: boolean;
657
+ /**
658
+ * Set false explicitly for ordinary usernames, email addresses, and other
659
+ * non-secret identifiers. Reserve true for secrets such as passwords, API tokens,
660
+ * and TOTP seeds. Password, totp, and passkey fields must be true. Omission
661
+ * defaults to true for safety; do not rely on that default for every field. False
662
+ * permits API reads and form prefilling.
663
+ */
664
+ sensitive?: boolean;
665
+ }
582
666
  export interface CredentialVaultFieldInput {
583
667
  /**
584
668
  * Unique stable field name used to key values, updates, and browser fills.
585
669
  */
586
670
  name: string;
587
671
  /**
588
- * Text, email, and password have form inputs; totp does not and is omitted from
589
- * both Kernel-hosted and customer React forms. Password and totp must be
590
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
591
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
592
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
593
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
594
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
595
- * unsupported.
672
+ * Text, email, and password have form inputs; totp and passkey do not and are
673
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
674
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
675
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
676
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
677
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
678
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
679
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
680
+ * Credential Exchange Format passkey object with unpadded base64url
681
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
682
+ * private key), a lowercase `rpId` domain, and optional `username` and
683
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
684
+ * pages.
596
685
  */
597
686
  type: CredentialVaultFieldType;
598
687
  /**
@@ -621,9 +710,9 @@ export interface CredentialVaultFieldInput {
621
710
  /**
622
711
  * Set false explicitly for ordinary usernames, email addresses, and other
623
712
  * non-secret identifiers. Reserve true for secrets such as passwords, API tokens,
624
- * and TOTP seeds. Password and totp fields must be true. Omission defaults to true
625
- * for safety; do not rely on that default for every field. False permits API reads
626
- * and form prefilling.
713
+ * and TOTP seeds. Password, totp, and passkey fields must be true. Omission
714
+ * defaults to true for safety; do not rely on that default for every field. False
715
+ * permits API reads and form prefilling.
627
716
  */
628
717
  sensitive?: boolean;
629
718
  /**
@@ -645,16 +734,21 @@ export interface CredentialVaultFieldState {
645
734
  value?: string;
646
735
  }
647
736
  /**
648
- * Text, email, and password have form inputs; totp does not and is omitted from
649
- * both Kernel-hosted and customer React forms. Password and totp must be
650
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
651
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
652
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
653
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
654
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
655
- * unsupported.
737
+ * Text, email, and password have form inputs; totp and passkey do not and are
738
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
739
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
740
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
741
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
742
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
743
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
744
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
745
+ * Credential Exchange Format passkey object with unpadded base64url
746
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
747
+ * private key), a lowercase `rpId` domain, and optional `username` and
748
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
749
+ * pages.
656
750
  */
657
- export type CredentialVaultFieldType = 'text' | 'email' | 'password' | 'totp';
751
+ export type CredentialVaultFieldType = 'text' | 'email' | 'password' | 'totp' | 'passkey';
658
752
  /**
659
753
  * Set exactly one of value or encrypted_value. Use value unless the update comes
660
754
  * from your own credential collection web app that encrypts values in the browser;
@@ -681,8 +775,9 @@ export interface CredentialVaultFieldUpdate {
681
775
  * immediately clear the stored value. Clearing a required form-supported field
682
776
  * reopens collection; clearing an optional field does not prevent readiness.
683
777
  * Values must satisfy the declared field type. For totp, value is the generator
684
- * seed, never a current code. Clearing a required totp field returns 400 because
685
- * it cannot be collected in a form.
778
+ * seed, never a current code. For passkey, value is the JSON-encoded CXF passkey
779
+ * object. Clearing a required totp or passkey field returns 400 because it cannot
780
+ * be collected in a form.
686
781
  */
687
782
  value?: string | null;
688
783
  }
@@ -718,30 +813,31 @@ export interface CredentialVaultItem {
718
813
  version: number;
719
814
  /**
720
815
  * One schema-derived form for the item, available in ready or pending_collection
721
- * state. Render every form-supported field as editable; omit totp fields and
722
- * preserve their stored seeds. Prefill non-sensitive values, and allow existing
723
- * sensitive values to be preserved or replaced without ever revealing them. No
724
- * field subsets or per-request form configuration exist. Validate required fields
725
- * against the resulting values, including preserved secrets. Submit changed values
726
- * only, using the version used to render the form. Scoped hosted submission
727
- * rejects totp edits; seed writes require the ordinary authenticated item API.
728
- * Customer forms likewise omit totp from their payloads. Save edits atomically. A
729
- * successful hosted submission increments the version, marks ready, and consumes
730
- * the session; an empty edit may complete collection while preserving values. A
731
- * customer form uses PATCH for changed values and does not send an empty PATCH
732
- * when nothing changed. Kernel-hosted bearer sessions require no Kernel account
733
- * and are bound to the item version. Expired, superseded, consumed, or
734
- * deleted-item sessions cannot submit. Authenticated item GET renews expired
735
- * active sessions for ready or pending items; pending items always receive an
736
- * action. A ready item with no active session omits the action until collect is
737
- * invoked. Concurrent renewals return the same link. Renewal changes neither
738
- * values nor item version. An expired link cannot renew itself. The hosted form
739
- * handles its collection protocol; callers only open the returned URL and do not
740
- * extract or submit its token through the public API. For customer-hosted forms,
741
- * use @onkernel/vault-react and an authenticated customer backend calling the
742
- * ordinary item GET/PATCH API. Kernel does not store customer collection URLs or
743
- * authenticate the customer's end users. Treat URLs and submitted values as
744
- * secrets and exclude them from logs, traces, and errors.
816
+ * state. Render every form-supported field as editable; omit totp and passkey
817
+ * fields and preserve their stored values. Prefill non-sensitive values, and allow
818
+ * existing sensitive values to be preserved or replaced without ever revealing
819
+ * them. No field subsets or per-request form configuration exist. Validate
820
+ * required fields against the resulting values, including preserved secrets.
821
+ * Submit changed values only, using the version used to render the form. Scoped
822
+ * hosted submission rejects totp and passkey edits; those writes require the
823
+ * ordinary authenticated item API. Customer forms likewise omit them from their
824
+ * payloads. Save edits atomically. A successful hosted submission increments the
825
+ * version, marks ready, and consumes the session; an empty edit may complete
826
+ * collection while preserving values. A customer form uses PATCH for changed
827
+ * values and does not send an empty PATCH when nothing changed. Kernel-hosted
828
+ * bearer sessions require no Kernel account and are bound to the item version.
829
+ * Expired, superseded, consumed, or deleted-item sessions cannot submit.
830
+ * Authenticated item GET renews expired active sessions for ready or pending
831
+ * items; pending items always receive an action. A ready item with no active
832
+ * session omits the action until collect is invoked. Concurrent renewals return
833
+ * the same link. Renewal changes neither values nor item version. An expired link
834
+ * cannot renew itself. The hosted form handles its collection protocol; callers
835
+ * only open the returned URL and do not extract or submit its token through the
836
+ * public API. For customer-hosted forms, use @onkernel/vault-react and an
837
+ * authenticated customer backend calling the ordinary item GET/PATCH API. Kernel
838
+ * does not store customer collection URLs or authenticate the customer's end
839
+ * users. Treat URLs and submitted values as secrets and exclude them from logs,
840
+ * traces, and errors.
745
841
  */
746
842
  action?: CredentialCollectionAction | CredentialVaultItem.OnePasswordAccessApprovalAction;
747
843
  }
@@ -817,6 +913,13 @@ export type CredentialVaultItemSpec = KernelCredentialVaultItemSpec | OnePasswor
817
913
  */
818
914
  export type CredentialVaultItemSpecInput = KernelCredentialVaultItemSpecInput | OnePasswordCredentialVaultItemSpecInput | ManagedAuthCredentialVaultItemSpecInput;
819
915
  export interface CredentialVaultItemSpecUpdate {
916
+ /**
917
+ * Field definitions to append, with the same defaults as creation. Set their
918
+ * values in `fields` in the same update. Names must be unique after removals; at
919
+ * most 32 fields may result. A required totp or passkey field needs a value in
920
+ * `fields`.
921
+ */
922
+ add_fields?: Array<CredentialVaultFieldDefinitionInput>;
820
923
  /**
821
924
  * Recognizable site or service name used as the form title, without suffixes such
822
925
  * as sign-in credentials. An empty string clears it. Display text only, not an
@@ -826,18 +929,26 @@ export interface CredentialVaultItemSpecUpdate {
826
929
  fields?: {
827
930
  [key: string]: CredentialVaultFieldUpdate;
828
931
  };
932
+ /**
933
+ * Names of fields to delete with their values. Unknown names return 400. At least
934
+ * one field must remain.
935
+ */
936
+ remove_fields?: Array<string>;
829
937
  }
830
938
  export type CredentialVaultItemState = KernelCredentialVaultItemState | OnePasswordCredentialVaultItemState | ManagedAuthCredentialVaultItemState;
831
939
  /**
832
- * Atomically update description and selected values. Omitted properties are
833
- * preserved. Field names, types, required flags, and sensitivity cannot change.
834
- * Unknown field names return 400; stale versions or mismatched item types return
835
- * 409 without changing the item. A successful update increments version and
836
- * invalidates outstanding Kernel-hosted collection sessions. If required values
837
- * remain missing, return pending_collection and a fresh collection action.
838
- * Otherwise return ready without an action; collect can open the form again
839
- * without clearing values. Customer URLs have no Kernel-managed expiry. 1Password
840
- * and managed auth credentials return 409.
940
+ * Atomically update description, field definitions, and selected values. Omitted
941
+ * properties are preserved. `remove_fields` deletes definitions and their values,
942
+ * then `add_fields` appends definitions, then `fields` sets values, including for
943
+ * added fields. An existing field's definition cannot be edited in place; to
944
+ * change it, remove the field and add it again, in the same update or a later one.
945
+ * The old value is deleted with it. Unknown field names return 400; stale versions
946
+ * or mismatched item types return 409 without changing the item. A successful
947
+ * update increments version and invalidates outstanding Kernel-hosted collection
948
+ * sessions. If required values remain missing, return pending_collection and a
949
+ * fresh collection action. Otherwise return ready without an action; collect can
950
+ * open the form again without clearing values. Customer URLs have no
951
+ * Kernel-managed expiry. 1Password and managed auth credentials return 409.
841
952
  */
842
953
  export interface CredentialVaultItemUpdateRequest {
843
954
  spec: CredentialVaultItemSpecUpdate;
@@ -855,32 +966,18 @@ export interface CredentialVaultItemUpdateRequest {
855
966
  expected_item_id?: string;
856
967
  }
857
968
  /**
858
- * Fill selected fields from one ready credential or ready, unexpired Link or
859
- * Kernel card into a browser linked to its vault. Only invoke when the item
860
- * advertises `fill`. Browser and vault must belong to the same project. Kernel
861
- * checks access and allowed destinations before filling; providing a page URL does
862
- * not authorize a destination.
863
- *
864
- * Find exactly one open page matching `page_url`. Credential items may omit
865
- * `page_url` to require exactly one open page; cards require an HTTPS page URL.
866
- * Credentials have no destination allowlist. TOTP fields generate a current code
867
- * immediately before writing; their seeds never enter the browser. For each
868
- * selector, search the main frame and all descendant frames for editable inputs or
869
- * selects matched directly or contained within matching elements. Each selector
870
- * must resolve to one unique editable element across all frames; zero or multiple
871
- * candidates fail. Count each element once, even if multiple matching containers
872
- * contain it. Validate all bindings before filling. Select elements match an
873
- * option by its value, not its label. If the page navigates or a target disappears
874
- * during filling, stop rather than selecting a different page or element.
969
+ * Use a vault item in a browser session, for example to fill a login or payment
970
+ * form. Only invoke when the item advertises `fill`; the advertised operation
971
+ * describes the inputs that item needs. Requires `browser_id` and usually
972
+ * `page_url`; some items also require `fields`. Browser and vault must belong to
973
+ * the same project. Kernel checks access and allowed destinations before filling;
974
+ * providing a page URL does not authorize a destination.
875
975
  *
876
- * Fill in request order and stop on the first failure. This operation is not
877
- * atomic: previously filled fields are not rolled back. Never submit the form or
878
- * click buttons, though input/change events may trigger site behavior. Link and
879
- * Kernel cards use fill for browser checkout and do not expose aliases or support
880
- * egress substitution. Fill does not consume the item, so a failed or
881
- * indeterminate fill is safe to retry; a retry rewrites the same fields. A retry
882
- * right after an indeterminate fill may wait up to 15 seconds for the earlier
883
- * attempt's browser lock to expire.
976
+ * Fill never submits forms or clicks buttons, though input and change events may
977
+ * trigger site behavior. It is not atomic: completed steps are not rolled back.
978
+ * Fill does not consume the item, so a failed or indeterminate fill is safe to
979
+ * retry. A retry right after an indeterminate fill may wait up to 15 seconds for
980
+ * the earlier attempt's browser lock to expire.
884
981
  *
885
982
  * Secret values are never returned or included in operation logs, traces, audit
886
983
  * events, or error details. This does not prevent an agent with unrestricted
@@ -892,17 +989,23 @@ export interface FillVaultItemOperationRequest {
892
989
  * Browser session ID, not a reusable browser name.
893
990
  */
894
991
  browser_id: string;
992
+ type: 'fill';
895
993
  /**
896
- * Field bindings for this step. No two bindings may resolve to the same element.
994
+ * Field bindings, when the item's advertised fill operation requires them. Each
995
+ * selector is searched in the main frame and all descendant frames and must
996
+ * resolve to exactly one editable input or select, matched directly or through a
997
+ * containing element; zero or multiple candidates fail, and no two bindings may
998
+ * resolve to the same element. Select elements match an option by value, not
999
+ * label. All bindings are validated before any write, then filled in request
1000
+ * order, stopping at the first failure. If the page navigates or a target
1001
+ * disappears, fill stops rather than choosing another page or element.
897
1002
  */
898
- fields: Array<VaultFillField>;
899
- type: 'fill';
1003
+ fields?: Array<VaultFillField>;
900
1004
  /**
901
1005
  * Exact current top-level page URL, including path, query, and fragment. Must
902
1006
  * match exactly one open page in the browser; zero or multiple matches fail. No
903
- * prefix or glob matching. Required for cards, which must use HTTPS without
904
- * embedded credentials. Optional for credentials, where omission requires exactly
905
- * one open page.
1007
+ * prefix or glob matching. When an item allows omitting it, the browser must have
1008
+ * exactly one open page.
906
1009
  */
907
1010
  page_url?: string;
908
1011
  /**
@@ -912,26 +1015,27 @@ export interface FillVaultItemOperationRequest {
912
1015
  }
913
1016
  export interface FillVaultItemOperationResult {
914
1017
  /**
915
- * Exactly one result per request binding, in request order. After the first failed
916
- * or unknown field, all remaining fields are not_attempted.
1018
+ * One result per request binding, in request order; empty when the fill used no
1019
+ * bindings. After the first failed or unknown field, all remaining fields are
1020
+ * not_attempted.
917
1021
  */
918
1022
  fields: Array<VaultFillFieldResult>;
919
1023
  /**
920
- * Completed only when all fields were filled. Failed when execution stopped with
921
- * known outcomes. Unknown when any field's outcome cannot be determined. None of
922
- * these statuses confirms payment or merchant acceptance.
1024
+ * Completed when the fill finished. Failed when execution stopped with known
1025
+ * outcomes. Unknown when an outcome cannot be determined. Completed means values
1026
+ * were supplied to the page, not that the site accepted or submitted them.
923
1027
  */
924
1028
  status: 'completed' | 'failed' | 'unknown';
925
1029
  type: 'fill';
926
1030
  }
927
1031
  /**
928
- * A ready Kernel card retains its encrypted network token and one-time code for
929
- * the fill operation until the item's expires_at. Fill and submit checkout before
930
- * then. Visa purchases require a spend_approval action before the code is issued;
931
- * Mastercard purchases need no hosted approval. masks.last4 is the enrolled card's
932
- * last four digits; masks.token_last4 is the network token's last four digits
933
- * shown to the merchant. Kernel cards do not expose aliases or support egress
934
- * substitution. Kernel does not observe whether the merchant charged the card.
1032
+ * A ready Kernel card supports authorize, fill, then submit checkout. Card details
1033
+ * are delivered for a few minutes after fill; submit promptly. Repeated fill is
1034
+ * safe and never submits checkout. Visa purchases require a spend_approval action
1035
+ * before details are issued; Mastercard purchases need no hosted approval.
1036
+ * masks.last4 is the enrolled card's last four digits; masks.token_last4, when
1037
+ * present, is the token's last four digits shown to the merchant. Kernel does not
1038
+ * observe whether the merchant charged the card.
935
1039
  */
936
1040
  export interface KernelCardState {
937
1041
  provider: 'kernel';
@@ -944,10 +1048,12 @@ export interface KernelCardState {
944
1048
  * fresh local verification link; this does not approve spending or replay any
945
1049
  * provider request. Unclassified legacy recovery and uncertain intent creation
946
1050
  * cannot restart. Kernel never approves again or issues another code for the item
947
- * automatically, and the item cannot be deleted or replaced until the original
948
- * attempt is reconciled with support. When status_reason says the provider refused
949
- * retrieval before acceptance, no code was issued and a later read retries.
950
- * declined means the card network refused to issue a code.
1051
+ * automatically. To continue, delete this card and create a new purchase; the
1052
+ * cardholder approves the new purchase separately. Recovery while reporting a
1053
+ * merchant transaction cannot be deleted and must be reconciled with support. When
1054
+ * status_reason says the provider refused retrieval before acceptance, no code was
1055
+ * issued and a later read retries. declined means the card network refused to
1056
+ * issue a code.
951
1057
  */
952
1058
  status: 'requested' | 'pending_authorization' | 'ready' | 'consumed' | 'expired' | 'declined' | 'recovery_required';
953
1059
  /**
@@ -977,12 +1083,17 @@ export declare namespace KernelCardState {
977
1083
  * Mastercard purchases need no cardholder approval. A Visa purchase returns a
978
1084
  * spend_approval action: the cardholder approves it with a Visa passkey, and
979
1085
  * Kernel registers a Visa intent for one transaction up to the amount before
980
- * issuing the code. Card updates are not supported; delete and create a new item
981
- * instead.
1086
+ * issuing the code. For supported cards whose network cannot be enrolled for
1087
+ * agentic tokens, authorize prepares checkout details without issuing a one-time
1088
+ * code. The card can be filled into one checkout before its expires_at, one hour
1089
+ * after authorization. Fill types those details on merchant_url's origin. The
1090
+ * amount, merchant_url and merchant_country are recorded but do not restrict
1091
+ * payment requests sent by the browser. Card updates are not supported; delete and
1092
+ * create a new item instead.
982
1093
  */
983
1094
  export interface KernelCardVaultItemSpec {
984
1095
  /**
985
- * Integer amount in minor currency units (at most 50000), bound to the one-time
1096
+ * Integer amount in minor currency units (at most 1000000), bound to the one-time
986
1097
  * code.
987
1098
  */
988
1099
  amount: number;
@@ -1086,23 +1197,29 @@ export interface KernelWalletState {
1086
1197
  * number never reaches Kernel. The connected wallet's payment_methods expansion
1087
1198
  * lists the card; capabilities.single_use_card.eligible is false, with a
1088
1199
  * network_token*\* reason, until the card has a network token, and authorize
1089
- * returns 400 for such a card. Visa purchases require the cardholder to complete a
1090
- * spend_approval action before Kernel issues a one-time code; Mastercard purchases
1091
- * need no hosted approval.
1200
+ * returns 400 for such a card unless Kernel supports checkout delivery without a
1201
+ * network token for that card. In that case, fill types the checkout details. Visa
1202
+ * purchases require the cardholder to complete a spend_approval action before
1203
+ * Kernel issues a one-time code; Mastercard purchases need no hosted approval.
1092
1204
  */
1093
1205
  export interface KernelWalletVaultItemSpec {
1094
1206
  provider: 'kernel';
1095
1207
  }
1096
1208
  export interface ManagedAuthCredentialVaultField {
1097
1209
  /**
1098
- * Text, email, and password have form inputs; totp does not and is omitted from
1099
- * both Kernel-hosted and customer React forms. Password and totp must be
1100
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
1101
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
1102
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
1103
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
1104
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
1105
- * unsupported.
1210
+ * Text, email, and password have form inputs; totp and passkey do not and are
1211
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
1212
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
1213
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
1214
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
1215
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
1216
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
1217
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
1218
+ * Credential Exchange Format passkey object with unpadded base64url
1219
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
1220
+ * private key), a lowercase `rpId` domain, and optional `username` and
1221
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
1222
+ * pages.
1106
1223
  */
1107
1224
  type: CredentialVaultFieldType;
1108
1225
  }
@@ -1640,6 +1757,10 @@ export declare namespace VaultItem {
1640
1757
  type: 'wallet';
1641
1758
  updated_at: string;
1642
1759
  action?: ItemsAPI.VaultItemAction;
1760
+ /**
1761
+ * Server-generated provider and lifecycle guidance for agents.
1762
+ */
1763
+ description?: string;
1643
1764
  /**
1644
1765
  * Live, non-persisted data requested through the item GET expand parameter.
1645
1766
  */
@@ -1680,7 +1801,12 @@ export declare namespace VaultItem {
1680
1801
  */
1681
1802
  key: string;
1682
1803
  /**
1683
- * Live payment card. Test-mode card creation is not supported.
1804
+ * Live Link card request. Test-mode card creation is not supported. The spec can
1805
+ * be changed with PATCH until the card is authorized at a checkout. Authorize it
1806
+ * with the browser at final checkout: Kernel inspects the checkout through WebMCP
1807
+ * and internally chooses a merchant-bound Link Pay Token when supported or a
1808
+ * virtual card otherwise. Callers never receive or choose how the credential is
1809
+ * delivered.
1684
1810
  */
1685
1811
  spec: ItemsAPI.CardVaultItemSpec;
1686
1812
  /**
@@ -1780,6 +1906,10 @@ export declare namespace VaultItemOperationResponse {
1780
1906
  type: 'wallet';
1781
1907
  updated_at: string;
1782
1908
  action?: ItemsAPI.VaultItemAction;
1909
+ /**
1910
+ * Server-generated provider and lifecycle guidance for agents.
1911
+ */
1912
+ description?: string;
1783
1913
  /**
1784
1914
  * Live, non-persisted data requested through the item GET expand parameter.
1785
1915
  */
@@ -1820,7 +1950,12 @@ export declare namespace VaultItemOperationResponse {
1820
1950
  */
1821
1951
  key: string;
1822
1952
  /**
1823
- * Live payment card. Test-mode card creation is not supported.
1953
+ * Live Link card request. Test-mode card creation is not supported. The spec can
1954
+ * be changed with PATCH until the card is authorized at a checkout. Authorize it
1955
+ * with the browser at final checkout: Kernel inspects the checkout through WebMCP
1956
+ * and internally chooses a merchant-bound Link Pay Token when supported or a
1957
+ * virtual card otherwise. Callers never receive or choose how the credential is
1958
+ * delivered.
1824
1959
  */
1825
1960
  spec: ItemsAPI.CardVaultItemSpec;
1826
1961
  /**
@@ -1893,7 +2028,7 @@ export declare namespace VaultPaymentMethod {
1893
2028
  export interface VaultWebmcpBinding {
1894
2029
  /**
1895
2030
  * A declared, populated credential field or supported card field. A TOTP field
1896
- * supplies a fresh code, never its seed.
2031
+ * supplies a fresh code, never its seed. Passkey fields cannot be filled.
1897
2032
  */
1898
2033
  field: string;
1899
2034
  /**
@@ -2097,7 +2232,12 @@ export declare namespace ItemUpdateParams {
2097
2232
  */
2098
2233
  id_or_name: string;
2099
2234
  /**
2100
- * Body param: Live payment card. Test-mode card creation is not supported.
2235
+ * Body param: Live Link card request. Test-mode card creation is not supported.
2236
+ * The spec can be changed with PATCH until the card is authorized at a checkout.
2237
+ * Authorize it with the browser at final checkout: Kernel inspects the checkout
2238
+ * through WebMCP and internally chooses a merchant-bound Link Pay Token when
2239
+ * supported or a virtual card otherwise. Callers never receive or choose how the
2240
+ * credential is delivered.
2101
2241
  */
2102
2242
  spec: CardVaultItemSpec;
2103
2243
  /**
@@ -2159,6 +2299,16 @@ export declare namespace ItemPerformOperationParams {
2159
2299
  * Body param
2160
2300
  */
2161
2301
  type: 'authorize';
2302
+ /**
2303
+ * Body param: Browser session ID, not a reusable browser name. The browser must
2304
+ * have this vault attached.
2305
+ */
2306
+ browser_id?: string;
2307
+ /**
2308
+ * Body param: Exact current top-level URL of the final checkout page open in
2309
+ * browser_id.
2310
+ */
2311
+ page_url?: string;
2162
2312
  }
2163
2313
  interface RestartVerificationVaultItemOperationRequest {
2164
2314
  /**
@@ -2239,21 +2389,26 @@ export declare namespace ItemPerformOperationParams {
2239
2389
  * Body param: Browser session ID, not a reusable browser name.
2240
2390
  */
2241
2391
  browser_id: string;
2242
- /**
2243
- * Body param: Field bindings for this step. No two bindings may resolve to the
2244
- * same element.
2245
- */
2246
- fields: Array<VaultFillField>;
2247
2392
  /**
2248
2393
  * Body param
2249
2394
  */
2250
2395
  type: 'fill';
2396
+ /**
2397
+ * Body param: Field bindings, when the item's advertised fill operation requires
2398
+ * them. Each selector is searched in the main frame and all descendant frames and
2399
+ * must resolve to exactly one editable input or select, matched directly or
2400
+ * through a containing element; zero or multiple candidates fail, and no two
2401
+ * bindings may resolve to the same element. Select elements match an option by
2402
+ * value, not label. All bindings are validated before any write, then filled in
2403
+ * request order, stopping at the first failure. If the page navigates or a target
2404
+ * disappears, fill stops rather than choosing another page or element.
2405
+ */
2406
+ fields?: Array<VaultFillField>;
2251
2407
  /**
2252
2408
  * Body param: Exact current top-level page URL, including path, query, and
2253
2409
  * fragment. Must match exactly one open page in the browser; zero or multiple
2254
- * matches fail. No prefix or glob matching. Required for cards, which must use
2255
- * HTTPS without embedded credentials. Optional for credentials, where omission
2256
- * requires exactly one open page.
2410
+ * matches fail. No prefix or glob matching. When an item allows omitting it, the
2411
+ * browser must have exactly one open page.
2257
2412
  */
2258
2413
  page_url?: string;
2259
2414
  /**
@@ -2544,7 +2699,12 @@ export declare namespace ItemUpsertParams {
2544
2699
  */
2545
2700
  id_or_name: string;
2546
2701
  /**
2547
- * Body param: Live payment card. Test-mode card creation is not supported.
2702
+ * Body param: Live Link card request. Test-mode card creation is not supported.
2703
+ * The spec can be changed with PATCH until the card is authorized at a checkout.
2704
+ * Authorize it with the browser at final checkout: Kernel inspects the checkout
2705
+ * through WebMCP and internally chooses a merchant-bound Link Pay Token when
2706
+ * supported or a virtual card otherwise. Callers never receive or choose how the
2707
+ * credential is delivered.
2548
2708
  */
2549
2709
  spec: CardVaultItemSpec;
2550
2710
  /**
@@ -2586,6 +2746,6 @@ export declare namespace ItemUpsertParams {
2586
2746
  }
2587
2747
  }
2588
2748
  export declare namespace Items {
2589
- export { type AgentcardCheckoutAuthorization as AgentcardCheckoutAuthorization, type AgentcardCheckoutPreparation as AgentcardCheckoutPreparation, type AgentcardPreparedProcessor as AgentcardPreparedProcessor, type AuthorizeVaultItemOperationRequest as AuthorizeVaultItemOperationRequest, type CardVaultItemSpec as CardVaultItemSpec, type CardVaultItemState as CardVaultItemState, type CollectVaultItemOperationRequest as CollectVaultItemOperationRequest, type ConfirmTransactionVaultItemOperationRequest as ConfirmTransactionVaultItemOperationRequest, type CredentialAccountVaultItem as CredentialAccountVaultItem, type CredentialAccountVaultItemRequest as CredentialAccountVaultItemRequest, type CredentialCollectionAction as CredentialCollectionAction, type CredentialVaultFieldDefinition as CredentialVaultFieldDefinition, type CredentialVaultFieldInput as CredentialVaultFieldInput, type CredentialVaultFieldState as CredentialVaultFieldState, type CredentialVaultFieldType as CredentialVaultFieldType, type CredentialVaultFieldUpdate as CredentialVaultFieldUpdate, type CredentialVaultItem as CredentialVaultItem, type CredentialVaultItemRequest as CredentialVaultItemRequest, type CredentialVaultItemSpec as CredentialVaultItemSpec, type CredentialVaultItemSpecInput as CredentialVaultItemSpecInput, type CredentialVaultItemSpecUpdate as CredentialVaultItemSpecUpdate, type CredentialVaultItemState as CredentialVaultItemState, type CredentialVaultItemUpdateRequest as CredentialVaultItemUpdateRequest, type FillVaultItemOperationRequest as FillVaultItemOperationRequest, type FillVaultItemOperationResult as FillVaultItemOperationResult, type KernelCardState as KernelCardState, type KernelCardVaultItemSpec as KernelCardVaultItemSpec, type KernelCredentialVaultItemSpec as KernelCredentialVaultItemSpec, type KernelCredentialVaultItemSpecInput as KernelCredentialVaultItemSpecInput, type KernelCredentialVaultItemState as KernelCredentialVaultItemState, type KernelWalletState as KernelWalletState, type KernelWalletVaultItemSpec as KernelWalletVaultItemSpec, type ManagedAuthCredentialVaultField as ManagedAuthCredentialVaultField, type ManagedAuthCredentialVaultItemSpec as ManagedAuthCredentialVaultItemSpec, type ManagedAuthCredentialVaultItemSpecInput as ManagedAuthCredentialVaultItemSpecInput, type ManagedAuthCredentialVaultItemState as ManagedAuthCredentialVaultItemState, type OnePasswordCredentialAccountSpec as OnePasswordCredentialAccountSpec, type OnePasswordCredentialAccountState as OnePasswordCredentialAccountState, type OnePasswordCredentialVaultItemSpec as OnePasswordCredentialVaultItemSpec, type OnePasswordCredentialVaultItemSpecInput as OnePasswordCredentialVaultItemSpecInput, type OnePasswordCredentialVaultItemState as OnePasswordCredentialVaultItemState, type OnePasswordFillVaultItemOperationRequest as OnePasswordFillVaultItemOperationRequest, type OnePasswordFillVaultItemOperationResult as OnePasswordFillVaultItemOperationResult, type OnePasswordOAuthAction as OnePasswordOAuthAction, type OnePasswordRecoverVaultItemOperationRequest as OnePasswordRecoverVaultItemOperationRequest, type OnePasswordRequestAccessVaultItemOperationRequest as OnePasswordRequestAccessVaultItemOperationRequest, type PrepareCheckoutVaultItemOperationRequest as PrepareCheckoutVaultItemOperationRequest, type RestartVerificationVaultItemOperationRequest as RestartVerificationVaultItemOperationRequest, type VaultCardAliases as VaultCardAliases, type VaultCardFillField as VaultCardFillField, type VaultCheckoutContext as VaultCheckoutContext, type VaultFillField as VaultFillField, type VaultFillFieldResult as VaultFillFieldResult, type VaultItem as VaultItem, type VaultItemAction as VaultItemAction, type VaultItemEvent as VaultItemEvent, type VaultItemOperationResponse as VaultItemOperationResponse, type VaultPaymentMethod as VaultPaymentMethod, type VaultWebmcpBinding as VaultWebmcpBinding, type WalletVaultItemSpec as WalletVaultItemSpec, type WalletVaultItemState as WalletVaultItemState, type WebmcpInvokeVaultItemOperationRequest as WebmcpInvokeVaultItemOperationRequest, type WebmcpInvokeVaultItemOperationResult as WebmcpInvokeVaultItemOperationResult, type ItemListResponse as ItemListResponse, type ItemEventsResponse as ItemEventsResponse, type ItemRetrieveParams as ItemRetrieveParams, type ItemUpdateParams as ItemUpdateParams, type ItemDeleteParams as ItemDeleteParams, type ItemEventsParams as ItemEventsParams, type ItemPerformOperationParams as ItemPerformOperationParams, type ItemUpsertParams as ItemUpsertParams, };
2749
+ export { type AgentcardCheckoutAuthorization as AgentcardCheckoutAuthorization, type AgentcardCheckoutPreparation as AgentcardCheckoutPreparation, type AgentcardPreparedProcessor as AgentcardPreparedProcessor, type AuthorizeVaultItemOperationRequest as AuthorizeVaultItemOperationRequest, type CardVaultItemSpec as CardVaultItemSpec, type CardVaultItemState as CardVaultItemState, type CollectVaultItemOperationRequest as CollectVaultItemOperationRequest, type ConfirmTransactionVaultItemOperationRequest as ConfirmTransactionVaultItemOperationRequest, type CredentialAccountVaultItem as CredentialAccountVaultItem, type CredentialAccountVaultItemRequest as CredentialAccountVaultItemRequest, type CredentialCollectionAction as CredentialCollectionAction, type CredentialVaultFieldDefinition as CredentialVaultFieldDefinition, type CredentialVaultFieldDefinitionInput as CredentialVaultFieldDefinitionInput, type CredentialVaultFieldInput as CredentialVaultFieldInput, type CredentialVaultFieldState as CredentialVaultFieldState, type CredentialVaultFieldType as CredentialVaultFieldType, type CredentialVaultFieldUpdate as CredentialVaultFieldUpdate, type CredentialVaultItem as CredentialVaultItem, type CredentialVaultItemRequest as CredentialVaultItemRequest, type CredentialVaultItemSpec as CredentialVaultItemSpec, type CredentialVaultItemSpecInput as CredentialVaultItemSpecInput, type CredentialVaultItemSpecUpdate as CredentialVaultItemSpecUpdate, type CredentialVaultItemState as CredentialVaultItemState, type CredentialVaultItemUpdateRequest as CredentialVaultItemUpdateRequest, type FillVaultItemOperationRequest as FillVaultItemOperationRequest, type FillVaultItemOperationResult as FillVaultItemOperationResult, type KernelCardState as KernelCardState, type KernelCardVaultItemSpec as KernelCardVaultItemSpec, type KernelCredentialVaultItemSpec as KernelCredentialVaultItemSpec, type KernelCredentialVaultItemSpecInput as KernelCredentialVaultItemSpecInput, type KernelCredentialVaultItemState as KernelCredentialVaultItemState, type KernelWalletState as KernelWalletState, type KernelWalletVaultItemSpec as KernelWalletVaultItemSpec, type ManagedAuthCredentialVaultField as ManagedAuthCredentialVaultField, type ManagedAuthCredentialVaultItemSpec as ManagedAuthCredentialVaultItemSpec, type ManagedAuthCredentialVaultItemSpecInput as ManagedAuthCredentialVaultItemSpecInput, type ManagedAuthCredentialVaultItemState as ManagedAuthCredentialVaultItemState, type OnePasswordCredentialAccountSpec as OnePasswordCredentialAccountSpec, type OnePasswordCredentialAccountState as OnePasswordCredentialAccountState, type OnePasswordCredentialVaultItemSpec as OnePasswordCredentialVaultItemSpec, type OnePasswordCredentialVaultItemSpecInput as OnePasswordCredentialVaultItemSpecInput, type OnePasswordCredentialVaultItemState as OnePasswordCredentialVaultItemState, type OnePasswordFillVaultItemOperationRequest as OnePasswordFillVaultItemOperationRequest, type OnePasswordFillVaultItemOperationResult as OnePasswordFillVaultItemOperationResult, type OnePasswordOAuthAction as OnePasswordOAuthAction, type OnePasswordRecoverVaultItemOperationRequest as OnePasswordRecoverVaultItemOperationRequest, type OnePasswordRequestAccessVaultItemOperationRequest as OnePasswordRequestAccessVaultItemOperationRequest, type PrepareCheckoutVaultItemOperationRequest as PrepareCheckoutVaultItemOperationRequest, type RestartVerificationVaultItemOperationRequest as RestartVerificationVaultItemOperationRequest, type VaultCardAliases as VaultCardAliases, type VaultCardFillField as VaultCardFillField, type VaultCheckoutContext as VaultCheckoutContext, type VaultFillField as VaultFillField, type VaultFillFieldResult as VaultFillFieldResult, type VaultItem as VaultItem, type VaultItemAction as VaultItemAction, type VaultItemEvent as VaultItemEvent, type VaultItemOperationResponse as VaultItemOperationResponse, type VaultPaymentMethod as VaultPaymentMethod, type VaultWebmcpBinding as VaultWebmcpBinding, type WalletVaultItemSpec as WalletVaultItemSpec, type WalletVaultItemState as WalletVaultItemState, type WebmcpInvokeVaultItemOperationRequest as WebmcpInvokeVaultItemOperationRequest, type WebmcpInvokeVaultItemOperationResult as WebmcpInvokeVaultItemOperationResult, type ItemListResponse as ItemListResponse, type ItemEventsResponse as ItemEventsResponse, type ItemRetrieveParams as ItemRetrieveParams, type ItemUpdateParams as ItemUpdateParams, type ItemDeleteParams as ItemDeleteParams, type ItemEventsParams as ItemEventsParams, type ItemPerformOperationParams as ItemPerformOperationParams, type ItemUpsertParams as ItemUpsertParams, };
2590
2750
  }
2591
2751
  //# sourceMappingURL=items.d.ts.map