@bitwarden/sdk-internal 0.2.0-main.142 → 0.2.0-main.143

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.
@@ -309,6 +309,96 @@ export interface CryptoError extends Error {
309
309
 
310
310
  export function isCryptoError(error: any): error is CryptoError;
311
311
 
312
+ /**
313
+ * Password generator request options.
314
+ */
315
+ export interface PasswordGeneratorRequest {
316
+ /**
317
+ * Include lowercase characters (a-z).
318
+ */
319
+ lowercase: boolean;
320
+ /**
321
+ * Include uppercase characters (A-Z).
322
+ */
323
+ uppercase: boolean;
324
+ /**
325
+ * Include numbers (0-9).
326
+ */
327
+ numbers: boolean;
328
+ /**
329
+ * Include special characters: ! @ # $ % ^ & *
330
+ */
331
+ special: boolean;
332
+ /**
333
+ * The length of the generated password.
334
+ * Note that the password length must be greater than the sum of all the minimums.
335
+ */
336
+ length: number;
337
+ /**
338
+ * When set to true, the generated password will not contain ambiguous characters.
339
+ * The ambiguous characters are: I, O, l, 0, 1
340
+ */
341
+ avoidAmbiguous: boolean;
342
+ /**
343
+ * The minimum number of lowercase characters in the generated password.
344
+ * When set, the value must be between 1 and 9. This value is ignored if lowercase is false.
345
+ */
346
+ minLowercase: number | undefined;
347
+ /**
348
+ * The minimum number of uppercase characters in the generated password.
349
+ * When set, the value must be between 1 and 9. This value is ignored if uppercase is false.
350
+ */
351
+ minUppercase: number | undefined;
352
+ /**
353
+ * The minimum number of numbers in the generated password.
354
+ * When set, the value must be between 1 and 9. This value is ignored if numbers is false.
355
+ */
356
+ minNumber: number | undefined;
357
+ /**
358
+ * The minimum number of special characters in the generated password.
359
+ * When set, the value must be between 1 and 9. This value is ignored if special is false.
360
+ */
361
+ minSpecial: number | undefined;
362
+ }
363
+
364
+ export interface PasswordError extends Error {
365
+ name: "PasswordError";
366
+ variant: "NoCharacterSetEnabled" | "InvalidLength";
367
+ }
368
+
369
+ export function isPasswordError(error: any): error is PasswordError;
370
+
371
+ /**
372
+ * Passphrase generator request options.
373
+ */
374
+ export interface PassphraseGeneratorRequest {
375
+ /**
376
+ * Number of words in the generated passphrase.
377
+ * This value must be between 3 and 20.
378
+ */
379
+ numWords: number;
380
+ /**
381
+ * Character separator between words in the generated passphrase. The value cannot be empty.
382
+ */
383
+ wordSeparator: string;
384
+ /**
385
+ * When set to true, capitalize the first letter of each word in the generated passphrase.
386
+ */
387
+ capitalize: boolean;
388
+ /**
389
+ * When set to true, include a number at the end of one of the words in the generated
390
+ * passphrase.
391
+ */
392
+ includeNumber: boolean;
393
+ }
394
+
395
+ export interface PassphraseError extends Error {
396
+ name: "PassphraseError";
397
+ variant: "InvalidNumWords";
398
+ }
399
+
400
+ export function isPassphraseError(error: any): error is PassphraseError;
401
+
312
402
  export type Endpoint =
313
403
  | { Web: { id: number } }
314
404
  | "BrowserForeground"
@@ -810,6 +900,10 @@ export class BitwardenClient {
810
900
  http_get(url: string): Promise<string>;
811
901
  crypto(): CryptoClient;
812
902
  vault(): VaultClient;
903
+ /**
904
+ * Constructs a specific client for generating passwords and passphrases
905
+ */
906
+ generator(): GeneratorClient;
813
907
  }
814
908
  export class ClientCiphers {
815
909
  private constructor();
@@ -925,6 +1019,32 @@ export class CryptoClient {
925
1019
  */
926
1020
  verify_asymmetric_keys(request: VerifyAsymmetricKeysRequest): VerifyAsymmetricKeysResponse;
927
1021
  }
1022
+ export class GeneratorClient {
1023
+ private constructor();
1024
+ free(): void;
1025
+ /**
1026
+ * Generates a password from a provided request
1027
+ *
1028
+ * # Arguments
1029
+ * - `request` - Settings for the character sets and password length
1030
+ *
1031
+ * # Returns
1032
+ * - `Ok(String)` containing the generated password
1033
+ * - `Err(PasswordError)` if password generation fails
1034
+ */
1035
+ password(request: PasswordGeneratorRequest): string;
1036
+ /**
1037
+ * Generates a passphrase from a provided request
1038
+ *
1039
+ * # Arguments
1040
+ * - `request` - Settings for the word count, word separators character sets
1041
+ *
1042
+ * # Returns
1043
+ * - `Ok(String)` containing the generated passphrase
1044
+ * - `Err(PassphraseError)` if passphrase generation fails
1045
+ */
1046
+ passphrase(request: PassphraseGeneratorRequest): string;
1047
+ }
928
1048
  export class IncomingMessage {
929
1049
  free(): void;
930
1050
  constructor(payload: Uint8Array, destination: Endpoint, source: Endpoint, topic?: string | null);
@@ -266,6 +266,32 @@ module.exports.isCryptoError = function (error) {
266
266
  }
267
267
  };
268
268
 
269
+ /**
270
+ * @param {any} error
271
+ * @returns {boolean}
272
+ */
273
+ module.exports.isPasswordError = function (error) {
274
+ try {
275
+ const ret = wasm.isPasswordError(addBorrowedObject(error));
276
+ return ret !== 0;
277
+ } finally {
278
+ heap[stack_pointer++] = undefined;
279
+ }
280
+ };
281
+
282
+ /**
283
+ * @param {any} error
284
+ * @returns {boolean}
285
+ */
286
+ module.exports.isPassphraseError = function (error) {
287
+ try {
288
+ const ret = wasm.isPassphraseError(addBorrowedObject(error));
289
+ return ret !== 0;
290
+ } finally {
291
+ heap[stack_pointer++] = undefined;
292
+ }
293
+ };
294
+
269
295
  function getArrayU8FromWasm0(ptr, len) {
270
296
  ptr = ptr >>> 0;
271
297
  return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
@@ -535,7 +561,7 @@ function __wbg_adapter_50(arg0, arg1, arg2) {
535
561
  );
536
562
  }
537
563
 
538
- function __wbg_adapter_217(arg0, arg1, arg2, arg3) {
564
+ function __wbg_adapter_222(arg0, arg1, arg2, arg3) {
539
565
  wasm.wasm_bindgen__convert__closures__invoke2_mut__h33defb2ea0fdb769(
540
566
  arg0,
541
567
  arg1,
@@ -805,6 +831,14 @@ class BitwardenClient {
805
831
  const ret = wasm.bitwardenclient_crypto(this.__wbg_ptr);
806
832
  return VaultClient.__wrap(ret);
807
833
  }
834
+ /**
835
+ * Constructs a specific client for generating passwords and passphrases
836
+ * @returns {GeneratorClient}
837
+ */
838
+ generator() {
839
+ const ret = wasm.bitwardenclient_generator(this.__wbg_ptr);
840
+ return GeneratorClient.__wrap(ret);
841
+ }
808
842
  }
809
843
  module.exports.BitwardenClient = BitwardenClient;
810
844
 
@@ -1210,6 +1244,108 @@ class CryptoClient {
1210
1244
  }
1211
1245
  module.exports.CryptoClient = CryptoClient;
1212
1246
 
1247
+ const GeneratorClientFinalization =
1248
+ typeof FinalizationRegistry === "undefined"
1249
+ ? { register: () => {}, unregister: () => {} }
1250
+ : new FinalizationRegistry((ptr) => wasm.__wbg_generatorclient_free(ptr >>> 0, 1));
1251
+
1252
+ class GeneratorClient {
1253
+ static __wrap(ptr) {
1254
+ ptr = ptr >>> 0;
1255
+ const obj = Object.create(GeneratorClient.prototype);
1256
+ obj.__wbg_ptr = ptr;
1257
+ GeneratorClientFinalization.register(obj, obj.__wbg_ptr, obj);
1258
+ return obj;
1259
+ }
1260
+
1261
+ __destroy_into_raw() {
1262
+ const ptr = this.__wbg_ptr;
1263
+ this.__wbg_ptr = 0;
1264
+ GeneratorClientFinalization.unregister(this);
1265
+ return ptr;
1266
+ }
1267
+
1268
+ free() {
1269
+ const ptr = this.__destroy_into_raw();
1270
+ wasm.__wbg_generatorclient_free(ptr, 0);
1271
+ }
1272
+ /**
1273
+ * Generates a password from a provided request
1274
+ *
1275
+ * # Arguments
1276
+ * - `request` - Settings for the character sets and password length
1277
+ *
1278
+ * # Returns
1279
+ * - `Ok(String)` containing the generated password
1280
+ * - `Err(PasswordError)` if password generation fails
1281
+ * @param {PasswordGeneratorRequest} request
1282
+ * @returns {string}
1283
+ */
1284
+ password(request) {
1285
+ let deferred2_0;
1286
+ let deferred2_1;
1287
+ try {
1288
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1289
+ wasm.generatorclient_password(retptr, this.__wbg_ptr, addHeapObject(request));
1290
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1291
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1292
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1293
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1294
+ var ptr1 = r0;
1295
+ var len1 = r1;
1296
+ if (r3) {
1297
+ ptr1 = 0;
1298
+ len1 = 0;
1299
+ throw takeObject(r2);
1300
+ }
1301
+ deferred2_0 = ptr1;
1302
+ deferred2_1 = len1;
1303
+ return getStringFromWasm0(ptr1, len1);
1304
+ } finally {
1305
+ wasm.__wbindgen_add_to_stack_pointer(16);
1306
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1307
+ }
1308
+ }
1309
+ /**
1310
+ * Generates a passphrase from a provided request
1311
+ *
1312
+ * # Arguments
1313
+ * - `request` - Settings for the word count, word separators character sets
1314
+ *
1315
+ * # Returns
1316
+ * - `Ok(String)` containing the generated passphrase
1317
+ * - `Err(PassphraseError)` if passphrase generation fails
1318
+ * @param {PassphraseGeneratorRequest} request
1319
+ * @returns {string}
1320
+ */
1321
+ passphrase(request) {
1322
+ let deferred2_0;
1323
+ let deferred2_1;
1324
+ try {
1325
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1326
+ wasm.generatorclient_passphrase(retptr, this.__wbg_ptr, addHeapObject(request));
1327
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1328
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1329
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1330
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
1331
+ var ptr1 = r0;
1332
+ var len1 = r1;
1333
+ if (r3) {
1334
+ ptr1 = 0;
1335
+ len1 = 0;
1336
+ throw takeObject(r2);
1337
+ }
1338
+ deferred2_0 = ptr1;
1339
+ deferred2_1 = len1;
1340
+ return getStringFromWasm0(ptr1, len1);
1341
+ } finally {
1342
+ wasm.__wbindgen_add_to_stack_pointer(16);
1343
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
1344
+ }
1345
+ }
1346
+ }
1347
+ module.exports.GeneratorClient = GeneratorClient;
1348
+
1213
1349
  const IncomingMessageFinalization =
1214
1350
  typeof FinalizationRegistry === "undefined"
1215
1351
  ? { register: () => {}, unregister: () => {} }
@@ -2133,7 +2269,7 @@ module.exports.__wbg_new_23a2665fac83c611 = function (arg0, arg1) {
2133
2269
  const a = state0.a;
2134
2270
  state0.a = 0;
2135
2271
  try {
2136
- return __wbg_adapter_217(a, state0.b, arg0, arg1);
2272
+ return __wbg_adapter_222(a, state0.b, arg0, arg1);
2137
2273
  } finally {
2138
2274
  state0.a = a;
2139
2275
  }
@@ -2502,8 +2638,8 @@ module.exports.__wbindgen_cb_drop = function (arg0) {
2502
2638
  return ret;
2503
2639
  };
2504
2640
 
2505
- module.exports.__wbindgen_closure_wrapper2561 = function (arg0, arg1, arg2) {
2506
- const ret = makeMutClosure(arg0, arg1, 633, __wbg_adapter_50);
2641
+ module.exports.__wbindgen_closure_wrapper2606 = function (arg0, arg1, arg2) {
2642
+ const ret = makeMutClosure(arg0, arg1, 642, __wbg_adapter_50);
2507
2643
  return addHeapObject(ret);
2508
2644
  };
2509
2645
 
@@ -3,6 +3,8 @@
3
3
  export const memory: WebAssembly.Memory;
4
4
  export const isEncryptionSettingsError: (a: number) => number;
5
5
  export const isCryptoError: (a: number) => number;
6
+ export const isPasswordError: (a: number) => number;
7
+ export const isPassphraseError: (a: number) => number;
6
8
  export const __wbg_outgoingmessage_free: (a: number, b: number) => void;
7
9
  export const __wbg_get_outgoingmessage_payload: (a: number, b: number) => void;
8
10
  export const __wbg_set_outgoingmessage_payload: (a: number, b: number, c: number) => void;
@@ -69,10 +71,13 @@ export const bitwardenclient_version: (a: number, b: number) => void;
69
71
  export const bitwardenclient_throw: (a: number, b: number, c: number, d: number) => void;
70
72
  export const bitwardenclient_http_get: (a: number, b: number, c: number) => number;
71
73
  export const bitwardenclient_crypto: (a: number) => number;
74
+ export const bitwardenclient_generator: (a: number) => number;
72
75
  export const cryptoclient_initialize_user_crypto: (a: number, b: number) => number;
73
76
  export const cryptoclient_initialize_org_crypto: (a: number, b: number) => number;
74
77
  export const cryptoclient_make_key_pair: (a: number, b: number, c: number, d: number) => void;
75
78
  export const cryptoclient_verify_asymmetric_keys: (a: number, b: number, c: number) => void;
79
+ export const generatorclient_password: (a: number, b: number, c: number) => void;
80
+ export const generatorclient_passphrase: (a: number, b: number, c: number) => void;
76
81
  export const set_log_level: (a: number) => void;
77
82
  export const init_sdk: (a: number) => void;
78
83
  export const __wbg_purecrypto_free: (a: number, b: number) => void;
@@ -133,10 +138,11 @@ export const vaultclient_totp: (a: number) => number;
133
138
  export const isTestError: (a: number) => number;
134
139
  export const bitwardenclient_vault: (a: number) => number;
135
140
  export const vaultclient_folders: (a: number) => number;
136
- export const __wbg_clienttotp_free: (a: number, b: number) => void;
141
+ export const __wbg_generatorclient_free: (a: number, b: number) => void;
142
+ export const __wbg_vaultclient_free: (a: number, b: number) => void;
137
143
  export const __wbg_cryptoclient_free: (a: number, b: number) => void;
144
+ export const __wbg_clienttotp_free: (a: number, b: number) => void;
138
145
  export const __wbg_clientfolders_free: (a: number, b: number) => void;
139
- export const __wbg_vaultclient_free: (a: number, b: number) => void;
140
146
  export const __wbindgen_malloc: (a: number, b: number) => number;
141
147
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
142
148
  export const __wbindgen_exn_store: (a: number) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitwarden/sdk-internal",
3
- "version": "0.2.0-main.142",
3
+ "version": "0.2.0-main.143",
4
4
  "license": "GPL-3.0",
5
5
  "files": [
6
6
  "bitwarden_wasm_internal_bg.js",