@marktoflow/gui 2.0.0-alpha.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.
Files changed (165) hide show
  1. package/.turbo/turbo-build.log +26 -0
  2. package/.turbo/turbo-test.log +22 -0
  3. package/README.md +179 -0
  4. package/dist/client/assets/index-DwTI8opO.js +608 -0
  5. package/dist/client/assets/index-DwTI8opO.js.map +1 -0
  6. package/dist/client/assets/index-RoEdL6gO.css +1 -0
  7. package/dist/client/index.html +20 -0
  8. package/dist/client/vite.svg +9 -0
  9. package/dist/server/index.d.ts +3 -0
  10. package/dist/server/index.d.ts.map +1 -0
  11. package/dist/server/index.js +56 -0
  12. package/dist/server/index.js.map +1 -0
  13. package/dist/server/routes/ai.js +50 -0
  14. package/dist/server/routes/ai.js.map +1 -0
  15. package/dist/server/routes/execute.js +62 -0
  16. package/dist/server/routes/execute.js.map +1 -0
  17. package/dist/server/routes/workflows.js +99 -0
  18. package/dist/server/routes/workflows.js.map +1 -0
  19. package/dist/server/server/index.js +95 -0
  20. package/dist/server/server/index.js.map +1 -0
  21. package/dist/server/server/routes/ai.js +87 -0
  22. package/dist/server/server/routes/ai.js.map +1 -0
  23. package/dist/server/server/routes/execute.js +63 -0
  24. package/dist/server/server/routes/execute.js.map +1 -0
  25. package/dist/server/server/routes/tools.js +518 -0
  26. package/dist/server/server/routes/tools.js.map +1 -0
  27. package/dist/server/server/routes/workflows.js +99 -0
  28. package/dist/server/server/routes/workflows.js.map +1 -0
  29. package/dist/server/server/services/AIService.js +69 -0
  30. package/dist/server/server/services/AIService.js.map +1 -0
  31. package/dist/server/server/services/FileWatcher.js +60 -0
  32. package/dist/server/server/services/FileWatcher.js.map +1 -0
  33. package/dist/server/server/services/WorkflowService.js +363 -0
  34. package/dist/server/server/services/WorkflowService.js.map +1 -0
  35. package/dist/server/server/services/agents/claude-code-provider.js +250 -0
  36. package/dist/server/server/services/agents/claude-code-provider.js.map +1 -0
  37. package/dist/server/server/services/agents/claude-provider.js +204 -0
  38. package/dist/server/server/services/agents/claude-provider.js.map +1 -0
  39. package/dist/server/server/services/agents/copilot-provider.js +227 -0
  40. package/dist/server/server/services/agents/copilot-provider.js.map +1 -0
  41. package/dist/server/server/services/agents/demo-provider.js +167 -0
  42. package/dist/server/server/services/agents/demo-provider.js.map +1 -0
  43. package/dist/server/server/services/agents/index.js +31 -0
  44. package/dist/server/server/services/agents/index.js.map +1 -0
  45. package/dist/server/server/services/agents/ollama-provider.js +220 -0
  46. package/dist/server/server/services/agents/ollama-provider.js.map +1 -0
  47. package/dist/server/server/services/agents/prompts.js +436 -0
  48. package/dist/server/server/services/agents/prompts.js.map +1 -0
  49. package/dist/server/server/services/agents/registry.js +242 -0
  50. package/dist/server/server/services/agents/registry.js.map +1 -0
  51. package/dist/server/server/services/agents/types.js +6 -0
  52. package/dist/server/server/services/agents/types.js.map +1 -0
  53. package/dist/server/server/websocket/index.js +85 -0
  54. package/dist/server/server/websocket/index.js.map +1 -0
  55. package/dist/server/services/AIService.d.ts +30 -0
  56. package/dist/server/services/AIService.d.ts.map +1 -0
  57. package/dist/server/services/AIService.js +216 -0
  58. package/dist/server/services/AIService.js.map +1 -0
  59. package/dist/server/services/FileWatcher.d.ts +10 -0
  60. package/dist/server/services/FileWatcher.d.ts.map +1 -0
  61. package/dist/server/services/FileWatcher.js +62 -0
  62. package/dist/server/services/FileWatcher.js.map +1 -0
  63. package/dist/server/services/WorkflowService.d.ts +54 -0
  64. package/dist/server/services/WorkflowService.d.ts.map +1 -0
  65. package/dist/server/services/WorkflowService.js +323 -0
  66. package/dist/server/services/WorkflowService.js.map +1 -0
  67. package/dist/server/shared/constants.js +175 -0
  68. package/dist/server/shared/constants.js.map +1 -0
  69. package/dist/server/shared/types.js +3 -0
  70. package/dist/server/shared/types.js.map +1 -0
  71. package/dist/server/websocket/index.d.ts +10 -0
  72. package/dist/server/websocket/index.d.ts.map +1 -0
  73. package/dist/server/websocket/index.js +85 -0
  74. package/dist/server/websocket/index.js.map +1 -0
  75. package/index.html +19 -0
  76. package/package.json +96 -0
  77. package/playwright.config.ts +27 -0
  78. package/postcss.config.js +6 -0
  79. package/public/vite.svg +9 -0
  80. package/src/client/App.tsx +520 -0
  81. package/src/client/components/Canvas/Canvas.tsx +405 -0
  82. package/src/client/components/Canvas/ExecutionOverlay.tsx +847 -0
  83. package/src/client/components/Canvas/NodeContextMenu.tsx +188 -0
  84. package/src/client/components/Canvas/OutputNode.tsx +111 -0
  85. package/src/client/components/Canvas/StepNode.tsx +106 -0
  86. package/src/client/components/Canvas/SubWorkflowNode.tsx +141 -0
  87. package/src/client/components/Canvas/Toolbar.tsx +189 -0
  88. package/src/client/components/Canvas/TriggerNode.tsx +128 -0
  89. package/src/client/components/Editor/InputsEditor.tsx +458 -0
  90. package/src/client/components/Editor/NewStepWizard.tsx +344 -0
  91. package/src/client/components/Editor/StepEditor.tsx +532 -0
  92. package/src/client/components/Editor/YamlEditor.tsx +160 -0
  93. package/src/client/components/Panels/PropertiesPanel.tsx +589 -0
  94. package/src/client/components/Prompt/ChangePreview.tsx +281 -0
  95. package/src/client/components/Prompt/PromptHistoryPanel.tsx +209 -0
  96. package/src/client/components/Prompt/PromptInput.tsx +108 -0
  97. package/src/client/components/Sidebar/Sidebar.tsx +343 -0
  98. package/src/client/components/common/Breadcrumb.tsx +40 -0
  99. package/src/client/components/common/Button.tsx +68 -0
  100. package/src/client/components/common/ContextMenu.tsx +202 -0
  101. package/src/client/components/common/KeyboardShortcuts.tsx +143 -0
  102. package/src/client/components/common/Modal.tsx +93 -0
  103. package/src/client/components/common/Tabs.tsx +57 -0
  104. package/src/client/components/common/ThemeToggle.tsx +63 -0
  105. package/src/client/components/index.ts +32 -0
  106. package/src/client/hooks/index.ts +4 -0
  107. package/src/client/hooks/useAIPrompt.ts +108 -0
  108. package/src/client/hooks/useCanvas.ts +247 -0
  109. package/src/client/hooks/useWebSocket.ts +164 -0
  110. package/src/client/hooks/useWorkflow.ts +138 -0
  111. package/src/client/main.tsx +10 -0
  112. package/src/client/stores/canvasStore.ts +348 -0
  113. package/src/client/stores/editorStore.ts +133 -0
  114. package/src/client/stores/executionStore.ts +440 -0
  115. package/src/client/stores/index.ts +4 -0
  116. package/src/client/stores/layoutStore.ts +103 -0
  117. package/src/client/stores/navigationStore.ts +49 -0
  118. package/src/client/stores/promptStore.ts +113 -0
  119. package/src/client/stores/themeStore.ts +75 -0
  120. package/src/client/stores/workflowStore.ts +177 -0
  121. package/src/client/styles/globals.css +346 -0
  122. package/src/client/utils/cn.ts +9 -0
  123. package/src/client/utils/index.ts +4 -0
  124. package/src/client/utils/serviceIcons.tsx +64 -0
  125. package/src/client/utils/stepValidation.ts +155 -0
  126. package/src/client/utils/workflowToGraph.ts +299 -0
  127. package/src/server/index.ts +114 -0
  128. package/src/server/routes/ai.ts +91 -0
  129. package/src/server/routes/execute.ts +71 -0
  130. package/src/server/routes/tools.ts +564 -0
  131. package/src/server/routes/workflows.ts +106 -0
  132. package/src/server/services/AIService.ts +105 -0
  133. package/src/server/services/FileWatcher.ts +69 -0
  134. package/src/server/services/WorkflowService.ts +441 -0
  135. package/src/server/services/agents/claude-code-provider.ts +320 -0
  136. package/src/server/services/agents/claude-provider.ts +248 -0
  137. package/src/server/services/agents/copilot-provider.ts +311 -0
  138. package/src/server/services/agents/demo-provider.ts +184 -0
  139. package/src/server/services/agents/index.ts +31 -0
  140. package/src/server/services/agents/ollama-provider.ts +267 -0
  141. package/src/server/services/agents/prompts.ts +482 -0
  142. package/src/server/services/agents/registry.ts +289 -0
  143. package/src/server/services/agents/types.ts +146 -0
  144. package/src/server/websocket/index.ts +104 -0
  145. package/src/shared/constants.ts +180 -0
  146. package/src/shared/types.ts +179 -0
  147. package/tailwind.config.ts +73 -0
  148. package/tests/e2e/app.spec.ts +90 -0
  149. package/tests/e2e/canvas.spec.ts +128 -0
  150. package/tests/e2e/workflow.spec.ts +185 -0
  151. package/tests/integration/api.test.ts +250 -0
  152. package/tests/integration/testApp.ts +31 -0
  153. package/tests/setup.ts +37 -0
  154. package/tests/unit/canvasStore.test.ts +502 -0
  155. package/tests/unit/components.test.tsx +151 -0
  156. package/tests/unit/executionStore.test.ts +527 -0
  157. package/tests/unit/layoutStore.test.ts +194 -0
  158. package/tests/unit/navigationStore.test.ts +152 -0
  159. package/tests/unit/stepValidation.test.ts +226 -0
  160. package/tests/unit/themeStore.test.ts +141 -0
  161. package/tests/unit/workflowToGraph.test.ts +289 -0
  162. package/tsconfig.json +29 -0
  163. package/tsconfig.server.json +28 -0
  164. package/vite.config.ts +31 -0
  165. package/vitest.config.ts +26 -0
@@ -0,0 +1,26 @@
1
+
2
+ > @marktoflow/gui@2.0.0-alpha.1 build /Volumes/USBEXT/sandbox/personal/marktoflow/packages/gui
3
+ > pnpm build:client && pnpm build:server
4
+
5
+
6
+ > @marktoflow/gui@2.0.0-alpha.1 build:client /Volumes/USBEXT/sandbox/personal/marktoflow/packages/gui
7
+ > vite build
8
+
9
+ vite v6.4.1 building for production...
10
+ transforming...
11
+ ✓ 2259 modules transformed.
12
+ rendering chunks...
13
+ computing gzip size...
14
+ dist/client/index.html 0.83 kB │ gzip: 0.46 kB
15
+ dist/client/assets/index-RoEdL6gO.css 44.51 kB │ gzip: 8.37 kB
16
+ dist/client/assets/index-DwTI8opO.js 835.13 kB │ gzip: 261.15 kB │ map: 3,374.67 kB
17
+
18
+ (!) Some chunks are larger than 500 kB after minification. Consider:
19
+ - Using dynamic import() to code-split the application
20
+ - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
21
+ - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
22
+ ✓ built in 1.51s
23
+
24
+ > @marktoflow/gui@2.0.0-alpha.1 build:server /Volumes/USBEXT/sandbox/personal/marktoflow/packages/gui
25
+ > tsc -p tsconfig.server.json
26
+
@@ -0,0 +1,22 @@
1
+
2
+ > @marktoflow/gui@2.0.0-alpha.1 test /Volumes/USBEXT/sandbox/personal/marktoflow/packages/gui
3
+ > vitest run
4
+
5
+
6
+ RUN v2.1.9 /Volumes/USBEXT/sandbox/personal/marktoflow/packages/gui
7
+
8
+ ✓ tests/unit/workflowToGraph.test.ts (15 tests) 3ms
9
+ ✓ tests/unit/navigationStore.test.ts (10 tests) 6ms
10
+ ✓ tests/unit/stepValidation.test.ts (17 tests) 7ms
11
+ ✓ tests/unit/themeStore.test.ts (9 tests) 4ms
12
+ ✓ tests/unit/layoutStore.test.ts (18 tests) 7ms
13
+ ✓ tests/unit/executionStore.test.ts (43 tests) 24ms
14
+ ✓ tests/unit/canvasStore.test.ts (24 tests) 5ms
15
+ ✓ tests/unit/components.test.tsx (14 tests) 32ms
16
+ ✓ tests/integration/api.test.ts (23 tests) 47ms
17
+
18
+ Test Files 9 passed (9)
19
+ Tests 173 passed (173)
20
+ Start at 17:09:24
21
+ Duration 1.39s (transform 485ms, setup 761ms, collect 1.30s, tests 135ms, environment 4.27s, prepare 499ms)
22
+
package/README.md ADDED
@@ -0,0 +1,179 @@
1
+ # @marktoflow/gui
2
+
3
+ Visual workflow designer for marktoflow - a web-based drag-and-drop editor with AI-powered assistance.
4
+
5
+ ## Features
6
+
7
+ - **Visual Workflow Editor** - Drag-and-drop interface for creating and editing workflows
8
+ - **AI-Powered Assistance** - Natural language commands to modify workflows
9
+ - **Multiple AI Backends** - Support for Claude Code, GitHub Copilot, and more
10
+ - **Real-time Execution** - Run and debug workflows directly from the UI
11
+ - **Live File Sync** - Changes sync automatically with your workflow files
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @marktoflow/gui
17
+ ```
18
+
19
+ Or use via the CLI:
20
+
21
+ ```bash
22
+ npx @marktoflow/cli gui
23
+ ```
24
+
25
+ ## Quick Start
26
+
27
+ ### Via CLI (Recommended)
28
+
29
+ ```bash
30
+ # Start the GUI server
31
+ marktoflow gui
32
+
33
+ # With options
34
+ marktoflow gui --port 3000 # Custom port
35
+ marktoflow gui --open # Open browser automatically
36
+ ```
37
+
38
+ ### Programmatic Usage
39
+
40
+ ```typescript
41
+ import { startServer } from '@marktoflow/gui';
42
+
43
+ // Start the GUI server
44
+ const server = await startServer({
45
+ port: 3001,
46
+ workflowDir: './workflows',
47
+ });
48
+
49
+ console.log('GUI available at http://localhost:3001');
50
+ ```
51
+
52
+ ## Interface Overview
53
+
54
+ ```
55
+ +------------------+------------------------+------------------+
56
+ | | | |
57
+ | Sidebar | Canvas | Properties |
58
+ | (Workflows | (Visual Editor) | Panel |
59
+ | & Tools) | | |
60
+ | | | |
61
+ +------------------+------------------------+------------------+
62
+ | AI Prompt Input |
63
+ +--------------------------------------------------------------+
64
+ ```
65
+
66
+ ### Components
67
+
68
+ - **Left Sidebar** - Browse workflows and drag tools onto the canvas
69
+ - **Canvas** - Visual node-based workflow editor with pan/zoom
70
+ - **Properties Panel** - Edit step properties, view variables, execution history
71
+ - **AI Prompt** - Natural language input for AI-assisted editing
72
+
73
+ ## AI Providers
74
+
75
+ The GUI supports multiple AI backends for workflow assistance:
76
+
77
+ | Provider | SDK | Authentication |
78
+ |----------|-----|----------------|
79
+ | Claude Code | `@anthropic-ai/claude-agent-sdk` | Claude CLI (`claude`) |
80
+ | GitHub Copilot | `@github/copilot-sdk` | Copilot CLI (`copilot auth`) |
81
+ | Claude API | `@anthropic-ai/sdk` | `ANTHROPIC_API_KEY` |
82
+ | Ollama | REST API | Local server |
83
+ | Demo Mode | - | Always available |
84
+
85
+ ### Setting Up AI Providers
86
+
87
+ **Claude Code (Recommended)**
88
+ ```bash
89
+ # Authenticate with Claude CLI first
90
+ claude
91
+
92
+ # The GUI will automatically detect and use Claude Code
93
+ ```
94
+
95
+ **GitHub Copilot**
96
+ ```bash
97
+ # Authenticate with Copilot CLI
98
+ copilot auth
99
+
100
+ # The GUI will automatically detect and use Copilot
101
+ ```
102
+
103
+ ## API Endpoints
104
+
105
+ The GUI server exposes a REST API:
106
+
107
+ ```bash
108
+ # Workflow operations
109
+ GET /api/workflows # List all workflows
110
+ GET /api/workflows/:path # Get workflow by path
111
+ POST /api/workflows # Create/update workflow
112
+
113
+ # AI operations
114
+ GET /api/ai/providers # List AI providers and status
115
+ POST /api/ai/providers/:id # Set active AI provider
116
+ POST /api/ai/prompt # Send prompt to AI
117
+
118
+ # Execution
119
+ POST /api/execute/:path # Execute a workflow
120
+ GET /api/execute/status/:runId # Get execution status
121
+ ```
122
+
123
+ ## Keyboard Shortcuts
124
+
125
+ | Shortcut | Action |
126
+ |----------|--------|
127
+ | `Ctrl/Cmd + S` | Save workflow |
128
+ | `Ctrl/Cmd + Z` | Undo |
129
+ | `Ctrl/Cmd + Shift + Z` | Redo |
130
+ | `Delete/Backspace` | Delete selected |
131
+ | `Ctrl/Cmd + A` | Select all |
132
+ | `Escape` | Deselect all |
133
+ | `Ctrl/Cmd + D` | Duplicate selected |
134
+
135
+ ## Configuration
136
+
137
+ Environment variables:
138
+
139
+ ```bash
140
+ # Server configuration
141
+ PORT=3001 # Server port (default: 3001)
142
+ WORKFLOW_DIR=./workflows # Workflow directory
143
+
144
+ # AI provider configuration
145
+ ANTHROPIC_API_KEY=... # For Claude API provider
146
+ OLLAMA_BASE_URL=... # For Ollama provider
147
+ ```
148
+
149
+ ## Development
150
+
151
+ ```bash
152
+ # Install dependencies
153
+ pnpm install
154
+
155
+ # Start development server
156
+ pnpm dev
157
+
158
+ # Build for production
159
+ pnpm build
160
+
161
+ # Run tests
162
+ pnpm test
163
+ ```
164
+
165
+ ## Requirements
166
+
167
+ - Node.js 18+
168
+ - Modern browser (Chrome, Firefox, Safari, Edge)
169
+ - Screen resolution: 1280x720 minimum
170
+
171
+ ## Documentation
172
+
173
+ - [User Guide](../../docs/GUI_USER_GUIDE.md)
174
+ - [API Reference](../../docs/GUI_API_REFERENCE.md)
175
+ - [Developer Guide](../../docs/GUI_DEVELOPER_GUIDE.md)
176
+
177
+ ## License
178
+
179
+ MIT