@x12i/memorix-retrieval 1.8.2 → 1.9.1
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 +34 -5
- package/dist/client/types.d.ts +24 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/data/collection-parser.d.ts +3 -0
- package/dist/data/collection-parser.d.ts.map +1 -1
- package/dist/data/collection-parser.js +3 -0
- package/dist/data/collection-parser.js.map +1 -1
- package/dist/data/record-identity.d.ts +3 -1
- package/dist/data/record-identity.d.ts.map +1 -1
- package/dist/data/record-identity.js +25 -4
- package/dist/data/record-identity.js.map +1 -1
- package/dist/explorer/collection-inventory.d.ts.map +1 -1
- package/dist/explorer/collection-inventory.js +23 -6
- package/dist/explorer/collection-inventory.js.map +1 -1
- package/dist/explorer/collection-records.d.ts.map +1 -1
- package/dist/explorer/collection-records.js +6 -2
- package/dist/explorer/collection-records.js.map +1 -1
- package/dist/explorer/entity-graph.d.ts +36 -1
- package/dist/explorer/entity-graph.d.ts.map +1 -1
- package/dist/explorer/entity-graph.js +161 -0
- package/dist/explorer/entity-graph.js.map +1 -1
- package/dist/explorer/health.d.ts +54 -0
- package/dist/explorer/health.d.ts.map +1 -1
- package/dist/explorer/health.js +135 -122
- package/dist/explorer/health.js.map +1 -1
- package/dist/explorer/raw-collection-records.d.ts +45 -7
- package/dist/explorer/raw-collection-records.d.ts.map +1 -1
- package/dist/explorer/raw-collection-records.js +46 -7
- package/dist/explorer/raw-collection-records.js.map +1 -1
- package/dist/explorer/unified-inventory.d.ts +80 -17
- package/dist/explorer/unified-inventory.d.ts.map +1 -1
- package/dist/explorer/unified-inventory.js +324 -89
- package/dist/explorer/unified-inventory.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/retrieval/fetch-item.d.ts.map +1 -1
- package/dist/retrieval/fetch-item.js +52 -3
- package/dist/retrieval/fetch-item.js.map +1 -1
- package/dist/retrieval/fetch-list.d.ts.map +1 -1
- package/dist/retrieval/fetch-list.js +46 -0
- package/dist/retrieval/fetch-list.js.map +1 -1
- package/dist/retrieval/fetch-slices.d.ts.map +1 -1
- package/dist/retrieval/fetch-slices.js +30 -9
- package/dist/retrieval/fetch-slices.js.map +1 -1
- package/dist/runtime/source-provenance.d.ts +94 -0
- package/dist/runtime/source-provenance.d.ts.map +1 -0
- package/dist/runtime/source-provenance.js +129 -0
- package/dist/runtime/source-provenance.js.map +1 -0
- package/dist/runtime/target-bindings.d.ts +29 -0
- package/dist/runtime/target-bindings.d.ts.map +1 -0
- package/dist/runtime/target-bindings.js +170 -0
- package/dist/runtime/target-bindings.js.map +1 -0
- package/dist/tests/collection-parser.test.js +8 -1
- package/dist/tests/collection-parser.test.js.map +1 -1
- package/dist/tests/entity-graph.test.js +21 -0
- package/dist/tests/entity-graph.test.js.map +1 -1
- package/dist/tests/source-provenance.test.d.ts +2 -0
- package/dist/tests/source-provenance.test.d.ts.map +1 -0
- package/dist/tests/source-provenance.test.js +94 -0
- package/dist/tests/source-provenance.test.js.map +1 -0
- package/dist/tests/unified-inventory.test.d.ts +2 -0
- package/dist/tests/unified-inventory.test.d.ts.map +1 -0
- package/dist/tests/unified-inventory.test.js +122 -0
- package/dist/tests/unified-inventory.test.js.map +1 -0
- package/docs/DATA-TIER-CONTRACT.md +20 -2
- package/docs/EXPLORER-HOST-APIS.md +21 -5
- package/docs/MEMORIX-CATALOX-CONTRACTS.md +14 -2
- package/docs/MEMORIX-DATABASE-CONVENTIONS.md +10 -5
- 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("
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,EAAE,EAAE,IAAI;YACR,cAAc,EAAE,kBAAkB;YAClC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,WAAW;YACxB,cAAc,EAAE,CAAC;
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"source-provenance.test.d.ts","sourceRoot":"","sources":["../../src/tests/source-provenance.test.ts"],"names":[],"mappings":""}
|