@specverse/engines 4.1.12 → 4.1.14

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 (48) hide show
  1. package/assets/prompts/core/standard/v9/behavior.prompt.yaml +120 -0
  2. package/dist/ai/behavior-ai-service.d.ts +63 -0
  3. package/dist/ai/behavior-ai-service.d.ts.map +1 -0
  4. package/dist/ai/behavior-ai-service.js +203 -0
  5. package/dist/ai/behavior-ai-service.js.map +1 -0
  6. package/dist/ai/index.d.ts +27 -0
  7. package/dist/ai/index.d.ts.map +1 -1
  8. package/dist/ai/index.js +30 -0
  9. package/dist/ai/index.js.map +1 -1
  10. package/dist/inference/index.d.ts.map +1 -1
  11. package/dist/inference/index.js +1 -0
  12. package/dist/inference/index.js.map +1 -1
  13. package/dist/inference/logical/logical-engine.d.ts.map +1 -1
  14. package/dist/inference/logical/logical-engine.js +3 -0
  15. package/dist/inference/logical/logical-engine.js.map +1 -1
  16. package/dist/libs/instance-factories/cli/templates/commander/cli-entry-generator.js +12 -11
  17. package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +21 -5
  18. package/dist/libs/instance-factories/communication/templates/eventemitter/bus-generator.js +31 -30
  19. package/dist/libs/instance-factories/communication/templates/eventemitter/types-generator.js +79 -0
  20. package/dist/libs/instance-factories/communication/templates/eventemitter/websocket-bridge-generator.js +96 -0
  21. package/dist/libs/instance-factories/controllers/templates/fastify/routes-generator.js +25 -9
  22. package/dist/libs/instance-factories/controllers/templates/fastify/server-generator.js +20 -2
  23. package/dist/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.js +141 -0
  24. package/dist/libs/instance-factories/services/templates/prisma/behavior-generator.js +62 -42
  25. package/dist/libs/instance-factories/services/templates/prisma/controller-generator.js +39 -7
  26. package/dist/libs/instance-factories/services/templates/prisma/step-conventions.js +101 -84
  27. package/dist/parser/processors/AttributeProcessor.d.ts.map +1 -1
  28. package/dist/parser/processors/AttributeProcessor.js +13 -6
  29. package/dist/parser/processors/AttributeProcessor.js.map +1 -1
  30. package/dist/parser/processors/ModelProcessor.d.ts.map +1 -1
  31. package/dist/parser/processors/ModelProcessor.js +7 -0
  32. package/dist/parser/processors/ModelProcessor.js.map +1 -1
  33. package/dist/realize/index.d.ts.map +1 -1
  34. package/dist/realize/index.js +54 -0
  35. package/dist/realize/index.js.map +1 -1
  36. package/libs/instance-factories/cli/templates/commander/cli-entry-generator.ts +12 -11
  37. package/libs/instance-factories/cli/templates/commander/command-generator.ts +21 -5
  38. package/libs/instance-factories/communication/event-emitter.yaml +16 -12
  39. package/libs/instance-factories/communication/templates/eventemitter/bus-generator.ts +33 -35
  40. package/libs/instance-factories/communication/templates/eventemitter/types-generator.ts +95 -0
  41. package/libs/instance-factories/communication/templates/eventemitter/websocket-bridge-generator.ts +105 -0
  42. package/libs/instance-factories/controllers/templates/fastify/routes-generator.ts +32 -11
  43. package/libs/instance-factories/controllers/templates/fastify/server-generator.ts +23 -2
  44. package/libs/instance-factories/services/templates/prisma/ai-behaviors-generator.ts +211 -0
  45. package/libs/instance-factories/services/templates/prisma/behavior-generator.ts +86 -40
  46. package/libs/instance-factories/services/templates/prisma/controller-generator.ts +54 -8
  47. package/libs/instance-factories/services/templates/prisma/step-conventions.ts +166 -85
  48. package/package.json +1 -1
@@ -4,15 +4,47 @@ function toVar(name) {
4
4
  function toMethod(words) {
5
5
  return words.trim().replace(/\s+(.)/g, (_, c) => c.toUpperCase()).replace(/^\w/, (c) => c.toLowerCase());
6
6
  }
7
+ function resolveValue(rawValue, ctx) {
8
+ const value = rawValue.trim().replace(/^['"]|['"]$/g, "");
9
+ if (/^(current\s*time|now|timestamp)$/i.test(value)) {
10
+ return "new Date().toISOString()";
11
+ }
12
+ if (value === "true" || value === "false") return value;
13
+ if (/^-?\d+(\.\d+)?$/.test(value)) return value;
14
+ const declared = ctx.declaredVars || /* @__PURE__ */ new Set();
15
+ const params = ctx.parameterNames || [];
16
+ const rootMatch = value.match(/^([a-zA-Z_][a-zA-Z0-9_]*)(\.[a-zA-Z0-9_.]+)?$/);
17
+ if (rootMatch) {
18
+ const root = rootMatch[1];
19
+ if (declared.has(root) || params.includes(root)) {
20
+ return value;
21
+ }
22
+ }
23
+ const tokens = value.toLowerCase().split(/\s+/);
24
+ for (const declaredName of [...declared, ...params]) {
25
+ const normalized = declaredName.toLowerCase();
26
+ if (tokens.includes(normalized)) return declaredName;
27
+ }
28
+ const calcMatch = value.match(/^(?:the\s+|calculated\s+|computed\s+|resulting\s+)(\w+)/i);
29
+ if (calcMatch) {
30
+ const field = calcMatch[1];
31
+ const stepResults = [...declared].filter((v) => /^step\d+Result$/.test(v)).sort().reverse();
32
+ if (stepResults.length > 0) {
33
+ return `(${stepResults[0]} as any).${field} /* TODO: verify field name */`;
34
+ }
35
+ }
36
+ if (/\s/.test(value)) {
37
+ return `/* TODO: resolve "${value}" \u2014 no matching declared variable */ null`;
38
+ }
39
+ return `'${value.replace(/'/g, "\\'")}'`;
40
+ }
7
41
  const STEP_CONVENTIONS = [
8
42
  // --- Validation ---
9
43
  {
10
44
  name: "validate",
11
45
  pattern: /^validate\s+(.+)/i,
12
46
  generateCall: (m, ctx) => ` // Step ${ctx.stepNum}: Validate ${m[1]}
13
- const validationResult = this.validate(params, { operation: '${ctx.operationName}' });
14
- if (!validationResult.valid) {
15
- throw new Error(\`Validation failed: \${validationResult.errors.join(', ')}\`);
47
+ // TODO: Add validation logic for ${m[1]}
16
48
  }`
17
49
  },
18
50
  // --- Check / Guard ---
@@ -23,21 +55,9 @@ const STEP_CONVENTIONS = [
23
55
  const condition = m[1];
24
56
  const methodName = toMethod("check " + condition);
25
57
  return ` // Step ${ctx.stepNum}: Check ${condition}
26
- const checkResult = await this.${methodName}(params);
27
- if (!checkResult) {
28
- throw new Error('Check failed: ${condition}');
29
- }`;
30
- },
31
- generateMethod: (m, ctx) => {
32
- const condition = m[1];
33
- const methodName = toMethod("check " + condition);
34
- return `
35
- private async ${methodName}(params: any): Promise<boolean> {
36
58
  // TODO: Implement check \u2014 ${condition}
37
- const ${toVar(ctx.prismaModel)} = await this.prisma.${toVar(ctx.prismaModel)}.findUnique({ where: { id: params.id } });
38
- if (!${toVar(ctx.prismaModel)}) return false;
39
- return true;
40
- }`;
59
+ // const checkResult = ...
60
+ // if (!checkResult) throw new Error('Check failed: ${condition}');`;
41
61
  }
42
62
  },
43
63
  // --- Find / Lookup ---
@@ -47,21 +67,29 @@ const STEP_CONVENTIONS = [
47
67
  generateCall: (m, ctx) => {
48
68
  const model = m[1];
49
69
  const field = m[2];
70
+ const modelVar = toVar(model);
71
+ const params = ctx.parameterNames || [];
72
+ const declared = ctx.declaredVars || /* @__PURE__ */ new Set();
73
+ const idParam = field === "id" ? params.find((p) => p === `${modelVar}Id`) || params.find((p) => p === "id") || `${modelVar}Id` : params.find((p) => p === field) || `params.${field}`;
74
+ if (declared.has(modelVar)) {
75
+ return ` // Step ${ctx.stepNum}: Find ${model} by ${field} (already loaded)`;
76
+ }
77
+ declared.add(modelVar);
50
78
  return ` // Step ${ctx.stepNum}: Find ${model} by ${field}
51
- const ${toVar(model)} = await this.prisma.${toVar(model)}.findUnique({ where: { ${field}: params.${field} } });
52
- if (!${toVar(model)}) {
53
- throw new Error('${model} not found by ${field}');
54
- }`;
79
+ const ${modelVar} = await prisma.${modelVar}.findUniqueOrThrow({ where: { ${field}: ${idParam} } });`;
55
80
  }
56
81
  },
57
82
  // --- Create ---
58
83
  {
59
84
  name: "create",
60
- pattern: /^create\s+(\w+)(?:\s+record)?/i,
85
+ pattern: /^create\s+(\w+)(?:\s+(?:with\s+)?(.+))?/i,
61
86
  generateCall: (m, ctx) => {
62
87
  const model = m[1];
88
+ const modelVar = toVar(model);
89
+ const paramNames = ctx.parameterNames || [];
90
+ const dataFields = paramNames.length > 0 ? `{ ${paramNames.join(", ")} }` : "data";
63
91
  return ` // Step ${ctx.stepNum}: Create ${model}
64
- const ${toVar(model)} = await this.prisma.${toVar(model)}.create({ data: params });`;
92
+ const ${modelVar} = await prisma.${modelVar}.create({ data: ${dataFields} });`;
65
93
  }
66
94
  },
67
95
  // --- Update field ---
@@ -71,12 +99,12 @@ const STEP_CONVENTIONS = [
71
99
  generateCall: (m, ctx) => {
72
100
  const model = m[1];
73
101
  const field = m[2];
74
- const value = m[3].trim().replace(/"/g, "'");
75
- const isString = /^[a-z]/.test(value) && !value.includes(".");
76
- const val = isString ? `'${value}'` : value;
77
- return ` // Step ${ctx.stepNum}: Update ${model} ${field} to ${value}
78
- await this.prisma.${toVar(model)}.update({
79
- where: { id: params.id },
102
+ const rawValue = m[3];
103
+ const modelVar = toVar(model);
104
+ const val = resolveValue(rawValue, ctx);
105
+ return ` // Step ${ctx.stepNum}: Update ${model} ${field} to ${rawValue.trim()}
106
+ await prisma.${modelVar}.update({
107
+ where: { id: ${modelVar}.id },
80
108
  data: { ${field}: ${val} },
81
109
  });`;
82
110
  }
@@ -87,9 +115,10 @@ const STEP_CONVENTIONS = [
87
115
  pattern: /^update\s+(\w+)(?:\s+(.+))?/i,
88
116
  generateCall: (m, ctx) => {
89
117
  const model = m[1];
118
+ const modelVar = toVar(model);
90
119
  return ` // Step ${ctx.stepNum}: Update ${model}
91
- await this.prisma.${toVar(model)}.update({
92
- where: { id: params.id },
120
+ await prisma.${modelVar}.update({
121
+ where: { id: ${modelVar}.id },
93
122
  data: params,
94
123
  });`;
95
124
  }
@@ -100,8 +129,9 @@ const STEP_CONVENTIONS = [
100
129
  pattern: /^delete\s+(\w+)/i,
101
130
  generateCall: (m, ctx) => {
102
131
  const model = m[1];
132
+ const modelVar = toVar(model);
103
133
  return ` // Step ${ctx.stepNum}: Delete ${model}
104
- await this.prisma.${toVar(model)}.delete({ where: { id: params.id } });`;
134
+ await prisma.${modelVar}.delete({ where: { id: ${modelVar}.id } });`;
105
135
  }
106
136
  },
107
137
  // --- Transition / Evolve ---
@@ -111,11 +141,11 @@ const STEP_CONVENTIONS = [
111
141
  generateCall: (m, ctx) => {
112
142
  const model = m[1];
113
143
  const state = m[2];
144
+ const modelVar = toVar(model);
114
145
  return ` // Step ${ctx.stepNum}: Transition ${model} to ${state}
115
- const current = await this.prisma.${toVar(model)}.findUniqueOrThrow({ where: { id: params.id } });
116
- // Lifecycle validation would check valid transition here
117
- await this.prisma.${toVar(model)}.update({
118
- where: { id: params.id },
146
+ if (${modelVar}.status === '${state}') throw new Error('${model} is already ${state}');
147
+ await prisma.${modelVar}.update({
148
+ where: { id: ${modelVar}.id },
119
149
  data: { status: '${state}' },
120
150
  });`;
121
151
  }
@@ -126,12 +156,12 @@ const STEP_CONVENTIONS = [
126
156
  pattern: /^set\s+(\w+)\s+to\s+(.+)/i,
127
157
  generateCall: (m, ctx) => {
128
158
  const field = m[1];
129
- const value = m[2].trim();
130
- const isCurrentTime = /current time|now|timestamp/i.test(value);
131
- const val = isCurrentTime ? "new Date()" : `'${value}'`;
132
- return ` // Step ${ctx.stepNum}: Set ${field} to ${value}
133
- await this.prisma.${toVar(ctx.prismaModel)}.update({
134
- where: { id: params.id },
159
+ const rawValue = m[2];
160
+ const modelVar = toVar(ctx.prismaModel);
161
+ const val = resolveValue(rawValue, ctx);
162
+ return ` // Step ${ctx.stepNum}: Set ${field} to ${rawValue.trim()}
163
+ await prisma.${modelVar}.update({
164
+ where: { id: ${modelVar}.id },
135
165
  data: { ${field}: ${val} },
136
166
  });`;
137
167
  }
@@ -143,10 +173,11 @@ const STEP_CONVENTIONS = [
143
173
  generateCall: (m, ctx) => {
144
174
  const field = m[1];
145
175
  const amount = m[2];
146
- const amountVal = /^\d+$/.test(amount) ? amount : `params.${amount}`;
176
+ const modelVar = toVar(ctx.prismaModel);
177
+ const amountVal = /^\d+$/.test(amount) ? amount : amount;
147
178
  return ` // Step ${ctx.stepNum}: Increment ${field} by ${amount}
148
- await this.prisma.${toVar(ctx.prismaModel)}.update({
149
- where: { id: params.id },
179
+ await prisma.${modelVar}.update({
180
+ where: { id: ${modelVar}.id },
150
181
  data: { ${field}: { increment: ${amountVal} } },
151
182
  });`;
152
183
  }
@@ -158,38 +189,18 @@ const STEP_CONVENTIONS = [
158
189
  generateCall: (m, ctx) => {
159
190
  const field = m[1];
160
191
  const amount = m[2];
161
- const amountVal = /^\d+$/.test(amount) ? amount : `params.${amount}`;
192
+ const modelVar = toVar(ctx.prismaModel);
193
+ const amountVal = /^\d+$/.test(amount) ? amount : amount;
162
194
  return ` // Step ${ctx.stepNum}: Decrement ${field} by ${amount}
163
- const current${field} = await this.prisma.${toVar(ctx.prismaModel)}.findUniqueOrThrow({ where: { id: params.id } });
164
- if ((current${field}.${field} || 0) < ${amountVal}) {
165
- throw new Error('Cannot decrement ${field} below zero');
166
- }
167
- await this.prisma.${toVar(ctx.prismaModel)}.update({
168
- where: { id: params.id },
195
+ await prisma.${modelVar}.update({
196
+ where: { id: ${modelVar}.id },
169
197
  data: { ${field}: { decrement: ${amountVal} } },
170
198
  });`;
171
199
  }
172
200
  },
173
- // --- Calculate ---
174
- {
175
- name: "calculate",
176
- pattern: /^calculate\s+(.+)/i,
177
- generateCall: (m, ctx) => {
178
- const metric = m[1];
179
- const methodName = toMethod("calculate " + metric);
180
- return ` // Step ${ctx.stepNum}: Calculate ${metric}
181
- const ${toVar(metric.replace(/\s+/g, ""))} = await this.${methodName}(params);`;
182
- },
183
- generateMethod: (m, ctx) => {
184
- const metric = m[1];
185
- const methodName = toMethod("calculate " + metric);
186
- return `
187
- private async ${methodName}(params: any): Promise<number> {
188
- // TODO: Implement calculation \u2014 ${metric}
189
- return 0;
190
- }`;
191
- }
192
- },
201
+ // NOTE: "calculate X" is intentionally NOT a convention — it falls through to AI
202
+ // behaviors because calculations are domain-specific pure functions that benefit
203
+ // from AI generation with the full input context.
193
204
  // --- Send event ---
194
205
  {
195
206
  name: "send-event",
@@ -197,7 +208,7 @@ const STEP_CONVENTIONS = [
197
208
  generateCall: (m, ctx) => {
198
209
  const event = m[1];
199
210
  return ` // Step ${ctx.stepNum}: Emit ${event} event
200
- this.emit('${event}', { ${toVar(ctx.prismaModel)}Id: params.id, operation: '${ctx.operationName}', timestamp: new Date().toISOString() });`;
211
+ await eventBus.publish('${event}', { ${toVar(ctx.prismaModel)}Id: ${toVar(ctx.prismaModel)}.id, operation: '${ctx.operationName}', timestamp: new Date().toISOString() });`;
201
212
  }
202
213
  },
203
214
  // --- Send notification ---
@@ -207,7 +218,7 @@ const STEP_CONVENTIONS = [
207
218
  generateCall: (m, ctx) => {
208
219
  const type = m[1];
209
220
  return ` // Step ${ctx.stepNum}: Send ${type} notification
210
- this.emit('${type}Notification', { ${toVar(ctx.prismaModel)}Id: params.id, operation: '${ctx.operationName}' });`;
221
+ await eventBus.publish('${type}Notification', { ${toVar(ctx.prismaModel)}Id: ${toVar(ctx.prismaModel)}.id, operation: '${ctx.operationName}' });`;
211
222
  }
212
223
  },
213
224
  // --- Call service ---
@@ -218,7 +229,7 @@ const STEP_CONVENTIONS = [
218
229
  const service = m[1];
219
230
  const method = m[2];
220
231
  return ` // Step ${ctx.stepNum}: Call ${service}.${method}
221
- await this.${toVar(service)}.${method}(params);`;
232
+ await ${toVar(service)}.${method}({ ${(ctx.parameterNames || []).join(", ")} });`;
222
233
  }
223
234
  },
224
235
  // --- Return ---
@@ -243,19 +254,25 @@ function matchStep(step, ctx) {
243
254
  if (match) {
244
255
  return {
245
256
  call: convention.generateCall(match, ctx),
246
- helperMethod: convention.generateMethod?.(match, ctx)
257
+ helperMethod: convention.generateMethod?.(match, ctx),
258
+ matched: true
247
259
  };
248
260
  }
249
261
  }
250
- const methodName = toMethod(step);
262
+ const functionName = toMethod(step);
263
+ const declared = Array.from(ctx.declaredVars || []);
264
+ const paramNames = ctx.parameterNames || [];
265
+ const inputs = [...paramNames, ...declared];
266
+ const resultVar = `step${ctx.stepNum}Result`;
267
+ const inputObj = inputs.length > 0 ? `{ ${inputs.join(", ")} }` : "{}";
268
+ if (ctx.declaredVars) ctx.declaredVars.add(resultVar);
251
269
  return {
252
- call: ` // Step ${ctx.stepNum}: ${step}
253
- await this.${methodName}(params);`,
254
- helperMethod: `
255
- private async ${methodName}(params: any): Promise<void> {
256
- // TODO: Implement \u2014 ${step}
257
- throw new Error('Not implemented: ${methodName}');
258
- }`
270
+ call: ` // Step ${ctx.stepNum}: ${step} [AI-generated \u2014 pure function]
271
+ const ${resultVar} = await aiBehaviors.${functionName}(${inputObj});`,
272
+ matched: false,
273
+ functionName,
274
+ inputs,
275
+ resultVar
259
276
  };
260
277
  }
261
278
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAkC/D,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC;IAC3E;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAkFhD;;OAEG;IACH,OAAO,CAAC,UAAU;CA8CnB"}
1
+ {"version":3,"file":"AttributeProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAkC/D,qBAAa,kBAAmB,SAAQ,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC;IAC3E;;;OAGG;IACH;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,aAAa;IAuFhD;;OAEG;IACH,OAAO,CAAC,UAAU;CA8CnB"}
@@ -56,9 +56,12 @@ export class AttributeProcessor extends AbstractProcessor {
56
56
  values: input.values,
57
57
  category: input.category,
58
58
  };
59
- // Auto-generated fields are metadata
60
- if (!spec.category && spec.auto)
61
- spec.category = 'metadata';
59
+ if (!spec.category) {
60
+ if (spec.auto)
61
+ spec.category = 'metadata';
62
+ else if (spec.name === 'id')
63
+ spec.category = 'metadata';
64
+ }
62
65
  return spec;
63
66
  }
64
67
  // Parse string convention: "Email required unique verified"
@@ -107,9 +110,13 @@ export class AttributeProcessor extends AbstractProcessor {
107
110
  }
108
111
  }
109
112
  }
110
- // Auto-generated fields are metadata
111
- if (spec.auto)
112
- spec.category = 'metadata';
113
+ // Auto-generated fields and id are always metadata
114
+ if (!spec.category) {
115
+ if (spec.auto)
116
+ spec.category = 'metadata';
117
+ else if (spec.name === 'id')
118
+ spec.category = 'metadata';
119
+ }
113
120
  return spec;
114
121
  }
115
122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttributeProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/AttributeProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModelProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAmG,MAAM,iBAAiB,CAAC;AAE7I,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,EAAE,GAAG;IAQxB,OAAO,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS,EAAE;IAyErC,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAkC3B"}
1
+ {"version":3,"file":"ModelProcessor.d.ts","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D,OAAO,EAAE,SAAS,EAAmG,MAAM,iBAAiB,CAAC;AAE7I,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC;IACrE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,OAAO,EAAE,GAAG;IAQxB,OAAO,CAAC,UAAU,EAAE,GAAG,GAAG,SAAS,EAAE;IAmFrC,OAAO,CAAC,mBAAmB;IA6C3B,OAAO,CAAC,sBAAsB;IAY9B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAetB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAkC3B"}
@@ -35,6 +35,13 @@ export class ModelProcessor extends AbstractProcessor {
35
35
  relationships.push(this.relationshipProcessor.process(relName, relDef));
36
36
  }
37
37
  }
38
+ // Tag FK attributes from belongsTo relationships as 'relationship'
39
+ const belongsToFKs = new Set(relationships.filter(r => r.type === 'belongsTo').map(r => `${r.name}Id`));
40
+ for (const attr of attributes) {
41
+ if (belongsToFKs.has(attr.name)) {
42
+ attr.category = 'relationship';
43
+ }
44
+ }
38
45
  // Process lifecycles
39
46
  if (modelDef.lifecycles) {
40
47
  for (const [lifecycleName, lifecycleDef] of Object.entries(modelDef.lifecycles)) {
@@ -1 +1 @@
1
- {"version":3,"file":"ModelProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelProcessor.js","sourceRoot":"","sources":["../../../src/parser/processors/ModelProcessor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realize/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMlE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASnF,cAAM,sBAAuB,YAAW,aAAa;IACnD,IAAI,SAAa;IACjB,OAAO,SAAW;IAClB,YAAY,WAA+E;IAE3F,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjB,OAAO,IAAI,UAAU;IAIrB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;IAK1B,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAKvF;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAua9F;;;OAGG;YACW,UAAU;IAwDxB,OAAO,CAAC,oBAAoB;CAuB7B;AAED,eAAO,MAAM,MAAM,wBAA+B,CAAC;AACnD,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/realize/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMlE,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AASnF,cAAM,sBAAuB,YAAW,aAAa;IACnD,IAAI,SAAa;IACjB,OAAO,SAAW;IAClB,YAAY,WAA+E;IAE3F,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAEtB,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjB,OAAO,IAAI,UAAU;IAIrB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG;IAK1B,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;IAKvF;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IA4d9F;;;OAGG;YACW,UAAU;IAwDxB,OAAO,CAAC,oBAAoB;CAuB7B;AAED,eAAO,MAAM,MAAM,wBAA+B,CAAC;AACnD,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -112,6 +112,30 @@ class SpecVerseRealizeEngine {
112
112
  errors.push(`ORM: ${e.message}`);
113
113
  }
114
114
  }
115
+ // 1.5 Event infrastructure (types + bus + websocket bridge)
116
+ const eventResolved = tryResolve('messaging.events');
117
+ if (eventResolved?.instanceFactory?.codeTemplates) {
118
+ const eventFiles = [];
119
+ // Generate in dependency order: types first, then bus, then websocket
120
+ const orderedTemplates = ['types', 'bus', 'websocket'].filter(t => eventResolved.instanceFactory.codeTemplates[t]);
121
+ // Also generate any other templates (publisher, subscriber)
122
+ for (const t of Object.keys(eventResolved.instanceFactory.codeTemplates)) {
123
+ if (!orderedTemplates.includes(t))
124
+ orderedTemplates.push(t);
125
+ }
126
+ for (const templateName of orderedTemplates) {
127
+ try {
128
+ const output = await this.codeGenerator.generateFromTemplate(eventResolved, templateName, { spec, models: allModels, manifest: this.manifest }, { outputDir });
129
+ writeOutput(output);
130
+ eventFiles.push(basename(output.filePath));
131
+ }
132
+ catch (e) {
133
+ errors.push(`Event ${templateName}: ${e.message}`);
134
+ }
135
+ }
136
+ if (eventFiles.length)
137
+ console.log(` ✅ Events: ${eventFiles.join(', ')}`);
138
+ }
115
139
  // 2. Controllers (per model) — use spec controllers if available, else generate from model
116
140
  const ctrlResolved = tryResolve('service.controller');
117
141
  if (ctrlResolved?.instanceFactory?.codeTemplates?.controllers) {
@@ -145,6 +169,36 @@ class SpecVerseRealizeEngine {
145
169
  }
146
170
  }
147
171
  console.log(` ✅ Controllers: ${allModels.length} controller(s)`);
172
+ // 2.5 AI Behaviors — generate .ai.ts files for unmatched steps
173
+ try {
174
+ const aiBehaviorsGenPath = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'libs', 'instance-factories', 'services', 'templates', 'prisma', 'ai-behaviors-generator.ts');
175
+ const aiBehaviorsGen = resolveGenPath(aiBehaviorsGenPath);
176
+ if (aiBehaviorsGen) {
177
+ const { default: generateAiBehaviors } = await import(aiBehaviorsGen);
178
+ let aiBehaviorCount = 0;
179
+ for (const model of allModels) {
180
+ const ctrlName = `${model.name}Controller`;
181
+ const specCtrl = controllerLookup[ctrlName];
182
+ if (specCtrl?.actions && Object.keys(specCtrl.actions).length > 0) {
183
+ const code = await generateAiBehaviors({ spec, model, controller: specCtrl, models: allModels });
184
+ if (code) {
185
+ const filePath = join(outputDir, 'backend', 'src', 'behaviors', `${ctrlName}.ai.ts`);
186
+ const dir = dirname(filePath);
187
+ if (!existsSync(dir))
188
+ mkdirSync(dir, { recursive: true });
189
+ writeFileSync(filePath, code);
190
+ aiBehaviorCount++;
191
+ }
192
+ }
193
+ }
194
+ if (aiBehaviorCount > 0) {
195
+ console.log(` ✅ AI Behaviors: ${aiBehaviorCount} file(s) — review in behaviors/*.ai.ts`);
196
+ }
197
+ }
198
+ }
199
+ catch (e) {
200
+ errors.push(`AI Behaviors: ${e.message}`);
201
+ }
148
202
  }
149
203
  // 3. Services
150
204
  const servicesList = Array.isArray(spec.services) ? spec.services : Object.values(spec.services || {});