@dxos/echo-db 2.33.8 → 2.33.9-dev.7c8c6a09
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/src/api/result-set.js +4 -4
- package/dist/src/api/result-set.js.map +1 -1
- package/dist/src/echo.js +2 -2
- package/dist/src/echo.js.map +1 -1
- package/dist/src/echo.test.js +2 -2
- package/dist/src/echo.test.js.map +1 -1
- package/dist/src/halo/halo-factory.d.ts +1 -1
- package/dist/src/halo/halo-factory.d.ts.map +1 -1
- package/dist/src/halo/halo-factory.js +15 -14
- package/dist/src/halo/halo-factory.js.map +1 -1
- package/dist/src/halo/halo-party.d.ts +4 -6
- package/dist/src/halo/halo-party.d.ts.map +1 -1
- package/dist/src/halo/halo-party.js +12 -6
- package/dist/src/halo/halo-party.js.map +1 -1
- package/dist/src/halo/halo.js +9 -9
- package/dist/src/halo/halo.js.map +1 -1
- package/dist/src/halo/identity-manager.d.ts.map +1 -1
- package/dist/src/halo/identity-manager.js +13 -7
- package/dist/src/halo/identity-manager.js.map +1 -1
- package/dist/src/halo/identity.js +2 -2
- package/dist/src/halo/identity.js.map +1 -1
- package/dist/src/halo/party-opener.d.ts.map +1 -1
- package/dist/src/halo/party-opener.js +2 -4
- package/dist/src/halo/party-opener.js.map +1 -1
- package/dist/src/halo/preferences.d.ts.map +1 -1
- package/dist/src/halo/preferences.js +9 -12
- package/dist/src/halo/preferences.js.map +1 -1
- package/dist/src/invitations/greeting-initiator.d.ts +5 -4
- package/dist/src/invitations/greeting-initiator.d.ts.map +1 -1
- package/dist/src/invitations/greeting-initiator.js +7 -7
- package/dist/src/invitations/greeting-initiator.js.map +1 -1
- package/dist/src/invitations/greeting-responder.d.ts +4 -7
- package/dist/src/invitations/greeting-responder.d.ts.map +1 -1
- package/dist/src/invitations/greeting-responder.js +9 -23
- package/dist/src/invitations/greeting-responder.js.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.js +6 -6
- package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
- package/dist/src/invitations/invitation-descriptor.js +9 -9
- package/dist/src/invitations/invitation-descriptor.js.map +1 -1
- package/dist/src/invitations/invitation-factory.d.ts +2 -1
- package/dist/src/invitations/invitation-factory.d.ts.map +1 -1
- package/dist/src/invitations/invitation-factory.js +6 -8
- package/dist/src/invitations/invitation-factory.js.map +1 -1
- package/dist/src/invitations/offline-invitation-claimer.js +7 -7
- package/dist/src/invitations/offline-invitation-claimer.js.map +1 -1
- package/dist/src/packlets/database/data-mirror.js +8 -8
- package/dist/src/packlets/database/data-mirror.js.map +1 -1
- package/dist/src/packlets/database/data-mirror.test.js +1 -1
- package/dist/src/packlets/database/data-mirror.test.js.map +1 -1
- package/dist/src/packlets/database/data-service-host.js +3 -3
- package/dist/src/packlets/database/data-service-host.js.map +1 -1
- package/dist/src/packlets/database/data-service-router.js +5 -5
- package/dist/src/packlets/database/data-service-router.js.map +1 -1
- package/dist/src/packlets/database/database-backend.js +3 -3
- package/dist/src/packlets/database/database-backend.js.map +1 -1
- package/dist/src/packlets/database/database.js +2 -2
- package/dist/src/packlets/database/database.js.map +1 -1
- package/dist/src/packlets/database/item-demuxer.js +14 -14
- package/dist/src/packlets/database/item-demuxer.js.map +1 -1
- package/dist/src/packlets/database/item-demuxer.test.js +1 -1
- package/dist/src/packlets/database/item-demuxer.test.js.map +1 -1
- package/dist/src/packlets/database/item-manager.js +18 -18
- package/dist/src/packlets/database/item-manager.js.map +1 -1
- package/dist/src/packlets/database/link.js +3 -3
- package/dist/src/packlets/database/link.js.map +1 -1
- package/dist/src/packlets/database/selection/result.js +2 -2
- package/dist/src/packlets/database/selection/result.js.map +1 -1
- package/dist/src/packlets/database/testing.js +1 -1
- package/dist/src/packlets/database/testing.js.map +1 -1
- package/dist/src/packlets/database/timeframe-clock.d.ts +2 -1
- package/dist/src/packlets/database/timeframe-clock.d.ts.map +1 -1
- package/dist/src/packlets/database/timeframe-clock.js +15 -5
- package/dist/src/packlets/database/timeframe-clock.js.map +1 -1
- package/dist/src/parties/data-party.d.ts +4 -3
- package/dist/src/parties/data-party.d.ts.map +1 -1
- package/dist/src/parties/data-party.js +18 -14
- package/dist/src/parties/data-party.js.map +1 -1
- package/dist/src/parties/data-party.test.js +12 -12
- package/dist/src/parties/data-party.test.js.map +1 -1
- package/dist/src/parties/party-factory.d.ts +2 -4
- package/dist/src/parties/party-factory.d.ts.map +1 -1
- package/dist/src/parties/party-factory.js +15 -12
- package/dist/src/parties/party-factory.js.map +1 -1
- package/dist/src/parties/party-manager.d.ts +1 -1
- package/dist/src/parties/party-manager.d.ts.map +1 -1
- package/dist/src/parties/party-manager.js +19 -19
- package/dist/src/parties/party-manager.js.map +1 -1
- package/dist/src/parties/party-manager.test.js +15 -12
- package/dist/src/parties/party-manager.test.js.map +1 -1
- package/dist/src/parties/party-preferences.js +2 -2
- package/dist/src/parties/party-preferences.js.map +1 -1
- package/dist/src/pipeline/feed-muxer.js +4 -4
- package/dist/src/pipeline/feed-muxer.js.map +1 -1
- package/dist/src/pipeline/feed-muxer.test.js +2 -2
- package/dist/src/pipeline/feed-muxer.test.js.map +1 -1
- package/dist/src/pipeline/message-selector.d.ts +1 -2
- package/dist/src/pipeline/message-selector.d.ts.map +1 -1
- package/dist/src/pipeline/message-selector.js +6 -33
- package/dist/src/pipeline/message-selector.js.map +1 -1
- package/dist/src/pipeline/metadata-store.d.ts +7 -2
- package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
- package/dist/src/pipeline/metadata-store.js +12 -3
- package/dist/src/pipeline/metadata-store.js.map +1 -1
- package/dist/src/pipeline/party-feed-provider.d.ts +2 -2
- package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
- package/dist/src/pipeline/party-feed-provider.js +5 -4
- package/dist/src/pipeline/party-feed-provider.js.map +1 -1
- package/dist/src/pipeline/party-pipeline.d.ts +5 -5
- package/dist/src/pipeline/party-pipeline.d.ts.map +1 -1
- package/dist/src/pipeline/party-pipeline.js +19 -20
- package/dist/src/pipeline/party-pipeline.js.map +1 -1
- package/dist/src/pipeline/party-pipeline.test.js +13 -18
- package/dist/src/pipeline/party-pipeline.test.js.map +1 -1
- package/dist/src/pipeline/party-processor.js +3 -3
- package/dist/src/pipeline/party-processor.js.map +1 -1
- package/dist/src/snapshots/snapshot-store.js +2 -2
- package/dist/src/snapshots/snapshot-store.js.map +1 -1
- package/dist/src/testing/testing-factories.js +2 -2
- package/dist/src/testing/testing-factories.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -17
- package/src/api/result-set.ts +1 -1
- package/src/echo.test.ts +1 -1
- package/src/echo.ts +1 -1
- package/src/halo/halo-factory.ts +7 -7
- package/src/halo/halo-party.ts +15 -7
- package/src/halo/halo.ts +1 -1
- package/src/halo/identity-manager.ts +12 -3
- package/src/halo/identity.ts +1 -1
- package/src/halo/party-opener.ts +2 -4
- package/src/halo/preferences.ts +5 -9
- package/src/invitations/greeting-initiator.ts +9 -3
- package/src/invitations/greeting-responder.ts +8 -27
- package/src/invitations/halo-recovery-initiator.ts +1 -1
- package/src/invitations/invitation-descriptor.ts +1 -1
- package/src/invitations/invitation-factory.ts +3 -3
- package/src/invitations/offline-invitation-claimer.ts +1 -1
- package/src/packlets/database/data-mirror.test.ts +2 -2
- package/src/packlets/database/data-mirror.ts +1 -1
- package/src/packlets/database/data-service-host.ts +1 -1
- package/src/packlets/database/data-service-router.ts +1 -1
- package/src/packlets/database/database-backend.ts +1 -1
- package/src/packlets/database/database.ts +1 -1
- package/src/packlets/database/item-demuxer.test.ts +2 -2
- package/src/packlets/database/item-demuxer.ts +1 -1
- package/src/packlets/database/item-manager.ts +1 -1
- package/src/packlets/database/link.ts +1 -1
- package/src/packlets/database/selection/result.ts +1 -1
- package/src/packlets/database/testing.ts +2 -2
- package/src/packlets/database/timeframe-clock.ts +4 -1
- package/src/parties/data-party.test.ts +12 -12
- package/src/parties/data-party.ts +15 -7
- package/src/parties/party-factory.ts +18 -10
- package/src/parties/party-manager.test.ts +10 -7
- package/src/parties/party-manager.ts +15 -13
- package/src/parties/party-preferences.ts +1 -1
- package/src/pipeline/feed-muxer.test.ts +2 -2
- package/src/pipeline/feed-muxer.ts +3 -3
- package/src/pipeline/message-selector.ts +5 -36
- package/src/pipeline/metadata-store.ts +16 -3
- package/src/pipeline/party-feed-provider.ts +3 -3
- package/src/pipeline/party-pipeline.test.ts +13 -19
- package/src/pipeline/party-pipeline.ts +14 -13
- package/src/pipeline/party-processor.ts +1 -1
- package/src/snapshots/snapshot-store.ts +1 -1
- package/src/testing/testing-factories.ts +1 -1
package/dist/src/halo/halo.js
CHANGED
|
@@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HALO = void 0;
|
|
16
|
-
const assert_1 = __importDefault(require("assert"));
|
|
17
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
18
18
|
const async_1 = require("@dxos/async");
|
|
19
19
|
const credentials_1 = require("@dxos/credentials");
|
|
20
20
|
const crypto_1 = require("@dxos/crypto");
|
|
@@ -123,8 +123,8 @@ class HALO {
|
|
|
123
123
|
async _createIdentityKeypair(keyPair) {
|
|
124
124
|
var _a;
|
|
125
125
|
const { publicKey, secretKey } = keyPair;
|
|
126
|
-
(0,
|
|
127
|
-
(0,
|
|
126
|
+
(0, node_assert_1.default)(publicKey, 'Invalid publicKey');
|
|
127
|
+
(0, node_assert_1.default)(secretKey, 'Invalid secretKey');
|
|
128
128
|
if ((_a = this.identity) === null || _a === void 0 ? void 0 : _a.identityKey) {
|
|
129
129
|
// TODO(burdon): Bad API: Semantics change based on options.
|
|
130
130
|
// TODO(burdon): `createProfile` isn't part of this package.
|
|
@@ -152,8 +152,8 @@ class HALO {
|
|
|
152
152
|
// TODO(dmaretskyi): Do not return HALO party here.
|
|
153
153
|
async recover(seedPhrase) {
|
|
154
154
|
var _a, _b;
|
|
155
|
-
(0,
|
|
156
|
-
(0,
|
|
155
|
+
(0, node_assert_1.default)(!((_a = this.identity) === null || _a === void 0 ? void 0 : _a.halo), 'HALO already exists.');
|
|
156
|
+
(0, node_assert_1.default)(!((_b = this.identity) === null || _b === void 0 ? void 0 : _b.identityKey), 'Identity key already exists.');
|
|
157
157
|
return this._identityManager.recoverHalo(seedPhrase);
|
|
158
158
|
}
|
|
159
159
|
/**
|
|
@@ -162,7 +162,7 @@ class HALO {
|
|
|
162
162
|
// TODO(dmaretskyi): Do not return HALO party here.
|
|
163
163
|
async join(invitationDescriptor, secretProvider) {
|
|
164
164
|
var _a;
|
|
165
|
-
(0,
|
|
165
|
+
(0, node_assert_1.default)(!((_a = this.identity) === null || _a === void 0 ? void 0 : _a.halo), 'HALO already exists.');
|
|
166
166
|
return this._identityManager.joinHalo(invitationDescriptor, secretProvider);
|
|
167
167
|
}
|
|
168
168
|
/**
|
|
@@ -170,7 +170,7 @@ class HALO {
|
|
|
170
170
|
*/
|
|
171
171
|
async createInvitation(authenticationDetails, options) {
|
|
172
172
|
var _a;
|
|
173
|
-
(0,
|
|
173
|
+
(0, node_assert_1.default)((_a = this.identity) === null || _a === void 0 ? void 0 : _a.halo, 'HALO not initialized.');
|
|
174
174
|
return this.identity.halo.createInvitation(authenticationDetails, options);
|
|
175
175
|
}
|
|
176
176
|
/**
|
|
@@ -179,7 +179,7 @@ class HALO {
|
|
|
179
179
|
// TODO(burdon): Expose ContactManager directly.
|
|
180
180
|
queryContacts() {
|
|
181
181
|
var _a;
|
|
182
|
-
(0,
|
|
182
|
+
(0, node_assert_1.default)((_a = this.identity) === null || _a === void 0 ? void 0 : _a.contacts, 'HALO not initialized.');
|
|
183
183
|
return this.identity.contacts.queryContacts();
|
|
184
184
|
}
|
|
185
185
|
/**
|
|
@@ -199,7 +199,7 @@ class HALO {
|
|
|
199
199
|
await this._createIdentityKeypair(keyPair);
|
|
200
200
|
await this._createHaloParty(username);
|
|
201
201
|
const profile = this.getProfile();
|
|
202
|
-
(0,
|
|
202
|
+
(0, node_assert_1.default)(profile);
|
|
203
203
|
return profile;
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"halo.js","sourceRoot":"","sources":["../../../src/halo/halo.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"halo.js","sourceRoot":"","sources":["../../../src/halo/halo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../src/halo/identity-manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAkC,MAAM,aAAa,CAAC;AACpE,OAAO,EAAU,SAAS,EAAE,OAAO,EAAW,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC;;GAEG;AACH,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,SAAS,CAAuB;IAExC,SAAgB,KAAK,cAAe;gBAGjB,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,aAAa;IAGhD,IAAI,QAAQ,IAAK,QAAQ,GAAG,SAAS,CAEpC;YAEa,WAAW;IAmBnB,KAAK;IAOX,cAAc,IAAK,SAAS,GAAG,SAAS;IAKlC,eAAe;
|
|
1
|
+
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../../src/halo/identity-manager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAkC,MAAM,aAAa,CAAC;AACpE,OAAO,EAAU,SAAS,EAAE,OAAO,EAAW,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC;;GAEG;AACH,qBAAa,eAAe;IAMxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,SAAS,CAAuB;IAExC,SAAgB,KAAK,cAAe;gBAGjB,QAAQ,EAAE,OAAO,EACjB,YAAY,EAAE,WAAW,EACzB,cAAc,EAAE,aAAa;IAGhD,IAAI,QAAQ,IAAK,QAAQ,GAAG,SAAS,CAEpC;YAEa,WAAW;IAmBnB,KAAK;IAOX,cAAc,IAAK,SAAS,GAAG,SAAS;IAKlC,eAAe;IAoBrB;;OAEG;IAEG,UAAU,CAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC;IAYvE;;;;;;OAMG;IAEG,WAAW,CAAE,UAAU,EAAE,MAAM;IAQrC;;OAEG;IAEG,QAAQ,CAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc;CAO5F"}
|
|
@@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.IdentityManager = void 0;
|
|
16
|
-
const assert_1 = __importDefault(require("assert"));
|
|
17
16
|
const debug_1 = __importDefault(require("debug"));
|
|
17
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
18
18
|
const async_1 = require("@dxos/async");
|
|
19
19
|
const credentials_1 = require("@dxos/credentials");
|
|
20
20
|
const debug_2 = require("@dxos/debug");
|
|
@@ -35,7 +35,7 @@ class IdentityManager {
|
|
|
35
35
|
}
|
|
36
36
|
async _initialize(halo) {
|
|
37
37
|
var _a;
|
|
38
|
-
(0,
|
|
38
|
+
(0, node_assert_1.default)(halo.isOpen, 'HALO must be open.');
|
|
39
39
|
// Wait for the minimum set of keys and messages we need for proper function:
|
|
40
40
|
//
|
|
41
41
|
// - KeyAdmit message for the current device so we can build the device KeyChain.
|
|
@@ -59,9 +59,12 @@ class IdentityManager {
|
|
|
59
59
|
async loadFromStorage() {
|
|
60
60
|
const identityKey = this.getIdentityKey();
|
|
61
61
|
if (identityKey) {
|
|
62
|
-
|
|
62
|
+
const metadata = this._metadataStore.getParty(identityKey.publicKey);
|
|
63
|
+
if (metadata) {
|
|
63
64
|
// TODO(marik-d): Snapshots for halo party?
|
|
64
|
-
const halo = await this._haloFactory.constructParty(
|
|
65
|
+
const halo = await this._haloFactory.constructParty();
|
|
66
|
+
(0, node_assert_1.default)(metadata.genesisFeedKey);
|
|
67
|
+
halo._setGenesisFeedKey(metadata.genesisFeedKey);
|
|
65
68
|
// Always open the HALO.
|
|
66
69
|
await halo.open();
|
|
67
70
|
await this._initialize(halo);
|
|
@@ -75,8 +78,11 @@ class IdentityManager {
|
|
|
75
78
|
* Creates the Identity HALO.
|
|
76
79
|
*/
|
|
77
80
|
async createHalo(options = {}) {
|
|
78
|
-
|
|
81
|
+
var _a;
|
|
82
|
+
(0, node_assert_1.default)(!this._identity, 'Identity already initialized.');
|
|
79
83
|
const halo = await this._haloFactory.createHalo(options);
|
|
84
|
+
const identityKey = (_a = this.getIdentityKey()) !== null && _a !== void 0 ? _a : (0, debug_2.failUndefined)();
|
|
85
|
+
await this._metadataStore.setGenesisFeed(identityKey.publicKey, await halo.getWriteFeedKey());
|
|
80
86
|
await this._initialize(halo);
|
|
81
87
|
return halo;
|
|
82
88
|
}
|
|
@@ -88,7 +94,7 @@ class IdentityManager {
|
|
|
88
94
|
* The downside is that would wreck the symmetry to createParty/joinParty.
|
|
89
95
|
*/
|
|
90
96
|
async recoverHalo(seedPhrase) {
|
|
91
|
-
(0,
|
|
97
|
+
(0, node_assert_1.default)(!this._identity, 'Identity already initialized.');
|
|
92
98
|
const halo = await this._haloFactory.recoverHalo(seedPhrase);
|
|
93
99
|
await this._initialize(halo);
|
|
94
100
|
return halo;
|
|
@@ -97,7 +103,7 @@ class IdentityManager {
|
|
|
97
103
|
* Joins an existing Identity HALO.
|
|
98
104
|
*/
|
|
99
105
|
async joinHalo(invitationDescriptor, secretProvider) {
|
|
100
|
-
(0,
|
|
106
|
+
(0, node_assert_1.default)(!this._identity, 'Identity already initialized.');
|
|
101
107
|
const halo = await this._haloFactory.joinHalo(invitationDescriptor, secretProvider);
|
|
102
108
|
await this._initialize(halo);
|
|
103
109
|
return halo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../../src/halo/identity-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../../src/halo/identity-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAEjC,uCAAoE;AACpE,mDAAwF;AACxF,uCAA4C;AAM5C,yCAAsC;AAEtC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,+BAA+B,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAa,eAAe;IAK1B,YACmB,QAAiB,EACjB,YAAyB,EACzB,cAA6B;QAF7B,aAAQ,GAAR,QAAQ,CAAS;QACjB,iBAAY,GAAZ,YAAY,CAAa;QACzB,mBAAc,GAAd,cAAc,CAAe;QALhC,UAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAMjC,CAAC;IAEJ,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAE,IAAe;;QACxC,IAAA,qBAAM,EAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAE1C,6EAA6E;QAC7E,EAAE;QACF,iFAAiF;QACjF,oEAAoE;QACpE,EAAE;QACF,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAI,IAAA,qBAAa,GAAE,CAAC;QAC5G,MAAM,IAAA,wBAAgB,EAAC,GAAG,EAAE,CAC1B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,KAAK,EAAE,CAAA,CAAC;IAC/B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC;IAGD,KAAK,CAAC,eAAe;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,WAAW,EAAE;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrE,IAAI,QAAQ,EAAE;gBACZ,2CAA2C;gBAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBAEtD,IAAA,qBAAM,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAEjD,wBAAwB;gBACxB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC9B;iBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;aACjE;SACF;IACH,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,UAAU,CAAE,UAA+B,EAAE;;QACjD,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,cAAc,EAAE,mCAAI,IAAA,qBAAa,GAAE,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9F,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEA;;;;;;OAMG;IAEH,KAAK,CAAC,WAAW,CAAE,UAAkB;QACnC,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ,CAAE,oBAA0C,EAAE,cAA8B;QACxF,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACpF,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACH;AA/DC;IADC,oBAAY;sDAmBZ;AAMD;IADE,oBAAY;iDAWb;AAUA;IADC,oBAAY;kDAOZ;AAMD;IADC,oBAAY;+CAOZ;AA5GJ,0CA6GC"}
|
|
@@ -7,8 +7,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.Identity = void 0;
|
|
10
|
-
const assert_1 = __importDefault(require("assert"));
|
|
11
10
|
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
12
12
|
const credentials_1 = require("@dxos/credentials");
|
|
13
13
|
const debug_2 = require("@dxos/debug");
|
|
14
14
|
const credentials_signer_1 = require("../protocol/credentials-signer");
|
|
@@ -29,7 +29,7 @@ class Identity {
|
|
|
29
29
|
this._identityKey = (_a = this._keyring.findKey(credentials_1.Filter.matches({ type: credentials_1.KeyType.IDENTITY, own: true, trusted: true }))) !== null && _a !== void 0 ? _a : (0, debug_2.failUndefined)();
|
|
30
30
|
this._deviceKey = (_b = this._keyring.findKey(credentials_1.Keyring.signingFilter({ type: credentials_1.KeyType.DEVICE }))) !== null && _b !== void 0 ? _b : (0, debug_2.failUndefined)();
|
|
31
31
|
this._deviceKeyChain = getDeviceKeyChainFromHalo(this._halo, this.deviceKey);
|
|
32
|
-
(0,
|
|
32
|
+
(0, node_assert_1.default)(this._halo.identityGenesis);
|
|
33
33
|
}
|
|
34
34
|
get signer() {
|
|
35
35
|
return this._keyring;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/halo/identity.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/halo/identity.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAEjC,mDAAyG;AACzG,uCAA4C;AAE5C,uEAAmE;AAMnE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,uBAAuB,CAAC,CAAC;AAE3C;;;;GAIG;AACH,MAAa,QAAQ;IAKnB;;OAEG;IACH,YACmB,QAAiB,EACjB,KAAgB;;QADhB,aAAQ,GAAR,QAAQ,CAAS;QACjB,UAAK,GAAL,KAAK,CAAW;QAEjC,IAAI,CAAC,YAAY,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,mCAAI,IAAA,qBAAa,GAAE,CAAC;QACnI,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAI,IAAA,qBAAa,GAAE,CAAC;QAC5G,IAAI,CAAC,eAAe,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAA,qBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW;;QACb,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,IAAI,eAAe;;QACjB,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,eAAe,mCAAI,IAAA,qBAAa,GAAE,CAAC;IACvD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,sCAAiB,CAC1B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;CACF;AA7ED,4BA6EC;AAID,MAAM,yBAAyB,GAAG,CAAC,IAAe,EAAE,SAAoB,EAAE,EAAE;IAC1E,IAAI;QACF,OAAO,qBAAO,CAAC,aAAa,CAC1B,SAAS,CAAC,SAAS,EACnB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,QAAQ,CACd,CAAC;KACH;IAAC,OAAO,GAAQ,EAAE;QACjB,GAAG,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-opener.d.ts","sourceRoot":"","sources":["../../../src/halo/party-opener.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"party-opener.d.ts","sourceRoot":"","sources":["../../../src/halo/party-opener.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqB,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;GAEG;AACH,eAAO,MAAM,eAAe,gBAAiB,WAAW,gBAAgB,YAAY,KAAG,WAgCtF,CAAC"}
|
|
@@ -8,7 +8,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.autoPartyOpener = void 0;
|
|
10
10
|
const debug_1 = __importDefault(require("debug"));
|
|
11
|
-
const credentials_1 = require("@dxos/credentials");
|
|
12
11
|
const util_1 = require("@dxos/util");
|
|
13
12
|
const log = (0, debug_1.default)('dxos:echo-db:party-opener');
|
|
14
13
|
/**
|
|
@@ -22,9 +21,8 @@ const autoPartyOpener = (preferences, partyManager) => {
|
|
|
22
21
|
}
|
|
23
22
|
for (const partyDesc of values) {
|
|
24
23
|
if (!partyManager.parties.some(x => x.key === partyDesc.partyKey)) {
|
|
25
|
-
log(`Auto-opening new Party from HALO: ${partyDesc.partyKey.toHex()}
|
|
26
|
-
|
|
27
|
-
await partyManager.addParty(partyDesc.partyKey, feedHints);
|
|
24
|
+
log(`Auto-opening new Party from HALO: ${partyDesc.partyKey.toHex()}`);
|
|
25
|
+
await partyManager.addParty(partyDesc.partyKey, partyDesc.genesisFeed);
|
|
28
26
|
}
|
|
29
27
|
}
|
|
30
28
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-opener.js","sourceRoot":"","sources":["../../../src/halo/party-opener.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"party-opener.js","sourceRoot":"","sources":["../../../src/halo/party-opener.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,qCAA4D;AAK5D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,2BAA2B,CAAC,CAAC;AAE/C;;GAEG;AACI,MAAM,eAAe,GAAG,CAAC,WAAwB,EAAE,YAA0B,EAAe,EAAE;IACnG,MAAM,IAAI,GAAG,IAAI,wBAAiB,EAAE,CAAC;IAErC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC9D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,OAAO;SACR;QAED,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,QAAQ,CAAC,EAAE;gBACjE,GAAG,CAAC,qCAAqC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;aACxE;SACF;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;QACtD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,EAAE;YACxC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE;gBACjC,GAAG,CAAC,mCAAmC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAE5D,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;aACrB;iBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,YAAY,EAAE;gBACxC,GAAG,CAAC,iCAAiC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAE1D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;aACpB;SACF;IACH,CAAC,CAAC,CAAC,CAAC;IAEJ,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC,CAAC;AAhCW,QAAA,eAAe,mBAgC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/halo/preferences.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/halo/preferences.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EACwF,WAAW,EACzG,MAAM,cAAc,CAAC;AAEtB;;GAEG;AAEH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,YAAY,EAAE,MAAM,QAAQ,GAAG,SAAS,EACxC,UAAU,EAAE,SAAS;IAGxC,IAAI,MAAM,QAKT;IAGD,aAAa,CAAE,QAAQ,EAAE,SAAS;IAKlC,sBAAsB,CAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI;IAkC5D,oBAAoB;IASpB,oBAAoB;IASb,wBAAwB,CAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAMpD,wBAAwB,CAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAMzE,wBAAwB,CAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAMpD,wBAAwB,CAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAOzE,mBAAmB,CAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAOvE,mBAAmB,CAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAQ7F,kBAAkB,CAAE,WAAW,EAAE,WAAW;IAsBlD,0BAA0B,CAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;CAsBpF"}
|
|
@@ -7,9 +7,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.Preferences = void 0;
|
|
10
|
-
const assert_1 = __importDefault(require("assert"));
|
|
11
10
|
const json_stable_stringify_1 = __importDefault(require("json-stable-stringify"));
|
|
12
11
|
const lodash_defaultsdeep_1 = __importDefault(require("lodash.defaultsdeep"));
|
|
12
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
13
13
|
const async_1 = require("@dxos/async");
|
|
14
14
|
const debug_1 = require("@dxos/debug");
|
|
15
15
|
const object_model_1 = require("@dxos/object-model");
|
|
@@ -83,22 +83,22 @@ class Preferences {
|
|
|
83
83
|
}
|
|
84
84
|
getGlobalPartyPreference(partyKey, key) {
|
|
85
85
|
const item = this.getGlobalPreferences();
|
|
86
|
-
(0,
|
|
86
|
+
(0, node_assert_1.default)(item, 'Global preference item required.');
|
|
87
87
|
return this._getPartyPreference(item, partyKey, key);
|
|
88
88
|
}
|
|
89
89
|
async setGlobalPartyPreference(party, key, value) {
|
|
90
90
|
const item = this.getGlobalPreferences();
|
|
91
|
-
(0,
|
|
91
|
+
(0, node_assert_1.default)(item, 'Global preference item required.');
|
|
92
92
|
return this._setPartyPreference(item, party, key, value);
|
|
93
93
|
}
|
|
94
94
|
getDevicePartyPreference(partyKey, key) {
|
|
95
95
|
const item = this.getDevicePreferences();
|
|
96
|
-
(0,
|
|
96
|
+
(0, node_assert_1.default)(item, 'Device preference item required.');
|
|
97
97
|
return this._getPartyPreference(item, partyKey, key);
|
|
98
98
|
}
|
|
99
99
|
async setDevicePartyPreference(party, key, value) {
|
|
100
100
|
const item = this.getDevicePreferences();
|
|
101
|
-
(0,
|
|
101
|
+
(0, node_assert_1.default)(item, 'Device preference item required.');
|
|
102
102
|
return this._setPartyPreference(item, party, key, value);
|
|
103
103
|
}
|
|
104
104
|
// TODO(burdon): DO NOT USE THE PARTY KEY AS A TOP-LEVEL KEY!
|
|
@@ -124,14 +124,14 @@ class Preferences {
|
|
|
124
124
|
.select({ type: halo_party_1.HALO_PARTY_DESCRIPTOR_TYPE })
|
|
125
125
|
.filter(partyMarker => joinedParty.partyKey.equals(partyMarker.model.get('publicKey')))
|
|
126
126
|
.exec().entities;
|
|
127
|
-
(0,
|
|
127
|
+
(0, node_assert_1.default)(!partyDesc, `Descriptor already exists for Party: ${joinedParty.partyKey.toHex()}`);
|
|
128
128
|
await database.createItem({
|
|
129
129
|
model: object_model_1.ObjectModel,
|
|
130
130
|
type: halo_party_1.HALO_PARTY_DESCRIPTOR_TYPE,
|
|
131
131
|
props: {
|
|
132
132
|
publicKey: joinedParty.partyKey.asBuffer(),
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
genesisFeed: joinedParty.genesisFeed.toHex(),
|
|
134
|
+
subscribed: true
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
137
|
}
|
|
@@ -140,10 +140,7 @@ class Preferences {
|
|
|
140
140
|
const database = (_a = this._getDatabase()) !== null && _a !== void 0 ? _a : (0, debug_1.raise)(new errors_1.IdentityNotInitializedError());
|
|
141
141
|
const converter = (partyDesc) => ({
|
|
142
142
|
partyKey: protocols_1.PublicKey.from(partyDesc.model.get('publicKey')),
|
|
143
|
-
|
|
144
|
-
...hint,
|
|
145
|
-
publicKey: protocols_1.PublicKey.from(hint.publicKey)
|
|
146
|
-
}))
|
|
143
|
+
genesisFeed: protocols_1.PublicKey.from(partyDesc.model.get('genesisFeed'))
|
|
147
144
|
});
|
|
148
145
|
const result = database.select({ type: halo_party_1.HALO_PARTY_DESCRIPTOR_TYPE }).exec();
|
|
149
146
|
// Wrap the query event so we can have manual control.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/halo/preferences.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../../src/halo/preferences.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kFAAoD;AACpD,8EAA+C;AAC/C,8DAAiC;AAEjC,uCAAoC;AACpC,uCAAoC;AACpC,qDAAiD;AACjD,+CAA4C;AAE5C,gCAAmC;AAEnC,+CAAiE;AAEjE,6CAEsB;AAEtB;;GAEG;AACH,kGAAkG;AAClG,MAAa,WAAW;IACtB,YACmB,YAAwC,EACxC,UAAqB;QADrB,iBAAY,GAAZ,YAAY,CAA4B;QACxC,eAAU,GAAV,UAAU,CAAW;IACrC,CAAC;IAEJ,IAAI,MAAM;;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,OAAO,IAAA,6BAAY,EAAC,EAAE,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,QAAQ,EAAE,mCAAI,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,6DAA6D;IAC7D,aAAa,CAAE,QAAmB;;QAChC,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,mCAAI,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED,sBAAsB,CAAE,QAAoC;;QAC1D,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,YAAY,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QAEjF,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,wCAA2B,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpF,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,+CAAkC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3F,MAAM,KAAK,GAAG,IAAI,aAAK,EAAO,CAAC;QAE/B,IAAI,MAAM,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,MAAM,GAAG,KAAK,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,IAAA,+BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,MAAM,GAAG,KAAK,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEnB,OAAO,GAAG,EAAE;YACV,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,wCAA2B,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;QAC5F,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oBAAoB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,+CAAkC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;QAClG,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAEM,wBAAwB,CAAE,QAAmB,EAAE,GAAW;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,IAAA,qBAAM,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAE,KAAgB,EAAE,GAAW,EAAE,KAAU;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,IAAA,qBAAM,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAEM,wBAAwB,CAAE,QAAmB,EAAE,GAAW;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,IAAA,qBAAM,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAE,KAAgB,EAAE,GAAW,EAAE,KAAU;QAC9E,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,IAAA,qBAAM,EAAC,IAAI,EAAE,kCAAkC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,6DAA6D;IACtD,mBAAmB,CAAE,WAAsB,EAAE,QAAmB,EAAE,GAAW;QAClF,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,6DAA6D;IACtD,KAAK,CAAC,mBAAmB,CAAE,WAAsB,EAAE,KAAgB,EAAE,GAAW,EAAE,KAAU;QACjG,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,MAAM,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,2DAA2D;IAClF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAE,WAAwB;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ;aACzB,MAAM,CAAC,EAAE,IAAI,EAAE,uCAA0B,EAAE,CAAC;aAC5C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;aACtF,IAAI,EAAE,CAAC,QAAQ,CAAC;QACnB,IAAA,qBAAM,EAAC,CAAC,SAAS,EAAE,wCAAwC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE3F,MAAM,QAAQ,CAAC,UAAU,CAAC;YACxB,KAAK,EAAE,0BAAW;YAClB,IAAI,EAAE,uCAA0B;YAChC,KAAK,EAAE;gBACL,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC1C,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE;gBAC5C,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAE,QAA0C;;QACpE,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,YAAY,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QAEjF,MAAM,SAAS,GAAG,CAAC,SAAoB,EAAe,EAAE,CAAC,CAAC;YACxD,QAAQ,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1D,WAAW,EAAE,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SAChE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,uCAA0B,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5E,sDAAsD;QACtD,MAAM,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAErC,MAAM,SAAS,GAAG,IAAI,eAAS,CAAc,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;SACd;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AA3JD,kCA2JC"}
|
|
@@ -4,6 +4,10 @@ import { PublicKey } from '@dxos/protocols';
|
|
|
4
4
|
import { CredentialsSigner } from '../protocol/credentials-signer';
|
|
5
5
|
import { GreetingState } from './greeting-responder';
|
|
6
6
|
import { InvitationDescriptor } from './invitation-descriptor';
|
|
7
|
+
export interface InvitationResult {
|
|
8
|
+
partyKey: PublicKey;
|
|
9
|
+
genesisFeedKey: PublicKey;
|
|
10
|
+
}
|
|
7
11
|
/**
|
|
8
12
|
* Attempts to connect to a greeting responder to 'redeem' an invitation, potentially with some out-of-band
|
|
9
13
|
* authentication check, in order to be admitted to a Party.
|
|
@@ -30,10 +34,7 @@ export declare class GreetingInitiator {
|
|
|
30
34
|
/**
|
|
31
35
|
* Called after connecting to initiate greeting protocol exchange.
|
|
32
36
|
*/
|
|
33
|
-
redeemInvitation(secretProvider: SecretProvider): Promise<
|
|
34
|
-
partyKey: PublicKey;
|
|
35
|
-
hints: PublicKey[];
|
|
36
|
-
}>;
|
|
37
|
+
redeemInvitation(secretProvider: SecretProvider): Promise<InvitationResult>;
|
|
37
38
|
disconnect(): Promise<void>;
|
|
38
39
|
destroy(): Promise<void>;
|
|
39
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greeting-initiator.d.ts","sourceRoot":"","sources":["../../../src/invitations/greeting-initiator.ts"],"names":[],"mappings":"AAQA,OAAO,EAWL,OAAO,EACP,cAAc,EAEd,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,yBAAyB,CAAC;AAMzF;;;GAGG;AACH,qBAAa,iBAAiB;IAa1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAdzC,OAAO,CAAC,cAAc,CAAC,CAAwB;IAG/C,OAAO,CAAC,MAAM,CAA4C;IAE1D;;;;;OAKG;gBAEgB,eAAe,EAAE,cAAc,EAC/B,qBAAqB,EAAE,oBAAoB,EAC3C,sBAAsB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAKzG,IAAI,KAAK,kBAER;IAED;;;OAGG;IACG,OAAO,CAAE,OAAO,SAAkB;IA0CxC;;OAEG;IACG,gBAAgB,CAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"greeting-initiator.d.ts","sourceRoot":"","sources":["../../../src/invitations/greeting-initiator.ts"],"names":[],"mappings":"AAQA,OAAO,EAWL,OAAO,EACP,cAAc,EAEd,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,yBAAyB,CAAC;AAMzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAA;CAC1B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAa1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAdzC,OAAO,CAAC,cAAc,CAAC,CAAwB;IAG/C,OAAO,CAAC,MAAM,CAA4C;IAE1D;;;;;OAKG;gBAEgB,eAAe,EAAE,cAAc,EAC/B,qBAAqB,EAAE,oBAAoB,EAC3C,sBAAsB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAKzG,IAAI,KAAK,kBAER;IAED;;;OAGG;IACG,OAAO,CAAE,OAAO,SAAkB;IA0CxC;;OAEG;IACG,gBAAgB,CAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiE5E,UAAU;IAMV,OAAO;CAMd;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,sBACvB,iBAAiB,SAC7B,UAAU,KAChB,OAMF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,sBACxB,iBAAiB,YAC1B,SAAS,mBACF,aAAa,SACvB,UAAU,KAChB,OAMF,CAAC"}
|
|
@@ -7,8 +7,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.createDataPartyAdmissionMessages = exports.createHaloPartyAdmissionMessage = exports.GreetingInitiator = void 0;
|
|
10
|
-
const assert_1 = __importDefault(require("assert"));
|
|
11
10
|
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
12
12
|
const async_1 = require("@dxos/async");
|
|
13
13
|
const credentials_1 = require("@dxos/credentials");
|
|
14
14
|
const network_manager_1 = require("@dxos/network-manager");
|
|
@@ -35,7 +35,7 @@ class GreetingInitiator {
|
|
|
35
35
|
this._getMessagesToNotarize = _getMessagesToNotarize;
|
|
36
36
|
// TODO(dboreham): Can we use the same states as the responder?
|
|
37
37
|
this._state = greeting_responder_1.GreetingState.INITIALIZED;
|
|
38
|
-
(0,
|
|
38
|
+
(0, node_assert_1.default)(invitation_descriptor_1.InvitationDescriptorType.INTERACTIVE === this._invitationDescriptor.type);
|
|
39
39
|
}
|
|
40
40
|
get state() {
|
|
41
41
|
return this._state;
|
|
@@ -45,7 +45,7 @@ class GreetingInitiator {
|
|
|
45
45
|
* @param {number} timeout Connection timeout (ms).
|
|
46
46
|
*/
|
|
47
47
|
async connect(timeout = DEFAULT_TIMEOUT) {
|
|
48
|
-
(0,
|
|
48
|
+
(0, node_assert_1.default)(this._state === greeting_responder_1.GreetingState.INITIALIZED);
|
|
49
49
|
// TODO(telackey): Clarify what the following comment means.
|
|
50
50
|
// TODO(telackey): We don't have the descriptor yet, but it must include at least this.
|
|
51
51
|
const { swarmKey, invitation } = this._invitationDescriptor;
|
|
@@ -80,15 +80,14 @@ class GreetingInitiator {
|
|
|
80
80
|
* Called after connecting to initiate greeting protocol exchange.
|
|
81
81
|
*/
|
|
82
82
|
async redeemInvitation(secretProvider) {
|
|
83
|
-
|
|
84
|
-
(0, assert_1.default)(this._state === greeting_responder_1.GreetingState.CONNECTED);
|
|
83
|
+
(0, node_assert_1.default)(this._state === greeting_responder_1.GreetingState.CONNECTED);
|
|
85
84
|
const { swarmKey } = this._invitationDescriptor;
|
|
86
85
|
const responderPeerId = Buffer.from(swarmKey);
|
|
87
86
|
/* The first step in redeeming the Invitation is the BEGIN command.
|
|
88
87
|
* On the Greeter end, this is when it takes action (eg, generating a passcode)
|
|
89
88
|
* starting the redemption of the Invitation.
|
|
90
89
|
*/
|
|
91
|
-
(0,
|
|
90
|
+
(0, node_assert_1.default)(this._greeterPlugin); // Needed because typechecker complains that `_greeterPlugin` can possibly be undefined.
|
|
92
91
|
const { info } = await this._greeterPlugin.send(responderPeerId, (0, credentials_1.createGreetingBeginMessage)());
|
|
93
92
|
/* The next step is the HANDSHAKE command, which allow us to exchange additional
|
|
94
93
|
* details with the Greeter. This step requires authentication, so we must obtain
|
|
@@ -123,9 +122,10 @@ class GreetingInitiator {
|
|
|
123
122
|
}
|
|
124
123
|
await this.disconnect();
|
|
125
124
|
this._state = greeting_responder_1.GreetingState.SUCCEEDED;
|
|
125
|
+
(0, node_assert_1.default)(notarizeResponse.genesisFeed);
|
|
126
126
|
return {
|
|
127
127
|
partyKey,
|
|
128
|
-
|
|
128
|
+
genesisFeedKey: notarizeResponse.genesisFeed
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
async disconnect() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greeting-initiator.js","sourceRoot":"","sources":["../../../src/invitations/greeting-initiator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"greeting-initiator.js","sourceRoot":"","sources":["../../../src/invitations/greeting-initiator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Event } from '@dxos/async';
|
|
3
|
-
import {
|
|
3
|
+
import { SecretProvider, SecretValidator, Message as HaloMessage } from '@dxos/credentials';
|
|
4
4
|
import { FeedWriter } from '@dxos/echo-protocol';
|
|
5
5
|
import { NetworkManager } from '@dxos/network-manager';
|
|
6
|
+
import { PublicKey } from '@dxos/protocols';
|
|
6
7
|
import { PartyStateProvider } from '../pipeline';
|
|
7
8
|
import { CredentialsSigner } from '../protocol/credentials-signer';
|
|
8
9
|
import { InvitationOptions } from './common';
|
|
@@ -25,6 +26,7 @@ export declare enum GreetingState {
|
|
|
25
26
|
export declare class GreetingResponder {
|
|
26
27
|
private readonly _networkManager;
|
|
27
28
|
private readonly _partyProcessor;
|
|
29
|
+
private readonly _genesisFeedKey;
|
|
28
30
|
private readonly _credentialsSigner;
|
|
29
31
|
private readonly _credentialsWriter;
|
|
30
32
|
private readonly _greeterPlugin;
|
|
@@ -35,7 +37,7 @@ export declare class GreetingResponder {
|
|
|
35
37
|
* Param: Invitation id
|
|
36
38
|
*/
|
|
37
39
|
readonly connected: Event<any>;
|
|
38
|
-
constructor(_networkManager: NetworkManager, _partyProcessor: PartyStateProvider, _credentialsSigner: CredentialsSigner, _credentialsWriter: FeedWriter<HaloMessage>);
|
|
40
|
+
constructor(_networkManager: NetworkManager, _partyProcessor: PartyStateProvider, _genesisFeedKey: PublicKey, _credentialsSigner: CredentialsSigner, _credentialsWriter: FeedWriter<HaloMessage>);
|
|
39
41
|
/**
|
|
40
42
|
* Accessor for UI to display status to the user.
|
|
41
43
|
* Return the current state for this Greeting Responder (waiting, peer connected, successful auth, auth failed, etc.)
|
|
@@ -69,10 +71,5 @@ export declare class GreetingResponder {
|
|
|
69
71
|
* @private
|
|
70
72
|
*/
|
|
71
73
|
_writeCredentialsToParty(messages: any[]): Promise<HaloMessage[]>;
|
|
72
|
-
/**
|
|
73
|
-
* Callback to gather member key and feed "hints" for the Invitee.
|
|
74
|
-
* @private
|
|
75
|
-
*/
|
|
76
|
-
_gatherHints(): KeyHint[];
|
|
77
74
|
}
|
|
78
75
|
//# sourceMappingURL=greeting-responder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"greeting-responder.d.ts","sourceRoot":"","sources":["../../../src/invitations/greeting-responder.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAoB,MAAM,aAAa,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"greeting-responder.d.ts","sourceRoot":"","sources":["../../../src/invitations/greeting-responder.ts"],"names":[],"mappings":";AAOA,OAAO,EAAE,KAAK,EAAoB,MAAM,aAAa,CAAC;AACtD,OAAO,EAKL,cAAc,EACd,eAAe,EACf,OAAO,IAAI,WAAW,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,UAAU,EAAY,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAA0B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAK7C;;GAEG;AACH,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAa1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAhBrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,CAAC,MAAM,CAA4C;IAE1D;;OAEG;IACH,QAAQ,CAAC,SAAS,aAAoB;gBAGnB,eAAe,EAAE,cAAc,EAC/B,eAAe,EAAE,kBAAkB,EACnC,eAAe,EAAE,SAAS,EAC1B,kBAAkB,EAAE,iBAAiB,EACrC,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC;IAW9D;;;;OAIG;IACH,IAAI,KAAK,kBAER;IAED;;;;;;OAMG;IAEG,MAAM,CACV,eAAe,EAAE,eAAe,EAChC,cAAc,CAAC,EAAE,cAAc,EAC/B,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACxC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IA+ClB;;OAEG;IACG,KAAK;IAqBX;;OAEG;IACG,IAAI;IAUV;;OAEG;IACG,OAAO;IAOb;;;;;OAKG;IACG,wBAAwB,CAAE,QAAQ,EAAE,GAAG,EAAE;CA6ChD"}
|
|
@@ -7,8 +7,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.GreetingResponder = exports.GreetingState = void 0;
|
|
10
|
-
const assert_1 = __importDefault(require("assert"));
|
|
11
10
|
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
12
12
|
const async_1 = require("@dxos/async");
|
|
13
13
|
const credentials_1 = require("@dxos/credentials");
|
|
14
14
|
const crypto_1 = require("@dxos/crypto");
|
|
@@ -34,9 +34,10 @@ var GreetingState;
|
|
|
34
34
|
* Upon successful greeting, the peer is admitted into the Party specified in the invitation descriptor.
|
|
35
35
|
*/
|
|
36
36
|
class GreetingResponder {
|
|
37
|
-
constructor(_networkManager, _partyProcessor, _credentialsSigner, _credentialsWriter) {
|
|
37
|
+
constructor(_networkManager, _partyProcessor, _genesisFeedKey, _credentialsSigner, _credentialsWriter) {
|
|
38
38
|
this._networkManager = _networkManager;
|
|
39
39
|
this._partyProcessor = _partyProcessor;
|
|
40
|
+
this._genesisFeedKey = _genesisFeedKey;
|
|
40
41
|
this._credentialsSigner = _credentialsSigner;
|
|
41
42
|
this._credentialsWriter = _credentialsWriter;
|
|
42
43
|
this._swarmKey = (0, crypto_1.randomBytes)();
|
|
@@ -45,7 +46,7 @@ class GreetingResponder {
|
|
|
45
46
|
* Param: Invitation id
|
|
46
47
|
*/
|
|
47
48
|
this.connected = new async_1.Event();
|
|
48
|
-
this._greeter = new credentials_1.Greeter(this._partyProcessor.partyKey,
|
|
49
|
+
this._greeter = new credentials_1.Greeter(this._partyProcessor.partyKey, this._genesisFeedKey, async (messages) => this._writeCredentialsToParty(messages));
|
|
49
50
|
this._greeterPlugin = new credentials_1.GreetingCommandPlugin(Buffer.from(this._swarmKey), this._greeter.createMessageHandler());
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
@@ -65,8 +66,8 @@ class GreetingResponder {
|
|
|
65
66
|
*/
|
|
66
67
|
// TODO(burdon): Rename listenForXXX?
|
|
67
68
|
async invite(secretValidator, secretProvider, onFinish, expiration) {
|
|
68
|
-
(0,
|
|
69
|
-
(0,
|
|
69
|
+
(0, node_assert_1.default)(secretValidator);
|
|
70
|
+
(0, node_assert_1.default)(this._state === GreetingState.LISTENING);
|
|
70
71
|
let timeout;
|
|
71
72
|
const cleanup = async (expired) => {
|
|
72
73
|
if (timeout) {
|
|
@@ -104,7 +105,7 @@ class GreetingResponder {
|
|
|
104
105
|
*/
|
|
105
106
|
async start() {
|
|
106
107
|
log('Starting...');
|
|
107
|
-
(0,
|
|
108
|
+
(0, node_assert_1.default)(this._state === GreetingState.INITIALIZED);
|
|
108
109
|
// As the Greeter, use the topic as our peerId.
|
|
109
110
|
// (For reasons why see detailed comment on greetClient).
|
|
110
111
|
await this._networkManager.joinProtocolSwarm({
|
|
@@ -146,7 +147,7 @@ class GreetingResponder {
|
|
|
146
147
|
* @private
|
|
147
148
|
*/
|
|
148
149
|
async _writeCredentialsToParty(messages) {
|
|
149
|
-
(0,
|
|
150
|
+
(0, node_assert_1.default)(this._state === GreetingState.CONNECTED);
|
|
150
151
|
/* These messages will be self-signed by keys not yet admitted to the Party,, so we cannot check
|
|
151
152
|
* for a trusted key, only that the signatures are valid.
|
|
152
153
|
*/
|
|
@@ -159,6 +160,7 @@ class GreetingResponder {
|
|
|
159
160
|
// Place the self-signed messages inside an Envelope, sign then write the signed Envelope to the Party.
|
|
160
161
|
const envelopes = [];
|
|
161
162
|
for (const message of messages) {
|
|
163
|
+
// TODO(dmaretskyi): Refactor to pass in a callback: `await admitKeys(messages)`.
|
|
162
164
|
const admittedKeys = (0, credentials_1.admitsKeys)(message);
|
|
163
165
|
// TODO(telackey): Add hasKey/isMember to PartyProcessor?
|
|
164
166
|
const hasKey = (key) => {
|
|
@@ -176,22 +178,6 @@ class GreetingResponder {
|
|
|
176
178
|
// Return the signed messages to the caller because copies are sent back to the invitee.
|
|
177
179
|
return envelopes;
|
|
178
180
|
}
|
|
179
|
-
/**
|
|
180
|
-
* Callback to gather member key and feed "hints" for the Invitee.
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
_gatherHints() {
|
|
184
|
-
(0, assert_1.default)(this._state === GreetingState.SUCCEEDED);
|
|
185
|
-
const memberKeys = this._partyProcessor.memberKeys.map((publicKey) => ({
|
|
186
|
-
publicKey,
|
|
187
|
-
type: credentials_1.KeyType.UNKNOWN
|
|
188
|
-
}));
|
|
189
|
-
const memberFeeds = this._partyProcessor.feedKeys.map((publicKey) => ({
|
|
190
|
-
publicKey,
|
|
191
|
-
type: credentials_1.KeyType.FEED
|
|
192
|
-
}));
|
|
193
|
-
return [...memberKeys, ...memberFeeds];
|
|
194
|
-
}
|
|
195
181
|
}
|
|
196
182
|
exports.GreetingResponder = GreetingResponder;
|
|
197
183
|
//# sourceMappingURL=greeting-responder.js.map
|