@flowdrop/flowdrop 1.4.0 → 1.6.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.
Files changed (441) hide show
  1. package/README.md +94 -51
  2. package/dist/adapters/WorkflowAdapter.d.ts +1 -1
  3. package/dist/adapters/WorkflowAdapter.js +27 -47
  4. package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
  5. package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
  6. package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
  7. package/dist/adapters/agentspec/agentAdapter.js +10 -10
  8. package/dist/adapters/agentspec/autoLayout.d.ts +52 -6
  9. package/dist/adapters/agentspec/autoLayout.js +118 -23
  10. package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
  11. package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
  12. package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
  13. package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
  14. package/dist/adapters/agentspec/index.d.ts +10 -10
  15. package/dist/adapters/agentspec/index.js +6 -6
  16. package/dist/adapters/agentspec/validator.d.ts +2 -2
  17. package/dist/adapters/agentspec/validator.js +20 -22
  18. package/dist/api/enhanced-client.d.ts +3 -3
  19. package/dist/api/enhanced-client.js +72 -73
  20. package/dist/chat/commandClassifier.d.ts +19 -0
  21. package/dist/chat/commandClassifier.js +30 -0
  22. package/dist/chat/index.d.ts +27 -0
  23. package/dist/chat/index.js +32 -0
  24. package/dist/chat/responseParser.d.ts +21 -0
  25. package/dist/chat/responseParser.js +91 -0
  26. package/dist/commands/batch.d.ts +18 -0
  27. package/dist/commands/batch.js +54 -0
  28. package/dist/commands/executor.d.ts +37 -0
  29. package/dist/commands/executor.js +1133 -0
  30. package/dist/commands/index.d.ts +14 -0
  31. package/dist/commands/index.js +17 -0
  32. package/dist/commands/parser.d.ts +16 -0
  33. package/dist/commands/parser.js +295 -0
  34. package/dist/commands/positioner.d.ts +19 -0
  35. package/dist/commands/positioner.js +33 -0
  36. package/dist/commands/storeIntegration.svelte.d.ts +16 -0
  37. package/dist/commands/storeIntegration.svelte.js +67 -0
  38. package/dist/commands/types.d.ts +343 -0
  39. package/dist/commands/types.js +45 -0
  40. package/dist/components/App.svelte +522 -237
  41. package/dist/components/App.svelte.d.ts +11 -8
  42. package/dist/components/CanvasBanner.stories.svelte +10 -16
  43. package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
  44. package/dist/components/CanvasBanner.svelte +2 -2
  45. package/dist/components/CanvasBanner.svelte.d.ts +1 -1
  46. package/dist/components/CanvasController.svelte +37 -0
  47. package/dist/components/CanvasController.svelte.d.ts +32 -0
  48. package/dist/components/ConfigForm.svelte +118 -256
  49. package/dist/components/ConfigForm.svelte.d.ts +2 -2
  50. package/dist/components/ConfigMappingRow.svelte +128 -0
  51. package/dist/components/ConfigMappingRow.svelte.d.ts +8 -0
  52. package/dist/components/ConfigModal.svelte +3 -3
  53. package/dist/components/ConfigModal.svelte.d.ts +1 -1
  54. package/dist/components/ConfigPanel.stories.svelte +19 -19
  55. package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
  56. package/dist/components/ConfigPanel.svelte +57 -19
  57. package/dist/components/ConfigPanel.svelte.d.ts +3 -1
  58. package/dist/components/ConnectionLine.svelte +4 -4
  59. package/dist/components/EdgeRefresher.svelte +1 -1
  60. package/dist/components/FlowDropEdge.stories.svelte +110 -110
  61. package/dist/components/FlowDropEdge.svelte +11 -19
  62. package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
  63. package/dist/components/FlowDropZone.svelte +6 -9
  64. package/dist/components/FlowDropZone.svelte.d.ts +1 -1
  65. package/dist/components/LoadingSpinner.stories.svelte +13 -13
  66. package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
  67. package/dist/components/LoadingSpinner.svelte +3 -3
  68. package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
  69. package/dist/components/Logo.stories.svelte +4 -4
  70. package/dist/components/Logo.stories.svelte.d.ts +1 -1
  71. package/dist/components/Logo.svelte +3 -9
  72. package/dist/components/LogsSidebar.svelte +46 -53
  73. package/dist/components/LogsSidebar.svelte.d.ts +1 -1
  74. package/dist/components/MarkdownDisplay.stories.svelte +10 -14
  75. package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
  76. package/dist/components/MarkdownDisplay.svelte +4 -6
  77. package/dist/components/Navbar.stories.svelte +19 -19
  78. package/dist/components/Navbar.stories.svelte.d.ts +1 -1
  79. package/dist/components/Navbar.svelte +28 -49
  80. package/dist/components/Navbar.svelte.d.ts +2 -2
  81. package/dist/components/NodeSidebar.svelte +55 -135
  82. package/dist/components/NodeSidebar.svelte.d.ts +1 -1
  83. package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
  84. package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
  85. package/dist/components/NodeStatusOverlay.svelte +40 -55
  86. package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
  87. package/dist/components/NodeSwapPicker.svelte +493 -0
  88. package/dist/components/NodeSwapPicker.svelte.d.ts +16 -0
  89. package/dist/components/PipelineStatus.svelte +63 -89
  90. package/dist/components/PipelineStatus.svelte.d.ts +4 -4
  91. package/dist/components/PortCoordinateTracker.svelte +5 -7
  92. package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
  93. package/dist/components/PortMappingRow.svelte +205 -0
  94. package/dist/components/PortMappingRow.svelte.d.ts +12 -0
  95. package/dist/components/ReadOnlyDetails.svelte +1 -1
  96. package/dist/components/SchemaForm.stories.svelte +53 -53
  97. package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
  98. package/dist/components/SchemaForm.svelte +24 -51
  99. package/dist/components/SchemaForm.svelte.d.ts +2 -2
  100. package/dist/components/SettingsModal.svelte +6 -9
  101. package/dist/components/SettingsModal.svelte.d.ts +1 -1
  102. package/dist/components/SettingsPanel.svelte +138 -158
  103. package/dist/components/SettingsPanel.svelte.d.ts +1 -1
  104. package/dist/components/StatusIcon.stories.svelte +16 -29
  105. package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
  106. package/dist/components/StatusIcon.svelte +19 -19
  107. package/dist/components/StatusIcon.svelte.d.ts +2 -2
  108. package/dist/components/StatusLabel.stories.svelte +8 -8
  109. package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
  110. package/dist/components/SwapMappingEditor.svelte +529 -0
  111. package/dist/components/SwapMappingEditor.svelte.d.ts +12 -0
  112. package/dist/components/ThemeToggle.stories.svelte +10 -10
  113. package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
  114. package/dist/components/ThemeToggle.svelte +22 -33
  115. package/dist/components/ThemeToggle.svelte.d.ts +1 -1
  116. package/dist/components/UniversalNode.svelte +29 -41
  117. package/dist/components/UniversalNode.svelte.d.ts +3 -3
  118. package/dist/components/WorkflowEditor.svelte +210 -170
  119. package/dist/components/WorkflowEditor.svelte.d.ts +12 -4
  120. package/dist/components/chat/AIChatPanel.svelte +797 -0
  121. package/dist/components/chat/AIChatPanel.svelte.d.ts +13 -0
  122. package/dist/components/chat/CommandPreview.svelte +234 -0
  123. package/dist/components/chat/CommandPreview.svelte.d.ts +9 -0
  124. package/dist/components/console/CommandConsole.stories.svelte +111 -0
  125. package/dist/components/console/CommandConsole.stories.svelte.d.ts +27 -0
  126. package/dist/components/console/CommandConsole.svelte +263 -0
  127. package/dist/components/console/CommandConsole.svelte.d.ts +11 -0
  128. package/dist/components/console/ConsoleAutocomplete.svelte +142 -0
  129. package/dist/components/console/ConsoleAutocomplete.svelte.d.ts +21 -0
  130. package/dist/components/console/ConsoleInput.svelte +771 -0
  131. package/dist/components/console/ConsoleInput.svelte.d.ts +16 -0
  132. package/dist/components/console/ConsoleOutput.svelte +116 -0
  133. package/dist/components/console/ConsoleOutput.svelte.d.ts +11 -0
  134. package/dist/components/console/formatters.d.ts +26 -0
  135. package/dist/components/console/formatters.js +116 -0
  136. package/dist/components/form/FormArray.svelte +75 -132
  137. package/dist/components/form/FormArray.svelte.d.ts +1 -1
  138. package/dist/components/form/FormAutocomplete.svelte +65 -108
  139. package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
  140. package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
  141. package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
  142. package/dist/components/form/FormCheckboxGroup.svelte +2 -2
  143. package/dist/components/form/FormCodeEditor.svelte +42 -56
  144. package/dist/components/form/FormField.svelte +79 -90
  145. package/dist/components/form/FormField.svelte.d.ts +2 -2
  146. package/dist/components/form/FormFieldLight.svelte +72 -88
  147. package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
  148. package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
  149. package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
  150. package/dist/components/form/FormFieldWrapper.svelte +2 -9
  151. package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
  152. package/dist/components/form/FormFieldset.svelte +3 -3
  153. package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
  154. package/dist/components/form/FormMarkdownEditor.svelte +123 -156
  155. package/dist/components/form/FormNumberField.stories.svelte +18 -18
  156. package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
  157. package/dist/components/form/FormNumberField.svelte +6 -6
  158. package/dist/components/form/FormRangeField.stories.svelte +13 -13
  159. package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
  160. package/dist/components/form/FormRangeField.svelte +4 -12
  161. package/dist/components/form/FormSelect.stories.svelte +21 -21
  162. package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
  163. package/dist/components/form/FormSelect.svelte +5 -5
  164. package/dist/components/form/FormSelect.svelte.d.ts +1 -1
  165. package/dist/components/form/FormTemplateEditor.svelte +126 -175
  166. package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
  167. package/dist/components/form/FormTextField.stories.svelte +17 -23
  168. package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
  169. package/dist/components/form/FormTextField.svelte +4 -4
  170. package/dist/components/form/FormTextarea.stories.svelte +18 -21
  171. package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
  172. package/dist/components/form/FormTextarea.svelte +4 -4
  173. package/dist/components/form/FormToggle.stories.svelte +13 -16
  174. package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
  175. package/dist/components/form/FormToggle.svelte +3 -3
  176. package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
  177. package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
  178. package/dist/components/form/index.d.ts +19 -19
  179. package/dist/components/form/index.js +18 -18
  180. package/dist/components/form/templateAutocomplete.d.ts +2 -2
  181. package/dist/components/form/templateAutocomplete.js +55 -64
  182. package/dist/components/form/types.d.ts +6 -6
  183. package/dist/components/form/types.js +4 -9
  184. package/dist/components/icons/AlertCircleIcon.svelte +1 -6
  185. package/dist/components/icons/CogIcon.svelte +1 -6
  186. package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
  187. package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
  188. package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
  189. package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
  190. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
  191. package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
  192. package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
  193. package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
  194. package/dist/components/interrupt/FormPrompt.svelte +10 -15
  195. package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
  196. package/dist/components/interrupt/InterruptBubble.svelte +87 -121
  197. package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
  198. package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
  199. package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
  200. package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
  201. package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
  202. package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
  203. package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
  204. package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
  205. package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
  206. package/dist/components/interrupt/index.d.ts +6 -5
  207. package/dist/components/interrupt/index.js +6 -5
  208. package/dist/components/layouts/MainLayout.svelte +46 -84
  209. package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
  210. package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
  211. package/dist/components/nodes/GatewayNode.svelte +37 -70
  212. package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
  213. package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
  214. package/dist/components/nodes/IdeaNode.svelte +22 -36
  215. package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
  216. package/dist/components/nodes/NotesNode.stories.svelte +37 -38
  217. package/dist/components/nodes/NotesNode.svelte +28 -39
  218. package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
  219. package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
  220. package/dist/components/nodes/SimpleNode.svelte +44 -74
  221. package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
  222. package/dist/components/nodes/SquareNode.stories.svelte +75 -75
  223. package/dist/components/nodes/SquareNode.svelte +42 -68
  224. package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
  225. package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
  226. package/dist/components/nodes/TerminalNode.svelte +74 -112
  227. package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
  228. package/dist/components/nodes/ToolNode.stories.svelte +115 -116
  229. package/dist/components/nodes/ToolNode.svelte +31 -64
  230. package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
  231. package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
  232. package/dist/components/nodes/WorkflowNode.svelte +50 -103
  233. package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
  234. package/dist/components/playground/ChatPanel.svelte +47 -103
  235. package/dist/components/playground/ExecutionLogs.svelte +45 -68
  236. package/dist/components/playground/InputCollector.svelte +32 -51
  237. package/dist/components/playground/MessageBubble.stories.svelte +25 -25
  238. package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
  239. package/dist/components/playground/MessageBubble.svelte +54 -70
  240. package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
  241. package/dist/components/playground/Playground.svelte +60 -91
  242. package/dist/components/playground/Playground.svelte.d.ts +3 -3
  243. package/dist/components/playground/PlaygroundModal.svelte +8 -12
  244. package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
  245. package/dist/components/playground/SessionManager.svelte +34 -40
  246. package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
  247. package/dist/config/agentSpecEndpoints.d.ts +1 -1
  248. package/dist/config/agentSpecEndpoints.js +20 -20
  249. package/dist/config/constants.js +2 -2
  250. package/dist/config/defaultCategories.d.ts +1 -1
  251. package/dist/config/defaultCategories.js +86 -86
  252. package/dist/config/defaultPortConfig.d.ts +1 -1
  253. package/dist/config/defaultPortConfig.js +144 -144
  254. package/dist/config/endpoints.d.ts +12 -4
  255. package/dist/config/endpoints.js +70 -65
  256. package/dist/config/runtimeConfig.d.ts +2 -2
  257. package/dist/config/runtimeConfig.js +8 -8
  258. package/dist/core/index.d.ts +68 -63
  259. package/dist/core/index.js +44 -35
  260. package/dist/display/index.d.ts +2 -2
  261. package/dist/display/index.js +2 -2
  262. package/dist/editor/index.d.ts +64 -62
  263. package/dist/editor/index.js +57 -55
  264. package/dist/form/code.d.ts +5 -5
  265. package/dist/form/code.js +14 -14
  266. package/dist/form/fieldRegistry.d.ts +3 -3
  267. package/dist/form/fieldRegistry.js +9 -11
  268. package/dist/form/full.d.ts +8 -8
  269. package/dist/form/full.js +9 -9
  270. package/dist/form/index.d.ts +18 -18
  271. package/dist/form/index.js +16 -16
  272. package/dist/form/markdown.d.ts +4 -4
  273. package/dist/form/markdown.js +8 -8
  274. package/dist/helpers/proximityConnect.d.ts +3 -3
  275. package/dist/helpers/proximityConnect.js +40 -35
  276. package/dist/helpers/workflowEditorHelper.d.ts +8 -58
  277. package/dist/helpers/workflowEditorHelper.js +73 -292
  278. package/dist/index.d.ts +6 -6
  279. package/dist/index.js +6 -6
  280. package/dist/mocks/app-environment.js +2 -2
  281. package/dist/mocks/app-forms.js +1 -1
  282. package/dist/mocks/app-navigation.js +2 -2
  283. package/dist/mocks/app-stores.js +3 -3
  284. package/dist/playground/index.d.ts +19 -19
  285. package/dist/playground/index.js +16 -16
  286. package/dist/playground/mount.d.ts +3 -3
  287. package/dist/playground/mount.js +24 -24
  288. package/dist/registry/builtinFormats.js +13 -13
  289. package/dist/registry/builtinNodes.d.ts +2 -2
  290. package/dist/registry/builtinNodes.js +77 -77
  291. package/dist/registry/index.d.ts +4 -4
  292. package/dist/registry/index.js +4 -4
  293. package/dist/registry/nodeComponentRegistry.d.ts +8 -8
  294. package/dist/registry/nodeComponentRegistry.js +9 -11
  295. package/dist/registry/plugin.d.ts +2 -2
  296. package/dist/registry/plugin.js +11 -11
  297. package/dist/registry/workflowFormatRegistry.d.ts +3 -3
  298. package/dist/registry/workflowFormatRegistry.js +2 -2
  299. package/dist/schema/index.d.ts +1 -1
  300. package/dist/schema/index.js +2 -2
  301. package/dist/schemas/v1/workflow.schema.json +107 -22
  302. package/dist/services/agentSpecExecutionService.d.ts +3 -3
  303. package/dist/services/agentSpecExecutionService.js +55 -56
  304. package/dist/services/api.d.ts +2 -2
  305. package/dist/services/api.js +37 -37
  306. package/dist/services/apiVariableService.d.ts +1 -1
  307. package/dist/services/apiVariableService.js +34 -41
  308. package/dist/services/autoSaveService.js +8 -8
  309. package/dist/services/categoriesApi.d.ts +2 -2
  310. package/dist/services/categoriesApi.js +8 -8
  311. package/dist/services/chatService.d.ts +65 -0
  312. package/dist/services/chatService.js +131 -0
  313. package/dist/services/draftStorage.d.ts +1 -1
  314. package/dist/services/draftStorage.js +11 -11
  315. package/dist/services/dynamicSchemaService.d.ts +1 -1
  316. package/dist/services/dynamicSchemaService.js +39 -41
  317. package/dist/services/globalSave.d.ts +2 -2
  318. package/dist/services/globalSave.js +38 -41
  319. package/dist/services/historyService.d.ts +7 -5
  320. package/dist/services/historyService.js +29 -14
  321. package/dist/services/interruptService.d.ts +1 -1
  322. package/dist/services/interruptService.js +29 -35
  323. package/dist/services/nodeExecutionService.d.ts +1 -1
  324. package/dist/services/nodeExecutionService.js +44 -45
  325. package/dist/services/playgroundService.d.ts +1 -1
  326. package/dist/services/playgroundService.js +29 -29
  327. package/dist/services/portConfigApi.d.ts +2 -2
  328. package/dist/services/portConfigApi.js +8 -8
  329. package/dist/services/settingsService.d.ts +2 -2
  330. package/dist/services/settingsService.js +19 -25
  331. package/dist/services/toastService.d.ts +4 -4
  332. package/dist/services/toastService.js +33 -33
  333. package/dist/services/variableService.d.ts +1 -1
  334. package/dist/services/variableService.js +36 -36
  335. package/dist/services/workflowStorage.d.ts +2 -2
  336. package/dist/services/workflowStorage.js +13 -13
  337. package/dist/settings/index.d.ts +7 -7
  338. package/dist/settings/index.js +6 -6
  339. package/dist/skins/default.d.ts +1 -1
  340. package/dist/skins/default.js +1 -1
  341. package/dist/skins/index.d.ts +3 -3
  342. package/dist/skins/index.js +7 -7
  343. package/dist/skins/slate.d.ts +1 -1
  344. package/dist/skins/slate.js +69 -69
  345. package/dist/stores/categoriesStore.svelte.d.ts +1 -1
  346. package/dist/stores/categoriesStore.svelte.js +5 -5
  347. package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
  348. package/dist/stores/editorStateMachine.svelte.js +34 -34
  349. package/dist/stores/historyStore.svelte.d.ts +4 -4
  350. package/dist/stores/historyStore.svelte.js +4 -4
  351. package/dist/stores/interruptStore.svelte.d.ts +3 -3
  352. package/dist/stores/interruptStore.svelte.js +27 -22
  353. package/dist/stores/playgroundStore.svelte.d.ts +3 -3
  354. package/dist/stores/playgroundStore.svelte.js +29 -23
  355. package/dist/stores/portCoordinateStore.svelte.d.ts +6 -2
  356. package/dist/stores/portCoordinateStore.svelte.js +30 -39
  357. package/dist/stores/settingsStore.svelte.d.ts +2 -2
  358. package/dist/stores/settingsStore.svelte.js +57 -62
  359. package/dist/stores/workflowStore.svelte.d.ts +34 -5
  360. package/dist/stores/workflowStore.svelte.js +127 -108
  361. package/dist/stories/CanvasDecorator.svelte +7 -10
  362. package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
  363. package/dist/stories/EdgeDecorator.svelte +28 -31
  364. package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
  365. package/dist/stories/NodeDecorator.svelte +14 -20
  366. package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
  367. package/dist/stories/utils.d.ts +2 -2
  368. package/dist/stories/utils.js +89 -93
  369. package/dist/styles/base.css +16 -50
  370. package/dist/styles/tokens.css +10 -28
  371. package/dist/svelte-app.d.ts +10 -10
  372. package/dist/svelte-app.js +39 -39
  373. package/dist/themes/default.d.ts +1 -1
  374. package/dist/themes/default.js +4 -4
  375. package/dist/themes/index.d.ts +3 -3
  376. package/dist/themes/index.js +11 -11
  377. package/dist/themes/minimal.d.ts +1 -1
  378. package/dist/themes/minimal.js +5 -5
  379. package/dist/types/agentspec.d.ts +18 -18
  380. package/dist/types/agentspec.js +2 -2
  381. package/dist/types/auth.d.ts +1 -1
  382. package/dist/types/auth.js +6 -6
  383. package/dist/types/chat.d.ts +63 -0
  384. package/dist/types/chat.js +9 -0
  385. package/dist/types/config.d.ts +6 -6
  386. package/dist/types/events.d.ts +28 -2
  387. package/dist/types/events.js +2 -1
  388. package/dist/types/index.d.ts +40 -32
  389. package/dist/types/index.js +6 -6
  390. package/dist/types/interrupt.d.ts +6 -6
  391. package/dist/types/interrupt.js +21 -21
  392. package/dist/types/interruptState.d.ts +12 -12
  393. package/dist/types/interruptState.js +66 -66
  394. package/dist/types/playground.d.ts +7 -7
  395. package/dist/types/playground.js +14 -14
  396. package/dist/types/settings.d.ts +12 -4
  397. package/dist/types/settings.js +21 -23
  398. package/dist/types/skin.d.ts +1 -1
  399. package/dist/types/theme.d.ts +2 -2
  400. package/dist/types/uischema.d.ts +4 -4
  401. package/dist/types/uischema.js +3 -3
  402. package/dist/utils/colors.d.ts +1 -1
  403. package/dist/utils/colors.js +95 -97
  404. package/dist/utils/config.d.ts +2 -2
  405. package/dist/utils/config.js +48 -48
  406. package/dist/utils/connections.d.ts +2 -2
  407. package/dist/utils/connections.js +15 -15
  408. package/dist/utils/edgeStyling.d.ts +42 -0
  409. package/dist/utils/edgeStyling.js +173 -0
  410. package/dist/utils/errors.js +3 -3
  411. package/dist/utils/fetchWithAuth.d.ts +1 -1
  412. package/dist/utils/fetchWithAuth.js +2 -2
  413. package/dist/utils/handleIds.d.ts +2 -2
  414. package/dist/utils/handleIds.js +8 -8
  415. package/dist/utils/handlePositioning.d.ts +1 -1
  416. package/dist/utils/handlePositioning.js +2 -2
  417. package/dist/utils/icons.d.ts +1 -1
  418. package/dist/utils/icons.js +74 -74
  419. package/dist/utils/logger.d.ts +1 -1
  420. package/dist/utils/logger.js +7 -7
  421. package/dist/utils/nodeIds.d.ts +31 -0
  422. package/dist/utils/nodeIds.js +42 -0
  423. package/dist/utils/nodeStatus.d.ts +1 -1
  424. package/dist/utils/nodeStatus.js +48 -48
  425. package/dist/utils/nodeSwap.d.ts +221 -0
  426. package/dist/utils/nodeSwap.js +680 -0
  427. package/dist/utils/nodeTypes.d.ts +1 -1
  428. package/dist/utils/nodeTypes.js +20 -21
  429. package/dist/utils/nodeWrapper.d.ts +7 -7
  430. package/dist/utils/nodeWrapper.js +19 -21
  431. package/dist/utils/performanceUtils.d.ts +1 -1
  432. package/dist/utils/performanceUtils.js +1 -2
  433. package/dist/utils/portUtils.d.ts +2 -2
  434. package/dist/utils/portUtils.js +1 -1
  435. package/dist/utils/sanitize.js +1 -1
  436. package/dist/utils/uischema.d.ts +2 -2
  437. package/dist/utils/uischema.js +8 -8
  438. package/dist/utils/validation.js +8 -8
  439. package/package.json +12 -11
  440. package/dist/helpers/nodeLayoutHelper.d.ts +0 -14
  441. package/dist/helpers/nodeLayoutHelper.js +0 -19
@@ -3,199 +3,199 @@
3
3
  * Provides backward compatibility and serves as an example configuration
4
4
  */
5
5
  export const DEFAULT_PORT_CONFIG = {
6
- version: "1.0.0",
7
- defaultDataType: "string",
6
+ version: '1.0.0',
7
+ defaultDataType: 'string',
8
8
  dataTypes: [
9
9
  // Control flow types
10
10
  {
11
- id: "trigger",
12
- name: "Trigger",
13
- description: "Control flow of the workflow",
14
- color: "var(--fd-node-purple)",
15
- category: "basic",
16
- enabled: true,
11
+ id: 'trigger',
12
+ name: 'Trigger',
13
+ description: 'Control flow of the workflow',
14
+ color: 'var(--fd-node-purple)',
15
+ category: 'basic',
16
+ enabled: true
17
17
  },
18
18
  // Text and basic types
19
19
  {
20
- id: "string",
21
- name: "String",
22
- description: "Text data",
23
- color: "var(--fd-node-emerald)",
24
- category: "basic",
25
- enabled: true,
20
+ id: 'string',
21
+ name: 'String',
22
+ description: 'Text data',
23
+ color: 'var(--fd-node-emerald)',
24
+ category: 'basic',
25
+ enabled: true
26
26
  },
27
27
  // Numeric types
28
28
  {
29
- id: "number",
30
- name: "Number",
31
- description: "Numeric data",
32
- color: "var(--fd-node-blue)",
33
- category: "numeric",
34
- enabled: true,
29
+ id: 'number',
30
+ name: 'Number',
31
+ description: 'Numeric data',
32
+ color: 'var(--fd-node-blue)',
33
+ category: 'numeric',
34
+ enabled: true
35
35
  },
36
36
  // Boolean types
37
37
  {
38
- id: "boolean",
39
- name: "Boolean",
40
- description: "True/false values",
41
- color: "var(--fd-node-purple)",
42
- category: "logical",
43
- enabled: true,
38
+ id: 'boolean',
39
+ name: 'Boolean',
40
+ description: 'True/false values',
41
+ color: 'var(--fd-node-purple)',
42
+ category: 'logical',
43
+ enabled: true
44
44
  },
45
45
  // Collection types
46
46
  {
47
- id: "array",
48
- name: "Array",
49
- description: "Ordered list of items",
50
- color: "var(--fd-node-amber)",
51
- category: "collection",
52
- enabled: true,
47
+ id: 'array',
48
+ name: 'Array',
49
+ description: 'Ordered list of items',
50
+ color: 'var(--fd-node-amber)',
51
+ category: 'collection',
52
+ enabled: true
53
53
  },
54
54
  // Typed arrays
55
55
  {
56
- id: "string[]",
57
- name: "String Array",
58
- description: "Array of strings",
59
- color: "var(--fd-node-emerald)",
60
- category: "collection",
61
- enabled: true,
56
+ id: 'string[]',
57
+ name: 'String Array',
58
+ description: 'Array of strings',
59
+ color: 'var(--fd-node-emerald)',
60
+ category: 'collection',
61
+ enabled: true
62
62
  },
63
63
  {
64
- id: "number[]",
65
- name: "Number Array",
66
- description: "Array of numbers",
67
- color: "var(--fd-node-blue)",
68
- category: "collection",
69
- enabled: true,
64
+ id: 'number[]',
65
+ name: 'Number Array',
66
+ description: 'Array of numbers',
67
+ color: 'var(--fd-node-blue)',
68
+ category: 'collection',
69
+ enabled: true
70
70
  },
71
71
  {
72
- id: "boolean[]",
73
- name: "Boolean Array",
74
- description: "Array of true/false values",
75
- color: "var(--fd-node-purple)",
76
- category: "collection",
77
- enabled: true,
72
+ id: 'boolean[]',
73
+ name: 'Boolean Array',
74
+ description: 'Array of true/false values',
75
+ color: 'var(--fd-node-purple)',
76
+ category: 'collection',
77
+ enabled: true
78
78
  },
79
79
  {
80
- id: "json[]",
81
- name: "JSON Array",
82
- description: "Array of JSON objects",
83
- color: "var(--fd-node-orange)",
84
- category: "collection",
85
- enabled: true,
80
+ id: 'json[]',
81
+ name: 'JSON Array',
82
+ description: 'Array of JSON objects',
83
+ color: 'var(--fd-node-orange)',
84
+ category: 'collection',
85
+ enabled: true
86
86
  },
87
87
  {
88
- id: "file[]",
89
- name: "File Array",
90
- description: "Array of files",
91
- color: "var(--fd-node-red)",
92
- category: "collection",
93
- enabled: true,
88
+ id: 'file[]',
89
+ name: 'File Array',
90
+ description: 'Array of files',
91
+ color: 'var(--fd-node-red)',
92
+ category: 'collection',
93
+ enabled: true
94
94
  },
95
95
  {
96
- id: "image[]",
97
- name: "Image Array",
98
- description: "Array of images",
99
- color: "var(--fd-node-pink)",
100
- category: "collection",
101
- enabled: true,
96
+ id: 'image[]',
97
+ name: 'Image Array',
98
+ description: 'Array of images',
99
+ color: 'var(--fd-node-pink)',
100
+ category: 'collection',
101
+ enabled: true
102
102
  },
103
103
  // Complex types
104
104
  {
105
- id: "json",
106
- name: "JSON",
107
- description: "JSON structured data",
108
- color: "var(--fd-node-orange)",
109
- category: "complex",
110
- enabled: true,
105
+ id: 'json',
106
+ name: 'JSON',
107
+ description: 'JSON structured data',
108
+ color: 'var(--fd-node-orange)',
109
+ category: 'complex',
110
+ enabled: true
111
111
  },
112
112
  // File types
113
113
  {
114
- id: "file",
115
- name: "File",
116
- description: "File data",
117
- color: "var(--fd-node-red)",
118
- category: "file",
119
- enabled: true,
114
+ id: 'file',
115
+ name: 'File',
116
+ description: 'File data',
117
+ color: 'var(--fd-node-red)',
118
+ category: 'file',
119
+ enabled: true
120
120
  },
121
121
  // Media types
122
122
  {
123
- id: "image",
124
- name: "Image",
125
- description: "Image data",
126
- color: "var(--fd-node-pink)",
127
- category: "media",
128
- enabled: true,
123
+ id: 'image',
124
+ name: 'Image',
125
+ description: 'Image data',
126
+ color: 'var(--fd-node-pink)',
127
+ category: 'media',
128
+ enabled: true
129
129
  },
130
130
  {
131
- id: "audio",
132
- name: "Audio",
133
- description: "Audio data",
134
- color: "var(--fd-node-indigo)",
135
- category: "media",
136
- enabled: true,
131
+ id: 'audio',
132
+ name: 'Audio',
133
+ description: 'Audio data',
134
+ color: 'var(--fd-node-indigo)',
135
+ category: 'media',
136
+ enabled: true
137
137
  },
138
138
  {
139
- id: "video",
140
- name: "Video",
141
- description: "Video data",
142
- color: "var(--fd-node-teal)",
143
- category: "media",
144
- enabled: true,
139
+ id: 'video',
140
+ name: 'Video',
141
+ description: 'Video data',
142
+ color: 'var(--fd-node-teal)',
143
+ category: 'media',
144
+ enabled: true
145
145
  },
146
146
  // Tool type
147
147
  {
148
- id: "tool",
149
- name: "Tool",
150
- description: "Tool interface for agent connections",
151
- color: "var(--fd-node-amber)",
152
- category: "special",
153
- enabled: true,
148
+ id: 'tool',
149
+ name: 'Tool',
150
+ description: 'Tool interface for agent connections',
151
+ color: 'var(--fd-node-amber)',
152
+ category: 'special',
153
+ enabled: true
154
154
  },
155
155
  // Special types
156
156
  {
157
- id: "url",
158
- name: "URL",
159
- description: "Web address",
160
- color: "var(--fd-node-cyan)",
161
- category: "special",
162
- enabled: true,
163
- },
164
- {
165
- id: "email",
166
- name: "Email",
167
- description: "Email address",
168
- color: "var(--fd-node-cyan)",
169
- category: "special",
170
- enabled: true,
171
- },
172
- {
173
- id: "date",
174
- name: "Date",
175
- description: "Date value",
176
- color: "var(--fd-node-lime)",
177
- category: "temporal",
178
- enabled: true,
179
- },
180
- {
181
- id: "datetime",
182
- name: "DateTime",
183
- description: "Date and time value",
184
- color: "var(--fd-node-lime)",
185
- category: "temporal",
186
- enabled: true,
187
- },
188
- {
189
- id: "time",
190
- name: "Time",
191
- description: "Time value",
192
- color: "var(--fd-node-lime)",
193
- category: "temporal",
194
- enabled: true,
195
- },
157
+ id: 'url',
158
+ name: 'URL',
159
+ description: 'Web address',
160
+ color: 'var(--fd-node-cyan)',
161
+ category: 'special',
162
+ enabled: true
163
+ },
164
+ {
165
+ id: 'email',
166
+ name: 'Email',
167
+ description: 'Email address',
168
+ color: 'var(--fd-node-cyan)',
169
+ category: 'special',
170
+ enabled: true
171
+ },
172
+ {
173
+ id: 'date',
174
+ name: 'Date',
175
+ description: 'Date value',
176
+ color: 'var(--fd-node-lime)',
177
+ category: 'temporal',
178
+ enabled: true
179
+ },
180
+ {
181
+ id: 'datetime',
182
+ name: 'DateTime',
183
+ description: 'Date and time value',
184
+ color: 'var(--fd-node-lime)',
185
+ category: 'temporal',
186
+ enabled: true
187
+ },
188
+ {
189
+ id: 'time',
190
+ name: 'Time',
191
+ description: 'Time value',
192
+ color: 'var(--fd-node-lime)',
193
+ category: 'temporal',
194
+ enabled: true
195
+ }
196
196
  ],
197
197
  compatibilityRules: [
198
198
  // Pure same-type compatibility: string connects to string, number to number, etc.
199
199
  // No additional rules needed - the system handles same-type connections automatically
200
- ],
200
+ ]
201
201
  };
@@ -2,7 +2,7 @@
2
2
  * FlowDrop Endpoint Configuration
3
3
  * Provides configurable endpoints for all API actions
4
4
  */
5
- import type { AgentSpecEndpointConfig } from "./agentSpecEndpoints.js";
5
+ import type { AgentSpecEndpointConfig } from './agentSpecEndpoints.js';
6
6
  export interface EndpointConfig {
7
7
  /** Base URL for all endpoints */
8
8
  baseUrl: string;
@@ -72,6 +72,14 @@ export interface EndpointConfig {
72
72
  /** List interrupts for a pipeline */
73
73
  listByPipeline: string;
74
74
  };
75
+ chat: {
76
+ /** Send a message to the chat */
77
+ sendMessage: string;
78
+ /** Get conversation history */
79
+ getHistory: string;
80
+ /** Clear conversation history */
81
+ clearHistory: string;
82
+ };
75
83
  templates: {
76
84
  list: string;
77
85
  get: string;
@@ -96,7 +104,7 @@ export interface EndpointConfig {
96
104
  agentSpec?: AgentSpecEndpointConfig;
97
105
  /** HTTP method overrides for specific endpoints */
98
106
  methods?: {
99
- [key: string]: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
107
+ [key: string]: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
100
108
  };
101
109
  /** Custom headers for specific endpoints */
102
110
  headers?: {
@@ -104,7 +112,7 @@ export interface EndpointConfig {
104
112
  };
105
113
  /** Authentication configuration */
106
114
  auth?: {
107
- type: "none" | "bearer" | "api_key" | "custom";
115
+ type: 'none' | 'bearer' | 'api_key' | 'custom';
108
116
  token?: string;
109
117
  apiKey?: string;
110
118
  headers?: Record<string, string>;
@@ -116,7 +124,7 @@ export interface EndpointConfig {
116
124
  enabled: boolean;
117
125
  maxAttempts: number;
118
126
  delay: number;
119
- backoff?: "linear" | "exponential";
127
+ backoff?: 'linear' | 'exponential';
120
128
  };
121
129
  /**
122
130
  * Optional transform applied to workflow objects before they are sent to the backend
@@ -6,85 +6,90 @@
6
6
  * Default endpoint configuration
7
7
  */
8
8
  export const defaultEndpointConfig = {
9
- baseUrl: "/api/flowdrop",
9
+ baseUrl: '/api/flowdrop',
10
10
  endpoints: {
11
11
  nodes: {
12
- list: "/nodes",
13
- get: "/nodes/{id}",
14
- byCategory: "/nodes?category={category}",
15
- metadata: "/nodes/{id}/metadata",
12
+ list: '/nodes',
13
+ get: '/nodes/{id}',
14
+ byCategory: '/nodes?category={category}',
15
+ metadata: '/nodes/{id}/metadata'
16
16
  },
17
- portConfig: "/port-config",
18
- categories: "/categories",
17
+ portConfig: '/port-config',
18
+ categories: '/categories',
19
19
  workflows: {
20
- list: "/workflows",
21
- get: "/workflows/{id}",
22
- create: "/workflows",
23
- update: "/workflows/{id}",
24
- delete: "/workflows/{id}",
25
- validate: "/workflows/validate",
26
- export: "/workflows/{id}/export",
27
- import: "/workflows/import",
20
+ list: '/workflows',
21
+ get: '/workflows/{id}',
22
+ create: '/workflows',
23
+ update: '/workflows/{id}',
24
+ delete: '/workflows/{id}',
25
+ validate: '/workflows/validate',
26
+ export: '/workflows/{id}/export',
27
+ import: '/workflows/import'
28
28
  },
29
29
  executions: {
30
- execute: "/workflows/{id}/execute",
31
- status: "/executions/{id}",
32
- cancel: "/executions/{id}/cancel",
33
- logs: "/executions/{id}/logs",
34
- history: "/executions",
30
+ execute: '/workflows/{id}/execute',
31
+ status: '/executions/{id}',
32
+ cancel: '/executions/{id}/cancel',
33
+ logs: '/executions/{id}/logs',
34
+ history: '/executions'
35
35
  },
36
36
  pipelines: {
37
- list: "/workflow/{workflow_id}/pipelines",
38
- get: "/pipeline/{id}",
39
- create: "/pipeline",
40
- update: "/pipeline/{id}",
41
- delete: "/pipeline/{id}",
42
- status: "/pipeline/{id}/status",
43
- logs: "/pipeline/{id}/logs",
44
- execute: "/pipeline/{id}/execute",
45
- stop: "/pipeline/{id}/stop",
37
+ list: '/workflow/{workflow_id}/pipelines',
38
+ get: '/pipeline/{id}',
39
+ create: '/pipeline',
40
+ update: '/pipeline/{id}',
41
+ delete: '/pipeline/{id}',
42
+ status: '/pipeline/{id}/status',
43
+ logs: '/pipeline/{id}/logs',
44
+ execute: '/pipeline/{id}/execute',
45
+ stop: '/pipeline/{id}/stop'
46
46
  },
47
47
  playground: {
48
- listSessions: "/workflows/{id}/playground/sessions",
49
- createSession: "/workflows/{id}/playground/sessions",
50
- getSession: "/playground/sessions/{sessionId}",
51
- deleteSession: "/playground/sessions/{sessionId}",
52
- getMessages: "/playground/sessions/{sessionId}/messages",
53
- sendMessage: "/playground/sessions/{sessionId}/messages",
54
- stopExecution: "/playground/sessions/{sessionId}/stop",
48
+ listSessions: '/workflows/{id}/playground/sessions',
49
+ createSession: '/workflows/{id}/playground/sessions',
50
+ getSession: '/playground/sessions/{sessionId}',
51
+ deleteSession: '/playground/sessions/{sessionId}',
52
+ getMessages: '/playground/sessions/{sessionId}/messages',
53
+ sendMessage: '/playground/sessions/{sessionId}/messages',
54
+ stopExecution: '/playground/sessions/{sessionId}/stop'
55
55
  },
56
56
  interrupts: {
57
- get: "/interrupts/{interruptId}",
58
- resolve: "/interrupts/{interruptId}",
59
- cancel: "/interrupts/{interruptId}/cancel",
60
- listBySession: "/playground/sessions/{sessionId}/interrupts",
61
- listByPipeline: "/pipelines/{pipelineId}/interrupts",
57
+ get: '/interrupts/{interruptId}',
58
+ resolve: '/interrupts/{interruptId}',
59
+ cancel: '/interrupts/{interruptId}/cancel',
60
+ listBySession: '/playground/sessions/{sessionId}/interrupts',
61
+ listByPipeline: '/pipelines/{pipelineId}/interrupts'
62
+ },
63
+ chat: {
64
+ sendMessage: '/workflows/{id}/chat/messages',
65
+ getHistory: '/workflows/{id}/chat/messages',
66
+ clearHistory: '/workflows/{id}/chat/messages'
62
67
  },
63
68
  templates: {
64
- list: "/templates",
65
- get: "/templates/{id}",
66
- create: "/templates",
67
- update: "/templates/{id}",
68
- delete: "/templates/{id}",
69
+ list: '/templates',
70
+ get: '/templates/{id}',
71
+ create: '/templates',
72
+ update: '/templates/{id}',
73
+ delete: '/templates/{id}'
69
74
  },
70
75
  users: {
71
- profile: "/users/profile",
72
- preferences: "/users/preferences",
76
+ profile: '/users/profile',
77
+ preferences: '/users/preferences'
73
78
  },
74
79
  system: {
75
80
  /** Health check at root level (industry standard for K8s, Docker, load balancers) */
76
- health: "/health",
77
- config: "/system/config",
78
- version: "/system/version",
79
- },
81
+ health: '/health',
82
+ config: '/system/config',
83
+ version: '/system/version'
84
+ }
80
85
  },
81
86
  timeout: 30000,
82
87
  retry: {
83
88
  enabled: true,
84
89
  maxAttempts: 3,
85
90
  delay: 1000,
86
- backoff: "exponential",
87
- },
91
+ backoff: 'exponential'
92
+ }
88
93
  };
89
94
  /**
90
95
  * Create endpoint configuration with custom base URL
@@ -92,8 +97,8 @@ export const defaultEndpointConfig = {
92
97
  export function createEndpointConfig(baseUrl, overrides) {
93
98
  const config = {
94
99
  ...defaultEndpointConfig,
95
- baseUrl: baseUrl.replace(/\/$/, ""),
96
- ...overrides,
100
+ baseUrl: baseUrl.replace(/\/$/, ''),
101
+ ...overrides
97
102
  };
98
103
  return config;
99
104
  }
@@ -109,8 +114,8 @@ export function buildEndpointUrl(config, endpointPath, params) {
109
114
  });
110
115
  }
111
116
  // Ensure URL starts with base URL
112
- if (!url.startsWith("http") && !url.startsWith("//")) {
113
- url = `${config.baseUrl}${url.startsWith("/") ? url : `/${url}`}`;
117
+ if (!url.startsWith('http') && !url.startsWith('//')) {
118
+ url = `${config.baseUrl}${url.startsWith('/') ? url : `/${url}`}`;
114
119
  }
115
120
  return url;
116
121
  }
@@ -118,23 +123,23 @@ export function buildEndpointUrl(config, endpointPath, params) {
118
123
  * Get HTTP method for an endpoint
119
124
  */
120
125
  export function getEndpointMethod(config, endpointKey) {
121
- return config.methods?.[endpointKey] || "GET";
126
+ return config.methods?.[endpointKey] || 'GET';
122
127
  }
123
128
  /**
124
129
  * Get custom headers for an endpoint
125
130
  */
126
131
  export function getEndpointHeaders(config, endpointKey) {
127
132
  const baseHeaders = {
128
- "Content-Type": "application/json",
133
+ 'Content-Type': 'application/json'
129
134
  };
130
135
  // Add authentication headers
131
- if (config.auth?.type === "bearer" && config.auth.token) {
132
- baseHeaders["Authorization"] = `Bearer ${config.auth.token}`;
136
+ if (config.auth?.type === 'bearer' && config.auth.token) {
137
+ baseHeaders['Authorization'] = `Bearer ${config.auth.token}`;
133
138
  }
134
- else if (config.auth?.type === "api_key" && config.auth.apiKey) {
135
- baseHeaders["X-API-Key"] = config.auth.apiKey;
139
+ else if (config.auth?.type === 'api_key' && config.auth.apiKey) {
140
+ baseHeaders['X-API-Key'] = config.auth.apiKey;
136
141
  }
137
- else if (config.auth?.type === "custom" && config.auth.headers) {
142
+ else if (config.auth?.type === 'custom' && config.auth.headers) {
138
143
  Object.assign(baseHeaders, config.auth.headers);
139
144
  }
140
145
  // Add endpoint-specific headers
@@ -9,11 +9,11 @@ export interface RuntimeConfig {
9
9
  /** Base URL for the FlowDrop API */
10
10
  apiBaseUrl: string;
11
11
  /** Theme preference */
12
- theme: "light" | "dark" | "auto";
12
+ theme: 'light' | 'dark' | 'auto';
13
13
  /** Request timeout in milliseconds */
14
14
  timeout: number;
15
15
  /** Authentication type */
16
- authType: "none" | "bearer" | "api_key" | "custom";
16
+ authType: 'none' | 'bearer' | 'api_key' | 'custom';
17
17
  /** Authentication token */
18
18
  authToken?: string;
19
19
  /** Application version */
@@ -5,7 +5,7 @@
5
5
  * This allows the application to use environment variables set at deployment
6
6
  * time rather than build time.
7
7
  */
8
- import { logger } from "../utils/logger.js";
8
+ import { logger } from '../utils/logger.js';
9
9
  /** Cached runtime configuration */
10
10
  let cachedConfig = null;
11
11
  /** Cache timestamp */
@@ -25,7 +25,7 @@ export async function fetchRuntimeConfig(force = false) {
25
25
  return cachedConfig;
26
26
  }
27
27
  try {
28
- const response = await fetch("/api/config");
28
+ const response = await fetch('/api/config');
29
29
  if (!response.ok) {
30
30
  throw new Error(`Failed to fetch runtime config: ${response.statusText}`);
31
31
  }
@@ -36,15 +36,15 @@ export async function fetchRuntimeConfig(force = false) {
36
36
  return config;
37
37
  }
38
38
  catch (error) {
39
- logger.error("Failed to fetch runtime configuration:", error);
39
+ logger.error('Failed to fetch runtime configuration:', error);
40
40
  // Return default configuration if fetch fails
41
41
  const defaultConfig = {
42
- apiBaseUrl: "/api/flowdrop",
43
- theme: "auto",
42
+ apiBaseUrl: '/api/flowdrop',
43
+ theme: 'auto',
44
44
  timeout: 30000,
45
- authType: "none",
46
- version: "1.0.0",
47
- environment: "production",
45
+ authType: 'none',
46
+ version: '1.0.0',
47
+ environment: 'production'
48
48
  };
49
49
  // Cache the default config to avoid repeated failed requests
50
50
  if (!cachedConfig) {