@x12i/memorix-retrieval 1.36.0 → 1.37.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 (59) hide show
  1. package/catalox-seeds/inputs/entity-descriptors/assets.json +28 -0
  2. package/catalox-seeds/inputs/entity-descriptors/subnets.json +100 -1
  3. package/catalox-seeds/inputs/entity-descriptors/topology-zones.json +45 -2
  4. package/catalox-seeds/inputs/entity-descriptors/vulnerabilities.json +22 -2
  5. package/catalox-seeds/inputs/graph-descriptors/asset-subnet-paths-graph.json +41 -0
  6. package/catalox-seeds/inputs/graph-descriptors/asset-topology-vulnerabilities-graph.json +8 -2
  7. package/catalox-seeds/inputs/graph-descriptors/asset-vulnerability-group-graph.json +38 -0
  8. package/catalox-seeds/inputs/graph-descriptors/vulnerability-asset-subnet-graph.json +40 -0
  9. package/catalox-seeds/memorix-retrieval-descriptors.manifest.json +459 -7
  10. package/dist/client/catalox-adapter.d.ts.map +1 -1
  11. package/dist/client/catalox-adapter.js +10 -1
  12. package/dist/client/catalox-adapter.js.map +1 -1
  13. package/dist/client/catalox-like.d.ts +6 -0
  14. package/dist/client/catalox-like.d.ts.map +1 -1
  15. package/dist/graphs/build-graph-document.d.ts.map +1 -1
  16. package/dist/graphs/build-graph-document.js +434 -26
  17. package/dist/graphs/build-graph-document.js.map +1 -1
  18. package/dist/graphs/fallback-graph-capabilities.d.ts +5 -0
  19. package/dist/graphs/fallback-graph-capabilities.d.ts.map +1 -1
  20. package/dist/graphs/fallback-graph-capabilities.js +148 -15
  21. package/dist/graphs/fallback-graph-capabilities.js.map +1 -1
  22. package/dist/graphs/index.d.ts +1 -0
  23. package/dist/graphs/index.d.ts.map +1 -1
  24. package/dist/graphs/index.js +1 -0
  25. package/dist/graphs/index.js.map +1 -1
  26. package/dist/graphs/load-graph-descriptor.d.ts +12 -3
  27. package/dist/graphs/load-graph-descriptor.d.ts.map +1 -1
  28. package/dist/graphs/load-graph-descriptor.js +56 -12
  29. package/dist/graphs/load-graph-descriptor.js.map +1 -1
  30. package/dist/graphs/record-access.d.ts +18 -0
  31. package/dist/graphs/record-access.d.ts.map +1 -1
  32. package/dist/graphs/record-access.js +36 -0
  33. package/dist/graphs/record-access.js.map +1 -1
  34. package/dist/graphs/validate-graph-metadata.d.ts +36 -0
  35. package/dist/graphs/validate-graph-metadata.d.ts.map +1 -0
  36. package/dist/graphs/validate-graph-metadata.js +71 -0
  37. package/dist/graphs/validate-graph-metadata.js.map +1 -0
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +1 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/seeds/default-seed-spec.d.ts.map +1 -1
  43. package/dist/seeds/default-seed-spec.js +3 -0
  44. package/dist/seeds/default-seed-spec.js.map +1 -1
  45. package/dist/tests/catalox-adapter-scope.test.d.ts +2 -0
  46. package/dist/tests/catalox-adapter-scope.test.d.ts.map +1 -0
  47. package/dist/tests/catalox-adapter-scope.test.js +26 -0
  48. package/dist/tests/catalox-adapter-scope.test.js.map +1 -0
  49. package/dist/tests/graphs.test.js +224 -3
  50. package/dist/tests/graphs.test.js.map +1 -1
  51. package/dist/tests/resolve-filters.test.js +8 -0
  52. package/dist/tests/resolve-filters.test.js.map +1 -1
  53. package/dist/tests/seed-manifest.test.js +3 -0
  54. package/dist/tests/seed-manifest.test.js.map +1 -1
  55. package/dist/tests/validate-graph-metadata.test.d.ts +2 -0
  56. package/dist/tests/validate-graph-metadata.test.d.ts.map +1 -0
  57. package/dist/tests/validate-graph-metadata.test.js +81 -0
  58. package/dist/tests/validate-graph-metadata.test.js.map +1 -0
  59. package/package.json +4 -2
@@ -5,6 +5,11 @@ import type { MemorixEntityGraphCapability, MemorixGraphDescriptor } from "@x12i
5
5
  */
6
6
  export declare const FALLBACK_ENTITY_GRAPH: Record<string, MemorixEntityGraphCapability>;
7
7
  export declare const DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH: MemorixGraphDescriptor;
8
+ /**
9
+ * Merge authored entity graph capabilities with fallback templates so
10
+ * Catalox-seeded entities that only declare a subset still activate
11
+ * includeEdgeTemplates referenced by graph descriptors.
12
+ */
8
13
  export declare function resolveEntityGraphCapability(objectType: string, fromEntity: {
9
14
  graph?: unknown;
10
15
  } | null | undefined, inferred?: MemorixEntityGraphCapability | null): MemorixEntityGraphCapability | null;
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-graph-capabilities.d.ts","sourceRoot":"","sources":["../../src/graphs/fallback-graph-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAuJ9E,CAAC;AAEF,eAAO,MAAM,4CAA4C,EAAE,sBAoE1D,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAClD,QAAQ,CAAC,EAAE,4BAA4B,GAAG,IAAI,GAC7C,4BAA4B,GAAG,IAAI,CAcrC"}
1
+ {"version":3,"file":"fallback-graph-capabilities.d.ts","sourceRoot":"","sources":["../../src/graphs/fallback-graph-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CA4Q9E,CAAC;AAEF,eAAO,MAAM,4CAA4C,EAAE,sBA0E1D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAClD,QAAQ,CAAC,EAAE,4BAA4B,GAAG,IAAI,GAC7C,4BAA4B,GAAG,IAAI,CAoBrC"}
@@ -55,6 +55,14 @@ export const FALLBACK_ENTITY_GRAPH = {
55
55
  itemArrayIncludes: { field: "reachableFromZones", value: "OUTSIDE" },
56
56
  },
57
57
  },
58
+ {
59
+ type: "observedInZone",
60
+ from: { source: "concept" },
61
+ to: { source: "itemField", field: "zone", kind: "zoneName" },
62
+ toObjectType: "topology-zones",
63
+ toKind: "zoneName",
64
+ when: { itemFieldExists: "zone", itemFieldMissing: "cidr" },
65
+ },
58
66
  ],
59
67
  },
60
68
  {
@@ -77,6 +85,26 @@ export const FALLBACK_ENTITY_GRAPH = {
77
85
  },
78
86
  ],
79
87
  },
88
+ {
89
+ id: "asset-subnets-by-cidr",
90
+ source: {
91
+ kind: "queryByField",
92
+ objectType: "subnets",
93
+ sourcePath: "data.subnetCidrs",
94
+ targetPath: "data.cidr",
95
+ limit: 20,
96
+ },
97
+ edges: [
98
+ {
99
+ type: "containedIn",
100
+ from: { source: "concept" },
101
+ to: { source: "relatedConcept" },
102
+ toObjectType: "subnets",
103
+ toKind: "cidr",
104
+ neighbor: "to",
105
+ },
106
+ ],
107
+ },
80
108
  ],
81
109
  },
82
110
  vulnerabilities: {
@@ -87,6 +115,26 @@ export const FALLBACK_ENTITY_GRAPH = {
87
115
  ui: { icon: "alert-triangle" },
88
116
  },
89
117
  edgeTemplates: [
118
+ {
119
+ id: "vuln-affected-asset",
120
+ source: {
121
+ kind: "queryByField",
122
+ objectType: "assets",
123
+ sourcePath: "data.assetIp",
124
+ targetPath: "data.assetIps",
125
+ limit: 5,
126
+ },
127
+ edges: [
128
+ {
129
+ type: "affectsAsset",
130
+ from: { source: "concept" },
131
+ to: { source: "relatedConcept" },
132
+ toObjectType: "assets",
133
+ toKind: "ipAddress",
134
+ neighbor: "to",
135
+ },
136
+ ],
137
+ },
90
138
  {
91
139
  id: "vuln-in-group",
92
140
  source: {
@@ -136,6 +184,53 @@ export const FALLBACK_ENTITY_GRAPH = {
136
184
  contentLenses: ["snapshot", "analysis"],
137
185
  ui: { icon: "network" },
138
186
  },
187
+ edgeTemplates: [
188
+ {
189
+ id: "subnet-zone-topology",
190
+ source: {
191
+ kind: "queryByField",
192
+ objectType: "topology-zones",
193
+ sourcePath: "data.zone",
194
+ targetPath: "data.name",
195
+ limit: 5,
196
+ },
197
+ edges: [
198
+ {
199
+ type: "inZone",
200
+ from: { source: "concept" },
201
+ to: { source: "relatedConcept" },
202
+ toObjectType: "topology-zones",
203
+ toKind: "zoneName",
204
+ neighbor: "to",
205
+ },
206
+ ],
207
+ },
208
+ {
209
+ id: "subnet-assets-by-cidr",
210
+ source: {
211
+ kind: "queryByField",
212
+ objectType: "assets",
213
+ sourcePath: "data.cidr",
214
+ targetPath: "data.subnetCidrs",
215
+ limit: 50,
216
+ },
217
+ edges: [
218
+ {
219
+ type: "containedIn",
220
+ from: { source: "relatedConcept" },
221
+ to: { source: "concept" },
222
+ toObjectType: "assets",
223
+ toKind: "ipAddress",
224
+ neighbor: "from",
225
+ },
226
+ ],
227
+ },
228
+ {
229
+ id: "subnet-path-facts",
230
+ source: { kind: "pathFacts", key: "possiblePaths" },
231
+ edges: [],
232
+ },
233
+ ],
139
234
  },
140
235
  "topology-zones": {
141
236
  node: {
@@ -144,6 +239,28 @@ export const FALLBACK_ENTITY_GRAPH = {
144
239
  contentLenses: ["snapshot", "analysis"],
145
240
  ui: { icon: "shield" },
146
241
  },
242
+ edgeTemplates: [
243
+ {
244
+ id: "zone-subnets-by-name",
245
+ source: {
246
+ kind: "queryByField",
247
+ objectType: "subnets",
248
+ sourcePath: "data.name",
249
+ targetPath: "data.zone",
250
+ limit: 50,
251
+ },
252
+ edges: [
253
+ {
254
+ type: "inZone",
255
+ from: { source: "relatedConcept" },
256
+ to: { source: "concept" },
257
+ toObjectType: "subnets",
258
+ toKind: "cidr",
259
+ neighbor: "from",
260
+ },
261
+ ],
262
+ },
263
+ ],
147
264
  },
148
265
  "vulnerabilities-groups": {
149
266
  node: {
@@ -158,12 +275,18 @@ export const DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH = {
158
275
  id: "asset-topology-vulnerabilities-graph",
159
276
  title: "Asset topology & vulnerabilities",
160
277
  focusObjectType: "assets",
161
- maxDepth: 2,
278
+ maxDepth: 3,
162
279
  includeEdgeTemplates: [
163
280
  "asset-topology-associated",
281
+ "asset-subnets-by-cidr",
164
282
  "asset-vulnerabilities-by-ip",
283
+ "vuln-affected-asset",
165
284
  "vuln-in-group",
166
285
  "vuln-group-by-plugin",
286
+ "subnet-zone-topology",
287
+ "subnet-assets-by-cidr",
288
+ "subnet-path-facts",
289
+ "zone-subnets-by-name",
167
290
  ],
168
291
  tiers: [
169
292
  {
@@ -223,21 +346,31 @@ export const DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH = {
223
346
  },
224
347
  ui: { icon: "network", group: "network", order: 10 },
225
348
  };
349
+ /**
350
+ * Merge authored entity graph capabilities with fallback templates so
351
+ * Catalox-seeded entities that only declare a subset still activate
352
+ * includeEdgeTemplates referenced by graph descriptors.
353
+ */
226
354
  export function resolveEntityGraphCapability(objectType, fromEntity, inferred) {
355
+ const fallback = FALLBACK_ENTITY_GRAPH[objectType] ?? null;
227
356
  const g = fromEntity?.graph;
228
- if (g?.node?.kind) {
229
- if (g.edgeTemplates?.length)
230
- return g;
231
- if (inferred?.edgeTemplates?.length) {
232
- return {
233
- ...g,
234
- edgeTemplates: inferred.edgeTemplates,
235
- };
236
- }
237
- return g;
238
- }
239
- if (inferred?.node?.kind)
240
- return inferred;
241
- return FALLBACK_ENTITY_GRAPH[objectType] ?? null;
357
+ const base = g?.node?.kind
358
+ ? g
359
+ : inferred?.node?.kind
360
+ ? inferred
361
+ : fallback;
362
+ if (!base?.node?.kind)
363
+ return null;
364
+ const byId = new Map();
365
+ for (const t of fallback?.edgeTemplates ?? [])
366
+ byId.set(t.id, t);
367
+ for (const t of inferred?.edgeTemplates ?? [])
368
+ byId.set(t.id, t);
369
+ for (const t of base.edgeTemplates ?? [])
370
+ byId.set(t.id, t);
371
+ return {
372
+ ...base,
373
+ edgeTemplates: [...byId.values()],
374
+ };
242
375
  }
243
376
  //# sourceMappingURL=fallback-graph-capabilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-graph-capabilities.js","sourceRoot":"","sources":["../../src/graphs/fallback-graph-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback-graph-capabilities.js","sourceRoot":"","sources":["../../src/graphs/fallback-graph-capabilities.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export type { JsonObject, MemorixGraphConcept, MemorixGraphConceptIdentifier, Me
2
2
  export { graphLensForStorageContentType, storageContentTypeForLens, } from "./types.js";
3
3
  export { DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH, FALLBACK_ENTITY_GRAPH, resolveEntityGraphCapability, } from "./fallback-graph-capabilities.js";
4
4
  export { listMemorixGraphDescriptors, loadMemorixGraphDescriptor, resolveMemorixGraphDescriptor, type MemorixGraphDescriptorResolution, type MemorixGraphDescriptorSource, } from "./load-graph-descriptor.js";
5
+ export { validateNeoGraphMetadata, type GraphMetadataIssue, type GraphMetadataValidationReport, } from "./validate-graph-metadata.js";
5
6
  export { inferGraphDescriptorBundle, inferGraphDescriptorFromSchema, guessFocusObjectTypeFromGraphId, type InferredGraphBundle, } from "./infer-graph-descriptor.js";
6
7
  export { buildMemorixGraphDocument, type BuildMemorixGraphDocumentInput, } from "./build-graph-document.js";
7
8
  export { buildMemorixGraphDirectory, fetchMemorixGraphNodeContent, type BuildMemorixGraphDirectoryInput, } from "./build-graph-directory.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,4CAA4C,EAC5C,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,yBAAyB,EACzB,KAAK,8BAA8B,GACpC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,4CAA4C,EAC5C,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,gCAAgC,EACrC,KAAK,4BAA4B,GAClC,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,yBAAyB,EACzB,KAAK,8BAA8B,GACpC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,KAAK,+BAA+B,GACrC,MAAM,4BAA4B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { graphLensForStorageContentType, storageContentTypeForLens, } from "./types.js";
2
2
  export { DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH, FALLBACK_ENTITY_GRAPH, resolveEntityGraphCapability, } from "./fallback-graph-capabilities.js";
3
3
  export { listMemorixGraphDescriptors, loadMemorixGraphDescriptor, resolveMemorixGraphDescriptor, } from "./load-graph-descriptor.js";
4
+ export { validateNeoGraphMetadata, } from "./validate-graph-metadata.js";
4
5
  export { inferGraphDescriptorBundle, inferGraphDescriptorFromSchema, guessFocusObjectTypeFromGraphId, } from "./infer-graph-descriptor.js";
5
6
  export { buildMemorixGraphDocument, } from "./build-graph-document.js";
6
7
  export { buildMemorixGraphDirectory, fetchMemorixGraphNodeContent, } from "./build-graph-directory.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,4CAA4C,EAC5C,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAG9B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,GAEhC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphs/index.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,4CAA4C,EAC5C,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,GAG9B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,wBAAwB,GAGzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,GAEhC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,GAE7B,MAAM,4BAA4B,CAAC"}
@@ -10,13 +10,22 @@ export type MemorixGraphDescriptorResolution = {
10
10
  /** Synthesized entity graph capabilities when source is inferred. */
11
11
  inferredCapabilities?: Record<string, MemorixEntityGraphCapability>;
12
12
  inferenceWarnings?: string[];
13
+ /** Agent scope observed on the Catalox catalog item (when present). */
14
+ scopeAgents?: string[];
13
15
  };
14
- export declare function resolveMemorixGraphDescriptor(client: MemorixRetrievalClient, graphId: string): Promise<MemorixGraphDescriptorResolution>;
15
- export declare function loadMemorixGraphDescriptor(client: MemorixRetrievalClient, graphId: string): Promise<MemorixGraphDescriptor>;
16
- export declare function listMemorixGraphDescriptors(client: MemorixRetrievalClient): Promise<Array<{
16
+ export declare function resolveMemorixGraphDescriptor(client: MemorixRetrievalClient, graphId: string, options?: {
17
+ agentId?: string;
18
+ }): Promise<MemorixGraphDescriptorResolution>;
19
+ export declare function loadMemorixGraphDescriptor(client: MemorixRetrievalClient, graphId: string, options?: {
20
+ agentId?: string;
21
+ }): Promise<MemorixGraphDescriptor>;
22
+ export declare function listMemorixGraphDescriptors(client: MemorixRetrievalClient, options?: {
23
+ agentId?: string;
24
+ }): Promise<Array<{
17
25
  id: string;
18
26
  title: string;
19
27
  defined: boolean;
20
28
  source: MemorixGraphDescriptorSource;
29
+ scopeAgents?: string[];
21
30
  }>>;
22
31
  //# sourceMappingURL=load-graph-descriptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-graph-descriptor.d.ts","sourceRoot":"","sources":["../../src/graphs/load-graph-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAEhG,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,sBAAsB,CAAC;IACnC,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,4BAA4B,CAAC;IACrC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IACpE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAeF,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gCAAgC,CAAC,CA+C3C;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,CAAC,CAGjC;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAC,CA2CvG"}
1
+ {"version":3,"file":"load-graph-descriptor.d.ts","sourceRoot":"","sources":["../../src/graphs/load-graph-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIjE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAEhG,MAAM,MAAM,4BAA4B,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/E,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,sBAAsB,CAAC;IACnC,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,4BAA4B,CAAC;IACrC,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IACpE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAsCF,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,gCAAgC,CAAC,CA+D3C;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAGjC;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CACR,KAAK,CAAC;IACJ,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,4BAA4B,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC,CACH,CA4DA"}
@@ -1,4 +1,5 @@
1
1
  import { MEMORIX_GRAPH_DESCRIPTORS_CATALOG, } from "@x12i/memorix-descriptors";
2
+ import { extractScopeFromData, mergeCatalogItemScopeIntoData, objectTypeMatchesAgent, } from "@x12i/memorix-agents";
2
3
  import { DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH } from "./fallback-graph-capabilities.js";
3
4
  import { inferGraphDescriptorBundle } from "./infer-graph-descriptor.js";
4
5
  export { DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH } from "./fallback-graph-capabilities.js";
@@ -11,18 +12,41 @@ function isCatalogMissingError(err) {
11
12
  message.includes("Access denied for catalog") ||
12
13
  message.includes("binding_not_found_or_inactive"));
13
14
  }
14
- export async function resolveMemorixGraphDescriptor(client, graphId) {
15
+ function scopeAgentsFromCatalogItem(item) {
16
+ const merged = mergeCatalogItemScopeIntoData(item);
17
+ return extractScopeFromData(merged).agents;
18
+ }
19
+ function assertAgentAllowed(scopeAgents, agentId, graphId) {
20
+ if (!agentId)
21
+ return;
22
+ const scope = { domains: [], agents: scopeAgents ?? [] };
23
+ if (!objectTypeMatchesAgent(scope, agentId)) {
24
+ throw new Error(`Graph descriptor "${graphId}" is out of scope for agentId="${agentId}"`);
25
+ }
26
+ }
27
+ export async function resolveMemorixGraphDescriptor(client, graphId, options) {
28
+ const agentId = options?.agentId?.trim() || undefined;
15
29
  try {
16
30
  const result = await client.catalox.getCatalogItem({ appId: client.appId }, MEMORIX_GRAPH_DESCRIPTORS_CATALOG, graphId);
17
31
  if (result.outcome === "found" && result.item?.data) {
32
+ const scopeAgents = scopeAgentsFromCatalogItem({
33
+ data: result.item.data,
34
+ scope: result.item.scope,
35
+ metadata: result.item
36
+ .metadata,
37
+ });
38
+ assertAgentAllowed(scopeAgents, agentId, graphId);
18
39
  return {
19
40
  descriptor: asGraphDescriptor(result.item.data),
20
41
  defined: true,
21
42
  source: "catalox",
43
+ scopeAgents,
22
44
  };
23
45
  }
24
46
  }
25
47
  catch (err) {
48
+ if (err instanceof Error && err.message.includes("out of scope"))
49
+ throw err;
26
50
  if (!isCatalogMissingError(err))
27
51
  throw err;
28
52
  }
@@ -33,52 +57,72 @@ export async function resolveMemorixGraphDescriptor(client, graphId) {
33
57
  const hasStructure = (inferred.descriptor.includeEdgeTemplates?.length ?? 0) > 0 ||
34
58
  (inferred.descriptor.nodes?.length ?? 0) > 0;
35
59
  if (hasStructure) {
60
+ // Inferred descriptors inherit neo product scope for cyber deployments.
61
+ assertAgentAllowed(["neo"], agentId, graphId);
36
62
  return {
37
63
  descriptor: inferred.descriptor,
38
64
  defined: false,
39
65
  source: "inferred",
40
66
  inferredCapabilities: inferred.entityCapabilities,
41
67
  inferenceWarnings: inferred.warnings,
68
+ scopeAgents: ["neo"],
42
69
  };
43
70
  }
44
71
  }
45
72
  }
46
- catch {
73
+ catch (err) {
74
+ if (err instanceof Error && err.message.includes("out of scope"))
75
+ throw err;
47
76
  // Fall through to bundled fallback / error.
48
77
  }
49
78
  if (graphId === DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH.id) {
79
+ assertAgentAllowed(["neo"], agentId, graphId);
50
80
  return {
51
81
  descriptor: DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH,
52
82
  defined: false,
53
83
  source: "fallback",
84
+ scopeAgents: ["neo"],
54
85
  };
55
86
  }
56
87
  throw new Error(`Graph descriptor not found: ${graphId}`);
57
88
  }
58
- export async function loadMemorixGraphDescriptor(client, graphId) {
59
- const resolved = await resolveMemorixGraphDescriptor(client, graphId);
89
+ export async function loadMemorixGraphDescriptor(client, graphId, options) {
90
+ const resolved = await resolveMemorixGraphDescriptor(client, graphId, options);
60
91
  return resolved.descriptor;
61
92
  }
62
- export async function listMemorixGraphDescriptors(client) {
93
+ export async function listMemorixGraphDescriptors(client, options) {
94
+ const agentId = options?.agentId?.trim() || undefined;
63
95
  const fallback = [
64
96
  {
65
97
  id: DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH.id,
66
98
  title: DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH.title,
67
99
  defined: false,
68
100
  source: "fallback",
101
+ scopeAgents: ["neo"],
69
102
  },
70
- ];
103
+ ].filter((g) => objectTypeMatchesAgent({ domains: [], agents: g.scopeAgents }, agentId));
71
104
  const listFn = client.catalox.listCatalogItems;
72
105
  if (!listFn)
73
106
  return fallback;
74
107
  try {
75
108
  const page = await listFn({ appId: client.appId }, MEMORIX_GRAPH_DESCRIPTORS_CATALOG, { limit: 200, offset: 0 });
76
- const items = (page.items ?? []).map((item) => ({
77
- id: String(item.data.id ?? item.id),
78
- title: String(item.data.title ?? item.title ?? item.id),
79
- defined: true,
80
- source: "catalox",
81
- }));
109
+ const items = (page.items ?? [])
110
+ .map((item) => {
111
+ const scopeAgents = scopeAgentsFromCatalogItem({
112
+ data: item.data,
113
+ scope: item.scope,
114
+ metadata: item
115
+ .metadata,
116
+ });
117
+ return {
118
+ id: String(item.data.id ?? item.id),
119
+ title: String(item.data.title ?? item.title ?? item.id),
120
+ defined: true,
121
+ source: "catalox",
122
+ scopeAgents,
123
+ };
124
+ })
125
+ .filter((g) => objectTypeMatchesAgent({ domains: [], agents: g.scopeAgents ?? [] }, agentId));
82
126
  if (items.length === 0 ||
83
127
  !items.some((i) => i.id === DEFAULT_ASSET_TOPOLOGY_VULNERABILITIES_GRAPH.id)) {
84
128
  const profile = client.processEnv?.MEMORIX_DEPLOYMENT_PROFILE?.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"load-graph-descriptor.js","sourceRoot":"","sources":["../../src/graphs/load-graph-descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,GAGlC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,4CAA4C,EAAE,MAAM,kCAAkC,CAAC;AAchG,SAAS,iBAAiB,CAAC,IAA6B;IACtD,OAAO,IAAyC,CAAC;AACnD,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC7C,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAA8B,EAC9B,OAAe;IAEf,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,CAChD,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EACvB,iCAAiC,EACjC,OAAO,CACR,CAAC;QACF,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACpD,OAAO;gBACL,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/C,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,CAAC;IAC7C,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE,UAAU,EAAE,CAAC;YACzB,MAAM,YAAY,GAChB,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC3D,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO;oBACL,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,UAAU;oBAClB,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;oBACjD,iBAAiB,EAAE,QAAQ,CAAC,QAAQ;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IAED,IAAI,OAAO,KAAK,4CAA4C,CAAC,EAAE,EAAE,CAAC;QAChE,OAAO;YACL,UAAU,EAAE,4CAA4C;YACxD,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAA8B,EAC9B,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC,UAAU,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAA8B;IAE9B,MAAM,QAAQ,GAAG;QACf;YACE,EAAE,EAAE,4CAA4C,CAAC,EAAE;YACnD,KAAK,EAAE,4CAA4C,CAAC,KAAK;YACzD,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAmB;SAC5B;KACF,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CACvB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EACvB,iCAAiC,EACjC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAC1B,CAAC;QACF,MAAM,KAAK,GAKN,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAkB;SAC3B,CAAC,CAAC,CAAC;QACJ,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,4CAA4C,CAAC,EAAE,CAAC,EAC5E,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC;YACtE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,qBAAqB,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;QAChD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"load-graph-descriptor.js","sourceRoot":"","sources":["../../src/graphs/load-graph-descriptor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,24 @@
1
1
  import type { MemorixEntityDescriptor } from "../descriptors/descriptor-types.js";
2
2
  import type { MemorixRetrievalClient } from "../client/types.js";
3
3
  import type { JsonObject, MemorixGraphConcept, MemorixGraphContent } from "./types.js";
4
+ /**
5
+ * Infer snapshot objectType from an identifierKey kind prefix (e.g. `cidr:…` → subnets).
6
+ * Uses descriptor node `kind` when set, otherwise fallback/inferred entity graph kinds.
7
+ */
8
+ export declare function guessObjectTypeFromIdentifierKey(identifierKey: string, nodes: ReadonlyArray<{
9
+ objectType: string;
10
+ kind?: string;
11
+ }>, kindByObjectType?: Readonly<Record<string, string | undefined>>): string | undefined;
12
+ /** Ordered object types to try when resolving a Directory/Focus selection. */
13
+ export declare function focusLookupObjectTypes(input: {
14
+ focusObjectType: string;
15
+ focusIdentifierKey?: string;
16
+ nodes: ReadonlyArray<{
17
+ objectType: string;
18
+ kind?: string;
19
+ }>;
20
+ kindByObjectType?: Readonly<Record<string, string | undefined>>;
21
+ }): string[];
4
22
  export declare function conceptFromRecord(doc: JsonObject): MemorixGraphConcept | null;
5
23
  export declare function loadEntity(client: MemorixRetrievalClient, objectType: string): Promise<MemorixEntityDescriptor>;
6
24
  export declare function findSnapshotByRecordId(client: MemorixRetrievalClient, objectType: string, recordId: string): Promise<JsonObject | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"record-access.d.ts","sourceRoot":"","sources":["../../src/graphs/record-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQjE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,mBAAmB,GAAG,IAAI,CA2B7E;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAkB5B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAW5B;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GACL,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAO,GACnC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,mBAAmB,CAAC,CA8C9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"record-access.d.ts","sourceRoot":"","sources":["../../src/graphs/record-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQjE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGvF;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,aAAa,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EAC3D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAC9D,MAAM,GAAG,SAAS,CAcpB;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACjE,GAAG,MAAM,EAAE,CAiBX;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,mBAAmB,GAAG,IAAI,CA2B7E;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAkB5B;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAW5B;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GACL,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,UAAU,CAAA;CAAO,GACnC,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,mBAAmB,CAAC,CA8C9B;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAElD"}
@@ -4,6 +4,42 @@ import { loadMemorixEntityDescriptorByName } from "../descriptors/discover-entit
4
4
  import { resolveMemorixTargetFromDescriptor, } from "../mongo/target-config.js";
5
5
  import { readRecordId } from "@x12i/memorix-descriptors";
6
6
  import { graphLensForStorageContentType, storageContentTypeForLens } from "./types.js";
7
+ /**
8
+ * Infer snapshot objectType from an identifierKey kind prefix (e.g. `cidr:…` → subnets).
9
+ * Uses descriptor node `kind` when set, otherwise fallback/inferred entity graph kinds.
10
+ */
11
+ export function guessObjectTypeFromIdentifierKey(identifierKey, nodes, kindByObjectType) {
12
+ const colon = identifierKey.indexOf(":");
13
+ if (colon <= 0)
14
+ return undefined;
15
+ const kind = identifierKey.slice(0, colon);
16
+ if (!kind)
17
+ return undefined;
18
+ const byExplicit = nodes.find((n) => n.kind === kind);
19
+ if (byExplicit)
20
+ return byExplicit.objectType;
21
+ for (const n of nodes) {
22
+ const inferredKind = kindByObjectType?.[n.objectType] ?? n.kind;
23
+ if (inferredKind === kind)
24
+ return n.objectType;
25
+ }
26
+ return undefined;
27
+ }
28
+ /** Ordered object types to try when resolving a Directory/Focus selection. */
29
+ export function focusLookupObjectTypes(input) {
30
+ const ordered = [];
31
+ const add = (ot) => {
32
+ if (ot && !ordered.includes(ot))
33
+ ordered.push(ot);
34
+ };
35
+ if (input.focusIdentifierKey) {
36
+ add(guessObjectTypeFromIdentifierKey(input.focusIdentifierKey, input.nodes, input.kindByObjectType));
37
+ }
38
+ add(input.focusObjectType);
39
+ for (const n of input.nodes)
40
+ add(n.objectType);
41
+ return ordered;
42
+ }
7
43
  export function conceptFromRecord(doc) {
8
44
  const concept = doc.concept;
9
45
  if (!concept || typeof concept !== "object" || Array.isArray(concept))
@@ -1 +1 @@
1
- {"version":3,"file":"record-access.js","sourceRoot":"","sources":["../../src/graphs/record-access.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-access.js","sourceRoot":"","sources":["../../src/graphs/record-access.ts"],"names":[],"mappings":"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"}