@memberjunction/core 6.1.0-edge.0 → 6.1.0-edge.2

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 (77) hide show
  1. package/dist/generic/InMemoryLocalStorageProvider.d.ts +6 -0
  2. package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
  3. package/dist/generic/InMemoryLocalStorageProvider.js +6 -0
  4. package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
  5. package/dist/generic/baseEngineRegistry.d.ts +14 -0
  6. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  7. package/dist/generic/baseEngineRegistry.js +32 -0
  8. package/dist/generic/baseEngineRegistry.js.map +1 -1
  9. package/dist/generic/baseEntity.d.ts +366 -29
  10. package/dist/generic/baseEntity.d.ts.map +1 -1
  11. package/dist/generic/baseEntity.js +872 -96
  12. package/dist/generic/baseEntity.js.map +1 -1
  13. package/dist/generic/dataHooks.d.ts +5 -0
  14. package/dist/generic/dataHooks.d.ts.map +1 -1
  15. package/dist/generic/dataHooks.js +27 -3
  16. package/dist/generic/dataHooks.js.map +1 -1
  17. package/dist/generic/databaseProviderBase.d.ts +44 -17
  18. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  19. package/dist/generic/databaseProviderBase.js +96 -52
  20. package/dist/generic/databaseProviderBase.js.map +1 -1
  21. package/dist/generic/entityCompanion.d.ts +218 -0
  22. package/dist/generic/entityCompanion.d.ts.map +1 -0
  23. package/dist/generic/entityCompanion.js +170 -0
  24. package/dist/generic/entityCompanion.js.map +1 -0
  25. package/dist/generic/entityInfo.d.ts +21 -0
  26. package/dist/generic/entityInfo.d.ts.map +1 -1
  27. package/dist/generic/entityInfo.js +21 -0
  28. package/dist/generic/entityInfo.js.map +1 -1
  29. package/dist/generic/entitySavePlan.d.ts +199 -0
  30. package/dist/generic/entitySavePlan.d.ts.map +1 -0
  31. package/dist/generic/entitySavePlan.js +213 -0
  32. package/dist/generic/entitySavePlan.js.map +1 -0
  33. package/dist/generic/entityTransactionScope.d.ts +125 -0
  34. package/dist/generic/entityTransactionScope.d.ts.map +1 -0
  35. package/dist/generic/entityTransactionScope.js +115 -0
  36. package/dist/generic/entityTransactionScope.js.map +1 -0
  37. package/dist/generic/interfaces.d.ts +122 -35
  38. package/dist/generic/interfaces.d.ts.map +1 -1
  39. package/dist/generic/interfaces.js +27 -0
  40. package/dist/generic/interfaces.js.map +1 -1
  41. package/dist/generic/localCacheManager.d.ts +123 -5
  42. package/dist/generic/localCacheManager.d.ts.map +1 -1
  43. package/dist/generic/localCacheManager.js +254 -9
  44. package/dist/generic/localCacheManager.js.map +1 -1
  45. package/dist/generic/providerBase.d.ts +112 -0
  46. package/dist/generic/providerBase.d.ts.map +1 -1
  47. package/dist/generic/providerBase.js +303 -9
  48. package/dist/generic/providerBase.js.map +1 -1
  49. package/dist/generic/relatedRecordBatchLoader.d.ts +39 -0
  50. package/dist/generic/relatedRecordBatchLoader.d.ts.map +1 -0
  51. package/dist/generic/relatedRecordBatchLoader.js +154 -0
  52. package/dist/generic/relatedRecordBatchLoader.js.map +1 -0
  53. package/dist/generic/relatedRecordCollection.d.ts +588 -0
  54. package/dist/generic/relatedRecordCollection.d.ts.map +1 -0
  55. package/dist/generic/relatedRecordCollection.js +1020 -0
  56. package/dist/generic/relatedRecordCollection.js.map +1 -0
  57. package/dist/generic/saveEntityGraphOperation.d.ts +148 -0
  58. package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -0
  59. package/dist/generic/saveEntityGraphOperation.js +157 -0
  60. package/dist/generic/saveEntityGraphOperation.js.map +1 -0
  61. package/dist/generic/telemetryManager.d.ts +21 -1
  62. package/dist/generic/telemetryManager.d.ts.map +1 -1
  63. package/dist/generic/telemetryManager.js +21 -6
  64. package/dist/generic/telemetryManager.js.map +1 -1
  65. package/dist/index.d.ts +6 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +6 -3
  68. package/dist/index.js.map +1 -1
  69. package/dist/views/runView.d.ts +66 -0
  70. package/dist/views/runView.d.ts.map +1 -1
  71. package/dist/views/runView.js.map +1 -1
  72. package/package.json +3 -3
  73. package/readme.md +195 -1
  74. package/dist/generic/runReport.d.ts +0 -25
  75. package/dist/generic/runReport.d.ts.map +0 -1
  76. package/dist/generic/runReport.js +0 -38
  77. package/dist/generic/runReport.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"entityInfo.js","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entityInfo.js","sourceRoot":"","sources":["../../src/generic/entityInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * @fileoverview `EntitySavePlan` — the ordered unit of work produced by an entity and its
3
+ * companions, and the local executor that runs it inside a single provider transaction.
4
+ *
5
+ * ## Why a plan rather than direct recursion
6
+ *
7
+ * Making the work explicit before executing any of it buys three things that matter:
8
+ *
9
+ * 1. **Validation can see the whole graph.** Cross-child invariants ("debits must equal credits")
10
+ * have to be checked against the complete set — including pending removals — *before* the first
11
+ * row is written. A plan is the natural place to assert that.
12
+ * 2. **One transaction decision.** The plan is built, then executed. The executor opens exactly one
13
+ * scope for the whole graph instead of each level guessing whether it should start one.
14
+ * 3. **The remote path becomes trivial.** A plan is data. The client serializes the graph, the
15
+ * server rebuilds it and runs the *same* executor. There is one cascade implementation, placed
16
+ * in one of two locations — never two implementations to keep in sync.
17
+ *
18
+ * ## Platform guarantees are preserved by construction
19
+ *
20
+ * Every node is persisted by calling that record's own `BaseEntity.Save()` / `.Delete()`. Nothing
21
+ * is written with direct SQL. Record Changes, entity actions, field validation, subclass `Save`
22
+ * overrides, `PreSave` data hooks, `save_started` / `save` / `delete` events and cache invalidation
23
+ * therefore all fire per node exactly as they do for a standalone save — with no graph-specific
24
+ * plumbing and no risk of the graph path quietly skipping a guarantee the single-record path has.
25
+ *
26
+ * @module @memberjunction/core
27
+ */
28
+ import type { BaseEntity } from './baseEntity.js';
29
+ import type { EntitySaveOptions, EntityDeleteOptions } from './interfaces.js';
30
+ /**
31
+ * What a plan node does to its record.
32
+ */
33
+ export type EntitySavePlanOperation = 'Save' | 'Delete';
34
+ /**
35
+ * A single unit of work within an {@link EntitySavePlan}.
36
+ */
37
+ export type EntitySavePlanNode = {
38
+ /** The record to operate on. */
39
+ Entity: BaseEntity;
40
+ /** Whether this node saves or deletes its record. */
41
+ Operation: EntitySavePlanOperation;
42
+ /**
43
+ * Human-readable origin of this node, used in error messages so a failure names the collection
44
+ * it came from rather than just an entity name (e.g. `Lines[3]`).
45
+ */
46
+ Label: string;
47
+ /**
48
+ * Applied to the record immediately before the node executes.
49
+ *
50
+ * This is how a child collection stamps the parent's freshly-assigned primary key onto each
51
+ * child's foreign key: the parent node runs first, so by the time this callback fires the key
52
+ * exists. Deferring it to execution time — rather than setting it when the plan is built — is
53
+ * what makes creating a parent and its children in one call work.
54
+ */
55
+ Prepare?: () => void;
56
+ /**
57
+ * When true, this node executes the record's **own** save/delete only, without letting that
58
+ * record build and run a graph of its own.
59
+ *
60
+ * Set on the root node — the record whose `Save()` produced this plan. Without it the root
61
+ * would re-enter graph planning from inside its own graph execution, recursing forever, and
62
+ * would deadlock on its own in-flight save debounce.
63
+ *
64
+ * Deliberately **not** set on child nodes: a child that declares companions of its own must
65
+ * build and run its own sub-graph, which is what makes nesting (payment → line → allocation)
66
+ * work.
67
+ */
68
+ SelfOnly?: boolean;
69
+ };
70
+ /**
71
+ * The outcome of executing one plan node.
72
+ */
73
+ export type EntitySavePlanNodeResult = {
74
+ /** The node that ran. */
75
+ Node: EntitySavePlanNode;
76
+ /** Whether the record's own Save()/Delete() reported success. */
77
+ Success: boolean;
78
+ /** The failure detail, when `Success` is false. */
79
+ ErrorMessage?: string;
80
+ };
81
+ /**
82
+ * The outcome of executing a whole plan.
83
+ */
84
+ export type EntitySavePlanResult = {
85
+ /** True only when every node succeeded and the transaction committed. */
86
+ Success: boolean;
87
+ /** Per-node outcomes, in execution order. */
88
+ NodeResults: EntitySavePlanNodeResult[];
89
+ /** The first failure's message, hoisted for convenience. */
90
+ ErrorMessage?: string;
91
+ };
92
+ /**
93
+ * An ordered set of record operations that must succeed or fail together.
94
+ *
95
+ * Built by `BaseEntity.BuildSavePlan()` / `BuildDeletePlan()`, which seed the root node and then let
96
+ * each companion contribute via `EntityCompanion.ContributeSaveWork()` /
97
+ * `ContributeDeleteWork()`.
98
+ *
99
+ * @remarks
100
+ * Ordering is explicit and positional — nodes execute in the order they were added. Companions that
101
+ * need their work to run before the parent (deletions of children, for instance) add it before the
102
+ * parent node exists, which is why `ContributeDeleteWork` is called first on the delete path and
103
+ * `ContributeSaveWork` last on the save path.
104
+ */
105
+ export declare class EntitySavePlan {
106
+ private nodes;
107
+ /**
108
+ * The record the plan is rooted at — the entity whose `Save()` / `Delete()` was called.
109
+ */
110
+ readonly Root: BaseEntity;
111
+ /**
112
+ * @param root - The record this plan is rooted at.
113
+ */
114
+ constructor(root: BaseEntity);
115
+ /**
116
+ * The nodes in execution order.
117
+ */
118
+ get Nodes(): readonly EntitySavePlanNode[];
119
+ /**
120
+ * How many operations this plan will perform.
121
+ *
122
+ * A count of 1 means the plan is just the root record, and `BaseEntity` takes its ordinary
123
+ * single-record path — no plan execution, no transaction scope, byte-for-byte the behavior
124
+ * that existed before companions. This is what keeps the overwhelmingly common case free of
125
+ * any new cost or risk.
126
+ */
127
+ get NodeCount(): number;
128
+ /**
129
+ * Appends a node to the plan.
130
+ *
131
+ * @param node - The unit of work to append.
132
+ * @returns This plan, for chaining.
133
+ */
134
+ Add(node: EntitySavePlanNode): EntitySavePlan;
135
+ /**
136
+ * Convenience wrapper over {@link Add} for a save node.
137
+ *
138
+ * @param entity - The record to save.
139
+ * @param label - Origin label used in error messages.
140
+ * @param prepare - Optional callback applied immediately before the node executes.
141
+ * @returns This plan, for chaining.
142
+ */
143
+ AddSave(entity: BaseEntity, label: string, prepare?: () => void, selfOnly?: boolean): EntitySavePlan;
144
+ /**
145
+ * Convenience wrapper over {@link Add} for a delete node.
146
+ *
147
+ * @param entity - The record to delete.
148
+ * @param label - Origin label used in error messages.
149
+ * @returns This plan, for chaining.
150
+ */
151
+ AddDelete(entity: BaseEntity, label: string): EntitySavePlan;
152
+ }
153
+ /**
154
+ * Per-node option sets used when executing a plan.
155
+ *
156
+ * The root node needs its own variants carrying the `IsGraphNodeSave` / `IsGraphNodeDelete` flag,
157
+ * which prevents it from re-entering graph planning and bypasses its in-flight save debounce.
158
+ * `BaseEntity` constructs all four, because it already holds the option classes as values —
159
+ * building them here would force a runtime import of `interfaces.ts` and close an import cycle for
160
+ * no benefit.
161
+ */
162
+ export type EntitySavePlanExecuteOptions = {
163
+ /** Options for non-root save nodes. */
164
+ SaveOptions?: EntitySaveOptions;
165
+ /** Options for the root save node — must carry `IsGraphNodeSave: true`. */
166
+ RootSaveOptions?: EntitySaveOptions;
167
+ /** Options for non-root delete nodes. */
168
+ DeleteOptions?: EntityDeleteOptions;
169
+ /** Options for the root delete node — must carry `IsGraphNodeDelete: true`. */
170
+ RootDeleteOptions?: EntityDeleteOptions;
171
+ /**
172
+ * Keys of the records already being persisted higher up in this unit of work — the cycle guard.
173
+ *
174
+ * A child node runs the child's own `Save()`, which builds and executes the child's own plan.
175
+ * That is what makes nesting work (a payment's line's allocations all land in one transaction),
176
+ * but on a **self-referential** collection it is also what makes a cycle fatal: declare
177
+ * `SubAgents` on `MJ: AI Agents` via `ParentID`, then wire `a.SubAgents.Add(b)` and
178
+ * `b.SubAgents.Add(a)`, and the recursion only ends when the call stack does.
179
+ *
180
+ * The set is threaded through the options rather than held in a module-scoped variable
181
+ * deliberately. A process-global would be shared by every concurrent save in the process, so
182
+ * two unrelated requests saving the *same* record at the same time would report a cycle that
183
+ * does not exist. Carried on the options, its lifetime is exactly one unit of work.
184
+ */
185
+ Visited?: Set<string>;
186
+ };
187
+ /**
188
+ * Executes a plan's nodes in order, stopping at the first failure.
189
+ *
190
+ * This function does **not** manage the transaction — the caller owns that, because the caller is
191
+ * the only one that knows whether the graph is the outermost unit of work or nested inside a larger
192
+ * one. See `BaseEntity.executeGraphLocal`.
193
+ *
194
+ * @param plan - The plan to execute.
195
+ * @param options - Per-node option sets.
196
+ * @returns The per-node outcomes and an overall success flag.
197
+ */
198
+ export declare function ExecuteEntitySavePlan(plan: EntitySavePlan, options?: EntitySavePlanExecuteOptions): Promise<EntitySavePlanResult>;
199
+ //# sourceMappingURL=entitySavePlan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entitySavePlan.d.ts","sourceRoot":"","sources":["../../src/generic/entitySavePlan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gCAAgC;IAChC,MAAM,EAAE,UAAU,CAAC;IACnB,qDAAqD;IACrD,SAAS,EAAE,uBAAuB,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC,yBAAyB;IACzB,IAAI,EAAE,kBAAkB,CAAC;IACzB,iEAAiE;IACjE,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IAC/B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxC,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,KAAK,CAA4B;IAEzC;;OAEG;IACH,SAAgB,IAAI,EAAE,UAAU,CAAC;IAEjC;;OAEG;gBACS,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,IAAW,KAAK,IAAI,SAAS,kBAAkB,EAAE,CAEhD;IAED;;;;;;;OAOG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;IAKpD;;;;;;;OAOG;IACI,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,QAAQ,UAAQ,GAAG,cAAc;IAIzG;;;;;;OAMG;IACI,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;CAGtE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACvC,uCAAuC;IACvC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,2EAA2E;IAC3E,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,yCAAyC;IACzC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAkBF;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,cAAc,EACpB,OAAO,GAAE,4BAAiC,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAsD/B"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * @fileoverview `EntitySavePlan` — the ordered unit of work produced by an entity and its
3
+ * companions, and the local executor that runs it inside a single provider transaction.
4
+ *
5
+ * ## Why a plan rather than direct recursion
6
+ *
7
+ * Making the work explicit before executing any of it buys three things that matter:
8
+ *
9
+ * 1. **Validation can see the whole graph.** Cross-child invariants ("debits must equal credits")
10
+ * have to be checked against the complete set — including pending removals — *before* the first
11
+ * row is written. A plan is the natural place to assert that.
12
+ * 2. **One transaction decision.** The plan is built, then executed. The executor opens exactly one
13
+ * scope for the whole graph instead of each level guessing whether it should start one.
14
+ * 3. **The remote path becomes trivial.** A plan is data. The client serializes the graph, the
15
+ * server rebuilds it and runs the *same* executor. There is one cascade implementation, placed
16
+ * in one of two locations — never two implementations to keep in sync.
17
+ *
18
+ * ## Platform guarantees are preserved by construction
19
+ *
20
+ * Every node is persisted by calling that record's own `BaseEntity.Save()` / `.Delete()`. Nothing
21
+ * is written with direct SQL. Record Changes, entity actions, field validation, subclass `Save`
22
+ * overrides, `PreSave` data hooks, `save_started` / `save` / `delete` events and cache invalidation
23
+ * therefore all fire per node exactly as they do for a standalone save — with no graph-specific
24
+ * plumbing and no risk of the graph path quietly skipping a guarantee the single-record path has.
25
+ *
26
+ * @module @memberjunction/core
27
+ */
28
+ import { LogError } from './logging.js';
29
+ /**
30
+ * An ordered set of record operations that must succeed or fail together.
31
+ *
32
+ * Built by `BaseEntity.BuildSavePlan()` / `BuildDeletePlan()`, which seed the root node and then let
33
+ * each companion contribute via `EntityCompanion.ContributeSaveWork()` /
34
+ * `ContributeDeleteWork()`.
35
+ *
36
+ * @remarks
37
+ * Ordering is explicit and positional — nodes execute in the order they were added. Companions that
38
+ * need their work to run before the parent (deletions of children, for instance) add it before the
39
+ * parent node exists, which is why `ContributeDeleteWork` is called first on the delete path and
40
+ * `ContributeSaveWork` last on the save path.
41
+ */
42
+ export class EntitySavePlan {
43
+ /**
44
+ * @param root - The record this plan is rooted at.
45
+ */
46
+ constructor(root) {
47
+ this.nodes = [];
48
+ this.Root = root;
49
+ }
50
+ /**
51
+ * The nodes in execution order.
52
+ */
53
+ get Nodes() {
54
+ return this.nodes;
55
+ }
56
+ /**
57
+ * How many operations this plan will perform.
58
+ *
59
+ * A count of 1 means the plan is just the root record, and `BaseEntity` takes its ordinary
60
+ * single-record path — no plan execution, no transaction scope, byte-for-byte the behavior
61
+ * that existed before companions. This is what keeps the overwhelmingly common case free of
62
+ * any new cost or risk.
63
+ */
64
+ get NodeCount() {
65
+ return this.nodes.length;
66
+ }
67
+ /**
68
+ * Appends a node to the plan.
69
+ *
70
+ * @param node - The unit of work to append.
71
+ * @returns This plan, for chaining.
72
+ */
73
+ Add(node) {
74
+ this.nodes.push(node);
75
+ return this;
76
+ }
77
+ /**
78
+ * Convenience wrapper over {@link Add} for a save node.
79
+ *
80
+ * @param entity - The record to save.
81
+ * @param label - Origin label used in error messages.
82
+ * @param prepare - Optional callback applied immediately before the node executes.
83
+ * @returns This plan, for chaining.
84
+ */
85
+ AddSave(entity, label, prepare, selfOnly = false) {
86
+ return this.Add({ Entity: entity, Operation: 'Save', Label: label, Prepare: prepare, SelfOnly: selfOnly });
87
+ }
88
+ /**
89
+ * Convenience wrapper over {@link Add} for a delete node.
90
+ *
91
+ * @param entity - The record to delete.
92
+ * @param label - Origin label used in error messages.
93
+ * @returns This plan, for chaining.
94
+ */
95
+ AddDelete(entity, label) {
96
+ return this.Add({ Entity: entity, Operation: 'Delete', Label: label });
97
+ }
98
+ }
99
+ /**
100
+ * Stable identity for cycle detection: the entity plus its primary key.
101
+ *
102
+ * Object identity is not enough — the same row can be represented by two different `BaseEntity`
103
+ * instances within one graph, which is precisely the shape a cycle takes after a round trip.
104
+ *
105
+ * @param entity - The record to key.
106
+ * @returns The key, or `null` for a record with no primary-key value yet (a brand-new record cannot
107
+ * be its own ancestor, so it needs no guard).
108
+ */
109
+ function GraphNodeKey(entity) {
110
+ const entityName = entity.EntityInfo?.Name;
111
+ const key = entity.PrimaryKey?.ToString();
112
+ return entityName && key ? `${entityName}|${key}` : null;
113
+ }
114
+ /**
115
+ * Executes a plan's nodes in order, stopping at the first failure.
116
+ *
117
+ * This function does **not** manage the transaction — the caller owns that, because the caller is
118
+ * the only one that knows whether the graph is the outermost unit of work or nested inside a larger
119
+ * one. See `BaseEntity.executeGraphLocal`.
120
+ *
121
+ * @param plan - The plan to execute.
122
+ * @param options - Per-node option sets.
123
+ * @returns The per-node outcomes and an overall success flag.
124
+ */
125
+ export async function ExecuteEntitySavePlan(plan, options = {}) {
126
+ const nodeResults = [];
127
+ const visited = options.Visited ?? new Set();
128
+ // The root is an ancestor of everything this plan will run, so it goes in before the loop.
129
+ // Its own node is `SelfOnly` and therefore exempt from the check below — it cannot recurse.
130
+ const rootKey = GraphNodeKey(plan.Root);
131
+ const rootWasAlreadyVisited = rootKey !== null && visited.has(rootKey);
132
+ if (rootKey && !rootWasAlreadyVisited) {
133
+ visited.add(rootKey);
134
+ }
135
+ try {
136
+ for (const node of plan.Nodes) {
137
+ // A child node re-entering a record already in progress above it is a cycle. Detect it
138
+ // here rather than letting the recursion run until the stack overflows, which surfaces
139
+ // as an unattributable crash rather than a fixable message.
140
+ if (!node.SelfOnly) {
141
+ const key = GraphNodeKey(node.Entity);
142
+ if (key && visited.has(key)) {
143
+ const message = `Cycle detected in the entity graph at ${node.Label} (${key}): this record is already ` +
144
+ `being saved higher up in the same unit of work. A self-referential related-record ` +
145
+ `collection cannot contain one of its own ancestors.`;
146
+ LogError(message);
147
+ return { Success: false, NodeResults: nodeResults, ErrorMessage: message };
148
+ }
149
+ }
150
+ // Late-bind anything that depends on values produced by earlier nodes — most importantly
151
+ // a child's foreign key, which cannot exist until the parent row has been inserted.
152
+ if (node.Prepare) {
153
+ node.Prepare();
154
+ }
155
+ const outcome = await executePlanNode(node, { ...options, Visited: visited });
156
+ nodeResults.push(outcome);
157
+ if (!outcome.Success) {
158
+ // Stop immediately. The caller rolls the transaction back, so continuing would only
159
+ // pile up work that is about to be undone — and would let a later, more confusing
160
+ // failure mask the real one.
161
+ return { Success: false, NodeResults: nodeResults, ErrorMessage: outcome.ErrorMessage };
162
+ }
163
+ }
164
+ return { Success: true, NodeResults: nodeResults };
165
+ }
166
+ finally {
167
+ // Leave the set exactly as it was found, so sibling branches of the same graph are not
168
+ // poisoned by an ancestor this branch happened to add.
169
+ if (rootKey && !rootWasAlreadyVisited) {
170
+ visited.delete(rootKey);
171
+ }
172
+ }
173
+ }
174
+ /**
175
+ * Runs a single plan node and normalizes its outcome.
176
+ *
177
+ * `BaseEntity.Save()` / `.Delete()` signal logical failure by returning `false` rather than
178
+ * throwing, so both shapes have to be handled: a `false` return and a genuine exception.
179
+ *
180
+ * @param node - The node to run.
181
+ * @param saveOptions - Options for a save node.
182
+ * @param deleteOptions - Options for a delete node.
183
+ * @returns The node outcome.
184
+ */
185
+ async function executePlanNode(node, options) {
186
+ try {
187
+ // The root node runs "self only": it must not re-enter graph planning from inside the graph
188
+ // it is already executing, and it must bypass its own in-flight save debounce. Child nodes
189
+ // get the ordinary options, so a child with companions of its own runs its own sub-graph.
190
+ const ok = node.Operation === 'Save'
191
+ ? await node.Entity.Save(node.SelfOnly ? options.RootSaveOptions : options.SaveOptions)
192
+ : await node.Entity.Delete(node.SelfOnly ? options.RootDeleteOptions : options.DeleteOptions);
193
+ if (ok) {
194
+ return { Node: node, Success: true };
195
+ }
196
+ const detail = node.Entity.LatestResult?.CompleteMessage ?? 'unknown error';
197
+ return {
198
+ Node: node,
199
+ Success: false,
200
+ ErrorMessage: `${node.Operation} failed for ${node.Label} (${node.Entity.EntityInfo?.Name}): ${detail}`,
201
+ };
202
+ }
203
+ catch (e) {
204
+ const detail = e instanceof Error ? e.message : String(e);
205
+ LogError(`EntitySavePlan node threw for ${node.Label}: ${detail}`);
206
+ return {
207
+ Node: node,
208
+ Success: false,
209
+ ErrorMessage: `${node.Operation} threw for ${node.Label} (${node.Entity.EntityInfo?.Name}): ${detail}`,
210
+ };
211
+ }
212
+ }
213
+ //# sourceMappingURL=entitySavePlan.js.map