@dxos/echo-db 2.33.8 → 2.33.9-dev.65528f0b
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
|
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.DataParty = exports.PARTY_TITLE_PROPERTY = exports.PARTY_ITEM_TYPE = void 0;
|
|
16
|
-
const
|
|
16
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
17
17
|
const async_1 = require("@dxos/async");
|
|
18
18
|
const debug_1 = require("@dxos/debug");
|
|
19
19
|
const api_1 = require("../api");
|
|
@@ -41,7 +41,6 @@ class DataParty {
|
|
|
41
41
|
this._networkManager = _networkManager;
|
|
42
42
|
this._initialTimeframe = _initialTimeframe;
|
|
43
43
|
this.update = new async_1.Event();
|
|
44
|
-
this._feedHints = [];
|
|
45
44
|
this._partyCore = new pipeline_1.PartyPipeline(partyKey, _feedProvider, modelFactory, snapshotStore, this._credentialsSigner.getIdentityKey().publicKey, _options);
|
|
46
45
|
// TODO(dmaretskyi): Pull this out to a higher level. Should preferences be part of client API instead?
|
|
47
46
|
if (this._profilePreferences) {
|
|
@@ -86,7 +85,7 @@ class DataParty {
|
|
|
86
85
|
}
|
|
87
86
|
// TODO(burdon): Remove?
|
|
88
87
|
get invitationManager() {
|
|
89
|
-
(0,
|
|
88
|
+
(0, node_assert_1.default)(this._invitationManager, 'Party not open.');
|
|
90
89
|
return this._invitationManager;
|
|
91
90
|
}
|
|
92
91
|
get credentialsWriter() {
|
|
@@ -102,11 +101,15 @@ class DataParty {
|
|
|
102
101
|
await item.model.set(exports.PARTY_TITLE_PROPERTY, title);
|
|
103
102
|
await ((_a = this._preferences) === null || _a === void 0 ? void 0 : _a.setLastKnownTitle(title));
|
|
104
103
|
}
|
|
104
|
+
get genesisFeedKey() {
|
|
105
|
+
(0, node_assert_1.default)(this._genesisFeedKey);
|
|
106
|
+
return this._genesisFeedKey;
|
|
107
|
+
}
|
|
105
108
|
/**
|
|
106
109
|
* @internal
|
|
107
110
|
*/
|
|
108
|
-
|
|
109
|
-
this.
|
|
111
|
+
_setGenesisFeedKey(genesisFeedKey) {
|
|
112
|
+
this._genesisFeedKey = genesisFeedKey;
|
|
110
113
|
}
|
|
111
114
|
/**
|
|
112
115
|
* Opens the pipeline and connects the streams.
|
|
@@ -117,8 +120,9 @@ class DataParty {
|
|
|
117
120
|
}
|
|
118
121
|
// TODO(dmaretskyi): May be undefined in some tests.
|
|
119
122
|
const party = this._metadataStore.getParty(this._partyCore.key);
|
|
123
|
+
(0, node_assert_1.default)(this._genesisFeedKey);
|
|
120
124
|
await this._partyCore.open({
|
|
121
|
-
|
|
125
|
+
genesisFeedKey: this._genesisFeedKey,
|
|
122
126
|
initialTimeframe: this._initialTimeframe,
|
|
123
127
|
targetTimeframe: party === null || party === void 0 ? void 0 : party.latestTimeframe
|
|
124
128
|
});
|
|
@@ -127,7 +131,7 @@ class DataParty {
|
|
|
127
131
|
this._partyCore.timeframeUpdate.on(timeframe => {
|
|
128
132
|
void this._metadataStore.setTimeframe(this._partyCore.key, timeframe);
|
|
129
133
|
});
|
|
130
|
-
this._invitationManager = new invitations_1.InvitationFactory(this._partyCore.processor, this._credentialsSigner, this._partyCore.credentialsWriter, this._networkManager);
|
|
134
|
+
this._invitationManager = new invitations_1.InvitationFactory(this._partyCore.processor, this._genesisFeedKey, this._credentialsSigner, this._partyCore.credentialsWriter, this._networkManager);
|
|
131
135
|
//
|
|
132
136
|
// Network/swarm.
|
|
133
137
|
// Replication, invitations, and authentication functions.
|
|
@@ -169,11 +173,11 @@ class DataParty {
|
|
|
169
173
|
return this._feedProvider.getFeeds();
|
|
170
174
|
}
|
|
171
175
|
get isActive() {
|
|
172
|
-
(0,
|
|
176
|
+
(0, node_assert_1.default)(this._preferences, 'PartyActivator required');
|
|
173
177
|
return this._preferences.isActive;
|
|
174
178
|
}
|
|
175
179
|
async activate(options) {
|
|
176
|
-
(0,
|
|
180
|
+
(0, node_assert_1.default)(this._preferences, 'PartyActivator required');
|
|
177
181
|
await this._preferences.activate(options);
|
|
178
182
|
if (!this.isOpen) {
|
|
179
183
|
await this.open();
|
|
@@ -183,7 +187,7 @@ class DataParty {
|
|
|
183
187
|
}
|
|
184
188
|
}
|
|
185
189
|
async deactivate(options) {
|
|
186
|
-
(0,
|
|
190
|
+
(0, node_assert_1.default)(this._preferences, 'PartyActivator required');
|
|
187
191
|
await this._preferences.deactivate(options);
|
|
188
192
|
if (this.isOpen) {
|
|
189
193
|
await this.close();
|
|
@@ -196,17 +200,17 @@ class DataParty {
|
|
|
196
200
|
* Returns a special Item that is used by the Party to manage its properties.
|
|
197
201
|
*/
|
|
198
202
|
async getPropertiesItem() {
|
|
199
|
-
(0,
|
|
203
|
+
(0, node_assert_1.default)(this.isOpen, 'Party not open.');
|
|
200
204
|
await this.database.waitForItem({ type: exports.PARTY_ITEM_TYPE });
|
|
201
205
|
const items = this.database.select({ type: exports.PARTY_ITEM_TYPE }).exec().entities;
|
|
202
|
-
(0,
|
|
206
|
+
(0, node_assert_1.default)(items.length === 1, 'Party properties missing.');
|
|
203
207
|
return items[0];
|
|
204
208
|
}
|
|
205
209
|
/**
|
|
206
210
|
* Get the SelectionResult for the Properties Item query.
|
|
207
211
|
*/
|
|
208
212
|
getPropertiesSet() {
|
|
209
|
-
(0,
|
|
213
|
+
(0, node_assert_1.default)(this.isOpen, 'Party not open.');
|
|
210
214
|
return this.database.select({ type: exports.PARTY_ITEM_TYPE }).exec();
|
|
211
215
|
}
|
|
212
216
|
/**
|
|
@@ -222,7 +226,7 @@ class DataParty {
|
|
|
222
226
|
* Get all party members.
|
|
223
227
|
*/
|
|
224
228
|
queryMembers() {
|
|
225
|
-
(0,
|
|
229
|
+
(0, node_assert_1.default)(this.isOpen, 'Party is not open.');
|
|
226
230
|
return new api_1.ResultSet(this.processor.keyOrInfoAdded.debounce(party_manager_1.CONTACT_DEBOUNCE_INTERVAL).discardParameter(), () => {
|
|
227
231
|
if (!this.isOpen) {
|
|
228
232
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-party.js","sourceRoot":"","sources":["../../../src/parties/data-party.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"data-party.js","sourceRoot":"","sources":["../../../src/parties/data-party.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ const identity_credentials_1 = require("../protocol/identity-credentials");
|
|
|
22
22
|
const snapshots_1 = require("../snapshots");
|
|
23
23
|
const data_party_1 = require("./data-party");
|
|
24
24
|
describe('DataParty', () => {
|
|
25
|
-
const createParty = async (identity, partyKey,
|
|
25
|
+
const createParty = async (identity, partyKey, genesisFeedKey) => {
|
|
26
26
|
const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
|
|
27
27
|
const snapshotStore = new snapshots_1.SnapshotStore(storage.directory('snapshots'));
|
|
28
28
|
const metadataStore = new pipeline_1.MetadataStore(storage.directory('metadata'));
|
|
@@ -32,14 +32,14 @@ describe('DataParty', () => {
|
|
|
32
32
|
const partyFeedProvider = new pipeline_1.PartyFeedProvider(metadataStore, identity.keyring, feedStore, partyKey);
|
|
33
33
|
const writableFeed = await partyFeedProvider.createOrOpenWritableFeed();
|
|
34
34
|
const party = new data_party_1.DataParty(partyKey, modelFactory, snapshotStore, partyFeedProvider, metadataStore, identity.createCredentialsSigner(), identity.preferences, networkManager);
|
|
35
|
-
party.
|
|
35
|
+
party._setGenesisFeedKey(genesisFeedKey !== null && genesisFeedKey !== void 0 ? genesisFeedKey : writableFeed.key);
|
|
36
36
|
return party;
|
|
37
37
|
};
|
|
38
38
|
(0, mocha_1.it)('open & close', async () => {
|
|
39
39
|
const keyring = new credentials_1.Keyring();
|
|
40
40
|
const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
41
41
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
42
|
-
const party = await createParty(identity, partyKey.publicKey
|
|
42
|
+
const party = await createParty(identity, partyKey.publicKey);
|
|
43
43
|
await party.open();
|
|
44
44
|
await party.close();
|
|
45
45
|
});
|
|
@@ -47,7 +47,7 @@ describe('DataParty', () => {
|
|
|
47
47
|
const keyring = new credentials_1.Keyring();
|
|
48
48
|
const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
49
49
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
50
|
-
const party = await createParty(identity, partyKey.publicKey
|
|
50
|
+
const party = await createParty(identity, partyKey.publicKey);
|
|
51
51
|
await party.open();
|
|
52
52
|
const feed = await party.getWriteFeed();
|
|
53
53
|
await party.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feed.key, partyKey));
|
|
@@ -58,7 +58,7 @@ describe('DataParty', () => {
|
|
|
58
58
|
const keyring = new credentials_1.Keyring();
|
|
59
59
|
const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
60
60
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
61
|
-
const party = await createParty(identity, partyKey.publicKey
|
|
61
|
+
const party = await createParty(identity, partyKey.publicKey);
|
|
62
62
|
await party.open();
|
|
63
63
|
const feed = await party.getWriteFeed();
|
|
64
64
|
await party.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feed.key, partyKey));
|
|
@@ -74,7 +74,7 @@ describe('DataParty', () => {
|
|
|
74
74
|
const keyring = new credentials_1.Keyring();
|
|
75
75
|
const identity = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
76
76
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
77
|
-
const party = await createParty(identity, partyKey.publicKey
|
|
77
|
+
const party = await createParty(identity, partyKey.publicKey);
|
|
78
78
|
await party.open();
|
|
79
79
|
const feed = await party.getWriteFeed();
|
|
80
80
|
await party.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feed.key, partyKey));
|
|
@@ -89,7 +89,7 @@ describe('DataParty', () => {
|
|
|
89
89
|
const keyring = new credentials_1.Keyring();
|
|
90
90
|
const identityA = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
91
91
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
92
|
-
const party = await createParty(identityA, partyKey.publicKey
|
|
92
|
+
const party = await createParty(identityA, partyKey.publicKey);
|
|
93
93
|
await party.open();
|
|
94
94
|
const feed = await party.getWriteFeed();
|
|
95
95
|
await party.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feed.key, partyKey));
|
|
@@ -105,13 +105,13 @@ describe('DataParty', () => {
|
|
|
105
105
|
const keyring = new credentials_1.Keyring();
|
|
106
106
|
const identityA = await (0, identity_credentials_1.createTestIdentityCredentials)(keyring);
|
|
107
107
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
108
|
-
const partyA = await createParty(identityA, partyKey.publicKey
|
|
108
|
+
const partyA = await createParty(identityA, partyKey.publicKey);
|
|
109
109
|
await partyA.open();
|
|
110
110
|
const feedA = await partyA.getWriteFeed();
|
|
111
111
|
await partyA.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedA.key, partyKey));
|
|
112
112
|
await partyA.credentialsWriter.write((0, credentials_1.createKeyAdmitMessage)(keyring, partyKey.publicKey, identityA.identityKey, [partyKey]));
|
|
113
113
|
const identityB = await (0, identity_credentials_1.deriveTestDeviceCredentials)(identityA);
|
|
114
|
-
const partyB = await createParty(identityB, partyKey.publicKey,
|
|
114
|
+
const partyB = await createParty(identityB, partyKey.publicKey, feedA.key);
|
|
115
115
|
await partyB.open();
|
|
116
116
|
await partyA.database.createItem({ type: 'test:item-a' });
|
|
117
117
|
await partyB.database.waitForItem({ type: 'test:item-a' });
|
|
@@ -123,7 +123,7 @@ describe('DataParty', () => {
|
|
|
123
123
|
(0, mocha_1.it)('invitations', async () => {
|
|
124
124
|
const identityA = await (0, identity_credentials_1.createTestIdentityCredentials)(new credentials_1.Keyring());
|
|
125
125
|
const partyKeyA = await identityA.keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
126
|
-
const partyA = await createParty(identityA, partyKeyA.publicKey
|
|
126
|
+
const partyA = await createParty(identityA, partyKeyA.publicKey);
|
|
127
127
|
await partyA.open();
|
|
128
128
|
const feedA = await partyA.getWriteFeed();
|
|
129
129
|
await partyA.credentialsWriter.write((0, credentials_1.createPartyGenesisMessage)(identityA.keyring, partyKeyA, feedA.key, partyKeyA));
|
|
@@ -132,9 +132,9 @@ describe('DataParty', () => {
|
|
|
132
132
|
const identityB = await (0, identity_credentials_1.createTestIdentityCredentials)(new credentials_1.Keyring());
|
|
133
133
|
const initiator = new invitations_1.GreetingInitiator(new network_manager_1.NetworkManager(), invitation, async (partyKey, nonce) => [(0, invitations_1.createDataPartyAdmissionMessages)(identityB.createCredentialsSigner(), partyKey, identityB.identityGenesis, nonce)]);
|
|
134
134
|
await initiator.connect();
|
|
135
|
-
const { partyKey: partyKeyB,
|
|
135
|
+
const { partyKey: partyKeyB, genesisFeedKey } = await initiator.redeemInvitation(credentials_1.defaultSecretProvider);
|
|
136
136
|
(0, expect_1.default)(partyKeyB.equals(partyKeyA.publicKey));
|
|
137
|
-
const partyB = await createParty(identityB, partyKeyB,
|
|
137
|
+
const partyB = await createParty(identityB, partyKeyB, genesisFeedKey);
|
|
138
138
|
await partyB.open();
|
|
139
139
|
await initiator.destroy();
|
|
140
140
|
await partyA.database.createItem({ type: 'test:item-a' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-party.test.js","sourceRoot":"","sources":["../../../src/parties/data-party.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,mDAAkJ;AAClJ,uDAA4C;AAC5C,iDAA6C;AAC7C,uDAAmD;AACnD,2DAAuD;AACvD,qDAAiD;AAEjD,mFAA+E;AAE/E,gDAAqH;AACrH,0CAA+D;AAC/D,0CAA6E;AAC7E,2EAAmI;AACnI,4CAA6C;AAC7C,6CAAyC;AAEzC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,WAAW,GAAG,KAAK,EAAE,QAA6B,EAAE,QAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"data-party.test.js","sourceRoot":"","sources":["../../../src/parties/data-party.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { SecretProvider } from '@dxos/credentials';
|
|
2
|
-
import { PartyKey, PartySnapshot
|
|
2
|
+
import { PartyKey, PartySnapshot } from '@dxos/echo-protocol';
|
|
3
3
|
import { ModelFactory } from '@dxos/model-factory';
|
|
4
4
|
import { NetworkManager } from '@dxos/network-manager';
|
|
5
|
-
import { PublicKey } from '@dxos/protocols';
|
|
5
|
+
import { PublicKey, Timeframe } from '@dxos/protocols';
|
|
6
6
|
import { InvitationDescriptor } from '../invitations';
|
|
7
7
|
import { MetadataStore, PartyFeedProvider, PipelineOptions } from '../pipeline';
|
|
8
8
|
import { IdentityCredentialsProvider } from '../protocol/identity-credentials';
|
|
@@ -26,8 +26,6 @@ export declare class PartyFactory {
|
|
|
26
26
|
createParty(): Promise<DataParty>;
|
|
27
27
|
/**
|
|
28
28
|
* Constructs a party object from an existing set of feeds.
|
|
29
|
-
* @param partyKey
|
|
30
|
-
* @param hints
|
|
31
29
|
*/
|
|
32
30
|
constructParty(partyKey: PartyKey, initialTimeframe?: Timeframe): Promise<DataParty>;
|
|
33
31
|
constructPartyFromSnapshot(snapshot: PartySnapshot): Promise<DataParty>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-factory.d.ts","sourceRoot":"","sources":["../../../src/parties/party-factory.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAiC,QAAQ,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"party-factory.d.ts","sourceRoot":"","sources":["../../../src/parties/party-factory.ts"],"names":[],"mappings":"AAOA,OAAO,EAKL,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAiC,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,EAEc,oBAAoB,EACxC,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAmB,MAAM,cAAc,CAAC;AAI1D;;GAEG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBANR,iBAAiB,EAAE,2BAA2B,EAC9C,eAAe,EAAE,cAAc,EAC/B,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,oBAAoB,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,iBAAiB,EAChE,cAAc,EAAE,aAAa,EAC7B,QAAQ,GAAE,eAAoB;IAGjD;;OAEG;IAEG,WAAW,IAAK,OAAO,CAAC,SAAS,CAAC;IA4DxC;;OAEG;IACG,cAAc,CAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,SAAS;IAsBhE,0BAA0B,CAAE,QAAQ,EAAE,aAAa;IASnD,SAAS,CAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAmD1G,UAAU,CAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;CA2F/D"}
|
|
@@ -13,8 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.PartyFactory = 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 credentials_1 = require("@dxos/credentials");
|
|
19
19
|
const debug_2 = require("@dxos/debug");
|
|
20
20
|
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
@@ -44,12 +44,13 @@ class PartyFactory {
|
|
|
44
44
|
async createParty() {
|
|
45
45
|
var _a;
|
|
46
46
|
const identity = (_a = this._identityProvider()) !== null && _a !== void 0 ? _a : (0, debug_2.raise)(new errors_1.IdentityNotInitializedError());
|
|
47
|
-
(0,
|
|
47
|
+
(0, node_assert_1.default)(!this._options.readOnly, 'PartyFactory is read-only.');
|
|
48
48
|
const partyKey = await identity.keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
49
49
|
const party = await this.constructParty(partyKey.publicKey);
|
|
50
50
|
const writableFeed = await party.getWriteFeed();
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
party._setGenesisFeedKey(writableFeed.key);
|
|
52
|
+
await this._metadataStore.addParty(partyKey.publicKey);
|
|
53
|
+
await this._metadataStore.setGenesisFeed(partyKey.publicKey, writableFeed.key);
|
|
53
54
|
// Connect the pipeline.
|
|
54
55
|
await party.open();
|
|
55
56
|
// PartyGenesis (self-signed by Party).
|
|
@@ -71,8 +72,6 @@ class PartyFactory {
|
|
|
71
72
|
}
|
|
72
73
|
/**
|
|
73
74
|
* Constructs a party object from an existing set of feeds.
|
|
74
|
-
* @param partyKey
|
|
75
|
-
* @param hints
|
|
76
75
|
*/
|
|
77
76
|
async constructParty(partyKey, initialTimeframe) {
|
|
78
77
|
var _a;
|
|
@@ -84,7 +83,7 @@ class PartyFactory {
|
|
|
84
83
|
return party;
|
|
85
84
|
}
|
|
86
85
|
async constructPartyFromSnapshot(snapshot) {
|
|
87
|
-
(0,
|
|
86
|
+
(0, node_assert_1.default)(snapshot.partyKey);
|
|
88
87
|
log(`Constructing ${(0, util_1.humanize)(snapshot.partyKey)} from snapshot at ${JSON.stringify(snapshot.timeframe)}.`);
|
|
89
88
|
const party = await this.constructParty(protocols_1.PublicKey.from(snapshot.partyKey), snapshot.timeframe);
|
|
90
89
|
await party.restoreFromSnapshot(snapshot);
|
|
@@ -105,9 +104,11 @@ class PartyFactory {
|
|
|
105
104
|
// TODO(burdon): Factor out.
|
|
106
105
|
const initiator = new invitations_1.GreetingInitiator(this._networkManager, invitationDescriptor, async (partyKey, nonce) => [(0, invitations_1.createDataPartyAdmissionMessages)(identity.createCredentialsSigner(), partyKey, identity.identityGenesis, nonce)]);
|
|
107
106
|
await initiator.connect();
|
|
108
|
-
const { partyKey,
|
|
107
|
+
const { partyKey, genesisFeedKey } = await initiator.redeemInvitation(secretProvider);
|
|
109
108
|
const party = await this.constructParty(partyKey);
|
|
110
|
-
|
|
109
|
+
await this._metadataStore.addParty(partyKey);
|
|
110
|
+
await this._metadataStore.setGenesisFeed(partyKey, genesisFeedKey);
|
|
111
|
+
party._setGenesisFeedKey(genesisFeedKey);
|
|
111
112
|
await party.open();
|
|
112
113
|
await initiator.destroy();
|
|
113
114
|
// Copy our signed IdentityInfo into the new Party.
|
|
@@ -119,12 +120,14 @@ class PartyFactory {
|
|
|
119
120
|
async cloneParty(snapshot) {
|
|
120
121
|
var _a, _b, _c;
|
|
121
122
|
const identity = (_a = this._identityProvider()) !== null && _a !== void 0 ? _a : (0, debug_2.raise)(new errors_1.IdentityNotInitializedError());
|
|
122
|
-
(0,
|
|
123
|
+
(0, node_assert_1.default)(!this._options.readOnly, 'PartyFactory is read-only');
|
|
123
124
|
const partyKey = await identity.keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
124
125
|
const party = await this.constructParty(partyKey.publicKey);
|
|
125
126
|
const writableFeed = await party.getWriteFeed();
|
|
126
127
|
// Hint at the newly created writable feed so that we can start replicating from it.
|
|
127
|
-
party.
|
|
128
|
+
party._setGenesisFeedKey(writableFeed.key);
|
|
129
|
+
await this._metadataStore.addParty(partyKey.publicKey);
|
|
130
|
+
await this._metadataStore.setGenesisFeed(partyKey.publicKey, writableFeed.key);
|
|
128
131
|
// Connect the pipeline.
|
|
129
132
|
await party.open();
|
|
130
133
|
// PartyGenesis (self-signed by Party).
|
|
@@ -152,7 +155,7 @@ class PartyFactory {
|
|
|
152
155
|
const feedWriter = (0, echo_protocol_1.createFeedWriter)(writableFeed.feed);
|
|
153
156
|
for (const item of ((_b = snapshot.database) === null || _b === void 0 ? void 0 : _b.items) || []) {
|
|
154
157
|
const message = {
|
|
155
|
-
timeframe: new
|
|
158
|
+
timeframe: new protocols_1.Timeframe(),
|
|
156
159
|
echo: {
|
|
157
160
|
itemId: (_c = item.itemId) !== null && _c !== void 0 ? _c : (0, debug_2.failUndefined)(),
|
|
158
161
|
genesis: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-factory.js","sourceRoot":"","sources":["../../../src/parties/party-factory.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"party-factory.js","sourceRoot":"","sources":["../../../src/parties/party-factory.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAEjC,mDAO2B;AAC3B,uCAA0D;AAC1D,uDAA6F;AAG7F,qDAAiD;AACjD,+CAAuD;AACvD,qCAAsC;AAEtC,gDAGwB;AACxB,+CAAiE;AAIjE,6CAA0D;AAE1D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,4BAA4B,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAa,YAAY;IACvB,YACmB,iBAA8C,EAC9C,eAA+B,EAC/B,aAA2B,EAC3B,cAA6B,EAC7B,oBAAgE,EAChE,cAA6B,EAC7B,WAA4B,EAAE;QAN9B,sBAAiB,GAAjB,iBAAiB,CAA6B;QAC9C,oBAAe,GAAf,eAAe,CAAgB;QAC/B,kBAAa,GAAb,aAAa,CAAc;QAC3B,mBAAc,GAAd,cAAc,CAAe;QAC7B,yBAAoB,GAApB,oBAAoB,CAA4C;QAChE,mBAAc,GAAd,cAAc,CAAe;QAC7B,aAAQ,GAAR,QAAQ,CAAsB;IAC9C,CAAC;IAEJ;;OAEG;IAEH,KAAK,CAAC,WAAW;;QACf,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,iBAAiB,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QACtF,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;QAChD,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAE/E,wBAAwB;QACxB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,uCAAuC;QACvC,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,uCAAyB,EAC3D,QAAQ,CAAC,OAAO,EAChB,QAAQ,EACR,YAAY,CAAC,GAAG,EAChB,QAAQ,CAAC,CACV,CAAC;QAEF,6DAA6D;QAC7D,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,mCAAqB,EACvD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,IAAA,yBAAW,EAAC,QAAQ,CAAC,eAAe,CAAC,EACrC,CAAC,QAAQ,CAAC,CAAC,CACZ,CAAC;QAEF,6CAA6C;QAC7C,qGAAqG;QACrG,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,oCAAsB,EACxD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,YAAY,CAAC,GAAG,EAChB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC1B,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,mCAAqB,EACvD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,IAAA,yBAAW,EAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC1B,CAAC,CAAC;SACJ;QAED,kCAAkC;QAClC,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,0BAAW,EAAE,IAAI,EAAE,4BAAe,EAAE,CAAC,CAAC;QAE/E,sGAAsG;QACtG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAE,QAAkB,EAAE,gBAA4B;;QACpE,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,iBAAiB,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QAEtF,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,MAAM,KAAK,GAAG,IAAI,sBAAS,CACzB,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EACnC,IAAI,CAAC,cAAc,EACnB,QAAQ,CAAC,uBAAuB,EAAE,EAClC,QAAQ,CAAC,WAAW,EACpB,IAAI,CAAC,eAAe,EACpB,gBAAgB,EAChB,IAAI,CAAC,QAAQ,CACd,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAE,QAAuB;QACvD,IAAA,qBAAM,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,GAAG,CAAC,gBAAgB,IAAA,eAAQ,EAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAE3G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,oBAA0C,EAAE,cAA8B;;QACzF,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,iBAAiB,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QACtF,8EAA8E;QAC9E,IAAI,sCAAwB,CAAC,OAAO,KAAK,oBAAoB,CAAC,IAAI,EAAE;YAClE,MAAM,iBAAiB,GAAG,IAAI,sCAAwB,CAAC,IAAI,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;YACnG,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAClC,oBAAoB,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACvD,GAAG,CAAC,oBAAoB,qBAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,iCAAiC,EACzG,MAAM,qBAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;SACnC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAG,IAAI,+BAAiB,CACrC,IAAI,CAAC,eAAe,EACpB,oBAAoB,EACpB,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,8CAAgC,EAC1D,QAAQ,CAAC,uBAAuB,EAAE,EAClC,QAAQ,EACR,QAAQ,CAAC,eAAe,EACxB,KAAK,CACN,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACtF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEnE,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAEzC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAE1B,mDAAmD;QACnD,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,mCAAqB,EACvD,QAAQ,CAAC,OAAO,EAChB,QAAQ,EACR,IAAA,yBAAW,EAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC1B,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,QAAuB;;QACvC,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,iBAAiB,EAAE,mCAAI,IAAA,aAAK,EAAC,IAAI,oCAA2B,EAAE,CAAC,CAAC;QAEtF,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;QAChD,oFAAoF;QACpF,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAE/E,wBAAwB;QACxB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,uCAAuC;QACvC,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,uCAAyB,EAC3D,QAAQ,CAAC,OAAO,EAChB,QAAQ,EACR,YAAY,CAAC,GAAG,EAChB,QAAQ,CAAC,CACV,CAAC;QAEF,6DAA6D;QAC7D,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,mCAAqB,EACvD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,IAAA,yBAAW,EAAC,QAAQ,CAAC,eAAe,CAAC,EACrC,CAAC,QAAQ,CAAC,CACX,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,oCAAsB,EACxD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,YAAY,CAAC,GAAG,EAChB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC1B,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,QAAQ,CAAC,YAAY,EAAE;YACzB,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAA,mCAAqB,EACvD,QAAQ,CAAC,OAAO,EAChB,QAAQ,CAAC,SAAS,EAClB,IAAA,yBAAW,EAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC1B,CAAC,CAAC;SACJ;QAED,wDAAwD;QACxD,2BAA2B;QAC3B,6DAA6D;QAC7D,qBAAqB;QACrB,wBAAwB;QACxB,qBAAqB;QACrB,eAAe;QACf,MAAM;QAEN,kEAAkE;QAClE,kDAAkD;QAClD,IAAI;QAEJ,uCAAuC;QACvC,MAAM,UAAU,GAAG,IAAA,gCAAgB,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,KAAK,KAAI,EAAE,EAAE;YACjD,MAAM,OAAO,GAAgB;gBAC3B,SAAS,EAAE,IAAI,qBAAS,EAAE;gBAC1B,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAA,qBAAa,GAAE;oBACtC,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;qBAChC;oBACD,YAAY,EAAE;wBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB;oBACD,QAAQ,EAAE,IAAI,CAAC,KAAK;iBACrB;aACF,CAAC;YACF,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SACjC;QAED,sGAAsG;QACtG,MAAM,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5OC;IADC,IAAA,aAAK,EAAC,IAAK,CAAC;+CA2DZ;AAzEH,oCA2PC"}
|
|
@@ -40,7 +40,7 @@ export declare class PartyManager {
|
|
|
40
40
|
/**
|
|
41
41
|
* Construct a party object and start replicating with the remote peer that created that party.
|
|
42
42
|
*/
|
|
43
|
-
addParty(partyKey: PartyKey,
|
|
43
|
+
addParty(partyKey: PartyKey, genesisFeedKey: PublicKey): Promise<DataParty | undefined>;
|
|
44
44
|
joinParty(invitationDescriptor: InvitationDescriptor, secretProvider: SecretProvider): Promise<DataParty>;
|
|
45
45
|
cloneParty(snapshot: PartySnapshot): Promise<DataParty>;
|
|
46
46
|
private _setParty;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-manager.d.ts","sourceRoot":"","sources":["../../../src/parties/party-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"party-manager.d.ts","sourceRoot":"","sources":["../../../src/parties/party-manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAyC,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAI7C,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,qBAAa,YAAY;IAcrB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAfhC,QAAQ,CAAC,MAAM,mBAA0B;IAGzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4D;IAIrF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IAEvD,OAAO,CAAC,KAAK,CAAS;gBAGH,cAAc,EAAE,aAAa,EAC7B,cAAc,EAAE,aAAa,EAC7B,iBAAiB,EAAE,2BAA2B,EAC9C,aAAa,EAAE,YAAY;IAG9C,IAAI,MAAM,YAET;IAED,IAAI,OAAO,IAAK,SAAS,EAAE,CAE1B;IAKK,IAAI,CAAE,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI;IAyD3D,KAAK;IAuBX;;OAEG;IAEG,WAAW,IAAK,OAAO,CAAC,SAAS,CAAC;IAaxC;;OAEG;IAEG,QAAQ,CAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS;IA0BvD,SAAS,CAAE,oBAAoB,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc;IAsBrF,UAAU,CAAE,QAAQ,EAAE,aAAa;IAqBzC,OAAO,CAAC,SAAS;YAkCH,iBAAiB;YAejB,kBAAkB;YAyClB,mBAAmB;CAalC"}
|
|
@@ -13,11 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.PartyManager = exports.CONTACT_DEBOUNCE_INTERVAL = void 0;
|
|
16
|
-
const assert_1 = __importDefault(require("assert"));
|
|
17
16
|
const debug_1 = __importDefault(require("debug"));
|
|
18
17
|
const lodash_unionwith_1 = __importDefault(require("lodash.unionwith"));
|
|
18
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
19
19
|
const async_1 = require("@dxos/async");
|
|
20
|
-
const credentials_1 = require("@dxos/credentials");
|
|
21
20
|
const debug_2 = require("@dxos/debug");
|
|
22
21
|
const protocols_1 = require("@dxos/protocols");
|
|
23
22
|
const util_1 = require("@dxos/util");
|
|
@@ -52,7 +51,7 @@ class PartyManager {
|
|
|
52
51
|
}
|
|
53
52
|
// TODO(burdon): Replace callback with event.
|
|
54
53
|
async open(onProgressCallback) {
|
|
55
|
-
var _a, _b, _c
|
|
54
|
+
var _a, _b, _c;
|
|
56
55
|
if (this._open) {
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
@@ -75,11 +74,15 @@ class PartyManager {
|
|
|
75
74
|
if (!this._parties.has(partyKey)) {
|
|
76
75
|
const snapshot = await this._snapshotStore.load(partyKey);
|
|
77
76
|
const metadata = (_a = this._metadataStore.getParty(partyKey)) !== null && _a !== void 0 ? _a : (0, debug_2.failUndefined)();
|
|
77
|
+
if (!metadata.genesisFeedKey) {
|
|
78
|
+
log(`Skipping loading party with missing genesis feed key: ${partyKey}`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
78
81
|
const party = snapshot
|
|
79
82
|
? await this._partyFactory.constructPartyFromSnapshot(snapshot)
|
|
80
83
|
: await this._partyFactory.constructParty(partyKey);
|
|
81
|
-
party.
|
|
82
|
-
const isActive = (
|
|
84
|
+
party._setGenesisFeedKey(metadata.genesisFeedKey);
|
|
85
|
+
const isActive = (_c = (_b = identity === null || identity === void 0 ? void 0 : identity.preferences) === null || _b === void 0 ? void 0 : _b.isPartyActive(partyKey)) !== null && _c !== void 0 ? _c : true;
|
|
83
86
|
if (isActive) {
|
|
84
87
|
await party.open();
|
|
85
88
|
// TODO(marik-d): Might not be required if separately snapshot this item.
|
|
@@ -113,9 +116,9 @@ class PartyManager {
|
|
|
113
116
|
* Creates a new party, writing its genesis block to the stream.
|
|
114
117
|
*/
|
|
115
118
|
async createParty() {
|
|
116
|
-
(0,
|
|
119
|
+
(0, node_assert_1.default)(this._open, 'PartyManager is not open.');
|
|
117
120
|
const party = await this._partyFactory.createParty();
|
|
118
|
-
(0,
|
|
121
|
+
(0, node_assert_1.default)(!this._parties.has(party.key), 'Party already exists.');
|
|
119
122
|
this._setParty(party);
|
|
120
123
|
await this._recordPartyJoining(party);
|
|
121
124
|
await this._updateContactList(party);
|
|
@@ -125,8 +128,8 @@ class PartyManager {
|
|
|
125
128
|
/**
|
|
126
129
|
* Construct a party object and start replicating with the remote peer that created that party.
|
|
127
130
|
*/
|
|
128
|
-
async addParty(partyKey,
|
|
129
|
-
(0,
|
|
131
|
+
async addParty(partyKey, genesisFeedKey) {
|
|
132
|
+
(0, node_assert_1.default)(this._open, 'PartyManager is not open.');
|
|
130
133
|
/*
|
|
131
134
|
* The caller should have checked if the Party existed before calling addParty, but that check
|
|
132
135
|
* is not within a single critical section, and so things may have changed. So we must perform that
|
|
@@ -136,16 +139,17 @@ class PartyManager {
|
|
|
136
139
|
log(`Already had party partyKey=${partyKey.toHex()}`);
|
|
137
140
|
return this._parties.get(partyKey);
|
|
138
141
|
}
|
|
139
|
-
log(`Adding party partyKey=${partyKey.toHex()}
|
|
142
|
+
log(`Adding party partyKey=${partyKey.toHex()}`);
|
|
140
143
|
const party = await this._partyFactory.constructParty(partyKey);
|
|
141
|
-
party.
|
|
142
|
-
await party.open();
|
|
144
|
+
party._setGenesisFeedKey(genesisFeedKey);
|
|
143
145
|
await this._metadataStore.addParty(party.key);
|
|
146
|
+
await this._metadataStore.setGenesisFeed(party.key, genesisFeedKey);
|
|
147
|
+
await party.open();
|
|
144
148
|
this._setParty(party);
|
|
145
149
|
return party;
|
|
146
150
|
}
|
|
147
151
|
async joinParty(invitationDescriptor, secretProvider) {
|
|
148
|
-
(0,
|
|
152
|
+
(0, node_assert_1.default)(this._open, 'PartyManager is not open.');
|
|
149
153
|
// TODO(marik-d): Somehow check that we don't already have this party.
|
|
150
154
|
// TODO(telackey): We can check the PartyKey during the greeting flow.
|
|
151
155
|
const party = await this._partyFactory.joinParty(invitationDescriptor, secretProvider);
|
|
@@ -162,7 +166,7 @@ class PartyManager {
|
|
|
162
166
|
return party;
|
|
163
167
|
}
|
|
164
168
|
async cloneParty(snapshot) {
|
|
165
|
-
(0,
|
|
169
|
+
(0, node_assert_1.default)(this._open, 'PartyManager is not open.');
|
|
166
170
|
// TODO(marik-d): Somehow check that we don't already have this party.
|
|
167
171
|
// TODO(telackey): We can check the PartyKey during the greeting flow.
|
|
168
172
|
const party = await this._partyFactory.cloneParty(snapshot);
|
|
@@ -265,13 +269,9 @@ class PartyManager {
|
|
|
265
269
|
if (!(identity === null || identity === void 0 ? void 0 : identity.preferences)) {
|
|
266
270
|
return;
|
|
267
271
|
}
|
|
268
|
-
const keyHints = [
|
|
269
|
-
...party.processor.memberKeys.map(publicKey => ({ publicKey: publicKey, type: credentials_1.KeyType.UNKNOWN })),
|
|
270
|
-
...party.processor.feedKeys.map(publicKey => ({ publicKey: publicKey, type: credentials_1.KeyType.FEED }))
|
|
271
|
-
];
|
|
272
272
|
await identity.preferences.recordPartyJoining({
|
|
273
273
|
partyKey: party.key,
|
|
274
|
-
|
|
274
|
+
genesisFeed: party.genesisFeedKey
|
|
275
275
|
});
|
|
276
276
|
}
|
|
277
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-manager.js","sourceRoot":"","sources":["../../../src/parties/party-manager.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,
|
|
1
|
+
{"version":3,"file":"party-manager.js","sourceRoot":"","sources":["../../../src/parties/party-manager.ts"],"names":[],"mappings":"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"}
|