@bcts/xid 1.0.0-alpha.21 → 1.0.0-alpha.23

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.
package/dist/index.cjs CHANGED
@@ -1,9 +1,8 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  let _bcts_components = require("@bcts/components");
3
3
  let _bcts_known_values = require("@bcts/known-values");
4
4
  let _bcts_envelope = require("@bcts/envelope");
5
5
  let _bcts_provenance_mark = require("@bcts/provenance-mark");
6
-
7
6
  //#region src/error.ts
8
7
  /**
9
8
  * Copyright © 2023-2026 Blockchain Commons, LLC
@@ -60,180 +59,177 @@ var XIDError = class XIDError extends Error {
60
59
  * Returned when attempting to add a duplicate item.
61
60
  */
62
61
  static duplicate(item) {
63
- return new XIDError(XIDErrorCode.DUPLICATE, `duplicate item: ${item}`);
62
+ return new XIDError("DUPLICATE", `duplicate item: ${item}`);
64
63
  }
65
64
  /**
66
65
  * Returned when an item is not found.
67
66
  */
68
67
  static notFound(item) {
69
- return new XIDError(XIDErrorCode.NOT_FOUND, `item not found: ${item}`);
68
+ return new XIDError("NOT_FOUND", `item not found: ${item}`);
70
69
  }
71
70
  /**
72
71
  * Returned when an item is still referenced by other items.
73
72
  */
74
73
  static stillReferenced(item) {
75
- return new XIDError(XIDErrorCode.STILL_REFERENCED, `item is still referenced: ${item}`);
74
+ return new XIDError("STILL_REFERENCED", `item is still referenced: ${item}`);
76
75
  }
77
76
  /**
78
77
  * Returned when a value is invalid or empty.
79
78
  */
80
79
  static emptyValue(field) {
81
- return new XIDError(XIDErrorCode.EMPTY_VALUE, `invalid or empty value: ${field}`);
80
+ return new XIDError("EMPTY_VALUE", `invalid or empty value: ${field}`);
82
81
  }
83
82
  /**
84
83
  * Returned when an unknown privilege is encountered.
85
84
  */
86
85
  static unknownPrivilege() {
87
- return new XIDError(XIDErrorCode.UNKNOWN_PRIVILEGE, "unknown privilege");
86
+ return new XIDError("UNKNOWN_PRIVILEGE", "unknown privilege");
88
87
  }
89
88
  /**
90
89
  * Returned when the XID is invalid.
91
90
  */
92
91
  static invalidXid() {
93
- return new XIDError(XIDErrorCode.INVALID_XID, "invalid XID");
92
+ return new XIDError("INVALID_XID", "invalid XID");
94
93
  }
95
94
  /**
96
95
  * Returned when the inception key is missing.
97
96
  */
98
97
  static missingInceptionKey() {
99
- return new XIDError(XIDErrorCode.MISSING_INCEPTION_KEY, "missing inception key");
98
+ return new XIDError("MISSING_INCEPTION_KEY", "missing inception key");
100
99
  }
101
100
  /**
102
101
  * Returned when the resolution method is invalid.
103
102
  */
104
103
  static invalidResolutionMethod() {
105
- return new XIDError(XIDErrorCode.INVALID_RESOLUTION_METHOD, "invalid resolution method");
104
+ return new XIDError("INVALID_RESOLUTION_METHOD", "invalid resolution method");
106
105
  }
107
106
  /**
108
107
  * Returned when multiple provenance marks are found.
109
108
  */
110
109
  static multipleProvenanceMarks() {
111
- return new XIDError(XIDErrorCode.MULTIPLE_PROVENANCE_MARKS, "multiple provenance marks");
110
+ return new XIDError("MULTIPLE_PROVENANCE_MARKS", "multiple provenance marks");
112
111
  }
113
112
  /**
114
113
  * Returned when an unexpected predicate is encountered.
115
114
  */
116
115
  static unexpectedPredicate(predicate) {
117
- return new XIDError(XIDErrorCode.UNEXPECTED_PREDICATE, `unexpected predicate: ${predicate}`);
116
+ return new XIDError("UNEXPECTED_PREDICATE", `unexpected predicate: ${predicate}`);
118
117
  }
119
118
  /**
120
119
  * Returned when unexpected nested assertions are found.
121
120
  */
122
121
  static unexpectedNestedAssertions() {
123
- return new XIDError(XIDErrorCode.UNEXPECTED_NESTED_ASSERTIONS, "unexpected nested assertions");
122
+ return new XIDError("UNEXPECTED_NESTED_ASSERTIONS", "unexpected nested assertions");
124
123
  }
125
124
  /**
126
125
  * Returned when a service has no permissions.
127
126
  */
128
127
  static noPermissions(uri) {
129
- return new XIDError(XIDErrorCode.NO_PERMISSIONS, `no permissions in service '${uri}'`);
128
+ return new XIDError("NO_PERMISSIONS", `no permissions in service '${uri}'`);
130
129
  }
131
130
  /**
132
131
  * Returned when a service has no key or delegate references.
133
132
  */
134
133
  static noReferences(uri) {
135
- return new XIDError(XIDErrorCode.NO_REFERENCES, `no key or delegate references in service '${uri}'`);
134
+ return new XIDError("NO_REFERENCES", `no key or delegate references in service '${uri}'`);
136
135
  }
137
136
  /**
138
137
  * Returned when an unknown key reference is found in a service.
139
138
  */
140
139
  static unknownKeyReference(reference, uri) {
141
- return new XIDError(XIDErrorCode.UNKNOWN_KEY_REFERENCE, `unknown key reference ${reference} in service '${uri}'`);
140
+ return new XIDError("UNKNOWN_KEY_REFERENCE", `unknown key reference ${reference} in service '${uri}'`);
142
141
  }
143
142
  /**
144
143
  * Returned when an unknown delegate reference is found in a service.
145
144
  */
146
145
  static unknownDelegateReference(reference, uri) {
147
- return new XIDError(XIDErrorCode.UNKNOWN_DELEGATE_REFERENCE, `unknown delegate reference ${reference} in service '${uri}'`);
146
+ return new XIDError("UNKNOWN_DELEGATE_REFERENCE", `unknown delegate reference ${reference} in service '${uri}'`);
148
147
  }
149
148
  /**
150
149
  * Returned when a key is not found in the XID document.
151
150
  */
152
151
  static keyNotFoundInDocument(key) {
153
- return new XIDError(XIDErrorCode.KEY_NOT_FOUND_IN_DOCUMENT, `key not found in XID document: ${key}`);
152
+ return new XIDError("KEY_NOT_FOUND_IN_DOCUMENT", `key not found in XID document: ${key}`);
154
153
  }
155
154
  /**
156
155
  * Returned when a delegate is not found in the XID document.
157
156
  */
158
157
  static delegateNotFoundInDocument(delegate) {
159
- return new XIDError(XIDErrorCode.DELEGATE_NOT_FOUND_IN_DOCUMENT, `delegate not found in XID document: ${delegate}`);
158
+ return new XIDError("DELEGATE_NOT_FOUND_IN_DOCUMENT", `delegate not found in XID document: ${delegate}`);
160
159
  }
161
160
  /**
162
161
  * Returned when the password is invalid.
163
162
  */
164
163
  static invalidPassword() {
165
- return new XIDError(XIDErrorCode.INVALID_PASSWORD, "invalid password");
164
+ return new XIDError("INVALID_PASSWORD", "invalid password");
166
165
  }
167
166
  /**
168
167
  * Returned when the envelope is not signed.
169
168
  */
170
169
  static envelopeNotSigned() {
171
- return new XIDError(XIDErrorCode.ENVELOPE_NOT_SIGNED, "envelope is not signed");
170
+ return new XIDError("ENVELOPE_NOT_SIGNED", "envelope is not signed");
172
171
  }
173
172
  /**
174
173
  * Returned when signature verification fails.
175
174
  */
176
175
  static signatureVerificationFailed() {
177
- return new XIDError(XIDErrorCode.SIGNATURE_VERIFICATION_FAILED, "signature verification failed");
176
+ return new XIDError("SIGNATURE_VERIFICATION_FAILED", "signature verification failed");
178
177
  }
179
178
  /**
180
179
  * Returned when there is no provenance mark to advance.
181
180
  */
182
181
  static noProvenanceMark() {
183
- return new XIDError(XIDErrorCode.NO_PROVENANCE_MARK, "no provenance mark to advance");
182
+ return new XIDError("NO_PROVENANCE_MARK", "no provenance mark to advance");
184
183
  }
185
184
  /**
186
185
  * Returned when document already has generator but external generator was provided.
187
186
  */
188
187
  static generatorConflict() {
189
- return new XIDError(XIDErrorCode.GENERATOR_CONFLICT, "document already has generator, cannot provide external generator");
188
+ return new XIDError("GENERATOR_CONFLICT", "document already has generator, cannot provide external generator");
190
189
  }
191
190
  /**
192
191
  * Returned when document does not have generator but needs one.
193
192
  */
194
193
  static noGenerator() {
195
- return new XIDError(XIDErrorCode.NO_GENERATOR, "document does not have generator, must provide external generator");
194
+ return new XIDError("NO_GENERATOR", "document does not have generator, must provide external generator");
196
195
  }
197
196
  /**
198
197
  * Returned when generator chain ID doesn't match.
199
198
  */
200
199
  static chainIdMismatch(expected, actual) {
201
- const expectedHex = Array.from(expected).map((b) => b.toString(16).padStart(2, "0")).join("");
202
- const actualHex = Array.from(actual).map((b) => b.toString(16).padStart(2, "0")).join("");
203
- return new XIDError(XIDErrorCode.CHAIN_ID_MISMATCH, `generator chain ID mismatch: expected ${expectedHex}, got ${actualHex}`);
200
+ return new XIDError("CHAIN_ID_MISMATCH", `generator chain ID mismatch: expected ${Array.from(expected).map((b) => b.toString(16).padStart(2, "0")).join("")}, got ${Array.from(actual).map((b) => b.toString(16).padStart(2, "0")).join("")}`);
204
201
  }
205
202
  /**
206
203
  * Returned when generator sequence doesn't match.
207
204
  */
208
205
  static sequenceMismatch(expected, actual) {
209
- return new XIDError(XIDErrorCode.SEQUENCE_MISMATCH, `generator sequence mismatch: expected ${expected}, got ${actual}`);
206
+ return new XIDError("SEQUENCE_MISMATCH", `generator sequence mismatch: expected ${expected}, got ${actual}`);
210
207
  }
211
208
  /**
212
209
  * Envelope parsing error wrapper.
213
210
  */
214
211
  static envelopeParsing(cause) {
215
- return new XIDError(XIDErrorCode.ENVELOPE_PARSING, "envelope parsing error", cause);
212
+ return new XIDError("ENVELOPE_PARSING", "envelope parsing error", cause);
216
213
  }
217
214
  /**
218
215
  * Component error wrapper.
219
216
  */
220
217
  static component(cause) {
221
- return new XIDError(XIDErrorCode.COMPONENT, "component error", cause);
218
+ return new XIDError("COMPONENT", "component error", cause);
222
219
  }
223
220
  /**
224
221
  * CBOR error wrapper.
225
222
  */
226
223
  static cbor(cause) {
227
- return new XIDError(XIDErrorCode.CBOR, "CBOR error", cause);
224
+ return new XIDError("CBOR", "CBOR error", cause);
228
225
  }
229
226
  /**
230
227
  * Provenance mark error wrapper.
231
228
  */
232
229
  static provenanceMark(cause) {
233
- return new XIDError(XIDErrorCode.PROVENANCE_MARK, "provenance mark error", cause);
230
+ return new XIDError("PROVENANCE_MARK", "provenance mark error", cause);
234
231
  }
235
232
  };
236
-
237
233
  //#endregion
238
234
  //#region src/privilege.ts
239
235
  /**
@@ -287,20 +283,20 @@ let Privilege = /* @__PURE__ */ function(Privilege) {
287
283
  */
288
284
  function privilegeToKnownValue(privilege) {
289
285
  switch (privilege) {
290
- case Privilege.All: return _bcts_known_values.PRIVILEGE_ALL;
291
- case Privilege.Auth: return _bcts_known_values.PRIVILEGE_AUTH;
292
- case Privilege.Sign: return _bcts_known_values.PRIVILEGE_SIGN;
293
- case Privilege.Encrypt: return _bcts_known_values.PRIVILEGE_ENCRYPT;
294
- case Privilege.Elide: return _bcts_known_values.PRIVILEGE_ELIDE;
295
- case Privilege.Issue: return _bcts_known_values.PRIVILEGE_ISSUE;
296
- case Privilege.Access: return _bcts_known_values.PRIVILEGE_ACCESS;
297
- case Privilege.Delegate: return _bcts_known_values.PRIVILEGE_DELEGATE;
298
- case Privilege.Verify: return _bcts_known_values.PRIVILEGE_VERIFY;
299
- case Privilege.Update: return _bcts_known_values.PRIVILEGE_UPDATE;
300
- case Privilege.Transfer: return _bcts_known_values.PRIVILEGE_TRANSFER;
301
- case Privilege.Elect: return _bcts_known_values.PRIVILEGE_ELECT;
302
- case Privilege.Burn: return _bcts_known_values.PRIVILEGE_BURN;
303
- case Privilege.Revoke: return _bcts_known_values.PRIVILEGE_REVOKE;
286
+ case "All": return _bcts_known_values.PRIVILEGE_ALL;
287
+ case "Auth": return _bcts_known_values.PRIVILEGE_AUTH;
288
+ case "Sign": return _bcts_known_values.PRIVILEGE_SIGN;
289
+ case "Encrypt": return _bcts_known_values.PRIVILEGE_ENCRYPT;
290
+ case "Elide": return _bcts_known_values.PRIVILEGE_ELIDE;
291
+ case "Issue": return _bcts_known_values.PRIVILEGE_ISSUE;
292
+ case "Access": return _bcts_known_values.PRIVILEGE_ACCESS;
293
+ case "Delegate": return _bcts_known_values.PRIVILEGE_DELEGATE;
294
+ case "Verify": return _bcts_known_values.PRIVILEGE_VERIFY;
295
+ case "Update": return _bcts_known_values.PRIVILEGE_UPDATE;
296
+ case "Transfer": return _bcts_known_values.PRIVILEGE_TRANSFER;
297
+ case "Elect": return _bcts_known_values.PRIVILEGE_ELECT;
298
+ case "Burn": return _bcts_known_values.PRIVILEGE_BURN;
299
+ case "Revoke": return _bcts_known_values.PRIVILEGE_REVOKE;
304
300
  default: throw XIDError.unknownPrivilege();
305
301
  }
306
302
  }
@@ -309,20 +305,20 @@ function privilegeToKnownValue(privilege) {
309
305
  */
310
306
  function privilegeFromKnownValue(knownValue) {
311
307
  switch (knownValue.value()) {
312
- case _bcts_known_values.PRIVILEGE_ALL.value(): return Privilege.All;
313
- case _bcts_known_values.PRIVILEGE_AUTH.value(): return Privilege.Auth;
314
- case _bcts_known_values.PRIVILEGE_SIGN.value(): return Privilege.Sign;
315
- case _bcts_known_values.PRIVILEGE_ENCRYPT.value(): return Privilege.Encrypt;
316
- case _bcts_known_values.PRIVILEGE_ELIDE.value(): return Privilege.Elide;
317
- case _bcts_known_values.PRIVILEGE_ISSUE.value(): return Privilege.Issue;
318
- case _bcts_known_values.PRIVILEGE_ACCESS.value(): return Privilege.Access;
319
- case _bcts_known_values.PRIVILEGE_DELEGATE.value(): return Privilege.Delegate;
320
- case _bcts_known_values.PRIVILEGE_VERIFY.value(): return Privilege.Verify;
321
- case _bcts_known_values.PRIVILEGE_UPDATE.value(): return Privilege.Update;
322
- case _bcts_known_values.PRIVILEGE_TRANSFER.value(): return Privilege.Transfer;
323
- case _bcts_known_values.PRIVILEGE_ELECT.value(): return Privilege.Elect;
324
- case _bcts_known_values.PRIVILEGE_BURN.value(): return Privilege.Burn;
325
- case _bcts_known_values.PRIVILEGE_REVOKE.value(): return Privilege.Revoke;
308
+ case _bcts_known_values.PRIVILEGE_ALL.value(): return "All";
309
+ case _bcts_known_values.PRIVILEGE_AUTH.value(): return "Auth";
310
+ case _bcts_known_values.PRIVILEGE_SIGN.value(): return "Sign";
311
+ case _bcts_known_values.PRIVILEGE_ENCRYPT.value(): return "Encrypt";
312
+ case _bcts_known_values.PRIVILEGE_ELIDE.value(): return "Elide";
313
+ case _bcts_known_values.PRIVILEGE_ISSUE.value(): return "Issue";
314
+ case _bcts_known_values.PRIVILEGE_ACCESS.value(): return "Access";
315
+ case _bcts_known_values.PRIVILEGE_DELEGATE.value(): return "Delegate";
316
+ case _bcts_known_values.PRIVILEGE_VERIFY.value(): return "Verify";
317
+ case _bcts_known_values.PRIVILEGE_UPDATE.value(): return "Update";
318
+ case _bcts_known_values.PRIVILEGE_TRANSFER.value(): return "Transfer";
319
+ case _bcts_known_values.PRIVILEGE_ELECT.value(): return "Elect";
320
+ case _bcts_known_values.PRIVILEGE_BURN.value(): return "Burn";
321
+ case _bcts_known_values.PRIVILEGE_REVOKE.value(): return "Revoke";
326
322
  default: throw XIDError.unknownPrivilege();
327
323
  }
328
324
  }
@@ -340,7 +336,6 @@ function privilegeFromEnvelope(envelope) {
340
336
  if (envelopeCase.type !== "knownValue") throw XIDError.unknownPrivilege();
341
337
  return privilegeFromKnownValue(envelopeCase.value);
342
338
  }
343
-
344
339
  //#endregion
345
340
  //#region src/permissions.ts
346
341
  /**
@@ -359,24 +354,45 @@ function privilegeFromEnvelope(envelope) {
359
354
  * Helper methods for HasPermissions implementers.
360
355
  */
361
356
  const HasPermissionsMixin = {
357
+ /**
358
+ * Get the set of allowed privileges.
359
+ */
362
360
  allow(obj) {
363
361
  return obj.permissions().allow;
364
362
  },
363
+ /**
364
+ * Get the set of denied privileges.
365
+ */
365
366
  deny(obj) {
366
367
  return obj.permissions().deny;
367
368
  },
369
+ /**
370
+ * Add an allowed privilege.
371
+ */
368
372
  addAllow(obj, privilege) {
369
373
  obj.permissionsMut().allow.add(privilege);
370
374
  },
375
+ /**
376
+ * Add a denied privilege.
377
+ */
371
378
  addDeny(obj, privilege) {
372
379
  obj.permissionsMut().deny.add(privilege);
373
380
  },
381
+ /**
382
+ * Remove an allowed privilege.
383
+ */
374
384
  removeAllow(obj, privilege) {
375
385
  obj.permissionsMut().allow.delete(privilege);
376
386
  },
387
+ /**
388
+ * Remove a denied privilege.
389
+ */
377
390
  removeDeny(obj, privilege) {
378
391
  obj.permissionsMut().deny.delete(privilege);
379
392
  },
393
+ /**
394
+ * Clear all permissions.
395
+ */
380
396
  clearAllPermissions(obj) {
381
397
  obj.permissionsMut().allow.clear();
382
398
  obj.permissionsMut().deny.clear();
@@ -403,7 +419,7 @@ var Permissions = class Permissions {
403
419
  */
404
420
  static newAllowAll() {
405
421
  const allow = /* @__PURE__ */ new Set();
406
- allow.add(Privilege.All);
422
+ allow.add("All");
407
423
  return new Permissions(allow);
408
424
  }
409
425
  /**
@@ -449,14 +465,14 @@ var Permissions = class Permissions {
449
465
  * Check if a specific privilege is allowed.
450
466
  */
451
467
  isAllowed(privilege) {
452
- if (this.deny.has(privilege) || this.deny.has(Privilege.All)) return false;
453
- return this.allow.has(privilege) || this.allow.has(Privilege.All);
468
+ if (this.deny.has(privilege) || this.deny.has("All")) return false;
469
+ return this.allow.has(privilege) || this.allow.has("All");
454
470
  }
455
471
  /**
456
472
  * Check if a specific privilege is denied.
457
473
  */
458
474
  isDenied(privilege) {
459
- return this.deny.has(privilege) || this.deny.has(Privilege.All);
475
+ return this.deny.has(privilege) || this.deny.has("All");
460
476
  }
461
477
  permissions() {
462
478
  return this;
@@ -480,7 +496,6 @@ var Permissions = class Permissions {
480
496
  return new Permissions(new Set(this.allow), new Set(this.deny));
481
497
  }
482
498
  };
483
-
484
499
  //#endregion
485
500
  //#region src/name.ts
486
501
  /**
@@ -497,12 +512,15 @@ var Permissions = class Permissions {
497
512
  /**
498
513
  * Helper methods for HasNickname implementers.
499
514
  */
500
- const HasNicknameMixin = { addNickname(obj, name) {
515
+ const HasNicknameMixin = {
516
+ /**
517
+ * Add a nickname, throwing if one already exists or is empty.
518
+ */
519
+ addNickname(obj, name) {
501
520
  if (obj.nickname() !== "") throw XIDError.duplicate("nickname");
502
521
  if (name === "") throw XIDError.emptyValue("nickname");
503
522
  obj.setNickname(name);
504
523
  } };
505
-
506
524
  //#endregion
507
525
  //#region src/shared.ts
508
526
  /**
@@ -567,7 +585,6 @@ var Shared = class Shared {
567
585
  return new Shared(this.value);
568
586
  }
569
587
  };
570
-
571
588
  //#endregion
572
589
  //#region src/key.ts
573
590
  /**
@@ -740,7 +757,7 @@ var Key = class Key {
740
757
  /**
741
758
  * Convert to envelope with specified options.
742
759
  */
743
- intoEnvelopeOpt(privateKeyOptions = XIDPrivateKeyOptions.Omit) {
760
+ intoEnvelopeOpt(privateKeyOptions = "Omit") {
744
761
  let envelope = _bcts_envelope.Envelope.new(this._publicKeys.taggedCborData());
745
762
  if (this._privateKeyData !== void 0) {
746
763
  const { data, salt } = this._privateKeyData;
@@ -748,17 +765,17 @@ var Key = class Key {
748
765
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.PRIVATE_KEY), data.envelope);
749
766
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.SALT), salt.toData());
750
767
  } else if (data.type === "decrypted") switch (typeof privateKeyOptions === "object" ? privateKeyOptions.type : privateKeyOptions) {
751
- case XIDPrivateKeyOptions.Include:
768
+ case "Include":
752
769
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.PRIVATE_KEY), data.privateKeys.taggedCborData());
753
770
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.SALT), salt.toData());
754
771
  break;
755
- case XIDPrivateKeyOptions.Elide: {
772
+ case "Elide": {
756
773
  const elidedAssertion = _bcts_envelope.Envelope.newAssertion(kv$3(_bcts_known_values.PRIVATE_KEY), data.privateKeys.taggedCborData()).elide();
757
774
  envelope = envelope.addAssertionEnvelope(elidedAssertion);
758
775
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.SALT), salt.toData());
759
776
  break;
760
777
  }
761
- case XIDPrivateKeyOptions.Encrypt:
778
+ case "Encrypt":
762
779
  if (typeof privateKeyOptions === "object") {
763
780
  const privateKeysEnvelope = _bcts_envelope.Envelope.new(data.privateKeys.taggedCborData());
764
781
  const method = privateKeyOptions.method ?? (0, _bcts_components.defaultKeyDerivationMethod)();
@@ -767,7 +784,6 @@ var Key = class Key {
767
784
  envelope = envelope.addAssertion(kv$3(_bcts_known_values.SALT), salt.toData());
768
785
  }
769
786
  break;
770
- case XIDPrivateKeyOptions.Omit:
771
787
  default: break;
772
788
  }
773
789
  }
@@ -777,7 +793,7 @@ var Key = class Key {
777
793
  return envelope;
778
794
  }
779
795
  intoEnvelope() {
780
- return this.intoEnvelopeOpt(XIDPrivateKeyOptions.Omit);
796
+ return this.intoEnvelopeOpt("Omit");
781
797
  }
782
798
  /**
783
799
  * Try to extract a Key from an envelope, optionally with password for decryption.
@@ -902,7 +918,6 @@ var Key = class Key {
902
918
  } : void 0, this._nickname, new Set(this._endpoints), this._permissions.clone());
903
919
  }
904
920
  };
905
-
906
921
  //#endregion
907
922
  //#region src/service.ts
908
923
  /**
@@ -1156,7 +1171,6 @@ function hexToBytes(hex) {
1156
1171
  function bytesToHex(bytes) {
1157
1172
  return Array.from(bytes).map((b) => b.toString(16).padStart(2, "0")).join("");
1158
1173
  }
1159
-
1160
1174
  //#endregion
1161
1175
  //#region src/delegate.ts
1162
1176
  let XIDDocumentClass = null;
@@ -1242,7 +1256,6 @@ var Delegate = class Delegate {
1242
1256
  return new Delegate(Shared.new(this._controller.read().clone()), this._permissions.clone());
1243
1257
  }
1244
1258
  };
1245
-
1246
1259
  //#endregion
1247
1260
  //#region src/provenance.ts
1248
1261
  /**
@@ -1416,7 +1429,7 @@ var Provenance = class Provenance {
1416
1429
  /**
1417
1430
  * Convert to envelope with specified options.
1418
1431
  */
1419
- intoEnvelopeOpt(generatorOptions = XIDGeneratorOptions.Omit) {
1432
+ intoEnvelopeOpt(generatorOptions = "Omit") {
1420
1433
  let envelope = _bcts_envelope.Envelope.new(this._mark.toCborData());
1421
1434
  if (this._generator !== void 0) {
1422
1435
  const { data, salt } = this._generator;
@@ -1424,20 +1437,20 @@ var Provenance = class Provenance {
1424
1437
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.PROVENANCE_GENERATOR), data.envelope);
1425
1438
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.SALT), salt.toData());
1426
1439
  } else if (data.type === "decrypted") switch (typeof generatorOptions === "object" ? generatorOptions.type : generatorOptions) {
1427
- case XIDGeneratorOptions.Include: {
1440
+ case "Include": {
1428
1441
  const generatorBytes = encodeGeneratorJSON(data.generator.toJSON());
1429
1442
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.PROVENANCE_GENERATOR), generatorBytes);
1430
1443
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.SALT), salt.toData());
1431
1444
  break;
1432
1445
  }
1433
- case XIDGeneratorOptions.Elide: {
1446
+ case "Elide": {
1434
1447
  const generatorBytes2 = encodeGeneratorJSON(data.generator.toJSON());
1435
1448
  const elidedAssertion = _bcts_envelope.Envelope.newAssertion(kv$1(_bcts_known_values.PROVENANCE_GENERATOR), generatorBytes2).elide();
1436
1449
  envelope = envelope.addAssertionEnvelope(elidedAssertion);
1437
1450
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.SALT), salt.toData());
1438
1451
  break;
1439
1452
  }
1440
- case XIDGeneratorOptions.Encrypt:
1453
+ case "Encrypt":
1441
1454
  if (typeof generatorOptions === "object") {
1442
1455
  const generatorBytes3 = encodeGeneratorJSON(data.generator.toJSON());
1443
1456
  const wrapped = _bcts_envelope.Envelope.new(generatorBytes3).wrap();
@@ -1447,14 +1460,13 @@ var Provenance = class Provenance {
1447
1460
  envelope = envelope.addAssertion(kv$1(_bcts_known_values.SALT), salt.toData());
1448
1461
  }
1449
1462
  break;
1450
- case XIDGeneratorOptions.Omit:
1451
1463
  default: break;
1452
1464
  }
1453
1465
  }
1454
1466
  return envelope;
1455
1467
  }
1456
1468
  intoEnvelope() {
1457
- return this.intoEnvelopeOpt(XIDGeneratorOptions.Omit);
1469
+ return this.intoEnvelopeOpt("Omit");
1458
1470
  }
1459
1471
  /**
1460
1472
  * Try to extract a Provenance from an envelope, optionally with password for decryption.
@@ -1541,7 +1553,6 @@ var Provenance = class Provenance {
1541
1553
  } : void 0);
1542
1554
  }
1543
1555
  };
1544
-
1545
1556
  //#endregion
1546
1557
  //#region src/xid-document.ts
1547
1558
  /**
@@ -1776,7 +1787,7 @@ var XIDDocument = class XIDDocument {
1776
1787
  * Extract inception private keys from an envelope (convenience static method).
1777
1788
  */
1778
1789
  static extractInceptionPrivateKeysFromEnvelope(envelope, password) {
1779
- return XIDDocument.fromEnvelope(envelope, password, XIDVerifySignature.None).inceptionPrivateKeys();
1790
+ return XIDDocument.fromEnvelope(envelope, password, "None").inceptionPrivateKeys();
1780
1791
  }
1781
1792
  /**
1782
1793
  * Get the private key envelope for a specific key, optionally decrypting it.
@@ -2054,7 +2065,7 @@ var XIDDocument = class XIDDocument {
2054
2065
  /**
2055
2066
  * Convert to envelope with options.
2056
2067
  */
2057
- toEnvelope(privateKeyOptions = XIDPrivateKeyOptions.Omit, generatorOptions = XIDGeneratorOptions.Omit, signingOptions = { type: "none" }) {
2068
+ toEnvelope(privateKeyOptions = "Omit", generatorOptions = "Omit", signingOptions = { type: "none" }) {
2058
2069
  let envelope = _bcts_envelope.Envelope.newLeaf(this._xid.taggedCbor());
2059
2070
  for (const method of this._resolutionMethods) envelope = envelope.addAssertion(kv(_bcts_known_values.DEREFERENCE_VIA), method);
2060
2071
  for (const key of this._keys.values()) envelope = envelope.addAssertion(kv(_bcts_known_values.KEY), key.intoEnvelopeOpt(privateKeyOptions));
@@ -2089,10 +2100,10 @@ var XIDDocument = class XIDDocument {
2089
2100
  /**
2090
2101
  * Extract an XIDDocument from an envelope.
2091
2102
  */
2092
- static fromEnvelope(envelope, password, verifySignature = XIDVerifySignature.None) {
2103
+ static fromEnvelope(envelope, password, verifySignature = "None") {
2093
2104
  const envelopeExt = envelope;
2094
2105
  switch (verifySignature) {
2095
- case XIDVerifySignature.None: {
2106
+ case "None": {
2096
2107
  const subject = envelopeExt.subject();
2097
2108
  const envelopeToParse = subject.isWrapped() ? subject.tryUnwrap() : envelope;
2098
2109
  const attachments = _bcts_envelope.Attachments.fromEnvelope(envelopeToParse);
@@ -2102,7 +2113,7 @@ var XIDDocument = class XIDDocument {
2102
2113
  doc._edges = edges;
2103
2114
  return doc;
2104
2115
  }
2105
- case XIDVerifySignature.Inception: {
2116
+ case "Inception": {
2106
2117
  if (!envelopeExt.subject().isWrapped()) throw XIDError.envelopeNotSigned();
2107
2118
  const unwrapped = envelopeExt.tryUnwrap();
2108
2119
  const attachments = _bcts_envelope.Attachments.fromEnvelope(unwrapped);
@@ -2177,13 +2188,13 @@ var XIDDocument = class XIDDocument {
2177
2188
  * Create a signed envelope.
2178
2189
  */
2179
2190
  toSignedEnvelope(signingKey) {
2180
- return this.toSignedEnvelopeOpt(signingKey, XIDPrivateKeyOptions.Omit);
2191
+ return this.toSignedEnvelopeOpt(signingKey, "Omit");
2181
2192
  }
2182
2193
  /**
2183
2194
  * Create a signed envelope with private key options.
2184
2195
  */
2185
- toSignedEnvelopeOpt(signingKey, privateKeyOptions = XIDPrivateKeyOptions.Omit) {
2186
- return this.toEnvelope(privateKeyOptions, XIDGeneratorOptions.Omit, { type: "none" }).sign(signingKey);
2196
+ toSignedEnvelopeOpt(signingKey, privateKeyOptions = "Omit") {
2197
+ return this.toEnvelope(privateKeyOptions, "Omit", { type: "none" }).sign(signingKey);
2187
2198
  }
2188
2199
  /**
2189
2200
  * Get the reference for this document.
@@ -2235,7 +2246,7 @@ var XIDDocument = class XIDDocument {
2235
2246
  * Try to extract from envelope (alias for fromEnvelope with default options).
2236
2247
  */
2237
2248
  static tryFromEnvelope(envelope) {
2238
- return XIDDocument.fromEnvelope(envelope, void 0, XIDVerifySignature.None);
2249
+ return XIDDocument.fromEnvelope(envelope, void 0, "None");
2239
2250
  }
2240
2251
  };
2241
2252
  registerXIDDocumentClass(XIDDocument);
@@ -2244,24 +2255,22 @@ function bytesEqual(a, b) {
2244
2255
  for (let i = 0; i < a.length; i++) if (a[i] !== b[i]) return false;
2245
2256
  return true;
2246
2257
  }
2247
-
2248
2258
  //#endregion
2249
2259
  //#region src/index.ts
2250
2260
  const VERSION = "1.0.0-alpha.3";
2251
-
2252
2261
  //#endregion
2253
- Object.defineProperty(exports, 'Attachments', {
2254
- enumerable: true,
2255
- get: function () {
2256
- return _bcts_envelope.Attachments;
2257
- }
2262
+ Object.defineProperty(exports, "Attachments", {
2263
+ enumerable: true,
2264
+ get: function() {
2265
+ return _bcts_envelope.Attachments;
2266
+ }
2258
2267
  });
2259
2268
  exports.Delegate = Delegate;
2260
- Object.defineProperty(exports, 'Edges', {
2261
- enumerable: true,
2262
- get: function () {
2263
- return _bcts_envelope.Edges;
2264
- }
2269
+ Object.defineProperty(exports, "Edges", {
2270
+ enumerable: true,
2271
+ get: function() {
2272
+ return _bcts_envelope.Edges;
2273
+ }
2265
2274
  });
2266
2275
  exports.HasNicknameMixin = HasNicknameMixin;
2267
2276
  exports.HasPermissionsMixin = HasPermissionsMixin;
@@ -2272,11 +2281,11 @@ exports.Provenance = Provenance;
2272
2281
  exports.Service = Service;
2273
2282
  exports.Shared = Shared;
2274
2283
  exports.VERSION = VERSION;
2275
- Object.defineProperty(exports, 'XID', {
2276
- enumerable: true,
2277
- get: function () {
2278
- return _bcts_components.XID;
2279
- }
2284
+ Object.defineProperty(exports, "XID", {
2285
+ enumerable: true,
2286
+ get: function() {
2287
+ return _bcts_components.XID;
2288
+ }
2280
2289
  });
2281
2290
  exports.XIDDocument = XIDDocument;
2282
2291
  exports.XIDError = XIDError;
@@ -2289,4 +2298,5 @@ exports.privilegeFromKnownValue = privilegeFromKnownValue;
2289
2298
  exports.privilegeToEnvelope = privilegeToEnvelope;
2290
2299
  exports.privilegeToKnownValue = privilegeToKnownValue;
2291
2300
  exports.registerXIDDocumentClass = registerXIDDocumentClass;
2301
+
2292
2302
  //# sourceMappingURL=index.cjs.map