@memberjunction/codegen-lib 5.50.0 → 6.1.0-edge.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 (40) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +194 -0
  3. package/dist/Database/codeGenDatabaseProvider.d.ts +15 -0
  4. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  5. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  6. package/dist/Database/manage-metadata.d.ts +21 -0
  7. package/dist/Database/manage-metadata.d.ts.map +1 -1
  8. package/dist/Database/manage-metadata.js +119 -4
  9. package/dist/Database/manage-metadata.js.map +1 -1
  10. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +37 -3
  11. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  12. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +65 -4
  13. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  14. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +2 -0
  15. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  16. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +12 -1
  17. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  18. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.d.ts +2 -0
  19. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.d.ts.map +1 -0
  20. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.js +252 -0
  21. package/dist/Database/providers/sqlserver/__tests__/LayeredBaseView.test.js.map +1 -0
  22. package/dist/Database/search-guardrails.d.ts +146 -0
  23. package/dist/Database/search-guardrails.d.ts.map +1 -0
  24. package/dist/Database/search-guardrails.js +233 -0
  25. package/dist/Database/search-guardrails.js.map +1 -0
  26. package/dist/Database/sql.d.ts.map +1 -1
  27. package/dist/Database/sql.js +42 -10
  28. package/dist/Database/sql.js.map +1 -1
  29. package/dist/Database/sql_codegen.d.ts +40 -0
  30. package/dist/Database/sql_codegen.d.ts.map +1 -1
  31. package/dist/Database/sql_codegen.js +110 -21
  32. package/dist/Database/sql_codegen.js.map +1 -1
  33. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +2 -2
  34. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  35. package/dist/Manifest/GenerateClassRegistrationsManifest.js +50 -26
  36. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  37. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  38. package/dist/Misc/advanced_generation.js +8 -1
  39. package/dist/Misc/advanced_generation.js.map +1 -1
  40. package/package.json +38 -35
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Pure heuristics for the CodeGen "Smart Field Identification" pipeline.
3
+ *
4
+ * The LLM behind the prompt template at
5
+ * `metadata/prompts/templates/codegen/smart-field-identification.template.md`
6
+ * is liberal with `AllowUserSearchAPI`, `IncludeInUserSearchAPI`, and the
7
+ * `Contains` predicate. These helpers are the code-level safety net that
8
+ * applies regardless of what the model returns. They live in their own
9
+ * module so they can be unit-tested without spinning up the database layer.
10
+ *
11
+ * Conventions:
12
+ * - All functions are pure and side-effect free.
13
+ * - `*FieldName` predicates do simple regex matches on the field name; they
14
+ * intentionally don't try to read field type or extended-type metadata.
15
+ * - "Identifier-shaped" means a unique business identifier the user types
16
+ * in full (Email, SKU, OrderNumber). "Name-like" means a human-readable
17
+ * prefix users type into a search box (Name, Title, FirstName).
18
+ */
19
+ /**
20
+ * Hard cap on searchable fields per entity. The plan calls out 0–2 as typical
21
+ * and >3 as exceptional (`plans/codegen-search-tightening.md` §Phase 2: "Per-entity
22
+ * cap of 3" / "slice to at most 3 fields"), so 3 is the absolute backstop. This
23
+ * cap kicks in after eligibility filtering — fields blocked by other guardrails
24
+ * don't count against the cap.
25
+ */
26
+ export const MAX_SEARCHABLE_FIELDS_PER_ENTITY = 3;
27
+ /**
28
+ * Match narrative field names that should never participate in plain
29
+ * (non-FTS) `LIKE` search. These force unindexed `LIKE '%term%'` scans
30
+ * even when MaxLength is small, and the data is rarely the right global-
31
+ * search target anyway. If a narrative field genuinely needs to be
32
+ * searchable, it belongs in `fullTextSearchFields[]` on an FTS-enabled
33
+ * entity, not in `searchableFields`.
34
+ *
35
+ * Matches:
36
+ * - Exact names: Comments, Note(s), Description, Bio, Body, Memo,
37
+ * Summary, Content, Remark(s), Details
38
+ * - Suffix variants: ReleaseNotes, EndpointDescription, BodyText
39
+ *
40
+ * The suffix half is the noisier matcher — false positives on names
41
+ * like `ReleaseNotes` or `RequestBody` are intentional (those are also
42
+ * narrative content), but if a real-world entity gets caught
43
+ * unfairly, an operator can set `AutoUpdateIncludeInUserSearchAPI=0`
44
+ * on that field to opt out of LLM-driven flips.
45
+ */
46
+ export function isNarrativeFieldName(fieldName) {
47
+ if (!fieldName)
48
+ return false;
49
+ const exact = /^(Comments?|Notes?|Description|Bio|Body|Memo|Summary|Content|Remarks?|Details)$/i;
50
+ if (exact.test(fieldName))
51
+ return true;
52
+ const suffix = /(Comment|Note|Description|Bio|Body|Memo|Summary|Content|Remark)s?$/i;
53
+ return suffix.test(fieldName);
54
+ }
55
+ /**
56
+ * Identifier-shaped field names — values users type in full, where `Exact`
57
+ * is the right predicate by default.
58
+ */
59
+ export function isIdentifierFieldName(fieldName) {
60
+ if (!fieldName)
61
+ return false;
62
+ return /^(Email|SKU|SSN|ISBN|ZipCode|PostalCode|Phone(Number)?|.+(Number|Code|ID))$/i.test(fieldName)
63
+ && !/^ID$/i.test(fieldName); // bare "ID" is the PK, not an identifier
64
+ }
65
+ /**
66
+ * Name-like field names — human-readable prefixes where `BeginsWith` is the
67
+ * right predicate by default.
68
+ */
69
+ export function isNameLikeFieldName(fieldName) {
70
+ if (!fieldName)
71
+ return false;
72
+ return /^(Name|Title|FirstName|LastName|MiddleName|DisplayName|FullName|Label)$/i.test(fieldName);
73
+ }
74
+ /**
75
+ * Match entity names that are detail / line-item / step / param / mapping
76
+ * children of a parent record. These are reached through their parent — they
77
+ * are never global-search targets even when they have text columns.
78
+ *
79
+ * Whole-word boundaries on the trailing token are intentional — we don't
80
+ * want to false-positive on entities like `Stepford Cities` (silly example,
81
+ * but the principle holds).
82
+ */
83
+ export function isDetailOrLineItemEntity(entityName) {
84
+ if (!entityName)
85
+ return false;
86
+ const n = entityName.trim();
87
+ return /(\b|\s)(Details?|Lines?|Items?|Steps?|Params?|Mappings?)$/i.test(n);
88
+ }
89
+ /**
90
+ * Default predicate for a searchable field when the LLM didn't supply one
91
+ * (or supplied an inappropriate `Contains` we had to reject).
92
+ */
93
+ export function defaultPredicateFor(fieldName) {
94
+ if (isIdentifierFieldName(fieldName))
95
+ return 'Exact';
96
+ if (isNameLikeFieldName(fieldName))
97
+ return 'BeginsWith';
98
+ return 'BeginsWith';
99
+ }
100
+ /**
101
+ * Normalize a single LLM-proposed predicate against the field context.
102
+ *
103
+ * Rules:
104
+ * - `Contains` is reserved for fields included in `fullTextSearchFields[]`
105
+ * on an FTS-enabled entity. Anywhere else, we rewrite `Contains` to
106
+ * the field's default predicate.
107
+ * - `Exact` and `EndsWith` pass through unchanged.
108
+ * - `BeginsWith` passes through unchanged.
109
+ * - If the LLM didn't propose a predicate at all (or proposed one we
110
+ * rejected), fall back to `defaultPredicateFor()`.
111
+ */
112
+ export function normalizePredicate(opts) {
113
+ const { fieldName, proposed, isInFullTextSearchFields, entityFullTextSearchEnabled } = opts;
114
+ if (proposed === 'Contains') {
115
+ const ftsEligible = isInFullTextSearchFields && entityFullTextSearchEnabled;
116
+ if (ftsEligible) {
117
+ return { predicate: 'Contains', rewritten: false };
118
+ }
119
+ return { predicate: defaultPredicateFor(fieldName), rewritten: true };
120
+ }
121
+ if (proposed === 'Exact' || proposed === 'EndsWith' || proposed === 'BeginsWith') {
122
+ return { predicate: proposed, rewritten: false };
123
+ }
124
+ return { predicate: defaultPredicateFor(fieldName), rewritten: false };
125
+ }
126
+ /**
127
+ * Per-entity cap. Given an already-eligible list of field names (PK / type /
128
+ * narrative guardrails have already run), trim to the configured cap,
129
+ * preferring name-like and identifier-shaped fields over ambiguous matches.
130
+ */
131
+ export function applySearchableFieldsCap(eligibleFieldNames) {
132
+ if (eligibleFieldNames.length <= MAX_SEARCHABLE_FIELDS_PER_ENTITY) {
133
+ return { accepted: [...eligibleFieldNames], dropped: [] };
134
+ }
135
+ // Stable-sort by preference rank (name-like first, then identifier, then
136
+ // anything else), preserving original order within each rank.
137
+ const ranked = eligibleFieldNames.map((name, idx) => ({
138
+ name,
139
+ idx,
140
+ rank: isNameLikeFieldName(name) ? 0 : isIdentifierFieldName(name) ? 1 : 2,
141
+ }));
142
+ ranked.sort((a, b) => a.rank - b.rank || a.idx - b.idx);
143
+ const accepted = ranked.slice(0, MAX_SEARCHABLE_FIELDS_PER_ENTITY).map(r => r.name);
144
+ const acceptedSet = new Set(accepted);
145
+ const dropped = eligibleFieldNames.filter(n => !acceptedSet.has(n));
146
+ return { accepted, dropped };
147
+ }
148
+ /**
149
+ * First-pass cleanup of the raw LLM result, applied immediately after the
150
+ * model returns. Catches contradictory shapes the LLM occasionally emits.
151
+ *
152
+ * - If `allowUserSearch === false`, force `searchableFields` and
153
+ * `searchPredicates` to empty (the entity is opted out — any field-level
154
+ * flags would be no-ops at best, misleading at worst).
155
+ * - If `searchableFields` is empty, force `allowUserSearch` to `false`.
156
+ * - Deduplicate `searchableFields` while preserving order.
157
+ *
158
+ * Returns a NEW object (does not mutate the input).
159
+ */
160
+ export function normalizeSmartFieldResultShape(result) {
161
+ const out = { ...result };
162
+ const fields = Array.isArray(out.searchableFields) ? out.searchableFields : [];
163
+ // Dedupe while preserving order.
164
+ const seen = new Set();
165
+ const deduped = [];
166
+ for (const name of fields) {
167
+ if (typeof name === 'string' && name.length > 0 && !seen.has(name)) {
168
+ seen.add(name);
169
+ deduped.push(name);
170
+ }
171
+ }
172
+ out.searchableFields = deduped;
173
+ if (out.allowUserSearch === false) {
174
+ out.searchableFields = [];
175
+ out.searchPredicates = [];
176
+ }
177
+ else if (deduped.length === 0) {
178
+ out.allowUserSearch = false;
179
+ out.searchPredicates = [];
180
+ }
181
+ return out;
182
+ }
183
+ /**
184
+ * Heuristic: does the entity name match an audit / log / run-history /
185
+ * change-tracking shape? Mirrors the existing `isLikelyLogOrAuditEntity`
186
+ * heuristic on `ManageMetadataBase` so callers outside the class (e.g.
187
+ * tests) can ask the same question without having to subclass.
188
+ */
189
+ export function isLikelyLogOrAuditEntityName(name) {
190
+ if (!name)
191
+ return false;
192
+ const n = name.trim();
193
+ if (/\bLogs?$/i.test(n))
194
+ return true;
195
+ if (/\bAudit\b/i.test(n))
196
+ return true;
197
+ if (/\bRecord Changes?$/i.test(n))
198
+ return true;
199
+ if (/\bRuns?$/i.test(n) && !/Test Runs?$/i.test(n))
200
+ return true;
201
+ if (/\bRun (History|Steps|Messages)$/i.test(n))
202
+ return true;
203
+ if (/\bExecution Logs?$/i.test(n))
204
+ return true;
205
+ return false;
206
+ }
207
+ /**
208
+ * Decide whether an LLM-proposed entity-level enable (0 → 1 flip on
209
+ * `AllowUserSearchAPI`) should be allowed through. Returns a reason string
210
+ * when blocked, `null` when accepted.
211
+ *
212
+ * The plan's gating conditions:
213
+ * - `confidence === 'high'`
214
+ * - `acceptedSearchableFields.length >= 1` (post-guardrail)
215
+ * - entity is NOT log/audit-shaped
216
+ * - entity is NOT detail/line-item-shaped
217
+ */
218
+ export function entityLevelEnableBlockedReason(opts) {
219
+ if (opts.confidence !== 'high') {
220
+ return `confidence is '${opts.confidence ?? 'unknown'}' (need 'high')`;
221
+ }
222
+ if (opts.acceptedSearchableFieldsCount < 1) {
223
+ return 'no searchable fields survived guardrails';
224
+ }
225
+ if (isLikelyLogOrAuditEntityName(opts.entityName)) {
226
+ return 'entity name matches log/audit/run-history shape';
227
+ }
228
+ if (isDetailOrLineItemEntity(opts.entityName)) {
229
+ return 'entity name matches detail/line-item/step/param/mapping shape';
230
+ }
231
+ return null;
232
+ }
233
+ //# sourceMappingURL=search-guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-guardrails.js","sourceRoot":"","sources":["../../src/Database/search-guardrails.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAKvF,OAAO,gDAAgD,CAAC;AAYxD;;GAEG;AACH,qBAAa,cAAc;IAC3B,OAAO,CAAC,WAAW,CAAwC;IAE3D;;;;;;;;;;OAUG;IACH,SAAS,KAAK,UAAU,IAAI,uBAAuB,CAgBlD;IAED;;;;;;;;;;;;OAYG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,2BAA2B,GAAG,OAAO,EAC/D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,OAAO,GAAG,MAAM;IAUjE;;;;OAIG;IACI,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EAAE;IAgEpE;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAexC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiBb,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEpJ,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE;IAe9C,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAc1C,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5H;;;;;OAKG;YACW,2BAA2B;IAgBzC;;;;;;;;;;;;;OAaG;YACW,yBAAyB;IAsD1B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5F,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAa;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B3D,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAc9G"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAKvF,OAAO,gDAAgD,CAAC;AAYxD;;GAEG;AACH,qBAAa,cAAc;IAC3B,OAAO,CAAC,WAAW,CAAwC;IAE3D;;;;;;;;;;OAUG;IACH,SAAS,KAAK,UAAU,IAAI,uBAAuB,CAgBlD;IAED;;;;;;;;;;;;OAYG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,2BAA2B,GAAG,OAAO,EAC/D,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,OAAO,GAAG,MAAM;IAUjE;;;;OAIG;IACI,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,EAAE;IAgEpE;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IAexC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiBb,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA+FpJ,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE;IAkB9C,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAc1C,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5H;;;;;OAKG;YACW,2BAA2B;IAmBzC;;;;;;;;;;;;;OAaG;YACW,yBAAyB;IAwD1B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5F,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAa;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B3D,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAc9G"}
@@ -186,11 +186,34 @@ export class SQLUtilityBase {
186
186
  e.IncludeInAPI &&
187
187
  !e.VirtualEntity &&
188
188
  (!excludeEntities || !excludeEntities.includes(e.Name)));
189
+ // LAYERED entities are a subset of the above — BaseViewGenerated is false because the
190
+ // application owns BaseView, but CodeGen still writes the INNER view, so unlike a fully
191
+ // custom view that inner half CAN be regenerated when it fails to refresh.
192
+ const layeredEntities = customViewEntities.filter(e => e.HasLayeredBaseView);
189
193
  let sqlCommand = '';
190
194
  if (this.dbProvider.NeedsViewRefresh) {
191
- // Refresh custom views first so they're up to date before generated views are processed
195
+ // Refresh custom views first so they're up to date before generated views are processed.
196
+ //
197
+ // LAYERED entities need their INNER view refreshed BEFORE the outer one. The custom view
198
+ // selects `g.*` from the generated view, and SQL Server caches a view's column list when the
199
+ // view is created: refreshing the outer against a stale inner re-caches the OLD column set,
200
+ // so a newly added column stays missing. That failure is indistinguishable from the column
201
+ // never having been added at all, which is why the order is explicit rather than incidental.
202
+ //
203
+ // Both halves are guarded on existence, because on the first run after layering is enabled
204
+ // NEITHER exists yet: the inner view is created later in this same run, and the outer one
205
+ // only afterwards by an application migration that selects from it. An unguarded refresh
206
+ // would fail the whole run on the one pass that is supposed to bootstrap the arrangement.
207
+ // The missing inner view is not lost — identifyFailedViewRefreshes below detects and
208
+ // regenerates it.
209
+ for (const entity of layeredEntities) {
210
+ sqlCommand += this.dbProvider.generateIfViewExistsSQL(entity.SchemaName, entity.GeneratedViewName, this.dbProvider.generateViewRefreshSQL(entity.SchemaName, entity.GeneratedViewName));
211
+ }
192
212
  for (const entity of customViewEntities) {
193
- sqlCommand += this.dbProvider.generateViewRefreshSQL(entity.SchemaName, entity.BaseView);
213
+ const refreshSQL = this.dbProvider.generateViewRefreshSQL(entity.SchemaName, entity.BaseView);
214
+ sqlCommand += entity.HasLayeredBaseView
215
+ ? this.dbProvider.generateIfViewExistsSQL(entity.SchemaName, entity.BaseView, refreshSQL)
216
+ : refreshSQL;
194
217
  }
195
218
  for (const entity of l) {
196
219
  // if an excludeEntities variable was provided, skip this entity if it's in the list
@@ -201,9 +224,10 @@ export class SQLUtilityBase {
201
224
  }
202
225
  // Execute the initial refresh attempts (custom views + generated views together)
203
226
  bSuccess = await this.executeSQLScript(ds, sqlCommand, false) && bSuccess;
204
- // Now check which *generated* views failed to refresh and regenerate them.
205
- // Custom views are not in this list — we can't regenerate a custom view.
206
- const failedEntities = await this.identifyFailedViewRefreshes(ds, l);
227
+ // Now check which CodeGen-OWNED views failed to refresh and regenerate them. A fully custom
228
+ // view is not in this list — we can't regenerate one. A layered entity IS, because the view
229
+ // CodeGen writes for it is the inner one, and `GeneratedViewName` resolves to exactly that.
230
+ const failedEntities = await this.identifyFailedViewRefreshes(ds, [...l, ...layeredEntities]);
207
231
  if (failedEntities.length > 0) {
208
232
  logMessage(`Detected ${failedEntities.length} views that failed to refresh. Attempting to regenerate view definitions...`, 'Info');
209
233
  // Regenerate the failed views using the SQL CodeGen approach
@@ -223,8 +247,11 @@ export class SQLUtilityBase {
223
247
  }
224
248
  getBaseViewFiles(entity) {
225
249
  const files = [];
226
- const baseViewFile = this.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, false, entity.BaseViewGenerated);
227
- const baseViewPermissionsFile = this.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, true, entity.BaseViewGenerated);
250
+ // The VIEW file holds what CodeGen wrote — the inner view for a layered entity. The PERMISSIONS
251
+ // file targets the PUBLIC view, because that is the object consumers read.
252
+ const isGenerated = entity.BaseViewGenerated || entity.HasLayeredBaseView;
253
+ const baseViewFile = this.getDBObjectFileName('view', entity.SchemaName, entity.GeneratedViewName, false, isGenerated);
254
+ const baseViewPermissionsFile = this.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, true, isGenerated);
228
255
  const baseViewFilePath = path.join(outputDir('SQL', true), baseViewFile);
229
256
  const baseViewPermissionsFilePath = path.join(outputDir('SQL', true), baseViewPermissionsFile);
230
257
  if (fs.existsSync(baseViewFilePath)) {
@@ -272,11 +299,14 @@ export class SQLUtilityBase {
272
299
  const failedEntities = [];
273
300
  for (const entity of entities) {
274
301
  try {
275
- const testQuery = this.dbProvider.generateViewTestQuerySQL(entity.SchemaName, entity.BaseView);
302
+ // GeneratedViewName, not BaseView: for a layered entity the object CodeGen can actually
303
+ // rebuild is the inner view. Testing the application-owned outer view instead would report
304
+ // failures regeneration cannot fix. Identical to BaseView for every non-layered entity.
305
+ const testQuery = this.dbProvider.generateViewTestQuerySQL(entity.SchemaName, entity.GeneratedViewName);
276
306
  await ds.query(testQuery);
277
307
  }
278
308
  catch (e) {
279
- logMessage(`View ${entity.SchemaName}.${entity.BaseView} is invalid and will be regenerated`, 'Warning');
309
+ logMessage(`View ${entity.SchemaName}.${entity.GeneratedViewName} is invalid and will be regenerated`, 'Warning');
280
310
  failedEntities.push(entity);
281
311
  }
282
312
  }
@@ -304,7 +334,9 @@ export class SQLUtilityBase {
304
334
  // restoring dependents that CodeGen is about to rebuild with a fresh
305
335
  // definition — the stale captured definition could otherwise be
306
336
  // incompatible with the newly-regenerated target.
307
- const willRegenerate = new Set(entities.map(e => `${e.SchemaName}.${e.BaseView}`));
337
+ // Keyed on the view CodeGen writes — the inner view for a layered entity — since that is the
338
+ // object about to be rebuilt with a fresh definition.
339
+ const willRegenerate = new Set(entities.map(e => `${e.SchemaName}.${e.GeneratedViewName}`));
308
340
  for (const entity of entities) {
309
341
  try {
310
342
  logMessage(`Regenerating base view for ${entity.Name}...`, 'Info');
@@ -1 +1 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"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"}
@@ -176,6 +176,19 @@ export declare class SQLCodeGenBase {
176
176
  protected getModifiedCustomBaseViewEntities(): EntityInfo[];
177
177
  /**
178
178
  * Builds a combined SQL string of sp_refreshview statements for the given entities.
179
+ *
180
+ * For a LAYERED entity the outer refresh is guarded on the application-owned `BaseView`
181
+ * existing, matching {@link generateCustomBaseViewRefreshAndPermissions}. On the first pass
182
+ * after layering is enabled the outer view cannot exist yet — it selects from the inner view
183
+ * that same pass creates — so an unguarded refresh here fails the documented setup procedure.
184
+ *
185
+ * The inner view is refreshed first, before the outer. That ordering is defensive rather than
186
+ * load-bearing: every entity reaching this method is in the modified/new list (see
187
+ * {@link getModifiedCustomBaseViewEntities}), and `logSQLForNewOrModifiedEntity` forces a
188
+ * modified entity's base view DDL into the same migration regardless of whether its text
189
+ * changed — so the inner view is already dropped and recreated in an earlier step, which
190
+ * resets its cached column list more thoroughly than a refresh would. The ordering is kept
191
+ * anyway so this path cannot become wrong if that coupling is ever loosened.
179
192
  */
180
193
  protected buildCustomBaseViewRefreshSQL(entities: EntityInfo[]): string;
181
194
  generateSingleEntitySQLToSeparateFiles(options: {
@@ -271,6 +284,33 @@ export declare class SQLCodeGenBase {
271
284
  viewPermSQL: string;
272
285
  }>;
273
286
  protected generateViewPermissions(entity: EntityInfo): string;
287
+ /**
288
+ * Emits the refresh + permission statements for an entity whose `BaseView` CodeGen does NOT
289
+ * write — fully custom, or the application-owned outer half of a layered entity.
290
+ *
291
+ * The refresh runs before the grants so SQL Server picks up schema changes (new columns from
292
+ * migrations) before permissions are applied; developers no longer add it by hand.
293
+ *
294
+ * Two things are specific to LAYERED entities:
295
+ *
296
+ * - **Inner before outer.** The custom view selects `g.*` from the generated one, and a view
297
+ * caches its column list. Refreshing the outer against a stale inner re-caches the OLD
298
+ * columns, so a newly added column stays missing — indistinguishable from never having been
299
+ * added at all, which is the exact failure layering exists to eliminate.
300
+ * - **The outer view may not exist yet.** On the first pass after layering is enabled it cannot
301
+ * exist: it selects from the inner view that this very pass creates. Unguarded, the refresh
302
+ * and the `GRANT` both fail — and the step they fail on is the documented setup procedure, so
303
+ * there would be no way to adopt the feature at all. Guarding makes the bootstrap pass skip
304
+ * them and leaves every later pass identical to the unguarded form.
305
+ */
306
+ protected generateCustomBaseViewRefreshAndPermissions(entity: EntityInfo, permissionsHeader: string, permissionsBody: string): string;
307
+ /**
308
+ * Wraps SQL in an existence check on the application-owned `BaseView`, but only for a layered
309
+ * entity — that is the one arrangement where the view legitimately may not exist yet. For a
310
+ * fully custom base view the object is a standing prerequisite, so a missing one stays a loud
311
+ * failure rather than becoming a silent skip.
312
+ */
313
+ private guardOnApplicationOwnedView;
274
314
  protected generateBaseViewJoins(entity: EntityInfo, entityFields: EntityFieldInfo[]): string;
275
315
  /**
276
316
  * Check if an entity has native latitude/longitude fields marked with GeoLatitude/GeoLongitude ExtendedType.
@@ -1 +1 @@
1
- {"version":3,"file":"sql_codegen.d.ts","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql_codegen.d.ts","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}