@exaudeus/workrail 0.2.2 → 0.2.3
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/dist/mcp-server.js +72 -67
- package/package.json +1 -1
package/dist/mcp-server.js
CHANGED
|
@@ -34,9 +34,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
};
|
|
35
35
|
})();
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
38
|
-
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
39
|
-
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
40
37
|
const container_js_1 = require("./container.js");
|
|
41
38
|
class WorkflowOrchestrationServer {
|
|
42
39
|
constructor() {
|
|
@@ -326,73 +323,81 @@ const WORKFLOW_GET_SCHEMA_TOOL = {
|
|
|
326
323
|
additionalProperties: false
|
|
327
324
|
}
|
|
328
325
|
};
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
const
|
|
338
|
-
server
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
326
|
+
async function runServer() {
|
|
327
|
+
const [sdkServer, sdkStdio, sdkTypes] = await Promise.all([
|
|
328
|
+
Promise.resolve().then(() => __importStar(require("@modelcontextprotocol/sdk/server/index.js"))),
|
|
329
|
+
Promise.resolve().then(() => __importStar(require("@modelcontextprotocol/sdk/server/stdio.js"))),
|
|
330
|
+
Promise.resolve().then(() => __importStar(require("@modelcontextprotocol/sdk/types.js"))),
|
|
331
|
+
]);
|
|
332
|
+
const { Server } = sdkServer;
|
|
333
|
+
const { StdioServerTransport } = sdkStdio;
|
|
334
|
+
const { CallToolRequestSchema, ListToolsRequestSchema } = sdkTypes;
|
|
335
|
+
const server = new Server({
|
|
336
|
+
name: "workrail-server",
|
|
337
|
+
version: "0.1.0",
|
|
338
|
+
}, {
|
|
339
|
+
capabilities: {
|
|
340
|
+
tools: {},
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
const workflowServer = new WorkflowOrchestrationServer();
|
|
344
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
345
|
+
tools: [
|
|
346
|
+
WORKFLOW_LIST_TOOL,
|
|
347
|
+
WORKFLOW_GET_TOOL,
|
|
348
|
+
WORKFLOW_NEXT_TOOL,
|
|
349
|
+
WORKFLOW_VALIDATE_TOOL,
|
|
350
|
+
WORKFLOW_VALIDATE_JSON_TOOL,
|
|
351
|
+
WORKFLOW_GET_SCHEMA_TOOL
|
|
352
|
+
],
|
|
353
|
+
}));
|
|
354
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
355
|
+
const { name, arguments: args } = request.params;
|
|
356
|
+
switch (name) {
|
|
357
|
+
case "workflow_list":
|
|
358
|
+
return await workflowServer.listWorkflows();
|
|
359
|
+
case "workflow_get":
|
|
360
|
+
if (!args?.['id']) {
|
|
361
|
+
return {
|
|
362
|
+
content: [{ type: "text", text: "Error: id parameter is required" }],
|
|
363
|
+
isError: true
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
return await workflowServer.getWorkflow(args['id'], args['mode']);
|
|
367
|
+
case "workflow_next":
|
|
368
|
+
if (!args?.['workflowId']) {
|
|
369
|
+
return {
|
|
370
|
+
content: [{ type: "text", text: "Error: workflowId parameter is required" }],
|
|
371
|
+
isError: true
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
return await workflowServer.getNextStep(args['workflowId'], args['completedSteps'] || [], args['context']);
|
|
375
|
+
case "workflow_validate":
|
|
376
|
+
if (!args?.['workflowId'] || !args?.['stepId'] || !args?.['output']) {
|
|
377
|
+
return {
|
|
378
|
+
content: [{ type: "text", text: "Error: workflowId, stepId, and output parameters are required" }],
|
|
379
|
+
isError: true
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
return await workflowServer.validateStep(args['workflowId'], args['stepId'], args['output']);
|
|
383
|
+
case "workflow_validate_json":
|
|
384
|
+
if (!args?.['workflowJson']) {
|
|
385
|
+
return {
|
|
386
|
+
content: [{ type: "text", text: "Error: workflowJson parameter is required" }],
|
|
387
|
+
isError: true
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
return await workflowServer.validateWorkflowJson(args['workflowJson']);
|
|
391
|
+
case "workflow_get_schema":
|
|
392
|
+
return await workflowServer.getWorkflowSchema();
|
|
393
|
+
default:
|
|
379
394
|
return {
|
|
380
|
-
content: [{ type: "text", text:
|
|
395
|
+
content: [{ type: "text", text: `Unknown tool: ${name}` }],
|
|
381
396
|
isError: true
|
|
382
397
|
};
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
return await workflowServer.getWorkflowSchema();
|
|
387
|
-
default:
|
|
388
|
-
return {
|
|
389
|
-
content: [{ type: "text", text: `Unknown tool: ${name}` }],
|
|
390
|
-
isError: true
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
});
|
|
394
|
-
async function runServer() {
|
|
395
|
-
const transport = new stdio_js_1.StdioServerTransport();
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
const transport = new StdioServerTransport();
|
|
396
401
|
await server.connect(transport);
|
|
397
402
|
console.error("Workflow Orchestration MCP Server running on stdio");
|
|
398
403
|
}
|