@dxos/echo-db 2.33.1 → 2.33.2-dev.18eaaced
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/echo.d.ts +8 -8
- package/dist/src/echo.d.ts.map +1 -1
- package/dist/src/echo.js +15 -16
- package/dist/src/echo.js.map +1 -1
- package/dist/src/echo.test.js +7 -13
- package/dist/src/echo.test.js.map +1 -1
- package/dist/src/halo/contact-manager.d.ts +4 -4
- package/dist/src/halo/contact-manager.d.ts.map +1 -1
- package/dist/src/halo/contact-manager.js +10 -4
- package/dist/src/halo/contact-manager.js.map +1 -1
- package/dist/src/halo/halo-factory.d.ts +14 -9
- package/dist/src/halo/halo-factory.d.ts.map +1 -1
- package/dist/src/halo/halo-factory.js +47 -14
- package/dist/src/halo/halo-factory.js.map +1 -1
- package/dist/src/halo/halo-party.d.ts +35 -7
- package/dist/src/halo/halo-party.d.ts.map +1 -1
- package/dist/src/halo/halo-party.js +97 -18
- package/dist/src/halo/halo-party.js.map +1 -1
- package/dist/src/halo/halo.d.ts +14 -12
- package/dist/src/halo/halo.d.ts.map +1 -1
- package/dist/src/halo/halo.js +31 -29
- package/dist/src/halo/halo.js.map +1 -1
- package/dist/src/halo/halo.test.d.ts +2 -0
- package/dist/src/halo/halo.test.d.ts.map +1 -0
- package/dist/src/halo/halo.test.js +162 -0
- package/dist/src/halo/halo.test.js.map +1 -0
- package/dist/src/halo/identity-manager.d.ts +10 -8
- package/dist/src/halo/identity-manager.d.ts.map +1 -1
- package/dist/src/halo/identity-manager.js +24 -20
- package/dist/src/halo/identity-manager.js.map +1 -1
- package/dist/src/halo/identity.d.ts +12 -6
- package/dist/src/halo/identity.d.ts.map +1 -1
- package/dist/src/halo/identity.js +11 -15
- package/dist/src/halo/identity.js.map +1 -1
- package/dist/src/halo/index.d.ts +1 -1
- package/dist/src/halo/index.d.ts.map +1 -1
- package/dist/src/halo/index.js +1 -1
- package/dist/src/halo/index.js.map +1 -1
- package/dist/src/halo/party-opener.js +1 -1
- package/dist/src/halo/party-opener.js.map +1 -1
- package/dist/src/halo/preferences.d.ts +9 -9
- package/dist/src/halo/preferences.d.ts.map +1 -1
- package/dist/src/halo/preferences.js +25 -15
- package/dist/src/halo/preferences.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/invitations/greeting-initiator.d.ts +14 -4
- package/dist/src/invitations/greeting-initiator.d.ts.map +1 -1
- package/dist/src/invitations/greeting-initiator.js +15 -16
- package/dist/src/invitations/greeting-initiator.js.map +1 -1
- package/dist/src/invitations/greeting-responder.d.ts +3 -3
- package/dist/src/invitations/greeting-responder.d.ts.map +1 -1
- package/dist/src/invitations/greeting-responder.js +3 -4
- package/dist/src/invitations/greeting-responder.js.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.d.ts +6 -4
- package/dist/src/invitations/halo-recovery-initiator.d.ts.map +1 -1
- package/dist/src/invitations/halo-recovery-initiator.js +15 -26
- package/dist/src/invitations/halo-recovery-initiator.js.map +1 -1
- package/dist/src/invitations/index.d.ts +1 -1
- package/dist/src/invitations/index.js +1 -1
- package/dist/src/invitations/{invitation-manager.d.ts → invitation-factory.d.ts} +5 -6
- package/dist/src/invitations/invitation-factory.d.ts.map +1 -0
- package/dist/src/invitations/{invitation-manager.js → invitation-factory.js} +9 -15
- package/dist/src/invitations/invitation-factory.js.map +1 -0
- package/dist/src/invitations/offline-invitation-claimer.d.ts +3 -3
- package/dist/src/invitations/offline-invitation-claimer.js +1 -1
- package/dist/src/parties/{party-internal.d.ts → data-party.d.ts} +13 -11
- package/dist/src/parties/data-party.d.ts.map +1 -0
- package/dist/src/parties/{party-internal.js → data-party.js} +27 -37
- package/dist/src/parties/data-party.js.map +1 -0
- package/dist/src/parties/index.d.ts +1 -2
- package/dist/src/parties/index.d.ts.map +1 -1
- package/dist/src/parties/index.js +1 -2
- package/dist/src/parties/index.js.map +1 -1
- package/dist/src/parties/party-factory.d.ts +10 -11
- package/dist/src/parties/party-factory.d.ts.map +1 -1
- package/dist/src/parties/party-factory.js +25 -16
- package/dist/src/parties/party-factory.js.map +1 -1
- package/dist/src/parties/party-manager.d.ts +9 -9
- package/dist/src/parties/party-manager.d.ts.map +1 -1
- package/dist/src/parties/party-manager.js +13 -13
- package/dist/src/parties/party-manager.js.map +1 -1
- package/dist/src/parties/party-manager.test.js +69 -68
- package/dist/src/parties/party-manager.test.js.map +1 -1
- package/dist/src/{halo → parties}/party-preferences.d.ts +3 -3
- package/dist/src/parties/party-preferences.d.ts.map +1 -0
- package/dist/src/{halo → parties}/party-preferences.js +3 -3
- package/dist/src/parties/party-preferences.js.map +1 -0
- package/dist/src/pipeline/index.d.ts +3 -1
- package/dist/src/pipeline/index.d.ts.map +1 -1
- package/dist/src/pipeline/index.js +3 -1
- package/dist/src/pipeline/index.js.map +1 -1
- package/dist/src/{metadata → pipeline}/metadata-store.d.ts +0 -0
- package/dist/src/{metadata → pipeline}/metadata-store.d.ts.map +1 -1
- package/dist/src/{metadata → pipeline}/metadata-store.js +0 -0
- package/dist/src/{metadata → pipeline}/metadata-store.js.map +1 -1
- package/dist/src/{metadata → pipeline}/metadata-store.test.d.ts +0 -0
- package/dist/src/pipeline/metadata-store.test.d.ts.map +1 -0
- package/dist/src/{metadata → pipeline}/metadata-store.test.js +0 -0
- package/dist/src/{metadata → pipeline}/metadata-store.test.js.map +1 -1
- package/dist/src/{parties → pipeline}/party-core.d.ts +0 -0
- package/dist/src/pipeline/party-core.d.ts.map +1 -0
- package/dist/src/{parties → pipeline}/party-core.js +8 -4
- package/dist/src/pipeline/party-core.js.map +1 -0
- package/dist/src/{parties → pipeline}/party-core.test.d.ts +0 -0
- package/dist/src/pipeline/party-core.test.d.ts.map +1 -0
- package/dist/src/{parties → pipeline}/party-core.test.js +3 -4
- package/dist/src/pipeline/party-core.test.js.map +1 -0
- package/dist/src/pipeline/party-feed-provider.d.ts +3 -2
- package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
- package/dist/src/pipeline/party-feed-provider.js +40 -19
- package/dist/src/pipeline/party-feed-provider.js.map +1 -1
- package/dist/src/protocol/auth-plugin.d.ts +7 -0
- package/dist/src/protocol/auth-plugin.d.ts.map +1 -0
- package/dist/src/protocol/auth-plugin.js +16 -0
- package/dist/src/protocol/auth-plugin.js.map +1 -0
- package/dist/src/protocol/authenticator.d.ts +14 -0
- package/dist/src/protocol/authenticator.d.ts.map +1 -0
- package/dist/src/protocol/authenticator.js +31 -0
- package/dist/src/protocol/authenticator.js.map +1 -0
- package/dist/src/protocol/authenticator.test.d.ts +2 -0
- package/dist/src/protocol/authenticator.test.d.ts.map +1 -0
- package/dist/src/protocol/authenticator.test.js +45 -0
- package/dist/src/protocol/authenticator.test.js.map +1 -0
- package/dist/src/protocol/credentials-signer.d.ts +31 -0
- package/dist/src/protocol/credentials-signer.d.ts.map +1 -0
- package/dist/src/protocol/credentials-signer.js +53 -0
- package/dist/src/protocol/credentials-signer.js.map +1 -0
- package/dist/src/protocol/halo-recovery-plugin.d.ts +10 -0
- package/dist/src/protocol/halo-recovery-plugin.d.ts.map +1 -0
- package/dist/src/protocol/halo-recovery-plugin.js +18 -0
- package/dist/src/protocol/halo-recovery-plugin.js.map +1 -0
- package/dist/src/protocol/index.d.ts +7 -0
- package/dist/src/protocol/index.d.ts.map +1 -0
- package/dist/src/{metadata → protocol}/index.js +7 -2
- package/dist/src/protocol/index.js.map +1 -0
- package/dist/src/protocol/offline-invitation-plugin.d.ts +9 -0
- package/dist/src/protocol/offline-invitation-plugin.d.ts.map +1 -0
- package/dist/src/protocol/offline-invitation-plugin.js +17 -0
- package/dist/src/protocol/offline-invitation-plugin.js.map +1 -0
- package/dist/src/{pipeline → protocol}/party-protocol-factory.d.ts +7 -17
- package/dist/src/protocol/party-protocol-factory.d.ts.map +1 -0
- package/dist/src/{pipeline → protocol}/party-protocol-factory.js +7 -47
- package/dist/src/protocol/party-protocol-factory.js.map +1 -0
- package/dist/src/snapshots/snapshot-generator.d.ts +1 -1
- package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
- package/dist/src/testing/testing-factories.js.map +1 -1
- package/dist/src/testing/testing.d.ts +2 -2
- package/dist/src/testing/testing.d.ts.map +1 -1
- package/dist/src/testing/testing.js +1 -7
- package/dist/src/testing/testing.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -17
- package/src/echo.test.ts +8 -14
- package/src/echo.ts +107 -109
- package/src/halo/contact-manager.ts +9 -5
- package/src/halo/halo-factory.ts +82 -19
- package/src/halo/halo-party.ts +137 -21
- package/src/halo/halo.test.ts +198 -0
- package/src/halo/halo.ts +40 -38
- package/src/halo/identity-manager.ts +33 -28
- package/src/halo/identity.ts +19 -23
- package/src/halo/index.ts +1 -1
- package/src/halo/party-opener.ts +1 -1
- package/src/halo/preferences.ts +29 -18
- package/src/index.ts +1 -1
- package/src/invitations/greeting-initiator.ts +37 -32
- package/src/invitations/greeting-responder.ts +4 -5
- package/src/invitations/halo-recovery-initiator.ts +16 -24
- package/src/invitations/index.ts +1 -1
- package/src/invitations/{invitation-manager.ts → invitation-factory.ts} +8 -15
- package/src/invitations/offline-invitation-claimer.ts +3 -3
- package/src/parties/{party-internal.ts → data-party.ts} +30 -55
- package/src/parties/index.ts +1 -2
- package/src/parties/party-factory.ts +31 -21
- package/src/parties/party-manager.test.ts +99 -73
- package/src/parties/party-manager.ts +17 -17
- package/src/{halo → parties}/party-preferences.ts +3 -3
- package/src/pipeline/index.ts +3 -1
- package/src/{metadata → pipeline}/metadata-store.test.ts +0 -0
- package/src/{metadata → pipeline}/metadata-store.ts +0 -0
- package/src/{parties → pipeline}/party-core.test.ts +1 -2
- package/src/{parties → pipeline}/party-core.ts +12 -7
- package/src/pipeline/party-feed-provider.ts +32 -21
- package/src/protocol/auth-plugin.ts +14 -0
- package/src/protocol/authenticator.test.ts +66 -0
- package/src/protocol/authenticator.ts +56 -0
- package/src/protocol/credentials-signer.ts +60 -0
- package/src/protocol/halo-recovery-plugin.ts +20 -0
- package/src/protocol/index.ts +10 -0
- package/src/protocol/offline-invitation-plugin.ts +19 -0
- package/src/{pipeline → protocol}/party-protocol-factory.ts +10 -82
- package/src/snapshots/snapshot-generator.ts +1 -1
- package/src/testing/testing-factories.ts +2 -2
- package/src/testing/testing.ts +3 -9
- package/dist/src/halo/party-preferences.d.ts.map +0 -1
- package/dist/src/halo/party-preferences.js.map +0 -1
- package/dist/src/invitations/invitation-manager.d.ts.map +0 -1
- package/dist/src/invitations/invitation-manager.js.map +0 -1
- package/dist/src/metadata/index.d.ts +0 -2
- package/dist/src/metadata/index.d.ts.map +0 -1
- package/dist/src/metadata/index.js.map +0 -1
- package/dist/src/metadata/metadata-store.test.d.ts.map +0 -1
- package/dist/src/parties/authenticator.d.ts +0 -5
- package/dist/src/parties/authenticator.d.ts.map +0 -1
- package/dist/src/parties/authenticator.js +0 -27
- package/dist/src/parties/authenticator.js.map +0 -1
- package/dist/src/parties/party-core.d.ts.map +0 -1
- package/dist/src/parties/party-core.js.map +0 -1
- package/dist/src/parties/party-core.test.d.ts.map +0 -1
- package/dist/src/parties/party-core.test.js.map +0 -1
- package/dist/src/parties/party-internal.d.ts.map +0 -1
- package/dist/src/parties/party-internal.js.map +0 -1
- package/dist/src/pipeline/party-protocol-factory.d.ts.map +0 -1
- package/dist/src/pipeline/party-protocol-factory.js.map +0 -1
- package/src/metadata/index.ts +0 -5
- package/src/parties/authenticator.ts +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata-store.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.test.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-store.test.js","sourceRoot":"","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"metadata-store.test.js","sourceRoot":"","sources":["../../../src/pipeline/metadata-store.test.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-core.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-core.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAsC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAyB,cAAc,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjG,OAAO,EAA4B,aAAa,EAAE,MAAM,cAAc,CAAC;AAIvE,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IAclB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAnB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA2B;IAE1D,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAC,CAAiB;gBAGtB,SAAS,EAAE,QAAQ,EACnB,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,YAAY,EAC3B,cAAc,EAAE,aAAa,EAC7B,UAAU,EAAE,SAAS,EACrB,iBAAiB,CAAC,uBAAW,EAC7B,QAAQ,GAAE,YAAiB;IAG9C,IAAI,GAAG,IAAK,QAAQ,CAEnB;IAED,IAAI,MAAM,IAAK,OAAO,CAErB;IAED,IAAI,QAAQ,IAAK,QAAQ,CAGxB;IAED,IAAI,SAAS,mBAGZ;IAED,IAAI,QAAQ,aAGX;IAED,IAAI,SAAS,cAGZ;IAED,IAAI,eAAe,2CAGlB;IAEK,YAAY;IAMlB;;OAEG;IAGG,IAAI,CAAE,QAAQ,GAAE,OAAO,EAAO;IA2EpC;;OAEG;IAEG,KAAK;IAmBX;;OAEG;IACH,cAAc,IAAK,aAAa;IAY1B,mBAAmB,CAAE,QAAQ,EAAE,aAAa;CAWnD"}
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.PartyCore = void 0;
|
|
16
16
|
const assert_1 = __importDefault(require("assert"));
|
|
17
17
|
const async_1 = require("@dxos/async");
|
|
18
|
+
const credentials_1 = require("@dxos/credentials");
|
|
18
19
|
const debug_1 = require("@dxos/debug");
|
|
19
20
|
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
20
21
|
const util_1 = require("@dxos/util");
|
|
@@ -82,6 +83,9 @@ class PartyCore {
|
|
|
82
83
|
return this;
|
|
83
84
|
}
|
|
84
85
|
this._timeframeClock = new database_1.TimeframeClock(this._initialTimeframe);
|
|
86
|
+
// Open all feeds known from metadata and open or create a writable feed to the party.
|
|
87
|
+
await this._feedProvider.openKnownFeeds();
|
|
88
|
+
const writableFeed = await this._feedProvider.createOrOpenWritableFeed();
|
|
85
89
|
if (!this._partyProcessor) {
|
|
86
90
|
this._partyProcessor = new pipeline_1.PartyProcessor(this._partyKey);
|
|
87
91
|
}
|
|
@@ -89,17 +93,17 @@ class PartyCore {
|
|
|
89
93
|
this._subscriptions.push(this._partyProcessor.feedAdded.on(feed => {
|
|
90
94
|
void this._feedProvider.createOrOpenReadOnlyFeed(feed);
|
|
91
95
|
}));
|
|
96
|
+
// Hint at our own writable feed.
|
|
97
|
+
// TODO(dmaretskyi): Does not seem like it should be required, but without it replication between devices (B -> A) breaks.
|
|
98
|
+
await this._partyProcessor.takeHints([{ type: credentials_1.KeyType.FEED, publicKey: writableFeed.key }]);
|
|
92
99
|
if (keyHints.length > 0) {
|
|
93
100
|
await this._partyProcessor.takeHints(keyHints);
|
|
94
101
|
}
|
|
95
102
|
//
|
|
96
103
|
// Pipeline
|
|
97
104
|
//
|
|
98
|
-
await this._feedProvider.openKnownFeeds();
|
|
99
105
|
const iterator = await this._feedProvider.createIterator((0, pipeline_1.createMessageSelector)(this._partyProcessor, this._timeframeClock), this._initialTimeframe);
|
|
100
|
-
|
|
101
|
-
const feedWriteStream = (0, echo_protocol_1.createFeedWriter)(feed);
|
|
102
|
-
this._pipeline = new pipeline_1.Pipeline(this._partyProcessor, iterator, this._timeframeClock, feedWriteStream, this._options);
|
|
106
|
+
this._pipeline = new pipeline_1.Pipeline(this._partyProcessor, iterator, this._timeframeClock, (0, echo_protocol_1.createFeedWriter)(writableFeed.feed), this._options);
|
|
103
107
|
// TODO(burdon): Support read-only parties.
|
|
104
108
|
const [readStream, writeStream] = await this._pipeline.open();
|
|
105
109
|
// Must happen after open.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-core.js","sourceRoot":"","sources":["../../../src/pipeline/party-core.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-core.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-core.test.ts"],"names":[],"mappings":""}
|
|
@@ -18,7 +18,6 @@ const model_factory_1 = require("@dxos/model-factory");
|
|
|
18
18
|
const object_model_1 = require("@dxos/object-model");
|
|
19
19
|
const random_access_multi_storage_1 = require("@dxos/random-access-multi-storage");
|
|
20
20
|
const testutils_1 = require("@dxos/testutils");
|
|
21
|
-
const metadata_1 = require("../metadata");
|
|
22
21
|
const pipeline_1 = require("../pipeline");
|
|
23
22
|
const snapshots_1 = require("../snapshots");
|
|
24
23
|
const util_1 = require("../util");
|
|
@@ -29,7 +28,7 @@ describe('PartyCore', () => {
|
|
|
29
28
|
const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
|
|
30
29
|
(0, testutils_1.afterTest)(async () => feedStore.close());
|
|
31
30
|
const keyring = new credentials_1.Keyring();
|
|
32
|
-
const metadataStore = new
|
|
31
|
+
const metadataStore = new pipeline_1.MetadataStore((0, util_1.createRamStorage)());
|
|
33
32
|
const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
|
|
34
33
|
const snapshotStore = new snapshots_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM));
|
|
35
34
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
@@ -90,7 +89,7 @@ describe('PartyCore', () => {
|
|
|
90
89
|
const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
|
|
91
90
|
(0, testutils_1.afterTest)(async () => feedStore.close());
|
|
92
91
|
const keyring = new credentials_1.Keyring();
|
|
93
|
-
const metadataStore = new
|
|
92
|
+
const metadataStore = new pipeline_1.MetadataStore((0, util_1.createRamStorage)());
|
|
94
93
|
const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
|
|
95
94
|
const snapshotStore = new snapshots_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM));
|
|
96
95
|
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
@@ -192,7 +191,7 @@ describe('PartyCore', () => {
|
|
|
192
191
|
const storage = (0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM);
|
|
193
192
|
const feedStore = new feed_store_1.FeedStore(storage, { valueEncoding: echo_protocol_1.codec });
|
|
194
193
|
(0, testutils_1.afterTest)(async () => feedStore.close());
|
|
195
|
-
const metadataStore = new
|
|
194
|
+
const metadataStore = new pipeline_1.MetadataStore((0, util_1.createRamStorage)());
|
|
196
195
|
const modelFactory = new model_factory_1.ModelFactory().registerModel(object_model_1.ObjectModel);
|
|
197
196
|
const snapshotStore = new snapshots_1.SnapshotStore((0, random_access_multi_storage_1.createStorage)('', random_access_multi_storage_1.StorageType.RAM));
|
|
198
197
|
const partyFeedProvider = new pipeline_1.PartyFeedProvider(metadataStore, peer1.keyring, feedStore, peer1.party.key);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party-core.test.js","sourceRoot":"","sources":["../../../src/pipeline/party-core.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { Keyring } from '@dxos/credentials';
|
|
|
3
3
|
import { PublicKey } from '@dxos/crypto';
|
|
4
4
|
import { FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
5
5
|
import { FeedDescriptor, FeedStore } from '@dxos/feed-store';
|
|
6
|
-
import { MetadataStore } from '
|
|
6
|
+
import { MetadataStore } from './metadata-store';
|
|
7
7
|
export declare class PartyFeedProvider {
|
|
8
8
|
private readonly _metadataStore;
|
|
9
9
|
private readonly _keyring;
|
|
@@ -13,9 +13,10 @@ export declare class PartyFeedProvider {
|
|
|
13
13
|
readonly feedOpened: Event<FeedDescriptor>;
|
|
14
14
|
constructor(_metadataStore: MetadataStore, _keyring: Keyring, _feedStore: FeedStore, _partyKey: PublicKey);
|
|
15
15
|
getFeeds(): FeedDescriptor[];
|
|
16
|
-
createOrOpenWritableFeed(): Promise<FeedDescriptor>;
|
|
17
16
|
openKnownFeeds(): Promise<void>;
|
|
17
|
+
createOrOpenWritableFeed(): Promise<FeedDescriptor>;
|
|
18
18
|
createOrOpenReadOnlyFeed(feedKey: PublicKey): Promise<FeedDescriptor>;
|
|
19
|
+
private _trackFeed;
|
|
19
20
|
private _createReadWriteFeed;
|
|
20
21
|
createIterator(messageSelector: MessageSelector, initialTimeframe?: Timeframe): Promise<FeedStoreIterator>;
|
|
21
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"party-feed-provider.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMjD,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IACnF,QAAQ,CAAC,UAAU,wBAA+B;gBAG/B,cAAc,EAAE,aAAa,EAC7B,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,SAAS;IAGvC,QAAQ,IAAK,cAAc,EAAE;IAKvB,cAAc;IAad,wBAAwB;IAqBxB,wBAAwB,CAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAc5E,OAAO,CAAC,UAAU;YAWJ,oBAAoB;IAU5B,cAAc,CAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS;CAkBrF"}
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
//
|
|
3
3
|
// Copyright 2021 DXOS.org
|
|
4
4
|
//
|
|
5
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
6
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
7
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
9
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
10
|
+
};
|
|
5
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
13
|
};
|
|
@@ -14,6 +20,7 @@ const credentials_1 = require("@dxos/credentials");
|
|
|
14
20
|
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
15
21
|
const util_1 = require("@dxos/util");
|
|
16
22
|
const STALL_TIMEOUT = 1000;
|
|
23
|
+
const log = (0, debug_1.default)('dxos:echo-db:party-feed-provider');
|
|
17
24
|
const warn = (0, debug_1.default)('dxos:echo-db:party-feed-provider:warn');
|
|
18
25
|
class PartyFeedProvider {
|
|
19
26
|
constructor(_metadataStore, _keyring, _feedStore, _partyKey) {
|
|
@@ -27,6 +34,18 @@ class PartyFeedProvider {
|
|
|
27
34
|
getFeeds() {
|
|
28
35
|
return Array.from(this._feeds.values());
|
|
29
36
|
}
|
|
37
|
+
async openKnownFeeds() {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
for (const feedKey of (_b = (_a = this._metadataStore.getParty(this._partyKey)) === null || _a === void 0 ? void 0 : _a.feedKeys) !== null && _b !== void 0 ? _b : []) {
|
|
40
|
+
if (!this._feeds.has(feedKey)) {
|
|
41
|
+
const fullKey = this._keyring.getFullKey(feedKey);
|
|
42
|
+
const feed = (fullKey === null || fullKey === void 0 ? void 0 : fullKey.secretKey)
|
|
43
|
+
? await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey)
|
|
44
|
+
: await this._feedStore.openReadOnlyFeed(feedKey);
|
|
45
|
+
this._trackFeed(feed);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
30
49
|
async createOrOpenWritableFeed() {
|
|
31
50
|
const partyMetadata = this._metadataStore.getParty(this._partyKey);
|
|
32
51
|
if (!(partyMetadata === null || partyMetadata === void 0 ? void 0 : partyMetadata.dataFeedKey)) {
|
|
@@ -40,23 +59,9 @@ class PartyFeedProvider {
|
|
|
40
59
|
return this._feeds.get(fullKey.publicKey);
|
|
41
60
|
}
|
|
42
61
|
const feed = await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey);
|
|
43
|
-
this.
|
|
44
|
-
this.feedOpened.emit(feed);
|
|
62
|
+
this._trackFeed(feed);
|
|
45
63
|
return feed;
|
|
46
64
|
}
|
|
47
|
-
async openKnownFeeds() {
|
|
48
|
-
var _a, _b;
|
|
49
|
-
for (const feedKey of (_b = (_a = this._metadataStore.getParty(this._partyKey)) === null || _a === void 0 ? void 0 : _a.feedKeys) !== null && _b !== void 0 ? _b : []) {
|
|
50
|
-
if (!this._feeds.has(feedKey)) {
|
|
51
|
-
const fullKey = this._keyring.getFullKey(feedKey);
|
|
52
|
-
const feed = (fullKey === null || fullKey === void 0 ? void 0 : fullKey.secretKey)
|
|
53
|
-
? await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey)
|
|
54
|
-
: await this._feedStore.openReadOnlyFeed(feedKey);
|
|
55
|
-
this._feeds.set(feedKey, feed);
|
|
56
|
-
this.feedOpened.emit(feed);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
65
|
async createOrOpenReadOnlyFeed(feedKey) {
|
|
61
66
|
if (this._feeds.has(feedKey)) {
|
|
62
67
|
return this._feeds.get(feedKey);
|
|
@@ -66,18 +71,25 @@ class PartyFeedProvider {
|
|
|
66
71
|
await this._keyring.addPublicKey({ type: credentials_1.KeyType.FEED, publicKey: feedKey });
|
|
67
72
|
}
|
|
68
73
|
const feed = await this._feedStore.openReadOnlyFeed(feedKey);
|
|
69
|
-
this.
|
|
70
|
-
this.feedOpened.emit(feed);
|
|
74
|
+
this._trackFeed(feed);
|
|
71
75
|
return feed;
|
|
72
76
|
}
|
|
77
|
+
_trackFeed(feed) {
|
|
78
|
+
(0, assert_1.default)(!this._feeds.has(feed.key));
|
|
79
|
+
this._feeds.set(feed.key, feed);
|
|
80
|
+
this.feedOpened.emit(feed);
|
|
81
|
+
log(`Party feed set changed: ${JSON.stringify({
|
|
82
|
+
party: this._partyKey,
|
|
83
|
+
feeds: Array.from(this._feeds.values()).map(feed => feed.key)
|
|
84
|
+
})}`);
|
|
85
|
+
}
|
|
73
86
|
async _createReadWriteFeed() {
|
|
74
87
|
const feedKey = await this._keyring.createKeyRecord({ type: credentials_1.KeyType.FEED });
|
|
75
88
|
const fullKey = this._keyring.getFullKey(feedKey.publicKey);
|
|
76
89
|
(0, assert_1.default)(fullKey && fullKey.secretKey);
|
|
77
90
|
await this._metadataStore.setDataFeed(this._partyKey, fullKey.publicKey);
|
|
78
91
|
const feed = await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey);
|
|
79
|
-
this.
|
|
80
|
-
this.feedOpened.emit(feed);
|
|
92
|
+
this._trackFeed(feed);
|
|
81
93
|
return feed;
|
|
82
94
|
}
|
|
83
95
|
async createIterator(messageSelector, initialTimeframe) {
|
|
@@ -97,5 +109,14 @@ class PartyFeedProvider {
|
|
|
97
109
|
return iterator;
|
|
98
110
|
}
|
|
99
111
|
}
|
|
112
|
+
__decorate([
|
|
113
|
+
async_1.synchronized
|
|
114
|
+
], PartyFeedProvider.prototype, "openKnownFeeds", null);
|
|
115
|
+
__decorate([
|
|
116
|
+
async_1.synchronized
|
|
117
|
+
], PartyFeedProvider.prototype, "createOrOpenWritableFeed", null);
|
|
118
|
+
__decorate([
|
|
119
|
+
async_1.synchronized
|
|
120
|
+
], PartyFeedProvider.prototype, "createOrOpenReadOnlyFeed", null);
|
|
100
121
|
exports.PartyFeedProvider = PartyFeedProvider;
|
|
101
122
|
//# sourceMappingURL=party-feed-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE
|
|
1
|
+
{"version":3,"file":"party-feed-provider.js","sourceRoot":"","sources":["../../../src/pipeline/party-feed-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Authenticator, AuthPlugin } from '@dxos/credentials';
|
|
2
|
+
import { PublicKey } from '@dxos/crypto';
|
|
3
|
+
/**
|
|
4
|
+
* Creates authenticator network-protocol plugin that guards access to the replicator.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createAuthPlugin(authenticator: Authenticator, peerId: PublicKey): AuthPlugin;
|
|
7
|
+
//# sourceMappingURL=auth-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/auth-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,cAEhF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 DXOS.org
|
|
4
|
+
//
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createAuthPlugin = void 0;
|
|
7
|
+
const credentials_1 = require("@dxos/credentials");
|
|
8
|
+
const protocol_plugin_replicator_1 = require("@dxos/protocol-plugin-replicator");
|
|
9
|
+
/**
|
|
10
|
+
* Creates authenticator network-protocol plugin that guards access to the replicator.
|
|
11
|
+
*/
|
|
12
|
+
function createAuthPlugin(authenticator, peerId) {
|
|
13
|
+
return new credentials_1.AuthPlugin(peerId.asBuffer(), authenticator, [protocol_plugin_replicator_1.Replicator.extension]);
|
|
14
|
+
}
|
|
15
|
+
exports.createAuthPlugin = createAuthPlugin;
|
|
16
|
+
//# sourceMappingURL=auth-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-plugin.js","sourceRoot":"","sources":["../../../src/protocol/auth-plugin.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAA8D;AAE9D,iFAA8D;AAE9D;;GAEG;AACH,SAAgB,gBAAgB,CAAE,aAA4B,EAAE,MAAiB;IAC/E,OAAO,IAAI,wBAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,uCAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAFD,4CAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Authenticator } from '@dxos/credentials';
|
|
3
|
+
import { FeedKey, PartyKey } from '@dxos/echo-protocol';
|
|
4
|
+
import { PartyProcessor } from '../pipeline';
|
|
5
|
+
import { CredentialsSigner } from './credentials-signer';
|
|
6
|
+
export declare function createAuthenticator(partyProcessor: PartyProcessor, credentialsSigner: CredentialsSigner): Authenticator;
|
|
7
|
+
export interface CredentialsProvider {
|
|
8
|
+
/**
|
|
9
|
+
* The credentials (e.g., a serialized AuthMessage) as a bytes.
|
|
10
|
+
*/
|
|
11
|
+
get(): Buffer;
|
|
12
|
+
}
|
|
13
|
+
export declare function createCredentialsProvider(credentialsSigner: CredentialsSigner, partyKey: PartyKey, feedKey: FeedKey): CredentialsProvider;
|
|
14
|
+
//# sourceMappingURL=authenticator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticator.d.ts","sourceRoot":"","sources":["../../../src/protocol/authenticator.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,aAAa,EAA+F,MAAM,mBAAmB,CAAC;AAC/I,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,wBAAgB,mBAAmB,CAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,GAAG,aAAa,CAYxH;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,GAAG,IAAK,MAAM,CAAA;CACf;AAED,wBAAgB,yBAAyB,CAAE,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,mBAAmB,CAoB1I"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 DXOS.org
|
|
4
|
+
//
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createCredentialsProvider = exports.createAuthenticator = void 0;
|
|
10
|
+
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const credentials_1 = require("@dxos/credentials");
|
|
12
|
+
const log = (0, debug_1.default)('dxos:echo-db:authenticator');
|
|
13
|
+
function createAuthenticator(partyProcessor, credentialsSigner) {
|
|
14
|
+
return new credentials_1.PartyAuthenticator(partyProcessor.state, async (auth) => {
|
|
15
|
+
if (auth.feedAdmit && auth.feedKey && !partyProcessor.isFeedAdmitted(auth.feedKey)) {
|
|
16
|
+
log(`Admitting feed of authenticated member: ${auth.feedKey}`);
|
|
17
|
+
await partyProcessor.writeHaloMessage((0, credentials_1.createEnvelopeMessage)(credentialsSigner.signer, partyProcessor.partyKey, auth.feedAdmit, [credentialsSigner.getDeviceSigningKeys()]));
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.createAuthenticator = createAuthenticator;
|
|
22
|
+
function createCredentialsProvider(credentialsSigner, partyKey, feedKey) {
|
|
23
|
+
return {
|
|
24
|
+
get: () => {
|
|
25
|
+
const authMessage = (0, credentials_1.createAuthMessage)(credentialsSigner.signer, partyKey, credentialsSigner.getIdentityKey(), credentialsSigner.getDeviceSigningKeys(), feedKey, undefined, (0, credentials_1.createFeedAdmitMessage)(credentialsSigner.signer, partyKey, feedKey, [feedKey, credentialsSigner.getDeviceSigningKeys()]));
|
|
26
|
+
return Buffer.from(credentials_1.codec.encode(authMessage));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.createCredentialsProvider = createCredentialsProvider;
|
|
31
|
+
//# sourceMappingURL=authenticator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticator.js","sourceRoot":"","sources":["../../../src/protocol/authenticator.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,mDAA+I;AAM/I,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,4BAA4B,CAAC,CAAC;AAEhD,SAAgB,mBAAmB,CAAE,cAA8B,EAAE,iBAAoC;IACvG,OAAO,IAAI,gCAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;QAC/D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAClF,GAAG,CAAC,2CAA2C,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,cAAc,CAAC,gBAAgB,CAAC,IAAA,mCAAqB,EACzD,iBAAiB,CAAC,MAAM,EACxB,cAAc,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,EACd,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,CAAC,CAC3C,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,kDAYC;AASD,SAAgB,yBAAyB,CAAE,iBAAoC,EAAE,QAAkB,EAAE,OAAgB;IACnH,OAAO;QACL,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,WAAW,GAAG,IAAA,+BAAiB,EACnC,iBAAiB,CAAC,MAAM,EACxB,QAAQ,EACR,iBAAiB,CAAC,cAAc,EAAE,EAClC,iBAAiB,CAAC,oBAAoB,EAAE,EACxC,OAAO,EACP,SAAS,EACT,IAAA,oCAAsB,EACpB,iBAAiB,CAAC,MAAM,EACxB,QAAQ,EACR,OAAO,EACP,CAAC,OAAO,EAAE,iBAAiB,CAAC,oBAAoB,EAAE,CAAC,CACpD,CACF,CAAC;YACF,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AApBD,8DAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticator.test.d.ts","sourceRoot":"","sources":["../../../src/protocol/authenticator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 DXOS.org
|
|
4
|
+
//
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const expect_1 = __importDefault(require("expect"));
|
|
10
|
+
const mocha_1 = require("mocha");
|
|
11
|
+
const credentials_1 = require("@dxos/credentials");
|
|
12
|
+
const echo_protocol_1 = require("@dxos/echo-protocol");
|
|
13
|
+
const pipeline_1 = require("../pipeline");
|
|
14
|
+
const authenticator_1 = require("./authenticator");
|
|
15
|
+
const credentials_signer_1 = require("./credentials-signer");
|
|
16
|
+
describe('authenticator', () => {
|
|
17
|
+
// TODO(dmaretskyi): Figure out how credentials work and if this test makes sense.
|
|
18
|
+
mocha_1.it.skip('authenticates admitted peer', async () => {
|
|
19
|
+
const keyring = new credentials_1.Keyring();
|
|
20
|
+
const partyKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.PARTY });
|
|
21
|
+
const identityKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.IDENTITY });
|
|
22
|
+
const deviceKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.DEVICE });
|
|
23
|
+
const feedKey = await keyring.createKeyRecord({ type: credentials_1.KeyType.FEED });
|
|
24
|
+
const signer = credentials_signer_1.CredentialsSigner.createDirectDeviceSigner(keyring);
|
|
25
|
+
const partyProcessor = new pipeline_1.PartyProcessor(partyKey.publicKey);
|
|
26
|
+
const feed = new echo_protocol_1.MockFeedWriter();
|
|
27
|
+
partyProcessor.setOutboundStream(feed);
|
|
28
|
+
await partyProcessor.processMessage({
|
|
29
|
+
data: (0, credentials_1.createPartyGenesisMessage)(keyring, partyKey, feedKey.publicKey, identityKey),
|
|
30
|
+
meta: {}
|
|
31
|
+
});
|
|
32
|
+
await partyProcessor.processMessage({
|
|
33
|
+
data: (0, credentials_1.createKeyAdmitMessage)(keyring, partyKey.publicKey, identityKey, [partyKey, identityKey]),
|
|
34
|
+
meta: {}
|
|
35
|
+
});
|
|
36
|
+
await partyProcessor.processMessage({
|
|
37
|
+
data: (0, credentials_1.createKeyAdmitMessage)(keyring, partyKey.publicKey, deviceKey, [identityKey, deviceKey]),
|
|
38
|
+
meta: {}
|
|
39
|
+
});
|
|
40
|
+
const authenticator = (0, authenticator_1.createAuthenticator)(partyProcessor, signer);
|
|
41
|
+
const credential = (0, credentials_1.createAuthMessage)(keyring, partyKey.publicKey, identityKey, deviceKey);
|
|
42
|
+
(0, expect_1.default)(await authenticator.authenticate(credential.payload)).toEqual(true);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=authenticator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authenticator.test.js","sourceRoot":"","sources":["../../../src/protocol/authenticator.test.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,oDAA4B;AAC5B,iCAAmC;AAEnC,mDAA0H;AAC1H,uDAAqD;AAErD,0CAA6C;AAC7C,mDAAsD;AACtD,6DAAyD;AAEzD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,kFAAkF;IAClF,UAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,OAAO,GAAG,IAAI,qBAAO,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,sCAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAEnE,MAAM,cAAc,GAAG,IAAI,yBAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,IAAI,8BAAc,EAAE,CAAC;QAClC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,cAAc,CAAC,cAAc,CAAC;YAClC,IAAI,EAAE,IAAA,uCAAyB,EAC7B,OAAO,EACP,QAAQ,EACR,OAAO,CAAC,SAAS,EACjB,WAAW,CACZ;YACD,IAAI,EAAE,EAAS;SAChB,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,cAAc,CAAC;YAClC,IAAI,EAAE,IAAA,mCAAqB,EACzB,OAAO,EACP,QAAQ,CAAC,SAAS,EAClB,WAAW,EACX,CAAC,QAAQ,EAAE,WAAW,CAAC,CACxB;YACD,IAAI,EAAE,EAAS;SAChB,CAAC,CAAC;QACH,MAAM,cAAc,CAAC,cAAc,CAAC;YAClC,IAAI,EAAE,IAAA,mCAAqB,EACzB,OAAO,EACP,QAAQ,CAAC,SAAS,EAClB,SAAS,EACT,CAAC,WAAW,EAAE,SAAS,CAAC,CACzB;YACD,IAAI,EAAE,EAAS;SAChB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,mCAAmB,EAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAA,+BAAiB,EAClC,OAAO,EACP,QAAQ,CAAC,SAAS,EAClB,WAAW,EACX,SAAS,CACV,CAAC;QAEF,IAAA,gBAAM,EAAC,MAAM,aAAa,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { KeyChain, KeyRecord, Keyring, Signer } from '@dxos/credentials';
|
|
2
|
+
/**
|
|
3
|
+
* Contains a signer (keyring), provides signing keys to create signed credential messages.
|
|
4
|
+
*/
|
|
5
|
+
export declare class CredentialsSigner {
|
|
6
|
+
private readonly _signer;
|
|
7
|
+
private readonly _getIdentityKey;
|
|
8
|
+
private readonly _getDeviceKey;
|
|
9
|
+
private readonly _getDeviceSigningKeys;
|
|
10
|
+
/**
|
|
11
|
+
* Queries IDENTITY and DEVICE keys from the keyring.
|
|
12
|
+
* Uses the device key without keychain for signing.
|
|
13
|
+
*/
|
|
14
|
+
static createDirectDeviceSigner(keyring: Keyring): CredentialsSigner;
|
|
15
|
+
constructor(_signer: Signer, _getIdentityKey: () => KeyRecord, _getDeviceKey: () => KeyRecord, _getDeviceSigningKeys: () => KeyRecord | KeyChain);
|
|
16
|
+
get signer(): Signer;
|
|
17
|
+
getIdentityKey(): KeyRecord;
|
|
18
|
+
getDeviceKey(): KeyRecord;
|
|
19
|
+
/**
|
|
20
|
+
* @returns Either a device key record or a key-chain for the device key.
|
|
21
|
+
*
|
|
22
|
+
* HALO-party members are devices of the same profile,
|
|
23
|
+
* and their admission credential messages are stored in the same HALO party
|
|
24
|
+
* so they can sign directly with their DEVICE key.
|
|
25
|
+
*
|
|
26
|
+
* Data-parties don't store credentials that admit devices to profiles.
|
|
27
|
+
* Devices need to sign with their keyChain including the device key admission credential in the signature.
|
|
28
|
+
*/
|
|
29
|
+
getDeviceSigningKeys(): KeyRecord | KeyChain;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=credentials-signer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-signer.d.ts","sourceRoot":"","sources":["../../../src/protocol/credentials-signer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG1F;;GAEG;AACH,qBAAa,iBAAiB;IAkB1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IApBxC;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAAE,OAAO,EAAE,OAAO;gBAa9B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,SAAS,EAChC,aAAa,EAAE,MAAM,SAAS,EAC9B,qBAAqB,EAAE,MAAM,SAAS,GAAG,QAAQ;IAGpE,IAAI,MAAM,IAAK,MAAM,CAEpB;IAED,cAAc,IAAK,SAAS;IAI5B,YAAY,IAAK,SAAS;IAI1B;;;;;;;;;OASG;IACH,oBAAoB,IAAK,SAAS,GAAG,QAAQ;CAG9C"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// Copyright 2022 DXOS.org
|
|
4
|
+
//
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.CredentialsSigner = void 0;
|
|
7
|
+
const credentials_1 = require("@dxos/credentials");
|
|
8
|
+
const debug_1 = require("@dxos/debug");
|
|
9
|
+
/**
|
|
10
|
+
* Contains a signer (keyring), provides signing keys to create signed credential messages.
|
|
11
|
+
*/
|
|
12
|
+
class CredentialsSigner {
|
|
13
|
+
constructor(_signer, _getIdentityKey, _getDeviceKey, _getDeviceSigningKeys) {
|
|
14
|
+
this._signer = _signer;
|
|
15
|
+
this._getIdentityKey = _getIdentityKey;
|
|
16
|
+
this._getDeviceKey = _getDeviceKey;
|
|
17
|
+
this._getDeviceSigningKeys = _getDeviceSigningKeys;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Queries IDENTITY and DEVICE keys from the keyring.
|
|
21
|
+
* Uses the device key without keychain for signing.
|
|
22
|
+
*/
|
|
23
|
+
static createDirectDeviceSigner(keyring) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
const identityKey = (_a = keyring.findKey(credentials_1.Filter.matches({ type: credentials_1.KeyType.IDENTITY, own: true, trusted: true }))) !== null && _a !== void 0 ? _a : (0, debug_1.failUndefined)();
|
|
26
|
+
const deviceKey = (_b = keyring.findKey(credentials_1.Keyring.signingFilter({ type: credentials_1.KeyType.DEVICE }))) !== null && _b !== void 0 ? _b : (0, debug_1.failUndefined)();
|
|
27
|
+
return new CredentialsSigner(keyring, () => identityKey, () => deviceKey, () => deviceKey);
|
|
28
|
+
}
|
|
29
|
+
get signer() {
|
|
30
|
+
return this._signer;
|
|
31
|
+
}
|
|
32
|
+
getIdentityKey() {
|
|
33
|
+
return this._getIdentityKey();
|
|
34
|
+
}
|
|
35
|
+
getDeviceKey() {
|
|
36
|
+
return this._getDeviceKey();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @returns Either a device key record or a key-chain for the device key.
|
|
40
|
+
*
|
|
41
|
+
* HALO-party members are devices of the same profile,
|
|
42
|
+
* and their admission credential messages are stored in the same HALO party
|
|
43
|
+
* so they can sign directly with their DEVICE key.
|
|
44
|
+
*
|
|
45
|
+
* Data-parties don't store credentials that admit devices to profiles.
|
|
46
|
+
* Devices need to sign with their keyChain including the device key admission credential in the signature.
|
|
47
|
+
*/
|
|
48
|
+
getDeviceSigningKeys() {
|
|
49
|
+
return this._getDeviceSigningKeys();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.CredentialsSigner = CredentialsSigner;
|
|
53
|
+
//# sourceMappingURL=credentials-signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-signer.js","sourceRoot":"","sources":["../../../src/protocol/credentials-signer.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,mDAA0F;AAC1F,uCAA4C;AAE5C;;GAEG;AACH,MAAa,iBAAiB;IAiB5B,YACmB,OAAe,EACf,eAAgC,EAChC,aAA8B,EAC9B,qBAAiD;QAHjD,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAiB;QAChC,kBAAa,GAAb,aAAa,CAAiB;QAC9B,0BAAqB,GAArB,qBAAqB,CAA4B;IACjE,CAAC;IArBJ;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAAE,OAAgB;;QAC/C,MAAM,WAAW,GAAG,MAAA,OAAO,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;QAC7H,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,qBAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,qBAAO,CAAC,MAAM,EAAE,CAAC,CAAC,mCAAI,IAAA,qBAAa,GAAE,CAAC;QAEtG,OAAO,IAAI,iBAAiB,CAC1B,OAAO,EACP,GAAG,EAAE,CAAC,WAAW,EACjB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IACJ,CAAC;IASD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;CACF;AAjDD,8CAiDC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GreetingCommandPlugin } from '@dxos/credentials';
|
|
2
|
+
import { PublicKey } from '@dxos/crypto';
|
|
3
|
+
import { InvitationFactory } from '../invitations';
|
|
4
|
+
/**
|
|
5
|
+
* Creates network protocol plugin that allows peers to recover access to their HALO.
|
|
6
|
+
* Plugin is intended to be used in HALO party swarm.
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export declare function createHaloRecoveryPlugin(identityKey: PublicKey, invitationFactory: InvitationFactory, peerId: PublicKey): GreetingCommandPlugin;
|
|
10
|
+
//# sourceMappingURL=halo-recovery-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"halo-recovery-plugin.d.ts","sourceRoot":"","sources":["../../../src/protocol/halo-recovery-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAyB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,yBAKxH"}
|