@onkernel/sdk 0.126.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 +14 -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 +231 -139
  24. package/resources/vaults/items.d.mts.map +1 -1
  25. package/resources/vaults/items.d.ts +231 -139
  26. package/resources/vaults/items.d.ts.map +1 -1
  27. package/resources/vaults/items.js +13 -9
  28. package/resources/vaults/items.js.map +1 -1
  29. package/resources/vaults/items.mjs +13 -9
  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 +238 -139
  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
@@ -42,10 +42,10 @@ export class Items extends APIResource {
42
42
  * request, subject to atomic provider approval checks; omitted optional fields
43
43
  * remain unchanged and explicit empty lists clear them. Wallet/provider binding
44
44
  * and unsupported fields cannot change after authorization starts. An uncertain
45
- * update enters recovery_required and must not be retried. Checkout cards may be
46
- * edited between authorizations. A Link card authorized with browser_id and
47
- * page_url cannot be changed; delete it and create a new card with the updated
48
- * details.
45
+ * update enters recovery_required; delete the card and create a new one rather
46
+ * than retrying the update. Checkout cards may be edited between authorizations. A
47
+ * Link card authorized with browser_id and page_url cannot be changed; delete it
48
+ * and create a new card with the updated details.
49
49
  *
50
50
  * @example
51
51
  * ```ts
@@ -91,11 +91,12 @@ export class Items extends APIResource {
91
91
  * Unresolved payment operations normally block deletion, including operations on
92
92
  * child cards of a wallet. Deleting a connected Kernel wallet first blocks new
93
93
  * payments on it, then removes its enrolled card. If that fails, the wallet is
94
- * kept and keeps refusing payments; retry the deletion. An AgentCard card in
95
- * recovery_required whose checkout create response returned no authorization ID
96
- * may be explicitly abandoned by deleting that card directly; deleting its wallet
97
- * or vault remains blocked. Deleting or recreating an item is not proof that a
98
- * payment did not occur. Deleting a managed auth credential item leaves the
94
+ * kept and keeps refusing payments; retry the deletion. A Link or Kernel card in
95
+ * recovery_required for issuance, or an AgentCard card in recovery_required whose
96
+ * checkout create response returned no authorization ID, may be explicitly
97
+ * abandoned by deleting that card directly; deleting its wallet or vault remains
98
+ * blocked until the card is deleted. Deleting or recreating an item is not proof
99
+ * that a payment did not occur. Deleting a managed auth credential item leaves the
99
100
  * connection and its saved credential unchanged.
100
101
  *
101
102
  * @example
@@ -145,6 +146,9 @@ export class Items extends APIResource {
145
146
  * return HTTP 429 and retain the card item; stop, back off, and retry the same
146
147
  * authorize operation.
147
148
  *
149
+ * Ready Kernel cards advertise fill. Fill delivers card details for a few minutes;
150
+ * submit checkout promptly after filling. A repeated fill is safe.
151
+ *
148
152
  * Fill returns a value-free execution result. Validation failures before writing
149
153
  * return 400 (invalid request or targets), 403 (access or destination denied), 404
150
154
  * (resource not found), or 409 (item or browser not ready). Once writing starts,
@@ -392,8 +396,6 @@ export namespace CardVaultItemSpec {
392
396
  */
393
397
  wallet: string;
394
398
 
395
- expires_at?: number;
396
-
397
399
  line_items?: Array<LinkCardVaultItemSpec.LineItem>;
398
400
 
399
401
  metadata?: { [key: string]: string };
@@ -515,11 +517,12 @@ export namespace CardVaultItemState {
515
517
  provider: 'link';
516
518
 
517
519
  /**
518
- * recovery_required means an original provider operation has an unresolved
519
- * outcome. Do not retry, delete, or replace it. Known references may be observed
520
- * safely, but unknown creation without an ID and uncertain card-material retrieval
521
- * require manual reconciliation with the provider or support. There is no reset or
522
- * caller-asserted reconciliation operation.
520
+ * recovery_required means an original provider operation has an unresolved outcome
521
+ * and the card cannot be used. Reads keep observing a known provider request and
522
+ * may clear the recovery. To continue, delete this card and create a new one;
523
+ * deleting cancels the original request when its ID is known and keeps the
524
+ * recovery evidence. The user may see an approval request for the original card
525
+ * and should approve only the new one.
523
526
  */
524
527
  status:
525
528
  | 'requested'
@@ -619,16 +622,16 @@ export namespace CardVaultItemState {
619
622
  /**
620
623
  * Return the credential item with its collection action. Supported for ready and
621
624
  * pending_collection credential items. Always render the same form from every
622
- * form-supported field; totp fields have no form input and are omitted. No
623
- * caller-selected field subsets or form overrides are accepted. Reuse an active
624
- * Kernel-hosted session or renew an expired session atomically. Customer-hosted
625
- * forms use their own backend and ordinary item GET/PATCH. Opening the form does
626
- * not clear values or change readiness or item version. To observe edits on a
627
- * ready item, record its version and poll GET without wait until the version
628
- * changes, then reconcile the returned state. Version changes may also come from
629
- * PATCH; they do not identify a particular form submission. Customer-hosted apps
630
- * use their own submission callback, including for unchanged forms. The wait
631
- * parameter waits for readiness, not edits.
625
+ * form-supported field; totp and passkey fields have no form input and are
626
+ * omitted. No caller-selected field subsets or form overrides are accepted. Reuse
627
+ * an active Kernel-hosted session or renew an expired session atomically.
628
+ * Customer-hosted forms use their own backend and ordinary item GET/PATCH. Opening
629
+ * the form does not clear values or change readiness or item version. To observe
630
+ * edits on a ready item, record its version and poll GET without wait until the
631
+ * version changes, then reconcile the returned state. Version changes may also
632
+ * come from PATCH; they do not identify a particular form submission.
633
+ * Customer-hosted apps use their own submission callback, including for unchanged
634
+ * forms. The wait parameter waits for readiness, not edits.
632
635
  */
633
636
  export interface CollectVaultItemOperationRequest {
634
637
  type: 'collect';
@@ -746,30 +749,31 @@ export interface CredentialAccountVaultItemRequest {
746
749
 
747
750
  /**
748
751
  * One schema-derived form for the item, available in ready or pending_collection
749
- * state. Render every form-supported field as editable; omit totp fields and
750
- * preserve their stored seeds. Prefill non-sensitive values, and allow existing
751
- * sensitive values to be preserved or replaced without ever revealing them. No
752
- * field subsets or per-request form configuration exist. Validate required fields
753
- * against the resulting values, including preserved secrets. Submit changed values
754
- * only, using the version used to render the form. Scoped hosted submission
755
- * rejects totp edits; seed writes require the ordinary authenticated item API.
756
- * Customer forms likewise omit totp from their payloads. Save edits atomically. A
757
- * successful hosted submission increments the version, marks ready, and consumes
758
- * the session; an empty edit may complete collection while preserving values. A
759
- * customer form uses PATCH for changed values and does not send an empty PATCH
760
- * when nothing changed. Kernel-hosted bearer sessions require no Kernel account
761
- * and are bound to the item version. Expired, superseded, consumed, or
762
- * deleted-item sessions cannot submit. Authenticated item GET renews expired
763
- * active sessions for ready or pending items; pending items always receive an
764
- * action. A ready item with no active session omits the action until collect is
765
- * invoked. Concurrent renewals return the same link. Renewal changes neither
766
- * values nor item version. An expired link cannot renew itself. The hosted form
767
- * handles its collection protocol; callers only open the returned URL and do not
768
- * extract or submit its token through the public API. For customer-hosted forms,
769
- * use @onkernel/vault-react and an authenticated customer backend calling the
770
- * ordinary item GET/PATCH API. Kernel does not store customer collection URLs or
771
- * authenticate the customer's end users. Treat URLs and submitted values as
772
- * secrets and exclude them from logs, traces, and errors.
752
+ * state. Render every form-supported field as editable; omit totp and passkey
753
+ * fields and preserve their stored values. Prefill non-sensitive values, and allow
754
+ * existing sensitive values to be preserved or replaced without ever revealing
755
+ * them. No field subsets or per-request form configuration exist. Validate
756
+ * required fields against the resulting values, including preserved secrets.
757
+ * Submit changed values only, using the version used to render the form. Scoped
758
+ * hosted submission rejects totp and passkey edits; those writes require the
759
+ * ordinary authenticated item API. Customer forms likewise omit them from their
760
+ * payloads. Save edits atomically. A successful hosted submission increments the
761
+ * version, marks ready, and consumes the session; an empty edit may complete
762
+ * collection while preserving values. A customer form uses PATCH for changed
763
+ * values and does not send an empty PATCH when nothing changed. Kernel-hosted
764
+ * bearer sessions require no Kernel account and are bound to the item version.
765
+ * Expired, superseded, consumed, or deleted-item sessions cannot submit.
766
+ * Authenticated item GET renews expired active sessions for ready or pending
767
+ * items; pending items always receive an action. A ready item with no active
768
+ * session omits the action until collect is invoked. Concurrent renewals return
769
+ * the same link. Renewal changes neither values nor item version. An expired link
770
+ * cannot renew itself. The hosted form handles its collection protocol; callers
771
+ * only open the returned URL and do not extract or submit its token through the
772
+ * public API. For customer-hosted forms, use @onkernel/vault-react and an
773
+ * authenticated customer backend calling the ordinary item GET/PATCH API. Kernel
774
+ * does not store customer collection URLs or authenticate the customer's end
775
+ * users. Treat URLs and submitted values as secrets and exclude them from logs,
776
+ * traces, and errors.
773
777
  */
774
778
  export interface CredentialCollectionAction {
775
779
  /**
@@ -805,14 +809,55 @@ export interface CredentialVaultFieldDefinition {
805
809
  sensitive: boolean;
806
810
 
807
811
  /**
808
- * Text, email, and password have form inputs; totp does not and is omitted from
809
- * both Kernel-hosted and customer React forms. Password and totp must be
810
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
811
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
812
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
813
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
814
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
815
- * unsupported.
812
+ * Text, email, and password have form inputs; totp and passkey do not and are
813
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
814
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
815
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
816
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
817
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
818
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
819
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
820
+ * Credential Exchange Format passkey object with unpadded base64url
821
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
822
+ * private key), a lowercase `rpId` domain, and optional `username` and
823
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
824
+ * pages.
825
+ */
826
+ type: CredentialVaultFieldType;
827
+
828
+ /**
829
+ * Optional human-readable display label. It is returned as non-secret metadata and
830
+ * never affects value keys, updates, or browser fills. Use single-line, trimmed
831
+ * display text without control or formatting characters. The server enforces a
832
+ * 128-byte UTF-8 limit.
833
+ */
834
+ label?: string;
835
+ }
836
+
837
+ /**
838
+ * A field definition without a value. Field updates add fields with this shape and
839
+ * set their values in `fields`.
840
+ */
841
+ export interface CredentialVaultFieldDefinitionInput {
842
+ /**
843
+ * Unique stable field name used to key values, updates, and browser fills.
844
+ */
845
+ name: string;
846
+
847
+ /**
848
+ * Text, email, and password have form inputs; totp and passkey do not and are
849
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
850
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
851
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
852
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
853
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
854
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
855
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
856
+ * Credential Exchange Format passkey object with unpadded base64url
857
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
858
+ * private key), a lowercase `rpId` domain, and optional `username` and
859
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
860
+ * pages.
816
861
  */
817
862
  type: CredentialVaultFieldType;
818
863
 
@@ -823,6 +868,17 @@ export interface CredentialVaultFieldDefinition {
823
868
  * 128-byte UTF-8 limit.
824
869
  */
825
870
  label?: string;
871
+
872
+ required?: boolean;
873
+
874
+ /**
875
+ * Set false explicitly for ordinary usernames, email addresses, and other
876
+ * non-secret identifiers. Reserve true for secrets such as passwords, API tokens,
877
+ * and TOTP seeds. Password, totp, and passkey fields must be true. Omission
878
+ * defaults to true for safety; do not rely on that default for every field. False
879
+ * permits API reads and form prefilling.
880
+ */
881
+ sensitive?: boolean;
826
882
  }
827
883
 
828
884
  export interface CredentialVaultFieldInput {
@@ -832,14 +888,19 @@ export interface CredentialVaultFieldInput {
832
888
  name: string;
833
889
 
834
890
  /**
835
- * Text, email, and password have form inputs; totp does not and is omitted from
836
- * both Kernel-hosted and customer React forms. Password and totp must be
837
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
838
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
839
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
840
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
841
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
842
- * unsupported.
891
+ * Text, email, and password have form inputs; totp and passkey do not and are
892
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
893
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
894
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
895
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
896
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
897
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
898
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
899
+ * Credential Exchange Format passkey object with unpadded base64url
900
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
901
+ * private key), a lowercase `rpId` domain, and optional `username` and
902
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
903
+ * pages.
843
904
  */
844
905
  type: CredentialVaultFieldType;
845
906
 
@@ -872,9 +933,9 @@ export interface CredentialVaultFieldInput {
872
933
  /**
873
934
  * Set false explicitly for ordinary usernames, email addresses, and other
874
935
  * non-secret identifiers. Reserve true for secrets such as passwords, API tokens,
875
- * and TOTP seeds. Password and totp fields must be true. Omission defaults to true
876
- * for safety; do not rely on that default for every field. False permits API reads
877
- * and form prefilling.
936
+ * and TOTP seeds. Password, totp, and passkey fields must be true. Omission
937
+ * defaults to true for safety; do not rely on that default for every field. False
938
+ * permits API reads and form prefilling.
878
939
  */
879
940
  sensitive?: boolean;
880
941
 
@@ -900,16 +961,21 @@ export interface CredentialVaultFieldState {
900
961
  }
901
962
 
902
963
  /**
903
- * Text, email, and password have form inputs; totp does not and is omitted from
904
- * both Kernel-hosted and customer React forms. Password and totp must be
905
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
906
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
907
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
908
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
909
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
910
- * unsupported.
964
+ * Text, email, and password have form inputs; totp and passkey do not and are
965
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
966
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
967
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
968
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
969
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
970
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
971
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
972
+ * Credential Exchange Format passkey object with unpadded base64url
973
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
974
+ * private key), a lowercase `rpId` domain, and optional `username` and
975
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
976
+ * pages.
911
977
  */
912
- export type CredentialVaultFieldType = 'text' | 'email' | 'password' | 'totp';
978
+ export type CredentialVaultFieldType = 'text' | 'email' | 'password' | 'totp' | 'passkey';
913
979
 
914
980
  /**
915
981
  * Set exactly one of value or encrypted_value. Use value unless the update comes
@@ -938,8 +1004,9 @@ export interface CredentialVaultFieldUpdate {
938
1004
  * immediately clear the stored value. Clearing a required form-supported field
939
1005
  * reopens collection; clearing an optional field does not prevent readiness.
940
1006
  * Values must satisfy the declared field type. For totp, value is the generator
941
- * seed, never a current code. Clearing a required totp field returns 400 because
942
- * it cannot be collected in a form.
1007
+ * seed, never a current code. For passkey, value is the JSON-encoded CXF passkey
1008
+ * object. Clearing a required totp or passkey field returns 400 because it cannot
1009
+ * be collected in a form.
943
1010
  */
944
1011
  value?: string | null;
945
1012
  }
@@ -986,30 +1053,31 @@ export interface CredentialVaultItem {
986
1053
 
987
1054
  /**
988
1055
  * One schema-derived form for the item, available in ready or pending_collection
989
- * state. Render every form-supported field as editable; omit totp fields and
990
- * preserve their stored seeds. Prefill non-sensitive values, and allow existing
991
- * sensitive values to be preserved or replaced without ever revealing them. No
992
- * field subsets or per-request form configuration exist. Validate required fields
993
- * against the resulting values, including preserved secrets. Submit changed values
994
- * only, using the version used to render the form. Scoped hosted submission
995
- * rejects totp edits; seed writes require the ordinary authenticated item API.
996
- * Customer forms likewise omit totp from their payloads. Save edits atomically. A
997
- * successful hosted submission increments the version, marks ready, and consumes
998
- * the session; an empty edit may complete collection while preserving values. A
999
- * customer form uses PATCH for changed values and does not send an empty PATCH
1000
- * when nothing changed. Kernel-hosted bearer sessions require no Kernel account
1001
- * and are bound to the item version. Expired, superseded, consumed, or
1002
- * deleted-item sessions cannot submit. Authenticated item GET renews expired
1003
- * active sessions for ready or pending items; pending items always receive an
1004
- * action. A ready item with no active session omits the action until collect is
1005
- * invoked. Concurrent renewals return the same link. Renewal changes neither
1006
- * values nor item version. An expired link cannot renew itself. The hosted form
1007
- * handles its collection protocol; callers only open the returned URL and do not
1008
- * extract or submit its token through the public API. For customer-hosted forms,
1009
- * use @onkernel/vault-react and an authenticated customer backend calling the
1010
- * ordinary item GET/PATCH API. Kernel does not store customer collection URLs or
1011
- * authenticate the customer's end users. Treat URLs and submitted values as
1012
- * secrets and exclude them from logs, traces, and errors.
1056
+ * state. Render every form-supported field as editable; omit totp and passkey
1057
+ * fields and preserve their stored values. Prefill non-sensitive values, and allow
1058
+ * existing sensitive values to be preserved or replaced without ever revealing
1059
+ * them. No field subsets or per-request form configuration exist. Validate
1060
+ * required fields against the resulting values, including preserved secrets.
1061
+ * Submit changed values only, using the version used to render the form. Scoped
1062
+ * hosted submission rejects totp and passkey edits; those writes require the
1063
+ * ordinary authenticated item API. Customer forms likewise omit them from their
1064
+ * payloads. Save edits atomically. A successful hosted submission increments the
1065
+ * version, marks ready, and consumes the session; an empty edit may complete
1066
+ * collection while preserving values. A customer form uses PATCH for changed
1067
+ * values and does not send an empty PATCH when nothing changed. Kernel-hosted
1068
+ * bearer sessions require no Kernel account and are bound to the item version.
1069
+ * Expired, superseded, consumed, or deleted-item sessions cannot submit.
1070
+ * Authenticated item GET renews expired active sessions for ready or pending
1071
+ * items; pending items always receive an action. A ready item with no active
1072
+ * session omits the action until collect is invoked. Concurrent renewals return
1073
+ * the same link. Renewal changes neither values nor item version. An expired link
1074
+ * cannot renew itself. The hosted form handles its collection protocol; callers
1075
+ * only open the returned URL and do not extract or submit its token through the
1076
+ * public API. For customer-hosted forms, use @onkernel/vault-react and an
1077
+ * authenticated customer backend calling the ordinary item GET/PATCH API. Kernel
1078
+ * does not store customer collection URLs or authenticate the customer's end
1079
+ * users. Treat URLs and submitted values as secrets and exclude them from logs,
1080
+ * traces, and errors.
1013
1081
  */
1014
1082
  action?: CredentialCollectionAction | CredentialVaultItem.OnePasswordAccessApprovalAction;
1015
1083
  }
@@ -1115,6 +1183,14 @@ export type CredentialVaultItemSpecInput =
1115
1183
  | ManagedAuthCredentialVaultItemSpecInput;
1116
1184
 
1117
1185
  export interface CredentialVaultItemSpecUpdate {
1186
+ /**
1187
+ * Field definitions to append, with the same defaults as creation. Set their
1188
+ * values in `fields` in the same update. Names must be unique after removals; at
1189
+ * most 32 fields may result. A required totp or passkey field needs a value in
1190
+ * `fields`.
1191
+ */
1192
+ add_fields?: Array<CredentialVaultFieldDefinitionInput>;
1193
+
1118
1194
  /**
1119
1195
  * Recognizable site or service name used as the form title, without suffixes such
1120
1196
  * as sign-in credentials. An empty string clears it. Display text only, not an
@@ -1123,6 +1199,12 @@ export interface CredentialVaultItemSpecUpdate {
1123
1199
  description?: string;
1124
1200
 
1125
1201
  fields?: { [key: string]: CredentialVaultFieldUpdate };
1202
+
1203
+ /**
1204
+ * Names of fields to delete with their values. Unknown names return 400. At least
1205
+ * one field must remain.
1206
+ */
1207
+ remove_fields?: Array<string>;
1126
1208
  }
1127
1209
 
1128
1210
  export type CredentialVaultItemState =
@@ -1131,15 +1213,18 @@ export type CredentialVaultItemState =
1131
1213
  | ManagedAuthCredentialVaultItemState;
1132
1214
 
1133
1215
  /**
1134
- * Atomically update description and selected values. Omitted properties are
1135
- * preserved. Field names, types, required flags, and sensitivity cannot change.
1136
- * Unknown field names return 400; stale versions or mismatched item types return
1137
- * 409 without changing the item. A successful update increments version and
1138
- * invalidates outstanding Kernel-hosted collection sessions. If required values
1139
- * remain missing, return pending_collection and a fresh collection action.
1140
- * Otherwise return ready without an action; collect can open the form again
1141
- * without clearing values. Customer URLs have no Kernel-managed expiry. 1Password
1142
- * and managed auth credentials return 409.
1216
+ * Atomically update description, field definitions, and selected values. Omitted
1217
+ * properties are preserved. `remove_fields` deletes definitions and their values,
1218
+ * then `add_fields` appends definitions, then `fields` sets values, including for
1219
+ * added fields. An existing field's definition cannot be edited in place; to
1220
+ * change it, remove the field and add it again, in the same update or a later one.
1221
+ * The old value is deleted with it. Unknown field names return 400; stale versions
1222
+ * or mismatched item types return 409 without changing the item. A successful
1223
+ * update increments version and invalidates outstanding Kernel-hosted collection
1224
+ * sessions. If required values remain missing, return pending_collection and a
1225
+ * fresh collection action. Otherwise return ready without an action; collect can
1226
+ * open the form again without clearing values. Customer URLs have no
1227
+ * Kernel-managed expiry. 1Password and managed auth credentials return 409.
1143
1228
  */
1144
1229
  export interface CredentialVaultItemUpdateRequest {
1145
1230
  spec: CredentialVaultItemSpecUpdate;
@@ -1232,13 +1317,13 @@ export interface FillVaultItemOperationResult {
1232
1317
  }
1233
1318
 
1234
1319
  /**
1235
- * A ready Kernel card retains its encrypted network token and one-time code for
1236
- * the fill operation until the item's expires_at. Fill and submit checkout before
1237
- * then. Visa purchases require a spend_approval action before the code is issued;
1238
- * Mastercard purchases need no hosted approval. masks.last4 is the enrolled card's
1239
- * last four digits; masks.token_last4 is the network token's last four digits
1240
- * shown to the merchant. Kernel cards do not expose aliases or support egress
1241
- * substitution. Kernel does not observe whether the merchant charged the card.
1320
+ * A ready Kernel card supports authorize, fill, then submit checkout. Card details
1321
+ * are delivered for a few minutes after fill; submit promptly. Repeated fill is
1322
+ * safe and never submits checkout. Visa purchases require a spend_approval action
1323
+ * before details are issued; Mastercard purchases need no hosted approval.
1324
+ * masks.last4 is the enrolled card's last four digits; masks.token_last4, when
1325
+ * present, is the token's last four digits shown to the merchant. Kernel does not
1326
+ * observe whether the merchant charged the card.
1242
1327
  */
1243
1328
  export interface KernelCardState {
1244
1329
  provider: 'kernel';
@@ -1252,10 +1337,12 @@ export interface KernelCardState {
1252
1337
  * fresh local verification link; this does not approve spending or replay any
1253
1338
  * provider request. Unclassified legacy recovery and uncertain intent creation
1254
1339
  * cannot restart. Kernel never approves again or issues another code for the item
1255
- * automatically, and the item cannot be deleted or replaced until the original
1256
- * attempt is reconciled with support. When status_reason says the provider refused
1257
- * retrieval before acceptance, no code was issued and a later read retries.
1258
- * declined means the card network refused to issue a code.
1340
+ * automatically. To continue, delete this card and create a new purchase; the
1341
+ * cardholder approves the new purchase separately. Recovery while reporting a
1342
+ * merchant transaction cannot be deleted and must be reconciled with support. When
1343
+ * status_reason says the provider refused retrieval before acceptance, no code was
1344
+ * issued and a later read retries. declined means the card network refused to
1345
+ * issue a code.
1259
1346
  */
1260
1347
  status:
1261
1348
  | 'requested'
@@ -1300,12 +1387,17 @@ export namespace KernelCardState {
1300
1387
  * Mastercard purchases need no cardholder approval. A Visa purchase returns a
1301
1388
  * spend_approval action: the cardholder approves it with a Visa passkey, and
1302
1389
  * Kernel registers a Visa intent for one transaction up to the amount before
1303
- * issuing the code. Card updates are not supported; delete and create a new item
1304
- * instead.
1390
+ * issuing the code. For supported cards whose network cannot be enrolled for
1391
+ * agentic tokens, authorize prepares checkout details without issuing a one-time
1392
+ * code. The card can be filled into one checkout before its expires_at, one hour
1393
+ * after authorization. Fill types those details on merchant_url's origin. The
1394
+ * amount, merchant_url and merchant_country are recorded but do not restrict
1395
+ * payment requests sent by the browser. Card updates are not supported; delete and
1396
+ * create a new item instead.
1305
1397
  */
1306
1398
  export interface KernelCardVaultItemSpec {
1307
1399
  /**
1308
- * Integer amount in minor currency units (at most 50000), bound to the one-time
1400
+ * Integer amount in minor currency units (at most 1000000), bound to the one-time
1309
1401
  * code.
1310
1402
  */
1311
1403
  amount: number;
@@ -1428,9 +1520,10 @@ export interface KernelWalletState {
1428
1520
  * number never reaches Kernel. The connected wallet's payment_methods expansion
1429
1521
  * lists the card; capabilities.single_use_card.eligible is false, with a
1430
1522
  * network_token*\* reason, until the card has a network token, and authorize
1431
- * returns 400 for such a card. Visa purchases require the cardholder to complete a
1432
- * spend_approval action before Kernel issues a one-time code; Mastercard purchases
1433
- * need no hosted approval.
1523
+ * returns 400 for such a card unless Kernel supports checkout delivery without a
1524
+ * network token for that card. In that case, fill types the checkout details. Visa
1525
+ * purchases require the cardholder to complete a spend_approval action before
1526
+ * Kernel issues a one-time code; Mastercard purchases need no hosted approval.
1434
1527
  */
1435
1528
  export interface KernelWalletVaultItemSpec {
1436
1529
  provider: 'kernel';
@@ -1438,14 +1531,19 @@ export interface KernelWalletVaultItemSpec {
1438
1531
 
1439
1532
  export interface ManagedAuthCredentialVaultField {
1440
1533
  /**
1441
- * Text, email, and password have form inputs; totp does not and is omitted from
1442
- * both Kernel-hosted and customer React forms. Password and totp must be
1443
- * sensitive. A totp value is an RFC 4648 Base32 generator seed (case-insensitive,
1444
- * optional trailing padding), not an otpauth URI or current code. Reject invalid
1445
- * or empty decoded seeds. Browser fill generates an RFC 6238 code at execution
1446
- * time using HMAC-SHA1, 6 digits, and a 30-second period. Preserve leading zeros;
1447
- * never fill the seed. Custom algorithms, digits, periods, and form enrollment are
1448
- * unsupported.
1534
+ * Text, email, and password have form inputs; totp and passkey do not and are
1535
+ * omitted from both Kernel-hosted and customer React forms. Password, totp, and
1536
+ * passkey must be sensitive. A totp value is an RFC 4648 Base32 generator seed
1537
+ * (case-insensitive, optional trailing padding), not an otpauth URI or current
1538
+ * code. Reject invalid or empty decoded seeds. Browser fill generates an RFC 6238
1539
+ * code at execution time using HMAC-SHA1, 6 digits, and a 30-second period.
1540
+ * Preserve leading zeros; never fill the seed. Custom algorithms, digits, periods,
1541
+ * and form enrollment are unsupported. A passkey value is a JSON-encoded FIDO
1542
+ * Credential Exchange Format passkey object with unpadded base64url
1543
+ * `credentialId`, `userHandle` (at most 64 bytes), and `key` (a PKCS#8 ECDSA P-256
1544
+ * private key), a lowercase `rpId` domain, and optional `username` and
1545
+ * `userDisplayName`. Other CXF members are ignored. Passkeys are never filled into
1546
+ * pages.
1449
1547
  */
1450
1548
  type: CredentialVaultFieldType;
1451
1549
  }
@@ -2547,7 +2645,7 @@ export namespace VaultPaymentMethod {
2547
2645
  export interface VaultWebmcpBinding {
2548
2646
  /**
2549
2647
  * A declared, populated credential field or supported card field. A TOTP field
2550
- * supplies a fresh code, never its seed.
2648
+ * supplies a fresh code, never its seed. Passkey fields cannot be filled.
2551
2649
  */
2552
2650
  field: string;
2553
2651
 
@@ -3452,6 +3550,7 @@ export declare namespace Items {
3452
3550
  type CredentialAccountVaultItemRequest as CredentialAccountVaultItemRequest,
3453
3551
  type CredentialCollectionAction as CredentialCollectionAction,
3454
3552
  type CredentialVaultFieldDefinition as CredentialVaultFieldDefinition,
3553
+ type CredentialVaultFieldDefinitionInput as CredentialVaultFieldDefinitionInput,
3455
3554
  type CredentialVaultFieldInput as CredentialVaultFieldInput,
3456
3555
  type CredentialVaultFieldState as CredentialVaultFieldState,
3457
3556
  type CredentialVaultFieldType as CredentialVaultFieldType,
@@ -15,6 +15,7 @@ import {
15
15
  CredentialAccountVaultItemRequest,
16
16
  CredentialCollectionAction,
17
17
  CredentialVaultFieldDefinition,
18
+ CredentialVaultFieldDefinitionInput,
18
19
  CredentialVaultFieldInput,
19
20
  CredentialVaultFieldState,
20
21
  CredentialVaultFieldType,
@@ -277,6 +278,7 @@ export declare namespace Vaults {
277
278
  type CredentialAccountVaultItemRequest as CredentialAccountVaultItemRequest,
278
279
  type CredentialCollectionAction as CredentialCollectionAction,
279
280
  type CredentialVaultFieldDefinition as CredentialVaultFieldDefinition,
281
+ type CredentialVaultFieldDefinitionInput as CredentialVaultFieldDefinitionInput,
280
282
  type CredentialVaultFieldInput as CredentialVaultFieldInput,
281
283
  type CredentialVaultFieldState as CredentialVaultFieldState,
282
284
  type CredentialVaultFieldType as CredentialVaultFieldType,
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.126.0'; // x-release-please-version
1
+ export const VERSION = '0.127.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.126.0";
1
+ export declare const VERSION = "0.127.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.126.0";
1
+ export declare const VERSION = "0.127.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.126.0'; // x-release-please-version
4
+ exports.VERSION = '0.127.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.126.0'; // x-release-please-version
1
+ export const VERSION = '0.127.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map