@x12i/memorix-retrieval 1.22.0 → 1.24.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.d.ts +2 -1
- package/dist/client/create-stack-from-env.d.ts.map +1 -1
- package/dist/client/create-stack-from-env.js +4 -3
- 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 +82 -9
- 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 +3 -3
package/README.md
CHANGED
|
@@ -450,6 +450,37 @@ npm run catalox:seed:memorix-retrieval:apply
|
|
|
450
450
|
npm run catalox:seed:ensure
|
|
451
451
|
```
|
|
452
452
|
|
|
453
|
+
## Lists catalog (`lists`)
|
|
454
|
+
|
|
455
|
+
The list descriptor catalog id is **`lists`** (legacy: `memorix-list-descriptors`). Migrate existing Catalox data with `memorix-descriptors/scripts/migrate-list-descriptors-catalog.mjs`.
|
|
456
|
+
|
|
457
|
+
## Compound sort
|
|
458
|
+
|
|
459
|
+
`fetchMemorixList` accepts `sort: [{ property, direction }, ...]`. Secondary sort keys must resolve to the **same content type** as the primary key. Ensure a matching compound index exists on the driver collection — there is no automatic index provisioning.
|
|
460
|
+
|
|
461
|
+
## Analytics fields on lists
|
|
462
|
+
|
|
463
|
+
List descriptors may declare `analytics[]` with `{ field, collection, joinBy, metric }`. Values are merged into rows per page via scoped aggregation (`groupMemorixRecords`).
|
|
464
|
+
|
|
465
|
+
## Full record fetch
|
|
466
|
+
|
|
467
|
+
```ts
|
|
468
|
+
import { fetchMemorixFullRecord } from "@x12i/memorix-retrieval";
|
|
469
|
+
|
|
470
|
+
const full = await fetchMemorixFullRecord(client, {
|
|
471
|
+
entityName: "assets",
|
|
472
|
+
entityId: "abc-123",
|
|
473
|
+
// contentTypes: ["snapshots", "analysis"], // optional subset
|
|
474
|
+
});
|
|
475
|
+
// full.contentTypes — raw document(s) per content type
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
Unlike `fetchMemorixItemForEntity`, this bypasses item descriptors and returns uncurated documents.
|
|
479
|
+
|
|
480
|
+
## List filters
|
|
481
|
+
|
|
482
|
+
Request filters use `MemorixFilterInput[]`. A property is authorized when it is `filterable: true` on the entity descriptor and belongs to the list's **leading** content type. The list descriptor's `filters[]` array supplies pinned defaults only — it is not an allow-list for ad-hoc filters.
|
|
483
|
+
|
|
453
484
|
## Build, test, and live smoke
|
|
454
485
|
|
|
455
486
|
```bash
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
"collectionPrefix": "assets",
|
|
8
8
|
"identity": {
|
|
9
9
|
"allowedIdFields": [
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"recordId",
|
|
11
|
+
"recordId"
|
|
12
12
|
],
|
|
13
13
|
"requiredExactlyOne": true,
|
|
14
|
-
"defaultIdField": "
|
|
14
|
+
"defaultIdField": "recordId"
|
|
15
15
|
},
|
|
16
16
|
"defaults": {
|
|
17
17
|
"canonicalContentType": "snapshots",
|
|
18
18
|
"dataRoot": "data",
|
|
19
|
-
"effectiveDatePath": "
|
|
19
|
+
"effectiveDatePath": "data.lastSeen",
|
|
20
20
|
"fallbackEffectiveDatePaths": [
|
|
21
21
|
"capturedAt",
|
|
22
22
|
"snapshot.capturedAt",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"collection": "assets-snapshots",
|
|
30
30
|
"dataRoot": "data",
|
|
31
31
|
"isCanonical": true,
|
|
32
|
-
"effectiveDatePath": "
|
|
32
|
+
"effectiveDatePath": "data.lastSeen",
|
|
33
33
|
"fallbackEffectiveDatePaths": [
|
|
34
34
|
"capturedAt",
|
|
35
35
|
"snapshot.capturedAt",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"label": "Source",
|
|
82
82
|
"source": {
|
|
83
83
|
"contentType": "snapshots",
|
|
84
|
-
"path": "
|
|
84
|
+
"path": "data.source"
|
|
85
85
|
},
|
|
86
86
|
"humanReadable": true,
|
|
87
87
|
"sortable": true,
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
"label": "Raw XDR",
|
|
277
277
|
"source": {
|
|
278
278
|
"contentType": "snapshots",
|
|
279
|
-
"path": "
|
|
279
|
+
"path": "data.agentId"
|
|
280
280
|
},
|
|
281
281
|
"humanReadable": false,
|
|
282
282
|
"sortable": false,
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
"collectionPrefix": "vulnerabilities",
|
|
8
8
|
"identity": {
|
|
9
9
|
"allowedIdFields": [
|
|
10
|
-
"
|
|
11
|
-
"
|
|
10
|
+
"recordId",
|
|
11
|
+
"recordId"
|
|
12
12
|
],
|
|
13
13
|
"requiredExactlyOne": true,
|
|
14
|
-
"defaultIdField": "
|
|
14
|
+
"defaultIdField": "recordId"
|
|
15
15
|
},
|
|
16
16
|
"defaults": {
|
|
17
17
|
"canonicalContentType": "snapshots",
|
|
18
18
|
"dataRoot": "data",
|
|
19
|
-
"effectiveDatePath": "
|
|
19
|
+
"effectiveDatePath": "data.lastSeen",
|
|
20
20
|
"fallbackEffectiveDatePaths": [
|
|
21
21
|
"capturedAt",
|
|
22
22
|
"snapshot.capturedAt",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"collection": "vulnerabilities-snapshots",
|
|
30
30
|
"dataRoot": "data",
|
|
31
31
|
"isCanonical": true,
|
|
32
|
-
"effectiveDatePath": "
|
|
32
|
+
"effectiveDatePath": "data.lastSeen",
|
|
33
33
|
"fallbackEffectiveDatePaths": [
|
|
34
34
|
"capturedAt",
|
|
35
35
|
"snapshot.capturedAt",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"label": "Vulnerability ID",
|
|
43
43
|
"source": {
|
|
44
44
|
"contentType": "snapshots",
|
|
45
|
-
"path": "
|
|
45
|
+
"path": "data.vulnerabilityId"
|
|
46
46
|
},
|
|
47
47
|
"humanReadable": true,
|
|
48
48
|
"sortable": true,
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"label": "Plugin ID",
|
|
108
108
|
"source": {
|
|
109
109
|
"contentType": "snapshots",
|
|
110
|
-
"path": "
|
|
110
|
+
"path": "data.pluginId"
|
|
111
111
|
},
|
|
112
112
|
"humanReadable": true,
|
|
113
113
|
"sortable": true,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entity": "assets",
|
|
4
4
|
"title": "Asset Detail",
|
|
5
5
|
"identity": {
|
|
6
|
-
"idField": "
|
|
6
|
+
"idField": "recordId"
|
|
7
7
|
},
|
|
8
8
|
"contentTypes": [
|
|
9
9
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"required": true,
|
|
12
12
|
"multiMatch": {
|
|
13
13
|
"strategy": "last",
|
|
14
|
-
"effectiveDatePath": "
|
|
14
|
+
"effectiveDatePath": "data.lastSeen",
|
|
15
15
|
"fallbackEffectiveDatePaths": [
|
|
16
16
|
"capturedAt",
|
|
17
17
|
"snapshot.capturedAt",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entity": "topology-subnets",
|
|
4
4
|
"title": "Topology Subnet Detail",
|
|
5
5
|
"identity": {
|
|
6
|
-
"idField": "
|
|
6
|
+
"idField": "recordId"
|
|
7
7
|
},
|
|
8
8
|
"contentTypes": [
|
|
9
9
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"required": true,
|
|
12
12
|
"multiMatch": {
|
|
13
13
|
"strategy": "last",
|
|
14
|
-
"effectiveDatePath": "
|
|
14
|
+
"effectiveDatePath": "data.lastSeen",
|
|
15
15
|
"fallbackEffectiveDatePaths": [
|
|
16
16
|
"capturedAt",
|
|
17
17
|
"snapshot.capturedAt"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entity": "vulnerabilities",
|
|
4
4
|
"title": "Vulnerability Detail",
|
|
5
5
|
"identity": {
|
|
6
|
-
"idField": "
|
|
6
|
+
"idField": "recordId"
|
|
7
7
|
},
|
|
8
8
|
"contentTypes": [
|
|
9
9
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"required": true,
|
|
12
12
|
"multiMatch": {
|
|
13
13
|
"strategy": "last",
|
|
14
|
-
"effectiveDatePath": "
|
|
14
|
+
"effectiveDatePath": "data.lastSeen",
|
|
15
15
|
"fallbackEffectiveDatePaths": [
|
|
16
16
|
"capturedAt",
|
|
17
17
|
"snapshot.capturedAt",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"catalogId": "
|
|
18
|
+
"catalogId": "lists",
|
|
19
19
|
"name": "Memorix list descriptors",
|
|
20
20
|
"catalogType": "memorix",
|
|
21
21
|
"sourceMode": "native",
|
|
@@ -94,11 +94,11 @@
|
|
|
94
94
|
}
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
|
-
"catalogId": "
|
|
97
|
+
"catalogId": "lists",
|
|
98
98
|
"descriptorVersion": "1",
|
|
99
99
|
"mode": "replace",
|
|
100
100
|
"descriptor": {
|
|
101
|
-
"catalogId": "
|
|
101
|
+
"catalogId": "lists",
|
|
102
102
|
"label": "Memorix list descriptors",
|
|
103
103
|
"sourceMode": "native",
|
|
104
104
|
"status": "active",
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
},
|
|
220
220
|
{
|
|
221
221
|
"appId": "memorix",
|
|
222
|
-
"catalogId": "
|
|
222
|
+
"catalogId": "lists",
|
|
223
223
|
"access": {
|
|
224
224
|
"canRead": true,
|
|
225
225
|
"canWrite": true
|
|
@@ -254,16 +254,16 @@
|
|
|
254
254
|
"collectionPrefix": "assets",
|
|
255
255
|
"identity": {
|
|
256
256
|
"allowedIdFields": [
|
|
257
|
-
"
|
|
258
|
-
"
|
|
257
|
+
"recordId",
|
|
258
|
+
"recordId"
|
|
259
259
|
],
|
|
260
260
|
"requiredExactlyOne": true,
|
|
261
|
-
"defaultIdField": "
|
|
261
|
+
"defaultIdField": "recordId"
|
|
262
262
|
},
|
|
263
263
|
"defaults": {
|
|
264
264
|
"canonicalContentType": "snapshots",
|
|
265
265
|
"dataRoot": "data",
|
|
266
|
-
"effectiveDatePath": "
|
|
266
|
+
"effectiveDatePath": "data.lastSeen",
|
|
267
267
|
"fallbackEffectiveDatePaths": [
|
|
268
268
|
"capturedAt",
|
|
269
269
|
"snapshot.capturedAt",
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
"collection": "assets-snapshots",
|
|
277
277
|
"dataRoot": "data",
|
|
278
278
|
"isCanonical": true,
|
|
279
|
-
"effectiveDatePath": "
|
|
279
|
+
"effectiveDatePath": "data.lastSeen",
|
|
280
280
|
"fallbackEffectiveDatePaths": [
|
|
281
281
|
"capturedAt",
|
|
282
282
|
"snapshot.capturedAt",
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
"label": "Source",
|
|
329
329
|
"source": {
|
|
330
330
|
"contentType": "snapshots",
|
|
331
|
-
"path": "
|
|
331
|
+
"path": "data.source"
|
|
332
332
|
},
|
|
333
333
|
"humanReadable": true,
|
|
334
334
|
"sortable": true,
|
|
@@ -523,7 +523,7 @@
|
|
|
523
523
|
"label": "Raw XDR",
|
|
524
524
|
"source": {
|
|
525
525
|
"contentType": "snapshots",
|
|
526
|
-
"path": "
|
|
526
|
+
"path": "data.agentId"
|
|
527
527
|
},
|
|
528
528
|
"humanReadable": false,
|
|
529
529
|
"sortable": false,
|
|
@@ -740,16 +740,16 @@
|
|
|
740
740
|
"collectionPrefix": "vulnerabilities",
|
|
741
741
|
"identity": {
|
|
742
742
|
"allowedIdFields": [
|
|
743
|
-
"
|
|
744
|
-
"
|
|
743
|
+
"recordId",
|
|
744
|
+
"recordId"
|
|
745
745
|
],
|
|
746
746
|
"requiredExactlyOne": true,
|
|
747
|
-
"defaultIdField": "
|
|
747
|
+
"defaultIdField": "recordId"
|
|
748
748
|
},
|
|
749
749
|
"defaults": {
|
|
750
750
|
"canonicalContentType": "snapshots",
|
|
751
751
|
"dataRoot": "data",
|
|
752
|
-
"effectiveDatePath": "
|
|
752
|
+
"effectiveDatePath": "data.lastSeen",
|
|
753
753
|
"fallbackEffectiveDatePaths": [
|
|
754
754
|
"capturedAt",
|
|
755
755
|
"snapshot.capturedAt",
|
|
@@ -762,7 +762,7 @@
|
|
|
762
762
|
"collection": "vulnerabilities-snapshots",
|
|
763
763
|
"dataRoot": "data",
|
|
764
764
|
"isCanonical": true,
|
|
765
|
-
"effectiveDatePath": "
|
|
765
|
+
"effectiveDatePath": "data.lastSeen",
|
|
766
766
|
"fallbackEffectiveDatePaths": [
|
|
767
767
|
"capturedAt",
|
|
768
768
|
"snapshot.capturedAt",
|
|
@@ -775,7 +775,7 @@
|
|
|
775
775
|
"label": "Vulnerability ID",
|
|
776
776
|
"source": {
|
|
777
777
|
"contentType": "snapshots",
|
|
778
|
-
"path": "
|
|
778
|
+
"path": "data.vulnerabilityId"
|
|
779
779
|
},
|
|
780
780
|
"humanReadable": true,
|
|
781
781
|
"sortable": true,
|
|
@@ -840,7 +840,7 @@
|
|
|
840
840
|
"label": "Plugin ID",
|
|
841
841
|
"source": {
|
|
842
842
|
"contentType": "snapshots",
|
|
843
|
-
"path": "
|
|
843
|
+
"path": "data.pluginId"
|
|
844
844
|
},
|
|
845
845
|
"humanReadable": true,
|
|
846
846
|
"sortable": true,
|
|
@@ -1331,7 +1331,7 @@
|
|
|
1331
1331
|
}
|
|
1332
1332
|
},
|
|
1333
1333
|
{
|
|
1334
|
-
"catalogId": "
|
|
1334
|
+
"catalogId": "lists",
|
|
1335
1335
|
"scope": {
|
|
1336
1336
|
"domains": [
|
|
1337
1337
|
"network",
|
|
@@ -1393,7 +1393,7 @@
|
|
|
1393
1393
|
}
|
|
1394
1394
|
},
|
|
1395
1395
|
{
|
|
1396
|
-
"catalogId": "
|
|
1396
|
+
"catalogId": "lists",
|
|
1397
1397
|
"scope": {
|
|
1398
1398
|
"domains": [
|
|
1399
1399
|
"network",
|
|
@@ -1428,7 +1428,7 @@
|
|
|
1428
1428
|
}
|
|
1429
1429
|
},
|
|
1430
1430
|
{
|
|
1431
|
-
"catalogId": "
|
|
1431
|
+
"catalogId": "lists",
|
|
1432
1432
|
"scope": {
|
|
1433
1433
|
"domains": [
|
|
1434
1434
|
"network",
|
|
@@ -1487,7 +1487,7 @@
|
|
|
1487
1487
|
}
|
|
1488
1488
|
},
|
|
1489
1489
|
{
|
|
1490
|
-
"catalogId": "
|
|
1490
|
+
"catalogId": "lists",
|
|
1491
1491
|
"scope": {
|
|
1492
1492
|
"domains": [
|
|
1493
1493
|
"network",
|
|
@@ -1543,7 +1543,7 @@
|
|
|
1543
1543
|
}
|
|
1544
1544
|
},
|
|
1545
1545
|
{
|
|
1546
|
-
"catalogId": "
|
|
1546
|
+
"catalogId": "lists",
|
|
1547
1547
|
"scope": {
|
|
1548
1548
|
"domains": [
|
|
1549
1549
|
"network",
|
|
@@ -1574,7 +1574,7 @@
|
|
|
1574
1574
|
}
|
|
1575
1575
|
],
|
|
1576
1576
|
"fields": [
|
|
1577
|
-
"
|
|
1577
|
+
"recordId"
|
|
1578
1578
|
],
|
|
1579
1579
|
"title": "Critical vulnerabilities",
|
|
1580
1580
|
"contentType": "snapshots",
|
|
@@ -1585,7 +1585,7 @@
|
|
|
1585
1585
|
}
|
|
1586
1586
|
},
|
|
1587
1587
|
{
|
|
1588
|
-
"catalogId": "
|
|
1588
|
+
"catalogId": "lists",
|
|
1589
1589
|
"scope": {
|
|
1590
1590
|
"domains": [
|
|
1591
1591
|
"network",
|
|
@@ -1619,7 +1619,7 @@
|
|
|
1619
1619
|
}
|
|
1620
1620
|
},
|
|
1621
1621
|
{
|
|
1622
|
-
"catalogId": "
|
|
1622
|
+
"catalogId": "lists",
|
|
1623
1623
|
"scope": {
|
|
1624
1624
|
"domains": [
|
|
1625
1625
|
"network",
|
|
@@ -1656,7 +1656,7 @@
|
|
|
1656
1656
|
}
|
|
1657
1657
|
},
|
|
1658
1658
|
{
|
|
1659
|
-
"catalogId": "
|
|
1659
|
+
"catalogId": "lists",
|
|
1660
1660
|
"scope": {
|
|
1661
1661
|
"domains": [
|
|
1662
1662
|
"network",
|
|
@@ -1711,7 +1711,7 @@
|
|
|
1711
1711
|
"entity": "assets",
|
|
1712
1712
|
"title": "Asset Detail",
|
|
1713
1713
|
"identity": {
|
|
1714
|
-
"idField": "
|
|
1714
|
+
"idField": "recordId"
|
|
1715
1715
|
},
|
|
1716
1716
|
"contentTypes": [
|
|
1717
1717
|
{
|
|
@@ -1719,7 +1719,7 @@
|
|
|
1719
1719
|
"required": true,
|
|
1720
1720
|
"multiMatch": {
|
|
1721
1721
|
"strategy": "last",
|
|
1722
|
-
"effectiveDatePath": "
|
|
1722
|
+
"effectiveDatePath": "data.lastSeen",
|
|
1723
1723
|
"fallbackEffectiveDatePaths": [
|
|
1724
1724
|
"capturedAt",
|
|
1725
1725
|
"snapshot.capturedAt",
|
|
@@ -1822,7 +1822,7 @@
|
|
|
1822
1822
|
"entity": "topology-subnets",
|
|
1823
1823
|
"title": "Topology Subnet Detail",
|
|
1824
1824
|
"identity": {
|
|
1825
|
-
"idField": "
|
|
1825
|
+
"idField": "recordId"
|
|
1826
1826
|
},
|
|
1827
1827
|
"contentTypes": [
|
|
1828
1828
|
{
|
|
@@ -1830,7 +1830,7 @@
|
|
|
1830
1830
|
"required": true,
|
|
1831
1831
|
"multiMatch": {
|
|
1832
1832
|
"strategy": "last",
|
|
1833
|
-
"effectiveDatePath": "
|
|
1833
|
+
"effectiveDatePath": "data.lastSeen",
|
|
1834
1834
|
"fallbackEffectiveDatePaths": [
|
|
1835
1835
|
"capturedAt",
|
|
1836
1836
|
"snapshot.capturedAt"
|
|
@@ -1875,7 +1875,7 @@
|
|
|
1875
1875
|
"entity": "vulnerabilities",
|
|
1876
1876
|
"title": "Vulnerability Detail",
|
|
1877
1877
|
"identity": {
|
|
1878
|
-
"idField": "
|
|
1878
|
+
"idField": "recordId"
|
|
1879
1879
|
},
|
|
1880
1880
|
"contentTypes": [
|
|
1881
1881
|
{
|
|
@@ -1883,7 +1883,7 @@
|
|
|
1883
1883
|
"required": true,
|
|
1884
1884
|
"multiMatch": {
|
|
1885
1885
|
"strategy": "last",
|
|
1886
|
-
"effectiveDatePath": "
|
|
1886
|
+
"effectiveDatePath": "data.lastSeen",
|
|
1887
1887
|
"fallbackEffectiveDatePaths": [
|
|
1888
1888
|
"capturedAt",
|
|
1889
1889
|
"snapshot.capturedAt",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Catalox } from "@x12i/catalox";
|
|
2
|
+
import { MongoStore } from "@x12i/catalox/mongo";
|
|
3
|
+
export type CreateMemorixCataloxFromEnvOptions = {
|
|
4
|
+
processEnv?: NodeJS.ProcessEnv;
|
|
5
|
+
dbName?: string;
|
|
6
|
+
mongoUri?: string;
|
|
7
|
+
};
|
|
8
|
+
export type CreateMemorixCataloxFromEnvResult = {
|
|
9
|
+
catalox: Catalox;
|
|
10
|
+
mongoStore: MongoStore;
|
|
11
|
+
};
|
|
12
|
+
export declare function createMemorixCataloxFromEnv(options?: CreateMemorixCataloxFromEnvOptions): Promise<CreateMemorixCataloxFromEnvResult>;
|
|
13
|
+
//# sourceMappingURL=catalox-mongo-bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-mongo-bootstrap.d.ts","sourceRoot":"","sources":["../../src/client/catalox-mongo-bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAA6B,MAAM,qBAAqB,CAAC;AAK5E,MAAM,MAAM,kCAAkC,GAAG;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAqBF,wBAAsB,2BAA2B,CAC/C,OAAO,GAAE,kCAAuC,GAC/C,OAAO,CAAC,iCAAiC,CAAC,CAO5C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { MongoStore, wireCataloxFromMongoStore } from "@x12i/catalox/mongo";
|
|
3
|
+
import { resolveMemorixCataloxDbName, resolveMongoUri } from "../mongo/env.js";
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
async function initMongoStore(options) {
|
|
6
|
+
const { initMongoDb } = require("@x12i/helpers/mongo");
|
|
7
|
+
const api = await initMongoDb({
|
|
8
|
+
mongoUri: options.mongoUri,
|
|
9
|
+
dbName: options.dbName,
|
|
10
|
+
singleton: false,
|
|
11
|
+
});
|
|
12
|
+
return new MongoStore(api);
|
|
13
|
+
}
|
|
14
|
+
export async function createMemorixCataloxFromEnv(options = {}) {
|
|
15
|
+
const env = options.processEnv ?? process.env;
|
|
16
|
+
const mongoUri = options.mongoUri ?? resolveMongoUri(env);
|
|
17
|
+
const dbName = options.dbName ?? resolveMemorixCataloxDbName(env);
|
|
18
|
+
const mongoStore = await initMongoStore({ mongoUri, dbName });
|
|
19
|
+
const catalox = wireCataloxFromMongoStore({ mongo: mongoStore, mongoUri });
|
|
20
|
+
return { catalox, mongoStore };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=catalox-mongo-bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalox-mongo-bootstrap.js","sourceRoot":"","sources":["../../src/client/catalox-mongo-bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE/E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAa/C,KAAK,UAAU,cAAc,CAAC,OAG7B;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAMpD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAA8C,EAAE;IAEhD,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,yBAAyB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -17,7 +17,8 @@ export type CreateMemorixRetrievalStackFromEnvOptions = MemorixRetrievalLoggingO
|
|
|
17
17
|
processEnv?: NodeJS.ProcessEnv;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
|
-
* One-shot wiring: Catalox from env → bound context → adapter → retrieval client.
|
|
20
|
+
* One-shot wiring: Mongo Catalox from env → bound context → adapter → retrieval client.
|
|
21
|
+
* Catalox metadata lives in `MEMORIX_CATALOX_DB` (default `memorix-catalox`) on `MONGO_URI`.
|
|
21
22
|
* Use this in host apps (e.g. memorix-explorer API) to avoid duplicating Catalox setup.
|
|
22
23
|
*/
|
|
23
24
|
export declare function createMemorixRetrievalStackFromEnv(options?: CreateMemorixRetrievalStackFromEnvOptions): Promise<MemorixRetrievalStack>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-stack-from-env.d.ts","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-stack-from-env.d.ts","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKlE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,2FAA2F;IAC3F,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,yCAAyC,GACnD,8BAA8B,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CAChC,CAAC;AAEJ;;;;GAIG;AACH,wBAAsB,kCAAkC,CACtD,OAAO,GAAE,yCAA8C,GACtD,OAAO,CAAC,qBAAqB,CAAC,CAuChC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createMemorixCataloxFromEnv } from "./catalox-mongo-bootstrap.js";
|
|
2
2
|
import { DebugLogAbstract } from "@x12i/logxer";
|
|
3
3
|
import { resolveMemorixAppId } from "../descriptors/resolve-app-id.js";
|
|
4
4
|
import { memorixRetrievalLogger } from "../logging/logger.js";
|
|
5
5
|
import { createCataloxAdapterFromBound } from "./catalox-adapter.js";
|
|
6
6
|
import { createMemorixRetrievalFromEnv } from "./create-from-env.js";
|
|
7
7
|
/**
|
|
8
|
-
* One-shot wiring: Catalox from env → bound context → adapter → retrieval client.
|
|
8
|
+
* One-shot wiring: Mongo Catalox from env → bound context → adapter → retrieval client.
|
|
9
|
+
* Catalox metadata lives in `MEMORIX_CATALOX_DB` (default `memorix-catalox`) on `MONGO_URI`.
|
|
9
10
|
* Use this in host apps (e.g. memorix-explorer API) to avoid duplicating Catalox setup.
|
|
10
11
|
*/
|
|
11
12
|
export async function createMemorixRetrievalStackFromEnv(options = {}) {
|
|
@@ -13,7 +14,7 @@ export async function createMemorixRetrievalStackFromEnv(options = {}) {
|
|
|
13
14
|
const appId = resolveMemorixAppId({
|
|
14
15
|
appId: options.appId?.trim() || options.cataloxContext?.appId?.trim(),
|
|
15
16
|
}, processEnv);
|
|
16
|
-
const { catalox } =
|
|
17
|
+
const { catalox } = await createMemorixCataloxFromEnv({ processEnv });
|
|
17
18
|
const ctx = {
|
|
18
19
|
...(options.cataloxContext ?? {}),
|
|
19
20
|
appId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-stack-from-env.js","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-stack-from-env.js","sourceRoot":"","sources":["../../src/client/create-stack-from-env.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAuBrE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,UAAqD,EAAE;IAEvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAErD,MAAM,KAAK,GAAG,mBAAmB,CAC/B;QACE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;KACtE,EACD,UAAU,CACX,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,2BAA2B,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACtE,MAAM,GAAG,GAAmB;QAC1B,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;QACjC,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,IAAI;YACtC,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,mBAAmB;SACxB;KACF,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;QACjD,KAAK;QACL,OAAO,EAAE,cAAc;QACvB,UAAU;KACX,CAAC,CAAC;IAEH,sBAAsB,CAAC,IAAI,CAAC,qCAAqC,EAAE;QACjE,KAAK;QACL,SAAS,EAAE,gBAAgB,CAAC,KAAK;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,YAAY;QACZ,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MongoClient } from "mongodb";
|
|
2
2
|
import type { createGcsClient } from "@x12i/helpers/gcs";
|
|
3
3
|
import type { createS3Client } from "@x12i/helpers/s3";
|
|
4
|
+
import type { MemorixConcept } from "@x12i/memorix-descriptors";
|
|
4
5
|
import type { CataloxLike } from "./catalox-like.js";
|
|
5
6
|
import type { XronoxLike } from "./xronox-like.js";
|
|
6
7
|
import type { MemorixTarget } from "../mongo/types.js";
|
|
@@ -68,10 +69,10 @@ export type FetchMemorixListRequest = {
|
|
|
68
69
|
limit?: number;
|
|
69
70
|
offset?: number;
|
|
70
71
|
};
|
|
71
|
-
sort?: {
|
|
72
|
+
sort?: Array<{
|
|
72
73
|
property: string;
|
|
73
74
|
direction: "asc" | "desc";
|
|
74
|
-
}
|
|
75
|
+
}>;
|
|
75
76
|
filters?: Array<import("../descriptors/descriptor-types.js").MemorixFilterInput>;
|
|
76
77
|
/** Graph-run planning filters on reserved `_graphRuns.<graphId>` paths (MRX-FRS-001). */
|
|
77
78
|
graphRunFilter?: import("../retrieval/graph-run-filters.js").GraphRunFilterInput | import("../retrieval/graph-run-filters.js").GraphRunFilterInput[];
|
|
@@ -93,6 +94,7 @@ export type FetchMemorixListRequest = {
|
|
|
93
94
|
export type MemorixRecordDisplayFields = {
|
|
94
95
|
recordId?: string;
|
|
95
96
|
displayName?: string;
|
|
97
|
+
concept?: MemorixConcept;
|
|
96
98
|
};
|
|
97
99
|
export type FetchMemorixListResponse = {
|
|
98
100
|
listId: string;
|
|
@@ -105,11 +107,11 @@ export type FetchMemorixListResponse = {
|
|
|
105
107
|
hasMore: boolean;
|
|
106
108
|
total?: number;
|
|
107
109
|
};
|
|
108
|
-
sort?: {
|
|
110
|
+
sort?: Array<{
|
|
109
111
|
property: string;
|
|
110
112
|
direction: "asc" | "desc";
|
|
111
113
|
contentType: string;
|
|
112
|
-
}
|
|
114
|
+
}>;
|
|
113
115
|
rows: Array<Record<string, unknown> & MemorixRecordDisplayFields>;
|
|
114
116
|
issues?: import("../errors/issues.js").MemorixRetrievalIssue[];
|
|
115
117
|
source?: import("../runtime/source-provenance.js").MemorixRuntimeSourceRef;
|
|
@@ -132,10 +134,10 @@ export type FetchMemorixWorkspaceListRequest = {
|
|
|
132
134
|
limit?: number;
|
|
133
135
|
offset?: number;
|
|
134
136
|
};
|
|
135
|
-
sort?: {
|
|
137
|
+
sort?: Array<{
|
|
136
138
|
property: string;
|
|
137
139
|
direction: "asc" | "desc";
|
|
138
|
-
}
|
|
140
|
+
}>;
|
|
139
141
|
filters?: Array<import("../descriptors/descriptor-types.js").MemorixFilterInput>;
|
|
140
142
|
/** Graph-run planning filters on reserved `_graphRuns.<graphId>` paths (MRX-FRS-001). */
|
|
141
143
|
graphRunFilter?: import("../retrieval/graph-run-filters.js").GraphRunFilterInput | import("../retrieval/graph-run-filters.js").GraphRunFilterInput[];
|
|
@@ -159,11 +161,11 @@ export type FetchMemorixWorkspaceListResponse = {
|
|
|
159
161
|
hasMore: boolean;
|
|
160
162
|
total?: number;
|
|
161
163
|
};
|
|
162
|
-
sort?: {
|
|
164
|
+
sort?: Array<{
|
|
163
165
|
property: string;
|
|
164
166
|
direction: "asc" | "desc";
|
|
165
167
|
contentType?: string;
|
|
166
|
-
}
|
|
168
|
+
}>;
|
|
167
169
|
issues?: import("../errors/issues.js").MemorixRetrievalIssue[];
|
|
168
170
|
includedEntities: string[];
|
|
169
171
|
discovery: {
|
|
@@ -196,6 +198,7 @@ export type FetchMemorixItemResponse = {
|
|
|
196
198
|
eventId?: string;
|
|
197
199
|
knowledgeId?: string;
|
|
198
200
|
displayName?: string;
|
|
201
|
+
concept?: MemorixConcept;
|
|
199
202
|
sections: Array<{
|
|
200
203
|
id: string;
|
|
201
204
|
title: string;
|