windmill-components 1.532.0 → 1.542.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/package/components/AIProviderPicker.svelte +181 -0
  2. package/package/components/AIProviderPicker.svelte.d.ts +15 -0
  3. package/package/components/ArgInfo.svelte +2 -2
  4. package/package/components/ArgInput.svelte +60 -27
  5. package/package/components/ArgInput.svelte.d.ts +3 -3
  6. package/package/components/AssignableTagsInner.svelte +89 -3
  7. package/package/components/Auth0Setting.svelte +8 -3
  8. package/package/components/ConcurrentJobsChart.svelte +36 -48
  9. package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
  10. package/package/components/CustomPopover.svelte.d.ts +1 -1
  11. package/package/components/Dev.svelte +5 -4
  12. package/package/components/DiffDrawer.svelte +2 -2
  13. package/package/components/DiffEditor.svelte +34 -37
  14. package/package/components/DiffEditor.svelte.d.ts +23 -39
  15. package/package/components/DropdownSelect.svelte +26 -0
  16. package/package/components/DropdownSelect.svelte.d.ts +11 -0
  17. package/package/components/DropdownV2Inner.svelte +1 -1
  18. package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
  19. package/package/components/DynamicInput.svelte.d.ts +11 -0
  20. package/package/components/EditableSchemaForm.svelte +155 -140
  21. package/package/components/EditableSchemaForm.svelte.d.ts +6 -7
  22. package/package/components/Editor.svelte +101 -87
  23. package/package/components/Editor.svelte.d.ts +7 -1
  24. package/package/components/EditorBar.svelte +2 -5
  25. package/package/components/FlowBuilder.svelte +10 -7
  26. package/package/components/FlowLogRow.svelte +64 -0
  27. package/package/components/FlowLogRow.svelte.d.ts +15 -0
  28. package/package/components/FlowLogViewer.svelte +406 -373
  29. package/package/components/FlowLogViewer.svelte.d.ts +5 -1
  30. package/package/components/FlowLogViewerWrapper.svelte +44 -1
  31. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  32. package/package/components/FlowPreviewContent.svelte +3 -3
  33. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  34. package/package/components/FlowStatusViewer.svelte +28 -0
  35. package/package/components/FlowStatusViewerInner.svelte +106 -23
  36. package/package/components/FlowStatusViewerInner.svelte.d.ts +7 -0
  37. package/package/components/FolderPicker.svelte +1 -1
  38. package/package/components/InputTransformForm.svelte +20 -10
  39. package/package/components/JobArgs.svelte +1 -1
  40. package/package/components/JobLoader.svelte.d.ts +1 -1
  41. package/package/components/JobStatus.svelte +2 -0
  42. package/package/components/LogSnippetViewer.svelte +3 -3
  43. package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
  44. package/package/components/LogViewer.svelte +87 -71
  45. package/package/components/LogViewer.svelte.d.ts +1 -0
  46. package/package/components/ModulePreview.svelte +2 -1
  47. package/package/components/ModulePreview.svelte.d.ts +1 -0
  48. package/package/components/ModulePreviewForm.svelte +72 -65
  49. package/package/components/ModulePreviewResultViewer.svelte +13 -18
  50. package/package/components/ModuleTest.svelte +6 -5
  51. package/package/components/ModuleTest.svelte.d.ts +1 -0
  52. package/package/components/OktaSetting.svelte +8 -3
  53. package/package/components/Path.svelte +7 -1
  54. package/package/components/Path.svelte.d.ts +1 -1
  55. package/package/components/Portal.svelte +11 -7
  56. package/package/components/Portal.svelte.d.ts +19 -39
  57. package/package/components/PrefixedInput.svelte +120 -0
  58. package/package/components/PrefixedInput.svelte.d.ts +8 -0
  59. package/package/components/QueuePosition.svelte +81 -0
  60. package/package/components/QueuePosition.svelte.d.ts +8 -0
  61. package/package/components/ResourceNarrowing.svelte +13 -0
  62. package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
  63. package/package/components/ResourceTypePicker.svelte +49 -74
  64. package/package/components/RunChart.svelte +74 -89
  65. package/package/components/RunChart.svelte.d.ts +10 -22
  66. package/package/components/RunForm.svelte +2 -2
  67. package/package/components/RunForm.svelte.d.ts +1 -1
  68. package/package/components/RunFormAdvancedPopup.svelte +13 -1
  69. package/package/components/S3FilePicker.svelte +1 -1
  70. package/package/components/SchemaForm.svelte +1 -2
  71. package/package/components/SchemaForm.svelte.d.ts +2 -2
  72. package/package/components/ScriptBuilder.svelte +3 -2
  73. package/package/components/ScriptEditor.svelte +25 -10
  74. package/package/components/ScriptEditor.svelte.d.ts +2 -1
  75. package/package/components/ServiceLogsInner.svelte +1 -1
  76. package/package/components/ShareModal.svelte.d.ts +1 -1
  77. package/package/components/SimpleEditor.svelte +4 -68
  78. package/package/components/StringTypeNarrowing.svelte +5 -10
  79. package/package/components/TemplateEditor.svelte +2 -16
  80. package/package/components/TimeAgo.svelte +1 -1
  81. package/package/components/TimeAgo.svelte.d.ts +1 -0
  82. package/package/components/Toggle.svelte +2 -1
  83. package/package/components/Toggle.svelte.d.ts +2 -1
  84. package/package/components/WorkerRepl.svelte +1 -1
  85. package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
  86. package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
  87. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
  88. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
  89. package/package/components/apps/components/display/table/utils.js +36 -5
  90. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
  91. package/package/components/apps/components/layout/AppModal.svelte +2 -2
  92. package/package/components/apps/editor/AppEditor.svelte +4 -3
  93. package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
  94. package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
  95. package/package/components/apps/editor/SettingsPanel.svelte +2 -2
  96. package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -2
  97. package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
  98. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +1 -1
  99. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  100. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  101. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +0 -1
  102. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  103. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +29 -4
  104. package/package/components/apps/editor/settingsPanel/GridCondition.svelte +3 -1
  105. package/package/components/apps/editor/settingsPanel/GridNavbar.svelte +3 -1
  106. package/package/components/apps/editor/settingsPanel/GridTab.svelte +3 -1
  107. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
  108. package/package/components/apps/editor/settingsPanel/OneOfInputSpecsEditor.svelte +55 -53
  109. package/package/components/apps/editor/settingsPanel/TableActions.svelte +3 -1
  110. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
  111. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
  112. package/package/components/assets/JobAssetsViewer.svelte +28 -24
  113. package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
  114. package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
  115. package/package/components/common/OnChange.svelte.d.ts +11 -4
  116. package/package/components/common/badge/Badge.svelte +9 -2
  117. package/package/components/common/badge/Badge.svelte.d.ts +2 -1
  118. package/package/components/common/button/model.d.ts +1 -1
  119. package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
  120. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
  121. package/package/components/common/drawer/Disposable.svelte +45 -26
  122. package/package/components/common/drawer/Disposable.svelte.d.ts +12 -44
  123. package/package/components/common/drawer/Drawer.svelte +17 -14
  124. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  125. package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
  126. package/package/components/common/modal/Modal.svelte.d.ts +1 -1
  127. package/package/components/common/tabs/TabContent.svelte +2 -7
  128. package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
  129. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
  130. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  131. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
  132. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  133. package/package/components/copilot/MetadataGen.svelte +14 -3
  134. package/package/components/copilot/chat/AIChatInput.svelte +0 -1
  135. package/package/components/copilot/chat/AIChatManager.svelte.js +26 -104
  136. package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
  137. package/package/components/copilot/chat/AvailableContextList.svelte +192 -66
  138. package/package/components/copilot/chat/AvailableContextList.svelte.d.ts +2 -2
  139. package/package/components/copilot/chat/ContextElementBadge.svelte +3 -3
  140. package/package/components/copilot/chat/ContextManager.svelte.js +36 -13
  141. package/package/components/copilot/chat/ContextTextarea.svelte +21 -48
  142. package/package/components/copilot/chat/ToolContentDisplay.svelte +10 -1
  143. package/package/components/copilot/chat/ToolExecutionDisplay.svelte +3 -3
  144. package/package/components/copilot/chat/anthropic.d.ts +15 -0
  145. package/package/components/copilot/chat/anthropic.js +208 -0
  146. package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
  147. package/package/components/copilot/chat/api/apiTools.js +10 -7
  148. package/package/components/copilot/chat/api/core.d.ts +1 -1
  149. package/package/components/copilot/chat/api/core.js +7 -2
  150. package/package/components/copilot/chat/ask/core.d.ts +1 -1
  151. package/package/components/copilot/chat/ask/core.js +7 -2
  152. package/package/components/copilot/chat/context.d.ts +7 -2
  153. package/package/components/copilot/chat/flow/FlowAIChat.svelte +110 -8
  154. package/package/components/copilot/chat/flow/core.d.ts +12 -1
  155. package/package/components/copilot/chat/flow/core.js +133 -5
  156. package/package/components/copilot/chat/flow/uiIntents.d.ts +8 -0
  157. package/package/components/copilot/chat/flow/uiIntents.js +5 -0
  158. package/package/components/copilot/chat/flow/useUiIntent.d.ts +5 -0
  159. package/package/components/copilot/chat/flow/useUiIntent.js +12 -0
  160. package/package/components/copilot/chat/monaco-adapter.d.ts +23 -4
  161. package/package/components/copilot/chat/monaco-adapter.js +55 -16
  162. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  163. package/package/components/copilot/chat/navigator/core.js +7 -2
  164. package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
  165. package/package/components/copilot/chat/script/core.d.ts +5 -4
  166. package/package/components/copilot/chat/script/core.js +134 -21
  167. package/package/components/copilot/chat/shared.d.ts +10 -9
  168. package/package/components/copilot/chat/shared.js +24 -12
  169. package/package/components/copilot/lib.d.ts +29 -8
  170. package/package/components/copilot/lib.js +211 -31
  171. package/package/components/copilot/shared.d.ts +1 -1
  172. package/package/components/copilot/shared.js +16 -10
  173. package/package/components/flows/FlowEditor.svelte +4 -2
  174. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  175. package/package/components/flows/FlowModuleIcon.svelte +8 -8
  176. package/package/components/flows/common/FlowCardHeader.svelte +4 -1
  177. package/package/components/flows/content/FlowBranchesAllWrapper.svelte +6 -0
  178. package/package/components/flows/content/FlowBranchesOneWrapper.svelte +6 -0
  179. package/package/components/flows/content/FlowEditorPanel.svelte +2 -1
  180. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
  181. package/package/components/flows/content/FlowInput.svelte +36 -39
  182. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -0
  183. package/package/components/flows/content/FlowLoop.svelte +7 -0
  184. package/package/components/flows/content/FlowModuleComponent.svelte +42 -46
  185. package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
  186. package/package/components/flows/content/FlowModuleScript.svelte +1 -1
  187. package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
  188. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -18
  189. package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
  190. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
  191. package/package/components/flows/content/FlowRetries.svelte +108 -3
  192. package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
  193. package/package/components/flows/content/FlowWhileLoop.svelte +6 -0
  194. package/package/components/flows/content/ScriptEditorDrawer.svelte +9 -11
  195. package/package/components/flows/dfs.d.ts +1 -1
  196. package/package/components/flows/dfs.js +6 -6
  197. package/package/components/flows/flowInfers.js +15 -42
  198. package/package/components/flows/flowStateUtils.svelte.js +1 -2
  199. package/package/components/flows/flowStore.d.ts +45 -1
  200. package/package/components/flows/flowStore.js +1 -1
  201. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  202. package/package/components/flows/map/FlowModuleSchemaItem.svelte +73 -80
  203. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
  204. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
  205. package/package/components/flows/map/InsertModuleButton.svelte +1 -0
  206. package/package/components/flows/map/InsertModuleInner.svelte +12 -15
  207. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
  208. package/package/components/flows/map/MapItem.svelte +8 -4
  209. package/package/components/flows/map/VirtualItem.svelte +1 -1
  210. package/package/components/flows/pickers/TopLevelNode.svelte +1 -1
  211. package/package/components/flows/propPicker/InputPickerInner.svelte +5 -5
  212. package/package/components/flows/propPicker/OutputPickerInner.svelte +143 -118
  213. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +7 -16
  214. package/package/components/flows/{testSteps.svelte.d.ts → stepsInputArgs.svelte.d.ts} +2 -1
  215. package/package/components/flows/{testSteps.svelte.js → stepsInputArgs.svelte.js} +15 -3
  216. package/package/components/flows/types.d.ts +16 -3
  217. package/package/components/flows/utils.js +3 -0
  218. package/package/components/git_sync/DetectionFlow.svelte +15 -17
  219. package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
  220. package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
  221. package/package/components/graph/FlowGraphV2.svelte +1 -1
  222. package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
  223. package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
  224. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
  225. package/package/components/graph/renderers/nodes/AIToolNode.svelte +4 -4
  226. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
  227. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
  228. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +71 -54
  229. package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
  230. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
  231. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
  232. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
  233. package/package/components/home/ItemsList.svelte +17 -13
  234. package/package/components/home/TreeView.svelte +21 -27
  235. package/package/components/home/TreeView.svelte.d.ts +2 -29
  236. package/package/components/home/TreeViewRoot.svelte +11 -23
  237. package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
  238. package/package/components/icons/GitIcon.svelte +10 -2
  239. package/package/components/icons/GitIcon.svelte.d.ts +1 -0
  240. package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
  241. package/package/components/meltComponents/Popover.svelte +23 -3
  242. package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
  243. package/package/components/monacoLanguagesOptions.d.ts +3 -0
  244. package/package/components/monacoLanguagesOptions.js +109 -0
  245. package/package/components/propertyPicker/ObjectViewer.svelte +18 -5
  246. package/package/components/propertyPicker/PropPicker.svelte +1 -1
  247. package/package/components/propertyPicker/utils.js +14 -7
  248. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +1 -1
  249. package/package/components/runs/JobRunsPreview.svelte +212 -177
  250. package/package/components/runs/JobsLoader.svelte +2 -2
  251. package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
  252. package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
  253. package/package/components/runs/RunBadges.svelte +100 -0
  254. package/package/components/runs/RunBadges.svelte.d.ts +12 -0
  255. package/package/components/runs/RunLabels.svelte +86 -0
  256. package/package/components/runs/RunLabels.svelte.d.ts +10 -0
  257. package/package/components/runs/RunOption.svelte +20 -0
  258. package/package/components/runs/RunOption.svelte.d.ts +10 -0
  259. package/package/components/runs/RunRow.svelte +239 -151
  260. package/package/components/runs/RunRow.svelte.d.ts +12 -9
  261. package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
  262. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
  263. package/package/components/runs/RunsFilter.svelte +369 -243
  264. package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
  265. package/package/components/runs/RunsQueue.svelte +96 -25
  266. package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
  267. package/package/components/runs/RunsTable.svelte +62 -71
  268. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  269. package/package/components/runs/runs-grid.css +95 -0
  270. package/package/components/schema/AddPropertyV2.svelte +2 -7
  271. package/package/components/schema/AddPropertyV2.svelte.d.ts +3 -20
  272. package/package/components/schema/EditableSchemaDrawer.svelte +121 -127
  273. package/package/components/schema/EditableSchemaDrawer.svelte.d.ts +2 -1
  274. package/package/components/schema/EditableSchemaSdkWrapper.svelte +16 -3
  275. package/package/components/schema/EditableSchemaSdkWrapper.svelte.d.ts +4 -1
  276. package/package/components/schema/EditableSchemaWrapper.svelte +3 -10
  277. package/package/components/schema/FlowPropertyEditor.svelte +195 -236
  278. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  279. package/package/components/schema/PropertyEditor.svelte +33 -35
  280. package/package/components/schema/SchemaFormDND.svelte +11 -10
  281. package/package/components/schema/SchemaFormDND.svelte.d.ts +4 -3
  282. package/package/components/schema/editable_schema_wrapper.d.ts +0 -3
  283. package/package/components/search/GlobalSearchModal.svelte +8 -1
  284. package/package/components/select/DraggableTags.svelte.d.ts +17 -7
  285. package/package/components/select/MultiSelect.svelte.d.ts +21 -11
  286. package/package/components/select/Select.svelte +2 -1
  287. package/package/components/select/Select.svelte.d.ts +25 -13
  288. package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
  289. package/package/components/settings/PremiumInfo.svelte +7 -2
  290. package/package/components/settings/TokenDisplay.svelte +1 -1
  291. package/package/components/sidebar/OperatorMenu.svelte +5 -0
  292. package/package/components/sidebar/SidebarContent.svelte +48 -2
  293. package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
  294. package/package/components/toast.js +6 -3
  295. package/package/components/triggers/AddTriggersButton.svelte +7 -6
  296. package/package/components/triggers/CaptureWrapper.svelte +21 -16
  297. package/package/components/triggers/CaptureWrapper.svelte.d.ts +1 -1
  298. package/package/components/triggers/TriggerLabel.svelte +8 -0
  299. package/package/components/triggers/TriggerTokens.svelte +1 -1
  300. package/package/components/triggers/TriggersEditor.svelte +9 -5
  301. package/package/components/triggers/TriggersTable.svelte +2 -2
  302. package/package/components/triggers/TriggersWrapper.svelte +17 -5
  303. package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
  304. package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
  305. package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
  306. package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
  307. package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
  308. package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
  309. package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
  310. package/package/components/triggers/email/EmailCapture.svelte +39 -0
  311. package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
  312. package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
  313. package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
  314. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
  315. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
  316. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
  317. package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
  318. package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
  319. package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
  320. package/package/components/triggers/email/utils.d.ts +4 -0
  321. package/package/components/triggers/email/utils.js +52 -0
  322. package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
  323. package/package/components/triggers/http/RouteEditorInner.svelte +1 -1
  324. package/package/components/triggers/http/utils.js +1 -1
  325. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +23 -20
  326. package/package/components/triggers/nats/NatsTriggersConfigSection.svelte +15 -27
  327. package/package/components/triggers/nats/NatsTriggersConfigSection.svelte.d.ts +7 -5
  328. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  329. package/package/components/triggers/triggers.svelte.js +24 -2
  330. package/package/components/triggers/utils.js +19 -5
  331. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +16 -16
  332. package/package/components/triggers.d.ts +1 -1
  333. package/package/components/triggers.js +2 -0
  334. package/package/components/wizards/AgGridWizard.svelte +85 -80
  335. package/package/components/workspaceSettings/AISettings.svelte +74 -22
  336. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  337. package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
  338. package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
  339. package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
  340. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
  341. package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
  342. package/package/gen/core/OpenAPI.js +1 -1
  343. package/package/gen/schemas.gen.d.ts +142 -3
  344. package/package/gen/schemas.gen.js +144 -3
  345. package/package/gen/services.gen.d.ts +129 -1
  346. package/package/gen/services.gen.js +267 -1
  347. package/package/gen/types.gen.d.ts +434 -8
  348. package/package/hubPaths.json +6 -2
  349. package/package/infer.js +1 -1
  350. package/package/keyboardChain.d.ts +5 -0
  351. package/package/keyboardChain.js +40 -0
  352. package/package/script_helpers.d.ts +2 -2
  353. package/package/script_helpers.js +2 -0
  354. package/package/services/JobManager.js +2 -2
  355. package/package/stores.d.ts +4 -1
  356. package/package/stores.js +16 -6
  357. package/package/utils/workspaceHierarchy.d.ts +27 -0
  358. package/package/utils/workspaceHierarchy.js +101 -0
  359. package/package/utils.d.ts +6 -3
  360. package/package/utils.js +30 -15
  361. package/package/workspace_settings.js +2 -3
  362. package/package.json +10 -12
  363. package/package/components/DynSelect.svelte.d.ts +0 -11
  364. package/package/components/ModulePreviewResultViewer.svelte.d.ts +0 -28
  365. package/package/components/ObjectTypeNarrowing.svelte +0 -18
  366. package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
  367. package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
  368. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
  369. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
  370. package/package/components/details/EmailTriggerPanel.svelte +0 -76
  371. package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
@@ -2,60 +2,23 @@
2
2
  import zoomPlugin from 'chartjs-plugin-zoom';
3
3
  import Tooltip2 from './Tooltip.svelte';
4
4
  import { Chart as ChartJS, Title, Tooltip, Legend, LineElement, CategoryScale, LinearScale, PointElement, TimeScale, LogarithmicScale } from 'chart.js';
5
- import { createEventDispatcher } from 'svelte';
6
5
  import { getDbClockNow } from '../forLater';
7
6
  import Button from './common/button/Button.svelte';
8
7
  import { Scatter } from './chartjs-wrappers/chartJs';
9
- export let jobs = [];
10
- export let maxIsNow = false;
11
- export let minTimeSet = undefined;
12
- export let maxTimeSet = undefined;
13
- export let selectedIds = [];
14
- export let canSelect = true;
15
- export let lastFetchWentToEnd = false;
16
- const dispatch = createEventDispatcher();
8
+ import DarkModeObserver from './DarkModeObserver.svelte';
9
+ let { jobs = [], maxIsNow = false, minTimeSet = undefined, maxTimeSet = undefined, selectedIds = $bindable([]), canSelect = true, lastFetchWentToEnd = false, onPointClicked, onLoadExtra, onZoom } = $props();
17
10
  const SUCCESS_COLOR = '#4ade80';
18
11
  // const SUCCESS_COLOR_TRANSPARENT = '#c9b638'
19
- const SUCCESS_COLOR_TRANSPARENT = mergeColors(SUCCESS_COLOR, getBackgorundColor(), 0.8);
12
+ const SUCCESS_COLOR_TRANSPARENT = $derived(mergeColors(SUCCESS_COLOR, getBackgroundColor(), 0.8));
20
13
  const FAIL_COLOR = '#f87171';
21
- const FAIL_COLOR_TRANSPARENT = mergeColors(FAIL_COLOR, getBackgorundColor(), 0.8);
22
- $: success = jobs?.filter((x) => x.success);
23
- $: failed = jobs?.filter((x) => !x.success);
14
+ const FAIL_COLOR_TRANSPARENT = $derived(mergeColors(FAIL_COLOR, getBackgroundColor(), 0.8));
24
15
  ChartJS.register(Title, Tooltip, Legend, zoomPlugin, LineElement, CategoryScale, LinearScale, LogarithmicScale, PointElement, TimeScale);
25
- $: data = {
26
- datasets: [
27
- {
28
- borderColor: 'rgba(99,0,125, 0)',
29
- backgroundColor: FAIL_COLOR,
30
- radius: 3,
31
- label: 'Failed',
32
- data: failed?.map((job) => ({
33
- x: job.started_at,
34
- y: job.duration_ms,
35
- id: job.id,
36
- path: job.script_path
37
- })) ?? []
38
- },
39
- {
40
- borderColor: 'rgba(99,0,125, 0)',
41
- backgroundColor: SUCCESS_COLOR,
42
- radius: 3,
43
- label: 'Successful',
44
- data: success?.map((job) => ({
45
- x: job.started_at,
46
- y: job.duration_ms,
47
- id: job.id,
48
- path: job.script_path
49
- })) ?? []
50
- }
51
- ]
52
- };
53
16
  const zoomOptions = {
54
17
  pan: {
55
18
  enabled: true,
56
19
  modifierKey: 'ctrl',
57
20
  onPanComplete: ({ chart }) => {
58
- dispatch('zoom', {
21
+ onZoom({
59
22
  min: addSeconds(new Date(chart.scales.x.min), -1),
60
23
  max: addSeconds(new Date(chart.scales.x.max), 1)
61
24
  });
@@ -67,20 +30,20 @@ const zoomOptions = {
67
30
  },
68
31
  mode: 'x',
69
32
  onZoom: ({ chart }) => {
70
- dispatch('zoom', {
33
+ onZoom({
71
34
  min: addSeconds(new Date(chart.scales.x.min), -1),
72
35
  max: addSeconds(new Date(chart.scales.x.max), 1)
73
36
  });
74
37
  }
75
38
  }
76
39
  };
77
- function isDark() {
78
- return document.documentElement.classList.contains('dark');
79
- }
80
- ChartJS.defaults.color = isDark() ? '#ccc' : '#666';
81
- ChartJS.defaults.borderColor = isDark() ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)';
82
- function getBackgorundColor() {
83
- return isDark() ? '#2e3440' : '#ffffff';
40
+ let darkMode = $state(false);
41
+ $effect(() => {
42
+ ChartJS.defaults.color = darkMode ? '#ccc' : '#666';
43
+ ChartJS.defaults.borderColor = darkMode ? 'rgba(255, 255, 255, 0.1)' : 'rgba(0, 0, 0, 0.1)';
44
+ });
45
+ function getBackgroundColor() {
46
+ return darkMode ? '#2e3440' : '#ffffff';
84
47
  }
85
48
  function hexToRgb(hexColor) {
86
49
  hexColor = hexColor.replace(/^#/, '');
@@ -106,22 +69,9 @@ function mergeColors(color1, color2, slider) {
106
69
  const blendedRgb = rgb1.map((c1, i) => Math.round(c1 * (1 - slider) + rgb2[i] * slider));
107
70
  return rgbToHex(blendedRgb);
108
71
  }
109
- function highlightSelectedPoints(ids) {
110
- if (!canSelect || ids.length === 0) {
111
- data.datasets[0].backgroundColor = FAIL_COLOR;
112
- data.datasets[1].backgroundColor = SUCCESS_COLOR;
113
- }
114
- else {
115
- data.datasets[0].backgroundColor = data.datasets[0].data.map((p) => ids.includes(p.id) ? FAIL_COLOR : FAIL_COLOR_TRANSPARENT);
116
- data.datasets[1].backgroundColor = data.datasets[1].data.map((p) => ids.includes(p.id) ? SUCCESS_COLOR : SUCCESS_COLOR_TRANSPARENT);
117
- }
118
- }
119
72
  function getPath(x) {
120
73
  return x.path;
121
74
  }
122
- let minTime = addSeconds(new Date(), -300);
123
- let maxTime = getDbClockNow();
124
- $: computeMinMaxTime(jobs, minTimeSet, maxTimeSet);
125
75
  function minJobTime(jobs) {
126
76
  let min = new Date(jobs[0].started_at);
127
77
  for (const job of jobs) {
@@ -147,31 +97,69 @@ function computeMinMaxTime(jobs, minTimeSet, maxTimeSet) {
147
97
  let minTimeSetDate = minTimeSet ? new Date(minTimeSet) : undefined;
148
98
  let maxTimeSetDate = maxTimeSet ? new Date(maxTimeSet) : undefined;
149
99
  if (minTimeSetDate && maxTimeSetDate) {
150
- minTime = minTimeSetDate;
151
- maxTime = maxTimeSetDate;
152
- return;
100
+ return { minTime: minTimeSetDate, maxTime: maxTimeSetDate };
153
101
  }
154
102
  if (jobs == undefined || jobs?.length == 0) {
155
- minTime = minTimeSetDate ?? addSeconds(new Date(), -300);
156
- maxTime = maxTimeSetDate ?? getDbClockNow();
157
- return;
103
+ const computedMinTime = minTimeSetDate ?? addSeconds(new Date(), -300);
104
+ const computedMaxTime = maxTimeSetDate ?? getDbClockNow();
105
+ return { minTime: computedMinTime, maxTime: computedMaxTime };
158
106
  }
159
107
  const maxJob = maxIsNow ? getDbClockNow() : maxJobTime(jobs);
160
108
  const minJob = minJobTime(jobs);
161
109
  const diff = (maxJob.getTime() - minJob.getTime()) / 20000;
162
- minTime = minTimeSetDate ?? addSeconds(minJob, -diff);
163
- if (maxIsNow) {
164
- maxTime = maxTimeSetDate ?? maxJob;
165
- }
166
- else {
167
- maxTime = maxTimeSetDate ?? addSeconds(maxJob, diff);
168
- }
110
+ let computedMinTime = minTimeSetDate ?? addSeconds(minJob, -diff);
111
+ let computedMaxTime = maxIsNow
112
+ ? (maxTimeSetDate ?? maxJob)
113
+ : (maxTimeSetDate ?? addSeconds(maxJob, diff));
114
+ return { minTime: computedMinTime, maxTime: computedMaxTime };
169
115
  }
170
116
  function addSeconds(date, seconds) {
171
117
  date.setTime(date.getTime() + seconds * 1000);
172
118
  return date;
173
119
  }
174
- $: scatterOptions = {
120
+ let success = $derived(jobs?.filter((x) => x.success));
121
+ let failed = $derived(jobs?.filter((x) => !x.success));
122
+ let data = $derived.by(() => {
123
+ const data = {
124
+ datasets: [
125
+ {
126
+ borderColor: 'rgba(99,0,125, 0)',
127
+ backgroundColor: FAIL_COLOR,
128
+ radius: 3,
129
+ label: 'Failed',
130
+ data: failed?.map((job) => ({
131
+ x: job.started_at,
132
+ y: job.duration_ms,
133
+ id: job.id,
134
+ path: job.script_path
135
+ })) ?? []
136
+ },
137
+ {
138
+ borderColor: 'rgba(99,0,125, 0)',
139
+ backgroundColor: SUCCESS_COLOR,
140
+ radius: 3,
141
+ label: 'Successful',
142
+ data: success?.map((job) => ({
143
+ x: job.started_at,
144
+ y: job.duration_ms,
145
+ id: job.id,
146
+ path: job.script_path
147
+ })) ?? []
148
+ }
149
+ ]
150
+ };
151
+ if (!canSelect || selectedIds.length === 0) {
152
+ data.datasets[0].backgroundColor = FAIL_COLOR;
153
+ data.datasets[1].backgroundColor = SUCCESS_COLOR;
154
+ }
155
+ else {
156
+ data.datasets[0].backgroundColor = data.datasets[0].data.map((p) => selectedIds.includes(p.id) ? FAIL_COLOR : FAIL_COLOR_TRANSPARENT);
157
+ data.datasets[1].backgroundColor = data.datasets[1].data.map((p) => selectedIds.includes(p.id) ? SUCCESS_COLOR : SUCCESS_COLOR_TRANSPARENT);
158
+ }
159
+ return data;
160
+ });
161
+ const minMaxTime = $derived.by(() => computeMinMaxTime(jobs, minTimeSet, maxTimeSet));
162
+ let scatterOptions = $derived({
175
163
  responsive: true,
176
164
  maintainAspectRatio: false,
177
165
  plugins: {
@@ -187,11 +175,11 @@ $: scatterOptions = {
187
175
  }
188
176
  }
189
177
  },
190
- onClick: (e, u) => {
178
+ onClick: (_e, u) => {
191
179
  if (canSelect) {
192
180
  const ids = u.map((j) => data.datasets[j.datasetIndex].data[j.index].id);
193
181
  selectedIds = ids;
194
- dispatch('pointClicked', ids);
182
+ onPointClicked(ids);
195
183
  }
196
184
  },
197
185
  scales: {
@@ -200,8 +188,8 @@ $: scatterOptions = {
200
188
  grid: {
201
189
  display: false
202
190
  },
203
- min: minTime,
204
- max: maxTime
191
+ min: minMaxTime.minTime,
192
+ max: minMaxTime.maxTime
205
193
  },
206
194
  y: {
207
195
  grid: {
@@ -215,10 +203,11 @@ $: scatterOptions = {
215
203
  }
216
204
  },
217
205
  animation: false
218
- };
219
- $: data && scatterOptions && highlightSelectedPoints(selectedIds);
206
+ });
220
207
  </script>
221
208
 
209
+ <DarkModeObserver bind:darkMode />
210
+
222
211
  <!-- {JSON.stringify(minTime)}
223
212
  {JSON.stringify(maxTime)}
224
213
 
@@ -228,12 +217,8 @@ $: data && scatterOptions && highlightSelectedPoints(selectedIds);
228
217
  <!-- {JSON.stringify(jobs?.map((x) => x.started_at))} -->
229
218
  <div class="relative max-h-40">
230
219
  {#if !lastFetchWentToEnd}
231
- <div class="absolute top-[-10px] left-[60px]"
232
- ><Button
233
- size="xs"
234
- color="transparent"
235
- variant="contained"
236
- on:click={() => dispatch('loadExtra')}
220
+ <div class="absolute top-[-26px] left-[160px]"
221
+ ><Button size="xs" color="transparent" variant="contained" on:click={() => onLoadExtra()}
237
222
  >Load more <Tooltip2
238
223
  >There are more jobs to load but only the first 1000 were fetched</Tooltip2
239
224
  ></Button
@@ -1,19 +1,6 @@
1
1
  import 'chartjs-adapter-date-fns';
2
2
  import type { CompletedJob } from '../gen';
3
- interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
4
- new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
5
- $$bindings?: Bindings;
6
- } & Exports;
7
- (internal: unknown, props: Props & {
8
- $$events?: Events;
9
- $$slots?: Slots;
10
- }): Exports & {
11
- $set?: any;
12
- $on?: any;
13
- };
14
- z_$$bindings?: Bindings;
15
- }
16
- declare const RunChart: $$__sveltets_2_IsomorphicComponent<{
3
+ interface Props {
17
4
  jobs?: CompletedJob[] | undefined;
18
5
  maxIsNow?: boolean;
19
6
  minTimeSet?: string | undefined;
@@ -21,12 +8,13 @@ declare const RunChart: $$__sveltets_2_IsomorphicComponent<{
21
8
  selectedIds?: string[];
22
9
  canSelect?: boolean;
23
10
  lastFetchWentToEnd?: boolean;
24
- }, {
25
- loadExtra: CustomEvent<any>;
26
- zoom: CustomEvent<any>;
27
- pointClicked: CustomEvent<any>;
28
- } & {
29
- [evt: string]: CustomEvent<any>;
30
- }, {}, {}, string>;
31
- type RunChart = InstanceType<typeof RunChart>;
11
+ onPointClicked: (ids: string[]) => void;
12
+ onLoadExtra: () => void;
13
+ onZoom: (zoom: {
14
+ min: Date;
15
+ max: Date;
16
+ }) => void;
17
+ }
18
+ declare const RunChart: import("svelte").Component<Props, {}, "selectedIds">;
19
+ type RunChart = ReturnType<typeof RunChart>;
32
20
  export default RunChart;
@@ -25,7 +25,7 @@ export async function setArgs(nargs) {
25
25
  export function run() {
26
26
  runAction(scheduledForStr, args ?? {}, invisible_to_owner, overrideTag);
27
27
  }
28
- let { runnable = $bindable(), runAction, buttonText = 'Run', schedulable = true, detailed = true, autofocus = false, topButton = false, loading = false, noVariablePicker = false, viewKeybinding = false, scheduledForStr = $bindable(), invisible_to_owner = $bindable(), overrideTag = $bindable(), args = $bindable(), jsonView = false, isValid = $bindable(true) } = $props();
28
+ let { runnable, runAction, buttonText = 'Run', schedulable = true, detailed = true, autofocus = false, topButton = false, loading = false, noVariablePicker = false, viewKeybinding = false, scheduledForStr = $bindable(), invisible_to_owner = $bindable(), overrideTag = $bindable(), args = $bindable(), jsonView = false, isValid = $bindable(true) } = $props();
29
29
  $effect.pre(() => {
30
30
  if (args == undefined) {
31
31
  args = {};
@@ -238,7 +238,7 @@ $effect(() => {
238
238
  bind:scheduledForStr
239
239
  bind:invisible_to_owner
240
240
  bind:overrideTag
241
- bind:runnable
241
+ {runnable}
242
242
  />
243
243
  {/snippet}
244
244
  </Popover>
@@ -33,6 +33,6 @@ declare const RunForm: import("svelte").Component<Props, {
33
33
  setArgs: (nargs: Record<string, any>) => Promise<void>;
34
34
  run: () => void;
35
35
  setCode: (code: string) => void;
36
- }, "args" | "invisible_to_owner" | "runnable" | "isValid" | "scheduledForStr" | "overrideTag">;
36
+ }, "args" | "invisible_to_owner" | "isValid" | "scheduledForStr" | "overrideTag">;
37
37
  type RunForm = ReturnType<typeof RunForm>;
38
38
  export default RunForm;
@@ -53,7 +53,19 @@ async function loadWorkerGroups() {
53
53
  {#if !$userStore?.operator}
54
54
  {#if $workerTags && $workerTags?.length > 0}
55
55
  <div class="w-full">
56
- <select placeholder="Worker group" bind:value={overrideTag}>
56
+ <select
57
+ placeholder="Worker group"
58
+ bind:value={
59
+ () => overrideTag ?? '',
60
+ (v) => {
61
+ if (v == '') {
62
+ overrideTag = undefined
63
+ } else {
64
+ overrideTag = v
65
+ }
66
+ }
67
+ }
68
+ >
57
69
  {#if overrideTag}
58
70
  <option value="">reset to default</option>
59
71
  {:else}
@@ -489,7 +489,7 @@ $effect.pre(() => {
489
489
  >
490
490
  {#snippet header()}{/snippet}
491
491
  {#snippet footer()}{/snippet}
492
- {#snippet children({ index, style })}
492
+ {#snippet item({ index, style })}
493
493
  {@const file_info = allFilesByKey[displayedFileKeys[index]]}
494
494
 
495
495
  <div
@@ -14,7 +14,7 @@ import ArgInput from './ArgInput.svelte';
14
14
  import { createEventDispatcher, untrack } from 'svelte';
15
15
  import { deepEqual } from 'fast-equals';
16
16
  import { dragHandleZone } from '@windmill-labs/svelte-dnd-action';
17
- let { schema = $bindable(), hiddenArgs = [], schemaFieldTooltip = {}, args = $bindable(undefined), disabledArgs = [], disabled = false, isValid = $bindable(true), autofocus = false, defaultValues = {}, shouldHideNoInputs = false, compact = false, linkedSecret = $bindable(undefined), linkedSecretCandidates = undefined, noVariablePicker = false, flexWrap = false, noDelete = false, prettifyHeader = false, disablePortal = false, showSchemaExplorer = false, showReset = false, onlyMaskPassword = false, dndConfig = undefined, items = undefined, helperScript = undefined, lightHeader = false, diff = {}, nestedParent = undefined, shouldDispatchChanges = false, nestedClasses = '', dynamicEnums = {}, largeGap = false, css = undefined, displayType = true, appPath = undefined, className = '', computeS3ForceViewerPolicies = undefined, workspace = undefined, actions } = $props();
17
+ let { schema = $bindable(), hiddenArgs = [], schemaFieldTooltip = {}, args = $bindable(undefined), disabledArgs = [], disabled = false, isValid = $bindable(true), autofocus = false, defaultValues = {}, shouldHideNoInputs = false, compact = false, linkedSecret = $bindable(undefined), linkedSecretCandidates = undefined, noVariablePicker = false, flexWrap = false, noDelete = false, prettifyHeader = false, disablePortal = false, showSchemaExplorer = false, showReset = false, onlyMaskPassword = false, dndConfig = undefined, items = undefined, helperScript = undefined, lightHeader = false, diff = {}, nestedParent = undefined, shouldDispatchChanges = false, nestedClasses = '', dynamicEnums = {}, largeGap = false, css = undefined, displayType = true, appPath = undefined, className = '', computeS3ForceViewerPolicies = undefined, workspace = undefined, actions: actions_render = undefined } = $props();
18
18
  const dispatch = createEventDispatcher();
19
19
  let inputCheck = $state({});
20
20
  export function setDefaults() {
@@ -135,7 +135,6 @@ $effect.pre(() => {
135
135
  $effect.pre(() => {
136
136
  isValid = allTrue(inputCheck ?? {});
137
137
  });
138
- const actions_render = $derived(actions);
139
138
  </script>
140
139
 
141
140
  {#if showReset}
@@ -1,5 +1,5 @@
1
1
  import type { Schema } from '../common';
2
- import { type DynamicSelect } from '../utils';
2
+ import { type DynamicInput } from '../utils';
3
3
  import { type Options as DndOptions } from '@windmill-labs/svelte-dnd-action';
4
4
  import type { SchemaDiff } from './schema/schemaUtils.svelte';
5
5
  import type { ComponentCustomCSS } from './apps/types';
@@ -30,7 +30,7 @@ interface Props {
30
30
  id: string;
31
31
  value: string;
32
32
  }[] | undefined;
33
- helperScript?: DynamicSelect.HelperScript;
33
+ helperScript?: DynamicInput.HelperScript;
34
34
  lightHeader?: boolean;
35
35
  diff?: Record<string, SchemaDiff>;
36
36
  nestedParent?: {
@@ -133,7 +133,7 @@ async function loadTriggers() {
133
133
  // Add triggers context store
134
134
  const triggersState = $state(new Triggers([
135
135
  { type: 'webhook', path: '', isDraft: false },
136
- { type: 'email', path: '', isDraft: false },
136
+ { type: 'default_email', path: '', isDraft: false },
137
137
  ...(script.draft_triggers ?? [])
138
138
  ], undefined, saveSessionDraft));
139
139
  const captureOn = writable(undefined);
@@ -908,7 +908,7 @@ async function loadWorkerTags() {
908
908
  >
909
909
  <LanguageIcon {lang} />
910
910
  <span class="ml-2 py-2 truncate">{label}</span>
911
- {#if lang === 'nu' || lang === 'ruby'}
911
+ {#if lang === 'ruby'}
912
912
  <span class="text-tertiary !text-xs"> BETA </span>
913
913
  {/if}
914
914
  </Button>
@@ -1571,6 +1571,7 @@ async function loadWorkerTags() {
1571
1571
  bind:hasPreprocessor
1572
1572
  bind:captureTable
1573
1573
  bind:assets={script.assets}
1574
+ enablePreprocessorSnippet
1574
1575
  />
1575
1576
  </div>
1576
1577
  {:else}
@@ -35,7 +35,8 @@ import { aiChatManager, AIMode } from './copilot/chat/AIChatManager.svelte';
35
35
  import { triggerableByAI } from '../actions/triggerableByAI.svelte';
36
36
  import AssetsDropdownButton from './assets/AssetsDropdownButton.svelte';
37
37
  import { assetEq } from './assets/lib';
38
- let { schema = $bindable(), code = $bindable(), path, lang, kind = undefined, template = 'script', tag, fixedOverflowWidgets = true, noSyncFromGithub = false, editor = $bindable(undefined), diffEditor = $bindable(undefined), collabMode = false, edit = true, noHistory = false, saveToWorkspace = false, watchChanges = false, customUi = undefined, args = $bindable(), selectedTab = $bindable('main'), hasPreprocessor = $bindable(false), captureTable = $bindable(undefined), showCaptures = true, stablePathForCaptures = '', lastSavedCode = undefined, lastDeployedCode = undefined, disableAi = false, assets = $bindable(), editor_bar_right } = $props();
38
+ import { editor as meditor } from 'monaco-editor';
39
+ let { schema = $bindable(), code = $bindable(), path, lang, kind = undefined, template = 'script', tag, fixedOverflowWidgets = true, noSyncFromGithub = false, editor = $bindable(undefined), diffEditor = $bindable(undefined), collabMode = false, edit = true, noHistory = false, saveToWorkspace = false, watchChanges = false, customUi = undefined, args = $bindable(), selectedTab = $bindable('main'), hasPreprocessor = $bindable(false), captureTable = $bindable(undefined), showCaptures = true, stablePathForCaptures = '', lastSavedCode = undefined, lastDeployedCode = undefined, disableAi = false, assets = $bindable(), editor_bar_right, enablePreprocessorSnippet = false } = $props();
39
40
  $effect.pre(() => {
40
41
  if (schema == undefined) {
41
42
  schema = emptySchema();
@@ -273,7 +274,7 @@ function getError(job) {
273
274
  function showDiffMode() {
274
275
  diffMode = true;
275
276
  diffEditor?.setOriginal(lastDeployedCode ?? '');
276
- diffEditor?.setModified(editor?.getCode() ?? '');
277
+ diffEditor?.setModifiedModel(editor?.getModel());
277
278
  diffEditor?.show();
278
279
  editor?.hide();
279
280
  }
@@ -296,9 +297,9 @@ $effect(() => {
296
297
  };
297
298
  untrack(() => {
298
299
  aiChatManager.scriptEditorOptions = options;
299
- aiChatManager.scriptEditorApplyCode = (code, applyAll = false) => {
300
+ aiChatManager.scriptEditorApplyCode = async (code, opts) => {
300
301
  hideDiffMode();
301
- editor?.reviewAndApplyCode(code, applyAll);
302
+ await editor?.reviewAndApplyCode(code, opts);
302
303
  };
303
304
  aiChatManager.scriptEditorShowDiffMode = showDiffMode;
304
305
  });
@@ -491,18 +492,32 @@ $effect(() => {
491
492
  automaticLayout={true}
492
493
  {fixedOverflowWidgets}
493
494
  {args}
495
+ {enablePreprocessorSnippet}
494
496
  />
495
497
  <DiffEditor
496
- class="h-full"
498
+ className="h-full"
497
499
  bind:this={diffEditor}
500
+ modifiedModel={editor?.getModel() as meditor.ITextModel}
498
501
  automaticLayout
499
502
  defaultLang={scriptLangToEditorLang(lang)}
500
503
  {fixedOverflowWidgets}
501
- showButtons={diffMode}
502
- on:hideDiffMode={hideDiffMode}
503
- on:seeHistory={() => {
504
- showHistoryDrawer = true
505
- }}
504
+ buttons={diffMode
505
+ ? [
506
+ {
507
+ text: 'See changes history',
508
+ onClick: () => {
509
+ showHistoryDrawer = true
510
+ }
511
+ },
512
+ {
513
+ text: 'Quit diff mode',
514
+ onClick: () => {
515
+ hideDiffMode()
516
+ },
517
+ color: 'red'
518
+ }
519
+ ]
520
+ : []}
506
521
  />
507
522
  {/key}
508
523
  </div>
@@ -35,6 +35,7 @@ interface Props {
35
35
  disableAi?: boolean;
36
36
  assets?: AssetWithAltAccessType[];
37
37
  editor_bar_right?: import('svelte').Snippet;
38
+ enablePreprocessorSnippet?: boolean;
38
39
  }
39
40
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
40
41
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -74,6 +75,6 @@ declare const ScriptEditor: $$__sveltets_2_IsomorphicComponent<Props, {
74
75
  setCollaborationMode: () => Promise<void>;
75
76
  disableCollaboration: () => void;
76
77
  updateArgs: (newArgs: Record<string, any>) => Promise<void>;
77
- }, "args" | "code" | "assets" | "schema" | "selectedTab" | "editor" | "diffEditor" | "hasPreprocessor" | "captureTable">;
78
+ }, "args" | "code" | "assets" | "schema" | "editor" | "selectedTab" | "diffEditor" | "hasPreprocessor" | "captureTable">;
78
79
  type ScriptEditor = InstanceType<typeof ScriptEditor>;
79
80
  export default ScriptEditor;
@@ -12,7 +12,7 @@ import { copyToClipboard, scroll_into_view_if_needed_polyfill, truncateRev } fro
12
12
  import LogSnippetViewer from './LogSnippetViewer.svelte';
13
13
  import { Button, Drawer, DrawerContent } from './common';
14
14
  import ClipboardCopy from 'lucide-svelte/icons/clipboard-copy';
15
- import AnsiUp from 'ansi_up';
15
+ import { AnsiUp } from 'ansi_up';
16
16
  import SplitPanesOrColumnOnMobile from './splitPanes/SplitPanesOrColumnOnMobile.svelte';
17
17
  import Select from './select/Select.svelte';
18
18
  import { goto } from '../navigation';
@@ -16,7 +16,7 @@ declare const ShareModal: $$__sveltets_2_IsomorphicComponent<Record<string, neve
16
16
  } & {
17
17
  [evt: string]: CustomEvent<any>;
18
18
  }, {}, {
19
- openDrawer: (newPath: string, kind_l: "resource" | "script" | "flow" | "app" | "variable" | "schedule" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "mqtt_trigger" | "gcp_trigger" | "sqs_trigger") => Promise<void>;
19
+ openDrawer: (newPath: string, kind_l: "resource" | "script" | "flow" | "app" | "variable" | "schedule" | "group_" | "raw_app" | "http_trigger" | "websocket_trigger" | "kafka_trigger" | "nats_trigger" | "postgres_trigger" | "mqtt_trigger" | "gcp_trigger" | "sqs_trigger" | "email_trigger") => Promise<void>;
20
20
  }, "">;
21
21
  type ShareModal = InstanceType<typeof ShareModal>;
22
22
  export default ShareModal;
@@ -7,51 +7,6 @@
7
7
  import '@codingame/monaco-vscode-standalone-css-language-features'
8
8
  import '@codingame/monaco-vscode-standalone-typescript-language-features'
9
9
  import '@codingame/monaco-vscode-standalone-html-language-features'
10
- import {
11
- editor as meditor,
12
- KeyCode,
13
- KeyMod,
14
- Uri as mUri,
15
- languages,
16
- type IRange,
17
- type IDisposable,
18
- type IPosition
19
- } from 'monaco-editor'
20
-
21
- languages.typescript.javascriptDefaults.setCompilerOptions({
22
- target: languages.typescript.ScriptTarget.Latest,
23
- allowNonTsExtensions: true,
24
- noSemanticValidation: false,
25
- noLib: true,
26
- moduleResolution: languages.typescript.ModuleResolutionKind.NodeJs
27
- })
28
- function setDiagnosticsOptions() {
29
- languages.typescript.javascriptDefaults.setDiagnosticsOptions({
30
- noSemanticValidation: false,
31
- noSyntaxValidation: false,
32
- noSuggestionDiagnostics: false,
33
- diagnosticCodesToIgnore: [1108]
34
- })
35
- }
36
- setDiagnosticsOptions()
37
- languages.json.jsonDefaults.setDiagnosticsOptions({
38
- validate: true,
39
- allowComments: false,
40
- schemas: [],
41
- enableSchemaRequest: true
42
- })
43
- languages.json.jsonDefaults.setModeConfiguration({
44
- documentRangeFormattingEdits: false,
45
- documentFormattingEdits: true,
46
- hovers: true,
47
- completionItems: true,
48
- documentSymbols: true,
49
- tokens: true,
50
- colors: true,
51
- foldingRanges: true,
52
- selectionRanges: true,
53
- diagnostics: true
54
- })
55
10
  </script>
56
11
 
57
12
  <script lang="ts">import { BROWSER } from 'esm-env';
@@ -77,6 +32,8 @@ import { initVim } from './monaco_keybindings';
77
32
  import FakeMonacoPlaceHolder from './FakeMonacoPlaceHolder.svelte';
78
33
  import { editorPositionMap } from '../utils';
79
34
  import { langToExt } from '../editorLangUtils';
35
+ import { editor as meditor, KeyCode, KeyMod, Uri as mUri, languages } from 'monaco-editor';
36
+ import { setMonacoJavascriptOptions, setMonacoJsonOptions } from './monacoLanguagesOptions';
80
37
  // import { createConfiguredEditor } from 'vscode/monaco'
81
38
  // import type { IStandaloneCodeEditor } from 'vscode/vscode/vs/editor/standalone/browser/standaloneCodeEditor'
82
39
  let divEl = null;
@@ -247,30 +204,10 @@ $effect(() => {
247
204
  });
248
205
  let fontSize = $derived(small ? 12 : 14);
249
206
  async function loadMonaco() {
207
+ setMonacoJsonOptions();
208
+ setMonacoJavascriptOptions();
250
209
  await initializeVscode();
251
210
  initialized = true;
252
- // if (lang === 'javascript') {
253
- // languages.typescript.javascriptDefaults.setCompilerOptions({
254
- // target: languages.typescript.ScriptTarget.Latest,
255
- // allowNonTsExtensions: true,
256
- // noSemanticValidation: false,
257
- // noLib: true,
258
- // moduleResolution: languages.typescript.ModuleResolutionKind.NodeJs
259
- // })
260
- // languages.typescript.javascriptDefaults.setDiagnosticsOptions({
261
- // noSemanticValidation: false,
262
- // noSyntaxValidation: false,
263
- // noSuggestionDiagnostics: false,
264
- // diagnosticCodesToIgnore: [1108]
265
- // })
266
- // } else if (lang === 'json') {
267
- // languages.json.jsonDefaults.setDiagnosticsOptions({
268
- // validate: true,
269
- // allowComments: false,
270
- // schemas: [],
271
- // enableSchemaRequest: true
272
- // })
273
- // }
274
211
  try {
275
212
  model = meditor.createModel(code ?? '', lang, mUri.parse(uri));
276
213
  }
@@ -289,7 +226,6 @@ async function loadMonaco() {
289
226
  return;
290
227
  }
291
228
  try {
292
- console.log('fixedOverflowWidgets', fixedOverflowWidgets);
293
229
  editor = meditor.create(divEl, {
294
230
  ...editorConfig(code ?? '', lang, automaticLayout, fixedOverflowWidgets, $relativeLineNumbers),
295
231
  model,