@constructive-io/graphql-codegen 4.26.0 → 4.27.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 (41) hide show
  1. package/core/codegen/cli/command-map-generator.js +9 -9
  2. package/core/codegen/cli/custom-command-generator.js +2 -2
  3. package/core/codegen/cli/docs-generator.js +23 -31
  4. package/core/codegen/cli/index.d.ts +3 -1
  5. package/core/codegen/cli/index.js +16 -1
  6. package/core/codegen/cli/table-command-generator.d.ts +2 -0
  7. package/core/codegen/cli/table-command-generator.js +250 -36
  8. package/core/codegen/cli/utils-generator.d.ts +8 -0
  9. package/core/codegen/cli/utils-generator.js +14 -0
  10. package/core/codegen/docs-utils.d.ts +17 -0
  11. package/core/codegen/docs-utils.js +127 -0
  12. package/core/codegen/hooks-docs-generator.js +3 -3
  13. package/core/codegen/index.js +1 -1
  14. package/core/codegen/orm/docs-generator.js +3 -3
  15. package/core/codegen/orm/index.js +1 -1
  16. package/core/codegen/orm/input-types-generator.js +1 -1
  17. package/core/codegen/orm/model-generator.js +1 -1
  18. package/core/codegen/queries.js +1 -1
  19. package/core/codegen/templates/cli-utils.ts +11 -11
  20. package/core/codegen/templates/embedder.ts +175 -0
  21. package/core/generate.js +2 -0
  22. package/esm/core/codegen/cli/command-map-generator.js +1 -1
  23. package/esm/core/codegen/cli/custom-command-generator.js +1 -1
  24. package/esm/core/codegen/cli/docs-generator.js +7 -15
  25. package/esm/core/codegen/cli/index.d.ts +3 -1
  26. package/esm/core/codegen/cli/index.js +16 -2
  27. package/esm/core/codegen/cli/table-command-generator.d.ts +2 -0
  28. package/esm/core/codegen/cli/table-command-generator.js +250 -36
  29. package/esm/core/codegen/cli/utils-generator.d.ts +8 -0
  30. package/esm/core/codegen/cli/utils-generator.js +13 -0
  31. package/esm/core/codegen/docs-utils.d.ts +17 -0
  32. package/esm/core/codegen/docs-utils.js +125 -0
  33. package/esm/core/codegen/hooks-docs-generator.js +1 -1
  34. package/esm/core/codegen/index.js +1 -1
  35. package/esm/core/codegen/orm/docs-generator.js +1 -1
  36. package/esm/core/codegen/orm/index.js +1 -1
  37. package/esm/core/codegen/orm/input-types-generator.js +1 -1
  38. package/esm/core/codegen/orm/model-generator.js +1 -1
  39. package/esm/core/codegen/queries.js +1 -1
  40. package/esm/core/generate.js +2 -0
  41. package/package.json +8 -9
@@ -36,7 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generateCommandMap = generateCommandMap;
37
37
  exports.generateMultiTargetCommandMap = generateMultiTargetCommandMap;
38
38
  const t = __importStar(require("@babel/types"));
39
- const komoji_1 = require("komoji");
39
+ const inflekt_1 = require("inflekt");
40
40
  const babel_ast_1 = require("../babel-ast");
41
41
  const utils_1 = require("../utils");
42
42
  function createImportDeclaration(moduleSpecifier, defaultImportName) {
@@ -81,13 +81,13 @@ function generateCommandMap(tables, customOperations, toolName) {
81
81
  statements.push(createImportDeclaration('./commands/auth', 'authCmd'));
82
82
  for (const table of tables) {
83
83
  const { singularName } = (0, utils_1.getTableNames)(table);
84
- const kebab = (0, komoji_1.toKebabCase)(singularName);
84
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
85
85
  const importName = `${singularName}Cmd`;
86
86
  commandEntries.push({ kebab, importName });
87
87
  statements.push(createImportDeclaration(`./commands/${kebab}`, importName));
88
88
  }
89
89
  for (const op of customOperations) {
90
- const kebab = (0, komoji_1.toKebabCase)(op.name);
90
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
91
91
  const importName = `${op.name}Cmd`;
92
92
  commandEntries.push({ kebab, importName });
93
93
  statements.push(createImportDeclaration(`./commands/${kebab}`, importName));
@@ -115,11 +115,11 @@ function generateCommandMap(tables, customOperations, toolName) {
115
115
  ];
116
116
  for (const table of tables) {
117
117
  const { singularName } = (0, utils_1.getTableNames)(table);
118
- const kebab = (0, komoji_1.toKebabCase)(singularName);
118
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
119
119
  usageLines.push(` ${kebab.padEnd(20)} ${singularName} CRUD operations`);
120
120
  }
121
121
  for (const op of customOperations) {
122
- const kebab = (0, komoji_1.toKebabCase)(op.name);
122
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
123
123
  usageLines.push(` ${kebab.padEnd(20)} ${op.description || op.name}`);
124
124
  }
125
125
  usageLines.push('');
@@ -229,14 +229,14 @@ function generateMultiTargetCommandMap(input) {
229
229
  for (const target of targets) {
230
230
  for (const table of target.tables) {
231
231
  const { singularName } = (0, utils_1.getTableNames)(table);
232
- const kebab = (0, komoji_1.toKebabCase)(singularName);
232
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
233
233
  const prefixedKebab = `${target.name}:${kebab}`;
234
234
  const importName = `${target.name}${singularName[0].toUpperCase()}${singularName.slice(1)}Cmd`;
235
235
  commandEntries.push({ kebab: prefixedKebab, importName });
236
236
  statements.push(createImportDeclaration(`./commands/${target.name}/${kebab}`, importName));
237
237
  }
238
238
  for (const op of target.customOperations) {
239
- const kebab = (0, komoji_1.toKebabCase)(op.name);
239
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
240
240
  const prefixedKebab = `${target.name}:${kebab}`;
241
241
  const importName = `${target.name}${op.name[0].toUpperCase()}${op.name.slice(1)}Cmd`;
242
242
  commandEntries.push({ kebab: prefixedKebab, importName });
@@ -269,12 +269,12 @@ function generateMultiTargetCommandMap(input) {
269
269
  usageLines.push(` ${target.name}:`);
270
270
  for (const table of target.tables) {
271
271
  const { singularName } = (0, utils_1.getTableNames)(table);
272
- const kebab = (0, komoji_1.toKebabCase)(singularName);
272
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
273
273
  const cmd = `${target.name}:${kebab}`;
274
274
  usageLines.push(` ${cmd.padEnd(22)} ${singularName} CRUD operations`);
275
275
  }
276
276
  for (const op of target.customOperations) {
277
- const kebab = (0, komoji_1.toKebabCase)(op.name);
277
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
278
278
  const cmd = `${target.name}:${kebab}`;
279
279
  usageLines.push(` ${cmd.padEnd(22)} ${op.description || op.name}`);
280
280
  }
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generateCustomCommand = generateCustomCommand;
37
37
  const t = __importStar(require("@babel/types"));
38
- const komoji_1 = require("komoji");
38
+ const inflekt_1 = require("inflekt");
39
39
  const babel_ast_1 = require("../babel-ast");
40
40
  const utils_1 = require("../utils");
41
41
  const arg_mapper_1 = require("./arg-mapper");
@@ -132,7 +132,7 @@ function buildOrmCustomCall(opKind, opName, argsExpr, selectExpr, hasArgs = true
132
132
  return t.callExpression(t.memberExpression(t.callExpression(t.memberExpression(t.memberExpression(t.identifier('client'), t.identifier(opKind)), t.identifier(opName)), callArgs), t.identifier('execute')), []);
133
133
  }
134
134
  function generateCustomCommand(op, options) {
135
- const commandName = (0, komoji_1.toKebabCase)(op.name);
135
+ const commandName = (0, inflekt_1.toKebabCase)(op.name);
136
136
  const opKind = op.kind === 'mutation' ? 'mutation' : 'query';
137
137
  const statements = [];
138
138
  const executorPath = options?.executorImportPath ?? '../executor';
@@ -7,7 +7,7 @@ exports.generateSkills = generateSkills;
7
7
  exports.generateMultiTargetReadme = generateMultiTargetReadme;
8
8
  exports.generateMultiTargetAgentsDocs = generateMultiTargetAgentsDocs;
9
9
  exports.generateMultiTargetSkills = generateMultiTargetSkills;
10
- const komoji_1 = require("komoji");
10
+ const inflekt_1 = require("inflekt");
11
11
  const docs_utils_1 = require("../docs-utils");
12
12
  const utils_1 = require("../utils");
13
13
  const table_command_generator_1 = require("./table-command-generator");
@@ -38,11 +38,11 @@ function generateReadme(tables, customOperations, toolName, registry) {
38
38
  lines.push('| `config` | Manage config key-value store (per-context) |');
39
39
  for (const table of tables) {
40
40
  const { singularName } = (0, utils_1.getTableNames)(table);
41
- const kebab = (0, komoji_1.toKebabCase)(singularName);
41
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
42
42
  lines.push(`| \`${kebab}\` | ${singularName} CRUD operations |`);
43
43
  }
44
44
  for (const op of customOperations) {
45
- const kebab = (0, komoji_1.toKebabCase)(op.name);
45
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
46
46
  lines.push(`| \`${kebab}\` | ${op.description || op.name} |`);
47
47
  }
48
48
  lines.push('');
@@ -90,7 +90,7 @@ function generateReadme(tables, customOperations, toolName, registry) {
90
90
  lines.push('');
91
91
  for (const table of tables) {
92
92
  const { singularName } = (0, utils_1.getTableNames)(table);
93
- const kebab = (0, komoji_1.toKebabCase)(singularName);
93
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
94
94
  const pk = (0, utils_1.getPrimaryKeyInfo)(table)[0];
95
95
  const scalarFields = (0, utils_1.getScalarFields)(table);
96
96
  const editableFields = (0, docs_utils_1.getEditableFields)(table, registry);
@@ -134,6 +134,7 @@ function generateReadme(tables, customOperations, toolName, registry) {
134
134
  }
135
135
  const specialGroups = (0, docs_utils_1.categorizeSpecialFields)(table, registry);
136
136
  lines.push(...(0, docs_utils_1.buildSpecialFieldsMarkdown)(specialGroups));
137
+ lines.push(...(0, docs_utils_1.buildSearchExamplesMarkdown)(specialGroups, toolName, kebab));
137
138
  lines.push('');
138
139
  }
139
140
  }
@@ -141,7 +142,7 @@ function generateReadme(tables, customOperations, toolName, registry) {
141
142
  lines.push('## Custom Operations');
142
143
  lines.push('');
143
144
  for (const op of customOperations) {
144
- const kebab = (0, komoji_1.toKebabCase)(op.name);
145
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
145
146
  const flat = (0, docs_utils_1.flattenArgs)(op.args, registry);
146
147
  lines.push(`### \`${kebab}\``);
147
148
  lines.push('');
@@ -317,7 +318,7 @@ function generateSkills(tables, customOperations, toolName, targetName, registry
317
318
  // Table references
318
319
  for (const table of tables) {
319
320
  const { singularName } = (0, utils_1.getTableNames)(table);
320
- const kebab = (0, komoji_1.toKebabCase)(singularName);
321
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
321
322
  const pk = (0, utils_1.getPrimaryKeyInfo)(table)[0];
322
323
  const editableFields = (0, docs_utils_1.getEditableFields)(table, registry);
323
324
  const defaultFields = (0, table_command_generator_1.getFieldsWithDefaults)(table, registry);
@@ -368,18 +369,13 @@ function generateSkills(tables, customOperations, toolName, targetName, registry
368
369
  },
369
370
  {
370
371
  description: `List ${singularName} records with field selection`,
371
- code: [`${toolName} ${kebab} list --fields id,${pk.name}`],
372
+ code: [`${toolName} ${kebab} list --select id,${pk.name}`],
372
373
  },
373
374
  {
374
375
  description: `List ${singularName} records with filtering and ordering`,
375
376
  code: [`${toolName} ${kebab} list --where.${pk.name}.equalTo <value> --orderBy ${pk.name.replace(/([A-Z])/g, '_$1').toUpperCase()}_ASC`],
376
377
  },
377
- ...(skillSpecialGroups.some((g) => g.category === 'search' || g.category === 'embedding')
378
- ? [{
379
- description: `Search ${singularName} records`,
380
- code: [`${toolName} ${kebab} search "query text" --limit 10 --fields id,searchScore`],
381
- }]
382
- : []),
378
+ ...(0, docs_utils_1.buildSearchExamples)(skillSpecialGroups, toolName, kebab),
383
379
  {
384
380
  description: `Create a ${singularName}`,
385
381
  code: [
@@ -396,7 +392,7 @@ function generateSkills(tables, customOperations, toolName, targetName, registry
396
392
  }
397
393
  // Custom operation references
398
394
  for (const op of customOperations) {
399
- const kebab = (0, komoji_1.toKebabCase)(op.name);
395
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
400
396
  const flat = (0, docs_utils_1.flattenArgs)(op.args, registry);
401
397
  const usage = flat.length > 0
402
398
  ? `${toolName} ${kebab} ${(0, docs_utils_1.flattenedArgsToFlags)(flat)}`
@@ -418,7 +414,7 @@ function generateSkills(tables, customOperations, toolName, targetName, registry
418
414
  });
419
415
  }
420
416
  // Overview SKILL.md
421
- const tableKebabs = tables.slice(0, 5).map((t) => (0, komoji_1.toKebabCase)((0, utils_1.getTableNames)(t).singularName));
417
+ const tableKebabs = tables.slice(0, 5).map((t) => (0, inflekt_1.toKebabCase)((0, utils_1.getTableNames)(t).singularName));
422
418
  files.push({
423
419
  fileName: `${skillName}/SKILL.md`,
424
420
  content: (0, docs_utils_1.buildSkillFile)({
@@ -505,7 +501,7 @@ function generateMultiTargetReadme(input) {
505
501
  if (authTarget) {
506
502
  const authMutation = authTarget.customOperations.find((op) => op.kind === 'mutation' && /login|sign.?in|auth/i.test(op.name));
507
503
  if (authMutation) {
508
- const kebab = (0, komoji_1.toKebabCase)(authMutation.name);
504
+ const kebab = (0, inflekt_1.toKebabCase)(authMutation.name);
509
505
  lines.push('Or authenticate via a login mutation (auto-saves token):');
510
506
  lines.push('');
511
507
  lines.push('```bash');
@@ -540,11 +536,11 @@ function generateMultiTargetReadme(input) {
540
536
  lines.push('|---------|-------------|');
541
537
  for (const table of tgt.tables) {
542
538
  const { singularName } = (0, utils_1.getTableNames)(table);
543
- const kebab = (0, komoji_1.toKebabCase)(singularName);
539
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
544
540
  lines.push(`| \`${tgt.name}:${kebab}\` | ${singularName} CRUD operations |`);
545
541
  }
546
542
  for (const op of tgt.customOperations) {
547
- const kebab = (0, komoji_1.toKebabCase)(op.name);
543
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
548
544
  lines.push(`| \`${tgt.name}:${kebab}\` | ${op.description || op.name} |`);
549
545
  }
550
546
  lines.push('');
@@ -622,7 +618,7 @@ function generateMultiTargetReadme(input) {
622
618
  lines.push('');
623
619
  for (const table of tgt.tables) {
624
620
  const { singularName } = (0, utils_1.getTableNames)(table);
625
- const kebab = (0, komoji_1.toKebabCase)(singularName);
621
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
626
622
  const pk = (0, utils_1.getPrimaryKeyInfo)(table)[0];
627
623
  const scalarFields = (0, utils_1.getScalarFields)(table);
628
624
  const editableFields = (0, docs_utils_1.getEditableFields)(table, registry);
@@ -666,10 +662,11 @@ function generateMultiTargetReadme(input) {
666
662
  }
667
663
  const mtSpecialGroups = (0, docs_utils_1.categorizeSpecialFields)(table, registry);
668
664
  lines.push(...(0, docs_utils_1.buildSpecialFieldsMarkdown)(mtSpecialGroups));
665
+ lines.push(...(0, docs_utils_1.buildSearchExamplesMarkdown)(mtSpecialGroups, toolName, `${tgt.name}:${kebab}`));
669
666
  lines.push('');
670
667
  }
671
668
  for (const op of tgt.customOperations) {
672
- const kebab = (0, komoji_1.toKebabCase)(op.name);
669
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
673
670
  const flat = (0, docs_utils_1.flattenArgs)(op.args, registry);
674
671
  lines.push(`### \`${tgt.name}:${kebab}\``);
675
672
  lines.push('');
@@ -702,7 +699,7 @@ function generateMultiTargetReadme(input) {
702
699
  lines.push('```bash');
703
700
  if (targets.length > 0 && targets[0].tables.length > 0) {
704
701
  const tgt = targets[0];
705
- const kebab = (0, komoji_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName);
702
+ const kebab = (0, inflekt_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName);
706
703
  lines.push(`${toolName} ${tgt.name}:${kebab} list | jq '.[]'`);
707
704
  lines.push(`${toolName} ${tgt.name}:${kebab} get --id <uuid> | jq '.'`);
708
705
  }
@@ -715,7 +712,7 @@ function generateMultiTargetReadme(input) {
715
712
  lines.push('```bash');
716
713
  if (targets.length > 0 && targets[0].tables.length > 0) {
717
714
  const tgt = targets[0];
718
- const kebab = (0, komoji_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName);
715
+ const kebab = (0, inflekt_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName);
719
716
  lines.push(`${toolName} --no-tty ${tgt.name}:${kebab} create --name "Example"`);
720
717
  }
721
718
  lines.push('```');
@@ -914,7 +911,7 @@ function generateMultiTargetSkills(input) {
914
911
  const tgtReferenceNames = [];
915
912
  for (const table of tgt.tables) {
916
913
  const { singularName } = (0, utils_1.getTableNames)(table);
917
- const kebab = (0, komoji_1.toKebabCase)(singularName);
914
+ const kebab = (0, inflekt_1.toKebabCase)(singularName);
918
915
  const pk = (0, utils_1.getPrimaryKeyInfo)(table)[0];
919
916
  const editableFields = (0, docs_utils_1.getEditableFields)(table, registry);
920
917
  const defaultFields = (0, table_command_generator_1.getFieldsWithDefaults)(table, registry);
@@ -968,12 +965,7 @@ function generateMultiTargetSkills(input) {
968
965
  description: `List ${singularName} records with filtering and ordering`,
969
966
  code: [`${toolName} ${cmd} list --where.${pk.name}.equalTo <value> --orderBy ${pk.name.replace(/([A-Z])/g, '_$1').toUpperCase()}_ASC`],
970
967
  },
971
- ...(mtSkillSpecialGroups.some((g) => g.category === 'search' || g.category === 'embedding')
972
- ? [{
973
- description: `Search ${singularName} records`,
974
- code: [`${toolName} ${cmd} search "query text" --limit 10 --fields id,searchScore`],
975
- }]
976
- : []),
968
+ ...(0, docs_utils_1.buildSearchExamples)(mtSkillSpecialGroups, toolName, cmd),
977
969
  {
978
970
  description: `Create a ${singularName}`,
979
971
  code: [
@@ -985,7 +977,7 @@ function generateMultiTargetSkills(input) {
985
977
  });
986
978
  }
987
979
  for (const op of tgt.customOperations) {
988
- const kebab = (0, komoji_1.toKebabCase)(op.name);
980
+ const kebab = (0, inflekt_1.toKebabCase)(op.name);
989
981
  const cmd = `${tgt.name}:${kebab}`;
990
982
  const flat = (0, docs_utils_1.flattenArgs)(op.args, registry);
991
983
  const baseUsage = flat.length > 0
@@ -1013,7 +1005,7 @@ function generateMultiTargetSkills(input) {
1013
1005
  }
1014
1006
  // Target SKILL.md
1015
1007
  const firstKebab = tgt.tables.length > 0
1016
- ? (0, komoji_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName)
1008
+ ? (0, inflekt_1.toKebabCase)((0, utils_1.getTableNames)(tgt.tables[0]).singularName)
1017
1009
  : 'model';
1018
1010
  files.push({
1019
1011
  fileName: `${tgtSkillName}/SKILL.md`,
@@ -43,6 +43,8 @@ export interface GenerateMultiTargetCliOptions {
43
43
  nodeHttpAdapter?: boolean;
44
44
  /** Generate a runnable index.ts entry point */
45
45
  entryPoint?: boolean;
46
+ /** Whether PostGraphile condition types are enabled (default: true) */
47
+ condition?: boolean;
46
48
  }
47
49
  export declare function resolveBuiltinNames(targetNames: string[], userOverrides?: BuiltinNames): {
48
50
  auth: string;
@@ -62,5 +64,5 @@ export { generateReadme, generateAgentsDocs, generateSkills, generateMultiTarget
62
64
  export type { MultiTargetDocsInput } from './docs-generator';
63
65
  export { resolveDocsConfig } from '../docs-utils';
64
66
  export type { GeneratedDocFile } from '../docs-utils';
65
- export { generateUtilsFile, generateEntryPointFile } from './utils-generator';
67
+ export { generateUtilsFile, generateEntryPointFile, generateEmbedderFile } from './utils-generator';
66
68
  export type { GeneratedFile, MultiTargetExecutorInput } from './executor-generator';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateEntryPointFile = exports.generateUtilsFile = exports.resolveDocsConfig = exports.generateMultiTargetSkills = exports.generateMultiTargetAgentsDocs = exports.generateMultiTargetReadme = exports.generateSkills = exports.generateAgentsDocs = exports.generateReadme = exports.generateAuthCommandWithName = exports.generateMultiTargetContextCommand = exports.generateAuthCommand = exports.generateContextCommand = exports.generateHelpersFile = exports.generateConfigCommand = exports.generateMultiTargetCommandMap = exports.generateCommandMap = exports.generateCustomCommand = exports.generateTableCommand = exports.generateMultiTargetExecutorFile = exports.generateExecutorFile = void 0;
3
+ exports.generateEmbedderFile = exports.generateEntryPointFile = exports.generateUtilsFile = exports.resolveDocsConfig = exports.generateMultiTargetSkills = exports.generateMultiTargetAgentsDocs = exports.generateMultiTargetReadme = exports.generateSkills = exports.generateAgentsDocs = exports.generateReadme = exports.generateAuthCommandWithName = exports.generateMultiTargetContextCommand = exports.generateAuthCommand = exports.generateContextCommand = exports.generateHelpersFile = exports.generateConfigCommand = exports.generateMultiTargetCommandMap = exports.generateCommandMap = exports.generateCustomCommand = exports.generateTableCommand = exports.generateMultiTargetExecutorFile = exports.generateExecutorFile = void 0;
4
4
  exports.generateCli = generateCli;
5
5
  exports.resolveBuiltinNames = resolveBuiltinNames;
6
6
  exports.generateMultiTargetCli = generateMultiTargetCli;
@@ -27,6 +27,11 @@ function generateCli(options) {
27
27
  files.push(executorFile);
28
28
  const utilsFile = (0, utils_generator_1.generateUtilsFile)();
29
29
  files.push(utilsFile);
30
+ // Generate embedder module if any table has vector embedding fields
31
+ const hasAnyEmbeddings = tables.some((t) => t.fields.some((f) => f.type.gqlType === 'Vector' || f.type.gqlType === '[Float]'));
32
+ if (hasAnyEmbeddings) {
33
+ files.push((0, utils_generator_1.generateEmbedderFile)());
34
+ }
30
35
  // Generate node HTTP adapter if configured (for *.localhost subdomain routing)
31
36
  if (useNodeHttpAdapter) {
32
37
  files.push((0, utils_generator_1.generateNodeFetchFile)());
@@ -35,9 +40,11 @@ function generateCli(options) {
35
40
  files.push(contextFile);
36
41
  const authFile = (0, infra_generator_1.generateAuthCommand)(toolName);
37
42
  files.push(authFile);
43
+ const conditionEnabled = config.codegen?.condition === true;
38
44
  for (const table of tables) {
39
45
  const tableFile = (0, table_command_generator_1.generateTableCommand)(table, {
40
46
  typeRegistry: options.typeRegistry,
47
+ condition: conditionEnabled,
41
48
  });
42
49
  files.push(tableFile);
43
50
  }
@@ -84,6 +91,7 @@ function resolveBuiltinNames(targetNames, userOverrides) {
84
91
  }
85
92
  function generateMultiTargetCli(options) {
86
93
  const { toolName, targets } = options;
94
+ const conditionEnabled = options.condition === true;
87
95
  const files = [];
88
96
  const targetNames = targets.map((t) => t.name);
89
97
  const builtinNames = resolveBuiltinNames(targetNames, options.builtinNames);
@@ -98,6 +106,11 @@ function generateMultiTargetCli(options) {
98
106
  files.push(executorFile);
99
107
  const utilsFile = (0, utils_generator_1.generateUtilsFile)();
100
108
  files.push(utilsFile);
109
+ // Generate embedder module if any target has tables with vector embedding fields
110
+ const hasAnyMtEmbeddings = targets.some((tgt) => tgt.tables.some((t) => t.fields.some((f) => f.type.gqlType === 'Vector' || f.type.gqlType === '[Float]')));
111
+ if (hasAnyMtEmbeddings) {
112
+ files.push((0, utils_generator_1.generateEmbedderFile)());
113
+ }
101
114
  // Generate node HTTP adapter if configured (for *.localhost subdomain routing)
102
115
  if (options.nodeHttpAdapter) {
103
116
  files.push((0, utils_generator_1.generateNodeFetchFile)());
@@ -128,6 +141,7 @@ function generateMultiTargetCli(options) {
128
141
  targetName: target.name,
129
142
  executorImportPath: '../../executor',
130
143
  typeRegistry: target.typeRegistry,
144
+ condition: conditionEnabled,
131
145
  });
132
146
  files.push(tableFile);
133
147
  }
@@ -201,3 +215,4 @@ Object.defineProperty(exports, "resolveDocsConfig", { enumerable: true, get: fun
201
215
  var utils_generator_2 = require("./utils-generator");
202
216
  Object.defineProperty(exports, "generateUtilsFile", { enumerable: true, get: function () { return utils_generator_2.generateUtilsFile; } });
203
217
  Object.defineProperty(exports, "generateEntryPointFile", { enumerable: true, get: function () { return utils_generator_2.generateEntryPointFile; } });
218
+ Object.defineProperty(exports, "generateEmbedderFile", { enumerable: true, get: function () { return utils_generator_2.generateEmbedderFile; } });
@@ -6,5 +6,7 @@ export interface TableCommandOptions {
6
6
  executorImportPath?: string;
7
7
  /** TypeRegistry from introspection, used to check field defaults */
8
8
  typeRegistry?: TypeRegistry;
9
+ /** Whether PostGraphile condition types are enabled (default: true) */
10
+ condition?: boolean;
9
11
  }
10
12
  export declare function generateTableCommand(table: Table, options?: TableCommandOptions): GeneratedFile;