@memberjunction/core 5.41.0 → 5.43.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 (48) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +54 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -0
  3. package/dist/generic/BaseEntitySaveQueue.js +97 -0
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -0
  5. package/dist/generic/EntityFieldRules.d.ts +97 -0
  6. package/dist/generic/EntityFieldRules.d.ts.map +1 -0
  7. package/dist/generic/EntityFieldRules.js +201 -0
  8. package/dist/generic/EntityFieldRules.js.map +1 -0
  9. package/dist/generic/baseEntity.d.ts +24 -10
  10. package/dist/generic/baseEntity.d.ts.map +1 -1
  11. package/dist/generic/baseEntity.js +77 -61
  12. package/dist/generic/baseEntity.js.map +1 -1
  13. package/dist/generic/baseRemotableOperation.d.ts +96 -0
  14. package/dist/generic/baseRemotableOperation.d.ts.map +1 -0
  15. package/dist/generic/baseRemotableOperation.js +114 -0
  16. package/dist/generic/baseRemotableOperation.js.map +1 -0
  17. package/dist/generic/databaseProviderBase.d.ts +7 -1
  18. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  19. package/dist/generic/databaseProviderBase.js +19 -7
  20. package/dist/generic/databaseProviderBase.js.map +1 -1
  21. package/dist/generic/entityInfo.d.ts +17 -1
  22. package/dist/generic/entityInfo.d.ts.map +1 -1
  23. package/dist/generic/entityInfo.js +24 -2
  24. package/dist/generic/entityInfo.js.map +1 -1
  25. package/dist/generic/interfaces.d.ts +93 -0
  26. package/dist/generic/interfaces.d.ts.map +1 -1
  27. package/dist/generic/interfaces.js.map +1 -1
  28. package/dist/generic/providerBase.d.ts +30 -2
  29. package/dist/generic/providerBase.d.ts.map +1 -1
  30. package/dist/generic/providerBase.js +57 -3
  31. package/dist/generic/providerBase.js.map +1 -1
  32. package/dist/generic/remoteOperationDispatch.d.ts +23 -0
  33. package/dist/generic/remoteOperationDispatch.d.ts.map +1 -0
  34. package/dist/generic/remoteOperationDispatch.js +52 -0
  35. package/dist/generic/remoteOperationDispatch.js.map +1 -0
  36. package/dist/generic/telemetryManager.d.ts +55 -1
  37. package/dist/generic/telemetryManager.d.ts.map +1 -1
  38. package/dist/generic/telemetryManager.js +146 -6
  39. package/dist/generic/telemetryManager.js.map +1 -1
  40. package/dist/index.d.ts +4 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +4 -0
  43. package/dist/index.js.map +1 -1
  44. package/dist/views/runView.d.ts +36 -0
  45. package/dist/views/runView.d.ts.map +1 -1
  46. package/dist/views/runView.js.map +1 -1
  47. package/package.json +3 -3
  48. package/readme.md +137 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @fileoverview Entity-aware façade over {@link KeyedSerialTaskQueue} for the fire-and-forget save
3
+ * pattern. Captures the `Save()` calls, `IgnoreDirtyState` force-persist, and error extraction that
4
+ * the agent-step / action-log / prompt-run logging sites otherwise hand-roll. The key correctness
5
+ * property is structural: `Update`'s mutation runs *inside* the post-INSERT task, so it can never be
6
+ * reverted by the INSERT's `finalizeSave` reload (the "stuck at Running" race becomes impossible).
7
+ * @module @memberjunction/core
8
+ */
9
+ import { SerialTaskFlushResult } from '@memberjunction/global';
10
+ import { BaseEntity } from './baseEntity.js';
11
+ /**
12
+ * A per-entity-instance serial save queue. INSERT and UPDATE of the same `BaseEntity` instance are
13
+ * serialized (the UPDATE waits for the INSERT to land); different entities save concurrently. All
14
+ * saves are fire-and-forget and **never throw outward** — a failed `Save()` (returned `false` or a
15
+ * thrown error) is logged and counted; call {@link Flush} at a run/goal boundary to await them and
16
+ * surface the failure count.
17
+ */
18
+ export declare class BaseEntitySaveQueue {
19
+ private readonly queue;
20
+ private readonly onError?;
21
+ /**
22
+ * @param opts.onError Optional handler for a failed save's diagnostic message. Defaults to the
23
+ * global `LogError`. Consumers with structured logging (e.g. a category/metadata logger) pass
24
+ * their own so failures stay in their log stream.
25
+ */
26
+ constructor(opts?: {
27
+ onError?: (message: string) => void;
28
+ });
29
+ /**
30
+ * Fire-and-forget INSERT of a freshly `NewRecord()`'d entity. The entity instance is the
31
+ * serialization key, so a subsequent {@link Update} of the same instance waits for this to land.
32
+ */
33
+ Insert(entity: BaseEntity): void;
34
+ /**
35
+ * Fire-and-forget UPDATE chained after the entity's INSERT. `applyMutation` (if given) runs INSIDE
36
+ * the post-INSERT task — after `finalizeSave`'s reload — so its values always survive; the save is
37
+ * force-persisted with `IgnoreDirtyState`. Pass no mutation only when the fields are already set
38
+ * AND cannot race an in-flight INSERT.
39
+ */
40
+ Update(entity: BaseEntity, applyMutation?: (entity: BaseEntity) => void): void;
41
+ /** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
42
+ Flush(): Promise<SerialTaskFlushResult>;
43
+ /**
44
+ * Applies the optional mutation, saves, and returns success — logging and swallowing both a
45
+ * `false` result and a thrown error so a fire-and-forget save can never surface as an unhandled
46
+ * rejection (failures are counted via the queue's `isOk`).
47
+ */
48
+ private runSave;
49
+ /** Routes a failure message to the caller-supplied handler, or the global `LogError` by default. */
50
+ private logFailure;
51
+ private labelFor;
52
+ private saveError;
53
+ }
54
+ //# sourceMappingURL=BaseEntitySaveQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEntitySaveQueue.d.ts","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4B;IAErD;;;;OAIG;gBACS,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE;IAI1D;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKvC;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAOrF,wGAAwG;IACjG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI9C;;;;OAIG;YACW,OAAO;IAgBrB,oGAAoG;IACpG,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;CAGpB"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @fileoverview Entity-aware façade over {@link KeyedSerialTaskQueue} for the fire-and-forget save
3
+ * pattern. Captures the `Save()` calls, `IgnoreDirtyState` force-persist, and error extraction that
4
+ * the agent-step / action-log / prompt-run logging sites otherwise hand-roll. The key correctness
5
+ * property is structural: `Update`'s mutation runs *inside* the post-INSERT task, so it can never be
6
+ * reverted by the INSERT's `finalizeSave` reload (the "stuck at Running" race becomes impossible).
7
+ * @module @memberjunction/core
8
+ */
9
+ import { KeyedSerialTaskQueue } from '@memberjunction/global';
10
+ import { EntitySaveOptions } from './interfaces.js';
11
+ import { LogError } from './logging.js';
12
+ /**
13
+ * A per-entity-instance serial save queue. INSERT and UPDATE of the same `BaseEntity` instance are
14
+ * serialized (the UPDATE waits for the INSERT to land); different entities save concurrently. All
15
+ * saves are fire-and-forget and **never throw outward** — a failed `Save()` (returned `false` or a
16
+ * thrown error) is logged and counted; call {@link Flush} at a run/goal boundary to await them and
17
+ * surface the failure count.
18
+ */
19
+ export class BaseEntitySaveQueue {
20
+ /**
21
+ * @param opts.onError Optional handler for a failed save's diagnostic message. Defaults to the
22
+ * global `LogError`. Consumers with structured logging (e.g. a category/metadata logger) pass
23
+ * their own so failures stay in their log stream.
24
+ */
25
+ constructor(opts) {
26
+ this.queue = new KeyedSerialTaskQueue();
27
+ this.onError = opts?.onError;
28
+ }
29
+ /**
30
+ * Fire-and-forget INSERT of a freshly `NewRecord()`'d entity. The entity instance is the
31
+ * serialization key, so a subsequent {@link Update} of the same instance waits for this to land.
32
+ */
33
+ Insert(entity) {
34
+ const label = this.labelFor('Insert', entity);
35
+ void this.queue.enqueue(entity, () => this.runSave(entity, label), { isOk: (ok) => ok === true, label });
36
+ }
37
+ /**
38
+ * Fire-and-forget UPDATE chained after the entity's INSERT. `applyMutation` (if given) runs INSIDE
39
+ * the post-INSERT task — after `finalizeSave`'s reload — so its values always survive; the save is
40
+ * force-persisted with `IgnoreDirtyState`. Pass no mutation only when the fields are already set
41
+ * AND cannot race an in-flight INSERT.
42
+ */
43
+ Update(entity, applyMutation) {
44
+ const label = this.labelFor('Update', entity);
45
+ const options = new EntitySaveOptions();
46
+ options.IgnoreDirtyState = true;
47
+ void this.queue.enqueue(entity, () => this.runSave(entity, label, options, applyMutation), { isOk: (ok) => ok === true, label });
48
+ }
49
+ /** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
50
+ Flush() {
51
+ return this.queue.flush();
52
+ }
53
+ /**
54
+ * Applies the optional mutation, saves, and returns success — logging and swallowing both a
55
+ * `false` result and a thrown error so a fire-and-forget save can never surface as an unhandled
56
+ * rejection (failures are counted via the queue's `isOk`).
57
+ */
58
+ async runSave(entity, label, options, applyMutation) {
59
+ try {
60
+ if (applyMutation) {
61
+ applyMutation(entity);
62
+ }
63
+ const ok = await entity.Save(options);
64
+ if (!ok) {
65
+ this.logFailure(`${label} failed: ${this.saveError(entity)}`);
66
+ }
67
+ return ok;
68
+ }
69
+ catch (e) {
70
+ this.logFailure(`${label} threw: ${e instanceof Error ? e.message : String(e)}`);
71
+ return false;
72
+ }
73
+ }
74
+ /** Routes a failure message to the caller-supplied handler, or the global `LogError` by default. */
75
+ logFailure(message) {
76
+ if (this.onError) {
77
+ this.onError(message);
78
+ }
79
+ else {
80
+ LogError(message);
81
+ }
82
+ }
83
+ labelFor(op, entity) {
84
+ let name = 'entity';
85
+ try {
86
+ name = entity.EntityInfo?.Name ?? 'entity';
87
+ }
88
+ catch {
89
+ /* EntityInfo unavailable (e.g. a bare mock) — fall back to the generic label */
90
+ }
91
+ return `BaseEntitySaveQueue.${op}(${name})`;
92
+ }
93
+ saveError(entity) {
94
+ return entity.LatestResult?.CompleteMessage ?? 'Save returned false';
95
+ }
96
+ }
97
+ //# sourceMappingURL=BaseEntitySaveQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseEntitySaveQueue.js","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import type { EntityDocumentResolver, FieldChange, FieldRuleSet, PromptResolver } from '@memberjunction/global';
2
+ import { BaseEntity } from './baseEntity.js';
3
+ import { IMetadataProvider } from './interfaces.js';
4
+ import { UserInfo } from './securityInfo.js';
5
+ /** Result of {@link EntityFieldRules.Validate} — a pre-flight check of a rule set against entity metadata. */
6
+ export interface EntityFieldRulesValidation {
7
+ /** True when every rule targets an existing, writable field and all source field references resolve. */
8
+ Valid: boolean;
9
+ /** Human-readable problems, one per offending rule (empty when Valid). */
10
+ Errors: string[];
11
+ }
12
+ /** Options controlling a compute/apply pass. */
13
+ export interface EntityFieldRulesOptions {
14
+ /**
15
+ * Extra data the rules may reference beyond the entity's own fields (merged on top of the entity's
16
+ * field map — a `formula` can read `fields.SomeContextKey`, a `condition` can read `SomeContextKey`).
17
+ * Use for values you already hold: a data context, a query result, an agent's output payload.
18
+ */
19
+ Context?: Record<string, unknown>;
20
+ /** When true, compute the diff but DO NOT write — the returned changes are the preview. */
21
+ DryRun?: boolean;
22
+ }
23
+ /** Outcome of {@link EntityFieldRules.ApplyToEntity}. */
24
+ export interface EntityFieldRulesResult {
25
+ /** The per-field diff (old → new) for every rule — the dry-run preview AND the applied record. */
26
+ Changes: FieldChange[];
27
+ /** Names of the fields that were (or, in dry-run, would be) written. */
28
+ AppliedFields: string[];
29
+ /** True when the entity was saved (always false in dry-run, on error, or when nothing changed). */
30
+ Saved: boolean;
31
+ /** True when this was a dry-run (no write attempted). */
32
+ DryRun: boolean;
33
+ /** Per-rule evaluation errors (condition/source/transform), if any. No write happens when present. */
34
+ Errors: string[];
35
+ /** Save error detail, when a real apply failed to persist. */
36
+ SaveError?: string;
37
+ }
38
+ /**
39
+ * Metadata-aware application of a {@link FieldRuleSet} to MJ entity records. Instantiate once per bulk
40
+ * run and reuse across records so the underlying expression cache is shared. Holds an acting user for
41
+ * the built-in lookup resolver.
42
+ */
43
+ export declare class EntityFieldRules {
44
+ private readonly contextUser?;
45
+ private readonly evaluator;
46
+ /**
47
+ * @param contextUser - The acting user, used by the built-in `RunView`-backed lookup resolver
48
+ * (required server-side; client-side may omit it).
49
+ * @param promptResolver - Optional resolver for `prompt` rule sources. Core does not depend on the AI
50
+ * stack, so this is injected by a higher layer that has an `AIPromptRunner` (the bulk-update
51
+ * processor supplies one). Omit it and any `prompt` rule reports a clear error instead of running.
52
+ * @param entityDocumentResolver - Optional resolver for `entityDocument` rule sources. Core does not
53
+ * depend on the templates/AI stack, so this is injected by a higher layer that can render an Entity
54
+ * Document (the processor supplies one). Omit it and any `entityDocument` rule reports a clear error.
55
+ */
56
+ constructor(contextUser?: UserInfo, promptResolver?: PromptResolver, entityDocumentResolver?: EntityDocumentResolver);
57
+ /**
58
+ * Pre-flight validation of a rule set against an entity's metadata. Pure + synchronous — safe to run
59
+ * in a UX on every edit. Checks each rule's target field exists and is writable, and that any `field`
60
+ * source reference resolves to a real field.
61
+ *
62
+ * @param entityName - The target entity.
63
+ * @param ruleSet - The rules to validate.
64
+ * @param provider - Metadata provider to resolve the entity (defaults to the global provider). Pass
65
+ * the owning provider in multi-provider contexts.
66
+ */
67
+ static Validate(entityName: string, ruleSet: FieldRuleSet, provider?: IMetadataProvider): EntityFieldRulesValidation;
68
+ /**
69
+ * Computes the per-field changes for a loaded entity — WITHOUT mutating it — coercing each new value
70
+ * to the target field's type. This is the dry-run primitive.
71
+ *
72
+ * @param entity - A loaded entity (its current values are the "old" side of the diff).
73
+ * @param ruleSet - The rules to evaluate.
74
+ * @param context - Optional extra data the rules may reference (merged over the entity's fields).
75
+ */
76
+ ComputeForEntity(entity: BaseEntity, ruleSet: FieldRuleSet, context?: Record<string, unknown>): Promise<FieldChange[]>;
77
+ /**
78
+ * Computes and (unless `DryRun`) writes the rule results onto the entity, then `Save()`s it — so MJ
79
+ * Record Changes versioning captures the before/after. No write occurs if any rule errored or nothing
80
+ * changed.
81
+ *
82
+ * @param entity - A loaded entity to update.
83
+ * @param ruleSet - The rules to apply.
84
+ * @param options - {@link EntityFieldRulesOptions} (context + dry-run).
85
+ */
86
+ ApplyToEntity(entity: BaseEntity, ruleSet: FieldRuleSet, options?: EntityFieldRulesOptions): Promise<EntityFieldRulesResult>;
87
+ /** Coerces a computed change's NewValue to the target field's TS type (no-op for un-applied/errored). */
88
+ private coerceChange;
89
+ /** Aligns a raw value to an entity field's TS type. Leaves the value untouched when it can't convert. */
90
+ private static coerceToType;
91
+ private static equal;
92
+ /** A `RunView`-backed resolver for `lookup` rule sources (match one row, return one field). */
93
+ private buildLookupResolver;
94
+ /** Minimal SQL literal rendering for the lookup filter (escapes string quotes; numbers/bools inline). */
95
+ private static sqlLiteral;
96
+ }
97
+ //# sourceMappingURL=EntityFieldRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFieldRules.d.ts","sourceRoot":"","sources":["../../src/generic/EntityFieldRules.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAkB,cAAc,EAAkB,MAAM,wBAAwB,CAAC;AAChJ,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,8GAA8G;AAC9G,MAAM,WAAW,0BAA0B;IACvC,wGAAwG;IACxG,KAAK,EAAE,OAAO,CAAC;IACf,0EAA0E;IAC1E,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,uBAAuB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2FAA2F;IAC3F,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACnC,kGAAkG;IAClG,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,wEAAwE;IACxE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mGAAmG;IACnG,KAAK,EAAE,OAAO,CAAC;IACf,yDAAyD;IACzD,MAAM,EAAE,OAAO,CAAC;IAChB,sGAAsG;IACtG,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,gBAAgB;IAab,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAZzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAEhD;;;;;;;;;OASG;gBAC0B,WAAW,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,sBAAsB,CAAC,EAAE,sBAAsB;IAQrI;;;;;;;;;OASG;WACW,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,0BAA0B;IAwB3H;;;;;;;OAOG;IACU,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAMnI;;;;;;;;OAQG;IACU,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmBzI,yGAAyG;IACzG,OAAO,CAAC,YAAY;IAYpB,yGAAyG;IACzG,OAAO,CAAC,MAAM,CAAC,YAAY;IAyB3B,OAAO,CAAC,MAAM,CAAC,KAAK;IAMpB,+FAA+F;IAC/F,OAAO,CAAC,mBAAmB;IAmB3B,yGAAyG;IACzG,OAAO,CAAC,MAAM,CAAC,UAAU;CAM5B"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * @fileoverview Metadata-aware field rules for MemberJunction entities — the higher-order sibling of
3
+ * the pure field-rules engine in `@memberjunction/global`.
4
+ *
5
+ * The pure engine ({@link FieldRulesEvaluator} / {@link FieldTransformEngine} in `@memberjunction/global`)
6
+ * is deliberately metadata-blind: it computes a per-field diff from a plain `Record<string, unknown>`
7
+ * and an injected lookup resolver, so it can run anywhere (client, server, integration sync — wherever
8
+ * the "record" came from). {@link EntityFieldRules} layers the things that only make sense when the
9
+ * **target is a real MJ entity**, and which need the metadata layer in this package:
10
+ *
11
+ * 1. **Validation** — does each rule's target field exist on the entity, and is it writable
12
+ * (not a primary key / read-only / virtual)? Source `field` references valid? This is a pre-flight
13
+ * check a UX can run before anyone presses "Run".
14
+ * 2. **Type coercion** — a formula that yields the string `"42"` becomes the number `42` for a numeric
15
+ * column, using each field's {@link EntityFieldInfo.TSType}. The pure engine produces raw values;
16
+ * this aligns them to the entity's actual SQL types.
17
+ * 3. **Entity lookups** — a built-in `RunView`-backed resolver for `lookup` rule sources.
18
+ * 4. **Apply** — write the computed values onto a {@link BaseEntity} and `Save()`, so MJ's Record
19
+ * Changes versioning captures the before/after automatically. Dry-run returns the diff and writes nothing.
20
+ *
21
+ * The **target is always an MJ entity**; the **source** may be the entity's own fields plus an optional
22
+ * injected `context` (data context, query result, agent output, related-entity lookups) — all data you
23
+ * already hold. When the *other side* is a live external system (its own protocol, auth, match
24
+ * resolution, sync direction), that is the domain of `@memberjunction/integration`, which uses the same
25
+ * pure transform engine for its per-field transforms. One engine, two purpose-built layers.
26
+ */
27
+ import { FieldRulesEvaluator } from '@memberjunction/global';
28
+ import { EntityFieldTSType } from './entityInfo.js';
29
+ import { Metadata } from './metadata.js';
30
+ import { RunView } from '../views/runView.js';
31
+ /**
32
+ * Metadata-aware application of a {@link FieldRuleSet} to MJ entity records. Instantiate once per bulk
33
+ * run and reuse across records so the underlying expression cache is shared. Holds an acting user for
34
+ * the built-in lookup resolver.
35
+ */
36
+ export class EntityFieldRules {
37
+ /**
38
+ * @param contextUser - The acting user, used by the built-in `RunView`-backed lookup resolver
39
+ * (required server-side; client-side may omit it).
40
+ * @param promptResolver - Optional resolver for `prompt` rule sources. Core does not depend on the AI
41
+ * stack, so this is injected by a higher layer that has an `AIPromptRunner` (the bulk-update
42
+ * processor supplies one). Omit it and any `prompt` rule reports a clear error instead of running.
43
+ * @param entityDocumentResolver - Optional resolver for `entityDocument` rule sources. Core does not
44
+ * depend on the templates/AI stack, so this is injected by a higher layer that can render an Entity
45
+ * Document (the processor supplies one). Omit it and any `entityDocument` rule reports a clear error.
46
+ */
47
+ constructor(contextUser, promptResolver, entityDocumentResolver) {
48
+ this.contextUser = contextUser;
49
+ this.evaluator = new FieldRulesEvaluator({
50
+ LookupResolver: this.buildLookupResolver(),
51
+ PromptResolver: promptResolver,
52
+ EntityDocumentResolver: entityDocumentResolver,
53
+ });
54
+ }
55
+ /**
56
+ * Pre-flight validation of a rule set against an entity's metadata. Pure + synchronous — safe to run
57
+ * in a UX on every edit. Checks each rule's target field exists and is writable, and that any `field`
58
+ * source reference resolves to a real field.
59
+ *
60
+ * @param entityName - The target entity.
61
+ * @param ruleSet - The rules to validate.
62
+ * @param provider - Metadata provider to resolve the entity (defaults to the global provider). Pass
63
+ * the owning provider in multi-provider contexts.
64
+ */
65
+ static Validate(entityName, ruleSet, provider) {
66
+ const md = provider ?? Metadata.Provider;
67
+ const entity = md?.EntityByName(entityName);
68
+ if (!entity) {
69
+ return { Valid: false, Errors: [`entity '${entityName}' not found in metadata`] };
70
+ }
71
+ const field = (name) => entity.Fields.find((f) => f.Name.trim().toLowerCase() === name.trim().toLowerCase());
72
+ const errors = [];
73
+ ruleSet.Rules.forEach((rule, i) => {
74
+ const target = field(rule.TargetField);
75
+ if (!target) {
76
+ errors.push(`rule ${i + 1}: target field '${rule.TargetField}' does not exist on '${entityName}'`);
77
+ }
78
+ else if (target.ReadOnly) {
79
+ errors.push(`rule ${i + 1}: target field '${rule.TargetField}' is read-only and cannot be set`);
80
+ }
81
+ if (rule.Source.Kind === 'field' && !field(rule.Source.Field)) {
82
+ errors.push(`rule ${i + 1}: source field '${rule.Source.Field}' does not exist on '${entityName}'`);
83
+ }
84
+ });
85
+ return { Valid: errors.length === 0, Errors: errors };
86
+ }
87
+ /**
88
+ * Computes the per-field changes for a loaded entity — WITHOUT mutating it — coercing each new value
89
+ * to the target field's type. This is the dry-run primitive.
90
+ *
91
+ * @param entity - A loaded entity (its current values are the "old" side of the diff).
92
+ * @param ruleSet - The rules to evaluate.
93
+ * @param context - Optional extra data the rules may reference (merged over the entity's fields).
94
+ */
95
+ async ComputeForEntity(entity, ruleSet, context) {
96
+ const record = context ? { ...entity.GetAll(), ...context } : entity.GetAll();
97
+ const changes = await this.evaluator.ComputeChanges(record, ruleSet);
98
+ return changes.map((change) => this.coerceChange(change, entity));
99
+ }
100
+ /**
101
+ * Computes and (unless `DryRun`) writes the rule results onto the entity, then `Save()`s it — so MJ
102
+ * Record Changes versioning captures the before/after. No write occurs if any rule errored or nothing
103
+ * changed.
104
+ *
105
+ * @param entity - A loaded entity to update.
106
+ * @param ruleSet - The rules to apply.
107
+ * @param options - {@link EntityFieldRulesOptions} (context + dry-run).
108
+ */
109
+ async ApplyToEntity(entity, ruleSet, options) {
110
+ const changes = await this.ComputeForEntity(entity, ruleSet, options?.Context);
111
+ const errors = changes.filter((c) => c.Error).map((c) => `${c.Field}: ${c.Error}`);
112
+ const toApply = changes.filter((c) => c.Applied && c.Changed && !c.Error);
113
+ const base = {
114
+ Changes: changes, AppliedFields: toApply.map((c) => c.Field), Saved: false, DryRun: !!options?.DryRun, Errors: errors,
115
+ };
116
+ if (options?.DryRun || errors.length > 0 || toApply.length === 0) {
117
+ return base;
118
+ }
119
+ for (const change of toApply) {
120
+ // Dynamic, rule-driven field names — the legitimate use of Set() (no compile-time property).
121
+ entity.Set(change.Field, change.NewValue);
122
+ }
123
+ const saved = await entity.Save();
124
+ return { ...base, Saved: saved, SaveError: saved ? undefined : (entity.LatestResult?.CompleteMessage ?? 'save failed') };
125
+ }
126
+ /** Coerces a computed change's NewValue to the target field's TS type (no-op for un-applied/errored). */
127
+ coerceChange(change, entity) {
128
+ if (!change.Applied || change.Error || change.NewValue == null) {
129
+ return change;
130
+ }
131
+ const field = entity.EntityInfo.Fields.find((f) => f.Name.trim().toLowerCase() === change.Field.trim().toLowerCase());
132
+ if (!field) {
133
+ return change;
134
+ }
135
+ const coerced = EntityFieldRules.coerceToType(change.NewValue, field.TSType);
136
+ return coerced === change.NewValue ? change : { ...change, NewValue: coerced, Changed: !EntityFieldRules.equal(change.OldValue, coerced) };
137
+ }
138
+ /** Aligns a raw value to an entity field's TS type. Leaves the value untouched when it can't convert. */
139
+ static coerceToType(value, tsType) {
140
+ switch (tsType) {
141
+ case EntityFieldTSType.Number: {
142
+ const n = Number(value);
143
+ return Number.isFinite(n) ? n : value;
144
+ }
145
+ case EntityFieldTSType.Boolean: {
146
+ if (typeof value === 'boolean')
147
+ return value;
148
+ if (typeof value === 'number')
149
+ return value !== 0;
150
+ const s = String(value).toLowerCase().trim();
151
+ if (s === 'true' || s === '1' || s === 'yes')
152
+ return true;
153
+ if (s === 'false' || s === '0' || s === 'no')
154
+ return false;
155
+ return value;
156
+ }
157
+ case EntityFieldTSType.Date: {
158
+ const d = value instanceof Date ? value : new Date(String(value));
159
+ return isNaN(d.getTime()) ? value : d;
160
+ }
161
+ case EntityFieldTSType.String:
162
+ return typeof value === 'string' ? value : String(value);
163
+ default:
164
+ return value;
165
+ }
166
+ }
167
+ static equal(a, b) {
168
+ if (a === b)
169
+ return true;
170
+ if (a instanceof Date && b instanceof Date)
171
+ return a.getTime() === b.getTime();
172
+ return a == null && b == null;
173
+ }
174
+ /** A `RunView`-backed resolver for `lookup` rule sources (match one row, return one field). */
175
+ buildLookupResolver() {
176
+ return async (lookup) => {
177
+ const result = await new RunView().RunView({
178
+ EntityName: lookup.Entity,
179
+ ExtraFilter: `[${lookup.MatchField}] = ${EntityFieldRules.sqlLiteral(lookup.MatchValue)}`,
180
+ Fields: [lookup.ReturnField],
181
+ MaxRows: 1,
182
+ ResultType: 'simple',
183
+ }, this.contextUser);
184
+ if (!result.Success || !result.Results?.length) {
185
+ return undefined;
186
+ }
187
+ return result.Results[0][lookup.ReturnField];
188
+ };
189
+ }
190
+ /** Minimal SQL literal rendering for the lookup filter (escapes string quotes; numbers/bools inline). */
191
+ static sqlLiteral(value) {
192
+ if (value == null)
193
+ return 'NULL';
194
+ if (typeof value === 'number' || typeof value === 'bigint')
195
+ return String(value);
196
+ if (typeof value === 'boolean')
197
+ return value ? '1' : '0';
198
+ return `'${String(value).replace(/'/g, "''")}'`;
199
+ }
200
+ }
201
+ //# sourceMappingURL=EntityFieldRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityFieldRules.js","sourceRoot":"","sources":["../../src/generic/EntityFieldRules.ts"],"names":[],"mappings":"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"}
@@ -52,12 +52,6 @@ export declare class EntityField {
52
52
  max: number;
53
53
  };
54
54
  };
55
- /**
56
- * Indicates whether the active status of the field should be asserted when accessing or setting the value.
57
- * Starts off as false and turns to true after contructor is done doing all its setup work. Internally, this can be
58
- * temporarily turned off to allow for legacy fields to be created without asserting the active status.
59
- */
60
- private _assertActiveStatusRequired;
61
55
  private _entityFieldInfo;
62
56
  private _OldValue;
63
57
  private _Value;
@@ -74,6 +68,12 @@ export declare class EntityField {
74
68
  get IsUnique(): boolean;
75
69
  /**
76
70
  * Returns the current value of the field.
71
+ *
72
+ * NOTE: This is a framework-internal accessor. It deliberately does NOT assert the field's
73
+ * active status (deprecated/disabled) — that assertion lives one layer up, at
74
+ * BaseEntity.Get/Set/SetMany, which are the entry points genuine code (and the generated
75
+ * strongly-typed accessors) flow through. Internal machinery (Dirty checks, validation,
76
+ * serialization, hydration, SQL build) reads this directly and must stay assertion-free.
77
77
  */
78
78
  get Value(): any;
79
79
  get ReadOnly(): boolean;
@@ -132,12 +132,15 @@ export declare class EntityField {
132
132
  */
133
133
  ResetOldValue(): void;
134
134
  /**
135
- * This property temporarily will set the active status assertions for this particular instance of EntityField.
136
- * It is temporary because other behaviors in the class instance could reset this value for example calling
137
- * ResetOldValue() or another caller setting this property to another value.
135
+ * @deprecated No-op as of the active-status relocation. Active-status (deprecated/disabled)
136
+ * assertions are now enforced at BaseEntity.Get/Set/SetMany the entry points genuine code uses
137
+ * rather than on this low-level EntityField.Value accessor. There is therefore nothing to toggle
138
+ * at the field level. The getter always returns `false` and the setter is ignored; both remain
139
+ * only so existing callers that wrapped value reads in a save/disable/restore pattern (e.g. the
140
+ * provider SQL-build paths) continue to compile and behave correctly.
138
141
  */
139
142
  get ActiveStatusAssertions(): boolean;
140
- set ActiveStatusAssertions(value: boolean);
143
+ set ActiveStatusAssertions(_value: boolean);
141
144
  /**
142
145
  * Returns the old value of the field. This is the value that was set when the field was last loaded from the database.
143
146
  */
@@ -896,6 +899,17 @@ export declare abstract class BaseEntity<T = unknown> {
896
899
  * @param Value
897
900
  */
898
901
  Set(FieldName: string, Value: any): void;
902
+ /**
903
+ * Single choke point for field active-status (deprecated/disabled) enforcement. Called by
904
+ * Get()/Set()/SetMany() — the entry points genuine code and the generated strongly-typed
905
+ * accessors flow through. Emits a batched deprecation warning for `Deprecated` fields and throws
906
+ * for `Disabled` fields. Framework-internal value machinery (Dirty, Validate, GetAll, hydration,
907
+ * SQL build) reads EntityField.Value directly and is therefore exempt by construction.
908
+ *
909
+ * Callers should gate this behind `EntityInfo.HasInactiveFields` so the common all-Active entity
910
+ * skips the field lookup entirely.
911
+ */
912
+ private AssertFieldActiveStatus;
899
913
  /**
900
914
  * Internal helper that sets a field value directly on THIS entity's own Fields array
901
915
  * without IS-A routing. Used by Set() for own-fields and for mirroring parent field values.
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}