@onkernel/sdk 0.120.0 → 0.122.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 (84) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/client.d.mts +4 -4
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +4 -4
  5. package/client.d.ts.map +1 -1
  6. package/client.js.map +1 -1
  7. package/client.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/browser-pools.d.mts +8 -4
  10. package/resources/browser-pools.d.mts.map +1 -1
  11. package/resources/browser-pools.d.ts +8 -4
  12. package/resources/browser-pools.d.ts.map +1 -1
  13. package/resources/browsers/browsers.d.mts +47 -18
  14. package/resources/browsers/browsers.d.mts.map +1 -1
  15. package/resources/browsers/browsers.d.ts +47 -18
  16. package/resources/browsers/browsers.d.ts.map +1 -1
  17. package/resources/browsers/browsers.js.map +1 -1
  18. package/resources/browsers/browsers.mjs.map +1 -1
  19. package/resources/browsers/index.d.mts +1 -1
  20. package/resources/browsers/index.d.mts.map +1 -1
  21. package/resources/browsers/index.d.ts +1 -1
  22. package/resources/browsers/index.d.ts.map +1 -1
  23. package/resources/browsers/index.js.map +1 -1
  24. package/resources/browsers/index.mjs.map +1 -1
  25. package/resources/browsers/telemetry.d.mts +80 -32
  26. package/resources/browsers/telemetry.d.mts.map +1 -1
  27. package/resources/browsers/telemetry.d.ts +80 -32
  28. package/resources/browsers/telemetry.d.ts.map +1 -1
  29. package/resources/config-registry/config-registry.d.mts +5 -18
  30. package/resources/config-registry/config-registry.d.mts.map +1 -1
  31. package/resources/config-registry/config-registry.d.ts +5 -18
  32. package/resources/config-registry/config-registry.d.ts.map +1 -1
  33. package/resources/config-registry/config-registry.js.map +1 -1
  34. package/resources/config-registry/config-registry.mjs.map +1 -1
  35. package/resources/index.d.mts +2 -2
  36. package/resources/index.d.mts.map +1 -1
  37. package/resources/index.d.ts +2 -2
  38. package/resources/index.d.ts.map +1 -1
  39. package/resources/index.js.map +1 -1
  40. package/resources/index.mjs.map +1 -1
  41. package/resources/proxies.d.mts +45 -125
  42. package/resources/proxies.d.mts.map +1 -1
  43. package/resources/proxies.d.ts +45 -125
  44. package/resources/proxies.d.ts.map +1 -1
  45. package/resources/proxies.js +6 -8
  46. package/resources/proxies.js.map +1 -1
  47. package/resources/proxies.mjs +6 -8
  48. package/resources/proxies.mjs.map +1 -1
  49. package/resources/vaults/index.d.mts +1 -1
  50. package/resources/vaults/index.d.mts.map +1 -1
  51. package/resources/vaults/index.d.ts +1 -1
  52. package/resources/vaults/index.d.ts.map +1 -1
  53. package/resources/vaults/index.js.map +1 -1
  54. package/resources/vaults/index.mjs.map +1 -1
  55. package/resources/vaults/items.d.mts +48 -22
  56. package/resources/vaults/items.d.mts.map +1 -1
  57. package/resources/vaults/items.d.ts +48 -22
  58. package/resources/vaults/items.d.ts.map +1 -1
  59. package/resources/vaults/items.js +2 -2
  60. package/resources/vaults/items.mjs +2 -2
  61. package/resources/vaults/vaults.d.mts +62 -1
  62. package/resources/vaults/vaults.d.mts.map +1 -1
  63. package/resources/vaults/vaults.d.ts +62 -1
  64. package/resources/vaults/vaults.d.ts.map +1 -1
  65. package/resources/vaults/vaults.js +19 -0
  66. package/resources/vaults/vaults.js.map +1 -1
  67. package/resources/vaults/vaults.mjs +19 -0
  68. package/resources/vaults/vaults.mjs.map +1 -1
  69. package/src/client.ts +4 -0
  70. package/src/resources/browser-pools.ts +8 -4
  71. package/src/resources/browsers/browsers.ts +49 -17
  72. package/src/resources/browsers/index.ts +1 -0
  73. package/src/resources/browsers/telemetry.ts +111 -32
  74. package/src/resources/config-registry/config-registry.ts +4 -19
  75. package/src/resources/index.ts +2 -0
  76. package/src/resources/proxies.ts +39 -131
  77. package/src/resources/vaults/index.ts +1 -0
  78. package/src/resources/vaults/items.ts +50 -25
  79. package/src/resources/vaults/vaults.ts +73 -0
  80. package/src/version.ts +1 -1
  81. package/version.d.mts +1 -1
  82. package/version.d.ts +1 -1
  83. package/version.js +1 -1
  84. package/version.mjs +1 -1
@@ -146,8 +146,8 @@ export class Items extends APIResource {
146
146
  * return 400 (invalid request or targets), 403 (access or destination denied), 404
147
147
  * (resource not found), or 409 (item or browser not ready). Once writing starts,
148
148
  * known partial failures and indeterminate field outcomes return 200 with status
149
- * `failed` or `unknown`, not an automatic-retry signal. A transport error may
150
- * leave the outcome unknown; do not automatically retry.
149
+ * `failed` or `unknown`. Fill never submits the page, so it is safe to retry after
150
+ * a failure, an `unknown` outcome, or a transport error.
151
151
  *
152
152
  * @example
153
153
  * ```ts
@@ -769,6 +769,22 @@ export interface CredentialVaultFieldInput {
769
769
  */
770
770
  type: CredentialVaultFieldType;
771
771
 
772
+ /**
773
+ * Alternative to value for custom credential collection web apps. Use this only if
774
+ * you run your own credential collection web app and want values encrypted in the
775
+ * browser, sent to your backend still encrypted, and forwarded to Kernel's API
776
+ * still encrypted. In every other case, including server-side code that already
777
+ * holds the plaintext, use value. The field's value encrypted client-side as a
778
+ * compact JWE with alg ECDH-ES and enc A256GCM to the key from GET
779
+ * /vaults/{id_or_name}/encryption_key, with that key's kid in the protected
780
+ * header. Compression is not supported. The decrypted value follows the same rules
781
+ * as value, including that an empty string clears the field on update. A kid that
782
+ * is not this vault's key returns 400 encryption_key_mismatch; fetch the key again
783
+ * and re-encrypt. Other malformed or undecryptable values return 400
784
+ * invalid_request. The whole request body is limited to 128 KiB.
785
+ */
786
+ encrypted_value?: string;
787
+
772
788
  /**
773
789
  * Optional human-readable display label. It is returned as non-secret metadata and
774
790
  * never affects value keys, updates, or browser fills. Use single-line, trimmed
@@ -791,7 +807,9 @@ export interface CredentialVaultFieldInput {
791
807
  /**
792
808
  * Optional initial value satisfying the declared type, at most 16 KiB in UTF-8
793
809
  * bytes. Omit to leave unset; null and empty strings are rejected on creation.
794
- * Sensitive values are encrypted and never copied into the returned spec.
810
+ * Sensitive values are encrypted and never copied into the returned spec. Use this
811
+ * unless your own credential collection web app encrypts values in the browser;
812
+ * mutually exclusive with encrypted_value.
795
813
  */
796
814
  value?: string;
797
815
  }
@@ -819,7 +837,28 @@ export interface CredentialVaultFieldState {
819
837
  */
820
838
  export type CredentialVaultFieldType = 'text' | 'email' | 'password' | 'totp';
821
839
 
840
+ /**
841
+ * Set exactly one of value or encrypted_value. Use value unless the update comes
842
+ * from your own credential collection web app that encrypts values in the browser;
843
+ * see encrypted_value.
844
+ */
822
845
  export interface CredentialVaultFieldUpdate {
846
+ /**
847
+ * Alternative to value for custom credential collection web apps. Use this only if
848
+ * you run your own credential collection web app and want values encrypted in the
849
+ * browser, sent to your backend still encrypted, and forwarded to Kernel's API
850
+ * still encrypted. In every other case, including server-side code that already
851
+ * holds the plaintext, use value. The field's value encrypted client-side as a
852
+ * compact JWE with alg ECDH-ES and enc A256GCM to the key from GET
853
+ * /vaults/{id_or_name}/encryption_key, with that key's kid in the protected
854
+ * header. Compression is not supported. The decrypted value follows the same rules
855
+ * as value, including that an empty string clears the field on update. A kid that
856
+ * is not this vault's key returns 400 encryption_key_mismatch; fetch the key again
857
+ * and re-encrypt. Other malformed or undecryptable values return 400
858
+ * invalid_request. The whole request body is limited to 128 KiB.
859
+ */
860
+ encrypted_value?: string;
861
+
823
862
  /**
824
863
  * Replacement value (at most 16 KiB in UTF-8 bytes), or null or an empty string to
825
864
  * immediately clear the stored value. Clearing a required form-supported field
@@ -828,7 +867,7 @@ export interface CredentialVaultFieldUpdate {
828
867
  * seed, never a current code. Clearing a required totp field returns 400 because
829
868
  * it cannot be collected in a form.
830
869
  */
831
- value: string | null;
870
+ value?: string | null;
832
871
  }
833
872
 
834
873
  export interface CredentialVaultItem {
@@ -1067,8 +1106,10 @@ export interface CredentialVaultItemUpdateRequest {
1067
1106
  * atomic: previously filled fields are not rolled back. Never submit the form or
1068
1107
  * click buttons, though input/change events may trigger site behavior. Link and
1069
1108
  * Kernel cards use fill for browser checkout and do not expose aliases or support
1070
- * egress substitution. Do not automatically retry a failed or indeterminate
1071
- * operation.
1109
+ * egress substitution. Fill does not consume the item, so a failed or
1110
+ * indeterminate fill is safe to retry; a retry rewrites the same fields. A retry
1111
+ * right after an indeterminate fill may wait up to 15 seconds for the earlier
1112
+ * attempt's browser lock to expire.
1072
1113
  *
1073
1114
  * Secret values are never returned or included in operation logs, traces, audit
1074
1115
  * events, or error details. This does not prevent an agent with unrestricted
@@ -1768,17 +1809,11 @@ export interface OnePasswordRecoverVaultItemOperationRequest {
1768
1809
 
1769
1810
  /**
1770
1811
  * Request access to login entries in the end-user's own, non-shared 1Password
1771
- * vault through the browser extension, auto-loaded into the browser. The end-user
1772
- * approves access in the 1Password app. Shared-vault items and passkeys are not
1773
- * supported. Per-entry reason and keywords overrides are only supported for a
1774
- * single login entry.
1812
+ * vault. No browser is needed; the end-user approves access in the 1Password app.
1813
+ * Shared-vault items and passkeys are not supported. Per-entry reason and keywords
1814
+ * overrides are only supported for a single login entry.
1775
1815
  */
1776
1816
  export interface OnePasswordRequestAccessVaultItemOperationRequest {
1777
- /**
1778
- * Kernel browser session used to invoke the extension.
1779
- */
1780
- browser_id: string;
1781
-
1782
1817
  type: '1pw_create_access_request';
1783
1818
 
1784
1819
  goal?: string;
@@ -2801,11 +2836,6 @@ export declare namespace ItemPerformOperationParams {
2801
2836
  */
2802
2837
  id_or_name: string;
2803
2838
 
2804
- /**
2805
- * Body param: Kernel browser session used to invoke the extension.
2806
- */
2807
- browser_id: string;
2808
-
2809
2839
  /**
2810
2840
  * Body param
2811
2841
  */
@@ -2833,11 +2863,6 @@ export declare namespace ItemPerformOperationParams {
2833
2863
  */
2834
2864
  id_or_name: string;
2835
2865
 
2836
- /**
2837
- * Body param
2838
- */
2839
- browser_id: string;
2840
-
2841
2866
  /**
2842
2867
  * Body param
2843
2868
  */
@@ -132,6 +132,26 @@ export class Vaults extends APIResource {
132
132
  });
133
133
  }
134
134
 
135
+ /**
136
+ * Returns the public key that custom credential collection web apps use to encrypt
137
+ * values in the browser. Use this only if you run your own credential collection
138
+ * web app and want values encrypted in the browser, sent to your backend still
139
+ * encrypted, and forwarded to Kernel's API still encrypted. In every other case,
140
+ * including server-side code that already holds the plaintext, use value. The page
141
+ * encrypts each value to this key, your backend forwards the ciphertext unchanged
142
+ * as encrypted_value when creating or updating a credential item in this vault,
143
+ * and Kernel decrypts it.
144
+ *
145
+ * @example
146
+ * ```ts
147
+ * const vaultEncryptionKey =
148
+ * await client.vaults.retrieveEncryptionKey('id_or_name');
149
+ * ```
150
+ */
151
+ retrieveEncryptionKey(idOrName: string, options?: RequestOptions): APIPromise<VaultEncryptionKey> {
152
+ return this._client.get(path`/vaults/${idOrName}/encryption_key`, options);
153
+ }
154
+
135
155
  /**
136
156
  * Free organizations can store up to 3 non-deleted vaults across all projects.
137
157
  * Paid plans and active trials have no vault cap. Retrieving an existing vault by
@@ -164,6 +184,58 @@ export interface Vault {
164
184
  updated_at: string;
165
185
  }
166
186
 
187
+ /**
188
+ * Public key for encrypted_value on credential fields. Use this only if you run
189
+ * your own credential collection web app and want values encrypted in the browser,
190
+ * sent to your backend still encrypted, and forwarded to Kernel's API still
191
+ * encrypted. In every other case, including server-side code that already holds
192
+ * the plaintext, use value. Each vault has its own key; a value encrypted for one
193
+ * vault is rejected by every other vault. The key is created on first request and
194
+ * stays the same for the vault's lifetime, so it may be cached.
195
+ */
196
+ export interface VaultEncryptionKey {
197
+ /**
198
+ * JWE key management algorithm.
199
+ */
200
+ alg: 'ECDH-ES';
201
+
202
+ /**
203
+ * JWE content encryption algorithm.
204
+ */
205
+ enc: 'A256GCM';
206
+
207
+ /**
208
+ * P-256 public key in JWK form.
209
+ */
210
+ jwk: VaultEncryptionKey.Jwk;
211
+
212
+ /**
213
+ * Key ID. Set it as the kid protected header of every encrypted_value.
214
+ */
215
+ kid: string;
216
+ }
217
+
218
+ export namespace VaultEncryptionKey {
219
+ /**
220
+ * P-256 public key in JWK form.
221
+ */
222
+ export interface Jwk {
223
+ crv: 'P-256';
224
+
225
+ kty: 'EC';
226
+
227
+ /**
228
+ * Base64url-encoded x coordinate.
229
+ */
230
+ x: string;
231
+
232
+ /**
233
+ * Base64url-encoded y coordinate.
234
+ */
235
+ y: string;
236
+ }
237
+ }
238
+
167
239
  export interface VaultListParams extends OffsetPaginationParams {
168
240
  /**
169
241
  * Case-insensitive substring match against vault name. IDs match by exact value.
@@ -183,6 +255,7 @@ Vaults.Items = Items;
183
255
  export declare namespace Vaults {
184
256
  export {
185
257
  type Vault as Vault,
258
+ type VaultEncryptionKey as VaultEncryptionKey,
186
259
  type VaultsOffsetPagination as VaultsOffsetPagination,
187
260
  type VaultListParams as VaultListParams,
188
261
  type VaultUpsertParams as VaultUpsertParams,
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.120.0'; // x-release-please-version
1
+ export const VERSION = '0.122.0'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.120.0";
1
+ export declare const VERSION = "0.122.0";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.120.0";
1
+ export declare const VERSION = "0.122.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.120.0'; // x-release-please-version
4
+ exports.VERSION = '0.122.0'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.120.0'; // x-release-please-version
1
+ export const VERSION = '0.122.0'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map