@specverse/engines 4.3.5 → 5.0.1
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/assets/examples/10-api/README.md +3 -3
- package/assets/prompts/core/README.md +1 -1
- package/dist/inference/core/rule-engine.d.ts +0 -12
- package/dist/inference/core/rule-engine.d.ts.map +1 -1
- package/dist/inference/core/rule-engine.js +99 -968
- package/dist/inference/core/rule-engine.js.map +1 -1
- package/dist/inference/core/template-helpers.d.ts +56 -0
- package/dist/inference/core/template-helpers.d.ts.map +1 -0
- package/dist/inference/core/template-helpers.js +87 -0
- package/dist/inference/core/template-helpers.js.map +1 -0
- package/dist/inference/logical/generators/service-generator.d.ts.map +1 -1
- package/dist/inference/logical/generators/service-generator.js +0 -4
- package/dist/inference/logical/generators/service-generator.js.map +1 -1
- package/dist/inference/ui-contracts/rules/lifecycle-state-visible-in-detail.d.ts +9 -7
- package/dist/inference/ui-contracts/rules/lifecycle-state-visible-in-detail.d.ts.map +1 -1
- package/dist/inference/ui-contracts/rules/lifecycle-state-visible-in-detail.js +27 -9
- package/dist/inference/ui-contracts/rules/lifecycle-state-visible-in-detail.js.map +1 -1
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +27 -5
- package/dist/libs/instance-factories/tools/README.md +1 -1
- package/dist/libs/instance-factories/tools/mcp.yaml +1 -1
- package/dist/libs/instance-factories/tools/templates/mcp/mcp-server-generator.js +342 -116
- package/dist/libs/instance-factories/tools/templates/vscode/vscode-extension-generator.js +172 -8
- package/dist/libs/instance-factories/tools/vscode.yaml +1 -1
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +27 -5
- package/libs/instance-factories/tools/README.md +1 -1
- package/libs/instance-factories/tools/mcp.yaml +1 -1
- package/libs/instance-factories/tools/templates/mcp/mcp-server-generator.ts +392 -141
- package/libs/instance-factories/tools/templates/vscode/static/extension.ts +9 -2
- package/libs/instance-factories/tools/templates/vscode/vscode-extension-generator.ts +246 -10
- package/libs/instance-factories/tools/vscode.yaml +1 -1
- package/package.json +5 -4
- package/libs/instance-factories/tools/templates/mcp/static/docs/DEPLOYMENT_GUIDE.md +0 -630
- package/libs/instance-factories/tools/templates/mcp/static/docs/HYBRID_RESOURCE_SYSTEM.md +0 -330
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/EXTENSION_DEPLOYMENT.md +0 -552
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/LOCAL_DEPLOYMENT.md +0 -164
- package/libs/instance-factories/tools/templates/mcp/static/docs/deployments/WEB_DEPLOYMENT.md +0 -247
- package/libs/instance-factories/tools/templates/mcp/static/package.json +0 -94
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-enterprise.js +0 -284
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-extension.js +0 -139
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-local.js +0 -74
- package/libs/instance-factories/tools/templates/mcp/static/scripts/build-web.js +0 -156
- package/libs/instance-factories/tools/templates/mcp/static/scripts/copy-canonical-files.js +0 -41
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-deployments.js +0 -259
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-resources.js +0 -231
- package/libs/instance-factories/tools/templates/mcp/static/scripts/test-hybrid-simple.js +0 -196
- package/libs/instance-factories/tools/templates/mcp/static/src/controllers/MCPServerController.ts +0 -293
- package/libs/instance-factories/tools/templates/mcp/static/src/events/EventEmitter.ts +0 -90
- package/libs/instance-factories/tools/templates/mcp/static/src/index.ts +0 -24
- package/libs/instance-factories/tools/templates/mcp/static/src/interfaces/ResourceProvider.ts +0 -15
- package/libs/instance-factories/tools/templates/mcp/static/src/models/LibrarySuggestion.ts +0 -106
- package/libs/instance-factories/tools/templates/mcp/static/src/models/SpecVerseResource.ts +0 -75
- package/libs/instance-factories/tools/templates/mcp/static/src/server/mcp-server.ts +0 -239
- package/libs/instance-factories/tools/templates/mcp/static/src/services/CLIProxyService.ts +0 -1501
- package/libs/instance-factories/tools/templates/mcp/static/src/services/EmbeddedResourcesAdapter.ts +0 -211
- package/libs/instance-factories/tools/templates/mcp/static/src/services/EntityModuleService.ts +0 -308
- package/libs/instance-factories/tools/templates/mcp/static/src/services/HybridResourcesProvider.ts +0 -210
- package/libs/instance-factories/tools/templates/mcp/static/src/services/LibraryToolsService.ts +0 -356
- package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorBridge.ts +0 -522
- package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.ts +0 -530
- package/libs/instance-factories/tools/templates/mcp/static/src/services/PromptToolsService.ts +0 -594
- package/libs/instance-factories/tools/templates/mcp/static/src/services/ResourcesProviderService.ts +0 -170
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.init.test.ts +0 -544
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/CLIProxyService.test.ts +0 -189
- package/libs/instance-factories/tools/templates/mcp/static/src/tests/unit/ResourcesProviderService.test.ts +0 -89
- package/libs/instance-factories/tools/templates/mcp/static/src/types/index.ts +0 -110
- package/libs/instance-factories/tools/templates/mcp/static/tsconfig.json +0 -28
- package/libs/instance-factories/tools/templates/vscode/static/schemas/specverse-v3-schema.json +0 -4279
- /package/libs/instance-factories/tools/templates/vscode/static/themes/{specverse-complete-theme.json → specverse-dark-theme.json} +0 -0
package/libs/instance-factories/tools/templates/mcp/static/src/services/OrchestratorToolsService.ts
DELETED
|
@@ -1,530 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Orchestrator Tools Service for MCP Integration
|
|
3
|
-
*
|
|
4
|
-
* Provides orchestrator workflow capabilities as MCP tools
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { OrchestratorBridge, OrchestratorExecutionContext } from './OrchestratorBridge.js';
|
|
8
|
-
import { EventEmitter } from '../events/EventEmitter.js';
|
|
9
|
-
|
|
10
|
-
export interface OrchestratorToolsConfig {
|
|
11
|
-
orchestratorBridge: OrchestratorBridge;
|
|
12
|
-
eventEmitter: EventEmitter;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface AnalyseCodebaseParams {
|
|
16
|
-
codePath: string;
|
|
17
|
-
framework?: string;
|
|
18
|
-
outputPath?: string;
|
|
19
|
-
interactive?: boolean;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface CreateSpecificationParams {
|
|
23
|
-
requirements: string;
|
|
24
|
-
scale?: 'personal' | 'business' | 'enterprise';
|
|
25
|
-
framework?: string;
|
|
26
|
-
outputPath?: string;
|
|
27
|
-
interactive?: boolean;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface InferSpecificationParams {
|
|
31
|
-
specificationPath: string;
|
|
32
|
-
outputPath?: string;
|
|
33
|
-
framework?: string;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface MaterialiseImplementationParams {
|
|
37
|
-
specificationPath: string;
|
|
38
|
-
framework: string;
|
|
39
|
-
outputPath?: string;
|
|
40
|
-
scale?: 'personal' | 'business' | 'enterprise';
|
|
41
|
-
interactive?: boolean;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface RealizeApplicationParams {
|
|
45
|
-
specificationPath: string;
|
|
46
|
-
framework: string;
|
|
47
|
-
outputPath?: string;
|
|
48
|
-
scale?: 'personal' | 'business' | 'enterprise';
|
|
49
|
-
interactive?: boolean;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface WorkflowStatusParams {
|
|
53
|
-
sessionId?: string;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export class OrchestratorToolsService {
|
|
57
|
-
private orchestratorBridge: OrchestratorBridge;
|
|
58
|
-
private eventEmitter: EventEmitter;
|
|
59
|
-
|
|
60
|
-
constructor(config: OrchestratorToolsConfig) {
|
|
61
|
-
this.orchestratorBridge = config.orchestratorBridge;
|
|
62
|
-
this.eventEmitter = config.eventEmitter;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Analyze existing codebase and extract SpecVerse specifications
|
|
67
|
-
*/
|
|
68
|
-
async analyseCodebase(params: AnalyseCodebaseParams): Promise<string> {
|
|
69
|
-
this.eventEmitter.emit('tool-called', {
|
|
70
|
-
toolName: 'analyse_codebase',
|
|
71
|
-
arguments: params,
|
|
72
|
-
executionTime: 0
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
try {
|
|
76
|
-
const context: OrchestratorExecutionContext = {
|
|
77
|
-
operation: 'analyse',
|
|
78
|
-
inputPath: params.codePath,
|
|
79
|
-
inputType: 'code',
|
|
80
|
-
outputPath: params.outputPath,
|
|
81
|
-
framework: params.framework,
|
|
82
|
-
interactive: params.interactive || false
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
const result = await this.orchestratorBridge.execute(context);
|
|
86
|
-
|
|
87
|
-
if (result.success) {
|
|
88
|
-
const response = {
|
|
89
|
-
operation: 'analyse',
|
|
90
|
-
success: true,
|
|
91
|
-
result: result.content,
|
|
92
|
-
metadata: {
|
|
93
|
-
codePath: params.codePath,
|
|
94
|
-
framework: params.framework || 'auto-detected',
|
|
95
|
-
outputPath: params.outputPath,
|
|
96
|
-
executionTime: result.executionTime,
|
|
97
|
-
provider: result.provider,
|
|
98
|
-
sessionId: result.sessionId
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
if (result.sessionId) {
|
|
103
|
-
response.metadata.sessionId = result.sessionId;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
return JSON.stringify(response, null, 2);
|
|
107
|
-
} else {
|
|
108
|
-
const errorResponse = {
|
|
109
|
-
operation: 'analyse',
|
|
110
|
-
success: false,
|
|
111
|
-
error: result.error,
|
|
112
|
-
metadata: {
|
|
113
|
-
codePath: params.codePath,
|
|
114
|
-
executionTime: result.executionTime
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
} catch (error) {
|
|
122
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
123
|
-
|
|
124
|
-
this.eventEmitter.emit('error-occurred', {
|
|
125
|
-
operation: 'analyse_codebase',
|
|
126
|
-
error: errorMessage,
|
|
127
|
-
context: params
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
const errorResponse = {
|
|
131
|
-
operation: 'analyse',
|
|
132
|
-
success: false,
|
|
133
|
-
error: errorMessage,
|
|
134
|
-
metadata: {
|
|
135
|
-
codePath: params.codePath
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Create SpecVerse specifications from natural language requirements
|
|
145
|
-
*/
|
|
146
|
-
async createSpecification(params: CreateSpecificationParams): Promise<string> {
|
|
147
|
-
this.eventEmitter.emit('tool-called', {
|
|
148
|
-
toolName: 'create_specification',
|
|
149
|
-
arguments: params,
|
|
150
|
-
executionTime: 0
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
try {
|
|
154
|
-
const context: OrchestratorExecutionContext = {
|
|
155
|
-
operation: 'create',
|
|
156
|
-
input: params.requirements,
|
|
157
|
-
inputType: 'requirements',
|
|
158
|
-
outputPath: params.outputPath,
|
|
159
|
-
framework: params.framework,
|
|
160
|
-
scale: params.scale || 'business',
|
|
161
|
-
interactive: params.interactive || false
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const result = await this.orchestratorBridge.execute(context);
|
|
165
|
-
|
|
166
|
-
if (result.success) {
|
|
167
|
-
const response = {
|
|
168
|
-
operation: 'create',
|
|
169
|
-
success: true,
|
|
170
|
-
result: result.content,
|
|
171
|
-
metadata: {
|
|
172
|
-
requirements: params.requirements,
|
|
173
|
-
scale: params.scale || 'business',
|
|
174
|
-
framework: params.framework,
|
|
175
|
-
outputPath: params.outputPath,
|
|
176
|
-
executionTime: result.executionTime,
|
|
177
|
-
provider: result.provider,
|
|
178
|
-
sessionId: result.sessionId
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
return JSON.stringify(response, null, 2);
|
|
183
|
-
} else {
|
|
184
|
-
const errorResponse = {
|
|
185
|
-
operation: 'create',
|
|
186
|
-
success: false,
|
|
187
|
-
error: result.error,
|
|
188
|
-
metadata: {
|
|
189
|
-
requirements: params.requirements,
|
|
190
|
-
executionTime: result.executionTime
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
} catch (error) {
|
|
198
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
199
|
-
|
|
200
|
-
this.eventEmitter.emit('error-occurred', {
|
|
201
|
-
operation: 'create_specification',
|
|
202
|
-
error: errorMessage,
|
|
203
|
-
context: params
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
const errorResponse = {
|
|
207
|
-
operation: 'create',
|
|
208
|
-
success: false,
|
|
209
|
-
error: errorMessage,
|
|
210
|
-
metadata: {
|
|
211
|
-
requirements: params.requirements
|
|
212
|
-
}
|
|
213
|
-
};
|
|
214
|
-
|
|
215
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Infer expanded specifications using AI inference engine
|
|
221
|
-
*/
|
|
222
|
-
async inferSpecification(params: InferSpecificationParams): Promise<string> {
|
|
223
|
-
this.eventEmitter.emit('tool-called', {
|
|
224
|
-
toolName: 'infer_specification',
|
|
225
|
-
arguments: params,
|
|
226
|
-
executionTime: 0
|
|
227
|
-
});
|
|
228
|
-
|
|
229
|
-
try {
|
|
230
|
-
// Check if inference is available
|
|
231
|
-
const capabilities = this.orchestratorBridge.getCapabilities();
|
|
232
|
-
if (!capabilities.inferenceEngine) {
|
|
233
|
-
const fallbackResponse = {
|
|
234
|
-
operation: 'infer',
|
|
235
|
-
success: false,
|
|
236
|
-
error: 'Inference operation requires full SpecVerse orchestrator with inference engine',
|
|
237
|
-
suggestion: 'Use get_creation_prompt or get_analysis_prompt tools for AI-assisted specification development',
|
|
238
|
-
metadata: {
|
|
239
|
-
specificationPath: params.specificationPath,
|
|
240
|
-
availableCapabilities: capabilities
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
|
|
244
|
-
return JSON.stringify(fallbackResponse, null, 2);
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
const context: OrchestratorExecutionContext = {
|
|
248
|
-
operation: 'infer',
|
|
249
|
-
inputPath: params.specificationPath,
|
|
250
|
-
inputType: 'specification',
|
|
251
|
-
outputPath: params.outputPath,
|
|
252
|
-
framework: params.framework
|
|
253
|
-
};
|
|
254
|
-
|
|
255
|
-
const result = await this.orchestratorBridge.execute(context);
|
|
256
|
-
|
|
257
|
-
if (result.success) {
|
|
258
|
-
const response = {
|
|
259
|
-
operation: 'infer',
|
|
260
|
-
success: true,
|
|
261
|
-
result: result.content,
|
|
262
|
-
metadata: {
|
|
263
|
-
specificationPath: params.specificationPath,
|
|
264
|
-
outputPath: params.outputPath,
|
|
265
|
-
framework: params.framework,
|
|
266
|
-
executionTime: result.executionTime,
|
|
267
|
-
inferenceRules: result.metadata?.inferenceRules,
|
|
268
|
-
provider: result.provider
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
|
|
272
|
-
return JSON.stringify(response, null, 2);
|
|
273
|
-
} else {
|
|
274
|
-
const errorResponse = {
|
|
275
|
-
operation: 'infer',
|
|
276
|
-
success: false,
|
|
277
|
-
error: result.error,
|
|
278
|
-
metadata: {
|
|
279
|
-
specificationPath: params.specificationPath,
|
|
280
|
-
executionTime: result.executionTime
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
} catch (error) {
|
|
288
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
289
|
-
|
|
290
|
-
this.eventEmitter.emit('error-occurred', {
|
|
291
|
-
operation: 'infer_specification',
|
|
292
|
-
error: errorMessage,
|
|
293
|
-
context: params
|
|
294
|
-
});
|
|
295
|
-
|
|
296
|
-
const errorResponse = {
|
|
297
|
-
operation: 'infer',
|
|
298
|
-
success: false,
|
|
299
|
-
error: errorMessage,
|
|
300
|
-
metadata: {
|
|
301
|
-
specificationPath: params.specificationPath
|
|
302
|
-
}
|
|
303
|
-
};
|
|
304
|
-
|
|
305
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* Materialize clean implementation from specifications
|
|
311
|
-
*/
|
|
312
|
-
async materialiseImplementation(params: MaterialiseImplementationParams): Promise<string> {
|
|
313
|
-
this.eventEmitter.emit('tool-called', {
|
|
314
|
-
toolName: 'materialise_implementation',
|
|
315
|
-
arguments: params,
|
|
316
|
-
executionTime: 0
|
|
317
|
-
});
|
|
318
|
-
|
|
319
|
-
try {
|
|
320
|
-
const context: OrchestratorExecutionContext = {
|
|
321
|
-
operation: 'materialise',
|
|
322
|
-
inputPath: params.specificationPath,
|
|
323
|
-
inputType: 'specification',
|
|
324
|
-
outputPath: params.outputPath,
|
|
325
|
-
framework: params.framework,
|
|
326
|
-
scale: params.scale || 'business',
|
|
327
|
-
interactive: params.interactive || false
|
|
328
|
-
};
|
|
329
|
-
|
|
330
|
-
const result = await this.orchestratorBridge.execute(context);
|
|
331
|
-
|
|
332
|
-
if (result.success) {
|
|
333
|
-
const response = {
|
|
334
|
-
operation: 'materialise',
|
|
335
|
-
success: true,
|
|
336
|
-
result: result.content,
|
|
337
|
-
metadata: {
|
|
338
|
-
specificationPath: params.specificationPath,
|
|
339
|
-
framework: params.framework,
|
|
340
|
-
scale: params.scale || 'business',
|
|
341
|
-
outputPath: params.outputPath,
|
|
342
|
-
executionTime: result.executionTime,
|
|
343
|
-
provider: result.provider,
|
|
344
|
-
sessionId: result.sessionId
|
|
345
|
-
}
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
return JSON.stringify(response, null, 2);
|
|
349
|
-
} else {
|
|
350
|
-
const errorResponse = {
|
|
351
|
-
operation: 'materialise',
|
|
352
|
-
success: false,
|
|
353
|
-
error: result.error,
|
|
354
|
-
metadata: {
|
|
355
|
-
specificationPath: params.specificationPath,
|
|
356
|
-
framework: params.framework,
|
|
357
|
-
executionTime: result.executionTime
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
} catch (error) {
|
|
365
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
366
|
-
|
|
367
|
-
this.eventEmitter.emit('error-occurred', {
|
|
368
|
-
operation: 'materialise_implementation',
|
|
369
|
-
error: errorMessage,
|
|
370
|
-
context: params
|
|
371
|
-
});
|
|
372
|
-
|
|
373
|
-
const errorResponse = {
|
|
374
|
-
operation: 'materialise',
|
|
375
|
-
success: false,
|
|
376
|
-
error: errorMessage,
|
|
377
|
-
metadata: {
|
|
378
|
-
specificationPath: params.specificationPath,
|
|
379
|
-
framework: params.framework
|
|
380
|
-
}
|
|
381
|
-
};
|
|
382
|
-
|
|
383
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* Realize complete application from specifications
|
|
389
|
-
*/
|
|
390
|
-
async realizeApplication(params: RealizeApplicationParams): Promise<string> {
|
|
391
|
-
this.eventEmitter.emit('tool-called', {
|
|
392
|
-
toolName: 'realize_application',
|
|
393
|
-
arguments: params,
|
|
394
|
-
executionTime: 0
|
|
395
|
-
});
|
|
396
|
-
|
|
397
|
-
try {
|
|
398
|
-
const context: OrchestratorExecutionContext = {
|
|
399
|
-
operation: 'realize',
|
|
400
|
-
inputPath: params.specificationPath,
|
|
401
|
-
inputType: 'specification',
|
|
402
|
-
outputPath: params.outputPath,
|
|
403
|
-
framework: params.framework,
|
|
404
|
-
scale: params.scale || 'business',
|
|
405
|
-
interactive: params.interactive || false
|
|
406
|
-
};
|
|
407
|
-
|
|
408
|
-
const result = await this.orchestratorBridge.execute(context);
|
|
409
|
-
|
|
410
|
-
if (result.success) {
|
|
411
|
-
const response = {
|
|
412
|
-
operation: 'realize',
|
|
413
|
-
success: true,
|
|
414
|
-
result: result.content,
|
|
415
|
-
metadata: {
|
|
416
|
-
specificationPath: params.specificationPath,
|
|
417
|
-
framework: params.framework,
|
|
418
|
-
scale: params.scale || 'business',
|
|
419
|
-
outputPath: params.outputPath,
|
|
420
|
-
executionTime: result.executionTime,
|
|
421
|
-
provider: result.provider,
|
|
422
|
-
sessionId: result.sessionId
|
|
423
|
-
}
|
|
424
|
-
};
|
|
425
|
-
|
|
426
|
-
return JSON.stringify(response, null, 2);
|
|
427
|
-
} else {
|
|
428
|
-
const errorResponse = {
|
|
429
|
-
operation: 'realize',
|
|
430
|
-
success: false,
|
|
431
|
-
error: result.error,
|
|
432
|
-
metadata: {
|
|
433
|
-
specificationPath: params.specificationPath,
|
|
434
|
-
framework: params.framework,
|
|
435
|
-
executionTime: result.executionTime
|
|
436
|
-
}
|
|
437
|
-
};
|
|
438
|
-
|
|
439
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
440
|
-
}
|
|
441
|
-
|
|
442
|
-
} catch (error) {
|
|
443
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
444
|
-
|
|
445
|
-
this.eventEmitter.emit('error-occurred', {
|
|
446
|
-
operation: 'realize_application',
|
|
447
|
-
error: errorMessage,
|
|
448
|
-
context: params
|
|
449
|
-
});
|
|
450
|
-
|
|
451
|
-
const errorResponse = {
|
|
452
|
-
operation: 'realize',
|
|
453
|
-
success: false,
|
|
454
|
-
error: errorMessage,
|
|
455
|
-
metadata: {
|
|
456
|
-
specificationPath: params.specificationPath,
|
|
457
|
-
framework: params.framework
|
|
458
|
-
}
|
|
459
|
-
};
|
|
460
|
-
|
|
461
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
/**
|
|
466
|
-
* Get orchestrator workflow status and capabilities
|
|
467
|
-
*/
|
|
468
|
-
async getWorkflowStatus(params: WorkflowStatusParams = {}): Promise<string> {
|
|
469
|
-
this.eventEmitter.emit('tool-called', {
|
|
470
|
-
toolName: 'get_workflow_status',
|
|
471
|
-
arguments: params,
|
|
472
|
-
executionTime: 0
|
|
473
|
-
});
|
|
474
|
-
|
|
475
|
-
try {
|
|
476
|
-
const capabilities = this.orchestratorBridge.getCapabilities();
|
|
477
|
-
const isAvailable = this.orchestratorBridge.isAvailable();
|
|
478
|
-
const supportedOperations = this.orchestratorBridge.getSupportedOperations();
|
|
479
|
-
|
|
480
|
-
const status = {
|
|
481
|
-
orchestratorAvailable: isAvailable,
|
|
482
|
-
capabilities,
|
|
483
|
-
supportedOperations,
|
|
484
|
-
workflowInformation: {
|
|
485
|
-
fullWorkflowSupport: capabilities.hasFullOrchestrator,
|
|
486
|
-
sessionSupport: capabilities.sessionSupport,
|
|
487
|
-
inferenceEngine: capabilities.inferenceEngine,
|
|
488
|
-
workingDirectory: capabilities.workingDirectory,
|
|
489
|
-
...(params.sessionId ? {
|
|
490
|
-
sessionId: params.sessionId,
|
|
491
|
-
sessionStatus: 'Session support requires full orchestrator'
|
|
492
|
-
} : {})
|
|
493
|
-
}
|
|
494
|
-
};
|
|
495
|
-
|
|
496
|
-
const response = {
|
|
497
|
-
operation: 'workflow_status',
|
|
498
|
-
success: true,
|
|
499
|
-
result: status,
|
|
500
|
-
metadata: {
|
|
501
|
-
queryTime: Date.now(),
|
|
502
|
-
hasFullOrchestrator: capabilities.hasFullOrchestrator,
|
|
503
|
-
availableOperations: supportedOperations.length
|
|
504
|
-
}
|
|
505
|
-
};
|
|
506
|
-
|
|
507
|
-
return JSON.stringify(response, null, 2);
|
|
508
|
-
|
|
509
|
-
} catch (error) {
|
|
510
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
511
|
-
|
|
512
|
-
this.eventEmitter.emit('error-occurred', {
|
|
513
|
-
operation: 'get_workflow_status',
|
|
514
|
-
error: errorMessage,
|
|
515
|
-
context: params
|
|
516
|
-
});
|
|
517
|
-
|
|
518
|
-
const errorResponse = {
|
|
519
|
-
operation: 'workflow_status',
|
|
520
|
-
success: false,
|
|
521
|
-
error: errorMessage,
|
|
522
|
-
metadata: {
|
|
523
|
-
queryTime: Date.now()
|
|
524
|
-
}
|
|
525
|
-
};
|
|
526
|
-
|
|
527
|
-
return JSON.stringify(errorResponse, null, 2);
|
|
528
|
-
}
|
|
529
|
-
}
|
|
530
|
-
}
|