flowspec-mcp 5.0.0 → 5.1.0

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/README.md CHANGED
@@ -53,7 +53,7 @@ Local mode connects to the FlowSpec desktop server at `http://localhost:3456`.
53
53
 
54
54
  ### Read Tools
55
55
  - **`flowspec_list_projects`** — List all projects with names and dates
56
- - **`flowspec_get_yaml`** — Get full YAML spec for a project (optimised for Claude Code)
56
+ - **`flowspec_get_json`** — Get full JSON spec for a project (optimised for Claude Code)
57
57
  - **`flowspec_get_project`** — Get raw canvas_state JSON
58
58
  - **`flowspec_search_nodes`** — Search nodes by label across all projects
59
59
  - **`flowspec_get_screen_context`** — Get screen/region/element structure
@@ -59,9 +59,7 @@ export function exportToJson(nodes, edges, projectName = 'Untitled Project', scr
59
59
  logic: data.logic,
60
60
  };
61
61
  }),
62
- dataFlow: edges.filter((e) => {
63
- return e.data?.edgeType !== 'contains';
64
- }).map((edge) => {
62
+ dataFlow: edges.map((edge) => {
65
63
  const result = {
66
64
  from: edge.source,
67
65
  to: edge.target,
@@ -1 +1 @@
1
- {"version":3,"file":"jsonExporter.js","sourceRoot":"","sources":["../../src/export/jsonExporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonExporter.js","sourceRoot":"","sources":["../../src/export/jsonExporter.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface ImportResult {
17
17
  edges: number;
18
18
  skippedEdges: number;
19
19
  skippedNodes: number;
20
+ skipReasons: string[];
20
21
  };
21
22
  }
22
- export declare function importFromJson(spec: Record<string, unknown>): ImportResult;
23
+ export declare function importFromJson(spec: Record<string, unknown>, existingNodeIds?: Set<string>): ImportResult;
@@ -1,4 +1,4 @@
1
- export function importFromJson(spec) {
1
+ export function importFromJson(spec, existingNodeIds) {
2
2
  const metadata = (spec.metadata ?? {});
3
3
  const projectName = metadata.projectName ?? 'Imported Project';
4
4
  const rawDataPoints = spec.dataPoints ?? [];
@@ -6,6 +6,16 @@ export function importFromJson(spec) {
6
6
  const rawTransforms = spec.transforms ?? [];
7
7
  const rawDataFlow = spec.dataFlow ?? [];
8
8
  const rawTables = spec.tables ?? [];
9
+ // Detect unknown top-level keys when all expected arrays are empty
10
+ const KNOWN_KEYS = new Set(['version', 'metadata', 'dataPoints', 'components', 'transforms', 'tables', 'dataFlow', 'screens']);
11
+ const unknownKeys = Object.keys(spec).filter(k => !KNOWN_KEYS.has(k));
12
+ const allEmpty = rawDataPoints.length === 0 && rawComponents.length === 0 &&
13
+ rawTransforms.length === 0 && rawTables.length === 0 && rawDataFlow.length === 0;
14
+ if (allEmpty && unknownKeys.length > 0) {
15
+ const suggestions = unknownKeys.map(k => `"${k}"`).join(', ');
16
+ const expected = '"dataPoints", "transforms", "components", "tables", "dataFlow", "screens"';
17
+ throw new Error(`Unknown key ${suggestions} — expected ${expected}. Check your JSON spec structure.`);
18
+ }
9
19
  const nodes = [];
10
20
  const seenIds = new Set();
11
21
  let skippedNodes = 0;
@@ -56,14 +66,18 @@ export function importFromJson(spec) {
56
66
  continue;
57
67
  }
58
68
  seenIds.add(id);
69
+ const label = tx.label ?? '';
59
70
  const description = tx.description ?? '';
60
- const rawLogic = (tx.logic ?? {});
71
+ const logicInput = tx.logic;
72
+ const rawLogic = typeof logicInput === 'string'
73
+ ? { type: tx.type ?? 'formula', content: logicInput }
74
+ : (logicInput ?? {});
61
75
  nodes.push({
62
76
  id,
63
77
  type: 'transform',
64
78
  position: { x: 0, y: 0 },
65
79
  data: {
66
- label: description || 'Untitled Transform',
80
+ label: label || description || 'Untitled Transform',
67
81
  type: validLogicType(tx.type),
68
82
  description,
69
83
  inputs: Array.isArray(tx.inputs) ? tx.inputs : [],
@@ -103,11 +117,21 @@ export function importFromJson(spec) {
103
117
  // --- Edges (no markerEnd — visual-only, not needed in canvas_state) ---
104
118
  const edges = [];
105
119
  let skippedEdges = 0;
120
+ const skipReasons = [];
121
+ const allKnownIds = existingNodeIds
122
+ ? new Set([...seenIds, ...existingNodeIds])
123
+ : seenIds;
106
124
  for (const flow of rawDataFlow) {
107
125
  const from = flow.from;
108
126
  const to = flow.to;
109
- if (!from || !to || !seenIds.has(from) || !seenIds.has(to)) {
127
+ if (!from || !to) {
128
+ skippedEdges++;
129
+ skipReasons.push(`Edge ${from ?? '?'} → ${to ?? '?'}: missing from/to field`);
130
+ continue;
131
+ }
132
+ if (!allKnownIds.has(from) || !allKnownIds.has(to)) {
110
133
  skippedEdges++;
134
+ skipReasons.push(`Edge ${from} → ${to}: source/target node not found`);
111
135
  continue;
112
136
  }
113
137
  const edgeData = {
@@ -187,7 +211,8 @@ export function importFromJson(spec) {
187
211
  tables: nodes.filter((n) => n.type === 'table').length,
188
212
  edges: edges.length,
189
213
  skippedEdges,
190
- skippedNodes
214
+ skippedNodes,
215
+ skipReasons
191
216
  }
192
217
  };
193
218
  }
@@ -196,7 +221,7 @@ const VALID_DATA_TYPES = new Set(['string', 'number', 'boolean', 'object', 'arra
196
221
  function validDataType(t) {
197
222
  return t && VALID_DATA_TYPES.has(t) ? t : 'string';
198
223
  }
199
- const VALID_SOURCES = new Set(['captured', 'inferred']);
224
+ const VALID_SOURCES = new Set(['captured', 'retrieved', 'inferred']);
200
225
  function validSource(s) {
201
226
  return s && VALID_SOURCES.has(s) ? s : 'captured';
202
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonImporter.js","sourceRoot":"","sources":["../../src/import/jsonImporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonImporter.js","sourceRoot":"","sources":["../../src/import/jsonImporter.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -28,7 +28,24 @@ export async function handleImportJson(args) {
28
28
  };
29
29
  }
30
30
  // Import JSON → nodes/edges/screens
31
- const result = importFromJson(spec);
31
+ // In merge mode, pass existing node IDs so edges referencing them aren't skipped
32
+ let existingNodeIds;
33
+ if (args.merge) {
34
+ const existingProject = await getProject(args.projectId);
35
+ if (existingProject) {
36
+ existingNodeIds = new Set((existingProject.canvas_state?.nodes ?? []).map((n) => n.id));
37
+ }
38
+ }
39
+ let result;
40
+ try {
41
+ result = importFromJson(spec, existingNodeIds);
42
+ }
43
+ catch (e) {
44
+ return {
45
+ content: [{ type: 'text', text: `Import error: ${e.message}` }],
46
+ isError: true,
47
+ };
48
+ }
32
49
  // Apply auto-layout if requested (default: true)
33
50
  const shouldLayout = args.autoLayout !== false;
34
51
  if (shouldLayout && result.nodes.length > 0) {
@@ -85,10 +102,18 @@ export async function handleImportJson(args) {
85
102
  `| Screens | ${result.screens.length} |`,
86
103
  `| Skipped nodes | ${stats.skippedNodes} |`,
87
104
  `| Skipped edges | ${stats.skippedEdges} |`,
88
- '',
89
- `Mode: ${args.merge ? 'merge (added to existing)' : 'replace'}`,
90
- shouldLayout ? `Layout: ${args.layoutDirection ?? 'TB'}` : 'Layout: skipped',
91
105
  ];
106
+ if (stats.skipReasons.length > 0) {
107
+ lines.push('');
108
+ lines.push('**Skipped edge details:**');
109
+ for (const reason of stats.skipReasons.slice(0, 20)) {
110
+ lines.push(`- ${reason}`);
111
+ }
112
+ if (stats.skipReasons.length > 20) {
113
+ lines.push(`- ... and ${stats.skipReasons.length - 20} more`);
114
+ }
115
+ }
116
+ lines.push('', `Mode: ${args.merge ? 'merge (added to existing)' : 'replace'}`, shouldLayout ? `Layout: ${args.layoutDirection ?? 'TB'}` : 'Layout: skipped');
92
117
  return {
93
118
  content: [{ type: 'text', text: lines.join('\n') }],
94
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"importJson.js","sourceRoot":"","sources":["../../src/tools/importJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importJson.js","sourceRoot":"","sources":["../../src/tools/importJson.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ function validateDataPointSources(nodes, edges) {
10
10
  for (const dp of dataPoints) {
11
11
  const source = dp.data?.source ?? 'captured';
12
12
  const label = dp.data?.label ?? 'Untitled';
13
- const incomingEdges = edges.filter((e) => e.target === dp.id);
13
+ const incomingEdges = edges.filter((e) => e.target === dp.id && e.data?.edgeType !== 'contains');
14
14
  const sourceNodeTypes = incomingEdges
15
15
  .map((e) => {
16
16
  const sourceNode = nodes.find((n) => n.id === e.source);
@@ -20,7 +20,8 @@ function validateDataPointSources(nodes, edges) {
20
20
  let expectedTypes = [];
21
21
  switch (source) {
22
22
  case 'captured':
23
- expectedTypes = ['screen', 'component'];
23
+ // Captured DPs are user input origins — no incoming source edge required
24
+ expectedTypes = [];
24
25
  break;
25
26
  case 'retrieved':
26
27
  expectedTypes = ['table', 'transform', 'component'];
@@ -71,8 +72,8 @@ function validateTransforms(nodes, edges) {
71
72
  for (const transform of transforms) {
72
73
  const label = transform.data?.label ?? 'Untitled';
73
74
  const transformType = transform.data?.type ?? 'formula';
74
- const incomingEdges = edges.filter((e) => e.target === transform.id);
75
- const outgoingEdges = edges.filter((e) => e.source === transform.id);
75
+ const incomingEdges = edges.filter((e) => e.target === transform.id && e.data?.edgeType !== 'contains');
76
+ const outgoingEdges = edges.filter((e) => e.source === transform.id && e.data?.edgeType !== 'contains');
76
77
  if (incomingEdges.length === 0) {
77
78
  issues.push({
78
79
  violation: 'no-inputs',
@@ -96,11 +97,12 @@ function validateComponentReferences(nodes) {
96
97
  const issues = [];
97
98
  const components = nodes.filter((n) => n.type === 'component');
98
99
  const nodeIdSet = new Set(nodes.map((n) => n.id));
100
+ const nodeLabelSet = new Set(nodes.map((n) => n.data?.label).filter(Boolean));
99
101
  for (const component of components) {
100
102
  const label = component.data?.label ?? 'Untitled';
101
103
  const captures = component.data?.captures ?? [];
102
104
  const displays = component.data?.displays ?? [];
103
- const invalidCaptures = captures.filter((id) => !nodeIdSet.has(id));
105
+ const invalidCaptures = captures.filter((ref) => !nodeIdSet.has(ref) && !nodeLabelSet.has(ref));
104
106
  if (invalidCaptures.length > 0) {
105
107
  issues.push({
106
108
  violation: 'invalid-capture-reference',
@@ -109,7 +111,7 @@ function validateComponentReferences(nodes) {
109
111
  invalidRefs: invalidCaptures,
110
112
  });
111
113
  }
112
- const invalidDisplays = displays.filter((id) => !nodeIdSet.has(id));
114
+ const invalidDisplays = displays.filter((ref) => !nodeIdSet.has(ref) && !nodeLabelSet.has(ref));
113
115
  if (invalidDisplays.length > 0) {
114
116
  issues.push({
115
117
  violation: 'invalid-display-reference',
@@ -140,7 +142,8 @@ function validateTableDataPointTypes(nodes, edges) {
140
142
  continue;
141
143
  const dpLabel = (dp.data?.label ?? '').toLowerCase().trim();
142
144
  const matchingColumn = (table.data?.columns ?? []).find((col) => col.name.toLowerCase().trim() === dpLabel);
143
- if (matchingColumn && matchingColumn.type !== dp.data?.type) {
145
+ if (matchingColumn && matchingColumn.type !== dp.data?.type
146
+ && dp.data?.type !== 'tbd' && matchingColumn.type !== 'tbd') {
144
147
  issues.push({
145
148
  violation: 'type-mismatch',
146
149
  dataPointId: dp.id,
@@ -1 +1 @@
1
- {"version":3,"file":"validateProject.js","sourceRoot":"","sources":["../../src/tools/validateProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateProject.js","sourceRoot":"","sources":["../../src/tools/validateProject.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type DataType = 'string' | 'number' | 'boolean' | 'object' | 'array';
2
- export type SourceType = 'captured' | 'inferred';
2
+ export type SourceType = 'captured' | 'retrieved' | 'inferred';
3
3
  export type LogicType = 'formula' | 'validation' | 'workflow';
4
4
  export type TableSourceType = 'database' | 'api' | 'file' | 'manual';
5
5
  export type EdgeType = 'flows-to' | 'derives-from' | 'transforms' | 'validates' | 'contains';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowspec-mcp",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "type": "module",
5
5
  "description": "MCP server for FlowSpec — exposes project specs to Claude Code",
6
6
  "bin": {
@@ -1,6 +0,0 @@
1
- import type { CanvasNode, CanvasEdge, Screen } from '../types.js';
2
- /**
3
- * Exports canvas state to YAML specification optimised for Claude Code.
4
- * Adapted from web app — uses plain interfaces instead of @xyflow/svelte types.
5
- */
6
- export declare function exportToYaml(nodes: CanvasNode[], edges: CanvasEdge[], projectName?: string, screens?: Screen[]): string;
@@ -1,155 +0,0 @@
1
- import { stringify } from 'yaml';
2
- /**
3
- * Exports canvas state to YAML specification optimised for Claude Code.
4
- * Adapted from web app — uses plain interfaces instead of @xyflow/svelte types.
5
- */
6
- export function exportToYaml(nodes, edges, projectName = 'Untitled Project', screens = []) {
7
- const exportableNodes = nodes.filter((n) => n.type !== 'image' && n.type !== 'screen');
8
- const dataPointNodes = exportableNodes.filter((n) => n.type === 'datapoint');
9
- const componentNodes = exportableNodes.filter((n) => n.type === 'component');
10
- const transformNodes = exportableNodes.filter((n) => n.type === 'transform');
11
- const tableNodes = exportableNodes.filter((n) => n.type === 'table');
12
- const locationMap = buildLocationMap(dataPointNodes, componentNodes, edges);
13
- // Build node label lookup for screen region export
14
- const nodeLabelMap = new Map();
15
- for (const n of exportableNodes) {
16
- const label = n.data.label ?? 'Untitled';
17
- nodeLabelMap.set(n.id, { label, type: n.type ?? 'unknown' });
18
- }
19
- const spec = {
20
- version: '1.2.0',
21
- metadata: {
22
- projectName,
23
- exportedAt: new Date().toISOString(),
24
- nodeCount: exportableNodes.length,
25
- edgeCount: edges.length,
26
- },
27
- dataPoints: dataPointNodes.map((node) => {
28
- const data = node.data;
29
- return {
30
- id: node.id,
31
- label: data.label,
32
- type: data.type,
33
- source: data.source,
34
- sourceDefinition: data.sourceDefinition,
35
- constraints: data.constraints,
36
- locations: locationMap.get(node.id) ?? [],
37
- };
38
- }),
39
- components: componentNodes.map((node) => {
40
- const data = node.data;
41
- const result = {
42
- id: node.id,
43
- label: data.label,
44
- displays: data.displays,
45
- captures: data.captures,
46
- };
47
- if (data.wireframeRef) {
48
- result.wireframeRef = data.wireframeRef;
49
- }
50
- return result;
51
- }),
52
- transforms: transformNodes.map((node) => {
53
- const data = node.data;
54
- return {
55
- id: node.id,
56
- type: data.type,
57
- description: data.description,
58
- inputs: data.inputs,
59
- outputs: data.outputs,
60
- logic: data.logic,
61
- };
62
- }),
63
- dataFlow: edges.filter((e) => {
64
- return e.data?.edgeType !== 'contains';
65
- }).map((edge) => {
66
- const result = {
67
- from: edge.source,
68
- to: edge.target,
69
- edgeType: edge.data?.edgeType ?? 'flows-to',
70
- };
71
- if (edge.data?.label) {
72
- result.label = edge.data.label;
73
- }
74
- return result;
75
- }),
76
- };
77
- // Add tables section if table nodes exist
78
- if (tableNodes.length > 0) {
79
- spec.tables = tableNodes.map((node) => {
80
- const data = node.data;
81
- const result = {
82
- id: node.id,
83
- label: data.label,
84
- sourceType: data.sourceType,
85
- columns: (data.columns ?? []).map((c) => ({ name: c.name, type: c.type })),
86
- };
87
- if (data.endpoint) {
88
- result.endpoint = data.endpoint;
89
- }
90
- return result;
91
- });
92
- }
93
- // Add screens section if screens exist
94
- if (screens.length > 0) {
95
- spec.screens = screens.map((sc) => ({
96
- id: sc.id,
97
- name: sc.name,
98
- imageFilename: sc.imageFilename,
99
- regions: sc.regions.map((r) => {
100
- const region = {
101
- id: r.id,
102
- label: r.label,
103
- position: {
104
- x: Math.round(r.position.x * 10) / 10,
105
- y: Math.round(r.position.y * 10) / 10,
106
- },
107
- size: {
108
- width: Math.round(r.size.width * 10) / 10,
109
- height: Math.round(r.size.height * 10) / 10,
110
- },
111
- elements: r.elementIds.map((eid) => {
112
- const info = nodeLabelMap.get(eid);
113
- return {
114
- nodeId: eid,
115
- nodeLabel: info?.label ?? 'Missing element',
116
- nodeType: info?.type ?? 'unknown',
117
- };
118
- }),
119
- };
120
- if (r.componentNodeId) {
121
- region.componentNodeId = r.componentNodeId;
122
- }
123
- return region;
124
- }),
125
- }));
126
- }
127
- return stringify(spec, {
128
- lineWidth: 120,
129
- indent: 2,
130
- });
131
- }
132
- function buildLocationMap(dataPoints, components, edges) {
133
- const map = new Map();
134
- for (const dp of dataPoints) {
135
- map.set(dp.id, []);
136
- }
137
- for (const edge of edges) {
138
- const sourceIsDataPoint = dataPoints.some((n) => n.id === edge.source);
139
- const targetIsComponent = components.some((n) => n.id === edge.target);
140
- if (sourceIsDataPoint && targetIsComponent) {
141
- const locations = map.get(edge.source) ?? [];
142
- locations.push({ component: edge.target, role: 'output' });
143
- map.set(edge.source, locations);
144
- }
145
- const sourceIsComponent = components.some((n) => n.id === edge.source);
146
- const targetIsDataPoint = dataPoints.some((n) => n.id === edge.target);
147
- if (sourceIsComponent && targetIsDataPoint) {
148
- const locations = map.get(edge.target) ?? [];
149
- locations.push({ component: edge.source, role: 'input' });
150
- map.set(edge.target, locations);
151
- }
152
- }
153
- return map;
154
- }
155
- //# sourceMappingURL=yamlExporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yamlExporter.js","sourceRoot":"","sources":["../../src/export/yamlExporter.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Converts a validated YAML spec back into FlowSpec canvas nodes and edges.
3
- * Ported from src/lib/import/yamlImporter.ts — uses MCP types, no @xyflow deps.
4
- * Lenient: uses sensible defaults for missing fields, skips broken edges.
5
- */
6
- import type { CanvasNode, CanvasEdge, Screen } from '../types.js';
7
- export interface ImportResult {
8
- nodes: CanvasNode[];
9
- edges: CanvasEdge[];
10
- screens: Screen[];
11
- projectName: string;
12
- stats: {
13
- dataPoints: number;
14
- components: number;
15
- transforms: number;
16
- tables: number;
17
- edges: number;
18
- skippedEdges: number;
19
- skippedNodes: number;
20
- };
21
- }
22
- export declare function importFromYaml(spec: Record<string, unknown>): ImportResult;
@@ -1,227 +0,0 @@
1
- export function importFromYaml(spec) {
2
- const metadata = (spec.metadata ?? {});
3
- const projectName = metadata.projectName ?? 'Imported Project';
4
- const rawDataPoints = spec.dataPoints ?? [];
5
- const rawComponents = spec.components ?? [];
6
- const rawTransforms = spec.transforms ?? [];
7
- const rawDataFlow = spec.dataFlow ?? [];
8
- const rawTables = spec.tables ?? [];
9
- const nodes = [];
10
- const seenIds = new Set();
11
- let skippedNodes = 0;
12
- // --- DataPoints ---
13
- for (const dp of rawDataPoints) {
14
- const id = dp.id;
15
- if (!id || seenIds.has(id)) {
16
- skippedNodes++;
17
- continue;
18
- }
19
- seenIds.add(id);
20
- nodes.push({
21
- id,
22
- type: 'datapoint',
23
- position: { x: 0, y: 0 },
24
- data: {
25
- label: dp.label ?? 'Untitled',
26
- type: validDataType(dp.type),
27
- source: validSource(dp.source),
28
- sourceDefinition: dp.sourceDefinition ?? '',
29
- constraints: Array.isArray(dp.constraints) ? dp.constraints : []
30
- }
31
- });
32
- }
33
- // --- Components ---
34
- for (const comp of rawComponents) {
35
- const id = comp.id;
36
- if (!id || seenIds.has(id)) {
37
- skippedNodes++;
38
- continue;
39
- }
40
- seenIds.add(id);
41
- const data = {
42
- label: comp.label ?? 'Untitled Component',
43
- displays: Array.isArray(comp.displays) ? comp.displays : [],
44
- captures: Array.isArray(comp.captures) ? comp.captures : []
45
- };
46
- if (comp.wireframeRef) {
47
- data.wireframeRef = comp.wireframeRef;
48
- }
49
- nodes.push({ id, type: 'component', position: { x: 0, y: 0 }, data });
50
- }
51
- // --- Transforms ---
52
- for (const tx of rawTransforms) {
53
- const id = tx.id;
54
- if (!id || seenIds.has(id)) {
55
- skippedNodes++;
56
- continue;
57
- }
58
- seenIds.add(id);
59
- const description = tx.description ?? '';
60
- const rawLogic = (tx.logic ?? {});
61
- nodes.push({
62
- id,
63
- type: 'transform',
64
- position: { x: 0, y: 0 },
65
- data: {
66
- label: description || 'Untitled Transform',
67
- type: validLogicType(tx.type),
68
- description,
69
- inputs: Array.isArray(tx.inputs) ? tx.inputs : [],
70
- outputs: Array.isArray(tx.outputs) ? tx.outputs : [],
71
- logic: {
72
- type: validLogicContentType(rawLogic.type),
73
- content: rawLogic.content ?? ''
74
- }
75
- }
76
- });
77
- }
78
- // --- Tables ---
79
- for (const tbl of rawTables) {
80
- const id = tbl.id;
81
- if (!id || seenIds.has(id)) {
82
- skippedNodes++;
83
- continue;
84
- }
85
- seenIds.add(id);
86
- const rawColumns = Array.isArray(tbl.columns) ? tbl.columns : [];
87
- const columns = rawColumns.map((c) => ({
88
- name: c.name ?? '',
89
- type: validDataType(c.type)
90
- }));
91
- nodes.push({
92
- id,
93
- type: 'table',
94
- position: { x: 0, y: 0 },
95
- data: {
96
- label: tbl.label ?? 'Untitled Table',
97
- sourceType: validTableSourceType(tbl.sourceType),
98
- columns,
99
- endpoint: tbl.endpoint ?? ''
100
- }
101
- });
102
- }
103
- // --- Edges (no markerEnd — visual-only, not needed in canvas_state) ---
104
- const edges = [];
105
- let skippedEdges = 0;
106
- for (const flow of rawDataFlow) {
107
- const from = flow.from;
108
- const to = flow.to;
109
- if (!from || !to || !seenIds.has(from) || !seenIds.has(to)) {
110
- skippedEdges++;
111
- continue;
112
- }
113
- const edgeData = {
114
- edgeType: validEdgeType(flow.edgeType)
115
- };
116
- if (flow.label) {
117
- edgeData.label = flow.label;
118
- }
119
- edges.push({
120
- id: crypto.randomUUID(),
121
- source: from,
122
- target: to,
123
- type: 'typed',
124
- data: edgeData
125
- });
126
- }
127
- // --- Screens (import metadata + auto-create screen nodes) ---
128
- const screens = [];
129
- const rawScreens = spec.screens ?? [];
130
- let screenOffsetY = 50;
131
- for (const rawSc of rawScreens) {
132
- const screenId = rawSc.id ?? crypto.randomUUID();
133
- const rawRegions = Array.isArray(rawSc.regions) ? rawSc.regions : [];
134
- const regions = rawRegions.map((r) => {
135
- const rawElements = Array.isArray(r.elements) ? r.elements : [];
136
- return {
137
- id: r.id ?? crypto.randomUUID(),
138
- label: r.label,
139
- position: {
140
- x: (r.position?.x ?? 10),
141
- y: (r.position?.y ?? 10)
142
- },
143
- size: {
144
- width: (r.size?.width ?? 20),
145
- height: (r.size?.height ?? 15)
146
- },
147
- elementIds: rawElements
148
- .map((el) => el.nodeId)
149
- .filter((eid) => seenIds.has(eid)),
150
- componentNodeId: r.componentNodeId || undefined
151
- };
152
- });
153
- const elementCount = regions.reduce((sum, r) => sum + r.elementIds.length, 0);
154
- screens.push({
155
- id: screenId,
156
- name: rawSc.name ?? 'Imported Screen',
157
- imageUrl: '',
158
- imageWidth: 1920,
159
- imageHeight: 1080,
160
- imageFilename: rawSc.imageFilename,
161
- regions
162
- });
163
- // Auto-create screen node on canvas
164
- const screenNodeId = crypto.randomUUID();
165
- nodes.push({
166
- id: screenNodeId,
167
- type: 'screen',
168
- position: { x: 50, y: screenOffsetY },
169
- data: {
170
- label: rawSc.name ?? 'Imported Screen',
171
- screenId,
172
- regionCount: regions.length,
173
- elementCount
174
- }
175
- });
176
- screenOffsetY += 160;
177
- }
178
- return {
179
- nodes,
180
- edges,
181
- screens,
182
- projectName,
183
- stats: {
184
- dataPoints: nodes.filter((n) => n.type === 'datapoint').length,
185
- components: nodes.filter((n) => n.type === 'component').length,
186
- transforms: nodes.filter((n) => n.type === 'transform').length,
187
- tables: nodes.filter((n) => n.type === 'table').length,
188
- edges: edges.length,
189
- skippedEdges,
190
- skippedNodes
191
- }
192
- };
193
- }
194
- // --- Validation helpers with defaults ---
195
- const VALID_DATA_TYPES = new Set(['string', 'number', 'boolean', 'object', 'array']);
196
- function validDataType(t) {
197
- return t && VALID_DATA_TYPES.has(t) ? t : 'string';
198
- }
199
- const VALID_SOURCES = new Set(['captured', 'inferred']);
200
- function validSource(s) {
201
- return s && VALID_SOURCES.has(s) ? s : 'captured';
202
- }
203
- const VALID_LOGIC_TYPES = new Set(['formula', 'validation', 'workflow']);
204
- function validLogicType(t) {
205
- return t && VALID_LOGIC_TYPES.has(t) ? t : 'formula';
206
- }
207
- const VALID_LOGIC_CONTENT_TYPES = new Set(['formula', 'decision_table', 'steps']);
208
- function validLogicContentType(t) {
209
- return t && VALID_LOGIC_CONTENT_TYPES.has(t)
210
- ? t
211
- : 'formula';
212
- }
213
- const VALID_TABLE_SOURCE_TYPES = new Set(['database', 'api', 'file', 'manual']);
214
- function validTableSourceType(t) {
215
- return t && VALID_TABLE_SOURCE_TYPES.has(t) ? t : 'database';
216
- }
217
- const VALID_EDGE_TYPES = new Set([
218
- 'flows-to',
219
- 'derives-from',
220
- 'transforms',
221
- 'validates',
222
- 'contains'
223
- ]);
224
- function validEdgeType(t) {
225
- return t && VALID_EDGE_TYPES.has(t) ? t : 'flows-to';
226
- }
227
- //# sourceMappingURL=yamlImporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"yamlImporter.js","sourceRoot":"","sources":["../../src/import/yamlImporter.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const getYamlSchema: z.ZodObject<{
3
- projectId: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- projectId: string;
6
- }, {
7
- projectId: string;
8
- }>;
9
- export declare function handleGetYaml(args: z.infer<typeof getYamlSchema>): Promise<{
10
- content: {
11
- type: "text";
12
- text: string;
13
- }[];
14
- isError: boolean;
15
- } | {
16
- content: {
17
- type: "text";
18
- text: string;
19
- }[];
20
- isError?: undefined;
21
- }>;
@@ -1,23 +0,0 @@
1
- import { z } from 'zod';
2
- import { getProject } from '../db.js';
3
- import { exportToYaml } from '../export/yamlExporter.js';
4
- export const getYamlSchema = z.object({
5
- projectId: z.string().describe('UUID of the FlowSpec project'),
6
- });
7
- export async function handleGetYaml(args) {
8
- const project = await getProject(args.projectId);
9
- if (!project) {
10
- return {
11
- content: [{ type: 'text', text: `Project not found: ${args.projectId}` }],
12
- isError: true,
13
- };
14
- }
15
- const nodes = project.canvas_state?.nodes ?? [];
16
- const edges = project.canvas_state?.edges ?? [];
17
- const screens = project.canvas_state?.screens ?? [];
18
- const yaml = exportToYaml(nodes, edges, project.name, screens);
19
- return {
20
- content: [{ type: 'text', text: yaml }],
21
- };
22
- }
23
- //# sourceMappingURL=getYaml.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getYaml.js","sourceRoot":"","sources":["../../src/tools/getYaml.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC/D,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAmC;IACrE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sBAAsB,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,IAAI,EAAE,CAAC;IAEpD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC"}
@@ -1,33 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const importYamlSchema: z.ZodObject<{
3
- projectId: z.ZodString;
4
- yaml: z.ZodString;
5
- autoLayout: z.ZodOptional<z.ZodBoolean>;
6
- layoutDirection: z.ZodOptional<z.ZodEnum<["TB", "BT", "LR", "RL"]>>;
7
- merge: z.ZodOptional<z.ZodBoolean>;
8
- }, "strip", z.ZodTypeAny, {
9
- projectId: string;
10
- yaml: string;
11
- autoLayout?: boolean | undefined;
12
- layoutDirection?: "TB" | "BT" | "LR" | "RL" | undefined;
13
- merge?: boolean | undefined;
14
- }, {
15
- projectId: string;
16
- yaml: string;
17
- autoLayout?: boolean | undefined;
18
- layoutDirection?: "TB" | "BT" | "LR" | "RL" | undefined;
19
- merge?: boolean | undefined;
20
- }>;
21
- export declare function handleImportYaml(args: z.infer<typeof importYamlSchema>): Promise<{
22
- content: {
23
- type: "text";
24
- text: string;
25
- }[];
26
- isError: boolean;
27
- } | {
28
- content: {
29
- type: "text";
30
- text: string;
31
- }[];
32
- isError?: undefined;
33
- }>;
@@ -1,97 +0,0 @@
1
- import { z } from 'zod';
2
- import { parse as parseYaml } from 'yaml';
3
- import { getProject, updateProjectViaApi } from '../db.js';
4
- import { importFromYaml } from '../import/yamlImporter.js';
5
- import { computeAutoLayout } from '../layout/autoLayout.js';
6
- export const importYamlSchema = z.object({
7
- projectId: z.string().describe('UUID of the target project'),
8
- yaml: z.string().describe('YAML spec string (FlowSpec v1.2.0 format)'),
9
- autoLayout: z.boolean().optional().describe('Run dagre auto-layout after import (default: true)'),
10
- layoutDirection: z.enum(['TB', 'BT', 'LR', 'RL']).optional().describe('Layout direction (default: TB)'),
11
- merge: z.boolean().optional().describe('true = add to existing canvas, false = replace (default: false)'),
12
- });
13
- export async function handleImportYaml(args) {
14
- // Parse YAML string
15
- let spec;
16
- try {
17
- spec = parseYaml(args.yaml);
18
- }
19
- catch (e) {
20
- return {
21
- content: [{ type: 'text', text: `YAML parse error: ${e.message}` }],
22
- isError: true,
23
- };
24
- }
25
- if (!spec || typeof spec !== 'object') {
26
- return {
27
- content: [{ type: 'text', text: 'Invalid YAML: expected an object at the top level' }],
28
- isError: true,
29
- };
30
- }
31
- // Import YAML → nodes/edges/screens
32
- const result = importFromYaml(spec);
33
- // Apply auto-layout if requested (default: true)
34
- const shouldLayout = args.autoLayout !== false;
35
- if (shouldLayout && result.nodes.length > 0) {
36
- const direction = args.layoutDirection ?? 'TB';
37
- const positions = computeAutoLayout(result.nodes, result.edges, { rankdir: direction, pinnedNodeIds: new Set() });
38
- for (const node of result.nodes) {
39
- const pos = positions.get(node.id);
40
- if (pos)
41
- node.position = pos;
42
- }
43
- }
44
- // Build canvas state
45
- let nodes;
46
- let edges;
47
- let screens = result.screens;
48
- if (args.merge) {
49
- // Merge mode: add imported nodes/edges/screens to existing
50
- const project = await getProject(args.projectId);
51
- if (!project) {
52
- return {
53
- content: [{ type: 'text', text: `Project not found: ${args.projectId}` }],
54
- isError: true,
55
- };
56
- }
57
- const existing = project.canvas_state;
58
- nodes = [...(existing.nodes ?? []), ...result.nodes];
59
- edges = [...(existing.edges ?? []), ...result.edges];
60
- screens = [...(existing.screens ?? []), ...result.screens];
61
- }
62
- else {
63
- // Replace mode: imported data replaces existing canvas
64
- nodes = result.nodes;
65
- edges = result.edges;
66
- }
67
- const canvasState = { nodes, edges, screens };
68
- const updated = await updateProjectViaApi(args.projectId, { canvas_state: canvasState });
69
- if (!updated) {
70
- return {
71
- content: [{ type: 'text', text: `Failed to update project — not found: ${args.projectId}` }],
72
- isError: true,
73
- };
74
- }
75
- const { stats } = result;
76
- const lines = [
77
- `Imported YAML into project **${updated.name}**`,
78
- '',
79
- `| Metric | Count |`,
80
- `|--------|-------|`,
81
- `| Data points | ${stats.dataPoints} |`,
82
- `| Components | ${stats.components} |`,
83
- `| Transforms | ${stats.transforms} |`,
84
- `| Tables | ${stats.tables} |`,
85
- `| Edges | ${stats.edges} |`,
86
- `| Screens | ${result.screens.length} |`,
87
- `| Skipped nodes | ${stats.skippedNodes} |`,
88
- `| Skipped edges | ${stats.skippedEdges} |`,
89
- '',
90
- `Mode: ${args.merge ? 'merge (added to existing)' : 'replace'}`,
91
- shouldLayout ? `Layout: ${args.layoutDirection ?? 'TB'}` : 'Layout: skipped',
92
- ];
93
- return {
94
- content: [{ type: 'text', text: lines.join('\n') }],
95
- };
96
- }
97
- //# sourceMappingURL=importYaml.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"importYaml.js","sourceRoot":"","sources":["../../src/tools/importYaml.ts"],"names":[],"mappings":"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"}