@x12i/memorix-writer 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.
Files changed (87) hide show
  1. package/README.md +25 -1
  2. package/catalox-seeds/memorix-write-descriptors.manifest.json +1 -2
  3. package/dist/constants.d.ts +1 -1
  4. package/dist/constants.d.ts.map +1 -1
  5. package/dist/constants.js +1 -1
  6. package/dist/constants.js.map +1 -1
  7. package/dist/data/collection-name.d.ts +1 -0
  8. package/dist/data/collection-name.d.ts.map +1 -1
  9. package/dist/data/collection-name.js +29 -6
  10. package/dist/data/collection-name.js.map +1 -1
  11. package/dist/data/memorix-write-adapter.d.ts +3 -0
  12. package/dist/data/memorix-write-adapter.d.ts.map +1 -1
  13. package/dist/data/memorix-write-adapter.js +2 -1
  14. package/dist/data/memorix-write-adapter.js.map +1 -1
  15. package/dist/descriptors/load-entity-descriptor.d.ts.map +1 -1
  16. package/dist/descriptors/load-entity-descriptor.js +3 -2
  17. package/dist/descriptors/load-entity-descriptor.js.map +1 -1
  18. package/dist/descriptors/write-descriptor-types.d.ts +0 -11
  19. package/dist/descriptors/write-descriptor-types.d.ts.map +1 -1
  20. package/dist/errors/issues.d.ts +1 -1
  21. package/dist/errors/issues.d.ts.map +1 -1
  22. package/dist/errors/issues.js.map +1 -1
  23. package/dist/graph-runs/clear-run.d.ts +9 -0
  24. package/dist/graph-runs/clear-run.d.ts.map +1 -0
  25. package/dist/graph-runs/clear-run.js +18 -0
  26. package/dist/graph-runs/clear-run.js.map +1 -0
  27. package/dist/graph-runs/constants.d.ts +4 -0
  28. package/dist/graph-runs/constants.d.ts.map +1 -0
  29. package/dist/graph-runs/constants.js +6 -0
  30. package/dist/graph-runs/constants.js.map +1 -0
  31. package/dist/graph-runs/context.d.ts +12 -0
  32. package/dist/graph-runs/context.d.ts.map +1 -0
  33. package/dist/graph-runs/context.js +25 -0
  34. package/dist/graph-runs/context.js.map +1 -0
  35. package/dist/graph-runs/ensure-indexes.d.ts +10 -0
  36. package/dist/graph-runs/ensure-indexes.d.ts.map +1 -0
  37. package/dist/graph-runs/ensure-indexes.js +27 -0
  38. package/dist/graph-runs/ensure-indexes.js.map +1 -0
  39. package/dist/graph-runs/logging.d.ts +9 -0
  40. package/dist/graph-runs/logging.d.ts.map +1 -0
  41. package/dist/graph-runs/logging.js +4 -0
  42. package/dist/graph-runs/logging.js.map +1 -0
  43. package/dist/graph-runs/mark-failed.d.ts +14 -0
  44. package/dist/graph-runs/mark-failed.d.ts.map +1 -0
  45. package/dist/graph-runs/mark-failed.js +31 -0
  46. package/dist/graph-runs/mark-failed.js.map +1 -0
  47. package/dist/graph-runs/mark-started.d.ts +15 -0
  48. package/dist/graph-runs/mark-started.d.ts.map +1 -0
  49. package/dist/graph-runs/mark-started.js +31 -0
  50. package/dist/graph-runs/mark-started.js.map +1 -0
  51. package/dist/graph-runs/resolve-record-collection.d.ts +14 -0
  52. package/dist/graph-runs/resolve-record-collection.d.ts.map +1 -0
  53. package/dist/graph-runs/resolve-record-collection.js +25 -0
  54. package/dist/graph-runs/resolve-record-collection.js.map +1 -0
  55. package/dist/graph-runs/write-result.d.ts +17 -0
  56. package/dist/graph-runs/write-result.d.ts.map +1 -0
  57. package/dist/graph-runs/write-result.js +95 -0
  58. package/dist/graph-runs/write-result.js.map +1 -0
  59. package/dist/index.d.ts +18 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +10 -2
  62. package/dist/index.js.map +1 -1
  63. package/dist/mongo/collection-documents.d.ts +6 -0
  64. package/dist/mongo/collection-documents.d.ts.map +1 -1
  65. package/dist/mongo/collection-documents.js +7 -0
  66. package/dist/mongo/collection-documents.js.map +1 -1
  67. package/dist/mongo/env.d.ts +9 -1
  68. package/dist/mongo/env.d.ts.map +1 -1
  69. package/dist/mongo/env.js +24 -5
  70. package/dist/mongo/env.js.map +1 -1
  71. package/dist/mongo/index.d.ts +1 -1
  72. package/dist/mongo/index.d.ts.map +1 -1
  73. package/dist/mongo/index.js +1 -1
  74. package/dist/mongo/index.js.map +1 -1
  75. package/dist/mongo/target.d.ts +1 -1
  76. package/dist/mongo/target.d.ts.map +1 -1
  77. package/dist/mongo/target.js +1 -1
  78. package/dist/mongo/target.js.map +1 -1
  79. package/dist/validation/validate-fields.d.ts.map +1 -1
  80. package/dist/validation/validate-fields.js +4 -0
  81. package/dist/validation/validate-fields.js.map +1 -1
  82. package/dist/validation/validate-immutability.d.ts.map +1 -1
  83. package/dist/validation/validate-immutability.js +1 -0
  84. package/dist/validation/validate-immutability.js.map +1 -1
  85. package/docs/GRAPH-RUNS.md +93 -0
  86. package/docs/gap-analysis.md +18 -0
  87. package/package.json +3 -6
@@ -0,0 +1,15 @@
1
+ import type { MemorixRecordRef } from "@x12i/memorix-descriptors/types";
2
+ import type { MemorixWriterClient } from "../client/types.js";
3
+ export type MarkGraphRunStartedOptions = {
4
+ jobRunId: string;
5
+ attempts: number;
6
+ graphVersion?: string;
7
+ };
8
+ export type MarkGraphRunStartedResult = {
9
+ ok: true;
10
+ action: "stamped" | "no_op";
11
+ graphId: string;
12
+ recordRef: MemorixRecordRef;
13
+ };
14
+ export declare function markGraphRunStarted(client: MemorixWriterClient, ref: MemorixRecordRef, graphId: string, opts: MarkGraphRunStartedOptions): Promise<MarkGraphRunStartedResult>;
15
+ //# sourceMappingURL=mark-started.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-started.d.ts","sourceRoot":"","sources":["../../src/graph-runs/mark-started.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAS9D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAiCpC"}
@@ -0,0 +1,31 @@
1
+ import { graphRunDotPath } from "./constants.js";
2
+ import { createGraphRunWriterContext, loadSourceRecord, readGraphRunEntry, } from "./context.js";
3
+ import { graphRunLogContext } from "./logging.js";
4
+ export async function markGraphRunStarted(client, ref, graphId, opts) {
5
+ const ctx = await createGraphRunWriterContext(client, ref);
6
+ const doc = await loadSourceRecord(ctx);
7
+ const existing = readGraphRunEntry(doc, graphId);
8
+ graphRunLogContext({
9
+ jobRunId: opts.jobRunId,
10
+ graphId,
11
+ recordRef: ref,
12
+ operation: "markGraphRunStarted",
13
+ });
14
+ if (existing?.status === "in_progress" &&
15
+ existing.lastJobRunId === opts.jobRunId) {
16
+ return { ok: true, action: "no_op", graphId, recordRef: ref };
17
+ }
18
+ const startedAt = new Date().toISOString();
19
+ const entry = {
20
+ status: "in_progress",
21
+ startedAt,
22
+ lastJobRunId: opts.jobRunId,
23
+ attempts: opts.attempts,
24
+ ...(opts.graphVersion !== undefined ? { graphVersion: opts.graphVersion } : {}),
25
+ };
26
+ await ctx.adapter.patch(ctx.resolved.collection, ctx.resolved.filter, {
27
+ [graphRunDotPath(graphId)]: entry,
28
+ });
29
+ return { ok: true, action: "stamped", graphId, recordRef: ref };
30
+ }
31
+ //# sourceMappingURL=mark-started.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-started.js","sourceRoot":"","sources":["../../src/graph-runs/mark-started.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAelD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA2B,EAC3B,GAAqB,EACrB,OAAe,EACf,IAAgC;IAEhC,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEjD,kBAAkB,CAAC;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,qBAAqB;KACjC,CAAC,CAAC;IAEH,IACE,QAAQ,EAAE,MAAM,KAAK,aAAa;QAClC,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAC,QAAQ,EACvC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,aAAsB;QAC9B,SAAS;QACT,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,CAAC;IAEF,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;KAClC,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AAClE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { MemorixRecordRef } from "@x12i/memorix-descriptors/types";
2
+ import type { MemorixTarget } from "../mongo/target.js";
3
+ export type ResolvedRecordCollection = {
4
+ target: MemorixTarget;
5
+ collection: string;
6
+ idField: "entityId" | "eventId";
7
+ filter: Record<string, unknown>;
8
+ };
9
+ export declare function resolveIdFieldForTarget(target: MemorixRecordRef["target"]): "entityId" | "eventId";
10
+ export declare function resolveCollectionFromRef(ref: MemorixRecordRef): string;
11
+ export declare function resolveRecordCollection(ref: MemorixRecordRef): ResolvedRecordCollection;
12
+ export declare function resolvePersistencyRecordId(ref: MemorixRecordRef, recordIdSource: import("@x12i/memorix-descriptors/types").PersistencyRecordIdSource): string;
13
+ export declare function resolvePersistencyCollection(persistency: Pick<import("@x12i/memorix-descriptors/types").PersistencyTarget, "entityName" | "contentType">): string;
14
+ //# sourceMappingURL=resolve-record-collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-record-collection.d.ts","sourceRoot":"","sources":["../../src/graph-runs/resolve-record-collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GACjC,UAAU,GAAG,SAAS,CAExB;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAEtE;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,gBAAgB,GACpB,wBAAwB,CAQ1B;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,gBAAgB,EACrB,cAAc,EAAE,OAAO,iCAAiC,EAAE,yBAAyB,GAClF,MAAM,CAKR;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,IAAI,CACf,OAAO,iCAAiC,EAAE,iBAAiB,EAC3D,YAAY,GAAG,aAAa,CAC7B,GACA,MAAM,CAER"}
@@ -0,0 +1,25 @@
1
+ export function resolveIdFieldForTarget(target) {
2
+ return target === "event" ? "eventId" : "entityId";
3
+ }
4
+ export function resolveCollectionFromRef(ref) {
5
+ return `${ref.entityName}-${ref.contentType}`;
6
+ }
7
+ export function resolveRecordCollection(ref) {
8
+ const idField = resolveIdFieldForTarget(ref.target);
9
+ return {
10
+ target: ref.target,
11
+ collection: resolveCollectionFromRef(ref),
12
+ idField,
13
+ filter: { [idField]: ref.recordId },
14
+ };
15
+ }
16
+ export function resolvePersistencyRecordId(ref, recordIdSource) {
17
+ if (recordIdSource === "same-as-input") {
18
+ return ref.recordId;
19
+ }
20
+ return recordIdSource.literal;
21
+ }
22
+ export function resolvePersistencyCollection(persistency) {
23
+ return `${persistency.entityName}-${persistency.contentType}`;
24
+ }
25
+ //# sourceMappingURL=resolve-record-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-record-collection.js","sourceRoot":"","sources":["../../src/graph-runs/resolve-record-collection.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,uBAAuB,CACrC,MAAkC;IAElC,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAqB;IAC5D,OAAO,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,GAAqB;IAErB,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,wBAAwB,CAAC,GAAG,CAAC;QACzC,OAAO;QACP,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,GAAqB,EACrB,cAAmF;IAEnF,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,QAAQ,CAAC;IACtB,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,WAGC;IAED,OAAO,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { GraphRunResultPointer, MemorixRecordRef, PersistencyTarget } from "@x12i/memorix-descriptors/types";
2
+ import type { MemorixWriterClient } from "../client/types.js";
3
+ export type WriteGraphRunResultOptions = {
4
+ resultPayload: Record<string, unknown>;
5
+ persistencyTarget: PersistencyTarget;
6
+ jobRunId: string;
7
+ attempts: number;
8
+ graphVersion?: string;
9
+ };
10
+ export type WriteGraphRunResultResponse = {
11
+ ok: true;
12
+ graphId: string;
13
+ recordRef: MemorixRecordRef;
14
+ result: GraphRunResultPointer;
15
+ };
16
+ export declare function writeGraphRunResult(client: MemorixWriterClient, ref: MemorixRecordRef, graphId: string, opts: WriteGraphRunResultOptions): Promise<WriteGraphRunResultResponse>;
17
+ //# sourceMappingURL=write-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-result.d.ts","sourceRoot":"","sources":["../../src/graph-runs/write-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAkB9D,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAmCF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAsGtC"}
@@ -0,0 +1,95 @@
1
+ import { createMemorixWriteAdapter } from "../data/memorix-write-adapter.js";
2
+ import { getWriterMemorixTier } from "../client/ensure-tier.js";
3
+ import { MemorixWriterError } from "../errors/errors.js";
4
+ import { graphRunDotPath } from "./constants.js";
5
+ import { createGraphRunWriterContext, loadSourceRecord, readGraphRunEntry, } from "./context.js";
6
+ import { graphRunLogContext } from "./logging.js";
7
+ import { resolvePersistencyCollection, resolvePersistencyRecordId, resolveRecordCollection, } from "./resolve-record-collection.js";
8
+ function resolveResultTarget(ref, persistencyTarget) {
9
+ return persistencyTarget.target ?? ref.target;
10
+ }
11
+ function resolveResultIdField(target) {
12
+ if (target === "event")
13
+ return "eventId";
14
+ if (target === "knowledge")
15
+ return "knowledgeId";
16
+ return "entityId";
17
+ }
18
+ async function compensateResultWrite(args) {
19
+ if (args.priorDoc) {
20
+ await args.adapter.replace(args.resultCollection, args.resultFilter, args.priorDoc, false);
21
+ return;
22
+ }
23
+ await args.adapter.deleteOne(args.resultCollection, args.resultFilter);
24
+ }
25
+ export async function writeGraphRunResult(client, ref, graphId, opts) {
26
+ const ctx = await createGraphRunWriterContext(client, ref);
27
+ const sourceDoc = await loadSourceRecord(ctx);
28
+ const existing = readGraphRunEntry(sourceDoc, graphId);
29
+ graphRunLogContext({
30
+ jobRunId: opts.jobRunId,
31
+ graphId,
32
+ recordRef: ref,
33
+ operation: "writeGraphRunResult",
34
+ });
35
+ const resultTarget = resolveResultTarget(ref, opts.persistencyTarget);
36
+ const resultRecordId = resolvePersistencyRecordId(ref, opts.persistencyTarget.recordIdSource);
37
+ const resultCollection = resolvePersistencyCollection(opts.persistencyTarget);
38
+ const resultIdField = resolveResultIdField(resultTarget);
39
+ const resultFilter = { [resultIdField]: resultRecordId };
40
+ const tier = await getWriterMemorixTier(client);
41
+ const resultAdapter = createMemorixWriteAdapter(tier, { target: resultTarget });
42
+ const priorResultDoc = await resultAdapter.findOne(resultCollection, resultFilter);
43
+ const resultDoc = {
44
+ ...opts.resultPayload,
45
+ [resultIdField]: resultRecordId,
46
+ recordId: resultRecordId,
47
+ modifiedAt: new Date().toISOString(),
48
+ ...(priorResultDoc?.createdAt
49
+ ? { createdAt: priorResultDoc.createdAt }
50
+ : { createdAt: new Date().toISOString() }),
51
+ };
52
+ const replaceResult = await resultAdapter.replace(resultCollection, resultFilter, resultDoc, true);
53
+ if (replaceResult.matchedCount === 0 && replaceResult.upsertedCount === 0) {
54
+ throw new MemorixWriterError("DESCRIPTOR_MISSING", `Failed to write graph result to ${resultCollection}`);
55
+ }
56
+ const resultPointer = {
57
+ target: resultTarget,
58
+ entityName: opts.persistencyTarget.entityName,
59
+ contentType: opts.persistencyTarget.contentType,
60
+ recordId: resultRecordId,
61
+ };
62
+ const completedAt = new Date().toISOString();
63
+ const entry = {
64
+ status: "done",
65
+ startedAt: existing?.startedAt ?? completedAt,
66
+ completedAt,
67
+ lastJobRunId: opts.jobRunId,
68
+ attempts: opts.attempts,
69
+ result: resultPointer,
70
+ ...(opts.graphVersion !== undefined
71
+ ? { graphVersion: opts.graphVersion }
72
+ : existing?.graphVersion !== undefined
73
+ ? { graphVersion: existing.graphVersion }
74
+ : {}),
75
+ };
76
+ try {
77
+ const stamp = await ctx.adapter.patch(ctx.resolved.collection, ctx.resolved.filter, { [graphRunDotPath(graphId)]: entry });
78
+ if (stamp.matchedCount === 0) {
79
+ throw new MemorixWriterError("RECORD_NOT_FOUND", `Source record disappeared while stamping _graphRuns for ${resolveRecordCollection(ref).collection}`);
80
+ }
81
+ }
82
+ catch (err) {
83
+ await compensateResultWrite({
84
+ adapter: resultAdapter,
85
+ resultCollection,
86
+ resultFilter,
87
+ priorDoc: priorResultDoc,
88
+ });
89
+ if (err instanceof MemorixWriterError)
90
+ throw err;
91
+ throw new MemorixWriterError("GRAPH_RUN_STAMP_FAILED", err instanceof Error ? err.message : "Failed to stamp source _graphRuns");
92
+ }
93
+ return { ok: true, graphId, recordRef: ref, result: resultPointer };
94
+ }
95
+ //# sourceMappingURL=write-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-result.js","sourceRoot":"","sources":["../../src/graph-runs/write-result.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,15 +5,30 @@ export { writeMemorixRecords } from "./writer/write-records.js";
5
5
  export { validateMemorixWrite } from "./writer/validate-write.js";
6
6
  export { loadMemorixWriteDescriptor } from "./descriptors/load-write-descriptor.js";
7
7
  export { loadMemorixEntityDescriptor } from "./descriptors/load-entity-descriptor.js";
8
- export { resolveMemorixWriteCollectionName, resolveMemorixWriteTargetCollection, buildMemorixWriteCollectionCandidates, resolveEntityType, } from "./data/collection-name.js";
9
- export { resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, targetCollectionEnvKey, resolveMemorixWriteTarget, DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./mongo/index.js";
8
+ export { resolveMemorixWriteCollectionName, resolveMemorixWriteTargetCollection, buildMemorixWriteCollectionCandidates, resolveEntityType, resolveEntityName, } from "./data/collection-name.js";
9
+ export { resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, readTargetCollectionFromEnv, targetCollectionEnvKey, resolveMemorixWriteTarget, DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./mongo/index.js";
10
10
  export { connectMemorixMongo } from "./mongo/connection.js";
11
11
  export type { MemorixTarget } from "./mongo/target.js";
12
12
  export { resolveMemorixWriteFieldTarget } from "./writer/resolve-write-field-target.js";
13
13
  export { resolveMemorixContentWriteConfig } from "./content/resolve-content-write-config.js";
14
14
  export { writeMemorixContentObject, cleanupWrittenContent, } from "./content/write-content-object.js";
15
+ export { markGraphRunStarted } from "./graph-runs/mark-started.js";
16
+ export { markGraphRunFailed } from "./graph-runs/mark-failed.js";
17
+ export { writeGraphRunResult } from "./graph-runs/write-result.js";
18
+ export { clearGraphRun } from "./graph-runs/clear-run.js";
19
+ export { ensureGraphRunIndexes } from "./graph-runs/ensure-indexes.js";
20
+ export { GRAPH_RUNS_FIELD, graphRunDotPath } from "./graph-runs/constants.js";
21
+ export { resolveRecordCollection, resolveCollectionFromRef, resolvePersistencyCollection, resolvePersistencyRecordId, } from "./graph-runs/resolve-record-collection.js";
22
+ export { graphRunLogContext } from "./graph-runs/logging.js";
23
+ export type { MarkGraphRunStartedOptions, MarkGraphRunStartedResult, } from "./graph-runs/mark-started.js";
24
+ export type { MarkGraphRunFailedOptions, MarkGraphRunFailedResult, } from "./graph-runs/mark-failed.js";
25
+ export type { WriteGraphRunResultOptions, WriteGraphRunResultResponse, } from "./graph-runs/write-result.js";
26
+ export type { ClearGraphRunResult } from "./graph-runs/clear-run.js";
27
+ export type { EnsureGraphRunIndexesResult } from "./graph-runs/ensure-indexes.js";
28
+ export type { GraphRunLogContext } from "./graph-runs/logging.js";
29
+ export type { GraphRunStatus, GraphRunResultPointer, GraphRunError, GraphRunEntry, GraphRunsField, MemorixRecordRef, PersistencyRecordIdSource, PersistencyTarget, } from "@x12i/memorix-descriptors/types";
15
30
  export type { MemorixWriterClient, CreateMemorixWriterOptions, CreateMemorixWriterFromEnvOptions, CataloxLike, MemorixObjectWriterLike, MemorixContentWriterRegistry, MemorixRetrievalClient, MemorixWriterDefaults, WriteMemorixRecordRequest, WriteMemorixRecordResponse, WriteMemorixRecordsRequest, WriteMemorixRecordsResponse, ValidateMemorixWriteResponse, } from "./client/types.js";
16
- export type { MemorixWriteDescriptor, MemorixWriteFieldDescriptor, MemorixIdempotencyDescriptor, MemorixWriteValidationRule, } from "./descriptors/write-descriptor-types.js";
31
+ export type { MemorixWriteDescriptor, MemorixWriteFieldDescriptor, MemorixIdempotencyDescriptor, } from "./descriptors/write-descriptor-types.js";
17
32
  export type { MemorixEntityDescriptor, MemorixContentObject, MemorixContentStorageDescriptor, MemorixContentTypeDescriptor, MemorixPropertyDescriptor, } from "./descriptors/entity-descriptor-types.js";
18
33
  export type { MemorixWriteIssue } from "./errors/issues.js";
19
34
  export { MemorixWriterError } from "./errors/errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,iCAAiC,EACjC,WAAW,EACX,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAElD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,YAAY,EACV,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,iCAAiC,EACjC,WAAW,EACX,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAElD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -5,11 +5,19 @@ export { writeMemorixRecords } from "./writer/write-records.js";
5
5
  export { validateMemorixWrite } from "./writer/validate-write.js";
6
6
  export { loadMemorixWriteDescriptor } from "./descriptors/load-write-descriptor.js";
7
7
  export { loadMemorixEntityDescriptor } from "./descriptors/load-entity-descriptor.js";
8
- export { resolveMemorixWriteCollectionName, resolveMemorixWriteTargetCollection, buildMemorixWriteCollectionCandidates, resolveEntityType, } from "./data/collection-name.js";
9
- export { resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, targetCollectionEnvKey, resolveMemorixWriteTarget, DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./mongo/index.js";
8
+ export { resolveMemorixWriteCollectionName, resolveMemorixWriteTargetCollection, buildMemorixWriteCollectionCandidates, resolveEntityType, resolveEntityName, } from "./data/collection-name.js";
9
+ export { resolveMemorixDbName, resolveDefaultSourceDbName, resolveMongoUri, readTargetCollectionFromEnv, targetCollectionEnvKey, resolveMemorixWriteTarget, DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./mongo/index.js";
10
10
  export { connectMemorixMongo } from "./mongo/connection.js";
11
11
  export { resolveMemorixWriteFieldTarget } from "./writer/resolve-write-field-target.js";
12
12
  export { resolveMemorixContentWriteConfig } from "./content/resolve-content-write-config.js";
13
13
  export { writeMemorixContentObject, cleanupWrittenContent, } from "./content/write-content-object.js";
14
+ export { markGraphRunStarted } from "./graph-runs/mark-started.js";
15
+ export { markGraphRunFailed } from "./graph-runs/mark-failed.js";
16
+ export { writeGraphRunResult } from "./graph-runs/write-result.js";
17
+ export { clearGraphRun } from "./graph-runs/clear-run.js";
18
+ export { ensureGraphRunIndexes } from "./graph-runs/ensure-indexes.js";
19
+ export { GRAPH_RUNS_FIELD, graphRunDotPath } from "./graph-runs/constants.js";
20
+ export { resolveRecordCollection, resolveCollectionFromRef, resolvePersistencyCollection, resolvePersistencyRecordId, } from "./graph-runs/resolve-record-collection.js";
21
+ export { graphRunLogContext } from "./graph-runs/logging.js";
14
22
  export { MemorixWriterError } from "./errors/errors.js";
15
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAmC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAEtF,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,qCAAqC,EACrC,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA6D7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -51,4 +51,10 @@ export declare function patchMemorixCollectionDocument(tier: MemorixDataTier, ar
51
51
  matchedCount: number;
52
52
  modifiedCount: number;
53
53
  }>;
54
+ export declare function deleteMemorixCollectionDocument(tier: MemorixDataTier, args: {
55
+ collection: string;
56
+ filter: Record<string, unknown>;
57
+ }): Promise<{
58
+ deletedCount: number;
59
+ }>;
54
60
  //# sourceMappingURL=collection-documents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-documents.d.ts","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAoBjD,MAAM,MAAM,oCAAoC,GAAG;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GACA,OAAO,CAAC,oCAAoC,CAAC,CAkD/C;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAQzC;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GACA,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAKlC;AAED,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAcjF;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC;CAClB,GACA,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAM1D;AAED,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IACJ,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GACA,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAM1D"}
1
+ {"version":3,"file":"collection-documents.d.ts","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"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"}
@@ -97,4 +97,11 @@ export async function patchMemorixCollectionDocument(tier, args) {
97
97
  update: { $set: args.$set },
98
98
  });
99
99
  }
100
+ export async function deleteMemorixCollectionDocument(tier, args) {
101
+ assertTierReady(tier);
102
+ const col = tier.db.collection(resolveCollection(args.collection));
103
+ const filter = normalizeMemorixFilter(args.filter);
104
+ const r = await col.deleteOne(filter);
105
+ return { deletedCount: r.deletedCount };
106
+ }
100
107
  //# sourceMappingURL=collection-documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collection-documents.js","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection-documents.js","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,13 @@ import type { MemorixTarget } from "./target.js";
2
2
  export declare function resolveMongoUri(env?: NodeJS.ProcessEnv): string;
3
3
  export declare function resolveMemorixDbName(target: MemorixTarget, env?: NodeJS.ProcessEnv): string;
4
4
  export declare function resolveDefaultSourceDbName(env?: NodeJS.ProcessEnv): string | undefined;
5
- export declare function targetCollectionEnvKey(target: MemorixTarget, entityType: string): string;
5
+ /** Env key for a per-entity collection override. Uses canonical `entityName`. */
6
+ export declare function targetCollectionEnvKey(target: MemorixTarget, entityName: string): string;
7
+ export type TargetCollectionEnvEntity = {
8
+ entityName: string;
9
+ /** Legacy alias: read when it differs from `entityName`. */
10
+ entityType?: string;
11
+ };
12
+ /** Read collection override from env; `entityName` key wins over legacy `entityType` alias. */
13
+ export declare function readTargetCollectionFromEnv(target: MemorixTarget, entity: TargetCollectionEnvEntity, env?: NodeJS.ProcessEnv): string | undefined;
6
14
  //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/mongo/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjD,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAKD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAoBR;AAED,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAQpB;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/mongo/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjD,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM5E;AAOD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,EACrB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CA8BR;AAED,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAQpB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,+FAA+F;AAC/F,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,yBAAyB,EACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAUpB"}
package/dist/mongo/env.js CHANGED
@@ -15,19 +15,38 @@ export function resolveMongoUri(env = process.env) {
15
15
  }
16
16
  const MEMORIX_ENTITIES_DB_DEFAULT = "memorix-entities";
17
17
  const MEMORIX_EVENTS_DB_DEFAULT = "memorix-events";
18
+ const MEMORIX_KNOWLEDGE_DB_DEFAULT = "memorix-knowledge";
18
19
  export function resolveMemorixDbName(target, env = process.env) {
19
20
  if (target === "entity") {
20
21
  return (firstNonEmpty(env.MEMORIX_ENTITIES_DB, env.MEMORIX_DB_ENTITIES, env.memorix_entities_db, env.MEMORIX_DB) ?? MEMORIX_ENTITIES_DB_DEFAULT);
21
22
  }
23
+ if (target === "knowledge") {
24
+ return (firstNonEmpty(env.MEMORIX_KNOWLEDGE_DB, env.MEMORIX_DB_KNOWLEDGE, env.memorix_knowledge_db) ?? MEMORIX_KNOWLEDGE_DB_DEFAULT);
25
+ }
22
26
  return (firstNonEmpty(env.MEMORIX_EVENTS_DB, env.MEMORIX_DB_EVENTS, env.memorix_events_db, env.MEMORIX_DB) ?? MEMORIX_EVENTS_DB_DEFAULT);
23
27
  }
24
28
  export function resolveDefaultSourceDbName(env = process.env) {
25
29
  return firstNonEmpty(env.MEMORIX_SOURCE_DB, env.SOURCE_DATABASE_NAME, env.SOURCEDATABASENAME, env.sourceDatabaseName, env.source_database_name);
26
30
  }
27
- export function targetCollectionEnvKey(target, entityType) {
28
- const normalized = entityType.replace(/-/g, "_").toUpperCase();
29
- return target === "entity"
30
- ? `MEMORIX_ENTITIES_COLLECTION_${normalized}`
31
- : `MEMORIX_EVENTS_COLLECTION_${normalized}`;
31
+ /** Env key for a per-entity collection override. Uses canonical `entityName`. */
32
+ export function targetCollectionEnvKey(target, entityName) {
33
+ const normalized = entityName.replace(/-/g, "_").toUpperCase();
34
+ if (target === "entity")
35
+ return `MEMORIX_ENTITIES_COLLECTION_${normalized}`;
36
+ if (target === "knowledge")
37
+ return `MEMORIX_KNOWLEDGE_COLLECTION_${normalized}`;
38
+ return `MEMORIX_EVENTS_COLLECTION_${normalized}`;
39
+ }
40
+ /** Read collection override from env; `entityName` key wins over legacy `entityType` alias. */
41
+ export function readTargetCollectionFromEnv(target, entity, env = process.env) {
42
+ const name = entity.entityName.trim();
43
+ const fromName = env[targetCollectionEnvKey(target, name)]?.trim();
44
+ if (fromName)
45
+ return fromName;
46
+ const alias = entity.entityType?.trim();
47
+ if (alias && alias !== name) {
48
+ return env[targetCollectionEnvKey(target, alias)]?.trim();
49
+ }
50
+ return undefined;
32
51
  }
33
52
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/mongo/env.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,GAAG,IAA4B;IACpD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,2BAA2B,GAAG,kBAAkB,CAAC;AACvD,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,UAAU,oBAAoB,CAClC,MAAqB,EACrB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CACL,aAAa,CACX,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,mBAAmB,EACvB,GAAG,CAAC,UAAU,CACf,IAAI,2BAA2B,CACjC,CAAC;IACJ,CAAC;IAED,OAAO,CACL,aAAa,CACX,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,UAAU,CACf,IAAI,yBAAyB,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,aAAa,CAClB,GAAG,CAAC,iBAAiB,EACrB,GAAG,CAAC,oBAAoB,EACxB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,kBAAkB,EACtB,GAAG,CAAC,oBAAoB,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,MAAqB,EACrB,UAAkB;IAElB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/D,OAAO,MAAM,KAAK,QAAQ;QACxB,CAAC,CAAC,+BAA+B,UAAU,EAAE;QAC7C,CAAC,CAAC,6BAA6B,UAAU,EAAE,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/mongo/env.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { resolveDefaultSourceDbName, resolveMemorixDbName, resolveMongoUri, targetCollectionEnvKey, } from "./env.js";
1
+ export { resolveDefaultSourceDbName, resolveMemorixDbName, resolveMongoUri, readTargetCollectionFromEnv, targetCollectionEnvKey, } from "./env.js";
2
2
  export { resolveMemorixWriteTarget, type MemorixTarget } from "./target.js";
3
3
  export { DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./default-collections.js";
4
4
  export { createMemorixDataTier, type CreateMemorixDataTierOptions, type MemorixDataTier, } from "./tier.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- export { resolveDefaultSourceDbName, resolveMemorixDbName, resolveMongoUri, targetCollectionEnvKey, } from "./env.js";
1
+ export { resolveDefaultSourceDbName, resolveMemorixDbName, resolveMongoUri, readTargetCollectionFromEnv, targetCollectionEnvKey, } from "./env.js";
2
2
  export { resolveMemorixWriteTarget } from "./target.js";
3
3
  export { DEFAULT_ENTITY_COLLECTION_CANDIDATES, DEFAULT_EVENT_COLLECTION_CANDIDATES, } from "./default-collections.js";
4
4
  export { createMemorixDataTier, } from "./tier.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAsB,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,GAGtB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,yBAAyB,EAAsB,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,GAGtB,MAAM,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { MemorixWriteDescriptor } from "../descriptors/write-descriptor-types.js";
2
- export type MemorixTarget = "entity" | "event";
2
+ export type MemorixTarget = "entity" | "event" | "knowledge";
3
3
  export declare function resolveMemorixWriteTarget(writeDescriptor: MemorixWriteDescriptor): MemorixTarget;
4
4
  //# sourceMappingURL=target.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/mongo/target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE/C,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,sBAAsB,GACtC,aAAa,CAKf"}
1
+ {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/mongo/target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AAE7D,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,sBAAsB,GACtC,aAAa,CAKf"}
@@ -1,6 +1,6 @@
1
1
  export function resolveMemorixWriteTarget(writeDescriptor) {
2
2
  const kind = writeDescriptor.target.kind?.trim();
3
- if (kind === "entity" || kind === "event")
3
+ if (kind === "entity" || kind === "event" || kind === "knowledge")
4
4
  return kind;
5
5
  if (writeDescriptor.identity.idField === "eventId")
6
6
  return "event";
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/mongo/target.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,yBAAyB,CACvC,eAAuC;IAEvC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACnE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/mongo/target.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,yBAAyB,CACvC,eAAuC;IAEvC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/E,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IACnE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-fields.d.ts","sourceRoot":"","sources":["../../src/validation/validate-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,eAAe,EAAE,sBAAsB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,iBAAiB,EAAE,CA+DtB"}
1
+ {"version":3,"file":"validate-fields.d.ts","sourceRoot":"","sources":["../../src/validation/validate-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,eAAe,EAAE,sBAAsB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,iBAAiB,EAAE,CAyEtB"}
@@ -17,6 +17,10 @@ export function validateInputFields(args) {
17
17
  }
18
18
  if (rejectUnknown) {
19
19
  for (const key of Object.keys(input)) {
20
+ if (key === "_graphRuns") {
21
+ issues.push(writeIssue("SYSTEM_FIELD_NOT_WRITABLE", `system field "${key}" cannot be written via writeMemorixRecord`, { path: key, severity: "error" }));
22
+ continue;
23
+ }
20
24
  if (!allowedInputPaths.has(key)) {
21
25
  issues.push(writeIssue("UNKNOWN_FIELD", `unknown input field "${key}"`, {
22
26
  path: key,
@@ -1 +1 @@
1
- {"version":3,"file":"validate-fields.js","sourceRoot":"","sources":["../../src/validation/validate-fields.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,MAAM,UAAU,mBAAmB,CAAC,IAInC;IACC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IAChE,MAAM,aAAa,GAAG,eAAe,CAAC,UAAU,EAAE,mBAAmB,IAAI,IAAI,CAAC;IAC9E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK;YAAE,SAAS;QACvC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACnC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,eAAe,EAAE,wBAAwB,GAAG,GAAG,EAAE;oBAC1D,IAAI,EAAE,GAAG;oBACT,QAAQ,EAAE,OAAO;iBAClB,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,wBAAwB,EAAE,mBAAmB,IAAI,cAAc,EAAE;gBAC1E,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,OAAO;aAClB,CAAC,CACH,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACpD,gBAAgB,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IACE,eAAe,CAAC,UAAU,EAAE,8BAA8B;QAC1D,gBAAgB,KAAK,CAAC;QACtB,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAC9B,CAAC;QACD,MAAM,CAAC,IAAI,CACT,UAAU,CACR,mBAAmB,EACnB,8CAA8C,EAC9C,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"validate-fields.js","sourceRoot":"","sources":["../../src/validation/validate-fields.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-immutability.d.ts","sourceRoot":"","sources":["../../src/validation/validate-immutability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAY7D,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,KAAK,MAAM,CAAC;CACjF,GAAG,iBAAiB,EAAE,CA0BtB"}
1
+ {"version":3,"file":"validate-immutability.d.ts","sourceRoot":"","sources":["../../src/validation/validate-immutability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAC5F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAa7D,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;IACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,KAAK,MAAM,CAAC;CACjF,GAAG,iBAAiB,EAAE,CA0BtB"}
@@ -5,6 +5,7 @@ const PROTECTED_PATHS = new Set([
5
5
  "eventId",
6
6
  "recordId",
7
7
  "createdAt",
8
+ "_graphRuns",
8
9
  "_memorix.writeDescriptorId",
9
10
  ]);
10
11
  export function validateImmutableFieldsOnPatch(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-immutability.js","sourceRoot":"","sources":["../../src/validation/validate-immutability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,4BAA4B;CAC7B,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAAC,IAK9C;IACC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,wBAAwB,EAAE,UAAU,IAAI,gBAAgB,EAAE;gBACnE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,wBAAwB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE;gBAC/E,IAAI;aACL,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"validate-immutability.js","sourceRoot":"","sources":["../../src/validation/validate-immutability.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,UAAU;IACV,SAAS;IACT,UAAU;IACV,WAAW;IACX,YAAY;IACZ,4BAA4B;CAC7B,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAAC,IAK9C;IACC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,wBAAwB,EAAE,UAAU,IAAI,gBAAgB,EAAE;gBACnE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;aACxB,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,UAAU,CAAC,wBAAwB,EAAE,iBAAiB,IAAI,qBAAqB,EAAE;gBAC/E,IAAI;aACL,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}