@x12i/memorix-descriptors 1.0.0 → 1.1.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 +19 -23
- package/dist/admin/create-admin.d.ts +5 -2
- package/dist/admin/create-admin.d.ts.map +1 -1
- package/dist/admin/create-admin.js +17 -3
- package/dist/admin/create-admin.js.map +1 -1
- package/dist/audit/log.d.ts +17 -0
- package/dist/audit/log.d.ts.map +1 -0
- package/dist/audit/log.js +12 -0
- package/dist/audit/log.js.map +1 -0
- package/dist/catalog/ensure-catalogs.d.ts +3 -0
- package/dist/catalog/ensure-catalogs.d.ts.map +1 -0
- package/dist/catalog/ensure-catalogs.js +32 -0
- package/dist/catalog/ensure-catalogs.js.map +1 -0
- package/dist/catalox/client.d.ts.map +1 -1
- package/dist/catalox/client.js +8 -0
- package/dist/catalox/client.js.map +1 -1
- package/dist/catalox/version.d.ts +8 -0
- package/dist/catalox/version.d.ts.map +1 -0
- package/dist/catalox/version.js +33 -0
- package/dist/catalox/version.js.map +1 -0
- package/dist/cli/index.js +319 -89
- package/dist/cli/index.js.map +1 -1
- package/dist/collections/mongo-create.d.ts +6 -0
- package/dist/collections/mongo-create.d.ts.map +1 -0
- package/dist/collections/mongo-create.js +20 -0
- package/dist/collections/mongo-create.js.map +1 -0
- package/dist/collections/resolve.d.ts +1 -2
- package/dist/collections/resolve.d.ts.map +1 -1
- package/dist/collections/resolve.js +24 -19
- package/dist/collections/resolve.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/mutations/common.d.ts +4 -1
- package/dist/mutations/common.d.ts.map +1 -1
- package/dist/mutations/common.js +5 -2
- package/dist/mutations/common.js.map +1 -1
- package/dist/mutations/content-type.d.ts.map +1 -1
- package/dist/mutations/content-type.js +24 -17
- package/dist/mutations/content-type.js.map +1 -1
- package/dist/mutations/entity.d.ts.map +1 -1
- package/dist/mutations/entity.js +30 -30
- package/dist/mutations/entity.js.map +1 -1
- package/dist/mutations/execute.d.ts +19 -0
- package/dist/mutations/execute.d.ts.map +1 -0
- package/dist/mutations/execute.js +131 -0
- package/dist/mutations/execute.js.map +1 -0
- package/dist/mutations/item.d.ts.map +1 -1
- package/dist/mutations/item.js +23 -17
- package/dist/mutations/item.js.map +1 -1
- package/dist/mutations/list.d.ts.map +1 -1
- package/dist/mutations/list.js +23 -17
- package/dist/mutations/list.js.map +1 -1
- package/dist/mutations/mapping.d.ts.map +1 -1
- package/dist/mutations/mapping.js +23 -17
- package/dist/mutations/mapping.js.map +1 -1
- package/dist/mutations/property.d.ts.map +1 -1
- package/dist/mutations/property.js +25 -36
- package/dist/mutations/property.js.map +1 -1
- package/dist/mutations/relation.d.ts.map +1 -1
- package/dist/mutations/relation.js +23 -26
- package/dist/mutations/relation.js.map +1 -1
- package/dist/mutations/rename-entity.d.ts +11 -0
- package/dist/mutations/rename-entity.d.ts.map +1 -0
- package/dist/mutations/rename-entity.js +181 -0
- package/dist/mutations/rename-entity.js.map +1 -0
- package/dist/reconcile/index.d.ts +8 -0
- package/dist/reconcile/index.d.ts.map +1 -1
- package/dist/reconcile/index.js +67 -2
- package/dist/reconcile/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -385,37 +385,33 @@ Live tests: Firestore connectivity, validate deployed graph, load smoke entity (
|
|
|
385
385
|
| Integrity engine | Full-graph validation, dangling refs, forbidden patterns |
|
|
386
386
|
| Descriptor graph | Build + Mermaid export |
|
|
387
387
|
| Seeds | Export/import/manifest; compatible with retrieval inputs layout |
|
|
388
|
-
| Reconcile | Inventory + suggestions
|
|
388
|
+
| Reconcile | Inventory + suggestions; `autoRegisterOrphans`, `allowCreateCollection` (native Mongo `createCollection`) |
|
|
389
389
|
| Dry-run | All mutations |
|
|
390
390
|
| Targets | `entity`, `event`, `knowledge` in types and entity validation |
|
|
391
|
-
|
|
|
391
|
+
| Transactions | `executeCataloxWrites` — compensating rollback on mid-batch Catalox failure; `rollbackPlan` on success |
|
|
392
|
+
| Audit | JSONL via `MEMORIX_DESCRIPTORS_AUDIT_LOG` or per-mutation `reason` |
|
|
393
|
+
| Concurrency | `expectedVersion` optimistic check on Catalox updates |
|
|
394
|
+
| Rename | `renameEntityDescriptor(from, to)` with optional deprecated source |
|
|
395
|
+
| Catalog bootstrap | `ensureMemorixDescriptorCatalogs` on `createMemorixDescriptorAdminFromEnv` |
|
|
396
|
+
| CLI | Full CRUD for entity, content-type, property, list, item, relation, mapping + reconcile flags |
|
|
397
|
+
| CI seeds | `npm run validate:seeds` + GitHub workflow |
|
|
392
398
|
| Tests | Unit + live Catalox suite |
|
|
393
399
|
|
|
394
400
|
### Partial ⚠️
|
|
395
401
|
|
|
396
402
|
| Item | Notes |
|
|
397
403
|
|------|------|
|
|
398
|
-
|
|
|
399
|
-
|
|
|
400
|
-
| Logical transactions | Validate-then-write in order; **no automatic rollback** on mid-way Catalox failure |
|
|
401
|
-
| `rollbackPlan` | Type exists; not populated on failure |
|
|
402
|
-
| `reason` / audit log | Option exists; not persisted |
|
|
403
|
-
| `expectedVersion` | Option exists; optimistic concurrency not enforced |
|
|
404
|
-
| CLI | Subset of library API; most mutations are programmatic only |
|
|
405
|
-
| Knowledge ecosystem | Accepted in this package; retrieval/Xronox/env presets need coordinated release |
|
|
404
|
+
| Mutation `ok` vs `graphValid` | `ok` = Catalox write succeeded; `graphValid` = projected snapshot passes integrity (legacy graphs may differ) |
|
|
405
|
+
| `ensureCollection` via Xronox | Still inventory-only when using Xronox adapter; reconcile/create uses native `mongodb` driver |
|
|
406
406
|
| Completion mappings catalog | Gracefully empty if catalog not seeded in Catalox yet |
|
|
407
|
+
| Retrieval seed npm scripts | Still owned by `@x12i/memorix-retrieval`; this package provides equivalent CLI `seed` commands |
|
|
408
|
+
| Impact report command | Use `validateMemorixDescriptors` + dry-run `removeEntityDescriptor` |
|
|
407
409
|
|
|
408
|
-
### Not implemented yet ❌
|
|
410
|
+
### Not implemented yet ❌
|
|
409
411
|
|
|
410
|
-
| Item |
|
|
411
|
-
|
|
412
|
-
|
|
|
413
|
-
| Multi-item Catalox rollback / compensating writes | Phase 5 |
|
|
414
|
-
| Audit log of change sets | Phase 5 |
|
|
415
|
-
| `autoRegisterOrphans` on reconcile | Phase 3 policy |
|
|
416
|
-
| Delegate `memorix-retrieval` `catalox:seed:*` npm scripts to this CLI | Phase 5 |
|
|
417
|
-
| CI seed validation on descriptor PRs | Phase 5 |
|
|
418
|
-
| Impact report command (standalone) | Use `validateMemorixDescriptors` + `removeEntityDescriptor` dry-run today |
|
|
412
|
+
| Item | Notes |
|
|
413
|
+
|------|------|
|
|
414
|
+
| Standalone `impact-report` CLI subcommand | Compose validation + dry-run helpers manually today |
|
|
419
415
|
|
|
420
416
|
### Explicit non-goals (v1)
|
|
421
417
|
|
|
@@ -431,9 +427,9 @@ Live tests: Firestore connectivity, validate deployed graph, load smoke entity (
|
|
|
431
427
|
|-------|--------|--------|
|
|
432
428
|
| **1** | Bootstrap, validation, entity/content/property CRUD, seeds, dry-run | ✅ Done |
|
|
433
429
|
| **2** | List/item/relation CRUD, cascades, graph | ✅ Done |
|
|
434
|
-
| **3** | Mappings catalog, Mongo reconcile | ✅
|
|
435
|
-
| **4** | Knowledge target across ecosystem |
|
|
436
|
-
| **5** | Rename/migrate, audit, rollback, CLI parity, CI seeds |
|
|
430
|
+
| **3** | Mappings catalog, Mongo reconcile | ✅ Done |
|
|
431
|
+
| **4** | Knowledge target across ecosystem | ✅ Descriptors + retrieval inventory/graph |
|
|
432
|
+
| **5** | Rename/migrate, audit, rollback, CLI parity, CI seeds | ✅ Done (impact-report CLI optional) |
|
|
437
433
|
|
|
438
434
|
---
|
|
439
435
|
|
|
@@ -2,6 +2,7 @@ import type { XronoxLike } from "@x12i/memorix-retrieval";
|
|
|
2
2
|
import type { CataloxBoundClient } from "../catalox/client.js";
|
|
3
3
|
import type { ContentTypeInput, DescriptorMutationOptions, MemorixCompletionMapping, PropertyInput, RegisterEntityDescriptorInput } from "../types/index.js";
|
|
4
4
|
import { registerEntityDescriptor, removeEntityDescriptor, updateEntityDescriptor } from "../mutations/entity.js";
|
|
5
|
+
import { renameEntityDescriptor } from "../mutations/rename-entity.js";
|
|
5
6
|
import { addContentType, ensureCollection, planCollectionRename, removeContentType, resolveCollection, updateContentType } from "../mutations/content-type.js";
|
|
6
7
|
import { addProperty, removeProperty, updateProperty } from "../mutations/property.js";
|
|
7
8
|
import { createListDescriptor, removeListDescriptor, setEntityDefaultList, updateListDescriptor } from "../mutations/list.js";
|
|
@@ -9,7 +10,7 @@ import { createItemDescriptor, removeItemDescriptor, setEntityDefaultItem, updat
|
|
|
9
10
|
import { addRelation, removeRelation, updateRelation, type RelationInput } from "../mutations/relation.js";
|
|
10
11
|
import { registerMapping, removeMapping, updateMapping } from "../mutations/mapping.js";
|
|
11
12
|
import { applyDescriptorSeedManifest, importDescriptorSeedInputs, type DescriptorSeedManifest } from "../seeds/index.js";
|
|
12
|
-
import {
|
|
13
|
+
import { type ReconcileDescriptorsOptions, type ReconcileDescriptorsResult } from "../reconcile/index.js";
|
|
13
14
|
export type CreateMemorixDescriptorAdminOptions = {
|
|
14
15
|
catalox: CataloxBoundClient;
|
|
15
16
|
xronox?: XronoxLike;
|
|
@@ -25,6 +26,7 @@ export type MemorixDescriptorAdmin = {
|
|
|
25
26
|
registerEntityDescriptor(input: RegisterEntityDescriptorInput, options?: DescriptorMutationOptions): ReturnType<typeof registerEntityDescriptor>;
|
|
26
27
|
updateEntityDescriptor(entityName: string, patch: Partial<Record<string, unknown>>, options?: DescriptorMutationOptions): ReturnType<typeof updateEntityDescriptor>;
|
|
27
28
|
removeEntityDescriptor(entityName: string, options?: DescriptorMutationOptions): ReturnType<typeof removeEntityDescriptor>;
|
|
29
|
+
renameEntityDescriptor(from: string, to: string, options?: import("../mutations/rename-entity.js").RenameEntityDescriptorOptions): ReturnType<typeof renameEntityDescriptor>;
|
|
28
30
|
addContentType(entityName: string, input: ContentTypeInput, options?: DescriptorMutationOptions): ReturnType<typeof addContentType>;
|
|
29
31
|
updateContentType(entityName: string, key: string, patch: Partial<ContentTypeInput>, options?: DescriptorMutationOptions): ReturnType<typeof updateContentType>;
|
|
30
32
|
removeContentType(entityName: string, key: string, options?: DescriptorMutationOptions): ReturnType<typeof removeContentType>;
|
|
@@ -61,7 +63,8 @@ export type MemorixDescriptorAdmin = {
|
|
|
61
63
|
dryRun?: boolean;
|
|
62
64
|
force?: boolean;
|
|
63
65
|
}): ReturnType<typeof applyDescriptorSeedManifest>;
|
|
64
|
-
reconcileDescriptorsWithMongo():
|
|
66
|
+
reconcileDescriptorsWithMongo(options?: Omit<ReconcileDescriptorsOptions, "catalox" | "appId" | "processEnv" | "xronox">): Promise<ReconcileDescriptorsResult>;
|
|
67
|
+
ensureMemorixDescriptorCatalogs(): Promise<string[]>;
|
|
65
68
|
loadSnapshot(): Promise<import("../types/index.js").DescriptorSnapshot>;
|
|
66
69
|
};
|
|
67
70
|
export declare function createMemorixDescriptorAdmin(options: CreateMemorixDescriptorAdminOptions): MemorixDescriptorAdmin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-admin.d.ts","sourceRoot":"","sources":["../../src/admin/create-admin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EACzB,wBAAwB,EACxB,aAAa,EACb,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,2BAA2B,EAG3B,0BAA0B,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"create-admin.d.ts","sourceRoot":"","sources":["../../src/admin/create-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { resolveMemorixAppId } from "../catalog/ids.js";
|
|
2
2
|
import { loadDescriptorSnapshot } from "../store/snapshot.js";
|
|
3
3
|
import { registerEntityDescriptor, removeEntityDescriptor, updateEntityDescriptor, } from "../mutations/entity.js";
|
|
4
|
+
import { renameEntityDescriptor } from "../mutations/rename-entity.js";
|
|
5
|
+
import { ensureMemorixDescriptorCatalogs } from "../catalog/ensure-catalogs.js";
|
|
4
6
|
import { addContentType, ensureCollection, planCollectionRename, removeContentType, resolveCollection, updateContentType, } from "../mutations/content-type.js";
|
|
5
7
|
import { addProperty, removeProperty, updateProperty, } from "../mutations/property.js";
|
|
6
8
|
import { createListDescriptor, removeListDescriptor, setEntityDefaultList, updateListDescriptor, } from "../mutations/list.js";
|
|
@@ -10,7 +12,7 @@ import { registerMapping, removeMapping, updateMapping, } from "../mutations/map
|
|
|
10
12
|
import { validateMemorixDescriptors } from "../integrity/validate.js";
|
|
11
13
|
import { buildDescriptorGraph, descriptorGraphToMermaid } from "../integrity/graph.js";
|
|
12
14
|
import { applyDescriptorSeedManifest, buildDescriptorSeedManifest, exportDescriptorSeedInputsFromCatalox, importDescriptorSeedInputs, } from "../seeds/index.js";
|
|
13
|
-
import { reconcileDescriptorsWithMongo } from "../reconcile/index.js";
|
|
15
|
+
import { reconcileDescriptorsWithMongo, } from "../reconcile/index.js";
|
|
14
16
|
import { validateMemorixEntityDescriptor } from "../validation/descriptor-validation.js";
|
|
15
17
|
export function createMemorixDescriptorAdmin(options) {
|
|
16
18
|
const processEnv = options.processEnv ?? process.env;
|
|
@@ -33,6 +35,7 @@ export function createMemorixDescriptorAdmin(options) {
|
|
|
33
35
|
registerEntityDescriptor: (input, mutationOptions) => registerEntityDescriptor(ctx, input, mutationOptions),
|
|
34
36
|
updateEntityDescriptor: (entityName, patch, mutationOptions) => updateEntityDescriptor(ctx, entityName, patch, mutationOptions),
|
|
35
37
|
removeEntityDescriptor: (entityName, mutationOptions) => removeEntityDescriptor(ctx, entityName, mutationOptions),
|
|
38
|
+
renameEntityDescriptor: (from, to, mutationOptions) => renameEntityDescriptor(ctx, from, to, mutationOptions),
|
|
36
39
|
addContentType: (entityName, input, mutationOptions) => addContentType(ctx, entityName, input, mutationOptions),
|
|
37
40
|
updateContentType: (entityName, key, patch, mutationOptions) => updateContentType(ctx, entityName, key, patch, mutationOptions),
|
|
38
41
|
removeContentType: (entityName, key, mutationOptions) => removeContentType(ctx, entityName, key, mutationOptions),
|
|
@@ -69,7 +72,14 @@ export function createMemorixDescriptorAdmin(options) {
|
|
|
69
72
|
exportDescriptorSeedInputs: (dir, scope) => exportDescriptorSeedInputsFromCatalox(catalox, dir, scope),
|
|
70
73
|
importDescriptorSeedInputs: (dir, importOptions) => importDescriptorSeedInputs(catalox, dir, importOptions),
|
|
71
74
|
applyDescriptorSeedManifest: (manifest, applyOptions) => applyDescriptorSeedManifest(catalox, manifest, applyOptions),
|
|
72
|
-
reconcileDescriptorsWithMongo: () => reconcileDescriptorsWithMongo({
|
|
75
|
+
reconcileDescriptorsWithMongo: (reconcileOptions) => reconcileDescriptorsWithMongo({
|
|
76
|
+
catalox,
|
|
77
|
+
appId,
|
|
78
|
+
processEnv,
|
|
79
|
+
xronox: options.xronox,
|
|
80
|
+
...reconcileOptions,
|
|
81
|
+
}),
|
|
82
|
+
ensureMemorixDescriptorCatalogs: () => ensureMemorixDescriptorCatalogs(catalox),
|
|
73
83
|
};
|
|
74
84
|
}
|
|
75
85
|
export async function createMemorixDescriptorAdminFromEnv(options = {}) {
|
|
@@ -93,11 +103,15 @@ export async function createMemorixDescriptorAdminFromEnv(options = {}) {
|
|
|
93
103
|
xronox = undefined;
|
|
94
104
|
}
|
|
95
105
|
}
|
|
96
|
-
|
|
106
|
+
const admin = createMemorixDescriptorAdmin({
|
|
97
107
|
catalox: bound,
|
|
98
108
|
xronox,
|
|
99
109
|
appId,
|
|
100
110
|
processEnv,
|
|
101
111
|
});
|
|
112
|
+
if (processEnv.MEMORIX_ENSURE_DESCRIPTOR_CATALOGS === "1") {
|
|
113
|
+
await admin.ensureMemorixDescriptorCatalogs();
|
|
114
|
+
}
|
|
115
|
+
return admin;
|
|
102
116
|
}
|
|
103
117
|
//# sourceMappingURL=create-admin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-admin.js","sourceRoot":"","sources":["../../src/admin/create-admin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,qCAAqC,EACrC,0BAA0B,GAE3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"create-admin.js","sourceRoot":"","sources":["../../src/admin/create-admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type DescriptorAuditEntry = {
|
|
2
|
+
at: string;
|
|
3
|
+
reason?: string;
|
|
4
|
+
actor?: string;
|
|
5
|
+
operation: string;
|
|
6
|
+
dryRun: boolean;
|
|
7
|
+
cataloxWrites: Array<{
|
|
8
|
+
catalogId: string;
|
|
9
|
+
itemId: string;
|
|
10
|
+
action: string;
|
|
11
|
+
}>;
|
|
12
|
+
ok: boolean;
|
|
13
|
+
error?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function resolveAuditLogPath(env?: NodeJS.ProcessEnv): string;
|
|
16
|
+
export declare function appendDescriptorAuditEntry(entry: DescriptorAuditEntry, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/audit/log.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,KAAK,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAKhF;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,oBAAoB,EAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { appendFile, mkdir } from "node:fs/promises";
|
|
2
|
+
import { dirname, resolve } from "node:path";
|
|
3
|
+
export function resolveAuditLogPath(env = process.env) {
|
|
4
|
+
return resolve(env.MEMORIX_DESCRIPTORS_AUDIT_LOG?.trim() ||
|
|
5
|
+
".memorix-descriptors/audit.jsonl");
|
|
6
|
+
}
|
|
7
|
+
export async function appendDescriptorAuditEntry(entry, env = process.env) {
|
|
8
|
+
const path = resolveAuditLogPath(env);
|
|
9
|
+
await mkdir(dirname(path), { recursive: true });
|
|
10
|
+
await appendFile(path, `${JSON.stringify(entry)}\n`, "utf8");
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/audit/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiB7C,MAAM,UAAU,mBAAmB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACtE,OAAO,OAAO,CACZ,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE;QACvC,kCAAkC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAA2B,EAC3B,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,UAAU,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-catalogs.d.ts","sourceRoot":"","sources":["../../src/catalog/ensure-catalogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA2B/D,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MEMORIX_COMPLETION_MAPPINGS_CATALOG, MEMORIX_ENTITY_DESCRIPTORS_CATALOG, MEMORIX_ITEM_DESCRIPTORS_CATALOG, MEMORIX_LIST_DESCRIPTORS_CATALOG, } from "./ids.js";
|
|
2
|
+
const DESCRIPTOR_CATALOGS = [
|
|
3
|
+
{
|
|
4
|
+
catalogId: MEMORIX_ENTITY_DESCRIPTORS_CATALOG,
|
|
5
|
+
name: "Memorix entity descriptors",
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
catalogId: MEMORIX_LIST_DESCRIPTORS_CATALOG,
|
|
9
|
+
name: "Memorix list descriptors",
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
catalogId: MEMORIX_ITEM_DESCRIPTORS_CATALOG,
|
|
13
|
+
name: "Memorix item descriptors",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
catalogId: MEMORIX_COMPLETION_MAPPINGS_CATALOG,
|
|
17
|
+
name: "Memorix completion mappings",
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
export async function ensureMemorixDescriptorCatalogs(catalox) {
|
|
21
|
+
const ensured = [];
|
|
22
|
+
for (const spec of DESCRIPTOR_CATALOGS) {
|
|
23
|
+
await catalox.ensureCatalog({
|
|
24
|
+
catalogId: spec.catalogId,
|
|
25
|
+
name: spec.name,
|
|
26
|
+
status: "active",
|
|
27
|
+
});
|
|
28
|
+
ensured.push(spec.catalogId);
|
|
29
|
+
}
|
|
30
|
+
return ensured;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ensure-catalogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure-catalogs.js","sourceRoot":"","sources":["../../src/catalog/ensure-catalogs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mCAAmC,EACnC,kCAAkC,EAClC,gCAAgC,EAChC,gCAAgC,GACjC,MAAM,UAAU,CAAC;AAElB,MAAM,mBAAmB,GAAG;IAC1B;QACE,SAAS,EAAE,kCAAkC;QAC7C,IAAI,EAAE,4BAA4B;KACnC;IACD;QACE,SAAS,EAAE,gCAAgC;QAC3C,IAAI,EAAE,0BAA0B;KACjC;IACD;QACE,SAAS,EAAE,gCAAgC;QAC3C,IAAI,EAAE,0BAA0B;KACjC;IACD;QACE,SAAS,EAAE,mCAAmC;QAC9C,IAAI,EAAE,6BAA6B;KACpC;CACO,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAA2B;IAE3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,OAAO,CAAC,aAAa,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/catalox/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,gBAAgB,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/catalox/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,gBAAgB,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwC9B;AAYD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAMzC;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,CAAC,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC"}
|
package/dist/catalox/client.js
CHANGED
|
@@ -17,6 +17,10 @@ export async function listAllCatalogItems(catalox, catalogId) {
|
|
|
17
17
|
if (isCatalogNotFoundError(err)) {
|
|
18
18
|
return [];
|
|
19
19
|
}
|
|
20
|
+
if (catalogId === MEMORIX_COMPLETION_MAPPINGS_CATALOG &&
|
|
21
|
+
isCatalogAdapterError(err)) {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
20
24
|
throw err;
|
|
21
25
|
}
|
|
22
26
|
if (page.listOutcome === "mapping_blocked") {
|
|
@@ -42,6 +46,10 @@ function isCatalogNotFoundError(err) {
|
|
|
42
46
|
const message = err instanceof Error ? err.message : String(err);
|
|
43
47
|
return message.includes("Catalog not found");
|
|
44
48
|
}
|
|
49
|
+
function isCatalogAdapterError(err) {
|
|
50
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
51
|
+
return message.includes("Catalog adapter error");
|
|
52
|
+
}
|
|
45
53
|
export async function getCatalogItemData(catalox, catalogId, itemId) {
|
|
46
54
|
const result = await catalox.getCatalogItem(catalogId, itemId);
|
|
47
55
|
if (result.outcome === "not_found" || result.outcome === "mapping_blocked") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/catalox/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/catalox/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CataloxBoundClient } from "./client.js";
|
|
2
|
+
export declare function assertExpectedCatalogItemVersion(catalox: CataloxBoundClient, catalogId: string, itemId: string, expectedVersion: string | undefined): Promise<void>;
|
|
3
|
+
export declare class VersionConflictError extends Error {
|
|
4
|
+
readonly code = "VERSION_CONFLICT";
|
|
5
|
+
constructor(message: string);
|
|
6
|
+
}
|
|
7
|
+
export declare function readCatalogItemVersion(catalox: CataloxBoundClient, catalogId: string, itemId: string): Promise<string | undefined>;
|
|
8
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/catalox/version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,wBAAsB,gCAAgC,CACpD,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,sBAAsB;gBAEvB,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK7B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { getCatalogItemData } from "./client.js";
|
|
2
|
+
export async function assertExpectedCatalogItemVersion(catalox, catalogId, itemId, expectedVersion) {
|
|
3
|
+
if (expectedVersion == null || expectedVersion === "") {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
const existing = await catalox.getCatalogItem(catalogId, itemId);
|
|
7
|
+
if (existing.outcome === "not_found") {
|
|
8
|
+
throw new VersionConflictError(`Catalog item "${itemId}" not found in "${catalogId}"`);
|
|
9
|
+
}
|
|
10
|
+
if (existing.outcome === "mapping_blocked") {
|
|
11
|
+
throw new VersionConflictError(`Cannot read version for "${itemId}" in "${catalogId}" (mapping blocked)`);
|
|
12
|
+
}
|
|
13
|
+
const version = existing.item.version;
|
|
14
|
+
const actual = version == null ? "" : String(version);
|
|
15
|
+
if (actual !== expectedVersion) {
|
|
16
|
+
throw new VersionConflictError(`Version conflict for "${itemId}" in "${catalogId}": expected ${expectedVersion}, got ${actual || "(none)"}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class VersionConflictError extends Error {
|
|
20
|
+
code = "VERSION_CONFLICT";
|
|
21
|
+
constructor(message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = "VersionConflictError";
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export async function readCatalogItemVersion(catalox, catalogId, itemId) {
|
|
27
|
+
const data = await getCatalogItemData(catalox, catalogId, itemId);
|
|
28
|
+
if (!data)
|
|
29
|
+
return undefined;
|
|
30
|
+
const version = data.version;
|
|
31
|
+
return version == null ? undefined : String(version);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/catalox/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,OAA2B,EAC3B,SAAiB,EACjB,MAAc,EACd,eAAmC;IAEnC,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,oBAAoB,CAC5B,iBAAiB,MAAM,mBAAmB,SAAS,GAAG,CACvD,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;QAC3C,MAAM,IAAI,oBAAoB,CAC5B,4BAA4B,MAAM,SAAS,SAAS,qBAAqB,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAI,QAAQ,CAAC,IAAsC,CAAC,OAAO,CAAC;IACzE,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,MAAM,IAAI,oBAAoB,CAC5B,yBAAyB,MAAM,SAAS,SAAS,eAAe,eAAe,SAAS,MAAM,IAAI,QAAQ,EAAE,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,GAAG,kBAAkB,CAAC;IAEnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA2B,EAC3B,SAAiB,EACjB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAI,IAA6B,CAAC,OAAO,CAAC;IACvD,OAAO,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|