@dxos/echo-db 2.33.5-dev.b9f5bea6 → 2.33.5-dev.cb045a79
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/index.js +5 -1
- package/dist/src/api/index.js.map +1 -1
- package/dist/src/echo.d.ts.map +1 -1
- package/dist/src/echo.js +1 -1
- package/dist/src/echo.js.map +1 -1
- package/dist/src/echo.test.js +0 -4
- package/dist/src/echo.test.js.map +1 -1
- package/dist/src/halo/halo-factory.d.ts +2 -2
- package/dist/src/halo/halo-factory.d.ts.map +1 -1
- package/dist/src/halo/halo-factory.js +2 -1
- package/dist/src/halo/halo-factory.js.map +1 -1
- package/dist/src/halo/halo-party.d.ts +2 -2
- package/dist/src/halo/halo-party.d.ts.map +1 -1
- package/dist/src/halo/halo-party.js +1 -1
- package/dist/src/halo/halo-party.js.map +1 -1
- package/dist/src/halo/halo.d.ts +2 -2
- package/dist/src/halo/halo.d.ts.map +1 -1
- package/dist/src/halo/index.js +5 -1
- package/dist/src/halo/index.js.map +1 -1
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/invitations/index.js +5 -1
- package/dist/src/invitations/index.js.map +1 -1
- package/dist/src/invitations/invitation-descriptor.js +5 -1
- package/dist/src/invitations/invitation-descriptor.js.map +1 -1
- package/dist/src/packlets/database/data-mirror.test.js +2 -2
- package/dist/src/packlets/database/data-mirror.test.js.map +1 -1
- package/dist/src/packlets/database/database-backend.d.ts +4 -5
- package/dist/src/packlets/database/database-backend.d.ts.map +1 -1
- package/dist/src/packlets/database/database-backend.js +5 -6
- package/dist/src/packlets/database/database-backend.js.map +1 -1
- package/dist/src/packlets/database/index.js +5 -1
- package/dist/src/packlets/database/index.js.map +1 -1
- package/dist/src/packlets/database/item-demuxer.d.ts +2 -2
- package/dist/src/packlets/database/item-demuxer.d.ts.map +1 -1
- package/dist/src/packlets/database/item-demuxer.js +2 -3
- package/dist/src/packlets/database/item-demuxer.js.map +1 -1
- package/dist/src/packlets/database/item-demuxer.test.js +13 -9
- package/dist/src/packlets/database/item-demuxer.test.js.map +1 -1
- package/dist/src/packlets/database/selection/index.js +5 -1
- package/dist/src/packlets/database/selection/index.js.map +1 -1
- package/dist/src/packlets/database/testing.d.ts.map +1 -1
- package/dist/src/packlets/database/testing.js +3 -4
- package/dist/src/packlets/database/testing.js.map +1 -1
- package/dist/src/packlets/database/timeframe-clock.d.ts +1 -0
- package/dist/src/packlets/database/timeframe-clock.d.ts.map +1 -1
- package/dist/src/packlets/database/timeframe-clock.js +3 -0
- package/dist/src/packlets/database/timeframe-clock.js.map +1 -1
- package/dist/src/parties/data-party.d.ts +5 -4
- package/dist/src/parties/data-party.d.ts.map +1 -1
- package/dist/src/parties/data-party.js +22 -5
- package/dist/src/parties/data-party.js.map +1 -1
- package/dist/src/parties/data-party.test.js +20 -1
- package/dist/src/parties/data-party.test.js.map +1 -1
- package/dist/src/parties/index.js +5 -1
- package/dist/src/parties/index.js.map +1 -1
- package/dist/src/parties/party-factory.d.ts +4 -3
- package/dist/src/parties/party-factory.d.ts.map +1 -1
- package/dist/src/parties/party-factory.js +13 -9
- package/dist/src/parties/party-factory.js.map +1 -1
- package/dist/src/parties/party-manager.d.ts.map +1 -1
- package/dist/src/parties/party-manager.js +6 -3
- package/dist/src/parties/party-manager.js.map +1 -1
- package/dist/src/parties/party-manager.test.js +2 -2
- package/dist/src/parties/party-manager.test.js.map +1 -1
- package/dist/src/pipeline/{pipeline.d.ts → feed-muxer.d.ts} +8 -11
- package/dist/src/pipeline/feed-muxer.d.ts.map +1 -0
- package/dist/src/pipeline/{pipeline.js → feed-muxer.js} +33 -40
- package/dist/src/pipeline/feed-muxer.js.map +1 -0
- package/dist/src/pipeline/feed-muxer.test.d.ts +2 -0
- package/dist/src/pipeline/feed-muxer.test.d.ts.map +1 -0
- package/dist/src/pipeline/{pipeline.test.js → feed-muxer.test.js} +16 -13
- package/dist/src/pipeline/feed-muxer.test.js.map +1 -0
- package/dist/src/pipeline/index.d.ts +2 -2
- package/dist/src/pipeline/index.d.ts.map +1 -1
- package/dist/src/pipeline/index.js +7 -3
- package/dist/src/pipeline/index.js.map +1 -1
- package/dist/src/pipeline/metadata-store.d.ts +2 -1
- package/dist/src/pipeline/metadata-store.d.ts.map +1 -1
- package/dist/src/pipeline/metadata-store.js +6 -0
- package/dist/src/pipeline/metadata-store.js.map +1 -1
- package/dist/src/pipeline/party-feed-provider.d.ts +2 -3
- package/dist/src/pipeline/party-feed-provider.d.ts.map +1 -1
- package/dist/src/pipeline/party-feed-provider.js +2 -17
- package/dist/src/pipeline/party-feed-provider.js.map +1 -1
- package/dist/src/pipeline/{party-core.d.ts → party-pipeline.d.ts} +6 -6
- package/dist/src/pipeline/party-pipeline.d.ts.map +1 -0
- package/dist/src/pipeline/{party-core.js → party-pipeline.js} +21 -17
- package/dist/src/pipeline/party-pipeline.js.map +1 -0
- package/dist/src/pipeline/party-pipeline.test.d.ts +2 -0
- package/dist/src/pipeline/party-pipeline.test.d.ts.map +1 -0
- package/dist/src/pipeline/{party-core.test.js → party-pipeline.test.js} +33 -16
- package/dist/src/pipeline/party-pipeline.test.js.map +1 -0
- package/dist/src/protocol/index.js +5 -1
- package/dist/src/protocol/index.js.map +1 -1
- package/dist/src/snapshots/index.js +5 -1
- package/dist/src/snapshots/index.js.map +1 -1
- package/dist/src/snapshots/snapshot-generator.d.ts +2 -2
- package/dist/src/snapshots/snapshot-generator.d.ts.map +1 -1
- package/dist/src/snapshots/snapshot-generator.js.map +1 -1
- package/dist/src/testing/index.js +5 -1
- package/dist/src/testing/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -18
- package/src/echo.test.ts +0 -4
- package/src/echo.ts +1 -0
- package/src/halo/halo-factory.ts +4 -3
- package/src/halo/halo-party.ts +4 -4
- package/src/halo/halo.ts +2 -2
- package/src/packlets/database/data-mirror.test.ts +2 -2
- package/src/packlets/database/database-backend.ts +7 -6
- package/src/packlets/database/item-demuxer.test.ts +20 -18
- package/src/packlets/database/item-demuxer.ts +5 -4
- package/src/packlets/database/testing.ts +3 -6
- package/src/packlets/database/timeframe-clock.ts +4 -0
- package/src/parties/data-party.test.ts +33 -3
- package/src/parties/data-party.ts +27 -6
- package/src/parties/party-factory.ts +17 -14
- package/src/parties/party-manager.test.ts +3 -1
- package/src/parties/party-manager.ts +7 -2
- package/src/pipeline/{pipeline.test.ts → feed-muxer.test.ts} +19 -14
- package/src/pipeline/{pipeline.ts → feed-muxer.ts} +38 -51
- package/src/pipeline/index.ts +2 -2
- package/src/pipeline/metadata-store.ts +7 -1
- package/src/pipeline/party-feed-provider.ts +3 -16
- package/src/pipeline/{party-core.test.ts → party-pipeline.test.ts} +31 -9
- package/src/pipeline/{party-core.ts → party-pipeline.ts} +27 -14
- package/src/snapshots/snapshot-generator.ts +2 -2
- package/dist/src/pipeline/party-core.d.ts.map +0 -1
- package/dist/src/pipeline/party-core.js.map +0 -1
- package/dist/src/pipeline/party-core.test.d.ts +0 -2
- package/dist/src/pipeline/party-core.test.d.ts.map +0 -1
- package/dist/src/pipeline/party-core.test.js.map +0 -1
- package/dist/src/pipeline/pipeline.d.ts.map +0 -1
- package/dist/src/pipeline/pipeline.js.map +0 -1
- package/dist/src/pipeline/pipeline.test.d.ts +0 -2
- package/dist/src/pipeline/pipeline.test.d.ts.map +0 -1
- package/dist/src/pipeline/pipeline.test.js.map +0 -1
|
@@ -10,19 +10,19 @@ import { waitForCondition, latch } from '@dxos/async';
|
|
|
10
10
|
import { createPartyGenesisMessage, Keyring, KeyType } from '@dxos/credentials';
|
|
11
11
|
import { createId, createKeyPair, PublicKey } from '@dxos/crypto';
|
|
12
12
|
import { codec, createFeedWriter, FeedSelector, FeedStoreIterator, IEchoStream, Timeframe } from '@dxos/echo-protocol';
|
|
13
|
-
import { FeedStore, createWritableFeedStream
|
|
13
|
+
import { FeedStore, createWritableFeedStream } from '@dxos/feed-store';
|
|
14
14
|
import { createSetPropertyMutation } from '@dxos/model-factory';
|
|
15
15
|
import { createStorage, StorageType } from '@dxos/random-access-multi-storage';
|
|
16
16
|
import { jsonReplacer } from '@dxos/util';
|
|
17
17
|
|
|
18
18
|
import { TimeframeClock } from '../packlets/database';
|
|
19
|
+
import { FeedMuxer } from './feed-muxer';
|
|
19
20
|
import { PartyProcessor } from './party-processor';
|
|
20
|
-
import { Pipeline } from './pipeline';
|
|
21
21
|
|
|
22
22
|
const log = debug('dxos:echo:pipeline:test');
|
|
23
23
|
|
|
24
24
|
// TODO(burdon): Test read-only.
|
|
25
|
-
describe('
|
|
25
|
+
describe('FeedMuxer', () => {
|
|
26
26
|
test('streams', async () => {
|
|
27
27
|
const storage = createStorage('', StorageType.RAM);
|
|
28
28
|
const feedStore = new FeedStore(storage.directory('feed'), { valueEncoding: codec });
|
|
@@ -56,9 +56,6 @@ describe('pipeline', () => {
|
|
|
56
56
|
seq: 0
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
-
const pipeline = new Pipeline(partyProcessor, feedReadStream, new TimeframeClock());
|
|
60
|
-
const [readStream] = await pipeline.open();
|
|
61
|
-
expect(readStream).toBeTruthy();
|
|
62
59
|
|
|
63
60
|
//
|
|
64
61
|
// Pipeline consumer.
|
|
@@ -66,10 +63,14 @@ describe('pipeline', () => {
|
|
|
66
63
|
//
|
|
67
64
|
const numMessages = 5;
|
|
68
65
|
const [counter, updateCounter] = latch(numMessages);
|
|
69
|
-
|
|
66
|
+
const echoProcessor = async (message: IEchoStream) => {
|
|
70
67
|
log('Processed:', JSON.stringify(message, jsonReplacer, 2));
|
|
71
68
|
updateCounter();
|
|
72
|
-
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
const pipeline = new FeedMuxer(partyProcessor, feedReadStream, new TimeframeClock());
|
|
72
|
+
pipeline.setEchoProcessor(echoProcessor);
|
|
73
|
+
await pipeline.open();
|
|
73
74
|
|
|
74
75
|
//
|
|
75
76
|
// Write directly to feed store.
|
|
@@ -105,17 +106,21 @@ describe('pipeline', () => {
|
|
|
105
106
|
});
|
|
106
107
|
|
|
107
108
|
const partyProcessor = new PartyProcessor(partyKey.publicKey);
|
|
108
|
-
|
|
109
|
+
|
|
110
|
+
const echoMessages: IEchoStream[] = [];
|
|
111
|
+
const echoProcessor = async (msg: IEchoStream) => {
|
|
112
|
+
echoMessages.push(msg);
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
const pipeline = new FeedMuxer(
|
|
109
116
|
partyProcessor,
|
|
110
117
|
feedReadStream,
|
|
111
118
|
new TimeframeClock(),
|
|
112
119
|
createFeedWriter(feed)
|
|
113
120
|
);
|
|
121
|
+
pipeline.setEchoProcessor(echoProcessor);
|
|
114
122
|
await pipeline.open();
|
|
115
123
|
|
|
116
|
-
const writable = new WritableArray();
|
|
117
|
-
pipeline.inboundEchoStream!.pipe(writable);
|
|
118
|
-
|
|
119
124
|
await pipeline.outboundHaloStream!.write(createPartyGenesisMessage(keyring, partyKey, feedKey.publicKey, identityKey));
|
|
120
125
|
await waitForCondition(() => !partyProcessor.genesisRequired);
|
|
121
126
|
|
|
@@ -126,10 +131,10 @@ describe('pipeline', () => {
|
|
|
126
131
|
}
|
|
127
132
|
});
|
|
128
133
|
|
|
129
|
-
await waitForCondition(() =>
|
|
134
|
+
await waitForCondition(() => echoMessages.length === 1);
|
|
130
135
|
|
|
131
136
|
expect(partyProcessor.genesisRequired).toEqual(false);
|
|
132
|
-
expect((
|
|
137
|
+
expect((echoMessages[0] as any).data).toEqual({
|
|
133
138
|
itemId: '123',
|
|
134
139
|
genesis: {
|
|
135
140
|
itemType: 'foo'
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import assert from 'assert';
|
|
6
6
|
import debug from 'debug';
|
|
7
|
-
import { Readable } from 'stream';
|
|
8
7
|
|
|
9
8
|
import { Event } from '@dxos/async';
|
|
10
9
|
import { Message as HaloMessage } from '@dxos/credentials';
|
|
@@ -13,10 +12,9 @@ import { checkType } from '@dxos/debug';
|
|
|
13
12
|
import {
|
|
14
13
|
createFeedMeta, EchoEnvelope, FeedMessage, FeedStoreIterator, FeedWriter, IEchoStream, mapFeedWriter, Timeframe
|
|
15
14
|
} from '@dxos/echo-protocol';
|
|
16
|
-
import { createReadable } from '@dxos/feed-store';
|
|
17
15
|
import { jsonReplacer } from '@dxos/util';
|
|
18
16
|
|
|
19
|
-
import { TimeframeClock } from '../packlets/database';
|
|
17
|
+
import { EchoProcessor, TimeframeClock } from '../packlets/database';
|
|
20
18
|
import { CredentialProcessor, PartyStateProvider } from './party-processor';
|
|
21
19
|
|
|
22
20
|
interface Options {
|
|
@@ -28,14 +26,12 @@ const log = debug('dxos:echo-db:pipeline');
|
|
|
28
26
|
|
|
29
27
|
/**
|
|
30
28
|
* Manages the inbound and outbound message streams for an individual party.
|
|
29
|
+
* Reads messages from individual feeds and splits them into ECHO and HALO streams.
|
|
31
30
|
*/
|
|
32
|
-
export class
|
|
31
|
+
export class FeedMuxer {
|
|
33
32
|
private readonly _errors = new Event<Error>();
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
* Messages to be consumed from the pipeline (e.g., mutations to model).
|
|
37
|
-
*/
|
|
38
|
-
private _inboundEchoStream: Readable | undefined;
|
|
34
|
+
private _isOpen = false;
|
|
39
35
|
|
|
40
36
|
/**
|
|
41
37
|
* Messages to write into pipeline (e.g., mutations from model).
|
|
@@ -47,6 +43,8 @@ export class Pipeline {
|
|
|
47
43
|
*/
|
|
48
44
|
private _outboundHaloStream: FeedWriter<HaloMessage> | undefined;
|
|
49
45
|
|
|
46
|
+
private _echoProcessor: EchoProcessor | undefined
|
|
47
|
+
|
|
50
48
|
/**
|
|
51
49
|
* @param _partyProcessor Processes HALO messages to update party state.
|
|
52
50
|
* @param _feedStorIterator Inbound messages from the feed store.
|
|
@@ -60,20 +58,32 @@ export class Pipeline {
|
|
|
60
58
|
private readonly _timeframeClock: TimeframeClock,
|
|
61
59
|
private readonly _feedWriter?: FeedWriter<FeedMessage>,
|
|
62
60
|
private readonly _options: Options = {}
|
|
63
|
-
) {
|
|
61
|
+
) {
|
|
62
|
+
if (this._feedWriter) {
|
|
63
|
+
const loggingWriter = mapFeedWriter<FeedMessage, FeedMessage>(async msg => {
|
|
64
|
+
this._options.writeLogger?.(msg);
|
|
65
|
+
return msg;
|
|
66
|
+
}, this._feedWriter);
|
|
67
|
+
|
|
68
|
+
this._outboundEchoStream = mapFeedWriter<EchoEnvelope, FeedMessage>(async message => ({
|
|
69
|
+
timeframe: this._timeframeClock.timeframe,
|
|
70
|
+
echo: message
|
|
71
|
+
}), loggingWriter);
|
|
72
|
+
this._outboundHaloStream = mapFeedWriter<HaloMessage, FeedMessage>(async message => ({
|
|
73
|
+
timeframe: this._timeframeClock.timeframe,
|
|
74
|
+
halo: message
|
|
75
|
+
}), loggingWriter);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
64
78
|
|
|
65
79
|
get isOpen () {
|
|
66
|
-
return this.
|
|
80
|
+
return this._isOpen;
|
|
67
81
|
}
|
|
68
82
|
|
|
69
83
|
get readOnly () {
|
|
70
84
|
return this._outboundEchoStream === undefined;
|
|
71
85
|
}
|
|
72
86
|
|
|
73
|
-
get inboundEchoStream () {
|
|
74
|
-
return this._inboundEchoStream;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
87
|
get outboundEchoStream () {
|
|
78
88
|
return this._outboundEchoStream;
|
|
79
89
|
}
|
|
@@ -86,6 +96,10 @@ export class Pipeline {
|
|
|
86
96
|
return this._errors;
|
|
87
97
|
}
|
|
88
98
|
|
|
99
|
+
setEchoProcessor (processor: EchoProcessor) {
|
|
100
|
+
this._echoProcessor = processor;
|
|
101
|
+
}
|
|
102
|
+
|
|
89
103
|
/**
|
|
90
104
|
* Create inbound and outbound pipielines.
|
|
91
105
|
* https://nodejs.org/api/stream.html#stream_stream_pipeline_source_transforms_destination_callback
|
|
@@ -96,10 +110,8 @@ export class Pipeline {
|
|
|
96
110
|
* Transform(dxos.echo.IEchoEnvelope => dxos.IFeedMessage): update clock
|
|
97
111
|
* Feed
|
|
98
112
|
*/
|
|
99
|
-
async open (): Promise<
|
|
100
|
-
const { readLogger
|
|
101
|
-
|
|
102
|
-
this._inboundEchoStream = createReadable();
|
|
113
|
+
async open (): Promise<FeedWriter<EchoEnvelope> | undefined> {
|
|
114
|
+
const { readLogger } = this._options;
|
|
103
115
|
|
|
104
116
|
// This will exit cleanly once FeedStoreIterator is closed.
|
|
105
117
|
setImmediate(async () => {
|
|
@@ -109,8 +121,6 @@ export class Pipeline {
|
|
|
109
121
|
try {
|
|
110
122
|
const { data: message } = block;
|
|
111
123
|
|
|
112
|
-
this._timeframeClock.updateTimeframe(PublicKey.from(block.key), block.seq);
|
|
113
|
-
|
|
114
124
|
//
|
|
115
125
|
// HALO
|
|
116
126
|
//
|
|
@@ -133,8 +143,8 @@ export class Pipeline {
|
|
|
133
143
|
// Validate messge.
|
|
134
144
|
const { itemId } = message.echo;
|
|
135
145
|
if (itemId) {
|
|
136
|
-
assert(this.
|
|
137
|
-
this.
|
|
146
|
+
assert(this._echoProcessor);
|
|
147
|
+
await this._echoProcessor(checkType<IEchoStream>({
|
|
138
148
|
meta: {
|
|
139
149
|
seq: block.seq,
|
|
140
150
|
feedKey: block.key,
|
|
@@ -150,6 +160,8 @@ export class Pipeline {
|
|
|
150
160
|
// TODO(burdon): Can we throw and have the pipeline log (without breaking the stream)?
|
|
151
161
|
log(`Skipping invalid message: ${JSON.stringify(message, jsonReplacer)}`);
|
|
152
162
|
}
|
|
163
|
+
|
|
164
|
+
this._timeframeClock.updateTimeframe(PublicKey.from(block.key), block.seq);
|
|
153
165
|
} catch (err: any) {
|
|
154
166
|
console.error('Error in message processing.');
|
|
155
167
|
console.error(err);
|
|
@@ -157,30 +169,7 @@ export class Pipeline {
|
|
|
157
169
|
}
|
|
158
170
|
});
|
|
159
171
|
|
|
160
|
-
|
|
161
|
-
// Processes outbound messages (piped to the feed).
|
|
162
|
-
// Sets the current timeframe.
|
|
163
|
-
//
|
|
164
|
-
if (this._feedWriter) {
|
|
165
|
-
const loggingWriter = mapFeedWriter<FeedMessage, FeedMessage>(async msg => {
|
|
166
|
-
writeLogger?.(msg);
|
|
167
|
-
return msg;
|
|
168
|
-
}, this._feedWriter);
|
|
169
|
-
|
|
170
|
-
this._outboundEchoStream = mapFeedWriter<EchoEnvelope, FeedMessage>(async message => ({
|
|
171
|
-
timeframe: this._timeframeClock.timeframe,
|
|
172
|
-
echo: message
|
|
173
|
-
}), loggingWriter);
|
|
174
|
-
this._outboundHaloStream = mapFeedWriter<HaloMessage, FeedMessage>(async message => ({
|
|
175
|
-
timeframe: this._timeframeClock.timeframe,
|
|
176
|
-
halo: message
|
|
177
|
-
}), loggingWriter);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return [
|
|
181
|
-
this._inboundEchoStream,
|
|
182
|
-
this._outboundEchoStream
|
|
183
|
-
];
|
|
172
|
+
return this._outboundEchoStream;
|
|
184
173
|
}
|
|
185
174
|
|
|
186
175
|
/**
|
|
@@ -190,11 +179,9 @@ export class Pipeline {
|
|
|
190
179
|
async close () {
|
|
191
180
|
await this._feedStorIterator.close();
|
|
192
181
|
|
|
193
|
-
if (this._inboundEchoStream) {
|
|
194
|
-
this._inboundEchoStream.destroy();
|
|
195
|
-
this._inboundEchoStream = undefined;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
182
|
this._outboundEchoStream = undefined;
|
|
183
|
+
this._outboundHaloStream = undefined;
|
|
184
|
+
this._echoProcessor = undefined;
|
|
185
|
+
this._isOpen = false;
|
|
199
186
|
}
|
|
200
187
|
}
|
package/src/pipeline/index.ts
CHANGED
|
@@ -6,6 +6,6 @@ export * from './message-selector';
|
|
|
6
6
|
export * from './party-feed-provider';
|
|
7
7
|
export * from './party-processor';
|
|
8
8
|
export * from '../protocol/party-protocol-factory';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './party-
|
|
9
|
+
export * from './feed-muxer';
|
|
10
|
+
export * from './party-pipeline';
|
|
11
11
|
export * from './metadata-store';
|
|
@@ -7,7 +7,7 @@ import debug from 'debug';
|
|
|
7
7
|
|
|
8
8
|
import { PublicKey } from '@dxos/crypto';
|
|
9
9
|
import { failUndefined } from '@dxos/debug';
|
|
10
|
-
import { EchoMetadata, PartyMetadata, schema } from '@dxos/echo-protocol';
|
|
10
|
+
import { EchoMetadata, PartyMetadata, schema, Timeframe } from '@dxos/echo-protocol';
|
|
11
11
|
import { Directory } from '@dxos/random-access-multi-storage';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -158,4 +158,10 @@ export class MetadataStore {
|
|
|
158
158
|
}
|
|
159
159
|
return !!party.feedKeys?.find(fk => feedKey.equals(fk));
|
|
160
160
|
}
|
|
161
|
+
|
|
162
|
+
async setTimeframe (partyKey: PublicKey, timeframe: Timeframe) {
|
|
163
|
+
const party = this.getParty(partyKey) ?? failUndefined();
|
|
164
|
+
party.latestTimeframe = timeframe;
|
|
165
|
+
await this._save();
|
|
166
|
+
}
|
|
161
167
|
}
|
|
@@ -8,7 +8,7 @@ import debug from 'debug';
|
|
|
8
8
|
import { Event, synchronized } from '@dxos/async';
|
|
9
9
|
import { Keyring, KeyType } from '@dxos/credentials';
|
|
10
10
|
import { PublicKey } from '@dxos/crypto';
|
|
11
|
-
import { FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
11
|
+
import { FeedSelector, FeedStoreIterator, MessageSelector, Timeframe } from '@dxos/echo-protocol';
|
|
12
12
|
import { FeedDescriptor, FeedStore } from '@dxos/feed-store';
|
|
13
13
|
import { ComplexMap } from '@dxos/util';
|
|
14
14
|
|
|
@@ -33,19 +33,6 @@ export class PartyFeedProvider {
|
|
|
33
33
|
return Array.from(this._feeds.values());
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
@synchronized
|
|
37
|
-
async openKnownFeeds () {
|
|
38
|
-
for (const feedKey of this._metadataStore.getParty(this._partyKey)?.feedKeys ?? []) {
|
|
39
|
-
if (!this._feeds.has(feedKey)) {
|
|
40
|
-
const fullKey = this._keyring.getFullKey(feedKey);
|
|
41
|
-
const feed = fullKey?.secretKey
|
|
42
|
-
? await this._feedStore.openReadWriteFeed(fullKey.publicKey, fullKey.secretKey)
|
|
43
|
-
: await this._feedStore.openReadOnlyFeed(feedKey);
|
|
44
|
-
this._trackFeed(feed);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
36
|
@synchronized
|
|
50
37
|
async createOrOpenWritableFeed () {
|
|
51
38
|
const partyMetadata = this._metadataStore.getParty(this._partyKey);
|
|
@@ -103,8 +90,8 @@ export class PartyFeedProvider {
|
|
|
103
90
|
return feed;
|
|
104
91
|
}
|
|
105
92
|
|
|
106
|
-
async createIterator (messageSelector: MessageSelector, initialTimeframe?: Timeframe) {
|
|
107
|
-
const iterator = new FeedStoreIterator(
|
|
93
|
+
async createIterator (messageSelector: MessageSelector, feedSelector: FeedSelector, initialTimeframe?: Timeframe) {
|
|
94
|
+
const iterator = new FeedStoreIterator(feedSelector, messageSelector, initialTimeframe ?? new Timeframe());
|
|
108
95
|
for (const feed of this._feeds.values()) {
|
|
109
96
|
iterator.addFeedDescriptor(feed);
|
|
110
97
|
}
|
|
@@ -17,12 +17,12 @@ import { ObjectModel } from '@dxos/object-model';
|
|
|
17
17
|
import { createStorage, StorageType } from '@dxos/random-access-multi-storage';
|
|
18
18
|
import { afterTest } from '@dxos/testutils';
|
|
19
19
|
|
|
20
|
-
import { MetadataStore, PartyFeedProvider } from '
|
|
20
|
+
import { MetadataStore, PartyFeedProvider } from '.';
|
|
21
21
|
import { createReplicatorPlugin } from '../protocol/replicator-plugin';
|
|
22
22
|
import { SnapshotStore } from '../snapshots';
|
|
23
|
-
import {
|
|
23
|
+
import { PartyPipeline } from './party-pipeline';
|
|
24
24
|
|
|
25
|
-
describe('
|
|
25
|
+
describe('PartyPipeline', () => {
|
|
26
26
|
const setup = async () => {
|
|
27
27
|
const storage = createStorage('', StorageType.RAM);
|
|
28
28
|
const feedStore = new FeedStore(storage.directory('feed'), { valueEncoding: codec });
|
|
@@ -39,7 +39,7 @@ describe('PartyCore', () => {
|
|
|
39
39
|
|
|
40
40
|
const partyFeedProvider = new PartyFeedProvider(metadataStore, keyring, feedStore, partyKey.publicKey);
|
|
41
41
|
|
|
42
|
-
const party = new
|
|
42
|
+
const party = new PartyPipeline(
|
|
43
43
|
partyKey.publicKey,
|
|
44
44
|
partyFeedProvider,
|
|
45
45
|
modelFactory,
|
|
@@ -48,7 +48,7 @@ describe('PartyCore', () => {
|
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
const feed = await partyFeedProvider.createOrOpenWritableFeed();
|
|
51
|
-
await party.open();
|
|
51
|
+
await party.open({ feedHints: [feed.key] });
|
|
52
52
|
afterTest(async () => party.close());
|
|
53
53
|
|
|
54
54
|
// PartyGenesis (self-signed by Party).
|
|
@@ -88,7 +88,7 @@ describe('PartyCore', () => {
|
|
|
88
88
|
});
|
|
89
89
|
|
|
90
90
|
test('create item with parent and then reload', async () => {
|
|
91
|
-
const { party } = await setup();
|
|
91
|
+
const { party, feedKey } = await setup();
|
|
92
92
|
|
|
93
93
|
{
|
|
94
94
|
const parent = await party.database.createItem({ model: ObjectModel, type: 'parent' });
|
|
@@ -103,7 +103,7 @@ describe('PartyCore', () => {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
await party.close();
|
|
106
|
-
await party.open();
|
|
106
|
+
await party.open({ feedHints: [feedKey] });
|
|
107
107
|
|
|
108
108
|
{
|
|
109
109
|
await party.database.select().exec().update.waitFor(result => result.entities.length === 2);
|
|
@@ -149,7 +149,7 @@ describe('PartyCore', () => {
|
|
|
149
149
|
|
|
150
150
|
const otherFeedKey = PublicKey.random();
|
|
151
151
|
|
|
152
|
-
const party = new
|
|
152
|
+
const party = new PartyPipeline(
|
|
153
153
|
partyKey.publicKey,
|
|
154
154
|
partyFeedProvider,
|
|
155
155
|
modelFactory,
|
|
@@ -250,6 +250,28 @@ describe('PartyCore', () => {
|
|
|
250
250
|
await promiseTimeout(party.database.waitForItem({ id: itemId }), 1000, new Error('timeout'));
|
|
251
251
|
});
|
|
252
252
|
|
|
253
|
+
test('wait to reach specific timeframe', async () => {
|
|
254
|
+
const { party, feedKey } = await setup();
|
|
255
|
+
|
|
256
|
+
{
|
|
257
|
+
const parent = await party.database.createItem({ model: ObjectModel, type: 'parent' });
|
|
258
|
+
const child = await party.database.createItem({
|
|
259
|
+
model: ObjectModel,
|
|
260
|
+
parent: parent.id,
|
|
261
|
+
type: 'child'
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
expect(child.parent).toEqual(parent);
|
|
265
|
+
expect(parent.children).toContain(child);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
const timeframe = party.timeframe;
|
|
269
|
+
expect(timeframe.isEmpty()).toBeFalsy();
|
|
270
|
+
|
|
271
|
+
await party.close();
|
|
272
|
+
await party.open({ feedHints: [feedKey], targetTimeframe: timeframe });
|
|
273
|
+
});
|
|
274
|
+
|
|
253
275
|
test('two instances replicating', async () => {
|
|
254
276
|
const peer1 = await setup();
|
|
255
277
|
|
|
@@ -264,7 +286,7 @@ describe('PartyCore', () => {
|
|
|
264
286
|
|
|
265
287
|
const partyFeedProvider = new PartyFeedProvider(metadataStore, peer1.keyring, feedStore, peer1.party.key);
|
|
266
288
|
|
|
267
|
-
const party2 = new
|
|
289
|
+
const party2 = new PartyPipeline(
|
|
268
290
|
peer1.party.key,
|
|
269
291
|
partyFeedProvider,
|
|
270
292
|
modelFactory,
|
|
@@ -8,17 +8,17 @@ import { synchronized } from '@dxos/async';
|
|
|
8
8
|
import { KeyType, Message as HaloMessage } from '@dxos/credentials';
|
|
9
9
|
import { PublicKey } from '@dxos/crypto';
|
|
10
10
|
import { timed } from '@dxos/debug';
|
|
11
|
-
import { createFeedWriter, DatabaseSnapshot, FeedWriter, PartyKey, PartySnapshot, Timeframe } from '@dxos/echo-protocol';
|
|
11
|
+
import { createFeedWriter, DatabaseSnapshot, FeedSelector, FeedWriter, PartyKey, PartySnapshot, Timeframe } from '@dxos/echo-protocol';
|
|
12
12
|
import { ModelFactory } from '@dxos/model-factory';
|
|
13
13
|
import { SubscriptionGroup } from '@dxos/util';
|
|
14
14
|
|
|
15
|
+
import { createMessageSelector, PartyProcessor, PartyFeedProvider, FeedMuxer } from '.';
|
|
15
16
|
import { Database, FeedDatabaseBackend, TimeframeClock } from '../packlets/database';
|
|
16
|
-
import { createMessageSelector, PartyProcessor, PartyFeedProvider, Pipeline } from '../pipeline';
|
|
17
17
|
import { createAutomaticSnapshots, SnapshotStore } from '../snapshots';
|
|
18
18
|
|
|
19
19
|
const DEFAULT_SNAPSHOT_INTERVAL = 100; // Every 100 messages.
|
|
20
20
|
|
|
21
|
-
export interface
|
|
21
|
+
export interface PipelineOptions {
|
|
22
22
|
readLogger?: (msg: any) => void;
|
|
23
23
|
writeLogger?: (msg: any) => void;
|
|
24
24
|
readOnly?: boolean;
|
|
@@ -52,7 +52,7 @@ export interface OpenOptions {
|
|
|
52
52
|
*
|
|
53
53
|
* The core class also handles the combined ECHO and HALO state snapshots.
|
|
54
54
|
*/
|
|
55
|
-
export class
|
|
55
|
+
export class PartyPipeline {
|
|
56
56
|
/**
|
|
57
57
|
* Snapshot to be restored from when party.open() is called.
|
|
58
58
|
*/
|
|
@@ -61,7 +61,7 @@ export class PartyCore {
|
|
|
61
61
|
private readonly _subscriptions = new SubscriptionGroup();
|
|
62
62
|
|
|
63
63
|
private _database?: Database;
|
|
64
|
-
private _pipeline?:
|
|
64
|
+
private _pipeline?: FeedMuxer;
|
|
65
65
|
private _partyProcessor?: PartyProcessor;
|
|
66
66
|
private _timeframeClock?: TimeframeClock;
|
|
67
67
|
|
|
@@ -71,7 +71,7 @@ export class PartyCore {
|
|
|
71
71
|
private readonly _modelFactory: ModelFactory,
|
|
72
72
|
private readonly _snapshotStore: SnapshotStore,
|
|
73
73
|
private readonly _memberKey: PublicKey,
|
|
74
|
-
private readonly _options:
|
|
74
|
+
private readonly _options: PipelineOptions = {}
|
|
75
75
|
) { }
|
|
76
76
|
|
|
77
77
|
get key (): PartyKey {
|
|
@@ -126,7 +126,8 @@ export class PartyCore {
|
|
|
126
126
|
async open (options: OpenOptions = {}) {
|
|
127
127
|
const {
|
|
128
128
|
feedHints = [],
|
|
129
|
-
initialTimeframe
|
|
129
|
+
initialTimeframe,
|
|
130
|
+
targetTimeframe
|
|
130
131
|
} = options;
|
|
131
132
|
|
|
132
133
|
if (this.isOpen) {
|
|
@@ -135,8 +136,6 @@ export class PartyCore {
|
|
|
135
136
|
|
|
136
137
|
this._timeframeClock = new TimeframeClock(initialTimeframe);
|
|
137
138
|
|
|
138
|
-
// Open all feeds known from metadata and open or create a writable feed to the party.
|
|
139
|
-
await this._feedProvider.openKnownFeeds();
|
|
140
139
|
const writableFeed = await this._feedProvider.createOrOpenWritableFeed();
|
|
141
140
|
|
|
142
141
|
if (!this._partyProcessor) {
|
|
@@ -158,26 +157,34 @@ export class PartyCore {
|
|
|
158
157
|
|
|
159
158
|
const iterator = await this._feedProvider.createIterator(
|
|
160
159
|
createMessageSelector(this._partyProcessor, this._timeframeClock),
|
|
160
|
+
createFeedSelector(this._partyProcessor, feedHints),
|
|
161
161
|
initialTimeframe
|
|
162
162
|
);
|
|
163
163
|
|
|
164
|
-
this._pipeline = new
|
|
165
|
-
this._partyProcessor,
|
|
164
|
+
this._pipeline = new FeedMuxer(
|
|
165
|
+
this._partyProcessor,
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
|
|
167
|
+
iterator,
|
|
168
|
+
this._timeframeClock,
|
|
169
|
+
createFeedWriter(writableFeed.feed),
|
|
170
|
+
this._options
|
|
171
|
+
);
|
|
169
172
|
|
|
170
173
|
//
|
|
171
174
|
// Database
|
|
172
175
|
//
|
|
173
176
|
|
|
177
|
+
const databaseBackend = new FeedDatabaseBackend(this._pipeline.outboundEchoStream, this._databaseSnapshot, { snapshots: true });
|
|
174
178
|
this._database = new Database(
|
|
175
179
|
this._modelFactory,
|
|
176
|
-
|
|
180
|
+
databaseBackend,
|
|
177
181
|
this._memberKey
|
|
178
182
|
);
|
|
179
183
|
|
|
184
|
+
// Open pipeline and connect it to the database.
|
|
180
185
|
await this._database.initialize();
|
|
186
|
+
this._pipeline.setEchoProcessor(databaseBackend.echoProcessor);
|
|
187
|
+
await this._pipeline.open();
|
|
181
188
|
|
|
182
189
|
// TODO(burdon): Propagate errors.
|
|
183
190
|
this._subscriptions.push(this._pipeline.errors.on(err => console.error(err)));
|
|
@@ -191,6 +198,10 @@ export class PartyCore {
|
|
|
191
198
|
);
|
|
192
199
|
}
|
|
193
200
|
|
|
201
|
+
if (targetTimeframe) {
|
|
202
|
+
await this._timeframeClock.waitUntilReached(targetTimeframe);
|
|
203
|
+
}
|
|
204
|
+
|
|
194
205
|
return this;
|
|
195
206
|
}
|
|
196
207
|
|
|
@@ -244,3 +255,5 @@ export class PartyCore {
|
|
|
244
255
|
this._databaseSnapshot = snapshot.database;
|
|
245
256
|
}
|
|
246
257
|
}
|
|
258
|
+
|
|
259
|
+
const createFeedSelector = (partyProcessor: PartyProcessor, hints: PublicKey[]): FeedSelector => feed => hints.some(hint => hint.equals(feed.key)) || partyProcessor.isFeedAdmitted(feed.key);
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
import debug from 'debug';
|
|
6
6
|
|
|
7
7
|
import { TimeframeClock } from '../packlets/database';
|
|
8
|
-
import {
|
|
8
|
+
import { PartyPipeline } from '../pipeline';
|
|
9
9
|
import { SnapshotStore } from './snapshot-store';
|
|
10
10
|
|
|
11
11
|
const log = debug('dxos:snapshot-generator');
|
|
12
12
|
|
|
13
|
-
export const createAutomaticSnapshots = (party:
|
|
13
|
+
export const createAutomaticSnapshots = (party: PartyPipeline, clock: TimeframeClock, store: SnapshotStore, interval: number) => clock.update.on(async timeframe => {
|
|
14
14
|
const totalMessages = timeframe.totalMessages();
|
|
15
15
|
if (totalMessages > 0 && totalMessages % interval === 0) {
|
|
16
16
|
log(`Saving snapshot of ${party.key.humanize()}...`);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"party-core.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-core.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAsC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACzH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAuC,MAAM,sBAAsB,CAAC;AACrF,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,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAA;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAA;CAC5B;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,QAAQ;IAlB3B;;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,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,IAAI,iBAAiB,IAAK,UAAU,CAAC,WAAW,CAAC,CAGhD;IAED;;OAEG;IAGG,IAAI,CAAE,OAAO,GAAE,WAAgB;IAuErC;;OAEG;IAEG,KAAK;IAmBX;;OAEG;IACH,cAAc,IAAK,aAAa;IAY1B,mBAAmB,CAAE,QAAQ,EAAE,aAAa;CAWnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"party-core.js","sourceRoot":"","sources":["../../../src/pipeline/party-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"party-core.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/party-core.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"party-core.test.js","sourceRoot":"","sources":["../../../src/pipeline/party-core.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/pipeline/pipeline.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EACW,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EACzE,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,UAAU,OAAO;IACf,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IAC/B,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;CACjC;AAID;;GAEG;AACH,qBAAa,QAAQ;IA0BjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA7B3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C;;OAEG;IACH,OAAO,CAAC,kBAAkB,CAAuB;IAEjD;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAuC;IAElE;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAsC;IAEjE;;;;;;OAMG;gBAEgB,eAAe,EAAE,mBAAmB,GAAG,kBAAkB,EACzD,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,cAAc,EAC/B,WAAW,CAAC,qCAAyB,EACrC,QAAQ,GAAE,OAAY;IAGzC,IAAI,MAAM,YAET;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,iBAAiB,yBAEpB;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAI,kBAAkB,wCAErB;IAED,IAAI,MAAM,iBAET;IAED;;;;;;;;;OASG;IACG,IAAI,IAAK,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAuF1E;;OAEG;IAEG,KAAK;CAUZ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/pipeline/pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.test.d.ts","sourceRoot":"","sources":["../../../src/pipeline/pipeline.test.ts"],"names":[],"mappings":""}
|