@memberjunction/codegen-lib 5.48.0 → 5.49.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 (29) hide show
  1. package/dist/Config/config.d.ts +55 -2
  2. package/dist/Config/config.d.ts.map +1 -1
  3. package/dist/Config/config.js +40 -3
  4. package/dist/Config/config.js.map +1 -1
  5. package/dist/Database/codeGenDatabaseProvider.d.ts +65 -2
  6. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  7. package/dist/Database/codeGenDatabaseProvider.js +69 -0
  8. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  9. package/dist/Database/manage-metadata.d.ts +43 -2
  10. package/dist/Database/manage-metadata.d.ts.map +1 -1
  11. package/dist/Database/manage-metadata.js +186 -18
  12. package/dist/Database/manage-metadata.js.map +1 -1
  13. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +29 -1
  14. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  15. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +62 -76
  16. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  17. package/dist/Database/providers/postgresql/metadataSupportObjects.js +73 -8
  18. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  19. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +3 -1
  20. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  21. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +19 -15
  22. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  23. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +143 -0
  24. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  25. package/dist/Misc/advanced_generation.d.ts +25 -0
  26. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  27. package/dist/Misc/advanced_generation.js +75 -0
  28. package/dist/Misc/advanced_generation.js.map +1 -1
  29. package/package.json +27 -27
@@ -410,6 +410,47 @@ export declare class ManageMetadataBase {
410
410
  success: boolean;
411
411
  updatedCount: number;
412
412
  }>;
413
+ /**
414
+ * FORWARD VALIDATION — verifies that every DECLARED IS-A relationship (any Entity with a
415
+ * non-null ParentID) actually satisfies what the IS-A runtime requires. Never mutates metadata.
416
+ *
417
+ * Channel-agnostic BY DESIGN: it validates the END STATE of Entity.ParentID, so it covers the
418
+ * additionalSchemaInfo "ISARelationships" config, an `@lookup` on ParentID in a metadata-sync
419
+ * file, and any future channel — one check instead of one per declaration mechanism.
420
+ *
421
+ * Reports ONLY provable-cannot-work defects (hard errors) — never inference. If a declared
422
+ * IS-A merely "looks off" but would still function, it passes silently: flagging it would
423
+ * misfire on correct declarations (see the note in the loop). The hard errors:
424
+ * - Child has a composite PK. The runtime routes ONE shared PK value between child and
425
+ * parent; it has no model for a multi-column subtype key.
426
+ * - Parent has a composite PK. Same reason, from the other side.
427
+ * - Child PK type <> parent PK type. Parent and child SHARE one PK value (Save() writes the
428
+ * child's PK into the parent's PK via ParentEntityFieldNames; loads match the child by the
429
+ * parent's PK value), so the value must be legal as BOTH PKs. Note a physical FK already
430
+ * guarantees matching types — this only ever fires on a soft/declared IS-A, which is
431
+ * exactly the case with no DB constraint to catch it.
432
+ * - ParentID does not resolve to an existing entity. DEFENSE-IN-DEPTH ONLY: the
433
+ * FK_Entity_ParentID constraint (Entity.ParentID -> Entity.ID) makes this state
434
+ * unstorable and vwEntities has no WHERE clause, so it is not reachable in a healthy
435
+ * database. It is kept because the parent JOIN must be a LEFT JOIN regardless, and
436
+ * without this branch an unresolved parent would silently SKIP the remaining checks
437
+ * (ParentPKType would be NULL) rather than fail. Covered by unit test, not live.
438
+ *
439
+ * Timing: runs AFTER every ParentID-writing pass (config + any previously-synced @lookup) and
440
+ * BEFORE the 2nd-pass manageParentEntityFields() materializes IS-A virtual fields + view JOINs,
441
+ * so a broken declaration fails before it produces generated code.
442
+ */
443
+ protected validateISARelationships(pool: CodeGenConnection): Promise<{
444
+ success: boolean;
445
+ errorCount: number;
446
+ }>;
447
+ /**
448
+ * Builds the provider-neutral query behind {@link validateISARelationships}: one row per
449
+ * DECLARED IS-A child (Entity.ParentID IS NOT NULL) carrying everything the severity rules need.
450
+ * LEFT JOINs throughout so an unresolvable ParentID still returns a row (that is a hard error,
451
+ * not a missing row).
452
+ */
453
+ protected buildISAValidationSQL(schema: string): string;
413
454
  /**
414
455
  * Processes Entity attribute configurations from the additionalSchemaInfo config.
415
456
  * For each entry in the top-level "Entities" array, looks up the entity by
@@ -1036,11 +1077,11 @@ export declare class ManageMetadataBase {
1036
1077
  * Process advanced generation for a single entity
1037
1078
  * @param pool Database connection pool
1038
1079
  * @param entity Entity to process
1039
- * @param allFields All fields for all entities (will be filtered for this entity)
1080
+ * @param fieldsByEntity Fields grouped by normalized EntityID (built once by the batch driver)
1040
1081
  * @param ag AdvancedGeneration instance
1041
1082
  * @param currentUser User context
1042
1083
  */
1043
- protected processEntityAdvancedGeneration(pool: CodeGenConnection, entity: EntityInfo, allFields: any[], ag: AdvancedGeneration, currentUser: UserInfo): Promise<void>;
1084
+ protected processEntityAdvancedGeneration(pool: CodeGenConnection, entity: EntityInfo, fieldsByEntity: Map<string, any[]>, ag: AdvancedGeneration, currentUser: UserInfo): Promise<void>;
1044
1085
  /**
1045
1086
  * Builds IS-A parent chain context for an entity, computing which parent each
1046
1087
  * inherited field originates from. Used to provide the LLM with inheritance
@@ -1 +1 @@
1
- {"version":3,"file":"manage-metadata.d.ts","sourceRoot":"","sources":["../../src/Database/manage-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage-metadata.d.ts","sourceRoot":"","sources":["../../src/Database/manage-metadata.ts"],"names":[],"mappings":"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"}
@@ -730,6 +730,113 @@ export class ManageMetadataBase {
730
730
  }
731
731
  return { success: true, updatedCount };
732
732
  }
733
+ /**
734
+ * FORWARD VALIDATION — verifies that every DECLARED IS-A relationship (any Entity with a
735
+ * non-null ParentID) actually satisfies what the IS-A runtime requires. Never mutates metadata.
736
+ *
737
+ * Channel-agnostic BY DESIGN: it validates the END STATE of Entity.ParentID, so it covers the
738
+ * additionalSchemaInfo "ISARelationships" config, an `@lookup` on ParentID in a metadata-sync
739
+ * file, and any future channel — one check instead of one per declaration mechanism.
740
+ *
741
+ * Reports ONLY provable-cannot-work defects (hard errors) — never inference. If a declared
742
+ * IS-A merely "looks off" but would still function, it passes silently: flagging it would
743
+ * misfire on correct declarations (see the note in the loop). The hard errors:
744
+ * - Child has a composite PK. The runtime routes ONE shared PK value between child and
745
+ * parent; it has no model for a multi-column subtype key.
746
+ * - Parent has a composite PK. Same reason, from the other side.
747
+ * - Child PK type <> parent PK type. Parent and child SHARE one PK value (Save() writes the
748
+ * child's PK into the parent's PK via ParentEntityFieldNames; loads match the child by the
749
+ * parent's PK value), so the value must be legal as BOTH PKs. Note a physical FK already
750
+ * guarantees matching types — this only ever fires on a soft/declared IS-A, which is
751
+ * exactly the case with no DB constraint to catch it.
752
+ * - ParentID does not resolve to an existing entity. DEFENSE-IN-DEPTH ONLY: the
753
+ * FK_Entity_ParentID constraint (Entity.ParentID -> Entity.ID) makes this state
754
+ * unstorable and vwEntities has no WHERE clause, so it is not reachable in a healthy
755
+ * database. It is kept because the parent JOIN must be a LEFT JOIN regardless, and
756
+ * without this branch an unresolved parent would silently SKIP the remaining checks
757
+ * (ParentPKType would be NULL) rather than fail. Covered by unit test, not live.
758
+ *
759
+ * Timing: runs AFTER every ParentID-writing pass (config + any previously-synced @lookup) and
760
+ * BEFORE the 2nd-pass manageParentEntityFields() materializes IS-A virtual fields + view JOINs,
761
+ * so a broken declaration fails before it produces generated code.
762
+ */
763
+ async validateISARelationships(pool) {
764
+ const schema = mj_core_schema();
765
+ let errorCount = 0;
766
+ try {
767
+ const results = await this.runQuery(pool, this.buildISAValidationSQL(schema));
768
+ // A composite PK on either side makes the PK LEFT JOINs fan out to one row per PK column.
769
+ // Each declared child gets exactly ONE verdict, so collapse to the first row per child —
770
+ // the PK COUNT columns (scalar subqueries) carry the composite case regardless of the row.
771
+ const seenChildren = new Set();
772
+ for (const row of results.recordset) {
773
+ if (seenChildren.has(row.ChildEntityID))
774
+ continue;
775
+ seenChildren.add(row.ChildEntityID);
776
+ const pair = `"${row.ChildEntityName}" (ParentID -> ${row.ParentEntityName ? `"${row.ParentEntityName}"` : row.ParentID})`;
777
+ if (!row.ParentEntityName) {
778
+ logError(` > IS-A INVALID: ${pair} — ParentID does not resolve to any entity. IS-A would silently do nothing at runtime. Fix or remove the declaration.`);
779
+ errorCount++;
780
+ }
781
+ else if (row.ChildPKCount !== 1) {
782
+ logError(` > IS-A INVALID: ${pair} — the child has a composite primary key (${row.ChildPKCount} columns). IS-A requires a single-column primary key shared with the parent.`);
783
+ errorCount++;
784
+ }
785
+ else if (row.ParentPKCount !== 1) {
786
+ logError(` > IS-A INVALID: ${pair} — the parent has a composite primary key (${row.ParentPKCount} columns). IS-A requires a single-column primary key shared with the child.`);
787
+ errorCount++;
788
+ }
789
+ else if (row.ChildPKType && row.ParentPKType && row.ChildPKType.trim().toLowerCase() !== row.ParentPKType.trim().toLowerCase()) {
790
+ logError(` > IS-A INVALID: ${pair} — primary-key type mismatch: child "${row.ChildPKName}" is ${row.ChildPKType}, parent "${row.ParentPKName}" is ${row.ParentPKType}. The parent and child SHARE one primary-key value, so the types must match.`);
791
+ errorCount++;
792
+ }
793
+ // No "warning" tier: any other shape (no physical FK to the parent, an FK to a
794
+ // different entity, a soft FK) is a VALID, WORKING IS-A — the runtime keys off
795
+ // ParentID, not the child PK's FK metadata. Flagging those would be inference about
796
+ // the author's intent that misfires on correct declarations, so we stay silent.
797
+ // Only provable-cannot-work defects (above) are reported.
798
+ }
799
+ }
800
+ catch (err) {
801
+ const errMessage = err instanceof Error ? err.message : String(err);
802
+ logError(` > IS-A validation failed: ${errMessage}`);
803
+ return { success: false, errorCount };
804
+ }
805
+ return { success: errorCount === 0, errorCount };
806
+ }
807
+ /**
808
+ * Builds the provider-neutral query behind {@link validateISARelationships}: one row per
809
+ * DECLARED IS-A child (Entity.ParentID IS NOT NULL) carrying everything the severity rules need.
810
+ * LEFT JOINs throughout so an unresolvable ParentID still returns a row (that is a hard error,
811
+ * not a missing row).
812
+ */
813
+ buildISAValidationSQL(schema) {
814
+ const efv = this.qs(schema, 'vwEntityFields');
815
+ const ev = this.qs(schema, 'vwEntities');
816
+ const T = this.boolLit(true);
817
+ const F = this.boolLit(false);
818
+ const pkCount = (entityIdExpr) => `(SELECT COUNT(*) FROM ${efv} pkc WHERE pkc.${this.qi('EntityID')} = ${entityIdExpr} AND pkc.${this.qi('IsPrimaryKey')} = ${T} AND pkc.${this.qi('IsVirtual')} = ${F})`;
819
+ return `
820
+ SELECT child.${this.qi('ID')} AS ${this.qi('ChildEntityID')},
821
+ child.${this.qi('Name')} AS ${this.qi('ChildEntityName')},
822
+ child.${this.qi('ParentID')} AS ${this.qi('ParentID')},
823
+ parent.${this.qi('Name')} AS ${this.qi('ParentEntityName')},
824
+ ${pkCount(`child.${this.qi('ID')}`)} AS ${this.qi('ChildPKCount')},
825
+ ${pkCount(`child.${this.qi('ParentID')}`)} AS ${this.qi('ParentPKCount')},
826
+ childpk.${this.qi('Name')} AS ${this.qi('ChildPKName')},
827
+ childpk.${this.qi('Type')} AS ${this.qi('ChildPKType')},
828
+ parentpk.${this.qi('Name')} AS ${this.qi('ParentPKName')},
829
+ parentpk.${this.qi('Type')} AS ${this.qi('ParentPKType')}
830
+ FROM ${ev} child
831
+ LEFT JOIN ${ev} parent ON parent.${this.qi('ID')} = child.${this.qi('ParentID')}
832
+ LEFT JOIN ${efv} childpk ON childpk.${this.qi('EntityID')} = child.${this.qi('ID')}
833
+ AND childpk.${this.qi('IsPrimaryKey')} = ${T}
834
+ AND childpk.${this.qi('IsVirtual')} = ${F}
835
+ LEFT JOIN ${efv} parentpk ON parentpk.${this.qi('EntityID')} = child.${this.qi('ParentID')}
836
+ AND parentpk.${this.qi('IsPrimaryKey')} = ${T}
837
+ AND parentpk.${this.qi('IsVirtual')} = ${F}
838
+ WHERE child.${this.qi('ParentID')} IS NOT NULL`;
839
+ }
733
840
  /**
734
841
  * Processes Entity attribute configurations from the additionalSchemaInfo config.
735
842
  * For each entry in the top-level "Entities" array, looks up the entity by
@@ -1005,6 +1112,14 @@ export class ManageMetadataBase {
1005
1112
  if (isaConfigResult.updatedCount > 0) {
1006
1113
  logStatus(` > Set ParentID on ${isaConfigResult.updatedCount} IS-A child entit${isaConfigResult.updatedCount === 1 ? 'y' : 'ies'} from config`);
1007
1114
  }
1115
+ // Forward validation — verify every DECLARED IS-A (ParentID set by ANY channel: config,
1116
+ // @lookup metadata sync, or a prior run) satisfies what the runtime requires. Hard-fails the
1117
+ // run on a broken declaration BEFORE manageParentEntityFields() generates code from it.
1118
+ const isaValidation = await this.validateISARelationships(pool);
1119
+ if (!isaValidation.success) {
1120
+ logError(` > IS-A validation failed: ${isaValidation.errorCount} invalid IS-A declaration${isaValidation.errorCount === 1 ? '' : 's'} (see above). Fix or remove ${isaValidation.errorCount === 1 ? 'it' : 'them'} — the IS-A runtime cannot work as declared.`);
1121
+ bSuccess = false;
1122
+ }
1008
1123
  // Config-driven Entity attribute updates (e.g., AllowMultipleSubtypes, TrackRecordChanges)
1009
1124
  // Must run AFTER entities exist
1010
1125
  const entityConfigResult = await this.processEntityConfigs(pool);
@@ -3156,23 +3271,37 @@ export class ManageMetadataBase {
3156
3271
  if (newEntityFields.length > 0) {
3157
3272
  const transaction = await pool.beginTransaction();
3158
3273
  try {
3159
- // wrap in a transaction so we get all of it or none of it
3274
+ // wrap in a transaction so we get all of it or none of it.
3275
+ // [Large Schema Series] Batch the per-field INSERTs. Previously this
3276
+ // issued one LogSQLAndExecute — a DB round-trip AND a synchronous
3277
+ // migration-log append — PER field, i.e. ~40k on a 2,000-table
3278
+ // install (~37s). Collect each row's INSERT SQL (unchanged, conflict
3279
+ // guards intact) and flush in chunks through LogSQLBatchAndExecute,
3280
+ // which terminates + joins the statements and sends each chunk as a
3281
+ // single round-trip + single log append while preserving the exact
3282
+ // per-row SQL and the replayable migration-file output. Both dialects.
3283
+ // Batch size is configurable via `metadataInsertBatchSize` (default 250).
3284
+ const CHUNK_SIZE = configInfo.metadataInsertBatchSize ?? 250;
3285
+ const inserts = [];
3160
3286
  for (let i = 0; i < newEntityFields.length; ++i) {
3161
3287
  const n = newEntityFields[i];
3162
3288
  if (n.EntityID !== null && n.EntityID !== undefined && n.EntityID.length > 0) {
3163
3289
  // need to check for null entity id = that is because the above query can return candidate Entity Fields but the entities may not have been created if the entities
3164
3290
  // that would have been created violate rules - such as not having an ID column, etc.
3165
3291
  const newEntityFieldUUID = this.createNewUUID();
3166
- const sSQLInsert = this.getPendingEntityFieldINSERTSQL(newEntityFieldUUID, n);
3167
- try {
3168
- await this.LogSQLAndExecute(pool, sSQLInsert, `SQL text to insert new entity field`);
3169
- // if we get here, we're okay, otherwise we have an exception, which we want as it blows up transaction
3170
- }
3171
- catch (e) {
3172
- // this is here so we can catch the error for debug. We want the transaction to die
3173
- logError(`Error inserting new entity field. SQL: \n${sSQLInsert}`);
3174
- throw e;
3175
- }
3292
+ inserts.push(this.getPendingEntityFieldINSERTSQL(newEntityFieldUUID, n));
3293
+ }
3294
+ }
3295
+ for (let i = 0; i < inserts.length; i += CHUNK_SIZE) {
3296
+ const chunk = inserts.slice(i, i + CHUNK_SIZE);
3297
+ try {
3298
+ await this.LogSQLBatchAndExecute(pool, chunk, `SQL text to insert ${chunk.length} new entity field(s)`);
3299
+ // an error blows up the transaction (all-or-nothing), which is what we want
3300
+ }
3301
+ catch (e) {
3302
+ // catch for debug context, then let the transaction die
3303
+ logError(`Error inserting new entity field batch (rows ${i}..${i + chunk.length}).`);
3304
+ throw e;
3176
3305
  }
3177
3306
  }
3178
3307
  await transaction.commit();
@@ -4088,8 +4217,13 @@ export class ManageMetadataBase {
4088
4217
  .replace(/[^a-z0-9-]/g, '') // remove special chars
4089
4218
  .replace(/-+/g, '-') // collapse multiple hyphens
4090
4219
  .replace(/^-|-$/g, ''); // trim hyphens from start/end
4091
- const sSQL = `INSERT INTO ${this.qs(mj_core_schema(), 'Application')} (ID, Name, Description, SchemaAutoAddNewEntities, Path, AutoUpdatePath)
4220
+ // Guard the INSERT with an existence check so the emitted (and re-runnable) migration SQL is
4221
+ // idempotent. drop-schema clears an app's ApplicationEntity/EntityPermission/Entity rows but NOT
4222
+ // its Application row, so replaying this block would otherwise collide on the Application PK.
4223
+ const appCheckQuery = `SELECT 1 FROM ${this.qs(mj_core_schema(), 'Application')} WHERE ${this.qi('ID')} = '${appID}'`;
4224
+ const appInsert = `INSERT INTO ${this.qs(mj_core_schema(), 'Application')} (ID, Name, Description, SchemaAutoAddNewEntities, Path, AutoUpdatePath)
4092
4225
  VALUES ('${appID}', '${appName}', 'Generated for schema', '${schemaName}', '${path}', ${this.dialect.BooleanLiteral(true)})`;
4226
+ const sSQL = this.conditionalInsert(appCheckQuery, appInsert);
4093
4227
  await this.LogSQLAndExecute(pool, sSQL, `SQL generated to create new application ${appName}`);
4094
4228
  LogStatus(`Created new application ${appName} with Path: ${path}`);
4095
4229
  // Auto-assign default roles to the new application
@@ -4114,9 +4248,15 @@ export class ManageMetadataBase {
4114
4248
  for (const roleDef of defaults.Roles) {
4115
4249
  const role = md.Roles.find(r => r.Name.trim().toLowerCase() === roleDef.RoleName.trim().toLowerCase());
4116
4250
  if (role) {
4117
- const sSQLInsert = `INSERT INTO ${this.qs(mj_core_schema(), 'ApplicationRole')}
4251
+ // Guard on the (ApplicationID, RoleID) unique key so the emitted migration is idempotent.
4252
+ // This covers BOTH re-running the block after drop-schema (which leaves ApplicationRole rows
4253
+ // intact) AND the collision with the Integration role that manageMetadata recreates
4254
+ // out-of-band — either path would otherwise violate UQ_ApplicationRole_App_Role.
4255
+ const roleCheckQuery = `SELECT 1 FROM ${this.qs(mj_core_schema(), 'ApplicationRole')} WHERE ${this.qi('ApplicationID')} = '${appId}' AND ${this.qi('RoleID')} = '${role.ID}'`;
4256
+ const roleInsert = `INSERT INTO ${this.qs(mj_core_schema(), 'ApplicationRole')}
4118
4257
  (${this.qi('ApplicationID')}, ${this.qi('RoleID')}, ${this.qi('CanAccess')}, ${this.qi('CanAdmin')}) VALUES
4119
4258
  ('${appId}', '${role.ID}', ${this.boolLit(roleDef.CanAccess)}, ${this.boolLit(roleDef.CanAdmin)})`;
4259
+ const sSQLInsert = this.conditionalInsert(roleCheckQuery, roleInsert);
4120
4260
  await this.LogSQLAndExecute(pool, sSQLInsert, `Adding role ${roleDef.RoleName} to application ${appName}`);
4121
4261
  }
4122
4262
  else {
@@ -4431,6 +4571,21 @@ export class ManageMetadataBase {
4431
4571
  let processedCount = 0;
4432
4572
  let errorCount = 0;
4433
4573
  const total = entities.length;
4574
+ // Pre-group fields by EntityID once — O(total fields) — instead of a per-entity linear scan
4575
+ // of the full pooled array inside processEntityAdvancedGeneration (which was O(entities × fields),
4576
+ // and drops to the slow UUID-compare path on SQL Server upper-case IDs). Keyed on the normalized
4577
+ // UUID (trim + lowercase) to match UUIDsEqual's comparison semantics regardless of casing.
4578
+ const fieldsByEntity = new Map();
4579
+ for (const f of allFields) {
4580
+ const key = String(f.EntityID ?? '').trim().toLowerCase();
4581
+ const arr = fieldsByEntity.get(key);
4582
+ if (arr) {
4583
+ arr.push(f);
4584
+ }
4585
+ else {
4586
+ fieldsByEntity.set(key, [f]);
4587
+ }
4588
+ }
4434
4589
  // Process in batches
4435
4590
  for (let i = 0; i < total; i += batchSize) {
4436
4591
  const batch = entities.slice(i, i + batchSize);
@@ -4439,7 +4594,7 @@ export class ManageMetadataBase {
4439
4594
  // to the right entity. Also marks the entity as modified in the report flags.
4440
4595
  const batchResults = await Promise.allSettled(batch.map(entity => {
4441
4596
  CodeGenReporter.Instance.flagEntity(entity.Name, 'modified');
4442
- return CodeGenReporter.Instance.entityPhase(entity.Name, 'advancedGeneration', () => this.processEntityAdvancedGeneration(pool, entity, allFields, ag, currentUser));
4597
+ return CodeGenReporter.Instance.entityPhase(entity.Name, 'advancedGeneration', () => this.processEntityAdvancedGeneration(pool, entity, fieldsByEntity, ag, currentUser));
4443
4598
  }));
4444
4599
  // Tally results
4445
4600
  for (const result of batchResults) {
@@ -4453,6 +4608,14 @@ export class ManageMetadataBase {
4453
4608
  }
4454
4609
  const pct = Math.round((processedCount / total) * 100);
4455
4610
  updateSpinner(`Advanced generation: ${processedCount}/${total} entities (${pct}%)${errorCount > 0 ? ` — ${errorCount} error(s)` : ''}`);
4611
+ // Credential circuit tripped (e.g. keyless / mis-credentialed env) — stop issuing further
4612
+ // AI calls; the remaining entities would only produce doomed round-trips. One clear message
4613
+ // was already logged when the circuit opened.
4614
+ if (ag.AICircuitOpen) {
4615
+ const skipped = total - processedCount;
4616
+ updateSpinner(`Advanced generation: AI credential circuit open — skipping remaining ${skipped} entit${skipped === 1 ? 'y' : 'ies'} (check AI credentials).`);
4617
+ break;
4618
+ }
4456
4619
  }
4457
4620
  return errorCount === 0;
4458
4621
  }
@@ -4460,14 +4623,19 @@ export class ManageMetadataBase {
4460
4623
  * Process advanced generation for a single entity
4461
4624
  * @param pool Database connection pool
4462
4625
  * @param entity Entity to process
4463
- * @param allFields All fields for all entities (will be filtered for this entity)
4626
+ * @param fieldsByEntity Fields grouped by normalized EntityID (built once by the batch driver)
4464
4627
  * @param ag AdvancedGeneration instance
4465
4628
  * @param currentUser User context
4466
4629
  */
4467
- async processEntityAdvancedGeneration(pool, entity, allFields, ag, currentUser) {
4630
+ async processEntityAdvancedGeneration(pool, entity, fieldsByEntity, ag, currentUser) {
4468
4631
  try {
4469
- // Filter fields for this entity (client-side filtering)
4470
- const fields = allFields.filter((f) => UUIDsEqual(f.EntityID, entity.ID));
4632
+ // Credential circuit tripped earlier this run — skip cleanly (no LLM call, no error log).
4633
+ if (ag.AICircuitOpen) {
4634
+ return;
4635
+ }
4636
+ // Fields for this entity — O(1) lookup into the pre-grouped map (keyed on the normalized
4637
+ // EntityID) instead of a linear scan of the full pooled array.
4638
+ const fields = fieldsByEntity.get(String(entity.ID ?? '').trim().toLowerCase()) ?? [];
4471
4639
  // Determine if this is a new entity (for DefaultForNewUser decision)
4472
4640
  const isNewEntity = ManageMetadataBase.newEntityList.includes(entity.Name);
4473
4641
  // Smart Field Identification