@x12i/memorix-retrieval 1.13.0 → 1.15.0
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/README.md +51 -0
- package/dist/descriptors/descriptor-types.d.ts +4 -0
- package/dist/descriptors/descriptor-types.d.ts.map +1 -1
- package/dist/descriptors/resolve-default-descriptors.d.ts +1 -0
- package/dist/descriptors/resolve-default-descriptors.d.ts.map +1 -1
- package/dist/descriptors/resolve-default-descriptors.js +6 -1
- package/dist/descriptors/resolve-default-descriptors.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/mongo/aggregate-collection.d.ts +18 -0
- package/dist/mongo/aggregate-collection.d.ts.map +1 -0
- package/dist/mongo/aggregate-collection.js +35 -0
- package/dist/mongo/aggregate-collection.js.map +1 -0
- package/dist/retrieval/graph-run-buckets.d.ts +11 -0
- package/dist/retrieval/graph-run-buckets.d.ts.map +1 -0
- package/dist/retrieval/graph-run-buckets.js +123 -0
- package/dist/retrieval/graph-run-buckets.js.map +1 -0
- package/dist/retrieval/graph-run-buckets.test.d.ts +2 -0
- package/dist/retrieval/graph-run-buckets.test.d.ts.map +1 -0
- package/dist/retrieval/graph-run-buckets.test.js +28 -0
- package/dist/retrieval/graph-run-buckets.test.js.map +1 -0
- package/dist/retrieval/graph-run-count.d.ts +16 -0
- package/dist/retrieval/graph-run-count.d.ts.map +1 -0
- package/dist/retrieval/graph-run-count.js +25 -0
- package/dist/retrieval/graph-run-count.js.map +1 -0
- package/dist/retrieval/graph-run-count.test.d.ts +2 -0
- package/dist/retrieval/graph-run-count.test.d.ts.map +1 -0
- package/dist/retrieval/graph-run-count.test.js +58 -0
- package/dist/retrieval/graph-run-count.test.js.map +1 -0
- package/dist/retrieval/graph-run-filters.d.ts +2 -25
- package/dist/retrieval/graph-run-filters.d.ts.map +1 -1
- package/dist/retrieval/graph-run-filters.js.map +1 -1
- package/dist/retrieval/processing-overview.d.ts +39 -0
- package/dist/retrieval/processing-overview.d.ts.map +1 -0
- package/dist/retrieval/processing-overview.js +191 -0
- package/dist/retrieval/processing-overview.js.map +1 -0
- package/dist/retrieval/processing-overview.test.d.ts +2 -0
- package/dist/retrieval/processing-overview.test.d.ts.map +1 -0
- package/dist/retrieval/processing-overview.test.js +69 -0
- package/dist/retrieval/processing-overview.test.js.map +1 -0
- package/docs/MEMORIX-CATALOX-CONTRACTS.md +11 -1
- package/package.json +9 -4
package/README.md
CHANGED
|
@@ -141,6 +141,57 @@ const list = await fetchMemorixListForEntity(client, {
|
|
|
141
141
|
|
|
142
142
|
Item reads include `_graphRuns` by default (`includeGraphRuns` defaults to true). Writer APIs: `@x12i/memorix-writer` — see [memorix-writer/docs/GRAPH-RUNS.md](../memorix-writer/docs/GRAPH-RUNS.md).
|
|
143
143
|
|
|
144
|
+
### Graph-run counts and processing overview
|
|
145
|
+
|
|
146
|
+
Count documents by graph-run filter without fetching bodies (`countDocuments` only — never paginated reads):
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
import {
|
|
150
|
+
countByGraphRunFilter,
|
|
151
|
+
getProcessingOverview,
|
|
152
|
+
} from "@x12i/memorix-retrieval";
|
|
153
|
+
|
|
154
|
+
const pending = await countByGraphRunFilter(client, {
|
|
155
|
+
target: "entity",
|
|
156
|
+
collection: "assets-snapshots",
|
|
157
|
+
graphRunFilter: { graphRunNotDone: { graphId: "graph-qcrbz6t" } },
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
const overview = await getProcessingOverview(client, {
|
|
161
|
+
appId: "memorix",
|
|
162
|
+
objectTypes: ["assets", "subnets"],
|
|
163
|
+
graphIds: ["graph-qcrbz6t"], // omit to discover graphIds from _graphRuns data
|
|
164
|
+
estimated: true, // approximate recordTotal only; bucket counts stay exact
|
|
165
|
+
});
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Returns `byTarget` (storage-tier rollups), `byEntity` (per object type), and `byGraph` (per graphId) without paginating documents.
|
|
169
|
+
|
|
170
|
+
**Index requirement** on each canonical collection:
|
|
171
|
+
|
|
172
|
+
```javascript
|
|
173
|
+
db.<canonicalCollection>.createIndex({ _graphRuns: 1 }, { sparse: true, name: "idx_graphRuns" });
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Nested path filters (`_graphRuns.<graphId>.status`) use the sparse top-level index as baseline; per-graph compound indexes remain opt-in via `@x12i/memorix-writer` `ensureGraphRunIndexes`.
|
|
177
|
+
|
|
178
|
+
**Estimated counts:** Pass `estimated: true` for large unfiltered totals (`estimatedDocumentCount` / `$collStats`). Graph-run bucket counts always use exact `countDocuments` even when `estimated: true`.
|
|
179
|
+
|
|
180
|
+
### Entity identity field
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import {
|
|
184
|
+
resolveDefaultListDescriptorForEntity,
|
|
185
|
+
resolveEntityIdentityField,
|
|
186
|
+
} from "@x12i/memorix-retrieval";
|
|
187
|
+
|
|
188
|
+
const { entity, list, identityField } = await resolveDefaultListDescriptorForEntity(
|
|
189
|
+
client,
|
|
190
|
+
"subnets",
|
|
191
|
+
);
|
|
192
|
+
// identityField === "subnetId" when declared on descriptor; else target default
|
|
193
|
+
```
|
|
194
|
+
|
|
144
195
|
## Last-dash collection parsing
|
|
145
196
|
|
|
146
197
|
Collection names follow `<objectName>-<contentType>` where the **last** dash is the separator (object names may contain dashes):
|
|
@@ -22,6 +22,7 @@ export type MemorixMultiMatchRule = {
|
|
|
22
22
|
effectiveDatePath?: string;
|
|
23
23
|
fallbackEffectiveDatePaths?: string[];
|
|
24
24
|
};
|
|
25
|
+
export type MemorixContentTypeCardinality = "1:1" | "1:n";
|
|
25
26
|
export type MemorixContentTypeDescriptor = {
|
|
26
27
|
postfix: string;
|
|
27
28
|
collection?: string;
|
|
@@ -33,6 +34,7 @@ export type MemorixContentTypeDescriptor = {
|
|
|
33
34
|
extendFields?: MemorixMultiMatchRule["strategy"];
|
|
34
35
|
array?: MemorixMultiMatchRule["strategy"];
|
|
35
36
|
};
|
|
37
|
+
cardinality?: MemorixContentTypeCardinality;
|
|
36
38
|
};
|
|
37
39
|
export type MemorixPropertyContentDescriptor = {
|
|
38
40
|
enabled: true;
|
|
@@ -92,6 +94,8 @@ export type MemorixEntityDescriptor = {
|
|
|
92
94
|
defaultItemDescriptorId: string;
|
|
93
95
|
/** Selects memorix-entities vs memorix-events vs memorix-knowledge via env (default: entity). */
|
|
94
96
|
target?: "entity" | "event" | "knowledge";
|
|
97
|
+
/** Primary FK linking all content-type collections of this object type. */
|
|
98
|
+
identityField?: string;
|
|
95
99
|
collectionPrefix: string;
|
|
96
100
|
identity: {
|
|
97
101
|
allowedIdFields: Array<"entityId" | "eventId" | "knowledgeId">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"descriptor-types.d.ts","sourceRoot":"","sources":["../../src/descriptors/descriptor-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,+BAA+B,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,CAAC,EAAE;QAClB,YAAY,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACjD,KAAK,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;KAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"descriptor-types.d.ts","sourceRoot":"","sources":["../../src/descriptors/descriptor-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { MemorixEntityDescriptor, MemorixEntityListDescriptor, MemorixItemD
|
|
|
3
3
|
export declare function resolveDefaultListDescriptorForEntity(client: MemorixRetrievalClient, entityName: string): Promise<{
|
|
4
4
|
entity: MemorixEntityDescriptor;
|
|
5
5
|
list: MemorixEntityListDescriptor;
|
|
6
|
+
identityField: string;
|
|
6
7
|
}>;
|
|
7
8
|
export declare function resolveDefaultItemDescriptorForEntity(client: MemorixRetrievalClient, entityName: string): Promise<{
|
|
8
9
|
entity: MemorixEntityDescriptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-default-descriptors.d.ts","sourceRoot":"","sources":["../../src/descriptors/resolve-default-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-default-descriptors.d.ts","sourceRoot":"","sources":["../../src/descriptors/resolve-default-descriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAmB/B,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,2BAA2B,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,CAiBD;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IACT,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAaD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveEntityIdentityField } from "@x12i/memorix-descriptors/catalog";
|
|
1
2
|
import { throwRetrievalError } from "../errors/errors.js";
|
|
2
3
|
import { loadMemorixEntityDescriptorByName } from "./discover-entities.js";
|
|
3
4
|
import { loadMemorixItemDescriptor } from "./load-item-descriptor.js";
|
|
@@ -11,7 +12,11 @@ export async function resolveDefaultListDescriptorForEntity(client, entityName)
|
|
|
11
12
|
const entity = await loadMemorixEntityDescriptorByName(client, entityName);
|
|
12
13
|
const list = await loadMemorixEntityListDescriptor(client, entity.defaultListDescriptorId);
|
|
13
14
|
assertDescriptorEntityMatch(entity, list.entity, "list", entity.defaultListDescriptorId);
|
|
14
|
-
return {
|
|
15
|
+
return {
|
|
16
|
+
entity,
|
|
17
|
+
list,
|
|
18
|
+
identityField: resolveEntityIdentityField(entity),
|
|
19
|
+
};
|
|
15
20
|
}
|
|
16
21
|
export async function resolveDefaultItemDescriptorForEntity(client, entityName) {
|
|
17
22
|
const entity = await loadMemorixEntityDescriptorByName(client, entityName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-default-descriptors.js","sourceRoot":"","sources":["../../src/descriptors/resolve-default-descriptors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,SAAS,2BAA2B,CAClC,MAA+B,EAC/B,gBAAwB,EACxB,cAA+B,EAC/B,YAAoB;IAEpB,IAAI,gBAAgB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,mBAAmB,CACjB,oBAAoB,EACpB,GAAG,cAAc,gBAAgB,YAAY,aAAa,gBAAgB,0CAA0C,MAAM,CAAC,EAAE,GAAG,CACjI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,MAA8B,EAC9B,UAAkB;
|
|
1
|
+
{"version":3,"file":"resolve-default-descriptors.js","sourceRoot":"","sources":["../../src/descriptors/resolve-default-descriptors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,SAAS,2BAA2B,CAClC,MAA+B,EAC/B,gBAAwB,EACxB,cAA+B,EAC/B,YAAoB;IAEpB,IAAI,gBAAgB,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC;QACnC,mBAAmB,CACjB,oBAAoB,EACpB,GAAG,cAAc,gBAAgB,YAAY,aAAa,gBAAgB,0CAA0C,MAAM,CAAC,EAAE,GAAG,CACjI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,MAA8B,EAC9B,UAAkB;IAMlB,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,+BAA+B,CAChD,MAAM,EACN,MAAM,CAAC,uBAAuB,CAC/B,CAAC;IACF,2BAA2B,CACzB,MAAM,EACN,IAAI,CAAC,MAAM,EACX,MAAM,EACN,MAAM,CAAC,uBAAuB,CAC/B,CAAC;IACF,OAAO;QACL,MAAM;QACN,IAAI;QACJ,aAAa,EAAE,0BAA0B,CAAC,MAAM,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,MAA8B,EAC9B,UAAkB;IAKlB,MAAM,MAAM,GAAG,MAAM,iCAAiC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,yBAAyB,CAC1C,MAAM,EACN,MAAM,CAAC,uBAAuB,CAC/B,CAAC;IACF,2BAA2B,CACzB,MAAM,EACN,IAAI,CAAC,MAAM,EACX,MAAM,EACN,MAAM,CAAC,uBAAuB,CAC/B,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,11 @@ export { countScopedWorkspaceDocuments, listScopedWorkspaceDocuments, listScoped
|
|
|
42
42
|
export { resolveMemorixAppId } from "./descriptors/resolve-app-id.js";
|
|
43
43
|
export { mergeListDescriptorFilters } from "./retrieval/resolve-filters.js";
|
|
44
44
|
export { compileGraphRunFilter, compileGraphRunFilters, type GraphRunFilterInput, } from "./retrieval/graph-run-filters.js";
|
|
45
|
+
export { countByGraphRunFilter, type CountByGraphRunFilterParams, type MemorixCountResult, } from "./retrieval/graph-run-count.js";
|
|
46
|
+
export { getProcessingOverview, type ProcessingOverviewRequest, type ProcessingOverviewResponse, type TargetRecordStats, type EntityProcessingRollup, type GraphProcessingRollup, } from "./retrieval/processing-overview.js";
|
|
47
|
+
export { buildGraphRunProcessedBucketQuery, buildGraphRunFailedBucketQuery, buildGraphRunPendingBucketQuery, buildGraphRunStatusForGraphQuery, buildGraphRunPendingForGraphQuery, } from "./retrieval/graph-run-buckets.js";
|
|
48
|
+
export { resolveEntityIdentityField, } from "@x12i/memorix-descriptors/catalog";
|
|
49
|
+
export { resolveContentTypeCardinality } from "@x12i/memorix-descriptors";
|
|
45
50
|
export { memorixRead, memorixXronoxRead, resolveMemorixXronoxRole, DEFAULT_MEMORIX_XRONOX_ROLES, } from "./data/memorix-read.js";
|
|
46
51
|
export { memorixCount, type MemorixCountParams } from "./data/memorix-count.js";
|
|
47
52
|
export { applyMemorixEnvBridgeToProcess, resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, syncMemorixEnvToXronox, targetCollectionEnvKey, } from "./mongo/env.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -42,6 +42,11 @@ export { countScopedWorkspaceDocuments, listScopedWorkspaceDocuments, listScoped
|
|
|
42
42
|
export { resolveMemorixAppId } from "./descriptors/resolve-app-id.js";
|
|
43
43
|
export { mergeListDescriptorFilters } from "./retrieval/resolve-filters.js";
|
|
44
44
|
export { compileGraphRunFilter, compileGraphRunFilters, } from "./retrieval/graph-run-filters.js";
|
|
45
|
+
export { countByGraphRunFilter, } from "./retrieval/graph-run-count.js";
|
|
46
|
+
export { getProcessingOverview, } from "./retrieval/processing-overview.js";
|
|
47
|
+
export { buildGraphRunProcessedBucketQuery, buildGraphRunFailedBucketQuery, buildGraphRunPendingBucketQuery, buildGraphRunStatusForGraphQuery, buildGraphRunPendingForGraphQuery, } from "./retrieval/graph-run-buckets.js";
|
|
48
|
+
export { resolveEntityIdentityField, } from "@x12i/memorix-descriptors/catalog";
|
|
49
|
+
export { resolveContentTypeCardinality } from "@x12i/memorix-descriptors";
|
|
45
50
|
export { memorixRead, memorixXronoxRead, resolveMemorixXronoxRole, DEFAULT_MEMORIX_XRONOX_ROLES, } from "./data/memorix-read.js";
|
|
46
51
|
export { memorixCount } from "./data/memorix-count.js";
|
|
47
52
|
export { applyMemorixEnvBridgeToProcess, resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, syncMemorixEnvToXronox, targetCollectionEnvKey, } from "./mongo/env.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MongoClient } from "mongodb";
|
|
2
|
+
export type AggregateMemorixCollectionParams = {
|
|
3
|
+
db: string;
|
|
4
|
+
collection: string;
|
|
5
|
+
pipeline: Record<string, unknown>[];
|
|
6
|
+
};
|
|
7
|
+
export declare function aggregateMemorixCollection<T extends Record<string, unknown>>(client: MongoClient, params: AggregateMemorixCollectionParams): Promise<T[]>;
|
|
8
|
+
export declare function estimatedMemorixCollectionCount(client: MongoClient, params: Pick<AggregateMemorixCollectionParams, "db" | "collection">): Promise<number>;
|
|
9
|
+
export type GraphRunStatusAggregateRow = {
|
|
10
|
+
_id: {
|
|
11
|
+
graphId: string;
|
|
12
|
+
status: string | null;
|
|
13
|
+
};
|
|
14
|
+
count: number;
|
|
15
|
+
};
|
|
16
|
+
/** Discover graphId + status counts from _graphRuns on a collection. */
|
|
17
|
+
export declare function buildGraphRunDiscoveryPipeline(): Record<string, unknown>[];
|
|
18
|
+
//# sourceMappingURL=aggregate-collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate-collection.d.ts","sourceRoot":"","sources":["../../src/mongo/aggregate-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,gCAAgC,GAAG;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACrC,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChF,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,CAAC,EAAE,CAAC,CAMd;AAED,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,IAAI,GAAG,YAAY,CAAC,GAClE,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wEAAwE;AACxE,wBAAgB,8BAA8B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAe1E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export async function aggregateMemorixCollection(client, params) {
|
|
2
|
+
return client
|
|
3
|
+
.db(params.db)
|
|
4
|
+
.collection(params.collection)
|
|
5
|
+
.aggregate(params.pipeline)
|
|
6
|
+
.toArray();
|
|
7
|
+
}
|
|
8
|
+
export async function estimatedMemorixCollectionCount(client, params) {
|
|
9
|
+
const stats = await client
|
|
10
|
+
.db(params.db)
|
|
11
|
+
.command({ collStats: params.collection, scale: 1 });
|
|
12
|
+
const count = stats.count;
|
|
13
|
+
if (typeof count === "number" && Number.isFinite(count)) {
|
|
14
|
+
return count;
|
|
15
|
+
}
|
|
16
|
+
return client.db(params.db).collection(params.collection).estimatedDocumentCount();
|
|
17
|
+
}
|
|
18
|
+
/** Discover graphId + status counts from _graphRuns on a collection. */
|
|
19
|
+
export function buildGraphRunDiscoveryPipeline() {
|
|
20
|
+
return [
|
|
21
|
+
{ $match: { _graphRuns: { $exists: true, $type: "object" } } },
|
|
22
|
+
{ $project: { entries: { $objectToArray: "$_graphRuns" } } },
|
|
23
|
+
{ $unwind: "$entries" },
|
|
24
|
+
{
|
|
25
|
+
$group: {
|
|
26
|
+
_id: {
|
|
27
|
+
graphId: "$entries.k",
|
|
28
|
+
status: "$entries.v.status",
|
|
29
|
+
},
|
|
30
|
+
count: { $sum: 1 },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=aggregate-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregate-collection.js","sourceRoot":"","sources":["../../src/mongo/aggregate-collection.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAmB,EACnB,MAAwC;IAExC,OAAO,MAAM;SACV,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACb,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;SAC7B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1B,OAAO,EAAkB,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,MAAmB,EACnB,MAAmE;IAEnE,MAAM,KAAK,GAAG,MAAM,MAAM;SACvB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;SACb,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAI,KAA4B,CAAC,KAAK,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,sBAAsB,EAAE,CAAC;AACrF,CAAC;AAOD,wEAAwE;AACxE,MAAM,UAAU,8BAA8B;IAC5C,OAAO;QACL,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,EAAE;QAC5D,EAAE,OAAO,EAAE,UAAU,EAAE;QACvB;YACE,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,mBAAmB;iBAC5B;gBACD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;aACnB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Per-record bucket: at least one done and no failed entries. */
|
|
2
|
+
export declare function buildGraphRunProcessedBucketQuery(): Record<string, unknown>;
|
|
3
|
+
/** Per-record bucket: at least one failed entry (wins over done). */
|
|
4
|
+
export declare function buildGraphRunFailedBucketQuery(): Record<string, unknown>;
|
|
5
|
+
/** Per-record bucket: no done and no failed (includes in_progress and absent). */
|
|
6
|
+
export declare function buildGraphRunPendingBucketQuery(): Record<string, unknown>;
|
|
7
|
+
/** Per-graphId status filter on canonical document. */
|
|
8
|
+
export declare function buildGraphRunStatusForGraphQuery(graphId: string, status: "in_progress" | "done" | "failed"): Record<string, unknown>;
|
|
9
|
+
/** Per-graphId pending: absent key or status not in done/failed/in_progress. */
|
|
10
|
+
export declare function buildGraphRunPendingForGraphQuery(graphId: string): Record<string, unknown>;
|
|
11
|
+
//# sourceMappingURL=graph-run-buckets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-buckets.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-buckets.ts"],"names":[],"mappings":"AAEA,kEAAkE;AAClE,wBAAgB,iCAAiC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuC3E;AAED,qEAAqE;AACrE,wBAAgB,8BAA8B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBxE;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuCzE;AAED,uDAAuD;AACvD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,QAAQ,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAED,gFAAgF;AAChF,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
const GRAPH_RUNS_FIELD = "_graphRuns";
|
|
2
|
+
/** Per-record bucket: at least one done and no failed entries. */
|
|
3
|
+
export function buildGraphRunProcessedBucketQuery() {
|
|
4
|
+
return {
|
|
5
|
+
$expr: {
|
|
6
|
+
$and: [
|
|
7
|
+
{
|
|
8
|
+
$gt: [
|
|
9
|
+
{
|
|
10
|
+
$size: {
|
|
11
|
+
$filter: {
|
|
12
|
+
input: {
|
|
13
|
+
$objectToArray: { $ifNull: [`$${GRAPH_RUNS_FIELD}`, {}] },
|
|
14
|
+
},
|
|
15
|
+
as: "entry",
|
|
16
|
+
cond: { $eq: ["$$entry.v.status", "done"] },
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
0,
|
|
21
|
+
],
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
$eq: [
|
|
25
|
+
{
|
|
26
|
+
$size: {
|
|
27
|
+
$filter: {
|
|
28
|
+
input: {
|
|
29
|
+
$objectToArray: { $ifNull: [`$${GRAPH_RUNS_FIELD}`, {}] },
|
|
30
|
+
},
|
|
31
|
+
as: "entry",
|
|
32
|
+
cond: { $eq: ["$$entry.v.status", "failed"] },
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
0,
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Per-record bucket: at least one failed entry (wins over done). */
|
|
44
|
+
export function buildGraphRunFailedBucketQuery() {
|
|
45
|
+
return {
|
|
46
|
+
$expr: {
|
|
47
|
+
$gt: [
|
|
48
|
+
{
|
|
49
|
+
$size: {
|
|
50
|
+
$filter: {
|
|
51
|
+
input: {
|
|
52
|
+
$objectToArray: { $ifNull: [`$${GRAPH_RUNS_FIELD}`, {}] },
|
|
53
|
+
},
|
|
54
|
+
as: "entry",
|
|
55
|
+
cond: { $eq: ["$$entry.v.status", "failed"] },
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
0,
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/** Per-record bucket: no done and no failed (includes in_progress and absent). */
|
|
65
|
+
export function buildGraphRunPendingBucketQuery() {
|
|
66
|
+
return {
|
|
67
|
+
$expr: {
|
|
68
|
+
$and: [
|
|
69
|
+
{
|
|
70
|
+
$eq: [
|
|
71
|
+
{
|
|
72
|
+
$size: {
|
|
73
|
+
$filter: {
|
|
74
|
+
input: {
|
|
75
|
+
$objectToArray: { $ifNull: [`$${GRAPH_RUNS_FIELD}`, {}] },
|
|
76
|
+
},
|
|
77
|
+
as: "entry",
|
|
78
|
+
cond: { $eq: ["$$entry.v.status", "done"] },
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
0,
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
$eq: [
|
|
87
|
+
{
|
|
88
|
+
$size: {
|
|
89
|
+
$filter: {
|
|
90
|
+
input: {
|
|
91
|
+
$objectToArray: { $ifNull: [`$${GRAPH_RUNS_FIELD}`, {}] },
|
|
92
|
+
},
|
|
93
|
+
as: "entry",
|
|
94
|
+
cond: { $eq: ["$$entry.v.status", "failed"] },
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
0,
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/** Per-graphId status filter on canonical document. */
|
|
106
|
+
export function buildGraphRunStatusForGraphQuery(graphId, status) {
|
|
107
|
+
return { [`${GRAPH_RUNS_FIELD}.${graphId}.status`]: status };
|
|
108
|
+
}
|
|
109
|
+
/** Per-graphId pending: absent key or status not in done/failed/in_progress. */
|
|
110
|
+
export function buildGraphRunPendingForGraphQuery(graphId) {
|
|
111
|
+
const key = `${GRAPH_RUNS_FIELD}.${graphId}`;
|
|
112
|
+
return {
|
|
113
|
+
$or: [
|
|
114
|
+
{ [key]: { $exists: false } },
|
|
115
|
+
{
|
|
116
|
+
[`${key}.status`]: {
|
|
117
|
+
$nin: ["done", "failed", "in_progress"],
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=graph-run-buckets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-buckets.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-buckets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-buckets.test.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-buckets.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { buildGraphRunFailedBucketQuery, buildGraphRunPendingBucketQuery, buildGraphRunPendingForGraphQuery, buildGraphRunProcessedBucketQuery, buildGraphRunStatusForGraphQuery, } from "./graph-run-buckets.js";
|
|
3
|
+
describe("graph-run bucket queries", () => {
|
|
4
|
+
it("buildGraphRunProcessedBucketQuery uses $expr with done and not failed", () => {
|
|
5
|
+
const q = buildGraphRunProcessedBucketQuery();
|
|
6
|
+
expect(q).toHaveProperty("$expr");
|
|
7
|
+
expect(JSON.stringify(q)).toContain("done");
|
|
8
|
+
expect(JSON.stringify(q)).toContain("failed");
|
|
9
|
+
});
|
|
10
|
+
it("buildGraphRunFailedBucketQuery filters failed entries", () => {
|
|
11
|
+
const q = buildGraphRunFailedBucketQuery();
|
|
12
|
+
expect(JSON.stringify(q)).toContain("failed");
|
|
13
|
+
});
|
|
14
|
+
it("buildGraphRunPendingBucketQuery excludes done and failed", () => {
|
|
15
|
+
const q = buildGraphRunPendingBucketQuery();
|
|
16
|
+
expect(q).toHaveProperty("$expr");
|
|
17
|
+
});
|
|
18
|
+
it("buildGraphRunStatusForGraphQuery targets nested status path", () => {
|
|
19
|
+
expect(buildGraphRunStatusForGraphQuery("g1", "done")).toEqual({
|
|
20
|
+
"_graphRuns.g1.status": "done",
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
it("buildGraphRunPendingForGraphQuery handles absent graph key", () => {
|
|
24
|
+
const q = buildGraphRunPendingForGraphQuery("g1");
|
|
25
|
+
expect(q).toHaveProperty("$or");
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=graph-run-buckets.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-buckets.test.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-buckets.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,8BAA8B,EAC9B,+BAA+B,EAC/B,iCAAiC,EACjC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,CAAC,GAAG,iCAAiC,EAAE,CAAC;QAC9C,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,8BAA8B,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,+BAA+B,EAAE,CAAC;QAC5C,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,gCAAgC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,sBAAsB,EAAE,MAAM;SAC/B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,GAAG,iCAAiC,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GraphRunFilterInput } from "@x12i/memorix-descriptors/types";
|
|
2
|
+
import type { MemorixRetrievalClient } from "../client/types.js";
|
|
3
|
+
import type { MemorixTarget } from "../mongo/types.js";
|
|
4
|
+
export type MemorixCountResult = {
|
|
5
|
+
count: number;
|
|
6
|
+
estimated?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export type CountByGraphRunFilterParams = {
|
|
9
|
+
target: MemorixTarget;
|
|
10
|
+
collection: string;
|
|
11
|
+
graphRunFilter?: GraphRunFilterInput | GraphRunFilterInput[];
|
|
12
|
+
query?: Record<string, unknown>;
|
|
13
|
+
estimated?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare function countByGraphRunFilter(client: MemorixRetrievalClient, params: CountByGraphRunFilterParams): Promise<MemorixCountResult>;
|
|
16
|
+
//# sourceMappingURL=graph-run-count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-count.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AASF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mergeMemorixMongoFilters } from "../data/record-id.js";
|
|
2
|
+
import { memorixCountByTarget } from "../data/target-read.js";
|
|
3
|
+
import { compileGraphRunFilters } from "./graph-run-filters.js";
|
|
4
|
+
function normalizeGraphRunInputs(filter) {
|
|
5
|
+
if (!filter)
|
|
6
|
+
return undefined;
|
|
7
|
+
return Array.isArray(filter) ? filter : [filter];
|
|
8
|
+
}
|
|
9
|
+
export async function countByGraphRunFilter(client, params) {
|
|
10
|
+
const graphRunInputs = normalizeGraphRunInputs(params.graphRunFilter);
|
|
11
|
+
const hasGraphRunFilter = graphRunInputs !== undefined && graphRunInputs.length > 0;
|
|
12
|
+
const useEstimated = params.estimated === true && !hasGraphRunFilter && !params.query;
|
|
13
|
+
const query = mergeMemorixMongoFilters(compileGraphRunFilters(graphRunInputs), params.query);
|
|
14
|
+
const count = await memorixCountByTarget(client, {
|
|
15
|
+
target: params.target,
|
|
16
|
+
collection: params.collection,
|
|
17
|
+
query,
|
|
18
|
+
estimated: useEstimated ? true : undefined,
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
count,
|
|
22
|
+
...(useEstimated ? { estimated: true } : {}),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=graph-run-count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-count.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-count.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAehE,SAAS,uBAAuB,CAC9B,MAAoD;IAEpD,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA8B,EAC9B,MAAmC;IAEnC,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACpF,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAEtF,MAAM,KAAK,GAAG,wBAAwB,CACpC,sBAAsB,CAAC,cAAc,CAAC,EACtC,MAAM,CAAC,KAAK,CACb,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE;QAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,KAAK;QACL,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC3C,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-count.test.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-count.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { countByGraphRunFilter } from "./graph-run-count.js";
|
|
3
|
+
describe("countByGraphRunFilter", () => {
|
|
4
|
+
it("merges graphRunFilter and calls countDocuments without reading bodies", async () => {
|
|
5
|
+
const countDocuments = vi.fn(async () => 42);
|
|
6
|
+
const client = {
|
|
7
|
+
appId: "memorix",
|
|
8
|
+
xronox: { countDocuments },
|
|
9
|
+
xronoxRoles: { entity: "entities" },
|
|
10
|
+
processEnv: {},
|
|
11
|
+
};
|
|
12
|
+
const result = await countByGraphRunFilter(client, {
|
|
13
|
+
target: "entity",
|
|
14
|
+
collection: "assets-snapshots",
|
|
15
|
+
graphRunFilter: { graphRunNotDone: { graphId: "g1" } },
|
|
16
|
+
});
|
|
17
|
+
expect(result.count).toBe(42);
|
|
18
|
+
expect(countDocuments).toHaveBeenCalledTimes(1);
|
|
19
|
+
const firstCall = countDocuments.mock.calls.at(0)?.at(0);
|
|
20
|
+
expect(firstCall?.source).toBe("assets-snapshots");
|
|
21
|
+
expect(firstCall?.query).toEqual(expect.objectContaining({ $or: expect.any(Array) }));
|
|
22
|
+
});
|
|
23
|
+
it("marks estimated when unfiltered count uses estimated flag", async () => {
|
|
24
|
+
const countDocuments = vi.fn(async () => 1000);
|
|
25
|
+
const client = {
|
|
26
|
+
appId: "memorix",
|
|
27
|
+
xronox: { countDocuments },
|
|
28
|
+
xronoxRoles: { entity: "entities" },
|
|
29
|
+
processEnv: {},
|
|
30
|
+
};
|
|
31
|
+
const result = await countByGraphRunFilter(client, {
|
|
32
|
+
target: "entity",
|
|
33
|
+
collection: "assets-snapshots",
|
|
34
|
+
estimated: true,
|
|
35
|
+
});
|
|
36
|
+
expect(result).toEqual({ count: 1000, estimated: true });
|
|
37
|
+
const firstCall = countDocuments.mock.calls.at(0)?.at(0);
|
|
38
|
+
expect(firstCall?.estimated).toBe(true);
|
|
39
|
+
});
|
|
40
|
+
it("does not use estimated mode when graphRunFilter is present", async () => {
|
|
41
|
+
const countDocuments = vi.fn(async () => 5);
|
|
42
|
+
const client = {
|
|
43
|
+
appId: "memorix",
|
|
44
|
+
xronox: { countDocuments },
|
|
45
|
+
xronoxRoles: { entity: "entities" },
|
|
46
|
+
processEnv: {},
|
|
47
|
+
};
|
|
48
|
+
await countByGraphRunFilter(client, {
|
|
49
|
+
target: "entity",
|
|
50
|
+
collection: "assets-snapshots",
|
|
51
|
+
graphRunFilter: { graphRunFailed: { graphId: "g1" } },
|
|
52
|
+
estimated: true,
|
|
53
|
+
});
|
|
54
|
+
const firstCall = countDocuments.mock.calls.at(0)?.at(0);
|
|
55
|
+
expect(firstCall?.estimated).toBeUndefined();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=graph-run-count.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-run-count.test.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-count.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type GraphRunFilterInput
|
|
3
|
-
graphRunStatus: {
|
|
4
|
-
graphId: string;
|
|
5
|
-
status: GraphRunStatus;
|
|
6
|
-
};
|
|
7
|
-
} | {
|
|
8
|
-
graphRunNotDone: {
|
|
9
|
-
graphId: string;
|
|
10
|
-
};
|
|
11
|
-
} | {
|
|
12
|
-
graphRunCompletedBefore: {
|
|
13
|
-
graphId: string;
|
|
14
|
-
before: string;
|
|
15
|
-
};
|
|
16
|
-
} | {
|
|
17
|
-
graphRunFailed: {
|
|
18
|
-
graphId: string;
|
|
19
|
-
};
|
|
20
|
-
} | {
|
|
21
|
-
graphRunStaleVersion: {
|
|
22
|
-
graphId: string;
|
|
23
|
-
minVersion: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
1
|
+
import type { GraphRunFilterInput } from "@x12i/memorix-descriptors/types";
|
|
2
|
+
export type { GraphRunFilterInput };
|
|
26
3
|
export declare function compileGraphRunFilter(input: GraphRunFilterInput): Record<string, unknown>;
|
|
27
4
|
export declare function compileGraphRunFilters(inputs: GraphRunFilterInput[] | undefined): Record<string, unknown> | undefined;
|
|
28
5
|
//# sourceMappingURL=graph-run-filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-run-filters.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"graph-run-filters.d.ts","sourceRoot":"","sources":["../../src/retrieval/graph-run-filters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAoBpC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,GACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsCzB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,EAAE,GAAG,SAAS,GACxC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAMrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-run-filters.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-filters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"graph-run-filters.js","sourceRoot":"","sources":["../../src/retrieval/graph-run-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { MemorixRetrievalClient } from "../client/types.js";
|
|
2
|
+
import type { MemorixTarget } from "../mongo/types.js";
|
|
3
|
+
export type TargetRecordStats = {
|
|
4
|
+
target: MemorixTarget;
|
|
5
|
+
objectTypeCount: number;
|
|
6
|
+
totalRecords: number;
|
|
7
|
+
processedRecords: number;
|
|
8
|
+
unprocessedRecords: number;
|
|
9
|
+
estimated?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type EntityProcessingRollup = {
|
|
12
|
+
entity: string;
|
|
13
|
+
succeeded: number;
|
|
14
|
+
pending: number;
|
|
15
|
+
failed: number;
|
|
16
|
+
recordTotal: number;
|
|
17
|
+
estimated?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export type GraphProcessingRollup = {
|
|
20
|
+
graphId: string;
|
|
21
|
+
succeeded: number;
|
|
22
|
+
pending: number;
|
|
23
|
+
failed: number;
|
|
24
|
+
running: number;
|
|
25
|
+
estimated?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export type ProcessingOverviewRequest = {
|
|
28
|
+
appId: string;
|
|
29
|
+
objectTypes?: string[];
|
|
30
|
+
graphIds?: string[];
|
|
31
|
+
estimated?: boolean;
|
|
32
|
+
};
|
|
33
|
+
export type ProcessingOverviewResponse = {
|
|
34
|
+
byTarget: TargetRecordStats[];
|
|
35
|
+
byEntity: EntityProcessingRollup[];
|
|
36
|
+
byGraph: GraphProcessingRollup[];
|
|
37
|
+
};
|
|
38
|
+
export declare function getProcessingOverview(client: MemorixRetrievalClient, request: ProcessingOverviewRequest): Promise<ProcessingOverviewResponse>;
|
|
39
|
+
//# sourceMappingURL=processing-overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-overview.d.ts","sourceRoot":"","sources":["../../src/retrieval/processing-overview.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAYjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AAyNF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,0BAA0B,CAAC,CAoCrC"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { resolveMemorixAppId } from "@x12i/memorix-descriptors/catalog";
|
|
2
|
+
import { resolveMemorixCollectionName } from "../data/collection-name.js";
|
|
3
|
+
import { discoverMemorixEntities } from "../descriptors/discover-entities.js";
|
|
4
|
+
import { loadMemorixEntityDescriptorByName } from "../descriptors/discover-entities.js";
|
|
5
|
+
import { throwRetrievalError } from "../errors/errors.js";
|
|
6
|
+
import { aggregateMemorixCollection, buildGraphRunDiscoveryPipeline, estimatedMemorixCollectionCount, } from "../mongo/aggregate-collection.js";
|
|
7
|
+
import { resolveMemorixDatabaseName } from "../mongo/target-config.js";
|
|
8
|
+
import { buildGraphRunFailedBucketQuery, buildGraphRunPendingBucketQuery, buildGraphRunPendingForGraphQuery, buildGraphRunProcessedBucketQuery, buildGraphRunStatusForGraphQuery, } from "./graph-run-buckets.js";
|
|
9
|
+
import { countByGraphRunFilter } from "./graph-run-count.js";
|
|
10
|
+
function assertAppId(client, appId) {
|
|
11
|
+
const resolved = resolveMemorixAppId({ appId: client.appId }, client.processEnv);
|
|
12
|
+
if (appId.trim() !== resolved) {
|
|
13
|
+
throwRetrievalError("INVALID_REQUEST", `appId "${appId}" does not match retrieval client app "${resolved}"`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async function countExactOrEstimated(client, task, query, estimated) {
|
|
17
|
+
const isEmptyQuery = !query || Object.keys(query).length === 0;
|
|
18
|
+
if (estimated && isEmptyQuery && client.getMongo) {
|
|
19
|
+
const mongo = await client.getMongo();
|
|
20
|
+
const db = resolveMemorixDatabaseName(client, task.target);
|
|
21
|
+
const count = await estimatedMemorixCollectionCount(mongo, {
|
|
22
|
+
db,
|
|
23
|
+
collection: task.collection,
|
|
24
|
+
});
|
|
25
|
+
return { count, estimated: true };
|
|
26
|
+
}
|
|
27
|
+
const result = await countByGraphRunFilter(client, {
|
|
28
|
+
target: task.target,
|
|
29
|
+
collection: task.collection,
|
|
30
|
+
query,
|
|
31
|
+
estimated: estimated && isEmptyQuery ? true : undefined,
|
|
32
|
+
});
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
async function rollupEntity(client, task, estimated) {
|
|
36
|
+
const [recordTotal, succeeded, failed, pending] = await Promise.all([
|
|
37
|
+
countExactOrEstimated(client, task, undefined, estimated),
|
|
38
|
+
countExactOrEstimated(client, task, buildGraphRunProcessedBucketQuery()),
|
|
39
|
+
countExactOrEstimated(client, task, buildGraphRunFailedBucketQuery()),
|
|
40
|
+
countExactOrEstimated(client, task, buildGraphRunPendingBucketQuery()),
|
|
41
|
+
]);
|
|
42
|
+
const anyEstimated = recordTotal.estimated || succeeded.estimated || failed.estimated || pending.estimated;
|
|
43
|
+
return {
|
|
44
|
+
entity: task.entityName,
|
|
45
|
+
succeeded: succeeded.count,
|
|
46
|
+
pending: pending.count,
|
|
47
|
+
failed: failed.count,
|
|
48
|
+
recordTotal: recordTotal.count,
|
|
49
|
+
...(anyEstimated ? { estimated: true } : {}),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function aggregateByTarget(byEntity, tasks) {
|
|
53
|
+
const targetMap = new Map();
|
|
54
|
+
for (const task of tasks) {
|
|
55
|
+
const entry = targetMap.get(task.target) ?? {
|
|
56
|
+
objectTypeCount: 0,
|
|
57
|
+
totalRecords: 0,
|
|
58
|
+
processedRecords: 0,
|
|
59
|
+
unprocessedRecords: 0,
|
|
60
|
+
estimated: false,
|
|
61
|
+
};
|
|
62
|
+
entry.objectTypeCount += 1;
|
|
63
|
+
targetMap.set(task.target, entry);
|
|
64
|
+
}
|
|
65
|
+
for (const row of byEntity) {
|
|
66
|
+
const task = tasks.find((t) => t.entityName === row.entity);
|
|
67
|
+
if (!task)
|
|
68
|
+
continue;
|
|
69
|
+
const entry = targetMap.get(task.target);
|
|
70
|
+
entry.totalRecords += row.recordTotal;
|
|
71
|
+
entry.processedRecords += row.succeeded;
|
|
72
|
+
entry.unprocessedRecords += row.pending + row.failed;
|
|
73
|
+
if (row.estimated)
|
|
74
|
+
entry.estimated = true;
|
|
75
|
+
}
|
|
76
|
+
return [...targetMap.entries()].map(([target, stats]) => ({
|
|
77
|
+
target,
|
|
78
|
+
objectTypeCount: stats.objectTypeCount,
|
|
79
|
+
totalRecords: stats.totalRecords,
|
|
80
|
+
processedRecords: stats.processedRecords,
|
|
81
|
+
unprocessedRecords: stats.unprocessedRecords,
|
|
82
|
+
...(stats.estimated ? { estimated: true } : {}),
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
async function countGraphRollupsForIds(client, tasks, graphIds) {
|
|
86
|
+
const rollupMap = new Map();
|
|
87
|
+
for (const graphId of graphIds) {
|
|
88
|
+
rollupMap.set(graphId, {
|
|
89
|
+
graphId,
|
|
90
|
+
succeeded: 0,
|
|
91
|
+
pending: 0,
|
|
92
|
+
failed: 0,
|
|
93
|
+
running: 0,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
const jobs = graphIds.flatMap((graphId) => tasks.map((task) => ({ graphId, task })));
|
|
97
|
+
await Promise.all(jobs.map(async ({ graphId, task }) => {
|
|
98
|
+
const [succeeded, failed, running, pending] = await Promise.all([
|
|
99
|
+
countByGraphRunFilter(client, {
|
|
100
|
+
target: task.target,
|
|
101
|
+
collection: task.collection,
|
|
102
|
+
query: buildGraphRunStatusForGraphQuery(graphId, "done"),
|
|
103
|
+
}),
|
|
104
|
+
countByGraphRunFilter(client, {
|
|
105
|
+
target: task.target,
|
|
106
|
+
collection: task.collection,
|
|
107
|
+
query: buildGraphRunStatusForGraphQuery(graphId, "failed"),
|
|
108
|
+
}),
|
|
109
|
+
countByGraphRunFilter(client, {
|
|
110
|
+
target: task.target,
|
|
111
|
+
collection: task.collection,
|
|
112
|
+
query: buildGraphRunStatusForGraphQuery(graphId, "in_progress"),
|
|
113
|
+
}),
|
|
114
|
+
countByGraphRunFilter(client, {
|
|
115
|
+
target: task.target,
|
|
116
|
+
collection: task.collection,
|
|
117
|
+
query: buildGraphRunPendingForGraphQuery(graphId),
|
|
118
|
+
}),
|
|
119
|
+
]);
|
|
120
|
+
const rollup = rollupMap.get(graphId);
|
|
121
|
+
rollup.succeeded += succeeded.count;
|
|
122
|
+
rollup.failed += failed.count;
|
|
123
|
+
rollup.running += running.count;
|
|
124
|
+
rollup.pending += pending.count;
|
|
125
|
+
}));
|
|
126
|
+
return [...rollupMap.values()].sort((a, b) => a.graphId.localeCompare(b.graphId));
|
|
127
|
+
}
|
|
128
|
+
async function discoverGraphRollups(client, tasks) {
|
|
129
|
+
if (!client.getMongo) {
|
|
130
|
+
throwRetrievalError("INVALID_REQUEST", "Graph discovery requires Mongo client (getMongo) on retrieval client");
|
|
131
|
+
}
|
|
132
|
+
const mongo = await client.getMongo();
|
|
133
|
+
const merged = new Map();
|
|
134
|
+
for (const task of tasks) {
|
|
135
|
+
const db = resolveMemorixDatabaseName(client, task.target);
|
|
136
|
+
const rows = await aggregateMemorixCollection(mongo, {
|
|
137
|
+
db,
|
|
138
|
+
collection: task.collection,
|
|
139
|
+
pipeline: buildGraphRunDiscoveryPipeline(),
|
|
140
|
+
});
|
|
141
|
+
for (const row of rows) {
|
|
142
|
+
const graphId = row._id.graphId;
|
|
143
|
+
if (!graphId)
|
|
144
|
+
continue;
|
|
145
|
+
const existing = merged.get(graphId) ?? {
|
|
146
|
+
graphId,
|
|
147
|
+
succeeded: 0,
|
|
148
|
+
pending: 0,
|
|
149
|
+
failed: 0,
|
|
150
|
+
running: 0,
|
|
151
|
+
};
|
|
152
|
+
const status = row._id.status;
|
|
153
|
+
const count = row.count;
|
|
154
|
+
if (status === "done")
|
|
155
|
+
existing.succeeded += count;
|
|
156
|
+
else if (status === "failed")
|
|
157
|
+
existing.failed += count;
|
|
158
|
+
else if (status === "in_progress")
|
|
159
|
+
existing.running += count;
|
|
160
|
+
else
|
|
161
|
+
existing.pending += count;
|
|
162
|
+
merged.set(graphId, existing);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return [...merged.values()].sort((a, b) => a.graphId.localeCompare(b.graphId));
|
|
166
|
+
}
|
|
167
|
+
export async function getProcessingOverview(client, request) {
|
|
168
|
+
assertAppId(client, request.appId);
|
|
169
|
+
const discovery = await discoverMemorixEntities(client);
|
|
170
|
+
const filterSet = request.objectTypes?.length
|
|
171
|
+
? new Set(request.objectTypes)
|
|
172
|
+
: undefined;
|
|
173
|
+
const entityNames = discovery.summaries
|
|
174
|
+
.map((s) => s.entityName)
|
|
175
|
+
.filter((name) => !filterSet || filterSet.has(name));
|
|
176
|
+
const tasks = [];
|
|
177
|
+
for (const entityName of entityNames) {
|
|
178
|
+
const entity = await loadMemorixEntityDescriptorByName(client, entityName);
|
|
179
|
+
const target = entity.target ?? "entity";
|
|
180
|
+
const canonicalType = entity.defaults.canonicalContentType;
|
|
181
|
+
const collection = resolveMemorixCollectionName(entity, canonicalType, client.processEnv);
|
|
182
|
+
tasks.push({ entityName, target, collection });
|
|
183
|
+
}
|
|
184
|
+
const byEntity = await Promise.all(tasks.map((task) => rollupEntity(client, task, request.estimated)));
|
|
185
|
+
const byTarget = aggregateByTarget(byEntity, tasks);
|
|
186
|
+
const byGraph = request.graphIds?.length
|
|
187
|
+
? await countGraphRollupsForIds(client, tasks, request.graphIds)
|
|
188
|
+
: await discoverGraphRollups(client, tasks);
|
|
189
|
+
return { byTarget, byEntity, byGraph };
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=processing-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-overview.js","sourceRoot":"","sources":["../../src/retrieval/processing-overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-overview.test.d.ts","sourceRoot":"","sources":["../../src/retrieval/processing-overview.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { assetsEntity } from "../tests/fixtures.js";
|
|
3
|
+
import { getProcessingOverview } from "./processing-overview.js";
|
|
4
|
+
vi.mock("../descriptors/discover-entities.js", async (importOriginal) => {
|
|
5
|
+
const actual = await importOriginal();
|
|
6
|
+
return {
|
|
7
|
+
...actual,
|
|
8
|
+
discoverMemorixEntities: vi.fn(async () => ({
|
|
9
|
+
summaries: [
|
|
10
|
+
{
|
|
11
|
+
id: "assets",
|
|
12
|
+
entityName: "assets",
|
|
13
|
+
label: "Assets",
|
|
14
|
+
defaultListDescriptorId: "assets-main-list",
|
|
15
|
+
defaultItemDescriptorId: "asset-detail-item",
|
|
16
|
+
target: "entity",
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
source: "catalox",
|
|
20
|
+
catalogId: "memorix-object-type-descriptors",
|
|
21
|
+
})),
|
|
22
|
+
loadMemorixEntityDescriptorByName: vi.fn(async () => assetsEntity),
|
|
23
|
+
};
|
|
24
|
+
});
|
|
25
|
+
describe("getProcessingOverview", () => {
|
|
26
|
+
it("returns byTarget, byEntity, and byGraph rollups", async () => {
|
|
27
|
+
const countDocuments = vi.fn(async (params) => {
|
|
28
|
+
if (params.query && "$expr" in params.query)
|
|
29
|
+
return 10;
|
|
30
|
+
if (params.query && "_graphRuns.g1.status" in params.query) {
|
|
31
|
+
const status = params.query["_graphRuns.g1.status"];
|
|
32
|
+
if (status === "done")
|
|
33
|
+
return 7;
|
|
34
|
+
if (status === "failed")
|
|
35
|
+
return 2;
|
|
36
|
+
if (status === "in_progress")
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
if (params.query?.$or)
|
|
40
|
+
return 3;
|
|
41
|
+
return 100;
|
|
42
|
+
});
|
|
43
|
+
const client = {
|
|
44
|
+
appId: "memorix",
|
|
45
|
+
xronox: { countDocuments },
|
|
46
|
+
xronoxRoles: { entity: "entities" },
|
|
47
|
+
processEnv: {},
|
|
48
|
+
};
|
|
49
|
+
const result = await getProcessingOverview(client, {
|
|
50
|
+
appId: "memorix",
|
|
51
|
+
graphIds: ["g1"],
|
|
52
|
+
});
|
|
53
|
+
expect(result.byEntity).toHaveLength(1);
|
|
54
|
+
expect(result.byEntity[0]).toMatchObject({
|
|
55
|
+
entity: "assets",
|
|
56
|
+
recordTotal: 100,
|
|
57
|
+
});
|
|
58
|
+
expect(result.byTarget).toHaveLength(1);
|
|
59
|
+
expect(result.byTarget[0]?.target).toBe("entity");
|
|
60
|
+
expect(result.byGraph).toHaveLength(1);
|
|
61
|
+
expect(result.byGraph[0]).toMatchObject({
|
|
62
|
+
graphId: "g1",
|
|
63
|
+
succeeded: 7,
|
|
64
|
+
failed: 2,
|
|
65
|
+
running: 1,
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=processing-overview.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processing-overview.test.js","sourceRoot":"","sources":["../../src/retrieval/processing-overview.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -162,6 +162,8 @@ Types below mirror `MemorixEntityDescriptor`, `MemorixListDescriptor`, and `Memo
|
|
|
162
162
|
}
|
|
163
163
|
```
|
|
164
164
|
|
|
165
|
+
**Optional top-level `identityField`:** Primary FK linking all content-type collections (e.g. `subnetId`). When omitted: `entityId` / `eventId` / `knowledgeId` per `target`. Resolve with `resolveEntityIdentityField(entity)` from `@x12i/memorix-descriptors/catalog`.
|
|
166
|
+
|
|
165
167
|
**Defaults block:**
|
|
166
168
|
|
|
167
169
|
```json
|
|
@@ -313,10 +315,18 @@ Under `entity.contentTypes.<name>`:
|
|
|
313
315
|
"dataRoot": "data",
|
|
314
316
|
"isCanonical": true,
|
|
315
317
|
"effectiveDatePath": "capturedAt",
|
|
316
|
-
"fallbackEffectiveDatePaths": ["snapshot.capturedAt"]
|
|
318
|
+
"fallbackEffectiveDatePaths": ["snapshot.capturedAt"],
|
|
319
|
+
"cardinality": "1:1"
|
|
317
320
|
}
|
|
318
321
|
```
|
|
319
322
|
|
|
323
|
+
| `cardinality` | Meaning | Default when omitted |
|
|
324
|
+
|---------------|---------|----------------------|
|
|
325
|
+
| `1:1` | One document per identity | `core` / `snapshots` postfixes |
|
|
326
|
+
| `1:n` | Many documents per identity | All other postfixes |
|
|
327
|
+
|
|
328
|
+
Resolve with `resolveContentTypeCardinality(ct, contentTypeKey)`.
|
|
329
|
+
|
|
320
330
|
**Collection resolution order** (retrieval):
|
|
321
331
|
|
|
322
332
|
1. Explicit `collection` on the content type
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/memorix-retrieval",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.15.0",
|
|
4
4
|
"description": "Read-side runtime data tier for Memorix: inventory, lists, items, slices, graph, and health",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"node": ">=18.0.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@x12i/catalox": "^5.
|
|
36
|
-
"@x12i/env": "^4.0.
|
|
35
|
+
"@x12i/catalox": "^5.9.8",
|
|
36
|
+
"@x12i/env": "^4.0.3",
|
|
37
37
|
"@x12i/helpers": "^1.7.0",
|
|
38
38
|
"@x12i/logxer": "^4.6.0",
|
|
39
|
-
"@x12i/memorix-descriptors": "^1.
|
|
39
|
+
"@x12i/memorix-descriptors": "^1.10.0",
|
|
40
40
|
"@x12i/xronox": "^3.9.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -46,5 +46,10 @@
|
|
|
46
46
|
},
|
|
47
47
|
"publishConfig": {
|
|
48
48
|
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+ssh://git@github.com/x12i/memorix-mono-repo.git",
|
|
53
|
+
"directory": "memorix-retrieval"
|
|
49
54
|
}
|
|
50
55
|
}
|