@opencx/mcp 1.8.3 → 1.8.4
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/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +14 -1
- package/dist/tools/workflows.js.map +1 -1
- package/dist/workflow-editor-state.d.ts +34 -0
- package/dist/workflow-editor-state.d.ts.map +1 -0
- package/dist/workflow-editor-state.js +74 -0
- package/dist/workflow-editor-state.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AA0F1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+P5E"}
|
package/dist/tools/workflows.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { safePath } from '../api-client.js';
|
|
3
|
+
import { blocksToEditorState } from '../workflow-editor-state.js';
|
|
3
4
|
const TRIGGER_TYPES = [
|
|
4
5
|
'manual-trigger',
|
|
5
6
|
'ai-trigger',
|
|
@@ -114,6 +115,7 @@ export function registerWorkflowTools(server, client) {
|
|
|
114
115
|
.describe('Workflow steps and blocks. Use {{step_id.output.field}} to reference earlier step outputs.'),
|
|
115
116
|
},
|
|
116
117
|
}, async ({ name, description, trigger_type, trigger_configuration, trigger_constraints, workflow_blocks, }) => {
|
|
118
|
+
const editorState = blocksToEditorState(trigger_type, workflow_blocks, trigger_configuration, trigger_constraints);
|
|
117
119
|
const data = await client.post('/workflows/', {
|
|
118
120
|
name,
|
|
119
121
|
description,
|
|
@@ -121,6 +123,7 @@ export function registerWorkflowTools(server, client) {
|
|
|
121
123
|
trigger_configuration: trigger_configuration ?? null,
|
|
122
124
|
trigger_constraints: trigger_constraints ?? null,
|
|
123
125
|
workflow_blocks,
|
|
126
|
+
workflow_editor_state: editorState,
|
|
124
127
|
});
|
|
125
128
|
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
126
129
|
});
|
|
@@ -159,7 +162,17 @@ export function registerWorkflowTools(server, client) {
|
|
|
159
162
|
.describe('New workflow blocks (replaces existing)'),
|
|
160
163
|
},
|
|
161
164
|
}, async ({ workflow_id, ...body }) => {
|
|
162
|
-
|
|
165
|
+
// Fetch existing to merge blocks/trigger for editor state generation
|
|
166
|
+
const existing = await client.get(`/workflows/${safePath(workflow_id)}`);
|
|
167
|
+
const blocks = body.workflow_blocks ?? existing.workflow_blocks ?? [];
|
|
168
|
+
const triggerType = body.trigger_type ?? existing.trigger_type;
|
|
169
|
+
const triggerConfig = body.trigger_configuration ?? existing.trigger_configuration;
|
|
170
|
+
const triggerConstraints = body.trigger_constraints ?? existing.trigger_constraints;
|
|
171
|
+
const editorState = blocksToEditorState(triggerType, blocks, triggerConfig, triggerConstraints);
|
|
172
|
+
const data = await client.patch(`/workflows/${safePath(workflow_id)}`, {
|
|
173
|
+
...body,
|
|
174
|
+
workflow_editor_state: editorState,
|
|
175
|
+
});
|
|
163
176
|
return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
|
|
164
177
|
});
|
|
165
178
|
server.registerTool('delete_workflow', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a React Flow editor state (nodes, edges, viewport) from workflow blocks
|
|
3
|
+
* and trigger type. This allows workflows created via MCP to render correctly
|
|
4
|
+
* in the dashboard visual editor without requiring a backend deployment.
|
|
5
|
+
*/
|
|
6
|
+
interface Position {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
}
|
|
10
|
+
interface FlowNode {
|
|
11
|
+
id: string;
|
|
12
|
+
type: string;
|
|
13
|
+
position: Position;
|
|
14
|
+
data: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
interface FlowEdge {
|
|
17
|
+
id: string;
|
|
18
|
+
source: string;
|
|
19
|
+
target: string;
|
|
20
|
+
sourceHandle: string;
|
|
21
|
+
targetHandle: string;
|
|
22
|
+
}
|
|
23
|
+
export interface EditorState {
|
|
24
|
+
nodes: FlowNode[];
|
|
25
|
+
edges: FlowEdge[];
|
|
26
|
+
viewport: {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
zoom: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export declare function blocksToEditorState(triggerType: string, blocks: unknown[], triggerConfiguration?: unknown, triggerConstraints?: unknown): EditorState;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=workflow-editor-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-editor-state.d.ts","sourceRoot":"","sources":["../src/workflow-editor-state.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAYD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AA0ED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,EAAE,EACjB,oBAAoB,CAAC,EAAE,OAAO,EAC9B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,WAAW,CA4Bb"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a React Flow editor state (nodes, edges, viewport) from workflow blocks
|
|
3
|
+
* and trigger type. This allows workflows created via MCP to render correctly
|
|
4
|
+
* in the dashboard visual editor without requiring a backend deployment.
|
|
5
|
+
*/
|
|
6
|
+
const NODE_X_START = 200;
|
|
7
|
+
const NODE_Y_CENTER = 200;
|
|
8
|
+
const NODE_X_OFFSET = 300;
|
|
9
|
+
const BRANCH_Y_OFFSET = 200;
|
|
10
|
+
function createEdge(source, target, sourceHandle, targetHandle) {
|
|
11
|
+
return { id: `${source}-${target}`, source, target, sourceHandle, targetHandle };
|
|
12
|
+
}
|
|
13
|
+
function processBlocks(blocks, startX, yCenter, parentId, parentHandle, nodes, edges) {
|
|
14
|
+
let currentX = startX;
|
|
15
|
+
let prevId = parentId;
|
|
16
|
+
let prevHandle = parentHandle;
|
|
17
|
+
for (const block of blocks) {
|
|
18
|
+
const position = { x: currentX, y: yCenter };
|
|
19
|
+
if (block.$kind === 'Block' && block.type === 'if-else') {
|
|
20
|
+
nodes.push({
|
|
21
|
+
id: block.id,
|
|
22
|
+
type: 'ifBlock',
|
|
23
|
+
position,
|
|
24
|
+
data: { $kind: 'Block', id: block.id, type: block.type, inputs: block.inputs ?? {} },
|
|
25
|
+
});
|
|
26
|
+
edges.push(createEdge(prevId, block.id, prevHandle, 'ifBlockInput'));
|
|
27
|
+
const thenBlocks = (block.branches?.then ?? []);
|
|
28
|
+
const elseBlocks = (block.branches?.else ?? []);
|
|
29
|
+
let maxX = currentX + NODE_X_OFFSET;
|
|
30
|
+
if (thenBlocks.length > 0) {
|
|
31
|
+
maxX = Math.max(maxX, processBlocks(thenBlocks, currentX + NODE_X_OFFSET, yCenter - BRANCH_Y_OFFSET, block.id, 'ifBlockThen', nodes, edges));
|
|
32
|
+
}
|
|
33
|
+
if (elseBlocks.length > 0) {
|
|
34
|
+
maxX = Math.max(maxX, processBlocks(elseBlocks, currentX + NODE_X_OFFSET, yCenter + BRANCH_Y_OFFSET, block.id, 'ifBlockElse', nodes, edges));
|
|
35
|
+
}
|
|
36
|
+
currentX = maxX;
|
|
37
|
+
prevId = block.id;
|
|
38
|
+
prevHandle = 'actionOutput';
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
nodes.push({
|
|
42
|
+
id: block.id,
|
|
43
|
+
type: 'action',
|
|
44
|
+
position,
|
|
45
|
+
data: { $kind: 'Action', id: block.id, type: block.type, name: block.name ?? block.type, input: block.input ?? {} },
|
|
46
|
+
});
|
|
47
|
+
edges.push(createEdge(prevId, block.id, prevHandle, 'actionInput'));
|
|
48
|
+
currentX += NODE_X_OFFSET;
|
|
49
|
+
prevId = block.id;
|
|
50
|
+
prevHandle = 'actionOutput';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return currentX;
|
|
54
|
+
}
|
|
55
|
+
export function blocksToEditorState(triggerType, blocks, triggerConfiguration, triggerConstraints) {
|
|
56
|
+
const nodes = [];
|
|
57
|
+
const edges = [];
|
|
58
|
+
const triggerData = {
|
|
59
|
+
$kind: 'Trigger',
|
|
60
|
+
type: triggerType,
|
|
61
|
+
id: 'trigger',
|
|
62
|
+
payload: {},
|
|
63
|
+
};
|
|
64
|
+
if (triggerConfiguration != null)
|
|
65
|
+
triggerData.configuration = triggerConfiguration;
|
|
66
|
+
if (triggerConstraints != null)
|
|
67
|
+
triggerData.constraints = triggerConstraints;
|
|
68
|
+
nodes.push({ id: 'trigger', type: 'trigger', position: { x: NODE_X_START, y: NODE_Y_CENTER }, data: triggerData });
|
|
69
|
+
if (blocks.length > 0) {
|
|
70
|
+
processBlocks(blocks, NODE_X_START + NODE_X_OFFSET, NODE_Y_CENTER, 'trigger', 'triggerOutput', nodes, edges);
|
|
71
|
+
}
|
|
72
|
+
return { nodes, edges, viewport: { x: 0, y: 0, zoom: 1 } };
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=workflow-editor-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-editor-state.js","sourceRoot":"","sources":["../src/workflow-editor-state.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED