@dxos/credentials 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea

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.
@@ -316,20 +316,15 @@ var createCredentialSignerWithChain = (signer, chain, signingKey) => ({
316
316
  // src/credentials/credential-generator.ts
317
317
  import { AdmittedFeed, SpaceMember } from "@dxos/protocols/proto/dxos/halo/credentials";
318
318
  import { Timeframe as Timeframe2 } from "@dxos/timeframe";
319
- function _define_property(obj, key, value) {
320
- if (key in obj) {
321
- Object.defineProperty(obj, key, {
322
- value,
323
- enumerable: true,
324
- configurable: true,
325
- writable: true
326
- });
327
- } else {
328
- obj[key] = value;
329
- }
330
- return obj;
331
- }
332
319
  var CredentialGenerator = class {
320
+ _signer;
321
+ _identityKey;
322
+ _deviceKey;
323
+ constructor(_signer, _identityKey, _deviceKey) {
324
+ this._signer = _signer;
325
+ this._identityKey = _identityKey;
326
+ this._deviceKey = _deviceKey;
327
+ }
333
328
  /**
334
329
  * Create genesis messages for new Space.
335
330
  */
@@ -451,14 +446,6 @@ var CredentialGenerator = class {
451
446
  }
452
447
  });
453
448
  }
454
- constructor(_signer, _identityKey, _deviceKey) {
455
- _define_property(this, "_signer", void 0);
456
- _define_property(this, "_identityKey", void 0);
457
- _define_property(this, "_deviceKey", void 0);
458
- this._signer = _signer;
459
- this._identityKey = _identityKey;
460
- this._deviceKey = _deviceKey;
461
- }
462
449
  };
463
450
  var createDeviceAuthorization = async (signer, identityKey, deviceKey) => {
464
451
  const credentials = await Promise.all([
@@ -651,21 +638,14 @@ import { Callback as Callback4, ComplexMap as ComplexMap6, ComplexSet as Complex
651
638
  import { invariant as invariant3 } from "@dxos/invariant";
652
639
  import { PublicKey as PublicKey4 } from "@dxos/keys";
653
640
  import { Callback, ComplexMap as ComplexMap2 } from "@dxos/util";
654
- function _define_property2(obj, key, value) {
655
- if (key in obj) {
656
- Object.defineProperty(obj, key, {
657
- value,
658
- enumerable: true,
659
- configurable: true,
660
- writable: true
661
- });
662
- } else {
663
- obj[key] = value;
664
- }
665
- return obj;
666
- }
667
641
  var __dxlog_file3 = "/__w/dxos/dxos/packages/core/halo/credentials/src/state-machine/feed-state-machine.ts";
668
642
  var FeedStateMachine = class {
643
+ _spaceKey;
644
+ _feeds = new ComplexMap2(PublicKey4.hash);
645
+ onFeedAdmitted = new Callback();
646
+ constructor(_spaceKey) {
647
+ this._spaceKey = _spaceKey;
648
+ }
669
649
  get feeds() {
670
650
  return this._feeds;
671
651
  }
@@ -704,33 +684,17 @@ var FeedStateMachine = class {
704
684
  this._feeds.set(credential.subject.id, info);
705
685
  await this.onFeedAdmitted.callIfSet(info);
706
686
  }
707
- constructor(_spaceKey) {
708
- _define_property2(this, "_spaceKey", void 0);
709
- _define_property2(this, "_feeds", void 0);
710
- _define_property2(this, "onFeedAdmitted", void 0);
711
- this._spaceKey = _spaceKey;
712
- this._feeds = new ComplexMap2(PublicKey4.hash);
713
- this.onFeedAdmitted = new Callback();
714
- }
715
687
  };
716
688
 
717
689
  // src/state-machine/invitation-state-machine.ts
718
690
  import { PublicKey as PublicKey5 } from "@dxos/keys";
719
691
  import { Callback as Callback2, ComplexMap as ComplexMap3, ComplexSet } from "@dxos/util";
720
- function _define_property3(obj, key, value) {
721
- if (key in obj) {
722
- Object.defineProperty(obj, key, {
723
- value,
724
- enumerable: true,
725
- configurable: true,
726
- writable: true
727
- });
728
- } else {
729
- obj[key] = value;
730
- }
731
- return obj;
732
- }
733
692
  var InvitationStateMachine = class {
693
+ _invitations = new ComplexMap3(PublicKey5.hash);
694
+ _redeemedInvitationCredentialIds = new ComplexSet(PublicKey5.hash);
695
+ _cancelledInvitationCredentialIds = new ComplexSet(PublicKey5.hash);
696
+ onDelegatedInvitation = new Callback2();
697
+ onDelegatedInvitationRemoved = new Callback2();
734
698
  get invitations() {
735
699
  return this._invitations;
736
700
  }
@@ -788,13 +752,6 @@ var InvitationStateMachine = class {
788
752
  }
789
753
  }
790
754
  }
791
- constructor() {
792
- _define_property3(this, "_invitations", new ComplexMap3(PublicKey5.hash));
793
- _define_property3(this, "_redeemedInvitationCredentialIds", new ComplexSet(PublicKey5.hash));
794
- _define_property3(this, "_cancelledInvitationCredentialIds", new ComplexSet(PublicKey5.hash));
795
- _define_property3(this, "onDelegatedInvitation", new Callback2());
796
- _define_property3(this, "onDelegatedInvitationRemoved", new Callback2());
797
- }
798
755
  };
799
756
 
800
757
  // src/state-machine/member-state-machine.ts
@@ -809,21 +766,43 @@ import { invariant as invariant4 } from "@dxos/invariant";
809
766
  import { PublicKey as PublicKey6 } from "@dxos/keys";
810
767
  import { log } from "@dxos/log";
811
768
  import { Callback as Callback3, ComplexMap as ComplexMap4, ComplexSet as ComplexSet2 } from "@dxos/util";
812
- function _define_property4(obj, key, value) {
813
- if (key in obj) {
814
- Object.defineProperty(obj, key, {
815
- value,
816
- enumerable: true,
817
- configurable: true,
818
- writable: true
819
- });
820
- } else {
821
- obj[key] = value;
822
- }
823
- return obj;
824
- }
825
769
  var __dxlog_file4 = "/__w/dxos/dxos/packages/core/halo/credentials/src/graph/credential-graph.ts";
826
770
  var CredentialGraph = class {
771
+ _stateHandler;
772
+ /**
773
+ * Local ids are used during traversals.
774
+ */
775
+ _vertexIdGenerator = 1;
776
+ /**
777
+ * All credentials without parent references are connected to the root.
778
+ */
779
+ _root = {
780
+ id: -1,
781
+ parents: [],
782
+ children: []
783
+ };
784
+ /**
785
+ * A credential which is not a parent of any other credential has the sentinel as a child.
786
+ * Sentinel is a virtual merge-point of all credentials.
787
+ */
788
+ _sentinel = {
789
+ id: -2,
790
+ parents: [],
791
+ children: []
792
+ };
793
+ /**
794
+ * Vertex references are used for fast credential inserts into the graph.
795
+ */
796
+ _vertexByCredentialId = new ComplexMap4(PublicKey6.hash);
797
+ /**
798
+ * The current state of the graph.
799
+ */
800
+ _subjectToVertex = new ComplexMap4(PublicKey6.hash);
801
+ _subjectToState = new ComplexMap4(PublicKey6.hash);
802
+ onSubjectStateChanged = new Callback3();
803
+ constructor(_stateHandler) {
804
+ this._stateHandler = _stateHandler;
805
+ }
827
806
  getSubjectState(subjectId) {
828
807
  return this._subjectToState.get(subjectId);
829
808
  }
@@ -1346,32 +1325,6 @@ var CredentialGraph = class {
1346
1325
  credentials: new ComplexSet2(PublicKey6.hash)
1347
1326
  };
1348
1327
  }
1349
- constructor(_stateHandler) {
1350
- _define_property4(this, "_stateHandler", void 0);
1351
- _define_property4(this, "_vertexIdGenerator", void 0);
1352
- _define_property4(this, "_root", void 0);
1353
- _define_property4(this, "_sentinel", void 0);
1354
- _define_property4(this, "_vertexByCredentialId", void 0);
1355
- _define_property4(this, "_subjectToVertex", void 0);
1356
- _define_property4(this, "_subjectToState", void 0);
1357
- _define_property4(this, "onSubjectStateChanged", void 0);
1358
- this._stateHandler = _stateHandler;
1359
- this._vertexIdGenerator = 1;
1360
- this._root = {
1361
- id: -1,
1362
- parents: [],
1363
- children: []
1364
- };
1365
- this._sentinel = {
1366
- id: -2,
1367
- parents: [],
1368
- children: []
1369
- };
1370
- this._vertexByCredentialId = new ComplexMap4(PublicKey6.hash);
1371
- this._subjectToVertex = new ComplexMap4(PublicKey6.hash);
1372
- this._subjectToState = new ComplexMap4(PublicKey6.hash);
1373
- this.onSubjectStateChanged = new Callback3();
1374
- }
1375
1328
  };
1376
1329
  var toChosenPath = (path) => {
1377
1330
  return Object.fromEntries(Object.entries(path.chosenPath).map(([k, vs]) => [
@@ -1381,21 +1334,16 @@ var toChosenPath = (path) => {
1381
1334
  };
1382
1335
 
1383
1336
  // src/state-machine/member-state-machine.ts
1384
- function _define_property5(obj, key, value) {
1385
- if (key in obj) {
1386
- Object.defineProperty(obj, key, {
1387
- value,
1388
- enumerable: true,
1389
- configurable: true,
1390
- writable: true
1391
- });
1392
- } else {
1393
- obj[key] = value;
1394
- }
1395
- return obj;
1396
- }
1397
1337
  var __dxlog_file5 = "/__w/dxos/dxos/packages/core/halo/credentials/src/state-machine/member-state-machine.ts";
1398
1338
  var MemberStateMachine = class {
1339
+ _spaceKey;
1340
+ _ownerKey;
1341
+ _memberProfiles = new ComplexMap5(PublicKey7.hash);
1342
+ _hashgraph = new CredentialGraph(this);
1343
+ onMemberRoleChanged = this._hashgraph.onSubjectStateChanged;
1344
+ constructor(_spaceKey) {
1345
+ this._spaceKey = _spaceKey;
1346
+ }
1399
1347
  get creator() {
1400
1348
  return this._ownerKey && this._hashgraph.getSubjectState(this._ownerKey);
1401
1349
  }
@@ -1531,33 +1479,9 @@ var MemberStateMachine = class {
1531
1479
  }
1532
1480
  return realRole;
1533
1481
  }
1534
- constructor(_spaceKey) {
1535
- _define_property5(this, "_spaceKey", void 0);
1536
- _define_property5(this, "_ownerKey", void 0);
1537
- _define_property5(this, "_memberProfiles", void 0);
1538
- _define_property5(this, "_hashgraph", void 0);
1539
- _define_property5(this, "onMemberRoleChanged", void 0);
1540
- this._spaceKey = _spaceKey;
1541
- this._memberProfiles = new ComplexMap5(PublicKey7.hash);
1542
- this._hashgraph = new CredentialGraph(this);
1543
- this.onMemberRoleChanged = this._hashgraph.onSubjectStateChanged;
1544
- }
1545
1482
  };
1546
1483
 
1547
1484
  // src/state-machine/space-state-machine.ts
1548
- function _define_property6(obj, key, value) {
1549
- if (key in obj) {
1550
- Object.defineProperty(obj, key, {
1551
- value,
1552
- enumerable: true,
1553
- configurable: true,
1554
- writable: true
1555
- });
1556
- } else {
1557
- obj[key] = value;
1558
- }
1559
- return obj;
1560
- }
1561
1485
  function _ts_decorate(decorators, target, key, desc) {
1562
1486
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1563
1487
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1566,6 +1490,27 @@ function _ts_decorate(decorators, target, key, desc) {
1566
1490
  }
1567
1491
  var __dxlog_file6 = "/__w/dxos/dxos/packages/core/halo/credentials/src/state-machine/space-state-machine.ts";
1568
1492
  var SpaceStateMachine = class {
1493
+ _spaceKey;
1494
+ _members;
1495
+ _feeds;
1496
+ _invitations = new InvitationStateMachine();
1497
+ _credentials = [];
1498
+ _credentialsById = new ComplexMap6(PublicKey8.hash);
1499
+ _processedCredentials = new ComplexSet3(PublicKey8.hash);
1500
+ _genesisCredential;
1501
+ _credentialProcessors = [];
1502
+ onCredentialProcessed = new Callback4();
1503
+ onMemberRoleChanged;
1504
+ onFeedAdmitted;
1505
+ onDelegatedInvitation = this._invitations.onDelegatedInvitation;
1506
+ onDelegatedInvitationRemoved = this._invitations.onDelegatedInvitationRemoved;
1507
+ constructor(_spaceKey) {
1508
+ this._spaceKey = _spaceKey;
1509
+ this._members = new MemberStateMachine(this._spaceKey);
1510
+ this._feeds = new FeedStateMachine(this._spaceKey);
1511
+ this.onMemberRoleChanged = this._members.onMemberRoleChanged;
1512
+ this.onFeedAdmitted = this._feeds.onFeedAdmitted;
1513
+ }
1569
1514
  get creator() {
1570
1515
  return this._members.creator;
1571
1516
  }
@@ -1761,40 +1706,30 @@ var SpaceStateMachine = class {
1761
1706
  _canInviteNewMembers(key) {
1762
1707
  return key.equals(this._spaceKey) || this._members.getRole(key) === SpaceMember3.Role.ADMIN || this._members.getRole(key) === SpaceMember3.Role.OWNER;
1763
1708
  }
1764
- constructor(_spaceKey) {
1765
- _define_property6(this, "_spaceKey", void 0);
1766
- _define_property6(this, "_members", void 0);
1767
- _define_property6(this, "_feeds", void 0);
1768
- _define_property6(this, "_invitations", void 0);
1769
- _define_property6(this, "_credentials", void 0);
1770
- _define_property6(this, "_credentialsById", void 0);
1771
- _define_property6(this, "_processedCredentials", void 0);
1772
- _define_property6(this, "_genesisCredential", void 0);
1773
- _define_property6(this, "_credentialProcessors", void 0);
1774
- _define_property6(this, "onCredentialProcessed", void 0);
1775
- _define_property6(this, "onMemberRoleChanged", void 0);
1776
- _define_property6(this, "onFeedAdmitted", void 0);
1777
- _define_property6(this, "onDelegatedInvitation", void 0);
1778
- _define_property6(this, "onDelegatedInvitationRemoved", void 0);
1779
- this._spaceKey = _spaceKey;
1780
- this._invitations = new InvitationStateMachine();
1781
- this._credentials = [];
1782
- this._credentialsById = new ComplexMap6(PublicKey8.hash);
1783
- this._processedCredentials = new ComplexSet3(PublicKey8.hash);
1784
- this._credentialProcessors = [];
1785
- this.onCredentialProcessed = new Callback4();
1786
- this.onDelegatedInvitation = this._invitations.onDelegatedInvitation;
1787
- this.onDelegatedInvitationRemoved = this._invitations.onDelegatedInvitationRemoved;
1788
- this._members = new MemberStateMachine(this._spaceKey);
1789
- this._feeds = new FeedStateMachine(this._spaceKey);
1790
- this.onMemberRoleChanged = this._members.onMemberRoleChanged;
1791
- this.onFeedAdmitted = this._feeds.onFeedAdmitted;
1792
- }
1793
1709
  };
1794
1710
  _ts_decorate([
1795
1711
  synchronized
1796
1712
  ], SpaceStateMachine.prototype, "process", null);
1797
1713
  var CredentialConsumer = class {
1714
+ processor;
1715
+ _onOpen;
1716
+ _onClose;
1717
+ _ctx = new Context(void 0, {
1718
+ F: __dxlog_file6,
1719
+ L: 273
1720
+ });
1721
+ /**
1722
+ * @internal
1723
+ * Processor is ready to process live credentials.
1724
+ * NOTE: Setting this flag before all existing credentials are processed will cause them to be processed out of order.
1725
+ * Set externally.
1726
+ */
1727
+ _isReadyForLiveCredentials = false;
1728
+ constructor(processor, _onOpen, _onClose) {
1729
+ this.processor = processor;
1730
+ this._onOpen = _onOpen;
1731
+ this._onClose = _onClose;
1732
+ }
1798
1733
  /**
1799
1734
  * @internal
1800
1735
  */
@@ -1813,21 +1748,6 @@ var CredentialConsumer = class {
1813
1748
  await this._ctx.dispose();
1814
1749
  await this._onClose();
1815
1750
  }
1816
- constructor(processor, _onOpen, _onClose) {
1817
- _define_property6(this, "processor", void 0);
1818
- _define_property6(this, "_onOpen", void 0);
1819
- _define_property6(this, "_onClose", void 0);
1820
- _define_property6(this, "_ctx", void 0);
1821
- _define_property6(this, "_isReadyForLiveCredentials", void 0);
1822
- this.processor = processor;
1823
- this._onOpen = _onOpen;
1824
- this._onClose = _onClose;
1825
- this._ctx = new Context(void 0, {
1826
- F: __dxlog_file6,
1827
- L: 273
1828
- });
1829
- this._isReadyForLiveCredentials = false;
1830
- }
1831
1751
  };
1832
1752
 
1833
1753
  // src/processor/device-state-machine.ts
@@ -1836,21 +1756,16 @@ import { invariant as invariant6 } from "@dxos/invariant";
1836
1756
  import { PublicKey as PublicKey9 } from "@dxos/keys";
1837
1757
  import { log as log4 } from "@dxos/log";
1838
1758
  import { ComplexMap as ComplexMap7 } from "@dxos/util";
1839
- function _define_property7(obj, key, value) {
1840
- if (key in obj) {
1841
- Object.defineProperty(obj, key, {
1842
- value,
1843
- enumerable: true,
1844
- configurable: true,
1845
- writable: true
1846
- });
1847
- } else {
1848
- obj[key] = value;
1849
- }
1850
- return obj;
1851
- }
1852
1759
  var __dxlog_file7 = "/__w/dxos/dxos/packages/core/halo/credentials/src/processor/device-state-machine.ts";
1853
1760
  var DeviceStateMachine = class {
1761
+ _params;
1762
+ // TODO(burdon): Return values via getter.
1763
+ authorizedDeviceKeys = new ComplexMap7(PublicKey9.hash);
1764
+ deviceChainReady = new Trigger();
1765
+ deviceCredentialChain;
1766
+ constructor(_params) {
1767
+ this._params = _params;
1768
+ }
1854
1769
  async processCredential(credential) {
1855
1770
  log4("processing credential...", {
1856
1771
  identityKey: this._params.identityKey,
@@ -1912,34 +1827,18 @@ var DeviceStateMachine = class {
1912
1827
  }
1913
1828
  }
1914
1829
  }
1915
- constructor(_params) {
1916
- _define_property7(this, "_params", void 0);
1917
- _define_property7(this, "authorizedDeviceKeys", void 0);
1918
- _define_property7(this, "deviceChainReady", void 0);
1919
- _define_property7(this, "deviceCredentialChain", void 0);
1920
- this._params = _params;
1921
- this.authorizedDeviceKeys = new ComplexMap7(PublicKey9.hash);
1922
- this.deviceChainReady = new Trigger();
1923
- }
1924
1830
  };
1925
1831
 
1926
1832
  // src/processor/profile-state-machine.ts
1927
1833
  import { log as log5 } from "@dxos/log";
1928
- function _define_property8(obj, key, value) {
1929
- if (key in obj) {
1930
- Object.defineProperty(obj, key, {
1931
- value,
1932
- enumerable: true,
1933
- configurable: true,
1934
- writable: true
1935
- });
1936
- } else {
1937
- obj[key] = value;
1938
- }
1939
- return obj;
1940
- }
1941
1834
  var __dxlog_file8 = "/__w/dxos/dxos/packages/core/halo/credentials/src/processor/profile-state-machine.ts";
1942
1835
  var ProfileStateMachine = class {
1836
+ _params;
1837
+ // TODO(burdon): Return values via getter.
1838
+ profile;
1839
+ constructor(_params) {
1840
+ this._params = _params;
1841
+ }
1943
1842
  async processCredential(credential) {
1944
1843
  const assertion = getCredentialAssertion(credential);
1945
1844
  switch (assertion["@type"]) {
@@ -1971,11 +1870,6 @@ var ProfileStateMachine = class {
1971
1870
  }
1972
1871
  }
1973
1872
  }
1974
- constructor(_params) {
1975
- _define_property8(this, "_params", void 0);
1976
- _define_property8(this, "profile", void 0);
1977
- this._params = _params;
1978
- }
1979
1873
  };
1980
1874
  export {
1981
1875
  CredentialGenerator,