@memberjunction/core 6.2.0-edge.2 → 6.2.0-edge.3

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 (72) hide show
  1. package/dist/generic/InMemoryLocalStorageProvider.d.ts +5 -0
  2. package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
  3. package/dist/generic/InMemoryLocalStorageProvider.js +5 -0
  4. package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +12 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts +19 -0
  8. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts.map +1 -1
  9. package/dist/generic/baseEngine.d.ts +21 -1
  10. package/dist/generic/baseEngine.d.ts.map +1 -1
  11. package/dist/generic/baseEngine.js +15 -1
  12. package/dist/generic/baseEngine.js.map +1 -1
  13. package/dist/generic/baseEntity.d.ts +91 -7
  14. package/dist/generic/baseEntity.d.ts.map +1 -1
  15. package/dist/generic/baseEntity.js +161 -16
  16. package/dist/generic/baseEntity.js.map +1 -1
  17. package/dist/generic/databaseProviderBase.d.ts +34 -0
  18. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  19. package/dist/generic/databaseProviderBase.js +88 -20
  20. package/dist/generic/databaseProviderBase.js.map +1 -1
  21. package/dist/generic/entityConfiguration.d.ts +20 -0
  22. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  23. package/dist/generic/entityConfiguration.js +34 -0
  24. package/dist/generic/entityConfiguration.js.map +1 -1
  25. package/dist/generic/entityInfo.d.ts +32 -1
  26. package/dist/generic/entityInfo.d.ts.map +1 -1
  27. package/dist/generic/entityInfo.js +44 -2
  28. package/dist/generic/entityInfo.js.map +1 -1
  29. package/dist/generic/entityRecordNameCache.d.ts +48 -0
  30. package/dist/generic/entityRecordNameCache.d.ts.map +1 -0
  31. package/dist/generic/entityRecordNameCache.js +92 -0
  32. package/dist/generic/entityRecordNameCache.js.map +1 -0
  33. package/dist/generic/interfaces.d.ts +33 -6
  34. package/dist/generic/interfaces.d.ts.map +1 -1
  35. package/dist/generic/interfaces.js.map +1 -1
  36. package/dist/generic/jsonFieldBinding.d.ts +196 -0
  37. package/dist/generic/jsonFieldBinding.d.ts.map +1 -0
  38. package/dist/generic/jsonFieldBinding.js +508 -0
  39. package/dist/generic/jsonFieldBinding.js.map +1 -0
  40. package/dist/generic/localCacheManager.d.ts +11 -0
  41. package/dist/generic/localCacheManager.d.ts.map +1 -1
  42. package/dist/generic/localCacheManager.js +9 -0
  43. package/dist/generic/localCacheManager.js.map +1 -1
  44. package/dist/generic/providerBase.d.ts +68 -32
  45. package/dist/generic/providerBase.d.ts.map +1 -1
  46. package/dist/generic/providerBase.js +150 -120
  47. package/dist/generic/providerBase.js.map +1 -1
  48. package/dist/generic/runQuery.d.ts +18 -1
  49. package/dist/generic/runQuery.d.ts.map +1 -1
  50. package/dist/generic/runQuery.js.map +1 -1
  51. package/dist/generic/runQuerySQLFilterImplementations.d.ts +7 -1
  52. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  53. package/dist/generic/runQuerySQLFilterImplementations.js +65 -140
  54. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  55. package/dist/generic/telemetryManager.d.ts +11 -0
  56. package/dist/generic/telemetryManager.d.ts.map +1 -1
  57. package/dist/generic/telemetryManager.js +40 -0
  58. package/dist/generic/telemetryManager.js.map +1 -1
  59. package/dist/generic/util.d.ts +6 -0
  60. package/dist/generic/util.d.ts.map +1 -1
  61. package/dist/generic/util.js +20 -0
  62. package/dist/generic/util.js.map +1 -1
  63. package/dist/index.d.ts +2 -0
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +2 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/views/runView.d.ts +24 -0
  68. package/dist/views/runView.d.ts.map +1 -1
  69. package/dist/views/runView.js +4 -0
  70. package/dist/views/runView.js.map +1 -1
  71. package/package.json +3 -3
  72. package/readme.md +29 -2
@@ -7,6 +7,7 @@ import { RelatedRecordCollection, RelatedRecordCollectionOptions } from './relat
7
7
  import { EntityCompanion, EntityCompanionDeserializeMode, EntityCompanionPayload } from './entityCompanion.js';
8
8
  import { EmbeddedRecord, type EmbeddedRecordOptions } from './embeddedRecord.js';
9
9
  import { EntitySavePlan } from './entitySavePlan.js';
10
+ import { JSONFieldRuleSet, JSONFieldSeverity } from './jsonFieldBinding.js';
10
11
  import { Subscription } from 'rxjs';
11
12
  import { z } from 'zod';
12
13
  /**
@@ -195,6 +196,14 @@ export declare class EntityField {
195
196
  * @returns
196
197
  */
197
198
  Validate(): ValidationResult;
199
+ /**
200
+ * Validates a non-null binary field value. A binary field (`varbinary` / `bytea`) holds a base64
201
+ * string in a `BaseEntity`, and the database providers decode it when the record is saved, so a
202
+ * value that is not base64 — a data URI, raw text, a byte array — would fail the save with a
203
+ * database error that names no field. Catching it here reports it against the field instead.
204
+ * A fixed-size column (`varbinary(n)` / `binary(n)`) also has its decoded byte length checked.
205
+ */
206
+ private validateBinaryValue;
198
207
  constructor(fieldInfo: EntityFieldInfo, Value?: any);
199
208
  /**
200
209
  * This method will set the internal Old Value which is used to track dirty state, to the current value of the field. This effectively resets the dirty state of the field to false. Use this method sparingly.
@@ -2156,7 +2165,8 @@ export declare abstract class BaseEntity<T = unknown> {
2156
2165
  */
2157
2166
  protected get ActiveUser(): UserInfo;
2158
2167
  /**
2159
- * Caches the entity record name in the provider's EntityRecordNameCache for faster lookups.
2168
+ * Offers the record's name to the provider for later synchronous lookups. Only a provider that
2169
+ * serves a single user keeps it; see {@link IMetadataProvider.GetCachedRecordName}.
2160
2170
  * Called automatically after successful Load(), LoadFromData(), and Save() operations.
2161
2171
  */
2162
2172
  private cacheRecordName;
@@ -2348,6 +2358,63 @@ export declare abstract class BaseEntity<T = unknown> {
2348
2358
  * @param data - The plain object passed to {@link LoadFromData}.
2349
2359
  */
2350
2360
  private deserializeCompanionsFromData;
2361
+ /**
2362
+ * Per-field live bindings for JSONType fields, created lazily by {@link GetJSONFieldObject}.
2363
+ * Undefined until a generated `<Field>Object` accessor is first used, so entities without
2364
+ * JSONType fields pay nothing.
2365
+ */
2366
+ private _jsonFieldBindings;
2367
+ private getJSONFieldBinding;
2368
+ /**
2369
+ * Backs the generated typed `<Field>Object` accessor of a JSONType field. Returns a live view of
2370
+ * the parsed JSON: assigning to it, or mutating it in place at any depth (`obj.a.b = 1`,
2371
+ * `arr.push(x)`, `delete obj.k`), updates the raw field through {@link Set}, so the field becomes
2372
+ * dirty and `Save()` persists the edit. Reading after the raw value changed by any other route
2373
+ * (`Load`, `LoadFromData`, `Set`, revert) re-parses; references obtained earlier are then
2374
+ * detached. Use `ToPlainJSON()` to clone/`structuredClone`/`postMessage` a value from here.
2375
+ *
2376
+ * @param fieldName - the JSON text field (its `EntityField.Name`)
2377
+ * @returns the live object/array, a bare primitive for a primitive JSON root, or `null`
2378
+ * @throws Error when the field holds text that is not valid JSON
2379
+ */
2380
+ protected GetJSONFieldObject<TObject>(fieldName: string): TObject | null;
2381
+ /**
2382
+ * Backs the generated setter of a `<Field>Object` accessor. `null`/`undefined` clears the field.
2383
+ * A plain object/array is adopted, so later edits through the caller's own reference are still
2384
+ * picked up before validation and save (see {@link FlushJSONFieldObjects}).
2385
+ */
2386
+ protected SetJSONFieldObject<TObject>(fieldName: string, value: TObject | null | undefined): void;
2387
+ /**
2388
+ * Safety net for JSONType accessors: re-serializes every materialized JSON object and writes any
2389
+ * difference to its raw field. Catches an object that was assigned into the tree and then
2390
+ * mutated through the caller's original (un-proxied) reference. Called automatically before
2391
+ * `Validate()` and at the start of `Save()`; cheap because only fields whose object was actually
2392
+ * read are visited.
2393
+ */
2394
+ protected FlushJSONFieldObjects(): void;
2395
+ /**
2396
+ * Drops every materialized JSON object so the next accessor read re-parses from the raw field and
2397
+ * all earlier references detach. Called wherever the record's data is replaced wholesale
2398
+ * (`Revert`, `NewRecord`, `Hydrate`, `From`, a load) — NOT on the save round trip, so a reference
2399
+ * held across `Save()` stays live.
2400
+ */
2401
+ private discardJSONFieldObjects;
2402
+ /**
2403
+ * Validates one JSONType field against its structural schema and `@CHECK` rules, appending any
2404
+ * problems to `result`. Called from generated `Validate()` overrides for JSONTypes opted in with
2405
+ * `@mjValidate`; the field is checked only when it is dirty or the record is new, so opting a type
2406
+ * in never blocks unrelated edits to existing rows.
2407
+ *
2408
+ * Error `Source`s are dotted/indexed paths (`Configuration.Items[2].EndHour`). `severity` is
2409
+ * `'Warning'` for `@mjValidate warn`: such errors are reported but do not fail the save.
2410
+ *
2411
+ * @param fieldName - the JSON text field
2412
+ * @param schema - structural Zod schema for the whole field value (arrays included)
2413
+ * @param rules - `@CHECK` rules and the type graph to find their scope, or null
2414
+ * @param severity - severity the results are reported at
2415
+ * @param result - the result object to add errors to
2416
+ */
2417
+ protected ValidateJSONField(fieldName: string, schema: z.ZodTypeAny, rules: JSONFieldRuleSet | null, severity: JSONFieldSeverity, result: ValidationResult): void;
2351
2418
  /**
2352
2419
  * This method is used automatically within Save() and is used to determine if the state of the object is valid relative to the validation rules that are defined in metadata. In addition, sub-classes can
2353
2420
  * override or wrap this base class method to add other logic for validation.
@@ -2536,44 +2603,61 @@ export declare abstract class BaseEntity<T = unknown> {
2536
2603
  /**
2537
2604
  * Generates vector embeddings for multiple text fields by their field names.
2538
2605
  * Processes fields in parallel for better performance.
2539
- * @param fields - Array of field configurations specifying source text field, target vector field, and model ID field names
2606
+ * @param fields - Array of field configurations specifying source text field, target vector field, model ID field
2607
+ * and, optionally, the binary companion of the vector field (see {@link GenerateEmbedding})
2540
2608
  * @returns Promise that resolves to true if all embeddings were generated successfully, false if any failed
2541
2609
  */
2542
2610
  protected GenerateEmbeddingsByFieldName(fields: Array<{
2543
2611
  fieldName: string;
2544
2612
  vectorFieldName: string;
2545
2613
  modelFieldName: string;
2614
+ binaryVectorFieldName?: string;
2546
2615
  }>): Promise<boolean>;
2547
2616
  /**
2548
2617
  * Generates a vector embedding for a single text field identified by field name.
2549
2618
  * Retrieves the field objects and delegates to GenerateEmbedding method.
2550
2619
  * @param fieldName - Name of the text field to generate embedding from
2551
- * @param vectorFieldName - Name of the field to store the vector embedding
2620
+ * @param vectorFieldName - Name of the field to store the vector embedding (JSON)
2552
2621
  * @param modelFieldName - Name of the field to store the model ID used for embedding
2622
+ * @param binaryVectorFieldName - Optional name of the binary (varbinary/bytea) companion of `vectorFieldName`,
2623
+ * which receives the same vector as little-endian float32 bytes. Omit for entities without one.
2553
2624
  * @returns Promise that resolves to true if embedding was generated successfully, false otherwise
2625
+ * @throws Error when a named field does not exist on the entity
2554
2626
  */
2555
- protected GenerateEmbeddingByFieldName(fieldName: string, vectorFieldName: string, modelFieldName: string): Promise<boolean>;
2627
+ protected GenerateEmbeddingByFieldName(fieldName: string, vectorFieldName: string, modelFieldName: string, binaryVectorFieldName?: string): Promise<boolean>;
2556
2628
  /**
2557
2629
  * Generates vector embeddings for multiple text fields using EntityField objects.
2558
2630
  * Processes fields in parallel for better performance.
2559
- * @param fields - Array of field configurations with EntityField objects for source, vector, and model fields
2631
+ * @param fields - Array of field configurations with EntityField objects for source, vector, model and
2632
+ * (optionally) binary vector fields
2560
2633
  * @returns Promise that resolves to true if all embeddings were generated successfully, false if any failed
2561
2634
  */
2562
2635
  protected GenerateEmbeddings(fields: Array<{
2563
2636
  field: EntityField;
2564
2637
  vectorField: EntityField;
2565
2638
  modelField: EntityField;
2639
+ binaryVectorField?: EntityField;
2566
2640
  }>): Promise<boolean>;
2567
2641
  /**
2568
2642
  * Generates a vector embedding for a single text field using AI engine.
2569
2643
  * Only generates embeddings for new records or when the source field has changed.
2570
- * Stores both the vector embedding and the model ID used to generate it.
2644
+ * Stores the vector embedding, the model ID used to generate it and, when the entity has one, the
2645
+ * vector's binary companion.
2646
+ *
2647
+ * **Two persisted forms.** The JSON field holds the vector as a JSON number array. The optional
2648
+ * binary field (`varbinary(MAX)` / `bytea`) holds the same vector as little-endian float32 bytes —
2649
+ * set here as a base64 string via `Float32VectorToBase64`, which is how every binary field travels
2650
+ * in MJ. Readers prefer the binary form because decoding it is a copy, not a JSON parse (see
2651
+ * `ReadStoredVector` in `@memberjunction/ai-vectors-memory`). Both are written and cleared together
2652
+ * so they never disagree.
2653
+ *
2571
2654
  * @param field - The EntityField containing the text to embed
2572
2655
  * @param vectorField - The EntityField to store the generated vector embedding (as JSON string)
2573
2656
  * @param modelField - The EntityField to store the ID of the AI model used
2657
+ * @param binaryVectorField - Optional EntityField to store the same vector as base64-encoded float32 bytes
2574
2658
  * @returns Promise that resolves to true if embedding was generated successfully, false otherwise
2575
2659
  */
2576
- protected GenerateEmbedding(field: EntityField, vectorField: EntityField, modelField: EntityField): Promise<boolean>;
2660
+ protected GenerateEmbedding(field: EntityField, vectorField: EntityField, modelField: EntityField, binaryVectorField?: EntityField): Promise<boolean>;
2577
2661
  /**
2578
2662
  * In the BaseEntity class this method is not implemented. This method shoudl be implemented only in
2579
2663
  * **server-side** sub-classes only by calling AIEngine or other methods to generate embeddings for a given
@@ -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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"}
@@ -8,7 +8,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  var EntityField_1;
11
- import { DeserializeValidationErrors, IsMemberOverridden, MJEventType, MJGlobal, NormalizeUUID, OptionalKeyedSpecialization, uuidv4, UUIDsEqual, WarningManager, ComputeContentHashAsync } from '@memberjunction/global';
11
+ import { Base64DecodedByteLength, DeserializeValidationErrors, Float32VectorToBase64, IsValidBase64, IsMemberOverridden, MJEventType, MJGlobal, NormalizeUUID, OptionalKeyedSpecialization, uuidv4, UUIDsEqual, WarningManager, ComputeContentHashAsync } from '@memberjunction/global';
12
12
  import { GetDataHooks } from './dataHooks.js';
13
13
  import { EntityFieldInfo, EntityInfo, EntityFieldTSType, EntityPermissionType, FieldSecurityError, RecordChange, ValidationErrorInfo, ValidationResult } from './entityInfo.js';
14
14
  import { EntitySubtypeResolver } from './entitySubtypeResolver.js';
@@ -23,6 +23,7 @@ import { RelatedRecordCollection } from './relatedRecordCollection.js';
23
23
  import { COMPANION_PAYLOAD_KEY } from './entityCompanion.js';
24
24
  import { EmbeddedRecord } from './embeddedRecord.js';
25
25
  import { EntitySavePlan, ExecuteEntitySavePlan } from './entitySavePlan.js';
26
+ import { JSONFieldBinding, ValidateJSONFieldValue } from './jsonFieldBinding.js';
26
27
  import { BaseRemotableOperation } from './baseRemotableOperation.js';
27
28
  import { SAVE_ENTITY_GRAPH_OPERATION_KEY, } from './saveEntityGraphOperation.js';
28
29
  import { finalize, firstValueFrom, from, of, shareReplay, Subject, switchMap } from 'rxjs';
@@ -379,6 +380,9 @@ let EntityField = class EntityField {
379
380
  result.Success = false;
380
381
  result.Errors.push(new ValidationErrorInfo(ef.Name, `${ef.DisplayNameOrName} cannot be longer than ${ef.MaxLength} characters. Current value is ${this.Value.length} characters`, this.Value));
381
382
  }
383
+ if (ef.IsBinaryFieldType && this.Value !== null && this.Value !== undefined) {
384
+ this.validateBinaryValue(ef, result);
385
+ }
382
386
  if (ef.TSType == EntityFieldTSType.Date && (this.Value !== null && this.Value !== undefined && !(this.Value instanceof Date))) {
383
387
  // invalid non-null date, but that is okay if we are a new record and we have a default value
384
388
  result.Success = false;
@@ -441,6 +445,26 @@ let EntityField = class EntityField {
441
445
  }
442
446
  return result;
443
447
  }
448
+ /**
449
+ * Validates a non-null binary field value. A binary field (`varbinary` / `bytea`) holds a base64
450
+ * string in a `BaseEntity`, and the database providers decode it when the record is saved, so a
451
+ * value that is not base64 — a data URI, raw text, a byte array — would fail the save with a
452
+ * database error that names no field. Catching it here reports it against the field instead.
453
+ * A fixed-size column (`varbinary(n)` / `binary(n)`) also has its decoded byte length checked.
454
+ */
455
+ validateBinaryValue(ef, result) {
456
+ const value = this.Value;
457
+ if (typeof value !== 'string' || !IsValidBase64(value)) {
458
+ result.Success = false;
459
+ result.Errors.push(new ValidationErrorInfo(ef.Name, `${ef.DisplayNameOrName} is a binary field; its value must be a base64-encoded string`, this.Value));
460
+ return;
461
+ }
462
+ const byteLength = Base64DecodedByteLength(value);
463
+ if (ef.MaxByteLength > 0 && byteLength > ef.MaxByteLength) {
464
+ result.Success = false;
465
+ result.Errors.push(new ValidationErrorInfo(ef.Name, `${ef.DisplayNameOrName} cannot be longer than ${ef.MaxByteLength} bytes. Current value is ${byteLength} bytes`, this.Value));
466
+ }
467
+ }
444
468
  constructor(fieldInfo, Value) {
445
469
  this._neverSet = true;
446
470
  this._notLoaded = false;
@@ -2117,6 +2141,7 @@ export class BaseEntity {
2117
2141
  // Reset this entity to pristine state: clears _compositeKey, _recordLoaded,
2118
2142
  // _everSaved, and recreates all EntityField instances with _NeverSet = true
2119
2143
  this.init();
2144
+ this.discardJSONFieldObjects();
2120
2145
  // Recursively hydrate parent entities first (deepest ancestor resets first).
2121
2146
  // After init(), parent fields have fresh _NeverSet=true, so SetMany can set PKs.
2122
2147
  if (this._parentEntity) {
@@ -3999,6 +4024,7 @@ export class BaseEntity {
3999
4024
  */
4000
4025
  NewRecord(newValues) {
4001
4026
  this.init();
4027
+ this.discardJSONFieldObjects();
4002
4028
  this._everSaved = false; // Reset save state for new record
4003
4029
  // Clear child entity state — new records don't have children yet
4004
4030
  this._childEntity = null;
@@ -4204,6 +4230,9 @@ export class BaseEntity {
4204
4230
  * @returns Promise<boolean>
4205
4231
  */
4206
4232
  async Save(options) {
4233
+ // JSONType safety net: pick up in-place edits made through un-proxied references BEFORE any
4234
+ // dirty evaluation, plan building or SQL construction below reads the raw field values.
4235
+ this.FlushJSONFieldObjects();
4207
4236
  // IS-A parent chain saves bypass the debounce to prevent deadlock:
4208
4237
  // Root.Save() → delegates to Leaf.Save() → Leaf saves parent chain →
4209
4238
  // calls Root.Save(IsParentEntitySave=true). Without this bypass, the second
@@ -4273,6 +4302,7 @@ export class BaseEntity {
4273
4302
  const enclosing = this._unitOfWork;
4274
4303
  let part = null;
4275
4304
  try {
4305
+ this.FlushJSONFieldObjects(); // idempotent; covers graph-node saves that bypass Save()
4276
4306
  const initialDirtyState = this.Dirty; // save this because parent entity save cycle, if any, will clear their dirty flags
4277
4307
  const _options = options ? options : new EntitySaveOptions();
4278
4308
  // IS-A leaf delegation: if this entity has a child entity and we are NOT
@@ -4610,7 +4640,8 @@ export class BaseEntity {
4610
4640
  return this.ContextCurrentUser || this.ProviderToUse?.CurrentUser || Metadata.Provider.CurrentUser; // global-provider-ok: final fallback when no provider is bound
4611
4641
  }
4612
4642
  /**
4613
- * Caches the entity record name in the provider's EntityRecordNameCache for faster lookups.
4643
+ * Offers the record's name to the provider for later synchronous lookups. Only a provider that
4644
+ * serves a single user keeps it; see {@link IMetadataProvider.GetCachedRecordName}.
4614
4645
  * Called automatically after successful Load(), LoadFromData(), and Save() operations.
4615
4646
  */
4616
4647
  cacheRecordName() {
@@ -4869,6 +4900,7 @@ export class BaseEntity {
4869
4900
  * @returns
4870
4901
  */
4871
4902
  Revert() {
4903
+ this.discardJSONFieldObjects(); // unconditional: an un-flushed edit through a stale reference must go too
4872
4904
  if (this.Dirty) {
4873
4905
  for (let field of this.Fields) {
4874
4906
  field.Value = field.OldValue;
@@ -4905,6 +4937,7 @@ export class BaseEntity {
4905
4937
  this.init(); // wipe out current data if we're loading on top of existing record
4906
4938
  }
4907
4939
  const data = await this.readRowForLoad(CompositeKey, EntityRelationshipsToLoad);
4940
+ this.discardJSONFieldObjects(); // a reload replaces the record's data
4908
4941
  if (!data) {
4909
4942
  // A subtype-hint probe asks whether this row exists, so "no" is an answer, not an error
4910
4943
  if (!this._subtypeHintProbe) {
@@ -5061,6 +5094,7 @@ export class BaseEntity {
5061
5094
  * @returns Promise<boolean> - Returns true if the load was successful
5062
5095
  */
5063
5096
  async LoadFromData(data, _replaceOldValues = false) {
5097
+ this.discardJSONFieldObjects(); // the record's data is being replaced: parsed JSON objects are stale
5064
5098
  // IS-A: hydrate parent chain from data before populating self.
5065
5099
  // Hydrate resets each parent via init() (giving fresh _NeverSet=true on PK fields)
5066
5100
  // then populates from data, ensuring correct PK and saved state on parents.
@@ -5164,6 +5198,90 @@ export class BaseEntity {
5164
5198
  await this.DeserializeCompanions(payloads);
5165
5199
  }
5166
5200
  }
5201
+ getJSONFieldBinding(fieldName) {
5202
+ this._jsonFieldBindings ??= new Map();
5203
+ let binding = this._jsonFieldBindings.get(fieldName);
5204
+ if (!binding) {
5205
+ binding = new JSONFieldBinding(fieldName, () => this.Get(fieldName), (raw) => this.Set(fieldName, raw));
5206
+ this._jsonFieldBindings.set(fieldName, binding);
5207
+ }
5208
+ return binding;
5209
+ }
5210
+ /**
5211
+ * Backs the generated typed `<Field>Object` accessor of a JSONType field. Returns a live view of
5212
+ * the parsed JSON: assigning to it, or mutating it in place at any depth (`obj.a.b = 1`,
5213
+ * `arr.push(x)`, `delete obj.k`), updates the raw field through {@link Set}, so the field becomes
5214
+ * dirty and `Save()` persists the edit. Reading after the raw value changed by any other route
5215
+ * (`Load`, `LoadFromData`, `Set`, revert) re-parses; references obtained earlier are then
5216
+ * detached. Use `ToPlainJSON()` to clone/`structuredClone`/`postMessage` a value from here.
5217
+ *
5218
+ * @param fieldName - the JSON text field (its `EntityField.Name`)
5219
+ * @returns the live object/array, a bare primitive for a primitive JSON root, or `null`
5220
+ * @throws Error when the field holds text that is not valid JSON
5221
+ */
5222
+ GetJSONFieldObject(fieldName) {
5223
+ return this.getJSONFieldBinding(fieldName).GetValue();
5224
+ }
5225
+ /**
5226
+ * Backs the generated setter of a `<Field>Object` accessor. `null`/`undefined` clears the field.
5227
+ * A plain object/array is adopted, so later edits through the caller's own reference are still
5228
+ * picked up before validation and save (see {@link FlushJSONFieldObjects}).
5229
+ */
5230
+ SetJSONFieldObject(fieldName, value) {
5231
+ this.getJSONFieldBinding(fieldName).SetValue(value);
5232
+ }
5233
+ /**
5234
+ * Safety net for JSONType accessors: re-serializes every materialized JSON object and writes any
5235
+ * difference to its raw field. Catches an object that was assigned into the tree and then
5236
+ * mutated through the caller's original (un-proxied) reference. Called automatically before
5237
+ * `Validate()` and at the start of `Save()`; cheap because only fields whose object was actually
5238
+ * read are visited.
5239
+ */
5240
+ FlushJSONFieldObjects() {
5241
+ if (!this._jsonFieldBindings) {
5242
+ return;
5243
+ }
5244
+ for (const binding of this._jsonFieldBindings.values()) {
5245
+ binding.Flush();
5246
+ }
5247
+ }
5248
+ /**
5249
+ * Drops every materialized JSON object so the next accessor read re-parses from the raw field and
5250
+ * all earlier references detach. Called wherever the record's data is replaced wholesale
5251
+ * (`Revert`, `NewRecord`, `Hydrate`, `From`, a load) — NOT on the save round trip, so a reference
5252
+ * held across `Save()` stays live.
5253
+ */
5254
+ discardJSONFieldObjects() {
5255
+ if (!this._jsonFieldBindings) {
5256
+ return;
5257
+ }
5258
+ for (const binding of this._jsonFieldBindings.values()) {
5259
+ binding.Invalidate();
5260
+ }
5261
+ }
5262
+ /**
5263
+ * Validates one JSONType field against its structural schema and `@CHECK` rules, appending any
5264
+ * problems to `result`. Called from generated `Validate()` overrides for JSONTypes opted in with
5265
+ * `@mjValidate`; the field is checked only when it is dirty or the record is new, so opting a type
5266
+ * in never blocks unrelated edits to existing rows.
5267
+ *
5268
+ * Error `Source`s are dotted/indexed paths (`Configuration.Items[2].EndHour`). `severity` is
5269
+ * `'Warning'` for `@mjValidate warn`: such errors are reported but do not fail the save.
5270
+ *
5271
+ * @param fieldName - the JSON text field
5272
+ * @param schema - structural Zod schema for the whole field value (arrays included)
5273
+ * @param rules - `@CHECK` rules and the type graph to find their scope, or null
5274
+ * @param severity - severity the results are reported at
5275
+ * @param result - the result object to add errors to
5276
+ */
5277
+ ValidateJSONField(fieldName, schema, rules, severity, result) {
5278
+ // Flush FIRST: a field changed only through an un-proxied reference is not dirty until flushed.
5279
+ this.FlushJSONFieldObjects();
5280
+ if (this.IsSaved && !this.FieldIsDirty(fieldName)) {
5281
+ return;
5282
+ }
5283
+ ValidateJSONFieldValue(fieldName, this.Get(fieldName), schema, rules, severity, this, result);
5284
+ }
5167
5285
  Validate() {
5168
5286
  if (this._isValidating) {
5169
5287
  const emptyResult = new ValidationResult();
@@ -5172,6 +5290,9 @@ export class BaseEntity {
5172
5290
  }
5173
5291
  this._isValidating = true;
5174
5292
  try {
5293
+ // Safety net for JSONType object accessors: an object mutated through the caller's own
5294
+ // (un-proxied) reference must reach the raw field before that field is validated.
5295
+ this.FlushJSONFieldObjects();
5175
5296
  const result = new ValidationResult();
5176
5297
  result.Success = true; // start off with assumption of success, if any field fails, we'll set this to false
5177
5298
  // IS-A composition: validate parent entity first to collect all chain errors
@@ -5765,9 +5886,7 @@ export class BaseEntity {
5765
5886
  // field that reads like the record itself is broken.
5766
5887
  //
5767
5888
  // Returning null is the same answer callers already handle for "this entity has no name
5768
- // field", and every one of them degrades to the primary key. It also keeps a denied name
5769
- // OUT of the provider's record-name cache, which is keyed by entity + primary key and NOT
5770
- // by user — caching it would leak it to the next caller.
5889
+ // field", and every one of them degrades to the primary key.
5771
5890
  if (!this.EntityInfo.IsFieldReadableByUser(f.Name, this.ActiveUser)) {
5772
5891
  return null;
5773
5892
  }
@@ -5802,6 +5921,7 @@ export class BaseEntity {
5802
5921
  */
5803
5922
  From(data, schema) {
5804
5923
  this.init();
5924
+ this.discardJSONFieldObjects();
5805
5925
  if (schema) {
5806
5926
  const parseResult = schema.safeParse(data);
5807
5927
  if (parseResult.success) {
@@ -5839,13 +5959,14 @@ export class BaseEntity {
5839
5959
  /**
5840
5960
  * Generates vector embeddings for multiple text fields by their field names.
5841
5961
  * Processes fields in parallel for better performance.
5842
- * @param fields - Array of field configurations specifying source text field, target vector field, and model ID field names
5962
+ * @param fields - Array of field configurations specifying source text field, target vector field, model ID field
5963
+ * and, optionally, the binary companion of the vector field (see {@link GenerateEmbedding})
5843
5964
  * @returns Promise that resolves to true if all embeddings were generated successfully, false if any failed
5844
5965
  */
5845
5966
  async GenerateEmbeddingsByFieldName(fields) {
5846
5967
  const promises = [];
5847
- for (const { fieldName, vectorFieldName, modelFieldName } of fields) {
5848
- promises.push(this.GenerateEmbeddingByFieldName(fieldName, vectorFieldName, modelFieldName));
5968
+ for (const { fieldName, vectorFieldName, modelFieldName, binaryVectorFieldName } of fields) {
5969
+ promises.push(this.GenerateEmbeddingByFieldName(fieldName, vectorFieldName, modelFieldName, binaryVectorFieldName));
5849
5970
  }
5850
5971
  const results = await Promise.all(promises);
5851
5972
  return results.every(result => result === true);
@@ -5854,11 +5975,14 @@ export class BaseEntity {
5854
5975
  * Generates a vector embedding for a single text field identified by field name.
5855
5976
  * Retrieves the field objects and delegates to GenerateEmbedding method.
5856
5977
  * @param fieldName - Name of the text field to generate embedding from
5857
- * @param vectorFieldName - Name of the field to store the vector embedding
5978
+ * @param vectorFieldName - Name of the field to store the vector embedding (JSON)
5858
5979
  * @param modelFieldName - Name of the field to store the model ID used for embedding
5980
+ * @param binaryVectorFieldName - Optional name of the binary (varbinary/bytea) companion of `vectorFieldName`,
5981
+ * which receives the same vector as little-endian float32 bytes. Omit for entities without one.
5859
5982
  * @returns Promise that resolves to true if embedding was generated successfully, false otherwise
5983
+ * @throws Error when a named field does not exist on the entity
5860
5984
  */
5861
- async GenerateEmbeddingByFieldName(fieldName, vectorFieldName, modelFieldName) {
5985
+ async GenerateEmbeddingByFieldName(fieldName, vectorFieldName, modelFieldName, binaryVectorFieldName) {
5862
5986
  const field = this.GetFieldByName(fieldName);
5863
5987
  const vectorField = this.GetFieldByName(vectorFieldName);
5864
5988
  const modelField = this.GetFieldByName(modelFieldName);
@@ -5868,18 +5992,25 @@ export class BaseEntity {
5868
5992
  throw new Error(`Vector field not found: ${vectorFieldName}`);
5869
5993
  if (modelFieldName?.trim().length > 0 && !modelField)
5870
5994
  throw new Error(`Model field not found: ${modelFieldName}`);
5871
- return await this.GenerateEmbedding(field, vectorField, modelField);
5995
+ let binaryVectorField;
5996
+ if (binaryVectorFieldName?.trim().length) {
5997
+ binaryVectorField = this.GetFieldByName(binaryVectorFieldName);
5998
+ if (!binaryVectorField)
5999
+ throw new Error(`Binary vector field not found: ${binaryVectorFieldName}`);
6000
+ }
6001
+ return await this.GenerateEmbedding(field, vectorField, modelField, binaryVectorField);
5872
6002
  }
5873
6003
  /**
5874
6004
  * Generates vector embeddings for multiple text fields using EntityField objects.
5875
6005
  * Processes fields in parallel for better performance.
5876
- * @param fields - Array of field configurations with EntityField objects for source, vector, and model fields
6006
+ * @param fields - Array of field configurations with EntityField objects for source, vector, model and
6007
+ * (optionally) binary vector fields
5877
6008
  * @returns Promise that resolves to true if all embeddings were generated successfully, false if any failed
5878
6009
  */
5879
6010
  async GenerateEmbeddings(fields) {
5880
6011
  const promises = [];
5881
- for (const { field, vectorField, modelField } of fields) {
5882
- promises.push(this.GenerateEmbedding(field, vectorField, modelField));
6012
+ for (const { field, vectorField, modelField, binaryVectorField } of fields) {
6013
+ promises.push(this.GenerateEmbedding(field, vectorField, modelField, binaryVectorField));
5883
6014
  }
5884
6015
  const results = await Promise.all(promises);
5885
6016
  return results.every(result => result === true);
@@ -5887,13 +6018,23 @@ export class BaseEntity {
5887
6018
  /**
5888
6019
  * Generates a vector embedding for a single text field using AI engine.
5889
6020
  * Only generates embeddings for new records or when the source field has changed.
5890
- * Stores both the vector embedding and the model ID used to generate it.
6021
+ * Stores the vector embedding, the model ID used to generate it and, when the entity has one, the
6022
+ * vector's binary companion.
6023
+ *
6024
+ * **Two persisted forms.** The JSON field holds the vector as a JSON number array. The optional
6025
+ * binary field (`varbinary(MAX)` / `bytea`) holds the same vector as little-endian float32 bytes —
6026
+ * set here as a base64 string via `Float32VectorToBase64`, which is how every binary field travels
6027
+ * in MJ. Readers prefer the binary form because decoding it is a copy, not a JSON parse (see
6028
+ * `ReadStoredVector` in `@memberjunction/ai-vectors-memory`). Both are written and cleared together
6029
+ * so they never disagree.
6030
+ *
5891
6031
  * @param field - The EntityField containing the text to embed
5892
6032
  * @param vectorField - The EntityField to store the generated vector embedding (as JSON string)
5893
6033
  * @param modelField - The EntityField to store the ID of the AI model used
6034
+ * @param binaryVectorField - Optional EntityField to store the same vector as base64-encoded float32 bytes
5894
6035
  * @returns Promise that resolves to true if embedding was generated successfully, false otherwise
5895
6036
  */
5896
- async GenerateEmbedding(field, vectorField, modelField) {
6037
+ async GenerateEmbedding(field, vectorField, modelField, binaryVectorField) {
5897
6038
  try {
5898
6039
  if (this._skipEmbeddings)
5899
6040
  return true;
@@ -5903,12 +6044,16 @@ export class BaseEntity {
5903
6044
  const e = await this.EmbedTextLocal(field.Value);
5904
6045
  if (e && e.vector) {
5905
6046
  vectorField.Value = JSON.stringify(e.vector);
6047
+ if (binaryVectorField)
6048
+ binaryVectorField.Value = Float32VectorToBase64(e.vector);
5906
6049
  if (modelField)
5907
6050
  modelField.Value = e.modelID;
5908
6051
  }
5909
6052
  }
5910
6053
  else {
5911
6054
  vectorField.Value = null;
6055
+ if (binaryVectorField)
6056
+ binaryVectorField.Value = null;
5912
6057
  if (modelField)
5913
6058
  modelField.Value = null;
5914
6059
  }