@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.
- package/core/codegen/cli/command-map-generator.js +9 -9
- package/core/codegen/cli/custom-command-generator.js +2 -2
- package/core/codegen/cli/docs-generator.js +23 -31
- package/core/codegen/cli/index.d.ts +3 -1
- package/core/codegen/cli/index.js +16 -1
- package/core/codegen/cli/table-command-generator.d.ts +2 -0
- package/core/codegen/cli/table-command-generator.js +250 -36
- package/core/codegen/cli/utils-generator.d.ts +8 -0
- package/core/codegen/cli/utils-generator.js +14 -0
- package/core/codegen/docs-utils.d.ts +17 -0
- package/core/codegen/docs-utils.js +127 -0
- package/core/codegen/hooks-docs-generator.js +3 -3
- package/core/codegen/index.js +1 -1
- package/core/codegen/orm/docs-generator.js +3 -3
- package/core/codegen/orm/index.js +1 -1
- package/core/codegen/orm/input-types-generator.js +1 -1
- package/core/codegen/orm/model-generator.js +1 -1
- package/core/codegen/queries.js +1 -1
- package/core/codegen/templates/cli-utils.ts +11 -11
- package/core/codegen/templates/embedder.ts +175 -0
- package/core/generate.js +2 -0
- package/esm/core/codegen/cli/command-map-generator.js +1 -1
- package/esm/core/codegen/cli/custom-command-generator.js +1 -1
- package/esm/core/codegen/cli/docs-generator.js +7 -15
- package/esm/core/codegen/cli/index.d.ts +3 -1
- package/esm/core/codegen/cli/index.js +16 -2
- package/esm/core/codegen/cli/table-command-generator.d.ts +2 -0
- package/esm/core/codegen/cli/table-command-generator.js +250 -36
- package/esm/core/codegen/cli/utils-generator.d.ts +8 -0
- package/esm/core/codegen/cli/utils-generator.js +13 -0
- package/esm/core/codegen/docs-utils.d.ts +17 -0
- package/esm/core/codegen/docs-utils.js +125 -0
- package/esm/core/codegen/hooks-docs-generator.js +1 -1
- package/esm/core/codegen/index.js +1 -1
- package/esm/core/codegen/orm/docs-generator.js +1 -1
- package/esm/core/codegen/orm/index.js +1 -1
- package/esm/core/codegen/orm/input-types-generator.js +1 -1
- package/esm/core/codegen/orm/model-generator.js +1 -1
- package/esm/core/codegen/queries.js +1 -1
- package/esm/core/generate.js +2 -0
- 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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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 --
|
|
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
|
-
...(
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
...(
|
|
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,
|
|
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,
|
|
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;
|