@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":"quint-transpiler.js","sourceRoot":"","sources":["../../src/inference/quint-transpiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quint-transpiler.js","sourceRoot":"","sources":["../../src/inference/quint-transpiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * L3 Verification Runner
3
+ *
4
+ * Runs the Quint-transpiled guards against a spec snapshot and reports
5
+ * pass / fail / skipped. A guard is skipped when any of its state-var
6
+ * dependencies is missing from the snapshot — a raw (pre-inference)
7
+ * spec, for example, won't have `inferredControllers`, so guards that
8
+ * need it are skipped rather than failed.
9
+ *
10
+ * Usage:
11
+ * const result = await verifySpec(parsedSpec, { entitiesDir });
12
+ * if (result.failed.length > 0) process.exit(1);
13
+ *
14
+ * The caller is responsible for deciding what "the spec" is — raw,
15
+ * inferred, or something else. `verifySpec` runs whichever guards are
16
+ * applicable.
17
+ */
18
+ export interface VerificationFailure {
19
+ name: string;
20
+ entity: string;
21
+ module: string;
22
+ quint: string;
23
+ }
24
+ export interface VerificationSkip {
25
+ name: string;
26
+ entity: string;
27
+ missingDeps: string[];
28
+ }
29
+ export interface VerificationError {
30
+ name: string;
31
+ entity: string;
32
+ message: string;
33
+ }
34
+ export interface VerificationResult {
35
+ total: number;
36
+ passed: number;
37
+ failed: VerificationFailure[];
38
+ skipped: VerificationSkip[];
39
+ errors: VerificationError[];
40
+ }
41
+ export interface VerifyOptions {
42
+ /** Path to @specverse/entities source. Auto-resolved if omitted. */
43
+ entitiesDir?: string;
44
+ /**
45
+ * Which Quint state variables the snapshot populates. If a guard
46
+ * depends on a var not in this set, it's skipped. If omitted, derived
47
+ * from the keys of `snapshot`.
48
+ */
49
+ availableVars?: string[];
50
+ }
51
+ /**
52
+ * Build a Quint-shaped snapshot from a SpecVerse AST.
53
+ *
54
+ * The AST nests collections under `components` and uses shorthand
55
+ * strings for relationships and convention-format attributes. The
56
+ * guards were written against a flatter, more structured shape — each
57
+ * top-level state var (`models`, `controllers`, etc.) is an array of
58
+ * entities, and each entity's nested collections (`attributes`,
59
+ * `relationships`, …) are keyed maps.
60
+ *
61
+ * This function performs the normalization. The caller passes any spec
62
+ * (raw or inferred); only keys actually present in the spec are
63
+ * populated in the returned snapshot.
64
+ */
65
+ export declare function buildSnapshot(spec: any, stateVars: string[]): Record<string, any[]>;
66
+ /**
67
+ * Run the L3 verification gate against the provided spec.
68
+ *
69
+ * `spec` can be any SpecVerse AST — raw, inferred, or anywhere in
70
+ * between. Only guards whose dependencies are present in the
71
+ * resulting snapshot run; the rest are reported as skipped.
72
+ */
73
+ export declare function verifySpec(spec: any, opts?: VerifyOptions): Promise<VerificationResult>;
74
+ /**
75
+ * Format a verification result for CLI output.
76
+ */
77
+ export declare function formatVerificationResult(result: VerificationResult, verbose?: boolean): string;
78
+ //# sourceMappingURL=verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/inference/verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAkFnF;AAWD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqFjG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,UAAQ,GAAG,MAAM,CAsC5F"}
@@ -0,0 +1,263 @@
1
+ /**
2
+ * L3 Verification Runner
3
+ *
4
+ * Runs the Quint-transpiled guards against a spec snapshot and reports
5
+ * pass / fail / skipped. A guard is skipped when any of its state-var
6
+ * dependencies is missing from the snapshot — a raw (pre-inference)
7
+ * spec, for example, won't have `inferredControllers`, so guards that
8
+ * need it are skipped rather than failed.
9
+ *
10
+ * Usage:
11
+ * const result = await verifySpec(parsedSpec, { entitiesDir });
12
+ * if (result.failed.length > 0) process.exit(1);
13
+ *
14
+ * The caller is responsible for deciding what "the spec" is — raw,
15
+ * inferred, or something else. `verifySpec` runs whichever guards are
16
+ * applicable.
17
+ */
18
+ import { createRequire } from 'module';
19
+ import { dirname, join } from 'path';
20
+ import { transpileEntityGuards, extractStateVariables, generateGuardsModule } from './quint-transpiler.js';
21
+ /**
22
+ * Build a Quint-shaped snapshot from a SpecVerse AST.
23
+ *
24
+ * The AST nests collections under `components` and uses shorthand
25
+ * strings for relationships and convention-format attributes. The
26
+ * guards were written against a flatter, more structured shape — each
27
+ * top-level state var (`models`, `controllers`, etc.) is an array of
28
+ * entities, and each entity's nested collections (`attributes`,
29
+ * `relationships`, …) are keyed maps.
30
+ *
31
+ * This function performs the normalization. The caller passes any spec
32
+ * (raw or inferred); only keys actually present in the spec are
33
+ * populated in the returned snapshot.
34
+ */
35
+ export function buildSnapshot(spec, stateVars) {
36
+ const toArray = (v) => {
37
+ if (!v)
38
+ return [];
39
+ if (Array.isArray(v))
40
+ return v;
41
+ return Object.entries(v).map(([name, data]) => {
42
+ if (data && typeof data === 'object')
43
+ return { name, ...data };
44
+ return { name, value: data };
45
+ });
46
+ };
47
+ const toKeyedMap = (v) => {
48
+ if (!v)
49
+ return {};
50
+ if (Array.isArray(v)) {
51
+ const out = {};
52
+ for (const item of v) {
53
+ const key = item?.name || item?.id;
54
+ if (key)
55
+ out[key] = item;
56
+ }
57
+ return out;
58
+ }
59
+ return v;
60
+ };
61
+ const MODEL_NESTED = ['attributes', 'relationships', 'lifecycles', 'behaviors', 'profiles'];
62
+ const CONTROLLER_NESTED = ['endpoints', 'actions', 'operations'];
63
+ const SERVICE_NESTED = ['operations'];
64
+ const EVENT_NESTED = ['attributes'];
65
+ const VIEW_NESTED = ['layouts', 'uiComponents'];
66
+ const DEPLOYMENT_NESTED = ['instances'];
67
+ const normalizeEntity = (entity, keys) => {
68
+ if (!entity || typeof entity !== 'object')
69
+ return entity;
70
+ const out = { ...entity };
71
+ for (const k of keys)
72
+ if (k in out)
73
+ out[k] = toKeyedMap(out[k]);
74
+ return out;
75
+ };
76
+ const normList = (arr, keys) => arr.map(e => normalizeEntity(e, keys));
77
+ // Collect top-level + component-nested entities for each state var.
78
+ // Only populate keys where the spec actually has data; leave others
79
+ // unset so the verification runner can skip dependent guards.
80
+ const snapshot = {};
81
+ const componentList = spec?.components
82
+ ? (Array.isArray(spec.components) ? spec.components : Object.values(spec.components))
83
+ : [];
84
+ for (const v of stateVars) {
85
+ const topLevel = toArray(spec?.[v]);
86
+ const nested = [];
87
+ for (const comp of componentList) {
88
+ const val = comp?.[v];
89
+ if (val)
90
+ nested.push(...toArray(val));
91
+ }
92
+ if (topLevel.length > 0 || nested.length > 0) {
93
+ snapshot[v] = [...topLevel, ...nested];
94
+ }
95
+ }
96
+ // `components` is its own state var, populated from the list
97
+ if (stateVars.includes('components') && componentList.length > 0) {
98
+ snapshot.components = componentList;
99
+ }
100
+ // Normalize per-entity nested collections
101
+ if (snapshot.models)
102
+ snapshot.models = normList(snapshot.models, MODEL_NESTED);
103
+ if (snapshot.controllers)
104
+ snapshot.controllers = normList(snapshot.controllers, CONTROLLER_NESTED);
105
+ if (snapshot.services)
106
+ snapshot.services = normList(snapshot.services, SERVICE_NESTED);
107
+ if (snapshot.events)
108
+ snapshot.events = normList(snapshot.events, EVENT_NESTED);
109
+ if (snapshot.views)
110
+ snapshot.views = normList(snapshot.views, VIEW_NESTED);
111
+ if (snapshot.deployments)
112
+ snapshot.deployments = normList(snapshot.deployments, DEPLOYMENT_NESTED);
113
+ // `inferredControllers` / `inferredServices` are Quint internal aliases
114
+ // for inference output. Populate them only when the respective
115
+ // non-inferred collection is present AND non-empty — this is the
116
+ // signal that inference (or a user writing the expanded form) has run.
117
+ if (stateVars.includes('inferredControllers') && snapshot.controllers?.length) {
118
+ snapshot.inferredControllers = snapshot.controllers;
119
+ }
120
+ if (stateVars.includes('inferredServices') && snapshot.services?.length) {
121
+ snapshot.inferredServices = snapshot.services;
122
+ }
123
+ return snapshot;
124
+ }
125
+ /**
126
+ * Resolve the entities source directory when not explicitly provided.
127
+ */
128
+ function resolveEntitiesDir() {
129
+ const req = createRequire(import.meta.url);
130
+ const pkgPath = req.resolve('@specverse/entities/package.json');
131
+ return join(dirname(pkgPath), 'src');
132
+ }
133
+ /**
134
+ * Run the L3 verification gate against the provided spec.
135
+ *
136
+ * `spec` can be any SpecVerse AST — raw, inferred, or anywhere in
137
+ * between. Only guards whose dependencies are present in the
138
+ * resulting snapshot run; the rest are reported as skipped.
139
+ */
140
+ export async function verifySpec(spec, opts = {}) {
141
+ const entitiesDir = opts.entitiesDir || resolveEntitiesDir();
142
+ const guards = transpileEntityGuards(entitiesDir);
143
+ const stateVars = extractStateVariables(entitiesDir);
144
+ // Deduplicate guards by (kind, name) to match generateGuardsModule
145
+ const seen = new Set();
146
+ const uniqueGuards = guards.filter(g => {
147
+ const key = `${g.kind}:${g.name}`;
148
+ if (seen.has(key))
149
+ return false;
150
+ seen.add(key);
151
+ return true;
152
+ });
153
+ // Build the snapshot — caller can override which vars are "available"
154
+ // by passing an explicit availableVars list, but by default we derive
155
+ // it from what buildSnapshot populates.
156
+ const snapshot = buildSnapshot(spec, stateVars);
157
+ const availableVars = new Set(opts.availableVars || Object.keys(snapshot));
158
+ const invariants = uniqueGuards.filter(g => g.kind === 'invariant');
159
+ const failed = [];
160
+ const skipped = [];
161
+ const errors = [];
162
+ let passed = 0;
163
+ // Partition: which guards can run against this snapshot?
164
+ const runnable = [];
165
+ for (const g of invariants) {
166
+ const missing = g.dependencies.filter(d => !availableVars.has(d));
167
+ if (missing.length > 0) {
168
+ skipped.push({ name: g.name, entity: g.entity, missingDeps: missing });
169
+ }
170
+ else {
171
+ runnable.push(g);
172
+ }
173
+ }
174
+ if (runnable.length === 0) {
175
+ return { total: invariants.length, passed: 0, failed, skipped, errors };
176
+ }
177
+ // Transpile guards to a runnable module — only the ones we need, so
178
+ // state vars filter down naturally.
179
+ const guardsCode = generateGuardsModule(runnable, stateVars);
180
+ const esbuild = await import('esbuild');
181
+ const compiled = esbuild.transformSync(guardsCode, {
182
+ loader: 'ts',
183
+ format: 'esm',
184
+ target: 'es2022',
185
+ }).code;
186
+ const dataUrl = 'data:text/javascript;base64,' + Buffer.from(compiled).toString('base64');
187
+ const mod = await import(dataUrl);
188
+ if (typeof mod.setSpecSnapshot === 'function') {
189
+ mod.setSpecSnapshot(snapshot);
190
+ }
191
+ for (const g of runnable) {
192
+ const fn = mod[`check_${g.name}`];
193
+ if (typeof fn !== 'function')
194
+ continue;
195
+ try {
196
+ const ok = fn();
197
+ if (ok === false) {
198
+ failed.push({
199
+ name: g.name,
200
+ entity: g.entity,
201
+ module: g.module,
202
+ quint: g.quint,
203
+ });
204
+ }
205
+ else {
206
+ passed++;
207
+ }
208
+ }
209
+ catch (e) {
210
+ errors.push({ name: g.name, entity: g.entity, message: e.message });
211
+ }
212
+ }
213
+ return {
214
+ total: invariants.length,
215
+ passed,
216
+ failed,
217
+ skipped,
218
+ errors,
219
+ };
220
+ }
221
+ /**
222
+ * Format a verification result for CLI output.
223
+ */
224
+ export function formatVerificationResult(result, verbose = false) {
225
+ const lines = [];
226
+ const applicable = result.passed + result.failed.length + result.errors.length;
227
+ lines.push(`L3 verification: ${result.passed}/${applicable} invariants hold`);
228
+ if (result.skipped.length > 0) {
229
+ lines.push(` ${result.skipped.length} skipped (not applicable to this spec)`);
230
+ }
231
+ if (result.failed.length > 0) {
232
+ lines.push(` ${result.failed.length} failed:`);
233
+ const toShow = verbose ? result.failed : result.failed.slice(0, 10);
234
+ for (const f of toShow) {
235
+ lines.push(` ✗ ${f.entity}/${f.name}`);
236
+ if (verbose && f.quint) {
237
+ const first = f.quint.split('\n')[0].slice(0, 120);
238
+ lines.push(` ${first}`);
239
+ }
240
+ }
241
+ if (!verbose && result.failed.length > 10) {
242
+ lines.push(` ...and ${result.failed.length - 10} more`);
243
+ }
244
+ }
245
+ if (result.errors.length > 0) {
246
+ lines.push(` ${result.errors.length} errored (shape mismatch):`);
247
+ const toShow = verbose ? result.errors : result.errors.slice(0, 5);
248
+ for (const e of toShow) {
249
+ lines.push(` ⚠ ${e.entity}/${e.name}: ${e.message}`);
250
+ }
251
+ if (!verbose && result.errors.length > 5) {
252
+ lines.push(` ...and ${result.errors.length - 5} more`);
253
+ }
254
+ }
255
+ if (verbose && result.skipped.length > 0) {
256
+ lines.push(' skipped guards:');
257
+ for (const s of result.skipped) {
258
+ lines.push(` - ${s.entity}/${s.name} (needs: ${s.missingDeps.join(', ')})`);
259
+ }
260
+ }
261
+ return lines.join('\n');
262
+ }
263
+ //# sourceMappingURL=verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/inference/verification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAwB,MAAM,uBAAuB,CAAC;AAwCjI;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,IAAS,EAAE,SAAmB;IAC1D,MAAM,OAAO,GAAG,CAAC,CAAM,EAAS,EAAE;QAChC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAgB,EAAE,EAAE;YAC3D,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;YAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,CAAM,EAAuB,EAAE;QACjD,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAwB,EAAE,CAAC;YACpC,KAAK,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,GAAG;oBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YAC3B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5F,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,CAAC,WAAW,CAAC,CAAC;IAExC,MAAM,eAAe,GAAG,CAAC,MAAW,EAAE,IAAc,EAAO,EAAE;QAC3D,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QACzD,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,GAAU,EAAE,IAAc,EAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/F,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,QAAQ,GAA0B,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,EAAE,UAAU;QACpC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrF,CAAC,CAAC,EAAE,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,aAAsB,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,QAAQ,CAAC,UAAU,GAAG,aAAsB,CAAC;IAC/C,CAAC;IAED,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,WAAW;QAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACnG,IAAI,QAAQ,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/E,IAAI,QAAQ,CAAC,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,WAAW;QAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAEnG,wEAAwE;IACxE,+DAA+D;IAC/D,iEAAiE;IACjE,uEAAuE;IACvE,IAAI,SAAS,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC9E,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;IACtD,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACxE,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAChD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAS,EAAE,OAAsB,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAErD,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,sEAAsE;IACtE,sEAAsE;IACtE,wCAAwC;IACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3E,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAEpE,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,yDAAyD;IACzD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC1E,CAAC;IAED,oEAAoE;IACpE,oCAAoC;IACpC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE;QACjD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC,IAAI,CAAC;IACR,MAAM,OAAO,GAAG,8BAA8B,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAQ,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvC,IAAI,OAAO,GAAG,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAC9C,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,KAAK,UAAU;YAAE,SAAS;QACvC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAChB,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA0B,EAAE,OAAO,GAAG,KAAK;IAClF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,UAAU,kBAAkB,CAAC,CAAC;IAC9E,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,wCAAwC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -41,8 +41,11 @@ function generateBackendPackageJson(context) {
41
41
  "@fastify/cors": "^8.4.0",
42
42
  "@fastify/helmet": "^11.1.1",
43
43
  "@fastify/rate-limit": "^9.1.0",
44
+ "@fastify/websocket": "^10.0.0",
45
+ "eventemitter3": "^5.0.0",
44
46
  "zod": "^3.22.0",
45
- "dotenv": "^16.3.0"
47
+ "dotenv": "^16.3.0",
48
+ "commander": "^13.0.0"
46
49
  },
47
50
  devDependencies: {
48
51
  "typescript": "^5.3.0",
@@ -3,9 +3,9 @@ function generateBackendTsConfig(context) {
3
3
  compilerOptions: {
4
4
  // Target and Module
5
5
  target: "ES2022",
6
- module: "ESNext",
6
+ module: "NodeNext",
7
7
  lib: ["ES2022"],
8
- moduleResolution: "node",
8
+ moduleResolution: "NodeNext",
9
9
  // Output
10
10
  outDir: "./dist",
11
11
  rootDir: "./src",
@@ -19,6 +19,7 @@ function generateRuntimePackageJson(context) {
19
19
  dependencies: {
20
20
  "react": "^18.2.0",
21
21
  "react-dom": "^18.2.0",
22
+ "react-router-dom": "^6.18.0",
22
23
  "@tanstack/react-query": "^5.0.0",
23
24
  "@specverse/runtime": "^4.1.0",
24
25
  "js-yaml": "^4.1.0",