@x12i/memorix-retrieval 1.22.0 → 1.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -0
- package/catalox-seeds/inputs/entity-descriptors/assets.json +7 -7
- package/catalox-seeds/inputs/entity-descriptors/vulnerabilities.json +7 -7
- package/catalox-seeds/inputs/item-descriptors/asset-detail-item.json +2 -2
- package/catalox-seeds/inputs/item-descriptors/topology-subnet-detail-item.json +2 -2
- package/catalox-seeds/inputs/item-descriptors/vulnerability-detail-item.json +2 -2
- package/catalox-seeds/inputs/list-descriptors/critical-vulnerabilities-slice.json +1 -1
- package/catalox-seeds/inputs/manifest.json +1 -1
- package/catalox-seeds/inputs/memorix-catalog-ids.json +1 -1
- package/catalox-seeds/memorix-retrieval-descriptors.manifest.json +33 -33
- package/dist/client/catalox-mongo-bootstrap.d.ts +13 -0
- package/dist/client/catalox-mongo-bootstrap.d.ts.map +1 -0
- package/dist/client/catalox-mongo-bootstrap.js +22 -0
- package/dist/client/catalox-mongo-bootstrap.js.map +1 -0
- package/dist/client/create-stack-from-env.js +2 -2
- package/dist/client/create-stack-from-env.js.map +1 -1
- package/dist/client/types.d.ts +11 -8
- package/dist/client/types.d.ts.map +1 -1
- package/dist/data/record-display-name.d.ts.map +1 -1
- package/dist/data/record-display-name.js +4 -0
- package/dist/data/record-display-name.js.map +1 -1
- package/dist/data/record-display-name.test.js +23 -0
- package/dist/data/record-display-name.test.js.map +1 -1
- package/dist/data/record-identity.d.ts +2 -2
- package/dist/data/record-identity.d.ts.map +1 -1
- package/dist/data/record-identity.js +23 -20
- package/dist/data/record-identity.js.map +1 -1
- package/dist/data/record-info.d.ts +2 -0
- package/dist/data/record-info.d.ts.map +1 -1
- package/dist/data/record-info.js +10 -0
- package/dist/data/record-info.js.map +1 -1
- package/dist/data/record-info.test.js +1 -0
- package/dist/data/record-info.test.js.map +1 -1
- package/dist/descriptors/catalog-ids.d.ts +2 -1
- package/dist/descriptors/catalog-ids.d.ts.map +1 -1
- package/dist/descriptors/catalog-ids.js +2 -1
- package/dist/descriptors/catalog-ids.js.map +1 -1
- package/dist/descriptors/descriptor-types.d.ts +14 -2
- package/dist/descriptors/descriptor-types.d.ts.map +1 -1
- package/dist/descriptors/internal-object-types.d.ts +3 -0
- package/dist/descriptors/internal-object-types.d.ts.map +1 -0
- package/dist/descriptors/internal-object-types.js +7 -0
- package/dist/descriptors/internal-object-types.js.map +1 -0
- package/dist/descriptors/load-list-descriptor.d.ts.map +1 -1
- package/dist/descriptors/load-list-descriptor.js +2 -1
- package/dist/descriptors/load-list-descriptor.js.map +1 -1
- package/dist/descriptors/normalize-list-sort.d.ts +5 -0
- package/dist/descriptors/normalize-list-sort.d.ts.map +1 -0
- package/dist/descriptors/normalize-list-sort.js +20 -0
- package/dist/descriptors/normalize-list-sort.js.map +1 -0
- package/dist/descriptors/validate-descriptor.d.ts +1 -0
- package/dist/descriptors/validate-descriptor.d.ts.map +1 -1
- package/dist/descriptors/validate-descriptor.js +25 -1
- package/dist/descriptors/validate-descriptor.js.map +1 -1
- package/dist/explorer/collection-records.d.ts +3 -2
- package/dist/explorer/collection-records.d.ts.map +1 -1
- package/dist/explorer/collection-records.js +4 -3
- package/dist/explorer/collection-records.js.map +1 -1
- package/dist/explorer/entity-graph.d.ts +2 -0
- package/dist/explorer/entity-graph.d.ts.map +1 -1
- package/dist/explorer/entity-graph.js +7 -1
- package/dist/explorer/entity-graph.js.map +1 -1
- package/dist/explorer/health.d.ts.map +1 -1
- package/dist/explorer/health.js +65 -30
- package/dist/explorer/health.js.map +1 -1
- package/dist/explorer/slice-index.d.ts.map +1 -1
- package/dist/explorer/slice-index.js +19 -11
- package/dist/explorer/slice-index.js.map +1 -1
- package/dist/explorer/unified-inventory.d.ts +3 -1
- package/dist/explorer/unified-inventory.d.ts.map +1 -1
- package/dist/explorer/unified-inventory.js +9 -2
- package/dist/explorer/unified-inventory.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mongo/env.d.ts +2 -0
- package/dist/mongo/env.d.ts.map +1 -1
- package/dist/mongo/env.js +4 -0
- package/dist/mongo/env.js.map +1 -1
- package/dist/retrieval/fetch-full-record.d.ts +22 -0
- package/dist/retrieval/fetch-full-record.d.ts.map +1 -0
- package/dist/retrieval/fetch-full-record.js +68 -0
- package/dist/retrieval/fetch-full-record.js.map +1 -0
- package/dist/retrieval/fetch-item.js +4 -0
- 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 +16 -7
- package/dist/retrieval/fetch-list.js.map +1 -1
- package/dist/retrieval/fetch-workspace-list.d.ts.map +1 -1
- package/dist/retrieval/fetch-workspace-list.js +18 -7
- package/dist/retrieval/fetch-workspace-list.js.map +1 -1
- package/dist/retrieval/graph-run-buckets.js +1 -1
- package/dist/retrieval/graph-run-buckets.js.map +1 -1
- package/dist/retrieval/graph-run-buckets.test.js +1 -1
- package/dist/retrieval/graph-run-buckets.test.js.map +1 -1
- package/dist/retrieval/graph-run-filters.d.ts.map +1 -1
- package/dist/retrieval/graph-run-filters.js +1 -1
- package/dist/retrieval/graph-run-filters.js.map +1 -1
- package/dist/retrieval/graph-run-filters.test.js +11 -11
- package/dist/retrieval/graph-run-filters.test.js.map +1 -1
- package/dist/retrieval/processing-overview.test.js +2 -2
- package/dist/retrieval/processing-overview.test.js.map +1 -1
- package/dist/retrieval/resolve-filters.d.ts.map +1 -1
- package/dist/retrieval/resolve-filters.js +0 -4
- package/dist/retrieval/resolve-filters.js.map +1 -1
- package/dist/retrieval/resolve-list-analytics.d.ts +5 -0
- package/dist/retrieval/resolve-list-analytics.d.ts.map +1 -0
- package/dist/retrieval/resolve-list-analytics.js +63 -0
- package/dist/retrieval/resolve-list-analytics.js.map +1 -0
- package/dist/retrieval/resolve-pagination-driver.js +2 -2
- package/dist/retrieval/resolve-pagination-driver.js.map +1 -1
- package/dist/retrieval/resolve-sort.d.ts +8 -6
- package/dist/retrieval/resolve-sort.d.ts.map +1 -1
- package/dist/retrieval/resolve-sort.js +38 -15
- package/dist/retrieval/resolve-sort.js.map +1 -1
- package/dist/tests/collection-parser.test.js +14 -0
- package/dist/tests/collection-parser.test.js.map +1 -1
- package/dist/tests/create-stack-from-env.test.js +4 -3
- package/dist/tests/create-stack-from-env.test.js.map +1 -1
- package/dist/tests/entity-graph.test.js +45 -0
- package/dist/tests/entity-graph.test.js.map +1 -1
- package/dist/tests/env.test.js +9 -1
- package/dist/tests/env.test.js.map +1 -1
- package/dist/tests/fetch-item.test.js +32 -0
- package/dist/tests/fetch-item.test.js.map +1 -1
- package/dist/tests/fetch-list.test.js +3 -3
- package/dist/tests/fetch-list.test.js.map +1 -1
- package/dist/tests/fetch-record-info.test.js +1 -0
- package/dist/tests/fetch-record-info.test.js.map +1 -1
- package/dist/tests/fixtures.js +3 -3
- package/dist/tests/fixtures.js.map +1 -1
- package/dist/tests/internal-object-types.test.d.ts +2 -0
- package/dist/tests/internal-object-types.test.d.ts.map +1 -0
- package/dist/tests/internal-object-types.test.js +16 -0
- package/dist/tests/internal-object-types.test.js.map +1 -0
- package/dist/tests/raw-reads.test.d.ts +2 -0
- package/dist/tests/raw-reads.test.d.ts.map +1 -0
- package/dist/tests/raw-reads.test.js +122 -0
- package/dist/tests/raw-reads.test.js.map +1 -0
- package/dist/tests/unified-inventory.test.js +1 -1
- package/dist/tests/unified-inventory.test.js.map +1 -1
- package/docs/EXPLORER-HOST-APIS.md +1 -1
- package/docs/MEMORIX-CATALOX-CONTRACTS.md +1 -1
- package/docs/MEMORIX-DATABASE-CONVENTIONS.md +27 -39
- package/package.json +2 -2
|
@@ -209,57 +209,45 @@ All peers should implement the same precedence so local, CI, and production beha
|
|
|
209
209
|
|
|
210
210
|
## Document shape
|
|
211
211
|
|
|
212
|
-
### Memorix
|
|
212
|
+
### Clean Memorix record (entity / event / knowledge)
|
|
213
213
|
|
|
214
|
-
All Memorix records use the
|
|
214
|
+
All Memorix records use the **clean envelope** format. See [`docs/memorix-format.md`](../../docs/memorix-format.md) for the full specification.
|
|
215
|
+
|
|
216
|
+
The root holds only `_id`, `recordId`, `concept`, the five data buckets, and `_system`. There is no `identity` block, root `lifecycle`, `sourceFacts`, or `concept.name`.
|
|
215
217
|
|
|
216
218
|
```json
|
|
217
219
|
{
|
|
218
220
|
"_id": "<ObjectId>",
|
|
219
|
-
"
|
|
220
|
-
"recordId": "<stable logical id>",
|
|
221
|
-
"target": "entity | event | knowledge",
|
|
222
|
-
"targetId": "<target-specific id>",
|
|
223
|
-
"objectType": "<object type>",
|
|
224
|
-
"contentType": "<snapshots | core | scoped | inferences | ...>",
|
|
225
|
-
"version": "memorix-record.2.0"
|
|
226
|
-
},
|
|
227
|
-
"lifecycle": {
|
|
228
|
-
"createdAt": "<ISO-8601>",
|
|
229
|
-
"modifiedAt": "<ISO-8601>",
|
|
230
|
-
"capturedAt": "<ISO-8601 optional>",
|
|
231
|
-
"status": "active"
|
|
232
|
-
},
|
|
221
|
+
"recordId": "<stable logical id>",
|
|
233
222
|
"concept": {
|
|
234
|
-
"kind": "<
|
|
235
|
-
"
|
|
236
|
-
"title": "<optional>"
|
|
223
|
+
"identifier": { "kind": "<idKind>", "<idKind>": "<value>" },
|
|
224
|
+
"title": "<human-readable display name>"
|
|
237
225
|
},
|
|
238
226
|
"data": { "... domain fields ..." },
|
|
239
|
-
"associatedData": { "...
|
|
240
|
-
"analytics": { "...
|
|
241
|
-
"
|
|
242
|
-
"
|
|
227
|
+
"associatedData": { "... related entity references ..." },
|
|
228
|
+
"analytics": { "... rollups and counts ..." },
|
|
229
|
+
"enrichment": { "... external feed values ..." },
|
|
230
|
+
"insights": { "... AI-generated judgments ..." },
|
|
243
231
|
"_system": {
|
|
244
|
-
"
|
|
245
|
-
"
|
|
246
|
-
"
|
|
247
|
-
"
|
|
232
|
+
"provenance": { "... source lineage ..." },
|
|
233
|
+
"lifecycle": [{ "process": "enriched", "processedAt": "<ISO-8601>" }],
|
|
234
|
+
"_graphRuns": { "<graphId>": { "... graph-run stamp ..." } },
|
|
235
|
+
"_jobTypeRuns": { "<jobTypeId>": { "... job-type stamp ..." } }
|
|
248
236
|
}
|
|
249
237
|
}
|
|
250
238
|
```
|
|
251
239
|
|
|
252
|
-
|
|
|
253
|
-
|
|
254
|
-
| `
|
|
255
|
-
| `
|
|
256
|
-
| `
|
|
257
|
-
| `
|
|
258
|
-
| `
|
|
259
|
-
|
|
260
|
-
|
|
240
|
+
| Field / block | Required | Notes |
|
|
241
|
+
|---------------|----------|-------|
|
|
242
|
+
| `recordId` | Yes | Stable logical record id at root — not nested under `identity` |
|
|
243
|
+
| `concept` | Yes | `identifier` (discriminated by `kind`) + `title`; no `concept.name` |
|
|
244
|
+
| `data` | Yes | Domain payload |
|
|
245
|
+
| `associatedData` / `analytics` / `enrichment` / `insights` | Optional | Each value lives in exactly one bucket (five-bucket rule) |
|
|
246
|
+
| `_system` | Recommended | Provenance, lifecycle events, `_graphRuns`, `_jobTypeRuns` |
|
|
247
|
+
|
|
248
|
+
`objectType` is implied by collection name. `target` (`entity` / `event` / `knowledge`) is implied by database name.
|
|
261
249
|
|
|
262
|
-
Legacy
|
|
250
|
+
**Legacy fields** (`identity`, root `lifecycle`, `sourceFacts`, `concept.name`, flat `entityId` / `eventId`, root `_graphRuns`, etc.) **must not be written**. Provenance belongs under `_system.provenance`.
|
|
263
251
|
|
|
264
252
|
### Provenance (under `_system.provenance`)
|
|
265
253
|
|
|
@@ -313,7 +301,7 @@ Tools that enrich Memorix from source data (e.g. `@x12i/memorix-completion`) use
|
|
|
313
301
|
"collection": "vulnerabilities-information"
|
|
314
302
|
},
|
|
315
303
|
"match": {
|
|
316
|
-
"targetPath": "
|
|
304
|
+
"targetPath": "recordId",
|
|
317
305
|
"sourcePath": "vulnerabilityId"
|
|
318
306
|
},
|
|
319
307
|
"writeRoot": "data",
|
|
@@ -330,7 +318,7 @@ Tools that enrich Memorix from source data (e.g. `@x12i/memorix-completion`) use
|
|
|
330
318
|
| `targetSelector.sourceCollection` | Must match record's source lineage |
|
|
331
319
|
| `source.databaseName` | Source DB; use `{{ENV.*}}` for env-driven deploys |
|
|
332
320
|
| `source.collection` | Source collection to read from |
|
|
333
|
-
| `match.targetPath` | Path on Memorix record
|
|
321
|
+
| `match.targetPath` | Path on the Memorix record — `recordId`, `concept.identifier.<kind>`, or legacy aliases `entityId` / `eventId` (resolved to `recordId`) |
|
|
334
322
|
| `match.sourcePath` | Path on source document |
|
|
335
323
|
| `writeRoot` | Always `"data"` — never overwrite envelope fields via completion |
|
|
336
324
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/memorix-retrieval",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.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",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@x12i/helpers": "^2.0.0",
|
|
39
39
|
"@x12i/logxer": "^5.1.0",
|
|
40
40
|
"@x12i/memorix-agents": "^1.2.1",
|
|
41
|
-
"@x12i/memorix-descriptors": "^1.
|
|
41
|
+
"@x12i/memorix-descriptors": "^1.19.0",
|
|
42
42
|
"@x12i/xronox": "^3.9.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|