@specverse/engines 4.1.14 → 4.1.16

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 (66) hide show
  1. package/assets/prompts/core/standard/v9/behavior.prompt.yaml +7 -1
  2. package/dist/ai/behavior-ai-service.d.ts +2 -0
  3. package/dist/ai/behavior-ai-service.d.ts.map +1 -1
  4. package/dist/ai/behavior-ai-service.js +2 -0
  5. package/dist/ai/behavior-ai-service.js.map +1 -1
  6. package/dist/ai/prompt-loader.js +2 -2
  7. package/dist/inference/index.d.ts +2 -1
  8. package/dist/inference/index.d.ts.map +1 -1
  9. package/dist/inference/index.js +2 -1
  10. package/dist/inference/index.js.map +1 -1
  11. package/dist/inference/quint-transpiler.d.ts +18 -1
  12. package/dist/inference/quint-transpiler.d.ts.map +1 -1
  13. package/dist/inference/quint-transpiler.js +501 -21
  14. package/dist/inference/quint-transpiler.js.map +1 -1
  15. package/dist/inference/verification.d.ts +78 -0
  16. package/dist/inference/verification.d.ts.map +1 -0
  17. package/dist/inference/verification.js +263 -0
  18. package/dist/inference/verification.js.map +1 -0
  19. package/dist/libs/instance-factories/applications/templates/generic/backend-package-json-generator.js +4 -1
  20. package/dist/libs/instance-factories/applications/templates/generic/backend-tsconfig-generator.js +2 -2
  21. package/dist/libs/instance-factories/applications/templates/react/runtime-package-json-generator.js +1 -0
  22. package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +111 -27
  23. package/dist/libs/instance-factories/communication/templates/eventemitter/bus-generator.js +2 -3
  24. package/dist/libs/instance-factories/controllers/templates/fastify/routes-generator.js +21 -1
  25. package/dist/libs/instance-factories/scaffolding/templates/generic/tsconfig-generator.js +10 -2
  26. package/dist/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.js +130 -22
  27. package/dist/libs/instance-factories/services/templates/prisma/behavior-generator.js +14 -7
  28. package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +29 -54
  29. package/dist/libs/instance-factories/services/templates/prisma/service-generator.js +31 -10
  30. package/dist/libs/instance-factories/services/templates/prisma/step-conventions.js +1 -1
  31. package/dist/libs/instance-factories/views/templates/react/components-generator.js +40 -10
  32. package/dist/realize/index.d.ts.map +1 -1
  33. package/dist/realize/index.js +123 -25
  34. package/dist/realize/index.js.map +1 -1
  35. package/libs/instance-factories/applications/templates/generic/backend-package-json-generator.ts +4 -1
  36. package/libs/instance-factories/applications/templates/generic/backend-tsconfig-generator.ts +2 -2
  37. package/libs/instance-factories/applications/templates/react/runtime-package-json-generator.ts +6 -1
  38. package/libs/instance-factories/cli/templates/commander/command-generator.ts +134 -27
  39. package/libs/instance-factories/communication/templates/eventemitter/bus-generator.ts +2 -3
  40. package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +27 -2
  41. package/libs/instance-factories/scaffolding/templates/generic/tsconfig-generator.ts +23 -2
  42. package/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.ts +185 -20
  43. package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +34 -9
  44. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +37 -59
  45. package/libs/instance-factories/services/templates/prisma/service-generator.ts +40 -10
  46. package/libs/instance-factories/services/templates/prisma/step-conventions.ts +4 -1
  47. package/libs/instance-factories/views/templates/react/components-generator.ts +50 -10
  48. package/package.json +1 -1
  49. package/dist/libs/instance-factories/tools/templates/mcp/static/src/controllers/MCPServerController.js +0 -232
  50. package/dist/libs/instance-factories/tools/templates/mcp/static/src/events/EventEmitter.js +0 -49
  51. package/dist/libs/instance-factories/tools/templates/mcp/static/src/index.js +0 -18
  52. package/dist/libs/instance-factories/tools/templates/mcp/static/src/interfaces/ResourceProvider.js +0 -0
  53. package/dist/libs/instance-factories/tools/templates/mcp/static/src/models/LibrarySuggestion.js +0 -97
  54. package/dist/libs/instance-factories/tools/templates/mcp/static/src/models/SpecVerseResource.js +0 -64
  55. package/dist/libs/instance-factories/tools/templates/mcp/static/src/server/mcp-server.js +0 -182
  56. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/CLIProxyService.js +0 -1210
  57. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/EmbeddedResourcesAdapter.js +0 -172
  58. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/EntityModuleService.js +0 -240
  59. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/HybridResourcesProvider.js +0 -147
  60. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/LibraryToolsService.js +0 -281
  61. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorBridge.js +0 -409
  62. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.js +0 -414
  63. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/PromptToolsService.js +0 -467
  64. package/dist/libs/instance-factories/tools/templates/mcp/static/src/services/ResourcesProviderService.js +0 -135
  65. package/dist/libs/instance-factories/tools/templates/mcp/static/src/types/index.js +0 -0
  66. package/dist/libs/instance-factories/tools/templates/vscode/static/extension.js +0 -965
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realize/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/realize/index.ts"],"names":[],"mappings":"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"}
@@ -59,8 +59,11 @@ export default function generateBackendPackageJson(context: TemplateContext): st
59
59
  '@fastify/cors': '^8.4.0',
60
60
  '@fastify/helmet': '^11.1.1',
61
61
  '@fastify/rate-limit': '^9.1.0',
62
+ '@fastify/websocket': '^10.0.0',
63
+ 'eventemitter3': '^5.0.0',
62
64
  'zod': '^3.22.0',
63
- 'dotenv': '^16.3.0'
65
+ 'dotenv': '^16.3.0',
66
+ 'commander': '^13.0.0'
64
67
  },
65
68
 
66
69
  devDependencies: {
@@ -11,9 +11,9 @@ export default function generateBackendTsConfig(context: TemplateContext): strin
11
11
  compilerOptions: {
12
12
  // Target and Module
13
13
  target: 'ES2022',
14
- module: 'ESNext',
14
+ module: 'NodeNext',
15
15
  lib: ['ES2022'],
16
- moduleResolution: 'node',
16
+ moduleResolution: 'NodeNext',
17
17
 
18
18
  // Output
19
19
  outDir: './dist',
@@ -4,7 +4,11 @@
4
4
  * Same as standard package-json-generator but adds:
5
5
  * - @specverse/runtime dependency
6
6
  * - js-yaml dependency (for spec parsing)
7
- * - Removes react-router-dom (routing handled by DevShell)
7
+ *
8
+ * Note: react-router-dom is kept as a dependency even though DevShell
9
+ * handles app-level routing — the view generator still emits static
10
+ * ListView/DetailView/FormView components that import from
11
+ * react-router-dom. Stripping it broke their compile.
8
12
  */
9
13
 
10
14
  import type { TemplateContext } from '@specverse/types';
@@ -32,6 +36,7 @@ export default function generateRuntimePackageJson(context: TemplateContext): st
32
36
  dependencies: {
33
37
  "react": "^18.2.0",
34
38
  "react-dom": "^18.2.0",
39
+ "react-router-dom": "^6.18.0",
35
40
  "@tanstack/react-query": "^5.0.0",
36
41
  "@specverse/runtime": "^4.1.0",
37
42
  "js-yaml": "^4.1.0",
@@ -44,8 +44,8 @@ export default function generateCommand(context: TemplateContext): string {
44
44
  const alias = flag.alias ? `${flag.alias}, ` : '';
45
45
  const flagType = flag.type?.toLowerCase();
46
46
  const valuePart = flagType === 'boolean' ? '' : ` <${flagName.replace(/^--/, '')}>`;
47
- const defaultVal = flag.default !== undefined ? `, ${JSON.stringify(flag.default)}` : '';
48
- const desc = flag.description || `${flagName} option`;
47
+ const defaultVal = flag.default !== undefined ? `, ${commanderDefault(flag.default, flagType)}` : '';
48
+ const desc = escapeSingleQuotes(flag.description || `${flagName} option`);
49
49
  return ` .option('${alias}${flagName}${valuePart}', '${desc}'${defaultVal})`;
50
50
  });
51
51
 
@@ -96,7 +96,18 @@ export default function generateCommand(context: TemplateContext): string {
96
96
  if (ENGINE_HANDLERS[key]?.imports) allImportSets.push(ENGINE_HANDLERS[key].imports);
97
97
  }
98
98
  }
99
- const engineImports = deduplicateImports(allImportSets);
99
+ // Generate the body first so we can filter imports to only those actually used
100
+ const registerBody = hasSubcommands
101
+ ? generateCommandWithSubcommands(name, description, subcommands, optionDefs)
102
+ : generateLeafCommand(name, description, commandStr, optionDefs, actionParams, serviceRef, exitCodes);
103
+
104
+ const bodyForUsage = `${serviceImport}\n${registerBody}\n${subcommandRegistrations}`;
105
+ const commandOptionsUsed = new RegExp('\\bCommandOptions\\b').test(bodyForUsage);
106
+ const engineImports = deduplicateImports(allImportSets, bodyForUsage);
107
+
108
+ const commandOptionsDecl = commandOptionsUsed
109
+ ? `interface CommandOptions {\n${optionTypes.length > 0 ? optionTypes.join('\n') : ' [key: string]: any;'}\n}\n`
110
+ : '';
100
111
 
101
112
  return `/**
102
113
  * ${name} command
@@ -108,17 +119,14 @@ import { Command } from 'commander';
108
119
  ${serviceImport}
109
120
  ${engineImports}
110
121
 
111
- interface CommandOptions {
112
- ${optionTypes.length > 0 ? optionTypes.join('\n') : ' [key: string]: any;'}
113
- }
114
-
122
+ ${commandOptionsDecl}
115
123
  ${exitCodeComments ? `/**\n * Exit codes:\n${exitCodeComments}\n */` : ''}
116
124
 
117
125
  /**
118
126
  * Register the ${name} command on the program.
119
127
  */
120
128
  export function register${capitalize(name)}Command(program: Command): void {
121
- ${hasSubcommands ? generateCommandWithSubcommands(name, description, subcommands, optionDefs) : generateLeafCommand(name, description, commandStr, optionDefs, actionParams, serviceRef, exitCodes)}
129
+ ${registerBody}
122
130
  }
123
131
  ${subcommandRegistrations}
124
132
  `;
@@ -170,6 +178,27 @@ import type { ParserEngine } from '@specverse/types';`,
170
178
  console.warn('Warnings:');
171
179
  result.warnings.forEach((w: string) => console.warn(' ', w));
172
180
  }
181
+ }
182
+
183
+ // L3 verification — opt-in via --verify flag. Runs the
184
+ // transpiled Quint guards against the parsed spec. Guards
185
+ // whose state-var dependencies aren't present in this spec
186
+ // are reported as skipped (not failed).
187
+ if (options.verify) {
188
+ try {
189
+ const { verifySpec, formatVerificationResult } = await import('@specverse/engines/inference');
190
+ const verification = await verifySpec(result.ast);
191
+ if (options.json) {
192
+ console.log(JSON.stringify({ valid: true, verification }, null, 2));
193
+ } else {
194
+ console.log('');
195
+ console.log(formatVerificationResult(verification, options.verbose));
196
+ }
197
+ if (verification.failed.length > 0) process.exit(1);
198
+ } catch (ve: any) {
199
+ console.error('Verification error:', ve.message);
200
+ process.exit(1);
201
+ }
173
202
  }`
174
203
  },
175
204
  infer: {
@@ -296,6 +325,28 @@ import type { ParserEngine, InferenceEngine, RealizeEngine } from '@specverse/ty
296
325
  }
297
326
  }
298
327
 
328
+ // Merge service operation steps from original spec into inferred services
329
+ // Inference generates service shells with preconditions/returns but drops
330
+ // the declarative steps arrays — we restore them from the parsed AST.
331
+ const origServices = Array.isArray((origComponent as any).services)
332
+ ? (origComponent as any).services
333
+ : Object.values((origComponent as any).services || {});
334
+ const inferredServices = componentData.services || {};
335
+ for (const origSvc of origServices) {
336
+ const svcName = (origSvc as any).name;
337
+ if (!svcName) continue;
338
+ const inferredSvc = inferredServices[svcName];
339
+ if (!inferredSvc) continue;
340
+
341
+ const origOps = (origSvc as any).operations || {};
342
+ const inferredOps = inferredSvc.operations || {};
343
+ for (const [opName, origOp] of Object.entries(origOps) as [string, any][]) {
344
+ if (inferredOps[opName] && origOp.steps) {
345
+ inferredOps[opName].steps = origOp.steps;
346
+ }
347
+ }
348
+ }
349
+
299
350
  // Inject key as name into entity maps, and expand convention-format attributes
300
351
  // Iterate all object-valued sections (not hardcoded — covers any entity type)
301
352
  const entitySections = Object.keys(componentData).filter(k =>
@@ -364,7 +415,7 @@ import type { ParserEngine, InferenceEngine, RealizeEngine } from '@specverse/ty
364
415
  if (!realizeEngine) { console.error('No realize engine found.'); process.exit(1); }
365
416
  await realizeEngine.initialize({ manifestPath: effectiveManifestPath, workingDir: (process.env.SPECVERSE_USER_CWD || process.cwd()) });
366
417
 
367
- const outputDir = options.output || resolve((process.env.SPECVERSE_USER_CWD || process.cwd()), 'generated/code');
418
+ const outputDir = resolve((process.env.SPECVERSE_USER_CWD || process.cwd()), options.output || 'generated/code');
368
419
  console.log('Realizing ' + type + ' from ' + file + '...');
369
420
  await (realizeEngine as any).realizeAll(inferredSpec, outputDir);
370
421
 
@@ -842,10 +893,12 @@ import { EngineRegistry } from '@specverse/entities';`,
842
893
  imports: ``,
843
894
  handler: `const { SessionManager } = await import('@specverse/engines/ai');
844
895
  const manager = new SessionManager();
845
- const job = await manager.submit(sessionId, requirements, {
846
- jobId: options.jobId,
847
- outputPath: options.output,
848
- operation: options.operation,
896
+ const job = await manager.submit({
897
+ jobId: options.jobId || ('job-' + Date.now()),
898
+ sessionId,
899
+ operation: (options.operation || 'create') as 'create' | 'analyse' | 'materialise' | 'realize',
900
+ requirements,
901
+ output: options.output,
849
902
  });
850
903
  console.log('Job submitted: ' + job.jobId);
851
904
  console.log('Status: ' + job.status);
@@ -861,8 +914,10 @@ import { EngineRegistry } from '@specverse/entities';`,
861
914
  } else {
862
915
  console.log('ID: ' + (status.sessionId || status.jobId));
863
916
  console.log('Status: ' + status.status);
864
- if (status.created) console.log('Created: ' + new Date(status.created).toLocaleString());
865
- if (status.jobsProcessed !== undefined) console.log('Jobs: ' + status.jobsProcessed);
917
+ if (status.submitted) console.log('Submitted: ' + new Date(status.submitted).toLocaleString());
918
+ if (status.started) console.log('Started: ' + new Date(status.started).toLocaleString());
919
+ if (status.completed) console.log('Completed: ' + new Date(status.completed).toLocaleString());
920
+ if (status.duration) console.log('Duration: ' + status.duration);
866
921
  }`
867
922
  },
868
923
  'session.process': {
@@ -870,7 +925,7 @@ import { EngineRegistry } from '@specverse/entities';`,
870
925
  handler: `const { SessionManager } = await import('@specverse/engines/ai');
871
926
  const manager = new SessionManager();
872
927
  console.log('Processing job: ' + jobId);
873
- await manager.process(jobId);
928
+ await manager.processJob(jobId);
874
929
  console.log('Job processed successfully');`
875
930
  },
876
931
  };
@@ -895,11 +950,15 @@ function generateLeafCommand(
895
950
  : `console.log('Executing ${name}...');
896
951
  // TODO: Wire to service`;
897
952
 
898
- return `const cmd = program
953
+ // Rename unused action params with underscore prefix so tsc's
954
+ // noUnusedParameters doesn't flag them.
955
+ const finalActionParams = renameUnusedActionParams(actionParams, handler);
956
+
957
+ return `program
899
958
  .command('${commandStr}')
900
- .description('${description}')
959
+ .description('${escapeSingleQuotes(description)}')
901
960
  ${optionDefs.join('\n')}
902
- .action(async (${actionParams}) => {
961
+ .action(async (${finalActionParams}) => {
903
962
  try {
904
963
  ${handler}
905
964
  } catch (error: any) {
@@ -909,6 +968,43 @@ ${optionDefs.join('\n')}
909
968
  });`;
910
969
  }
911
970
 
971
+ /**
972
+ * Escape single quotes in a string so it can safely be embedded inside
973
+ * a `'...'` JS string literal in the generated code.
974
+ */
975
+ function escapeSingleQuotes(s: string): string {
976
+ return s.replace(/\\/g, '\\\\').replace(/'/g, "\\'");
977
+ }
978
+
979
+ /**
980
+ * Commander's `.option()` default value parameter is typed as
981
+ * `string | boolean | string[] | undefined`. Numeric defaults from the spec
982
+ * need to be stringified unless the option is a boolean flag.
983
+ */
984
+ function commanderDefault(value: unknown, flagType?: string): string {
985
+ if (flagType === 'boolean') return JSON.stringify(Boolean(value));
986
+ if (typeof value === 'number') return JSON.stringify(String(value));
987
+ return JSON.stringify(value);
988
+ }
989
+
990
+ /**
991
+ * Rename each action parameter with a leading underscore if its name isn't
992
+ * referenced in the handler body.
993
+ */
994
+ function renameUnusedActionParams(actionParams: string, handler: string): string {
995
+ if (!actionParams.trim()) return actionParams;
996
+ return actionParams.split(',').map(param => {
997
+ const trimmed = param.trim();
998
+ const nameMatch = trimmed.match(/^(\w+)/);
999
+ if (!nameMatch) return param;
1000
+ const name = nameMatch[1];
1001
+ if (name.startsWith('_')) return param;
1002
+ const re = new RegExp(`\\b${name}\\b`);
1003
+ if (re.test(handler)) return param;
1004
+ return param.replace(new RegExp(`\\b${name}\\b`), `_${name}`);
1005
+ }).join(', ');
1006
+ }
1007
+
912
1008
  function generateCommandWithSubcommands(
913
1009
  name: string,
914
1010
  description: string,
@@ -931,8 +1027,9 @@ function generateCommandWithSubcommands(
931
1027
  const alias = flag.alias ? `${flag.alias}, ` : '';
932
1028
  const flagType = flag.type?.toLowerCase();
933
1029
  const valuePart = flagType === 'boolean' ? '' : ` <${flagName.replace(/^--/, '')}>`;
934
- const defaultVal = flag.default !== undefined ? `, ${JSON.stringify(flag.default)}` : '';
935
- return ` .option('${alias}${flagName}${valuePart}', '${flag.description || flagName}'${defaultVal})`;
1030
+ const defaultVal = flag.default !== undefined ? `, ${commanderDefault(flag.default, flagType)}` : '';
1031
+ const desc = escapeSingleQuotes(flag.description || flagName);
1032
+ return ` .option('${alias}${flagName}${valuePart}', '${desc}'${defaultVal})`;
936
1033
  });
937
1034
 
938
1035
  // Look up engine handler for this subcommand
@@ -951,12 +1048,14 @@ function generateCommandWithSubcommands(
951
1048
  ? engineHandler.handler
952
1049
  : `console.log('${name} ${subName}: not yet implemented via engine');`;
953
1050
 
1051
+ const finalSubActionParams = renameUnusedActionParams(subActionParams, handler);
1052
+
954
1053
  return `
955
1054
  cmd
956
1055
  .command('${subCmdStr}')
957
- .description('${subDesc}')
1056
+ .description('${escapeSingleQuotes(subDesc)}')
958
1057
  ${subOptionDefs.join('\n')}
959
- .action(async (${subActionParams}) => {
1058
+ .action(async (${finalSubActionParams}) => {
960
1059
  try {
961
1060
  ${handler}
962
1061
  } catch (error: any) {
@@ -968,7 +1067,7 @@ ${subOptionDefs.join('\n')}
968
1067
 
969
1068
  return `const cmd = program
970
1069
  .command('${name}')
971
- .description('${description}');
1070
+ .description('${escapeSingleQuotes(description)}');
972
1071
  ${subcmdRegistrations.join('\n')}`;
973
1072
  }
974
1073
 
@@ -1005,11 +1104,16 @@ function capitalize(str: string): string {
1005
1104
  * Deduplicate import statements across multiple handler import blocks.
1006
1105
  * Merges named imports from the same module and removes exact duplicates.
1007
1106
  */
1008
- function deduplicateImports(importBlocks: string[]): string {
1107
+ function deduplicateImports(importBlocks: string[], usedIn?: string): string {
1009
1108
  const seen = new Map<string, Set<string>>(); // module -> set of named imports
1010
1109
  const typeImports = new Map<string, Set<string>>(); // module -> set of type imports
1011
1110
  const rawLines = new Set<string>(); // non-mergeable lines
1012
1111
 
1112
+ const isUsed = (name: string): boolean => {
1113
+ if (!usedIn) return true;
1114
+ return new RegExp(`\\b${name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\b`).test(usedIn);
1115
+ };
1116
+
1013
1117
  for (const block of importBlocks) {
1014
1118
  for (const line of block.split('\n').map(l => l.trim()).filter(l => l)) {
1015
1119
  // Match: import { X, Y } from 'module';
@@ -1036,12 +1140,15 @@ function deduplicateImports(importBlocks: string[]): string {
1036
1140
 
1037
1141
  const result: string[] = [];
1038
1142
  for (const [mod, names] of seen.entries()) {
1039
- result.push(`import { ${[...names].join(', ')} } from '${mod}';`);
1143
+ const used = [...names].filter(isUsed);
1144
+ if (used.length > 0) {
1145
+ result.push(`import { ${used.join(', ')} } from '${mod}';`);
1146
+ }
1040
1147
  }
1041
1148
  for (const [mod, names] of typeImports.entries()) {
1042
1149
  // Remove type imports that are already in regular imports
1043
1150
  const regularNames = seen.get(mod) || new Set();
1044
- const typeOnly = [...names].filter(n => !regularNames.has(n));
1151
+ const typeOnly = [...names].filter(n => !regularNames.has(n)).filter(isUsed);
1045
1152
  if (typeOnly.length > 0) {
1046
1153
  result.push(`import type { ${typeOnly.join(', ')} } from '${mod}';`);
1047
1154
  }
@@ -18,8 +18,8 @@ export default function generateEventBus(context: TemplateContext): string {
18
18
  * Generated from SpecVerse specification
19
19
  */
20
20
 
21
- import EventEmitter from 'eventemitter3';
22
- ${hasEvents || models.length > 0 ? `import type { EventPayloads, EventName } from './event-types.js';` : ''}
21
+ import { EventEmitter } from 'eventemitter3';
22
+ ${hasEvents || models.length > 0 ? `import type { EventPayloads } from './event-types.js';` : ''}
23
23
 
24
24
  // Re-export types for consumers
25
25
  ${hasEvents || models.length > 0 ? `export type { EventPayloads, EventName } from './event-types.js';` : ''}
@@ -43,7 +43,6 @@ class EventBus extends EventEmitter {
43
43
 
44
44
  private constructor() {
45
45
  super();
46
- this.setMaxListeners(100);
47
46
  }
48
47
 
49
48
  public static getInstance(): EventBus {
@@ -294,13 +294,38 @@ function generateHandlerBody(
294
294
  }`;
295
295
 
296
296
  default: {
297
- // Custom action — pass named parameters from body (and :id from URL if present)
298
- const paramNames = endpoint?.parameters ? Object.keys(endpoint.parameters) : [];
297
+ // Custom action — validate body against declared parameters, then call handler
298
+ const params = endpoint?.parameters || {};
299
+ const paramNames = Object.keys(params);
299
300
  const callArgs = paramNames.length > 0
300
301
  ? paramNames.map(p => `body.${p}`).join(', ')
301
302
  : 'body';
303
+
304
+ // Generate per-parameter validation checks
305
+ const validations: string[] = [];
306
+ for (const [pName, pDef] of Object.entries(params) as [string, any][]) {
307
+ const required = typeof pDef === 'string' ? pDef.includes('required') : pDef?.required;
308
+ const typeStr = typeof pDef === 'string' ? pDef.split(' ')[0] : pDef?.type || 'String';
309
+ if (required) {
310
+ validations.push(` if (body.${pName} === undefined || body.${pName} === null) errors.push({ field: '${pName}', message: '${pName} is required' });`);
311
+ }
312
+ // Type checks
313
+ if (typeStr === 'UUID' || typeStr === 'String' || typeStr === 'Email') {
314
+ validations.push(` if (body.${pName} !== undefined && typeof body.${pName} !== 'string') errors.push({ field: '${pName}', message: '${pName} must be a string' });`);
315
+ } else if (typeStr === 'Integer' || typeStr === 'Number' || typeStr === 'Float') {
316
+ validations.push(` if (body.${pName} !== undefined && typeof body.${pName} !== 'number') errors.push({ field: '${pName}', message: '${pName} must be a number' });`);
317
+ } else if (typeStr === 'Boolean') {
318
+ validations.push(` if (body.${pName} !== undefined && typeof body.${pName} !== 'boolean') errors.push({ field: '${pName}', message: '${pName} must be a boolean' });`);
319
+ }
320
+ }
321
+
322
+ const validationBlock = validations.length > 0
323
+ ? ` const errors: Array<{ field: string; message: string }> = [];\n${validations.join('\n')}\n if (errors.length > 0) return reply.status(400).send({ error: 'Validation failed', details: errors });`
324
+ : '';
325
+
302
326
  return `try {
303
327
  const body = (request.body || {}) as Record<string, any>;
328
+ ${validationBlock}
304
329
  const result = await handler.${operation}(${callArgs});
305
330
  return reply.send(result || { success: true });
306
331
  } catch (error) {
@@ -9,12 +9,33 @@ import type { TemplateContext } from '@specverse/types';
9
9
  export default function generateTsConfig(context: TemplateContext): string {
10
10
  const { manifest, spec } = context;
11
11
 
12
+ // Detect layout: monorepo (default) vs standalone. In standalone layouts
13
+ // the scaffolding factory sets `outputStructure: standalone` + `backendDir: "."`
14
+ // so code lives in ./src directly. In monorepo layouts code lives under
15
+ // backend/src/ and frontend/src/, each with its own tsconfig, and the root
16
+ // tsconfig is just a solution-style stub so `tsc --noEmit` at the project
17
+ // root doesn't hit TS18003 ("no inputs").
18
+ const implementationTypes = (context as any).implementationTypes || [];
19
+ const isMonorepo = !implementationTypes.some((it: any) => {
20
+ const cfg = it?.configuration || it?.instanceFactory?.configuration || {};
21
+ return cfg.outputStructure === 'standalone';
22
+ });
23
+
24
+ if (isMonorepo) {
25
+ // In monorepo mode each workspace (backend/, frontend/) owns its own
26
+ // tsconfig. A root tsconfig is actively harmful: tsc --noEmit at the
27
+ // project root either trips TS18003 ("no inputs") on `include: ["src/**/*"]`
28
+ // or TS18002 ("empty files list") on `{"files": []}`. Return an empty
29
+ // string so the realize pipeline treats it as "skip this template".
30
+ return '';
31
+ }
32
+
12
33
  // Extract TypeScript options from implementation types
13
- const mergedOptions = extractTsConfigOptions(context.implementationTypes || []);
34
+ const mergedOptions = extractTsConfigOptions(implementationTypes);
14
35
 
15
36
  // Detect if we're using React - check both implementation types AND if we have views in the spec
16
37
  const hasViews = spec && (spec.views || (Array.isArray(spec.views) && spec.views.length > 0));
17
- const usesReact = hasViews && (context.implementationTypes || []).some((implType: any) =>
38
+ const usesReact = hasViews && implementationTypes.some((implType: any) =>
18
39
  implType.capabilities?.provides?.includes('ui.components') &&
19
40
  implType.technology?.framework === 'react'
20
41
  );