@memberjunction/codegen-lib 6.1.0-edge.6 → 6.1.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 (56) hide show
  1. package/dist/Config/config.d.ts +22 -37
  2. package/dist/Config/config.d.ts.map +1 -1
  3. package/dist/Config/config.js +35 -12
  4. package/dist/Config/config.js.map +1 -1
  5. package/dist/Database/codeGenDatabaseProvider.d.ts +45 -0
  6. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  7. package/dist/Database/codeGenDatabaseProvider.js +12 -0
  8. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  9. package/dist/Database/manage-metadata.d.ts +34 -2
  10. package/dist/Database/manage-metadata.d.ts.map +1 -1
  11. package/dist/Database/manage-metadata.js +72 -61
  12. package/dist/Database/manage-metadata.js.map +1 -1
  13. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +8 -0
  14. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  15. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +24 -2
  16. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  17. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +46 -1
  18. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  19. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +128 -7
  20. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  21. package/dist/Database/reconcileFieldLevelSecurity.d.ts +22 -0
  22. package/dist/Database/reconcileFieldLevelSecurity.d.ts.map +1 -0
  23. package/dist/Database/reconcileFieldLevelSecurity.js +47 -0
  24. package/dist/Database/reconcileFieldLevelSecurity.js.map +1 -0
  25. package/dist/Database/sql_codegen.d.ts +25 -0
  26. package/dist/Database/sql_codegen.d.ts.map +1 -1
  27. package/dist/Database/sql_codegen.js +99 -0
  28. package/dist/Database/sql_codegen.js.map +1 -1
  29. package/dist/Misc/advanced_generation.d.ts +10 -0
  30. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  31. package/dist/Misc/advanced_generation.js +35 -0
  32. package/dist/Misc/advanced_generation.js.map +1 -1
  33. package/dist/Misc/graphql_server_codegen.d.ts +39 -0
  34. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  35. package/dist/Misc/graphql_server_codegen.js +51 -4
  36. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  37. package/dist/Misc/remote_operations_codegen.d.ts +36 -1
  38. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
  39. package/dist/Misc/remote_operations_codegen.js +174 -5
  40. package/dist/Misc/remote_operations_codegen.js.map +1 -1
  41. package/dist/index.d.ts +0 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +0 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/runCodeGen.d.ts.map +1 -1
  46. package/dist/runCodeGen.js +94 -13
  47. package/dist/runCodeGen.js.map +1 -1
  48. package/package.json +29 -29
  49. package/dist/Database/decision-metadata-format.d.ts +0 -124
  50. package/dist/Database/decision-metadata-format.d.ts.map +0 -1
  51. package/dist/Database/decision-metadata-format.js +0 -279
  52. package/dist/Database/decision-metadata-format.js.map +0 -1
  53. package/dist/Database/decision-metadata-writer.d.ts +0 -48
  54. package/dist/Database/decision-metadata-writer.d.ts.map +0 -1
  55. package/dist/Database/decision-metadata-writer.js +0 -482
  56. package/dist/Database/decision-metadata-writer.js.map +0 -1
@@ -6,6 +6,37 @@ import { AIPromptParams } from "@memberjunction/ai-core-plus";
6
6
  import { AIEngine } from "@memberjunction/aiengine";
7
7
  import { CodeGenReporter } from "./codegen-reporter.js";
8
8
  import { normalizeSmartFieldResultShape } from "../Database/search-guardrails.js";
9
+ /** Width of `Entity.Name`; a candidate longer than this cannot be inserted. */
10
+ const MAX_ENTITY_NAME_LENGTH = 255;
11
+ /**
12
+ * Tokens a model returns in place of a name when it has no answer. Compared case-insensitively
13
+ * against the trimmed candidate.
14
+ */
15
+ const NON_NAME_SENTINELS = new Set([
16
+ 'null', 'undefined', 'none', 'n/a', 'na', 'error', 'unknown', 'entityname', 'entity name'
17
+ ]);
18
+ /**
19
+ * True when `candidate` could plausibly be an entity name: a non-empty string that fits the column,
20
+ * contains at least one run of two letters, and is not a bare non-answer token.
21
+ *
22
+ * Exists because a model can — and did — answer the entity-name prompt with `-1`. Nothing between the
23
+ * prompt and the INSERT questioned it: the name became `-1`, the INSERT failed on the metadata
24
+ * constraints, the failure was logged and swallowed, and CodeGen carried on reporting success with the
25
+ * table silently absent. Eleven of twenty-seven tables vanished from one connector that way.
26
+ */
27
+ export function isPlausibleEntityName(candidate) {
28
+ if (typeof candidate !== 'string') {
29
+ return false;
30
+ }
31
+ const name = candidate.trim();
32
+ if (name.length === 0 || name.length > MAX_ENTITY_NAME_LENGTH) {
33
+ return false;
34
+ }
35
+ if (NON_NAME_SENTINELS.has(name.toLowerCase())) {
36
+ return false;
37
+ }
38
+ return /[A-Za-z]{2,}/.test(name);
39
+ }
9
40
  /**
10
41
  * Enhanced Advanced Generation system using MJ's AI Prompts architecture.
11
42
  * All prompts are now stored in the database as AI Prompt entities with proper model configuration.
@@ -455,6 +486,10 @@ export class AdvancedGeneration {
455
486
  params.contextUser = contextUser;
456
487
  const result = await this.executePrompt(params);
457
488
  if (result.success && result.result) {
489
+ if (!isPlausibleEntityName(result.result.entityName)) {
490
+ LogError(`AdvancedGeneration:Entity name generation for ${tableName} returned ${JSON.stringify(result.result.entityName)}, which is not a name; the table-derived name will be used instead`);
491
+ return null;
492
+ }
458
493
  LogStatus(`Entity name generated for ${tableName}: ${result.result.entityName}`);
459
494
  return result.result;
460
495
  }
@@ -1 +1 @@
1
- {"version":3,"file":"advanced_generation.js","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced_generation.js","sourceRoot":"","sources":["../../src/Misc/advanced_generation.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,45 @@ export declare class GraphQLServerGeneratorBase {
44
44
  generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string): string;
45
45
  protected generateServerEntityHeader(entity: EntityInfo, serverGraphQLTypeName: string): string;
46
46
  protected generateServerEntityFooter(entity: EntityInfo): string;
47
+ /**
48
+ * Emits the field-security transport field onto every generated object type.
49
+ *
50
+ * Present on ALL entities, not just those with `EnableFieldLevelSecurity` — the schema is a
51
+ * build artifact and that flag is runtime metadata an administrator can toggle in Explorer, so
52
+ * a schema whose SHAPE depended on it would be silently wrong the moment someone flipped it
53
+ * without re-running CodeGen. It is nullable and the server leaves it null for unrestricted
54
+ * callers, so it costs nothing on the overwhelming majority of requests.
55
+ *
56
+ * See {@link ReadableFieldsTransportKey} for what it carries and why it names readable rather
57
+ * than denied fields.
58
+ */
59
+ protected generateReadableFieldsTransportField(): string;
60
+ /**
61
+ * Whether an OUTPUT-type field may be marked non-nullable in the generated GraphQL schema.
62
+ *
63
+ * The rule is deliberately NOT `AllowsNull`. A column's NOT NULL constraint and a GraphQL
64
+ * field's `!` say different things:
65
+ *
66
+ * - NOT NULL — no ROW stores an empty value in this column.
67
+ * - `String!` — every RESPONSE, to every caller, carries a value for this field.
68
+ *
69
+ * The second does not follow from the first. It only coincided while every caller saw every
70
+ * column of every row they could read. Field-level security ends that: a denied field is
71
+ * OMITTED from the response (`ResolverBase.MapFieldNamesToCodeNames`), and GraphQL treats an
72
+ * absent value on a non-nullable field as an error that propagates up to the nearest nullable
73
+ * parent — nulling the whole record on a single-record load, the whole query on a typed list,
74
+ * and failing the mutation RESPONSE after the write already landed.
75
+ *
76
+ * So presence is promised only where FLS is structurally incapable of stripping the field:
77
+ * primary keys (hard and soft) and `__mj_` system columns — exactly
78
+ * {@link EntityFieldInfo.IsUnrestrictableField}, the same predicate the runtime aggregation and
79
+ * the save-time guard use. Anything else can legitimately be absent for SOME caller, so the
80
+ * schema must not promise otherwise.
81
+ *
82
+ * INPUT types are unaffected and keep deriving from `AllowsNull` — they carry the WRITE
83
+ * contract, which the database constraint does still govern.
84
+ */
85
+ protected isNonNullableServerField(fieldInfo: EntityFieldInfo): boolean;
47
86
  protected generateServerField(fieldInfo: EntityFieldInfo): string;
48
87
  /**
49
88
  * Maps a column's SQL type to the TypeGraphQL `@Field(...)` type-fn argument.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAkG,MAAM,sBAAsB,CAAC;AAkBnK,OAAO,EACL,iBAAiB,EAQlB,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AACH,qBAAa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,EAC/C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO;IAqEV;;;OAGG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,EAC/C,gBAAgB,GAAE,OAAe,GAChC,MAAM;IAcT,uFAAuF;IACvF,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAItF,+EAA+E;IAC/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAIvF,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIlE;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIvD,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,uCAAuC,EAAE,OAAO,GAC/C,MAAM;IAqCF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAE,OAAe,GAAG,MAAM;IA6BzJ;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAyBrG,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,GACpB,MAAM;IAqBT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAqBvE,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,GAC5B,MAAM;IAgKT;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO1D,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAE,qBAAqB,EAAE,OAAO,GAAG,MAAM;IAiE3I,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;CAsEpG"}
1
+ {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAA8H,MAAM,sBAAsB,CAAC;AAkB/L,OAAO,EACL,iBAAiB,EAQlB,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AACH,qBAAa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,EAC/C,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO;IAqEV;;;OAGG;IACI,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,EAC/C,gBAAgB,GAAE,OAAe,GAChC,MAAM;IAcT,uFAAuF;IACvF,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAItF,+EAA+E;IAC/E,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,IAAI;IAIvF,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIlE;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIvD,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,uCAAuC,EAAE,OAAO,GAC/C,MAAM;IAqCF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,GAAE,OAAe,GAAG,MAAM;IA6BzJ;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAyBrG,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,GACpB,MAAM;IAqBT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,oCAAoC,IAAI,MAAM;IAOxD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO;IAIvE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAgBjE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAqBvE,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,GAC5B,MAAM;IAgKT;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO1D,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAE,qBAAqB,EAAE,OAAO,GAAG,MAAM;IAiE3I,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;CAsEpG"}
@@ -1,4 +1,4 @@
1
- import { TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
1
+ import { ReadableFieldsTransportKey, TypeScriptTypeFromSQLType, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
2
2
  import { IsBinarySQLType, IsBooleanSQLType, IsCurrencySQLType, IsDateSQLType, IsFloatSQLType, IsStringSQLType, IsUuidSQLType, } from '@memberjunction/sql-dialect';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
@@ -223,20 +223,67 @@ export class ${serverGraphQLTypeName} {`;
223
223
  generateServerEntityFooter(entity) {
224
224
  if (!entity)
225
225
  logError('entity parameter must be passed in to generateServerEntityFooter()');
226
- return `\n}`;
226
+ return `${this.generateReadableFieldsTransportField()}\n}`;
227
+ }
228
+ /**
229
+ * Emits the field-security transport field onto every generated object type.
230
+ *
231
+ * Present on ALL entities, not just those with `EnableFieldLevelSecurity` — the schema is a
232
+ * build artifact and that flag is runtime metadata an administrator can toggle in Explorer, so
233
+ * a schema whose SHAPE depended on it would be silently wrong the moment someone flipped it
234
+ * without re-running CodeGen. It is nullable and the server leaves it null for unrestricted
235
+ * callers, so it costs nothing on the overwhelming majority of requests.
236
+ *
237
+ * See {@link ReadableFieldsTransportKey} for what it carries and why it names readable rather
238
+ * than denied fields.
239
+ */
240
+ generateReadableFieldsTransportField() {
241
+ return `
242
+ @Field(() => [String], { nullable: true, description: \`Field-level security: when non-null, the fields on this entity the calling user may read. Any other field arriving as null was withheld by the server rather than genuinely empty. Null for callers with no field restrictions.\` })
243
+ ${ReadableFieldsTransportKey}?: string[];
244
+ `;
245
+ }
246
+ /**
247
+ * Whether an OUTPUT-type field may be marked non-nullable in the generated GraphQL schema.
248
+ *
249
+ * The rule is deliberately NOT `AllowsNull`. A column's NOT NULL constraint and a GraphQL
250
+ * field's `!` say different things:
251
+ *
252
+ * - NOT NULL — no ROW stores an empty value in this column.
253
+ * - `String!` — every RESPONSE, to every caller, carries a value for this field.
254
+ *
255
+ * The second does not follow from the first. It only coincided while every caller saw every
256
+ * column of every row they could read. Field-level security ends that: a denied field is
257
+ * OMITTED from the response (`ResolverBase.MapFieldNamesToCodeNames`), and GraphQL treats an
258
+ * absent value on a non-nullable field as an error that propagates up to the nearest nullable
259
+ * parent — nulling the whole record on a single-record load, the whole query on a typed list,
260
+ * and failing the mutation RESPONSE after the write already landed.
261
+ *
262
+ * So presence is promised only where FLS is structurally incapable of stripping the field:
263
+ * primary keys (hard and soft) and `__mj_` system columns — exactly
264
+ * {@link EntityFieldInfo.IsUnrestrictableField}, the same predicate the runtime aggregation and
265
+ * the save-time guard use. Anything else can legitimately be absent for SOME caller, so the
266
+ * schema must not promise otherwise.
267
+ *
268
+ * INPUT types are unaffected and keep deriving from `AllowsNull` — they carry the WRITE
269
+ * contract, which the database constraint does still govern.
270
+ */
271
+ isNonNullableServerField(fieldInfo) {
272
+ return fieldInfo.IsUnrestrictableField;
227
273
  }
228
274
  generateServerField(fieldInfo) {
229
275
  const fieldString = this.getTypeGraphQLFieldString(fieldInfo);
230
276
  // use a special codename for graphql because if we start with __mj we will replace with _mj_ as we can't start with __ it has meaning in graphql
231
277
  const codeName = fieldInfo.CodeName.startsWith('__mj') ? '_mj_' + fieldInfo.CodeName.substring(4) : fieldInfo.CodeName;
278
+ const nullable = !this.isNonNullableServerField(fieldInfo);
232
279
  let fieldOptions = '';
233
- if (fieldInfo.AllowsNull)
280
+ if (nullable)
234
281
  fieldOptions += 'nullable: true';
235
282
  if (fieldInfo.Description !== null && fieldInfo.Description.trim().length > 0)
236
283
  fieldOptions += (fieldOptions.length > 0 ? ', ' : '') + `description: \`${fieldInfo.Description.replace(/`/g, "\\`")}\``;
237
284
  return `
238
285
  @Field(${fieldString}${fieldOptions.length > 0 ? (fieldString == '' ? '' : ', ') + `{${fieldOptions}}` : ''}) ${fieldInfo.MaxLength > 0 && fieldString == '' /*string*/ ? '\n @MaxLength(' + fieldInfo.MaxLength + ')' : ''}
239
- ${codeName}${fieldInfo.AllowsNull ? '?' : ''}: ${TypeScriptTypeFromSQLType(fieldInfo.Type)};
286
+ ${codeName}${nullable ? '?' : ''}: ${TypeScriptTypeFromSQLType(fieldInfo.Type)};
240
287
  `;
241
288
  }
242
289
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql_server_codegen.js","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,27 @@ import { MJRemoteOperationEntity } from '@memberjunction/core-entities';
6
6
  * never declares them. All are exported by `@memberjunction/core`.
7
7
  */
8
8
  export declare const DEFAULT_REMOTE_OP_LIBRARY_ITEMS: ReadonlyArray<string>;
9
+ /**
10
+ * Minimal entity descriptor shape needed to resolve a Remote Operation's schema.
11
+ */
12
+ export interface RemoteOperationEntityDescriptor {
13
+ Name: string;
14
+ BaseTable?: string;
15
+ CodeName?: string;
16
+ SchemaName: string;
17
+ }
18
+ /**
19
+ * Resolves the logical schema that an MJ: Remote Operations row belongs to.
20
+ *
21
+ * Precedence:
22
+ * 1. An explicit SchemaName property if present on the entity object (forward compatibility).
23
+ * 2. An entity in the entities list matching the OperationKey's namespace (authoritative entity declaration).
24
+ * 3. An OpenApp schema matching the OperationKey's namespace (anchored heuristic).
25
+ * 4. Fallback to mjCoreSchema ('__mj').
26
+ */
27
+ export declare function resolveRemoteOperationSchema(op: MJRemoteOperationEntity & {
28
+ SchemaName?: string;
29
+ }, entities: ReadonlyArray<RemoteOperationEntityDescriptor>, allSchemas: string[], mjCoreSchema?: string): string;
9
30
  /**
10
31
  * Generates the strongly-typed base class for each `MJ: Remote Operations` row — the CodeGen half of the
11
32
  * Remote Operations primitive (the typed peer of generated entity subclasses). Each row becomes a subclass
@@ -23,6 +44,12 @@ export declare const DEFAULT_REMOTE_OP_LIBRARY_ITEMS: ReadonlyArray<string>;
23
44
  * Mirrors `ActionSubClassGeneratorBase` (the other "read a custom entity's rows → emit TypeScript" generator).
24
45
  */
25
46
  export declare class RemoteOperationGeneratorBase {
47
+ /**
48
+ * Resolves the logical schema that an operation belongs to.
49
+ */
50
+ resolveOperationSchema(op: MJRemoteOperationEntity & {
51
+ SchemaName?: string;
52
+ }, entities: ReadonlyArray<RemoteOperationEntityDescriptor>, allSchemas: string[], mjCoreSchema?: string): string;
26
53
  /**
27
54
  * Emits `remote_operations.ts` into `directory`, one typed base per Active operation.
28
55
  * @param remoteOps All `MJ: Remote Operations` rows (any status; non-Active rows are skipped).
@@ -32,7 +59,15 @@ export declare class RemoteOperationGeneratorBase {
32
59
  /** True when the row carries an approved, generated body (so the emitted class is complete + registered). */
33
60
  protected hasGeneratedBody(op: MJRemoteOperationEntity): boolean;
34
61
  /**
35
- * Emits every distinct Input/Output type definition ONCE (de-duped by content), as a shared block above
62
+ * Splits a definition block containing one or more top-level declarations (with their preceding comments)
63
+ * so individual types/interfaces can be de-duplicated independently.
64
+ */
65
+ protected splitDeclarations(text: string): Array<{
66
+ name: string | null;
67
+ content: string;
68
+ }>;
69
+ /**
70
+ * Emits every distinct Input/Output type definition ONCE (de-duped by name and content), as a shared block above
36
71
  * the classes. Operations frequently share a type (e.g. the pause/resume/cancel control ops all use
37
72
  * `ProcessRunControlInput`); emitting each op's definition inline would produce duplicate-identifier errors.
38
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"remote_operations_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/remote_operations_codegen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,aAAa,CAAC,MAAM,CAAuC,CAAC;AAE1G;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,4BAA4B;IACrC;;;;OAIG;IACU,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBhH,6GAA6G;IAC7G,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO;IAShE;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,MAAM;IAexE,sHAAsH;IACtH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IA+CnF,iGAAiG;IAC1F,uBAAuB,CAAC,EAAE,EAAE,uBAAuB,GAAG,MAAM;IA0CnE,+FAA+F;IAC/F,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,uBAAuB,GAAG,MAAM;CAS9D"}
1
+ {"version":3,"file":"remote_operations_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/remote_operations_codegen.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAIxE;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,aAAa,CAAC,MAAM,CAAuC,CAAC;AAE1G;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CACxC,EAAE,EAAE,uBAAuB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EACrD,QAAQ,EAAE,aAAa,CAAC,+BAA+B,CAAC,EACxD,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,GAAE,MAAe,GAC9B,MAAM,CA+CR;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,4BAA4B;IACrC;;OAEG;IACI,sBAAsB,CACzB,EAAE,EAAE,uBAAuB,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EACrD,QAAQ,EAAE,aAAa,CAAC,+BAA+B,CAAC,EACxD,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,GAAE,MAAe,GAC9B,MAAM;IAIT;;;;OAIG;IACU,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBhH,6GAA6G;IAC7G,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO;IAShE;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoF1F;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,uBAAuB,EAAE,GAAG,MAAM;IA2BxE,sHAAsH;IACtH,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;OAKG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM;IA+CnF,iGAAiG;IAC1F,uBAAuB,CAAC,EAAE,EAAE,uBAAuB,GAAG,MAAM;IA0CnE,+FAA+F;IAC/F,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,uBAAuB,GAAG,MAAM;CAS9D"}
@@ -10,6 +10,55 @@ import { logError } from './status_logging.js';
10
10
  * never declares them. All are exported by `@memberjunction/core`.
11
11
  */
12
12
  export const DEFAULT_REMOTE_OP_LIBRARY_ITEMS = ['RunView', 'Metadata', 'RunQuery'];
13
+ /**
14
+ * Resolves the logical schema that an MJ: Remote Operations row belongs to.
15
+ *
16
+ * Precedence:
17
+ * 1. An explicit SchemaName property if present on the entity object (forward compatibility).
18
+ * 2. An entity in the entities list matching the OperationKey's namespace (authoritative entity declaration).
19
+ * 3. An OpenApp schema matching the OperationKey's namespace (anchored heuristic).
20
+ * 4. Fallback to mjCoreSchema ('__mj').
21
+ */
22
+ export function resolveRemoteOperationSchema(op, entities, allSchemas, mjCoreSchema = '__mj') {
23
+ // 1. Explicit SchemaName property if present
24
+ if (op.SchemaName && typeof op.SchemaName === 'string' && op.SchemaName.trim().length > 0) {
25
+ return op.SchemaName.trim();
26
+ }
27
+ // OperationKey is namespaced by convention: <Namespace>.<OperationName>
28
+ const opKey = (op.OperationKey || '').trim();
29
+ const keyParts = opKey.split('.');
30
+ const namespace = (keyParts[0] || '').trim().toLowerCase();
31
+ if (!namespace) {
32
+ return mjCoreSchema;
33
+ }
34
+ // 2. Entity match: an entity row authoritatively declares its schema (e.g. key 'RecordProcess.RunNow' -> entity 'Record Process' in schema '__mj')
35
+ const entityMatch = entities.find((e) => {
36
+ const bt = (e.BaseTable || '').trim().toLowerCase();
37
+ const cn = (e.CodeName || '').trim().toLowerCase();
38
+ const n = (e.Name || '').trim().toLowerCase();
39
+ return (bt === namespace ||
40
+ cn === namespace ||
41
+ n === namespace ||
42
+ n === `mj: ${namespace}` ||
43
+ n.endsWith(`: ${namespace}`) ||
44
+ n.endsWith(`: ${namespace}s`));
45
+ });
46
+ if (entityMatch && entityMatch.SchemaName) {
47
+ return entityMatch.SchemaName.trim();
48
+ }
49
+ // 3. Direct schema name match: anchored to exact namespace, '__mj_bizapps' + namespace, or suffix '_<namespace>'
50
+ const schemaMatch = allSchemas.find((s) => {
51
+ const sLower = s.trim().toLowerCase();
52
+ return (sLower === namespace ||
53
+ sLower === `__mj_bizapps${namespace}` ||
54
+ sLower.endsWith(`_${namespace}`));
55
+ });
56
+ if (schemaMatch && schemaMatch.trim().toLowerCase() !== mjCoreSchema.trim().toLowerCase()) {
57
+ return schemaMatch.trim();
58
+ }
59
+ // 4. Fallback to core schema (e.g. PredictiveStudio, TaskGraph, Workflow, RecordComparison ops without dedicated entity rows)
60
+ return mjCoreSchema;
61
+ }
13
62
  /**
14
63
  * Generates the strongly-typed base class for each `MJ: Remote Operations` row — the CodeGen half of the
15
64
  * Remote Operations primitive (the typed peer of generated entity subclasses). Each row becomes a subclass
@@ -27,6 +76,12 @@ export const DEFAULT_REMOTE_OP_LIBRARY_ITEMS = ['RunView', 'Metadata', 'RunQuery
27
76
  * Mirrors `ActionSubClassGeneratorBase` (the other "read a custom entity's rows → emit TypeScript" generator).
28
77
  */
29
78
  export class RemoteOperationGeneratorBase {
79
+ /**
80
+ * Resolves the logical schema that an operation belongs to.
81
+ */
82
+ resolveOperationSchema(op, entities, allSchemas, mjCoreSchema = '__mj') {
83
+ return resolveRemoteOperationSchema(op, entities, allSchemas, mjCoreSchema);
84
+ }
30
85
  /**
31
86
  * Emits `remote_operations.ts` into `directory`, one typed base per Active operation.
32
87
  * @param remoteOps All `MJ: Remote Operations` rows (any status; non-Active rows are skipped).
@@ -60,19 +115,133 @@ export class RemoteOperationGeneratorBase {
60
115
  op.Code.trim().length > 0);
61
116
  }
62
117
  /**
63
- * Emits every distinct Input/Output type definition ONCE (de-duped by content), as a shared block above
118
+ * Splits a definition block containing one or more top-level declarations (with their preceding comments)
119
+ * so individual types/interfaces can be de-duplicated independently.
120
+ */
121
+ splitDeclarations(text) {
122
+ const lines = text.split('\n');
123
+ const decls = [];
124
+ let currentComment = [];
125
+ let currentDecl = [];
126
+ let currentName = null;
127
+ let braceDepth = 0;
128
+ let inComment = false;
129
+ for (let i = 0; i < lines.length; i++) {
130
+ const line = lines[i];
131
+ const trimmed = line.trim();
132
+ if (braceDepth === 0 && (trimmed.startsWith('/*') || inComment)) {
133
+ if (currentDecl.length > 0) {
134
+ decls.push({ name: currentName, content: currentDecl.join('\n').trim() });
135
+ currentDecl = [];
136
+ currentName = null;
137
+ }
138
+ currentComment.push(line);
139
+ if (trimmed.includes('*/')) {
140
+ inComment = false;
141
+ }
142
+ else {
143
+ inComment = true;
144
+ }
145
+ continue;
146
+ }
147
+ if (braceDepth === 0 && trimmed.startsWith('//')) {
148
+ if (currentDecl.length > 0) {
149
+ decls.push({ name: currentName, content: currentDecl.join('\n').trim() });
150
+ currentDecl = [];
151
+ currentName = null;
152
+ }
153
+ currentComment.push(line);
154
+ continue;
155
+ }
156
+ const match = braceDepth === 0 ? line.match(/^export\s+(?:type|interface|enum|class|const)\s+([A-Za-z0-9_$]+)/) : null;
157
+ if (match) {
158
+ if (currentDecl.length > 0) {
159
+ decls.push({ name: currentName, content: currentDecl.join('\n').trim() });
160
+ currentDecl = [];
161
+ }
162
+ currentName = match[1];
163
+ if (currentComment.length > 0) {
164
+ currentDecl.push(...currentComment);
165
+ currentComment = [];
166
+ }
167
+ currentDecl.push(line);
168
+ }
169
+ else if (currentDecl.length > 0) {
170
+ currentDecl.push(line);
171
+ }
172
+ else if (trimmed.length > 0) {
173
+ currentDecl.push(...currentComment, line);
174
+ currentComment = [];
175
+ }
176
+ let inBlock = false;
177
+ let inQuote = null;
178
+ for (let j = 0; j < line.length; j++) {
179
+ const ch = line[j];
180
+ const next = line[j + 1];
181
+ if (!inBlock && !inQuote && ch === '/' && next === '/')
182
+ break;
183
+ if (!inBlock && !inQuote && ch === '/' && next === '*') {
184
+ inBlock = true;
185
+ j++;
186
+ continue;
187
+ }
188
+ if (inBlock && ch === '*' && next === '/') {
189
+ inBlock = false;
190
+ j++;
191
+ continue;
192
+ }
193
+ if (!inBlock) {
194
+ if (inQuote) {
195
+ if (ch === '\\') {
196
+ j++;
197
+ continue;
198
+ }
199
+ if (ch === inQuote)
200
+ inQuote = null;
201
+ }
202
+ else {
203
+ if (ch === "'" || ch === '"' || ch === '`')
204
+ inQuote = ch;
205
+ else if (ch === '{' || ch === '(')
206
+ braceDepth++;
207
+ else if (ch === '}' || ch === ')')
208
+ braceDepth = Math.max(0, braceDepth - 1);
209
+ }
210
+ }
211
+ }
212
+ }
213
+ if (currentDecl.length > 0) {
214
+ decls.push({ name: currentName, content: currentDecl.join('\n').trim() });
215
+ }
216
+ return decls;
217
+ }
218
+ /**
219
+ * Emits every distinct Input/Output type definition ONCE (de-duped by name and content), as a shared block above
64
220
  * the classes. Operations frequently share a type (e.g. the pause/resume/cancel control ops all use
65
221
  * `ProcessRunControlInput`); emitting each op's definition inline would produce duplicate-identifier errors.
66
222
  */
67
223
  collectTypeDefinitions(ops) {
68
- const seen = new Set();
224
+ const seenNames = new Set();
225
+ const seenContent = new Set();
69
226
  const blocks = [];
70
227
  for (const op of ops) {
71
228
  for (const def of [op.InputTypeDefinition, op.OutputTypeDefinition]) {
72
229
  const trimmed = def?.trim();
73
- if (trimmed && !seen.has(trimmed)) {
74
- seen.add(trimmed);
75
- blocks.push(trimmed);
230
+ if (!trimmed)
231
+ continue;
232
+ const decls = this.splitDeclarations(trimmed);
233
+ for (const decl of decls) {
234
+ if (decl.name) {
235
+ if (!seenNames.has(decl.name)) {
236
+ seenNames.add(decl.name);
237
+ seenContent.add(decl.content);
238
+ blocks.push(decl.content);
239
+ }
240
+ }
241
+ else if (!seenContent.has(decl.content)) {
242
+ seenContent.add(decl.content);
243
+ blocks.push(decl.content);
244
+ }
76
245
  }
77
246
  }
78
247
  }