@x12i/memorix-retrieval 1.8.2 → 1.9.2

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 (71) hide show
  1. package/README.md +34 -5
  2. package/dist/client/types.d.ts +24 -0
  3. package/dist/client/types.d.ts.map +1 -1
  4. package/dist/data/collection-parser.d.ts +3 -0
  5. package/dist/data/collection-parser.d.ts.map +1 -1
  6. package/dist/data/collection-parser.js +3 -0
  7. package/dist/data/collection-parser.js.map +1 -1
  8. package/dist/data/record-identity.d.ts +3 -1
  9. package/dist/data/record-identity.d.ts.map +1 -1
  10. package/dist/data/record-identity.js +25 -4
  11. package/dist/data/record-identity.js.map +1 -1
  12. package/dist/explorer/collection-inventory.d.ts.map +1 -1
  13. package/dist/explorer/collection-inventory.js +23 -6
  14. package/dist/explorer/collection-inventory.js.map +1 -1
  15. package/dist/explorer/collection-records.d.ts.map +1 -1
  16. package/dist/explorer/collection-records.js +6 -2
  17. package/dist/explorer/collection-records.js.map +1 -1
  18. package/dist/explorer/entity-graph.d.ts +36 -1
  19. package/dist/explorer/entity-graph.d.ts.map +1 -1
  20. package/dist/explorer/entity-graph.js +161 -0
  21. package/dist/explorer/entity-graph.js.map +1 -1
  22. package/dist/explorer/health.d.ts +54 -0
  23. package/dist/explorer/health.d.ts.map +1 -1
  24. package/dist/explorer/health.js +135 -122
  25. package/dist/explorer/health.js.map +1 -1
  26. package/dist/explorer/raw-collection-records.d.ts +45 -7
  27. package/dist/explorer/raw-collection-records.d.ts.map +1 -1
  28. package/dist/explorer/raw-collection-records.js +46 -7
  29. package/dist/explorer/raw-collection-records.js.map +1 -1
  30. package/dist/explorer/unified-inventory.d.ts +80 -17
  31. package/dist/explorer/unified-inventory.d.ts.map +1 -1
  32. package/dist/explorer/unified-inventory.js +324 -89
  33. package/dist/explorer/unified-inventory.js.map +1 -1
  34. package/dist/index.d.ts +4 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +3 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/retrieval/fetch-item.d.ts.map +1 -1
  39. package/dist/retrieval/fetch-item.js +52 -3
  40. package/dist/retrieval/fetch-item.js.map +1 -1
  41. package/dist/retrieval/fetch-list.d.ts.map +1 -1
  42. package/dist/retrieval/fetch-list.js +46 -0
  43. package/dist/retrieval/fetch-list.js.map +1 -1
  44. package/dist/retrieval/fetch-slices.d.ts.map +1 -1
  45. package/dist/retrieval/fetch-slices.js +30 -9
  46. package/dist/retrieval/fetch-slices.js.map +1 -1
  47. package/dist/runtime/source-provenance.d.ts +94 -0
  48. package/dist/runtime/source-provenance.d.ts.map +1 -0
  49. package/dist/runtime/source-provenance.js +129 -0
  50. package/dist/runtime/source-provenance.js.map +1 -0
  51. package/dist/runtime/target-bindings.d.ts +29 -0
  52. package/dist/runtime/target-bindings.d.ts.map +1 -0
  53. package/dist/runtime/target-bindings.js +170 -0
  54. package/dist/runtime/target-bindings.js.map +1 -0
  55. package/dist/tests/collection-parser.test.js +8 -1
  56. package/dist/tests/collection-parser.test.js.map +1 -1
  57. package/dist/tests/entity-graph.test.js +21 -0
  58. package/dist/tests/entity-graph.test.js.map +1 -1
  59. package/dist/tests/source-provenance.test.d.ts +2 -0
  60. package/dist/tests/source-provenance.test.d.ts.map +1 -0
  61. package/dist/tests/source-provenance.test.js +94 -0
  62. package/dist/tests/source-provenance.test.js.map +1 -0
  63. package/dist/tests/unified-inventory.test.d.ts +2 -0
  64. package/dist/tests/unified-inventory.test.d.ts.map +1 -0
  65. package/dist/tests/unified-inventory.test.js +122 -0
  66. package/dist/tests/unified-inventory.test.js.map +1 -0
  67. package/docs/DATA-TIER-CONTRACT.md +20 -2
  68. package/docs/EXPLORER-HOST-APIS.md +21 -5
  69. package/docs/MEMORIX-CATALOX-CONTRACTS.md +14 -2
  70. package/docs/MEMORIX-DATABASE-CONVENTIONS.md +10 -5
  71. package/package.json +2 -2
@@ -0,0 +1,94 @@
1
+ import type { MemorixTarget } from "../mongo/types.js";
2
+ export type MemorixRuntimeSourceClass = "canonical-catalox-descriptor" | "mongo-payload" | "runtime-projection" | "descriptor-backed-runtime-view" | "raw-db-inspection" | "legacy-catalog-not-used" | "unknown-source";
3
+ export type MemorixRuntimeCanonicalStatus = "canonical-metadata" | "descriptor-backed" | "derived" | "raw" | "legacy-not-used" | "unknown";
4
+ export type MemorixRuntimeDescriptorKind = "object-type" | "list" | "item" | "slice" | "workspace-list";
5
+ export type MemorixRuntimeSourceRef = {
6
+ sourceClass: MemorixRuntimeSourceClass;
7
+ canonicalStatus: MemorixRuntimeCanonicalStatus;
8
+ appId?: string;
9
+ catalogId?: string;
10
+ itemId?: string;
11
+ descriptorKind?: MemorixRuntimeDescriptorKind;
12
+ objectType?: string;
13
+ entityName?: string;
14
+ target?: MemorixTarget;
15
+ databaseName?: string;
16
+ collectionName?: string;
17
+ contentType?: string;
18
+ endpoint?: string;
19
+ generatedBy?: string;
20
+ generatedAt: string;
21
+ trustWarning?: string;
22
+ };
23
+ export type RuntimeSourceAware<T> = {
24
+ data: T;
25
+ source: MemorixRuntimeSourceRef;
26
+ sources?: MemorixRuntimeSourceRef[];
27
+ };
28
+ export type MemorixRequiredUserInput = {
29
+ key: string;
30
+ label: string;
31
+ reason: string;
32
+ required: boolean;
33
+ options?: string[];
34
+ };
35
+ export declare const LEGACY_CATALOG_IDS: readonly ["memorix-entities", "memorix_entity_content_types", "knowledge"];
36
+ export type LegacyCatalogId = (typeof LEGACY_CATALOG_IDS)[number];
37
+ export declare function isLegacyCatalogId(catalogId: string): catalogId is LegacyCatalogId;
38
+ export declare function legacyCatalogSourceRef(catalogId: string, appId?: string): MemorixRuntimeSourceRef;
39
+ export declare function runtimeProjectionSourceRef(generatedBy: string, options?: {
40
+ appId?: string;
41
+ sourceLens?: "catalox-first" | "db-first";
42
+ endpoint?: string;
43
+ }): MemorixRuntimeSourceRef;
44
+ export declare function descriptorSourceRef(catalogId: string, itemId: string, options?: {
45
+ appId?: string;
46
+ descriptorKind?: MemorixRuntimeDescriptorKind;
47
+ objectType?: string;
48
+ entityName?: string;
49
+ target?: MemorixTarget;
50
+ contentType?: string;
51
+ }): MemorixRuntimeSourceRef;
52
+ export declare function objectTypeDescriptorSourceRef(itemId: string, options?: {
53
+ appId?: string;
54
+ objectType?: string;
55
+ target?: MemorixTarget;
56
+ }): MemorixRuntimeSourceRef;
57
+ export declare function listDescriptorSourceRef(itemId: string, options?: {
58
+ appId?: string;
59
+ objectType?: string;
60
+ descriptorKind?: "list" | "slice" | "workspace-list";
61
+ }): MemorixRuntimeSourceRef;
62
+ export declare function itemDescriptorSourceRef(itemId: string, options?: {
63
+ appId?: string;
64
+ objectType?: string;
65
+ }): MemorixRuntimeSourceRef;
66
+ export declare function mongoPayloadSourceRef(target: MemorixTarget, databaseName: string, collectionName: string, options?: {
67
+ appId?: string;
68
+ contentType?: string;
69
+ objectType?: string;
70
+ }): MemorixRuntimeSourceRef;
71
+ export declare function rawDbInspectionSourceRef(target: MemorixTarget, databaseName: string, collectionName: string, options?: {
72
+ appId?: string;
73
+ generatedBy?: string;
74
+ }): MemorixRuntimeSourceRef;
75
+ export declare function descriptorBackedViewSourceRef(generatedBy: string, options?: {
76
+ appId?: string;
77
+ target?: MemorixTarget;
78
+ databaseName?: string;
79
+ collectionName?: string;
80
+ objectType?: string;
81
+ contentType?: string;
82
+ }): MemorixRuntimeSourceRef;
83
+ export declare function unknownSourceRef(generatedBy: string, options?: {
84
+ appId?: string;
85
+ trustWarning?: string;
86
+ }): MemorixRuntimeSourceRef;
87
+ export declare function withObjectTypeAliases<T extends {
88
+ entityName?: string;
89
+ objectName?: string;
90
+ }>(value: T): T & {
91
+ objectType?: string;
92
+ objectName?: string;
93
+ };
94
+ //# sourceMappingURL=source-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-provenance.d.ts","sourceRoot":"","sources":["../../src/runtime/source-provenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { MEMORIX_ENTITY_DESCRIPTORS_CATALOG, MEMORIX_ITEM_DESCRIPTORS_CATALOG, MEMORIX_LIST_DESCRIPTORS_CATALOG, } from "../descriptors/catalog-ids.js";
2
+ export const LEGACY_CATALOG_IDS = [
3
+ "memorix-entities",
4
+ "memorix_entity_content_types",
5
+ "knowledge",
6
+ ];
7
+ export function isLegacyCatalogId(catalogId) {
8
+ return LEGACY_CATALOG_IDS.includes(catalogId);
9
+ }
10
+ export function legacyCatalogSourceRef(catalogId, appId) {
11
+ return {
12
+ sourceClass: "legacy-catalog-not-used",
13
+ canonicalStatus: "legacy-not-used",
14
+ appId,
15
+ catalogId,
16
+ generatedAt: new Date().toISOString(),
17
+ generatedBy: "memorix-retrieval",
18
+ trustWarning: "Retrieval does not use this catalog for descriptor-driven reads.",
19
+ };
20
+ }
21
+ export function runtimeProjectionSourceRef(generatedBy, options) {
22
+ return {
23
+ sourceClass: "runtime-projection",
24
+ canonicalStatus: "derived",
25
+ appId: options?.appId,
26
+ endpoint: options?.endpoint,
27
+ generatedBy,
28
+ generatedAt: new Date().toISOString(),
29
+ };
30
+ }
31
+ export function descriptorSourceRef(catalogId, itemId, options) {
32
+ return {
33
+ sourceClass: "canonical-catalox-descriptor",
34
+ canonicalStatus: "canonical-metadata",
35
+ appId: options?.appId,
36
+ catalogId,
37
+ itemId,
38
+ descriptorKind: options?.descriptorKind,
39
+ objectType: options?.objectType ?? options?.entityName,
40
+ entityName: options?.entityName ?? options?.objectType,
41
+ target: options?.target,
42
+ contentType: options?.contentType,
43
+ generatedAt: new Date().toISOString(),
44
+ generatedBy: "memorix-retrieval",
45
+ };
46
+ }
47
+ export function objectTypeDescriptorSourceRef(itemId, options) {
48
+ return descriptorSourceRef(MEMORIX_ENTITY_DESCRIPTORS_CATALOG, itemId, {
49
+ ...options,
50
+ descriptorKind: "object-type",
51
+ entityName: options?.objectType,
52
+ });
53
+ }
54
+ export function listDescriptorSourceRef(itemId, options) {
55
+ return descriptorSourceRef(MEMORIX_LIST_DESCRIPTORS_CATALOG, itemId, {
56
+ ...options,
57
+ descriptorKind: options?.descriptorKind ?? "list",
58
+ entityName: options?.objectType,
59
+ });
60
+ }
61
+ export function itemDescriptorSourceRef(itemId, options) {
62
+ return descriptorSourceRef(MEMORIX_ITEM_DESCRIPTORS_CATALOG, itemId, {
63
+ ...options,
64
+ descriptorKind: "item",
65
+ entityName: options?.objectType,
66
+ });
67
+ }
68
+ export function mongoPayloadSourceRef(target, databaseName, collectionName, options) {
69
+ return {
70
+ sourceClass: "mongo-payload",
71
+ canonicalStatus: "raw",
72
+ appId: options?.appId,
73
+ target,
74
+ databaseName,
75
+ collectionName,
76
+ contentType: options?.contentType,
77
+ objectType: options?.objectType,
78
+ entityName: options?.objectType,
79
+ generatedAt: new Date().toISOString(),
80
+ generatedBy: "memorix-retrieval",
81
+ };
82
+ }
83
+ export function rawDbInspectionSourceRef(target, databaseName, collectionName, options) {
84
+ return {
85
+ sourceClass: "raw-db-inspection",
86
+ canonicalStatus: "raw",
87
+ appId: options?.appId,
88
+ target,
89
+ databaseName,
90
+ collectionName,
91
+ generatedAt: new Date().toISOString(),
92
+ generatedBy: options?.generatedBy ?? "fetchMemorixRawCollectionRecords",
93
+ };
94
+ }
95
+ export function descriptorBackedViewSourceRef(generatedBy, options) {
96
+ return {
97
+ sourceClass: "descriptor-backed-runtime-view",
98
+ canonicalStatus: "descriptor-backed",
99
+ appId: options?.appId,
100
+ target: options?.target,
101
+ databaseName: options?.databaseName,
102
+ collectionName: options?.collectionName,
103
+ objectType: options?.objectType,
104
+ entityName: options?.objectType,
105
+ contentType: options?.contentType,
106
+ generatedAt: new Date().toISOString(),
107
+ generatedBy,
108
+ };
109
+ }
110
+ export function unknownSourceRef(generatedBy, options) {
111
+ return {
112
+ sourceClass: "unknown-source",
113
+ canonicalStatus: "unknown",
114
+ appId: options?.appId,
115
+ generatedAt: new Date().toISOString(),
116
+ generatedBy,
117
+ trustWarning: options?.trustWarning,
118
+ };
119
+ }
120
+ export function withObjectTypeAliases(value) {
121
+ const objectType = value.objectName ?? value.entityName;
122
+ return {
123
+ ...value,
124
+ objectType,
125
+ objectName: value.objectName ?? value.entityName,
126
+ entityName: value.entityName ?? value.objectName,
127
+ };
128
+ }
129
+ //# sourceMappingURL=source-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-provenance.js","sourceRoot":"","sources":["../../src/runtime/source-provenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { MemorixRetrievalClient } from "../client/types.js";
2
+ import type { MemorixTarget } from "../mongo/types.js";
3
+ export type MemorixTargetDbBinding = {
4
+ target: MemorixTarget;
5
+ configured: boolean;
6
+ databaseName?: string;
7
+ defaultDatabaseName: string;
8
+ identityField: "entityId" | "eventId" | "knowledgeId";
9
+ status: "connected" | "not-configured" | "empty" | "unreachable" | "error";
10
+ collectionCount?: number;
11
+ recordCount?: number;
12
+ sharedPhysicalDatabaseWith?: MemorixTarget[];
13
+ warnings: Array<{
14
+ code: string;
15
+ message: string;
16
+ }>;
17
+ errors: Array<{
18
+ code: string;
19
+ message: string;
20
+ }>;
21
+ };
22
+ export type ResolveTargetBindingsOptions = {
23
+ targets?: MemorixTarget[];
24
+ includeCounts?: boolean;
25
+ };
26
+ export declare function resolveMemorixTargetBindings(client: MemorixRetrievalClient, options?: ResolveTargetBindingsOptions): Promise<Record<MemorixTarget, MemorixTargetDbBinding>>;
27
+ export declare function countPhysicalDatabases(bindings: Record<MemorixTarget, MemorixTargetDbBinding>): number;
28
+ export declare function countConfiguredTargets(bindings: Record<MemorixTarget, MemorixTargetDbBinding>): number;
29
+ //# sourceMappingURL=target-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-bindings.d.ts","sourceRoot":"","sources":["../../src/runtime/target-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAOjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,aAAa,CAAC;IAEtB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAE5B,aAAa,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;IAEtD,MAAM,EACF,WAAW,GACX,gBAAgB,GAChB,OAAO,GACP,aAAa,GACb,OAAO,CAAC;IAEZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,0BAA0B,CAAC,EAAE,aAAa,EAAE,CAAC;IAE7C,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAoCF,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC,CA8HxD;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,GACtD,MAAM,CAMR;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,GACtD,MAAM,CAER"}
@@ -0,0 +1,170 @@
1
+ import { DEFAULT_MEMORIX_XRONOX_ROLES } from "../data/memorix-read.js";
2
+ import { ALL_MEMORIX_TARGETS, MEMORIX_DATABASE_CONFIG, resolveMemorixDatabaseName, } from "../mongo/target-config.js";
3
+ import { resolveMemorixDbName } from "../mongo/env.js";
4
+ const XRONOX_DB_SOURCE = "_db";
5
+ function isTargetConfigured(client, target) {
6
+ const envKey = MEMORIX_DATABASE_CONFIG[target].env;
7
+ const envValue = client.processEnv?.[envKey];
8
+ if (envValue != null && String(envValue).trim() !== "")
9
+ return true;
10
+ if (client.memorixDb?.[target])
11
+ return true;
12
+ return false;
13
+ }
14
+ function resolveSharedTargets(bindings) {
15
+ const byDatabase = new Map();
16
+ for (const target of ALL_MEMORIX_TARGETS) {
17
+ const binding = bindings[target];
18
+ const db = binding.databaseName;
19
+ if (!db)
20
+ continue;
21
+ const group = byDatabase.get(db) ?? [];
22
+ group.push(target);
23
+ byDatabase.set(db, group);
24
+ }
25
+ for (const targets of byDatabase.values()) {
26
+ if (targets.length <= 1)
27
+ continue;
28
+ for (const target of targets) {
29
+ bindings[target].sharedPhysicalDatabaseWith = targets.filter((t) => t !== target);
30
+ }
31
+ }
32
+ }
33
+ export async function resolveMemorixTargetBindings(client, options = {}) {
34
+ const targets = options.targets ?? [...ALL_MEMORIX_TARGETS];
35
+ const includeCounts = options.includeCounts ?? false;
36
+ const bindings = {};
37
+ for (const target of ALL_MEMORIX_TARGETS) {
38
+ const defaultDatabaseName = MEMORIX_DATABASE_CONFIG[target].defaultDb;
39
+ const identityField = MEMORIX_DATABASE_CONFIG[target].identityField;
40
+ const configured = isTargetConfigured(client, target);
41
+ const databaseName = configured
42
+ ? resolveMemorixDatabaseName(client, target)
43
+ : resolveMemorixDbName(target, client.processEnv);
44
+ bindings[target] = {
45
+ target,
46
+ configured,
47
+ databaseName: configured ? databaseName : undefined,
48
+ defaultDatabaseName,
49
+ identityField,
50
+ status: configured ? "connected" : "not-configured",
51
+ warnings: [],
52
+ errors: [],
53
+ };
54
+ if (!configured) {
55
+ bindings[target].warnings.push({
56
+ code: "TARGET_DB_NOT_CONFIGURED",
57
+ message: `${target.charAt(0).toUpperCase()}${target.slice(1)} target DB is not configured. This is allowed if no ${target} object types are expected.`,
58
+ });
59
+ }
60
+ }
61
+ if (client.xronox?.listCollections) {
62
+ for (const target of targets) {
63
+ const binding = bindings[target];
64
+ if (!binding.configured)
65
+ continue;
66
+ const role = client.xronoxRoles?.[target] ?? DEFAULT_MEMORIX_XRONOX_ROLES[target];
67
+ try {
68
+ const { collections } = await client.xronox.listCollections({
69
+ dataType: "metadata",
70
+ sourceType: "database",
71
+ subSourceType: "mongo",
72
+ source: XRONOX_DB_SOURCE,
73
+ role,
74
+ excludeSystem: true,
75
+ });
76
+ binding.collectionCount = collections.length;
77
+ binding.status = collections.length === 0 ? "empty" : "connected";
78
+ if (collections.length === 0) {
79
+ binding.warnings.push({
80
+ code: "TARGET_DB_EMPTY",
81
+ message: `${binding.target} target database "${binding.databaseName}" has no collections.`,
82
+ });
83
+ }
84
+ if (includeCounts && client.xronox.countDocuments) {
85
+ let recordCount = 0;
86
+ for (const { name } of collections) {
87
+ try {
88
+ recordCount += await client.xronox.countDocuments({
89
+ dataType: "metadata",
90
+ sourceType: "database",
91
+ subSourceType: "mongo",
92
+ source: name,
93
+ role,
94
+ estimated: true,
95
+ });
96
+ }
97
+ catch {
98
+ /* skip collection */
99
+ }
100
+ }
101
+ binding.recordCount = recordCount;
102
+ }
103
+ }
104
+ catch (e) {
105
+ binding.status = "unreachable";
106
+ binding.errors.push({
107
+ code: "TARGET_DB_UNREACHABLE",
108
+ message: e instanceof Error ? e.message : String(e),
109
+ });
110
+ }
111
+ }
112
+ }
113
+ else if (client.getMongo) {
114
+ try {
115
+ const mongo = await client.getMongo();
116
+ for (const target of targets) {
117
+ const binding = bindings[target];
118
+ if (!binding.configured || !binding.databaseName)
119
+ continue;
120
+ try {
121
+ const collections = await mongo
122
+ .db(binding.databaseName)
123
+ .listCollections()
124
+ .toArray();
125
+ binding.collectionCount = collections.length;
126
+ binding.status = collections.length === 0 ? "empty" : "connected";
127
+ if (collections.length === 0) {
128
+ binding.warnings.push({
129
+ code: "TARGET_DB_EMPTY",
130
+ message: `${binding.target} target database "${binding.databaseName}" has no collections.`,
131
+ });
132
+ }
133
+ }
134
+ catch (e) {
135
+ binding.status = "error";
136
+ binding.errors.push({
137
+ code: "TARGET_DB_ERROR",
138
+ message: e instanceof Error ? e.message : String(e),
139
+ });
140
+ }
141
+ }
142
+ }
143
+ catch (e) {
144
+ for (const target of targets) {
145
+ const binding = bindings[target];
146
+ if (!binding.configured)
147
+ continue;
148
+ binding.status = "unreachable";
149
+ binding.errors.push({
150
+ code: "MONGO_UNREACHABLE",
151
+ message: e instanceof Error ? e.message : String(e),
152
+ });
153
+ }
154
+ }
155
+ }
156
+ resolveSharedTargets(bindings);
157
+ return bindings;
158
+ }
159
+ export function countPhysicalDatabases(bindings) {
160
+ const dbs = new Set();
161
+ for (const binding of Object.values(bindings)) {
162
+ if (binding.databaseName)
163
+ dbs.add(binding.databaseName);
164
+ }
165
+ return dbs.size;
166
+ }
167
+ export function countConfiguredTargets(bindings) {
168
+ return ALL_MEMORIX_TARGETS.filter((t) => bindings[t].configured).length;
169
+ }
170
+ //# sourceMappingURL=target-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-bindings.js","sourceRoot":"","sources":["../../src/runtime/target-bindings.ts"],"names":[],"mappings":"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"}
@@ -10,27 +10,34 @@ describe("parseMemorixCollectionName", () => {
10
10
  ok: true,
11
11
  collectionName: "assets-snapshots",
12
12
  objectName: "assets",
13
+ objectType: "assets",
13
14
  contentType: "snapshots",
14
15
  separatorIndex: 6,
16
+ parseRule: "last-dash",
15
17
  });
16
18
  expect(parseMemorixCollectionName("topology-cidr-graphs-scoped")).toEqual({
17
19
  ok: true,
18
20
  collectionName: "topology-cidr-graphs-scoped",
19
21
  objectName: "topology-cidr-graphs",
22
+ objectType: "topology-cidr-graphs",
20
23
  contentType: "scoped",
21
24
  separatorIndex: 20,
25
+ parseRule: "last-dash",
22
26
  });
23
27
  expect(parseMemorixCollectionName("vulnerabilities-groups-snapshots")).toEqual({
24
28
  ok: true,
25
29
  collectionName: "vulnerabilities-groups-snapshots",
26
30
  objectName: "vulnerabilities-groups",
31
+ objectType: "vulnerabilities-groups",
27
32
  contentType: "snapshots",
28
33
  separatorIndex: 22,
34
+ parseRule: "last-dash",
29
35
  });
30
36
  });
31
37
  it("rejects invalid collection names", () => {
32
38
  expect(parseMemorixCollectionName("assets")).toMatchObject({
33
39
  ok: false,
40
+ parseRule: "last-dash",
34
41
  reason: "missing-dash",
35
42
  });
36
43
  expect(parseMemorixCollectionName("-snapshots")).toMatchObject({
@@ -70,7 +77,7 @@ describe("resolveMemorixRecordIdentity", () => {
70
77
  expect(resolveMemorixRecordIdentity("knowledge", { knowledgeId: "k1" })).toMatchObject({ id: "k1", identityField: "knowledgeId" });
71
78
  expect(resolveMemorixRecordIdentity("entity", { id: "fallback-id" }, {
72
79
  descriptorIdentityField: "customId",
73
- }).source).toBe("fallback");
80
+ }).source).toBe("id");
74
81
  expect(resolveMemorixRecordIdentity("entity", { _id: "507f1f77bcf86cd799439011" }).source).toBe("mongo-id");
75
82
  });
76
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"collection-parser.test.js","sourceRoot":"","sources":["../../src/tests/collection-parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection-parser.test.js","sourceRoot":"","sources":["../../src/tests/collection-parser.test.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,27 @@ describe("buildMemorixEntityGraph", () => {
85
85
  count: 7,
86
86
  });
87
87
  });
88
+ it("returns runtimeGraph with source refs by default", async () => {
89
+ const client = createMemorixRetrieval({
90
+ catalox: mockEntityCatalox(),
91
+ xronox: mockXronox({
92
+ "assets-snapshots": 3,
93
+ "assets-analysis": 0,
94
+ "vulnerabilities-snapshots": 7,
95
+ }),
96
+ processEnv: {
97
+ MEMORIX_ENTITIES_DB: "memorix-entities",
98
+ MEMORIX_EVENTS_DB: "memorix-events",
99
+ },
100
+ });
101
+ const graph = await buildMemorixEntityGraph(client, { includeInventory: true });
102
+ expect(graph.runtimeGraph).toBeDefined();
103
+ expect(graph.runtimeGraph?.source.sourceClass).toBe("runtime-projection");
104
+ expect(graph.runtimeGraph?.graphKind).toBe("object-type-runtime-graph");
105
+ expect(graph.runtimeGraph?.nodes.length).toBeGreaterThan(0);
106
+ expect(graph.runtimeGraph?.nodes.every((n) => n.source.sourceClass)).toBeTruthy();
107
+ expect(graph.runtimeGraph?.edges.length).toBeGreaterThan(0);
108
+ });
88
109
  it("uses content-type keys for countErrors", async () => {
89
110
  const client = createMemorixRetrieval({
90
111
  catalox: mockEntityCatalox(),
@@ -1 +1 @@
1
- {"version":3,"file":"entity-graph.test.js","sourceRoot":"","sources":["../../src/tests/entity-graph.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-graph.test.js","sourceRoot":"","sources":["../../src/tests/entity-graph.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=source-provenance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-provenance.test.d.ts","sourceRoot":"","sources":["../../src/tests/source-provenance.test.ts"],"names":[],"mappings":""}