@dxos/echo-pipeline 0.8.4-main.ae835ea → 0.8.4-main.bc674ce
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/lib/browser/{chunk-WJJXJTNS.mjs → chunk-FJPXA75J.mjs} +7 -12
- package/dist/lib/browser/chunk-FJPXA75J.mjs.map +7 -0
- package/dist/lib/browser/{chunk-FR6GJ4S4.mjs → chunk-WIQUYO7H.mjs} +39 -29
- package/dist/lib/browser/chunk-WIQUYO7H.mjs.map +7 -0
- package/dist/lib/browser/filter/index.mjs +1 -2
- package/dist/lib/browser/index.mjs +1933 -620
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +28 -201
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/{chunk-JQCCVDLT.mjs → chunk-7PL6UK4B.mjs} +39 -29
- package/dist/lib/node-esm/chunk-7PL6UK4B.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-LEQ77KAT.mjs → chunk-S5KGVQFZ.mjs} +7 -12
- package/dist/lib/node-esm/chunk-S5KGVQFZ.mjs.map +7 -0
- package/dist/lib/node-esm/filter/index.mjs +1 -2
- package/dist/lib/node-esm/index.mjs +1933 -620
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +28 -201
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/automerge/automerge-host.d.ts +36 -9
- package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
- package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
- package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
- package/dist/types/src/automerge/collection-synchronizer.d.ts +3 -2
- package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-network-adapter.d.ts +11 -6
- package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/echo-replicator.d.ts +9 -6
- package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
- package/dist/types/src/automerge/heads-store.d.ts +9 -2
- package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +4 -4
- package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +7 -7
- package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
- package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
- package/dist/types/src/db-host/automerge-data-source.d.ts +34 -0
- package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
- package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
- package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
- package/dist/types/src/db-host/data-service.d.ts +4 -3
- package/dist/types/src/db-host/data-service.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-iterator.d.ts.map +1 -1
- package/dist/types/src/db-host/documents-synchronizer.d.ts +6 -5
- package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
- package/dist/types/src/db-host/echo-host.d.ts +43 -11
- package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
- package/dist/types/src/db-host/index.d.ts +1 -0
- package/dist/types/src/db-host/index.d.ts.map +1 -1
- package/dist/types/src/db-host/local-queue-service.d.ts +15 -0
- package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
- package/dist/types/src/db-host/query-service.d.ts +7 -2
- package/dist/types/src/db-host/query-service.d.ts.map +1 -1
- package/dist/types/src/db-host/queue-data-source.d.ts +28 -0
- package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
- package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
- package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
- package/dist/types/src/db-host/space-state-manager.d.ts +1 -0
- package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
- package/dist/types/src/db-host/stub.d.ts +10 -0
- package/dist/types/src/db-host/stub.d.ts.map +1 -0
- package/dist/types/src/edge/echo-edge-replicator.d.ts +2 -2
- package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
- package/dist/types/src/filter/filter-match.d.ts.map +1 -1
- package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
- package/dist/types/src/pipeline/pipeline.d.ts +2 -2
- package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
- package/dist/types/src/query/errors.d.ts +11 -15
- package/dist/types/src/query/errors.d.ts.map +1 -1
- package/dist/types/src/query/plan.d.ts +37 -3
- package/dist/types/src/query/plan.d.ts.map +1 -1
- package/dist/types/src/query/query-executor.d.ts +39 -3
- package/dist/types/src/query/query-executor.d.ts.map +1 -1
- package/dist/types/src/query/query-planner.d.ts +6 -0
- package/dist/types/src/query/query-planner.d.ts.map +1 -1
- package/dist/types/src/space/auth.d.ts +3 -3
- package/dist/types/src/space/auth.d.ts.map +1 -1
- package/dist/types/src/space/control-pipeline.d.ts +2 -2
- package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
- package/dist/types/src/space/space-manager.d.ts +6 -6
- package/dist/types/src/space/space-manager.d.ts.map +1 -1
- package/dist/types/src/space/space-protocol.d.ts +5 -5
- package/dist/types/src/space/space-protocol.d.ts.map +1 -1
- package/dist/types/src/space/space.d.ts +3 -3
- package/dist/types/src/space/space.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +0 -2
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-network-adapter.d.ts +1 -1
- package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -1
- package/dist/types/src/testing/test-replicator.d.ts +6 -6
- package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +48 -38
- package/src/automerge/automerge-host.test.ts +37 -14
- package/src/automerge/automerge-host.ts +130 -36
- package/src/automerge/automerge-repo.test.ts +147 -30
- package/src/automerge/collection-synchronizer.test.ts +16 -10
- package/src/automerge/collection-synchronizer.ts +41 -11
- package/src/automerge/echo-network-adapter.ts +23 -11
- package/src/automerge/echo-replicator.ts +10 -6
- package/src/automerge/heads-store.ts +14 -2
- package/src/automerge/leveldb-storage-adapter.ts +4 -4
- package/src/automerge/mesh-echo-replicator-connection.ts +7 -7
- package/src/automerge/mesh-echo-replicator.ts +2 -2
- package/src/db-host/automerge-data-source.test.ts +294 -0
- package/src/db-host/automerge-data-source.ts +144 -0
- package/src/db-host/data-service.ts +10 -3
- package/src/db-host/documents-iterator.ts +3 -1
- package/src/db-host/documents-synchronizer.test.ts +77 -13
- package/src/db-host/documents-synchronizer.ts +51 -50
- package/src/db-host/echo-host.ts +191 -28
- package/src/db-host/index.ts +1 -0
- package/src/db-host/local-queue-service.ts +127 -0
- package/src/db-host/query-service.ts +17 -4
- package/src/db-host/queue-data-source.ts +132 -0
- package/src/db-host/queue-service.test.ts +141 -0
- package/src/db-host/space-state-manager.ts +4 -0
- package/src/db-host/stub.ts +28 -0
- package/src/edge/echo-edge-replicator.ts +12 -8
- package/src/filter/filter-match.test.ts +31 -25
- package/src/filter/filter-match.ts +8 -14
- package/src/metadata/metadata-store.ts +5 -2
- package/src/pipeline/pipeline.ts +2 -2
- package/src/query/errors.ts +2 -2
- package/src/query/plan.ts +48 -3
- package/src/query/query-executor.ts +612 -131
- package/src/query/query-planner.test.ts +509 -35
- package/src/query/query-planner.ts +187 -13
- package/src/space/admission-discovery-extension.ts +1 -1
- package/src/space/auth.ts +6 -6
- package/src/space/control-pipeline.ts +2 -2
- package/src/space/space-manager.ts +6 -6
- package/src/space/space-protocol.ts +11 -11
- package/src/space/space.ts +3 -3
- package/src/testing/index.ts +0 -2
- package/src/testing/test-network-adapter.ts +16 -3
- package/src/testing/test-replicator.ts +8 -7
- package/src/util.ts +7 -3
- package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
- package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
- package/dist/lib/browser/chunk-FR6GJ4S4.mjs.map +0 -7
- package/dist/lib/browser/chunk-WJJXJTNS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-JQCCVDLT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LEQ77KAT.mjs.map +0 -7
- package/dist/types/src/testing/test-data.d.ts +0 -18
- package/dist/types/src/testing/test-data.d.ts.map +0 -1
- package/dist/types/src/testing/test-schema.d.ts +0 -37
- package/dist/types/src/testing/test-schema.d.ts.map +0 -1
- package/src/testing/test-data.ts +0 -127
- package/src/testing/test-schema.ts +0 -53
package/src/pipeline/pipeline.ts
CHANGED
|
@@ -19,7 +19,7 @@ import { createMappedFeedWriter } from '../common';
|
|
|
19
19
|
import { createMessageSelector } from './message-selector';
|
|
20
20
|
import { TimeframeClock, mapFeedIndexesToTimeframe, startAfter } from './timeframe-clock';
|
|
21
21
|
|
|
22
|
-
export type
|
|
22
|
+
export type WaitUntilReachedTargetProps = {
|
|
23
23
|
/**
|
|
24
24
|
* For cancellation.
|
|
25
25
|
*/
|
|
@@ -132,7 +132,7 @@ export class PipelineState {
|
|
|
132
132
|
ctx = new Context(),
|
|
133
133
|
timeout,
|
|
134
134
|
breakOnStall = true,
|
|
135
|
-
}:
|
|
135
|
+
}: WaitUntilReachedTargetProps = {}): Promise<void> {
|
|
136
136
|
log('waitUntilReachedTargetTimeframe', {
|
|
137
137
|
timeout,
|
|
138
138
|
current: this.timeframe,
|
package/src/query/errors.ts
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import { BaseError } from '@dxos/errors';
|
|
6
6
|
|
|
7
|
-
export class QueryError extends BaseError.extend('
|
|
7
|
+
export class QueryError extends BaseError.extend('QueryError') {}
|
|
8
8
|
|
|
9
|
-
export class InvalidQueryError extends QueryError.extend('
|
|
9
|
+
export class InvalidQueryError extends QueryError.extend('InvalidQueryError') {}
|
package/src/query/plan.ts
CHANGED
|
@@ -33,7 +33,8 @@ export namespace QueryPlan {
|
|
|
33
33
|
| TraverseStep
|
|
34
34
|
| UnionStep
|
|
35
35
|
| SetDifferenceStep
|
|
36
|
-
| OrderStep
|
|
36
|
+
| OrderStep
|
|
37
|
+
| LimitStep;
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
40
|
* Clear the current working set.
|
|
@@ -44,13 +45,36 @@ export namespace QueryPlan {
|
|
|
44
45
|
|
|
45
46
|
/**
|
|
46
47
|
* Select objects based on id, typename, or other predicates.
|
|
47
|
-
* Specifies the spaces to select from.
|
|
48
|
+
* Specifies the spaces and/or queues to select from.
|
|
49
|
+
* The results from spaces and queues are unioned together.
|
|
48
50
|
*/
|
|
49
51
|
export type SelectStep = {
|
|
50
52
|
_tag: 'SelectStep';
|
|
51
53
|
|
|
54
|
+
// TODO(dmaretskyi): Extract the object container spec into a separate type in ECHO-protocol that we can share with the indexer.
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Select from specific spaces.
|
|
58
|
+
*/
|
|
52
59
|
spaces: readonly SpaceId[];
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* If true, select from all queues in the spaces specified by `spaces`.
|
|
63
|
+
*/
|
|
64
|
+
allQueuesFromSpaces: boolean;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Select from specific queues.
|
|
68
|
+
*/
|
|
69
|
+
queues: readonly DXN.String[];
|
|
70
|
+
|
|
53
71
|
selector: Selector;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Optional limit on the number of results to select.
|
|
75
|
+
* When set, the index scan can be optimized to stop early.
|
|
76
|
+
*/
|
|
77
|
+
limit?: number;
|
|
54
78
|
};
|
|
55
79
|
|
|
56
80
|
/**
|
|
@@ -91,6 +115,11 @@ export namespace QueryPlan {
|
|
|
91
115
|
|
|
92
116
|
text: string;
|
|
93
117
|
searchKind: TextSearchKind;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Optionally select only objects of the given typenames.
|
|
121
|
+
*/
|
|
122
|
+
typename: DXN.String[] | null;
|
|
94
123
|
};
|
|
95
124
|
|
|
96
125
|
/**
|
|
@@ -151,8 +180,9 @@ export namespace QueryPlan {
|
|
|
151
180
|
|
|
152
181
|
/**
|
|
153
182
|
* Property path where the reference is located.
|
|
183
|
+
* If null, matches references from any property (only valid for incoming direction).
|
|
154
184
|
*/
|
|
155
|
-
property: EscapedPropPath;
|
|
185
|
+
property: EscapedPropPath | null;
|
|
156
186
|
|
|
157
187
|
/**
|
|
158
188
|
* outgoing: the reference points from the anchor object to the target.
|
|
@@ -203,5 +233,20 @@ export namespace QueryPlan {
|
|
|
203
233
|
|
|
204
234
|
// Defaults to natural order if empty.
|
|
205
235
|
order: readonly QueryAST.Order[];
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Optional limit on the number of results to return after ordering.
|
|
239
|
+
* When set, the sorting can be optimized to only track the top N elements.
|
|
240
|
+
*/
|
|
241
|
+
limit?: number;
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Limit the number of results.
|
|
246
|
+
*/
|
|
247
|
+
export type LimitStep = {
|
|
248
|
+
_tag: 'LimitStep';
|
|
249
|
+
|
|
250
|
+
limit: number;
|
|
206
251
|
};
|
|
207
252
|
}
|