@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.
Files changed (44) hide show
  1. package/README.md +51 -0
  2. package/dist/descriptors/descriptor-types.d.ts +4 -0
  3. package/dist/descriptors/descriptor-types.d.ts.map +1 -1
  4. package/dist/descriptors/resolve-default-descriptors.d.ts +1 -0
  5. package/dist/descriptors/resolve-default-descriptors.d.ts.map +1 -1
  6. package/dist/descriptors/resolve-default-descriptors.js +6 -1
  7. package/dist/descriptors/resolve-default-descriptors.js.map +1 -1
  8. package/dist/index.d.ts +5 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +5 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/mongo/aggregate-collection.d.ts +18 -0
  13. package/dist/mongo/aggregate-collection.d.ts.map +1 -0
  14. package/dist/mongo/aggregate-collection.js +35 -0
  15. package/dist/mongo/aggregate-collection.js.map +1 -0
  16. package/dist/retrieval/graph-run-buckets.d.ts +11 -0
  17. package/dist/retrieval/graph-run-buckets.d.ts.map +1 -0
  18. package/dist/retrieval/graph-run-buckets.js +123 -0
  19. package/dist/retrieval/graph-run-buckets.js.map +1 -0
  20. package/dist/retrieval/graph-run-buckets.test.d.ts +2 -0
  21. package/dist/retrieval/graph-run-buckets.test.d.ts.map +1 -0
  22. package/dist/retrieval/graph-run-buckets.test.js +28 -0
  23. package/dist/retrieval/graph-run-buckets.test.js.map +1 -0
  24. package/dist/retrieval/graph-run-count.d.ts +16 -0
  25. package/dist/retrieval/graph-run-count.d.ts.map +1 -0
  26. package/dist/retrieval/graph-run-count.js +25 -0
  27. package/dist/retrieval/graph-run-count.js.map +1 -0
  28. package/dist/retrieval/graph-run-count.test.d.ts +2 -0
  29. package/dist/retrieval/graph-run-count.test.d.ts.map +1 -0
  30. package/dist/retrieval/graph-run-count.test.js +58 -0
  31. package/dist/retrieval/graph-run-count.test.js.map +1 -0
  32. package/dist/retrieval/graph-run-filters.d.ts +2 -25
  33. package/dist/retrieval/graph-run-filters.d.ts.map +1 -1
  34. package/dist/retrieval/graph-run-filters.js.map +1 -1
  35. package/dist/retrieval/processing-overview.d.ts +39 -0
  36. package/dist/retrieval/processing-overview.d.ts.map +1 -0
  37. package/dist/retrieval/processing-overview.js +191 -0
  38. package/dist/retrieval/processing-overview.js.map +1 -0
  39. package/dist/retrieval/processing-overview.test.d.ts +2 -0
  40. package/dist/retrieval/processing-overview.test.d.ts.map +1 -0
  41. package/dist/retrieval/processing-overview.test.js +69 -0
  42. package/dist/retrieval/processing-overview.test.js.map +1 -0
  43. package/docs/MEMORIX-CATALOX-CONTRACTS.md +11 -1
  44. 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":"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"}
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;AAEjE,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;CACnC,CAAC,CAaD;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
+ {"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 { entity, list };
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;IAKlB,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,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,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"}
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";
@@ -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":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,0BAA0B,GAG3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EACL,kCAAkC,GAGnC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAG1B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,gCAAgC,GACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,kCAAkC,EAClC,gCAAgC,GAEjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,2BAA2B,GAG5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,kCAAkC,EAClC,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,cAAc,EACd,uCAAuC,EACvC,yCAAyC,EACzC,kCAAkC,EAClC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAoC,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EACL,4BAA4B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,GAEnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,GAG7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GAQnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,4BAA4B,GAa7B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,0BAA0B,GAG3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,gCAAgC,EAChC,6BAA6B,GAG9B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,6BAA6B,GAG9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,GAMtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,kCAAkC,GAenC,MAAM,4BAA4B,CAAC;AACpC,OAAO;AACL,+DAA+D;AAC/D,+BAA+B,EAC/B,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,qCAAqC,EACrC,iCAAiC,GAQlC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,yBAAyB,EACzB,oCAAoC,GAIrC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sCAAsC,EACtC,mCAAmC,EACnC,qCAAqC,GAGtC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,GAEhC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qBAAqB,GAGtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,GAMtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,GAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAA2B,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,iCAAiC,GAElC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,GAE/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,6BAA6B,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,uCAAuC,GACxC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,gCAAgC,EAChC,2CAA2C,EAC3C,kDAAkD,EAClD,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2CAA2C,EAC3C,sBAAsB,EACtB,uCAAuC,EACvC,kCAAkC,EAClC,oCAAoC,EACpC,uCAAuC,EACvC,iCAAiC,GAClC,MAAM,kBAAkB,CAAC;AA6C1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,sBAAsB,EACtB,oCAAoC,EACpC,+BAA+B,EAC/B,8BAA8B,GAK/B,MAAM,qBAAqB,CAAC"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graph-run-buckets.test.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graph-run-count.test.d.ts.map
@@ -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 { GraphRunStatus } from "@x12i/memorix-descriptors/types";
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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,MAAM,MAAM,mBAAmB,GAC3B;IAAE,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAA;CAAE,GAC/D;IAAE,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACxC;IAAE,uBAAuB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChE;IAAE,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvC;IAAE,oBAAoB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAkBtE,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
+ {"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":"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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=processing-overview.test.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,EAAE,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACtE,MAAM,MAAM,GAAG,MAAM,cAAc,EAAwD,CAAC;IAC5F,OAAO;QACL,GAAG,MAAM;QACT,uBAAuB,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC1C,SAAS,EAAE;gBACT;oBACE,EAAE,EAAE,QAAQ;oBACZ,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,QAAQ;oBACf,uBAAuB,EAAE,kBAAkB;oBAC3C,uBAAuB,EAAE,mBAAmB;oBAC5C,MAAM,EAAE,QAAiB;iBAC1B;aACF;YACD,MAAM,EAAE,SAAkB;YAC1B,SAAS,EAAE,iCAAiC;SAC7C,CAAC,CAAC;QACH,iCAAiC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC;KACnE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAA2C,EAAE,EAAE;YACjF,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAC;YACvD,IAAI,MAAM,CAAC,KAAK,IAAI,sBAAsB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACpD,IAAI,MAAM,KAAK,MAAM;oBAAE,OAAO,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC;gBAClC,IAAI,MAAM,KAAK,aAAa;oBAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG;gBAAE,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,EAAE,cAAc,EAAE;YAC1B,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;YACnC,UAAU,EAAE,EAAE;SACsB,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE;YACjD,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,CAAC,IAAI,CAAC;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACvC,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,GAAG;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACtC,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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.13.0",
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.1.3",
36
- "@x12i/env": "^4.0.1",
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.8.0",
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
  }