@x12i/memorix-writer 1.0.0 → 1.2.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 +25 -1
- package/catalox-seeds/memorix-write-descriptors.manifest.json +1 -2
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/data/collection-name.d.ts +1 -0
- package/dist/data/collection-name.d.ts.map +1 -1
- package/dist/data/collection-name.js +29 -6
- package/dist/data/collection-name.js.map +1 -1
- package/dist/data/memorix-write-adapter.d.ts +13 -6
- package/dist/data/memorix-write-adapter.d.ts.map +1 -1
- package/dist/data/memorix-write-adapter.js +22 -6
- package/dist/data/memorix-write-adapter.js.map +1 -1
- package/dist/descriptors/load-entity-descriptor.d.ts.map +1 -1
- package/dist/descriptors/load-entity-descriptor.js +3 -2
- package/dist/descriptors/load-entity-descriptor.js.map +1 -1
- package/dist/descriptors/write-descriptor-types.d.ts +0 -11
- package/dist/descriptors/write-descriptor-types.d.ts.map +1 -1
- package/dist/errors/issues.d.ts +1 -1
- package/dist/errors/issues.d.ts.map +1 -1
- package/dist/errors/issues.js.map +1 -1
- package/dist/graph-runs/clear-run.d.ts +9 -0
- package/dist/graph-runs/clear-run.d.ts.map +1 -0
- package/dist/graph-runs/clear-run.js +22 -0
- package/dist/graph-runs/clear-run.js.map +1 -0
- package/dist/graph-runs/constants.d.ts +4 -0
- package/dist/graph-runs/constants.d.ts.map +1 -0
- package/dist/graph-runs/constants.js +6 -0
- package/dist/graph-runs/constants.js.map +1 -0
- package/dist/graph-runs/context.d.ts +12 -0
- package/dist/graph-runs/context.d.ts.map +1 -0
- package/dist/graph-runs/context.js +25 -0
- package/dist/graph-runs/context.js.map +1 -0
- package/dist/graph-runs/ensure-indexes.d.ts +10 -0
- package/dist/graph-runs/ensure-indexes.d.ts.map +1 -0
- package/dist/graph-runs/ensure-indexes.js +27 -0
- package/dist/graph-runs/ensure-indexes.js.map +1 -0
- package/dist/graph-runs/logging.d.ts +9 -0
- package/dist/graph-runs/logging.d.ts.map +1 -0
- package/dist/graph-runs/logging.js +4 -0
- package/dist/graph-runs/logging.js.map +1 -0
- package/dist/graph-runs/mark-failed.d.ts +14 -0
- package/dist/graph-runs/mark-failed.d.ts.map +1 -0
- package/dist/graph-runs/mark-failed.js +35 -0
- package/dist/graph-runs/mark-failed.js.map +1 -0
- package/dist/graph-runs/mark-started.d.ts +15 -0
- package/dist/graph-runs/mark-started.d.ts.map +1 -0
- package/dist/graph-runs/mark-started.js +35 -0
- package/dist/graph-runs/mark-started.js.map +1 -0
- package/dist/graph-runs/resolve-record-collection.d.ts +14 -0
- package/dist/graph-runs/resolve-record-collection.d.ts.map +1 -0
- package/dist/graph-runs/resolve-record-collection.js +25 -0
- package/dist/graph-runs/resolve-record-collection.js.map +1 -0
- package/dist/graph-runs/write-result.d.ts +17 -0
- package/dist/graph-runs/write-result.d.ts.map +1 -0
- package/dist/graph-runs/write-result.js +97 -0
- package/dist/graph-runs/write-result.js.map +1 -0
- package/dist/index.d.ts +18 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -2
- package/dist/index.js.map +1 -1
- package/dist/mongo/collection-documents.d.ts +12 -1
- package/dist/mongo/collection-documents.d.ts.map +1 -1
- package/dist/mongo/collection-documents.js +14 -2
- package/dist/mongo/collection-documents.js.map +1 -1
- package/dist/mongo/env.d.ts +9 -1
- package/dist/mongo/env.d.ts.map +1 -1
- package/dist/mongo/env.js +24 -5
- package/dist/mongo/env.js.map +1 -1
- package/dist/mongo/index.d.ts +1 -1
- package/dist/mongo/index.d.ts.map +1 -1
- package/dist/mongo/index.js +1 -1
- package/dist/mongo/index.js.map +1 -1
- package/dist/mongo/target.d.ts +1 -1
- package/dist/mongo/target.d.ts.map +1 -1
- package/dist/mongo/target.js +1 -1
- package/dist/mongo/target.js.map +1 -1
- package/dist/validation/validate-fields.d.ts.map +1 -1
- package/dist/validation/validate-fields.js +4 -0
- package/dist/validation/validate-fields.js.map +1 -1
- package/dist/validation/validate-immutability.d.ts.map +1 -1
- package/dist/validation/validate-immutability.js +1 -0
- package/dist/validation/validate-immutability.js.map +1 -1
- package/docs/GRAPH-RUNS.md +93 -0
- package/docs/gap-analysis.md +18 -0
- package/package.json +3 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/graph-runs/logging.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,kBAAkB,CAChC,GAAuB;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { GraphRunError, MemorixRecordRef } from "@x12i/memorix-descriptors/types";
|
|
2
|
+
import type { MemorixWriterClient } from "../client/types.js";
|
|
3
|
+
export type MarkGraphRunFailedOptions = {
|
|
4
|
+
jobRunId: string;
|
|
5
|
+
attempts: number;
|
|
6
|
+
error: GraphRunError;
|
|
7
|
+
};
|
|
8
|
+
export type MarkGraphRunFailedResult = {
|
|
9
|
+
ok: true;
|
|
10
|
+
graphId: string;
|
|
11
|
+
recordRef: MemorixRecordRef;
|
|
12
|
+
};
|
|
13
|
+
export declare function markGraphRunFailed(client: MemorixWriterClient, ref: MemorixRecordRef, graphId: string, opts: MarkGraphRunFailedOptions): Promise<MarkGraphRunFailedResult>;
|
|
14
|
+
//# sourceMappingURL=mark-failed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mark-failed.d.ts","sourceRoot":"","sources":["../../src/graph-runs/mark-failed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAU9D,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAoCnC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MemorixWriterError } from "../errors/errors.js";
|
|
2
|
+
import { graphRunDotPath } from "./constants.js";
|
|
3
|
+
import { createGraphRunWriterContext, loadSourceRecord, readGraphRunEntry, } from "./context.js";
|
|
4
|
+
import { graphRunLogContext } from "./logging.js";
|
|
5
|
+
export async function markGraphRunFailed(client, ref, graphId, opts) {
|
|
6
|
+
const ctx = await createGraphRunWriterContext(client, ref);
|
|
7
|
+
const doc = await loadSourceRecord(ctx);
|
|
8
|
+
const existing = readGraphRunEntry(doc, graphId);
|
|
9
|
+
const completedAt = new Date().toISOString();
|
|
10
|
+
graphRunLogContext({
|
|
11
|
+
jobRunId: opts.jobRunId,
|
|
12
|
+
graphId,
|
|
13
|
+
recordRef: ref,
|
|
14
|
+
operation: "markGraphRunFailed",
|
|
15
|
+
});
|
|
16
|
+
const entry = {
|
|
17
|
+
status: "failed",
|
|
18
|
+
startedAt: existing?.startedAt ?? completedAt,
|
|
19
|
+
completedAt,
|
|
20
|
+
lastJobRunId: opts.jobRunId,
|
|
21
|
+
attempts: opts.attempts,
|
|
22
|
+
error: opts.error,
|
|
23
|
+
...(existing?.graphVersion !== undefined
|
|
24
|
+
? { graphVersion: existing.graphVersion }
|
|
25
|
+
: {}),
|
|
26
|
+
};
|
|
27
|
+
const stamp = await ctx.adapter.patch(ctx.resolved.collection, ctx.resolved.filter, {
|
|
28
|
+
[graphRunDotPath(graphId)]: entry,
|
|
29
|
+
});
|
|
30
|
+
if (stamp.matchedCount === 0) {
|
|
31
|
+
throw new MemorixWriterError("RECORD_NOT_FOUND", `Source record disappeared while stamping _graphRuns for ${ctx.resolved.collection}`);
|
|
32
|
+
}
|
|
33
|
+
return { ok: true, graphId, recordRef: ref };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=mark-failed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mark-failed.js","sourceRoot":"","sources":["../../src/graph-runs/mark-failed.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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;AAclD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAA2B,EAC3B,GAAqB,EACrB,OAAe,EACf,IAA+B;IAE/B,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;IACjD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE7C,kBAAkB,CAAC;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO;QACP,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,oBAAoB;KAChC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,QAAiB;QACzB,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,WAAW;QAC7C,WAAW;QACX,YAAY,EAAE,IAAI,CAAC,QAAQ;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,SAAS;YACtC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;QAClF,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;KAClC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,2DAA2D,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -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;AAU9D,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,CAuCpC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { MemorixWriterError } from "../errors/errors.js";
|
|
2
|
+
import { graphRunDotPath } from "./constants.js";
|
|
3
|
+
import { createGraphRunWriterContext, loadSourceRecord, readGraphRunEntry, } from "./context.js";
|
|
4
|
+
import { graphRunLogContext } from "./logging.js";
|
|
5
|
+
export async function markGraphRunStarted(client, ref, graphId, opts) {
|
|
6
|
+
const ctx = await createGraphRunWriterContext(client, ref);
|
|
7
|
+
const doc = await loadSourceRecord(ctx);
|
|
8
|
+
const existing = readGraphRunEntry(doc, graphId);
|
|
9
|
+
graphRunLogContext({
|
|
10
|
+
jobRunId: opts.jobRunId,
|
|
11
|
+
graphId,
|
|
12
|
+
recordRef: ref,
|
|
13
|
+
operation: "markGraphRunStarted",
|
|
14
|
+
});
|
|
15
|
+
if (existing?.status === "in_progress" &&
|
|
16
|
+
existing.lastJobRunId === opts.jobRunId) {
|
|
17
|
+
return { ok: true, action: "no_op", graphId, recordRef: ref };
|
|
18
|
+
}
|
|
19
|
+
const startedAt = new Date().toISOString();
|
|
20
|
+
const entry = {
|
|
21
|
+
status: "in_progress",
|
|
22
|
+
startedAt,
|
|
23
|
+
lastJobRunId: opts.jobRunId,
|
|
24
|
+
attempts: opts.attempts,
|
|
25
|
+
...(opts.graphVersion !== undefined ? { graphVersion: opts.graphVersion } : {}),
|
|
26
|
+
};
|
|
27
|
+
const stamp = await ctx.adapter.patch(ctx.resolved.collection, ctx.resolved.filter, {
|
|
28
|
+
[graphRunDotPath(graphId)]: entry,
|
|
29
|
+
});
|
|
30
|
+
if (stamp.matchedCount === 0) {
|
|
31
|
+
throw new MemorixWriterError("RECORD_NOT_FOUND", `Source record disappeared while stamping _graphRuns for ${ctx.resolved.collection}`);
|
|
32
|
+
}
|
|
33
|
+
return { ok: true, action: "stamped", graphId, recordRef: ref };
|
|
34
|
+
}
|
|
35
|
+
//# 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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;QAClF,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK;KAClC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAC1B,kBAAkB,EAClB,2DAA2D,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,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;AAc9D,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;AAiBF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,GAAG,EAAE,gBAAgB,EACrB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CA4HtC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
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 { 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
|
+
export async function writeGraphRunResult(client, ref, graphId, opts) {
|
|
19
|
+
graphRunLogContext({
|
|
20
|
+
jobRunId: opts.jobRunId,
|
|
21
|
+
graphId,
|
|
22
|
+
recordRef: ref,
|
|
23
|
+
operation: "writeGraphRunResult",
|
|
24
|
+
});
|
|
25
|
+
const tier = await getWriterMemorixTier(client);
|
|
26
|
+
const resolved = resolveRecordCollection(ref);
|
|
27
|
+
const sourceAdapter = createMemorixWriteAdapter(tier, {
|
|
28
|
+
target: resolved.target,
|
|
29
|
+
});
|
|
30
|
+
const resultTarget = resolveResultTarget(ref, opts.persistencyTarget);
|
|
31
|
+
const resultRecordId = resolvePersistencyRecordId(ref, opts.persistencyTarget.recordIdSource);
|
|
32
|
+
const resultCollection = resolvePersistencyCollection(opts.persistencyTarget);
|
|
33
|
+
const resultIdField = resolveResultIdField(resultTarget);
|
|
34
|
+
const resultFilter = { [resultIdField]: resultRecordId };
|
|
35
|
+
const resultAdapter = createMemorixWriteAdapter(tier, {
|
|
36
|
+
target: resultTarget,
|
|
37
|
+
});
|
|
38
|
+
const resultPointer = {
|
|
39
|
+
target: resultTarget,
|
|
40
|
+
entityName: opts.persistencyTarget.entityName,
|
|
41
|
+
contentType: opts.persistencyTarget.contentType,
|
|
42
|
+
recordId: resultRecordId,
|
|
43
|
+
};
|
|
44
|
+
const session = tier.client.startSession();
|
|
45
|
+
try {
|
|
46
|
+
await session.withTransaction(async () => {
|
|
47
|
+
const sourceDoc = await sourceAdapter.findOne(resolved.collection, resolved.filter, { session });
|
|
48
|
+
if (!sourceDoc) {
|
|
49
|
+
throw new MemorixWriterError("RECORD_NOT_FOUND", `Memorix record not found in ${resolved.collection} for ${resolved.idField}=${JSON.stringify(resolved.filter[resolved.idField])}`);
|
|
50
|
+
}
|
|
51
|
+
const existing = readGraphRunEntry(sourceDoc, graphId);
|
|
52
|
+
const priorResultDoc = await resultAdapter.findOne(resultCollection, resultFilter, { session });
|
|
53
|
+
const completedAt = new Date().toISOString();
|
|
54
|
+
const resultDoc = {
|
|
55
|
+
...opts.resultPayload,
|
|
56
|
+
[resultIdField]: resultRecordId,
|
|
57
|
+
recordId: resultRecordId,
|
|
58
|
+
modifiedAt: completedAt,
|
|
59
|
+
...(priorResultDoc?.createdAt
|
|
60
|
+
? { createdAt: priorResultDoc.createdAt }
|
|
61
|
+
: { createdAt: completedAt }),
|
|
62
|
+
};
|
|
63
|
+
const replaceResult = await resultAdapter.replace(resultCollection, resultFilter, resultDoc, true, { session });
|
|
64
|
+
if (replaceResult.matchedCount === 0 &&
|
|
65
|
+
replaceResult.upsertedCount === 0) {
|
|
66
|
+
throw new MemorixWriterError("DESCRIPTOR_MISSING", `Failed to write graph result to ${resultCollection}`);
|
|
67
|
+
}
|
|
68
|
+
const entry = {
|
|
69
|
+
status: "done",
|
|
70
|
+
startedAt: existing?.startedAt ?? completedAt,
|
|
71
|
+
completedAt,
|
|
72
|
+
lastJobRunId: opts.jobRunId,
|
|
73
|
+
attempts: opts.attempts,
|
|
74
|
+
result: resultPointer,
|
|
75
|
+
...(opts.graphVersion !== undefined
|
|
76
|
+
? { graphVersion: opts.graphVersion }
|
|
77
|
+
: existing?.graphVersion !== undefined
|
|
78
|
+
? { graphVersion: existing.graphVersion }
|
|
79
|
+
: {}),
|
|
80
|
+
};
|
|
81
|
+
const stamp = await sourceAdapter.patch(resolved.collection, resolved.filter, { [graphRunDotPath(graphId)]: entry }, { session });
|
|
82
|
+
if (stamp.matchedCount === 0) {
|
|
83
|
+
throw new MemorixWriterError("RECORD_NOT_FOUND", `Source record disappeared while stamping _graphRuns for ${resolveRecordCollection(ref).collection}`);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
if (err instanceof MemorixWriterError)
|
|
89
|
+
throw err;
|
|
90
|
+
throw new MemorixWriterError("GRAPH_RUN_STAMP_FAILED", err instanceof Error ? err.message : "Graph run result transaction failed");
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
await session.endSession();
|
|
94
|
+
}
|
|
95
|
+
return { ok: true, graphId, recordRef: ref, result: resultPointer };
|
|
96
|
+
}
|
|
97
|
+
//# 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,
|
|
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";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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;
|
|
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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Descriptor-driven physical collection I/O (e.g. `assets-analysis`). */
|
|
2
|
-
import type { Document, Sort } from "mongodb";
|
|
2
|
+
import type { ClientSession, Document, Sort } from "mongodb";
|
|
3
3
|
import type { MemorixDataTier } from "./tier.js";
|
|
4
4
|
export type ListMemorixCollectionDocumentsResult = {
|
|
5
5
|
documents: Record<string, unknown>[];
|
|
@@ -18,6 +18,7 @@ export declare function getMemorixCollectionDocument(tier: MemorixDataTier, args
|
|
|
18
18
|
collection: string;
|
|
19
19
|
filter: Record<string, unknown>;
|
|
20
20
|
projection?: Document;
|
|
21
|
+
session?: ClientSession;
|
|
21
22
|
}): Promise<Record<string, unknown> | null>;
|
|
22
23
|
export declare function insertMemorixCollectionDocument(tier: MemorixDataTier, args: {
|
|
23
24
|
collection: string;
|
|
@@ -30,6 +31,7 @@ export declare function replaceMemorixCollectionDocument(tier: MemorixDataTier,
|
|
|
30
31
|
filter: Record<string, unknown>;
|
|
31
32
|
replacement: Record<string, unknown>;
|
|
32
33
|
upsert?: boolean;
|
|
34
|
+
session?: ClientSession;
|
|
33
35
|
}): Promise<{
|
|
34
36
|
matchedCount: number;
|
|
35
37
|
modifiedCount: number;
|
|
@@ -39,6 +41,7 @@ export declare function updateMemorixCollectionDocument(tier: MemorixDataTier, a
|
|
|
39
41
|
collection: string;
|
|
40
42
|
filter: Record<string, unknown>;
|
|
41
43
|
update: Document;
|
|
44
|
+
session?: ClientSession;
|
|
42
45
|
}): Promise<{
|
|
43
46
|
matchedCount: number;
|
|
44
47
|
modifiedCount: number;
|
|
@@ -47,8 +50,16 @@ export declare function patchMemorixCollectionDocument(tier: MemorixDataTier, ar
|
|
|
47
50
|
collection: string;
|
|
48
51
|
filter: Record<string, unknown>;
|
|
49
52
|
$set: Record<string, unknown>;
|
|
53
|
+
session?: ClientSession;
|
|
50
54
|
}): Promise<{
|
|
51
55
|
matchedCount: number;
|
|
52
56
|
modifiedCount: number;
|
|
53
57
|
}>;
|
|
58
|
+
export declare function deleteMemorixCollectionDocument(tier: MemorixDataTier, args: {
|
|
59
|
+
collection: string;
|
|
60
|
+
filter: Record<string, unknown>;
|
|
61
|
+
session?: ClientSession;
|
|
62
|
+
}): Promise<{
|
|
63
|
+
deletedCount: number;
|
|
64
|
+
}>;
|
|
54
65
|
//# 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;
|
|
1
|
+
{"version":3,"file":"collection-documents.d.ts","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ export async function getMemorixCollectionDocument(tier, args) {
|
|
|
63
63
|
const filter = normalizeMemorixFilter(args.filter);
|
|
64
64
|
const doc = await col.findOne(filter, {
|
|
65
65
|
projection: args.projection,
|
|
66
|
+
...(args.session ? { session: args.session } : {}),
|
|
66
67
|
});
|
|
67
68
|
return doc;
|
|
68
69
|
}
|
|
@@ -76,7 +77,10 @@ export async function replaceMemorixCollectionDocument(tier, args) {
|
|
|
76
77
|
assertTierReady(tier);
|
|
77
78
|
const col = tier.db.collection(resolveCollection(args.collection));
|
|
78
79
|
const filter = normalizeMemorixFilter(args.filter);
|
|
79
|
-
const r = await col.replaceOne(filter, args.replacement, {
|
|
80
|
+
const r = await col.replaceOne(filter, args.replacement, {
|
|
81
|
+
upsert: args.upsert ?? false,
|
|
82
|
+
...(args.session ? { session: args.session } : {}),
|
|
83
|
+
});
|
|
80
84
|
return {
|
|
81
85
|
matchedCount: r.matchedCount,
|
|
82
86
|
modifiedCount: r.modifiedCount,
|
|
@@ -87,7 +91,7 @@ export async function updateMemorixCollectionDocument(tier, args) {
|
|
|
87
91
|
assertTierReady(tier);
|
|
88
92
|
const col = tier.db.collection(resolveCollection(args.collection));
|
|
89
93
|
const filter = normalizeMemorixFilter(args.filter);
|
|
90
|
-
const r = await col.updateOne(filter, args.update);
|
|
94
|
+
const r = await col.updateOne(filter, args.update, args.session ? { session: args.session } : undefined);
|
|
91
95
|
return { matchedCount: r.matchedCount, modifiedCount: r.modifiedCount };
|
|
92
96
|
}
|
|
93
97
|
export async function patchMemorixCollectionDocument(tier, args) {
|
|
@@ -95,6 +99,14 @@ export async function patchMemorixCollectionDocument(tier, args) {
|
|
|
95
99
|
collection: args.collection,
|
|
96
100
|
filter: args.filter,
|
|
97
101
|
update: { $set: args.$set },
|
|
102
|
+
session: args.session,
|
|
98
103
|
});
|
|
99
104
|
}
|
|
105
|
+
export async function deleteMemorixCollectionDocument(tier, args) {
|
|
106
|
+
assertTierReady(tier);
|
|
107
|
+
const col = tier.db.collection(resolveCollection(args.collection));
|
|
108
|
+
const filter = normalizeMemorixFilter(args.filter);
|
|
109
|
+
const r = await col.deleteOne(filter, args.session ? { session: args.session } : undefined);
|
|
110
|
+
return { deletedCount: r.deletedCount };
|
|
111
|
+
}
|
|
100
112
|
//# sourceMappingURL=collection-documents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-documents.js","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B,SAAS,eAAe,CAAC,IAAqB;IAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,OAAO,2BAA2B,CAAC,cAAc,CAAC,CAAC;AACrD,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAqB,EACrB,IAQC;IAED,eAAe,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,uCAAuC,aAAa,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,kBAAkB,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAU,EAAE,CAAC;IAE9C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,GAAG;aACpB,SAAS,CAAC;YACT,EAAE,MAAM,EAAE,MAAkB,EAAE;YAC9B;gBACE,MAAM,EAAE;oBACN,IAAI,EAAE;wBACJ,EAAE,KAAK,EAAE,IAAI,EAAE;wBACf,EAAE,KAAK,EAAE,IAAI,EAAE;wBACf,EAAE,MAAM,EAAE,KAAK,EAAE;wBACjB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5D;oBACD,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;iBACzB;aACF;SACF,CAAC;aACD,OAAO,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAGhB,CAAC;QACF,OAAO;YACL,SAAS,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;YACvB,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG;SACzB,IAAI,CAAC,MAAkB,EAAE;QACxB,IAAI;QACJ,IAAI;QACJ,KAAK;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC;SACD,OAAO,EAAE,CAA8B,CAAC;IAC3C,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"collection-documents.js","sourceRoot":"","sources":["../../src/mongo/collection-documents.ts"],"names":[],"mappings":"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"}
|
package/dist/mongo/env.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
package/dist/mongo/env.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
package/dist/mongo/env.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/mongo/env.ts"],"names":[],"mappings":"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"}
|
package/dist/mongo/index.d.ts
CHANGED
|
@@ -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";
|