@marktoflow/gui 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (172) hide show
  1. package/README.md +49 -3
  2. package/dist/client/assets/index-CM44OayM.js +704 -0
  3. package/dist/client/assets/index-CM44OayM.js.map +1 -0
  4. package/dist/client/assets/index-Dru63gi6.css +1 -0
  5. package/dist/client/index.html +2 -2
  6. package/dist/server/index.js +93 -33
  7. package/dist/server/index.js.map +1 -1
  8. package/dist/server/routes/ai.js +38 -1
  9. package/dist/server/routes/ai.js.map +1 -1
  10. package/dist/server/routes/execute.js +23 -22
  11. package/dist/server/routes/execute.js.map +1 -1
  12. package/dist/server/routes/executions.js +125 -0
  13. package/dist/server/routes/executions.js.map +1 -0
  14. package/dist/server/{server/routes → routes}/tools.js +406 -0
  15. package/dist/server/{server/routes → routes}/tools.js.map +1 -1
  16. package/dist/server/routes/workflows.js +41 -5
  17. package/dist/server/routes/workflows.js.map +1 -1
  18. package/dist/server/services/AIService.js +55 -202
  19. package/dist/server/services/AIService.js.map +1 -1
  20. package/dist/server/services/FileWatcher.js +0 -2
  21. package/dist/server/services/FileWatcher.js.map +1 -1
  22. package/dist/server/services/WorkflowService.js +199 -16
  23. package/dist/server/services/WorkflowService.js.map +1 -1
  24. package/dist/server/services/agents/codex-provider.js +270 -0
  25. package/dist/server/services/agents/codex-provider.js.map +1 -0
  26. package/dist/server/{server/services → services}/agents/prompts.js +27 -0
  27. package/dist/server/services/agents/prompts.js.map +1 -0
  28. package/dist/server/{server/services → services}/agents/registry.js +20 -0
  29. package/dist/server/services/agents/registry.js.map +1 -0
  30. package/dist/server/websocket/index.js +12 -0
  31. package/dist/server/websocket/index.js.map +1 -1
  32. package/package.json +19 -7
  33. package/scripts/flatten-dist.js +69 -0
  34. package/.turbo/turbo-build.log +0 -26
  35. package/.turbo/turbo-test.log +0 -22
  36. package/dist/client/assets/index-DwTI8opO.js +0 -608
  37. package/dist/client/assets/index-DwTI8opO.js.map +0 -1
  38. package/dist/client/assets/index-RoEdL6gO.css +0 -1
  39. package/dist/server/index.d.ts +0 -3
  40. package/dist/server/index.d.ts.map +0 -1
  41. package/dist/server/server/index.js +0 -95
  42. package/dist/server/server/index.js.map +0 -1
  43. package/dist/server/server/routes/ai.js +0 -87
  44. package/dist/server/server/routes/ai.js.map +0 -1
  45. package/dist/server/server/routes/execute.js +0 -63
  46. package/dist/server/server/routes/execute.js.map +0 -1
  47. package/dist/server/server/routes/workflows.js +0 -99
  48. package/dist/server/server/routes/workflows.js.map +0 -1
  49. package/dist/server/server/services/AIService.js +0 -69
  50. package/dist/server/server/services/AIService.js.map +0 -1
  51. package/dist/server/server/services/FileWatcher.js +0 -60
  52. package/dist/server/server/services/FileWatcher.js.map +0 -1
  53. package/dist/server/server/services/WorkflowService.js +0 -363
  54. package/dist/server/server/services/WorkflowService.js.map +0 -1
  55. package/dist/server/server/services/agents/prompts.js.map +0 -1
  56. package/dist/server/server/services/agents/registry.js.map +0 -1
  57. package/dist/server/server/websocket/index.js +0 -85
  58. package/dist/server/server/websocket/index.js.map +0 -1
  59. package/dist/server/services/AIService.d.ts +0 -30
  60. package/dist/server/services/AIService.d.ts.map +0 -1
  61. package/dist/server/services/FileWatcher.d.ts +0 -10
  62. package/dist/server/services/FileWatcher.d.ts.map +0 -1
  63. package/dist/server/services/WorkflowService.d.ts +0 -54
  64. package/dist/server/services/WorkflowService.d.ts.map +0 -1
  65. package/dist/server/websocket/index.d.ts +0 -10
  66. package/dist/server/websocket/index.d.ts.map +0 -1
  67. package/playwright.config.ts +0 -27
  68. package/postcss.config.js +0 -6
  69. package/src/client/App.tsx +0 -520
  70. package/src/client/components/Canvas/Canvas.tsx +0 -405
  71. package/src/client/components/Canvas/ExecutionOverlay.tsx +0 -847
  72. package/src/client/components/Canvas/NodeContextMenu.tsx +0 -188
  73. package/src/client/components/Canvas/OutputNode.tsx +0 -111
  74. package/src/client/components/Canvas/StepNode.tsx +0 -106
  75. package/src/client/components/Canvas/SubWorkflowNode.tsx +0 -141
  76. package/src/client/components/Canvas/Toolbar.tsx +0 -189
  77. package/src/client/components/Canvas/TriggerNode.tsx +0 -128
  78. package/src/client/components/Editor/InputsEditor.tsx +0 -458
  79. package/src/client/components/Editor/NewStepWizard.tsx +0 -344
  80. package/src/client/components/Editor/StepEditor.tsx +0 -532
  81. package/src/client/components/Editor/YamlEditor.tsx +0 -160
  82. package/src/client/components/Panels/PropertiesPanel.tsx +0 -589
  83. package/src/client/components/Prompt/ChangePreview.tsx +0 -281
  84. package/src/client/components/Prompt/PromptHistoryPanel.tsx +0 -209
  85. package/src/client/components/Prompt/PromptInput.tsx +0 -108
  86. package/src/client/components/Sidebar/Sidebar.tsx +0 -343
  87. package/src/client/components/common/Breadcrumb.tsx +0 -40
  88. package/src/client/components/common/Button.tsx +0 -68
  89. package/src/client/components/common/ContextMenu.tsx +0 -202
  90. package/src/client/components/common/KeyboardShortcuts.tsx +0 -143
  91. package/src/client/components/common/Modal.tsx +0 -93
  92. package/src/client/components/common/Tabs.tsx +0 -57
  93. package/src/client/components/common/ThemeToggle.tsx +0 -63
  94. package/src/client/components/index.ts +0 -32
  95. package/src/client/hooks/index.ts +0 -4
  96. package/src/client/hooks/useAIPrompt.ts +0 -108
  97. package/src/client/hooks/useCanvas.ts +0 -247
  98. package/src/client/hooks/useWebSocket.ts +0 -164
  99. package/src/client/hooks/useWorkflow.ts +0 -138
  100. package/src/client/main.tsx +0 -10
  101. package/src/client/stores/canvasStore.ts +0 -348
  102. package/src/client/stores/editorStore.ts +0 -133
  103. package/src/client/stores/executionStore.ts +0 -440
  104. package/src/client/stores/index.ts +0 -4
  105. package/src/client/stores/layoutStore.ts +0 -103
  106. package/src/client/stores/navigationStore.ts +0 -49
  107. package/src/client/stores/promptStore.ts +0 -113
  108. package/src/client/stores/themeStore.ts +0 -75
  109. package/src/client/stores/workflowStore.ts +0 -177
  110. package/src/client/styles/globals.css +0 -346
  111. package/src/client/utils/cn.ts +0 -9
  112. package/src/client/utils/index.ts +0 -4
  113. package/src/client/utils/serviceIcons.tsx +0 -64
  114. package/src/client/utils/stepValidation.ts +0 -155
  115. package/src/client/utils/workflowToGraph.ts +0 -299
  116. package/src/server/index.ts +0 -114
  117. package/src/server/routes/ai.ts +0 -91
  118. package/src/server/routes/execute.ts +0 -71
  119. package/src/server/routes/tools.ts +0 -564
  120. package/src/server/routes/workflows.ts +0 -106
  121. package/src/server/services/AIService.ts +0 -105
  122. package/src/server/services/FileWatcher.ts +0 -69
  123. package/src/server/services/WorkflowService.ts +0 -441
  124. package/src/server/services/agents/claude-code-provider.ts +0 -320
  125. package/src/server/services/agents/claude-provider.ts +0 -248
  126. package/src/server/services/agents/copilot-provider.ts +0 -311
  127. package/src/server/services/agents/demo-provider.ts +0 -184
  128. package/src/server/services/agents/index.ts +0 -31
  129. package/src/server/services/agents/ollama-provider.ts +0 -267
  130. package/src/server/services/agents/prompts.ts +0 -482
  131. package/src/server/services/agents/registry.ts +0 -289
  132. package/src/server/services/agents/types.ts +0 -146
  133. package/src/server/websocket/index.ts +0 -104
  134. package/src/shared/constants.ts +0 -180
  135. package/src/shared/types.ts +0 -179
  136. package/tailwind.config.ts +0 -73
  137. package/tests/e2e/app.spec.ts +0 -90
  138. package/tests/e2e/canvas.spec.ts +0 -128
  139. package/tests/e2e/workflow.spec.ts +0 -185
  140. package/tests/integration/api.test.ts +0 -250
  141. package/tests/integration/testApp.ts +0 -31
  142. package/tests/setup.ts +0 -37
  143. package/tests/unit/canvasStore.test.ts +0 -502
  144. package/tests/unit/components.test.tsx +0 -151
  145. package/tests/unit/executionStore.test.ts +0 -527
  146. package/tests/unit/layoutStore.test.ts +0 -194
  147. package/tests/unit/navigationStore.test.ts +0 -152
  148. package/tests/unit/stepValidation.test.ts +0 -226
  149. package/tests/unit/themeStore.test.ts +0 -141
  150. package/tests/unit/workflowToGraph.test.ts +0 -289
  151. package/tsconfig.json +0 -29
  152. package/tsconfig.server.json +0 -28
  153. package/vite.config.ts +0 -31
  154. package/vitest.config.ts +0 -26
  155. /package/dist/server/{server/services → services}/agents/claude-code-provider.js +0 -0
  156. /package/dist/server/{server/services → services}/agents/claude-code-provider.js.map +0 -0
  157. /package/dist/server/{server/services → services}/agents/claude-provider.js +0 -0
  158. /package/dist/server/{server/services → services}/agents/claude-provider.js.map +0 -0
  159. /package/dist/server/{server/services → services}/agents/copilot-provider.js +0 -0
  160. /package/dist/server/{server/services → services}/agents/copilot-provider.js.map +0 -0
  161. /package/dist/server/{server/services → services}/agents/demo-provider.js +0 -0
  162. /package/dist/server/{server/services → services}/agents/demo-provider.js.map +0 -0
  163. /package/dist/server/{server/services → services}/agents/index.js +0 -0
  164. /package/dist/server/{server/services → services}/agents/index.js.map +0 -0
  165. /package/dist/server/{server/services → services}/agents/ollama-provider.js +0 -0
  166. /package/dist/server/{server/services → services}/agents/ollama-provider.js.map +0 -0
  167. /package/dist/server/{server/services → services}/agents/types.js +0 -0
  168. /package/dist/server/{server/services → services}/agents/types.js.map +0 -0
  169. /package/dist/{server/shared → shared}/constants.js +0 -0
  170. /package/dist/{server/shared → shared}/constants.js.map +0 -0
  171. /package/dist/{server/shared → shared}/types.js +0 -0
  172. /package/dist/{server/shared → shared}/types.js.map +0 -0
@@ -0,0 +1,270 @@
1
+ /**
2
+ * OpenAI Codex AI agent provider
3
+ * Uses the @openai/codex-sdk for AI capabilities
4
+ */
5
+ import { parse as yamlParse } from 'yaml';
6
+ import { buildPrompt, generateSuggestions } from './prompts.js';
7
+ export class CodexProvider {
8
+ id = 'codex';
9
+ name = 'OpenAI Codex';
10
+ capabilities = {
11
+ streaming: true,
12
+ toolUse: true,
13
+ codeExecution: true,
14
+ systemPrompts: true,
15
+ models: [
16
+ 'codex-1',
17
+ 'o3',
18
+ 'o3-mini',
19
+ 'o4-mini',
20
+ 'gpt-4.1',
21
+ ],
22
+ };
23
+ codex = null;
24
+ model = 'codex-1';
25
+ ready = false;
26
+ error;
27
+ workingDirectory = process.cwd();
28
+ lastThreadId = null;
29
+ async initialize(config) {
30
+ try {
31
+ // Try to import the Codex SDK (dynamic import with webpackIgnore to avoid bundling issues)
32
+ const sdkModule = (await import(
33
+ /* webpackIgnore: true */ '@openai/codex-sdk').catch(() => null));
34
+ if (!sdkModule || !sdkModule.Codex) {
35
+ this.ready = false;
36
+ this.error = 'OpenAI Codex SDK not installed. Run: npm install @openai/codex-sdk';
37
+ return;
38
+ }
39
+ const { Codex } = sdkModule;
40
+ const codexOptions = {};
41
+ // API key from config or environment
42
+ if (config.apiKey) {
43
+ codexOptions.apiKey = config.apiKey;
44
+ }
45
+ else if (process.env.OPENAI_API_KEY) {
46
+ codexOptions.apiKey = process.env.OPENAI_API_KEY;
47
+ }
48
+ // Base URL
49
+ if (config.baseUrl) {
50
+ codexOptions.baseUrl = config.baseUrl;
51
+ }
52
+ // Codex path override
53
+ if (config.options?.codexPath) {
54
+ codexOptions.codexPathOverride = config.options.codexPath;
55
+ }
56
+ // Environment variables
57
+ if (config.options?.env) {
58
+ codexOptions.env = config.options.env;
59
+ }
60
+ this.codex = new Codex(codexOptions);
61
+ if (config.model) {
62
+ this.model = config.model;
63
+ }
64
+ // Working directory
65
+ if (config.options?.workingDirectory) {
66
+ this.workingDirectory = config.options.workingDirectory;
67
+ }
68
+ else if (config.options?.cwd) {
69
+ this.workingDirectory = config.options.cwd;
70
+ }
71
+ // Test connectivity by starting a simple thread
72
+ try {
73
+ const thread = this.codex.startThread({
74
+ skipGitRepoCheck: true,
75
+ sandboxMode: 'read-only',
76
+ workingDirectory: this.workingDirectory,
77
+ });
78
+ // Just verify it can be created
79
+ if (thread) {
80
+ this.ready = true;
81
+ this.error = undefined;
82
+ }
83
+ }
84
+ catch (testError) {
85
+ this.ready = false;
86
+ this.error = `Cannot initialize Codex: ${testError instanceof Error ? testError.message : 'Unknown error'}`;
87
+ }
88
+ }
89
+ catch (err) {
90
+ this.ready = false;
91
+ this.error = err instanceof Error ? err.message : 'Unknown error initializing Codex';
92
+ }
93
+ }
94
+ isReady() {
95
+ return this.ready;
96
+ }
97
+ getStatus() {
98
+ return {
99
+ ready: this.ready,
100
+ model: this.model,
101
+ error: this.error,
102
+ };
103
+ }
104
+ async processPrompt(prompt, workflow, context) {
105
+ if (!this.codex || !this.ready) {
106
+ return {
107
+ explanation: 'OpenAI Codex provider not available.',
108
+ error: this.error || 'Provider not initialized',
109
+ };
110
+ }
111
+ try {
112
+ // Build context-aware prompts
113
+ const { systemPrompt, userPrompt } = buildPrompt(prompt, workflow, context);
114
+ // Combine system and user prompts for Codex
115
+ const fullPrompt = `${systemPrompt}\n\n---\n\n${userPrompt}`;
116
+ const thread = this.codex.startThread({
117
+ model: this.model,
118
+ skipGitRepoCheck: true,
119
+ sandboxMode: 'read-only', // Safe for workflow modifications
120
+ workingDirectory: this.workingDirectory,
121
+ modelReasoningEffort: 'medium',
122
+ });
123
+ const result = await thread.run(fullPrompt);
124
+ this.lastThreadId = thread.id;
125
+ // Extract the response text
126
+ const responseText = result.finalResponse ||
127
+ result.items.find((item) => item.type === 'agent_message')?.text || '';
128
+ return this.parseAIResponse(responseText, workflow);
129
+ }
130
+ catch (err) {
131
+ return {
132
+ explanation: '',
133
+ error: err instanceof Error ? err.message : 'Unknown error',
134
+ };
135
+ }
136
+ }
137
+ async getSuggestions(workflow, selectedStepId) {
138
+ return generateSuggestions(workflow, selectedStepId);
139
+ }
140
+ async streamPrompt(prompt, workflow, onChunk, context) {
141
+ if (!this.codex || !this.ready) {
142
+ return this.processPrompt(prompt, workflow, context);
143
+ }
144
+ const { systemPrompt, userPrompt } = buildPrompt(prompt, workflow, context);
145
+ const fullPrompt = `${systemPrompt}\n\n---\n\n${userPrompt}`;
146
+ let fullResponse = '';
147
+ try {
148
+ const thread = this.codex.startThread({
149
+ model: this.model,
150
+ skipGitRepoCheck: true,
151
+ sandboxMode: 'read-only',
152
+ workingDirectory: this.workingDirectory,
153
+ modelReasoningEffort: 'medium',
154
+ });
155
+ const streamResult = await thread.runStreamed(fullPrompt);
156
+ for await (const event of streamResult.events) {
157
+ if (event.type === 'thread.started') {
158
+ this.lastThreadId = event.thread_id || null;
159
+ }
160
+ else if (event.type === 'item.completed' && event.item?.type === 'agent_message') {
161
+ const text = event.item.text || '';
162
+ fullResponse = text;
163
+ onChunk(text);
164
+ }
165
+ else if (event.type === 'error') {
166
+ throw new Error(event.message || 'Stream error');
167
+ }
168
+ else if (event.type === 'turn.failed') {
169
+ throw new Error(event.error?.message || 'Turn failed');
170
+ }
171
+ }
172
+ return this.parseAIResponse(fullResponse, workflow);
173
+ }
174
+ catch (err) {
175
+ return {
176
+ explanation: '',
177
+ error: err instanceof Error ? err.message : 'Unknown error',
178
+ };
179
+ }
180
+ }
181
+ async cancel() {
182
+ // Codex SDK doesn't have explicit cancellation, but we can reset state
183
+ this.lastThreadId = null;
184
+ }
185
+ /**
186
+ * Get the last thread ID for resumption
187
+ */
188
+ getLastThreadId() {
189
+ return this.lastThreadId;
190
+ }
191
+ /**
192
+ * Resume a previous thread
193
+ */
194
+ async resumePrompt(threadId, prompt, workflow, context) {
195
+ if (!this.codex || !this.ready) {
196
+ return {
197
+ explanation: 'OpenAI Codex provider not available.',
198
+ error: this.error || 'Provider not initialized',
199
+ };
200
+ }
201
+ try {
202
+ const { systemPrompt, userPrompt } = buildPrompt(prompt, workflow, context);
203
+ const fullPrompt = `${systemPrompt}\n\n---\n\n${userPrompt}`;
204
+ const thread = this.codex.resumeThread(threadId, {
205
+ model: this.model,
206
+ skipGitRepoCheck: true,
207
+ sandboxMode: 'read-only',
208
+ workingDirectory: this.workingDirectory,
209
+ });
210
+ const result = await thread.run(fullPrompt);
211
+ this.lastThreadId = thread.id;
212
+ const responseText = result.finalResponse ||
213
+ result.items.find((item) => item.type === 'agent_message')?.text || '';
214
+ return this.parseAIResponse(responseText, workflow);
215
+ }
216
+ catch (err) {
217
+ return {
218
+ explanation: '',
219
+ error: err instanceof Error ? err.message : 'Unknown error',
220
+ };
221
+ }
222
+ }
223
+ parseAIResponse(responseText, originalWorkflow) {
224
+ const yamlMatch = responseText.match(/```yaml\n([\s\S]*?)\n```/);
225
+ let modifiedWorkflow;
226
+ let explanation = responseText;
227
+ if (yamlMatch) {
228
+ try {
229
+ const parsedYaml = yamlParse(yamlMatch[1]);
230
+ if (parsedYaml && (parsedYaml.steps || parsedYaml.metadata)) {
231
+ modifiedWorkflow = parsedYaml;
232
+ const explanationMatch = responseText.match(/^([\s\S]*?)```yaml/);
233
+ if (explanationMatch) {
234
+ explanation = explanationMatch[1].trim();
235
+ }
236
+ }
237
+ }
238
+ catch {
239
+ // Failed to parse YAML
240
+ }
241
+ }
242
+ let diff;
243
+ if (modifiedWorkflow) {
244
+ diff = this.generateDiff(originalWorkflow, modifiedWorkflow);
245
+ }
246
+ return { explanation, workflow: modifiedWorkflow, diff };
247
+ }
248
+ generateDiff(original, modified) {
249
+ const originalStepIds = new Set(original.steps?.map((s) => s.id) || []);
250
+ const modifiedStepIds = new Set(modified.steps?.map((s) => s.id) || []);
251
+ const added = modified.steps?.filter((s) => !originalStepIds.has(s.id)) || [];
252
+ const removed = original.steps?.filter((s) => !modifiedStepIds.has(s.id)) || [];
253
+ let diff = '';
254
+ if (added.length > 0) {
255
+ diff += `+ Added ${added.length} step(s): ${added.map((s) => s.name || s.id).join(', ')}\n`;
256
+ }
257
+ if (removed.length > 0) {
258
+ diff += `- Removed ${removed.length} step(s): ${removed.map((s) => s.name || s.id).join(', ')}\n`;
259
+ }
260
+ return diff || 'No structural changes detected';
261
+ }
262
+ }
263
+ export function createCodexProvider(config) {
264
+ const provider = new CodexProvider();
265
+ if (config) {
266
+ provider.initialize(config);
267
+ }
268
+ return provider;
269
+ }
270
+ //# sourceMappingURL=codex-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-provider.js","sourceRoot":"","sources":["../../../../../src/server/services/agents/codex-provider.ts"],"names":[],"mappings":"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"}
@@ -141,6 +141,33 @@ export const AVAILABLE_SERVICES = {
141
141
  description: 'Local Ollama LLM for AI tasks',
142
142
  commonActions: ['generate', 'chat', 'embeddings'],
143
143
  },
144
+ codex: {
145
+ sdk: '@openai/codex-sdk',
146
+ description: 'OpenAI Codex for AI-powered coding workflows',
147
+ commonActions: [
148
+ 'chat',
149
+ 'codeModify',
150
+ 'codeAnalyze',
151
+ 'codeReview',
152
+ 'webSearch',
153
+ 'execute',
154
+ 'structured',
155
+ 'resume',
156
+ 'withImages',
157
+ ],
158
+ },
159
+ copilot: {
160
+ sdk: '@github/copilot-sdk',
161
+ description: 'GitHub Copilot for AI code assistance',
162
+ commonActions: [
163
+ 'chat',
164
+ 'codeReview',
165
+ 'codeModify',
166
+ 'withTools',
167
+ 'withAgents',
168
+ 'withMcp',
169
+ ],
170
+ },
144
171
  };
145
172
  // Base system prompt with comprehensive context
146
173
  export const BASE_SYSTEM_PROMPT = `You are an expert workflow automation assistant for Marktoflow, a markdown-based workflow automation framework.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../../../src/server/services/agents/prompts.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import { createClaudeProvider } from './claude-provider.js';
6
6
  import { createClaudeCodeProvider } from './claude-code-provider.js';
7
7
  import { createCopilotProvider } from './copilot-provider.js';
8
+ import { createCodexProvider } from './codex-provider.js';
8
9
  import { createDemoProvider } from './demo-provider.js';
9
10
  import { createOllamaProvider } from './ollama-provider.js';
10
11
  /**
@@ -27,6 +28,11 @@ export class AgentRegistry {
27
28
  name: 'GitHub Copilot (SDK)',
28
29
  factory: createCopilotProvider,
29
30
  });
31
+ this.registerProvider({
32
+ id: 'codex',
33
+ name: 'OpenAI Codex (SDK)',
34
+ factory: createCodexProvider,
35
+ });
30
36
  // API key-based providers
31
37
  this.registerProvider({
32
38
  id: 'claude',
@@ -130,6 +136,20 @@ export class AgentRegistry {
130
136
  return 'copilot';
131
137
  }
132
138
  }
139
+ // Try OpenAI Codex SDK (uses OPENAI_API_KEY)
140
+ const codexProvider = this.providers.get('codex');
141
+ if (codexProvider) {
142
+ await codexProvider.initialize({
143
+ apiKey: process.env.OPENAI_API_KEY,
144
+ options: {
145
+ cwd: process.cwd(),
146
+ },
147
+ });
148
+ if (codexProvider.isReady()) {
149
+ this.activeProviderId = 'codex';
150
+ return 'codex';
151
+ }
152
+ }
133
153
  // Try Claude with API key (requires ANTHROPIC_API_KEY)
134
154
  const claudeProvider = this.providers.get('claude');
135
155
  if (claudeProvider) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../../src/server/services/agents/registry.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,18 @@ export function setupWebSocket(io) {
54
54
  ...data,
55
55
  });
56
56
  },
57
+ // Emit execution started
58
+ emitExecutionStarted(runId, data) {
59
+ io.to(`execution:${runId}`).emit('execution:started', {
60
+ runId,
61
+ ...data,
62
+ });
63
+ // Also broadcast to all clients for global execution history updates
64
+ io.emit('execution:new', {
65
+ runId,
66
+ ...data,
67
+ });
68
+ },
57
69
  // Emit execution step update
58
70
  emitExecutionStep(runId, data) {
59
71
  io.to(`execution:${runId}`).emit('execution:step', {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/websocket/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/websocket/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,20 +1,30 @@
1
1
  {
2
2
  "name": "@marktoflow/gui",
3
- "version": "2.0.0-alpha.1",
4
- "description": "Visual workflow designer for marktoflow - n8n-inspired web UI",
3
+ "version": "2.0.0-alpha.13",
4
+ "description": "Visual workflow designer for marktoflow - web UI",
5
5
  "type": "module",
6
6
  "main": "./dist/server/index.js",
7
7
  "types": "./dist/server/index.d.ts",
8
8
  "bin": {
9
9
  "marktoflow-gui": "./dist/server/index.js"
10
10
  },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/marktoflow/marktoflow.git",
14
+ "directory": "packages/gui"
15
+ },
16
+ "homepage": "https://github.com/marktoflow/marktoflow#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/marktoflow/marktoflow/issues"
19
+ },
11
20
  "scripts": {
12
21
  "dev": "concurrently \"pnpm:dev:*\"",
13
22
  "dev:client": "vite",
14
23
  "dev:server": "tsx watch src/server/index.ts",
15
- "build": "pnpm build:client && pnpm build:server",
24
+ "build": "pnpm build:client && pnpm build:server && pnpm build:flatten",
16
25
  "build:client": "vite build",
17
26
  "build:server": "tsc -p tsconfig.server.json",
27
+ "build:flatten": "node scripts/flatten-dist.js",
18
28
  "preview": "vite preview",
19
29
  "test": "vitest run",
20
30
  "test:watch": "vitest",
@@ -26,7 +36,7 @@
26
36
  "@anthropic-ai/claude-agent-sdk": ">=0.1.0",
27
37
  "@anthropic-ai/sdk": "^0.52.0",
28
38
  "@github/copilot-sdk": "^0.1.18",
29
- "@marktoflow/core": "workspace:*",
39
+ "@marktoflow/core": "2.0.0-alpha.12",
30
40
  "@monaco-editor/react": "^4.6.0",
31
41
  "@radix-ui/react-context-menu": "^2.2.2",
32
42
  "@radix-ui/react-dialog": "^1.1.2",
@@ -34,7 +44,10 @@
34
44
  "@radix-ui/react-popover": "^1.1.2",
35
45
  "@radix-ui/react-tabs": "^1.1.1",
36
46
  "@radix-ui/react-tooltip": "^1.1.3",
47
+ "@types/adm-zip": "^0.5.7",
48
+ "@types/multer": "^2.0.0",
37
49
  "@xyflow/react": "^12.3.6",
50
+ "adm-zip": "^0.5.16",
38
51
  "chokidar": "^4.0.3",
39
52
  "class-variance-authority": "^0.7.1",
40
53
  "clsx": "^2.1.1",
@@ -42,8 +55,7 @@
42
55
  "dagre": "^0.8.5",
43
56
  "express": "^4.21.2",
44
57
  "lucide-react": "^0.468.0",
45
- "react": "^18.3.1",
46
- "react-dom": "^18.3.1",
58
+ "multer": "^2.0.2",
47
59
  "react-markdown": "^9.0.1",
48
60
  "rehype-highlight": "^7.0.1",
49
61
  "remark-gfm": "^4.0.0",
@@ -92,5 +104,5 @@
92
104
  "automation"
93
105
  ],
94
106
  "author": "Scott Gilroy",
95
- "license": "MIT"
107
+ "license": "Apache-2.0"
96
108
  }
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Post-build script to flatten the dist structure
5
+ *
6
+ * Before:
7
+ * dist/
8
+ * client/ (from vite build)
9
+ * server/
10
+ * server/ (from tsc)
11
+ * shared/ (from tsc)
12
+ *
13
+ * After:
14
+ * dist/
15
+ * client/ (unchanged)
16
+ * server/ (flattened - was server/server/)
17
+ * shared/ (moved from server/shared/)
18
+ */
19
+
20
+ import { existsSync, cpSync, rmSync, readdirSync, statSync } from 'fs';
21
+ import { join, dirname } from 'path';
22
+ import { fileURLToPath } from 'url';
23
+
24
+ const __filename = fileURLToPath(import.meta.url);
25
+ const __dirname = dirname(__filename);
26
+ const packageRoot = join(__dirname, '..');
27
+ const distDir = join(packageRoot, 'dist');
28
+
29
+ console.log('🔧 Flattening dist structure...');
30
+
31
+ // Check if dist exists
32
+ if (!existsSync(distDir)) {
33
+ console.error('❌ dist directory not found');
34
+ process.exit(1);
35
+ }
36
+
37
+ // 1. Move dist/server/server/* to dist/server-temp/
38
+ const serverServerDir = join(distDir, 'server', 'server');
39
+ const serverTempDir = join(distDir, 'server-temp');
40
+
41
+ if (existsSync(serverServerDir)) {
42
+ console.log(' 📦 Moving server/server/* to temp location...');
43
+ cpSync(serverServerDir, serverTempDir, { recursive: true });
44
+ }
45
+
46
+ // 2. Move dist/server/shared/* to dist/shared/
47
+ const serverSharedDir = join(distDir, 'server', 'shared');
48
+ const sharedDir = join(distDir, 'shared');
49
+
50
+ if (existsSync(serverSharedDir)) {
51
+ console.log(' 📦 Moving server/shared/* to dist/shared/...');
52
+ cpSync(serverSharedDir, sharedDir, { recursive: true });
53
+ }
54
+
55
+ // 3. Remove old dist/server directory
56
+ console.log(' 🗑️ Removing old server directory...');
57
+ rmSync(join(distDir, 'server'), { recursive: true, force: true });
58
+
59
+ // 4. Move temp back to dist/server
60
+ console.log(' 📦 Moving temp back to dist/server/...');
61
+ cpSync(serverTempDir, join(distDir, 'server'), { recursive: true });
62
+ rmSync(serverTempDir, { recursive: true, force: true });
63
+
64
+ console.log('✅ Dist structure flattened successfully!');
65
+ console.log('\nFinal structure:');
66
+ console.log(' dist/');
67
+ console.log(' client/ - React app');
68
+ console.log(' server/ - Server code (flat)');
69
+ console.log(' shared/ - Shared code');
@@ -1,26 +0,0 @@
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
-
@@ -1,22 +0,0 @@
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
-