windmill-components 1.537.1 → 1.542.5

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 (275) 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 +35 -9
  5. package/package/components/ArgInput.svelte.d.ts +3 -3
  6. package/package/components/AssignableTagsInner.svelte +89 -3
  7. package/package/components/ConcurrentJobsChart.svelte +36 -48
  8. package/package/components/ConcurrentJobsChart.svelte.d.ts +8 -20
  9. package/package/components/CustomPopover.svelte.d.ts +1 -1
  10. package/package/components/DropdownSelect.svelte +26 -0
  11. package/package/components/DropdownSelect.svelte.d.ts +11 -0
  12. package/package/components/DropdownV2Inner.svelte +1 -1
  13. package/package/components/{DynSelect.svelte → DynamicInput.svelte} +47 -15
  14. package/package/components/DynamicInput.svelte.d.ts +11 -0
  15. package/package/components/EditableSchemaForm.svelte +119 -95
  16. package/package/components/EditableSchemaForm.svelte.d.ts +4 -4
  17. package/package/components/Editor.svelte +86 -93
  18. package/package/components/Editor.svelte.d.ts +4 -3
  19. package/package/components/EditorBar.svelte +2 -5
  20. package/package/components/EditorSettings.svelte +11 -9
  21. package/package/components/FlowBuilder.svelte +3 -3
  22. package/package/components/FlowLogRow.svelte +64 -0
  23. package/package/components/FlowLogRow.svelte.d.ts +15 -0
  24. package/package/components/FlowLogViewer.svelte +406 -373
  25. package/package/components/FlowLogViewer.svelte.d.ts +5 -1
  26. package/package/components/FlowLogViewerWrapper.svelte +44 -1
  27. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  28. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  29. package/package/components/FlowStatusViewerInner.svelte +34 -3
  30. package/package/components/FolderPicker.svelte +1 -1
  31. package/package/components/InputTransformForm.svelte +20 -10
  32. package/package/components/JobArgs.svelte +1 -1
  33. package/package/components/JobLoader.svelte.d.ts +1 -1
  34. package/package/components/JobStatus.svelte +2 -0
  35. package/package/components/LogSnippetViewer.svelte +3 -3
  36. package/package/components/LogSnippetViewer.svelte.d.ts +1 -1
  37. package/package/components/LogViewer.svelte +87 -71
  38. package/package/components/LogViewer.svelte.d.ts +1 -0
  39. package/package/components/Path.svelte +7 -1
  40. package/package/components/Path.svelte.d.ts +1 -1
  41. package/package/components/PrefixedInput.svelte +120 -0
  42. package/package/components/PrefixedInput.svelte.d.ts +8 -0
  43. package/package/components/QueuePosition.svelte +81 -0
  44. package/package/components/QueuePosition.svelte.d.ts +8 -0
  45. package/package/components/ResourceNarrowing.svelte +13 -0
  46. package/package/components/ResourceNarrowing.svelte.d.ts +6 -0
  47. package/package/components/ResourceTypePicker.svelte +49 -74
  48. package/package/components/RunChart.svelte +74 -89
  49. package/package/components/RunChart.svelte.d.ts +10 -22
  50. package/package/components/S3FilePicker.svelte +1 -1
  51. package/package/components/SchemaForm.svelte.d.ts +2 -2
  52. package/package/components/ScriptBuilder.svelte +2 -1
  53. package/package/components/ScriptEditor.svelte +4 -3
  54. package/package/components/ScriptEditor.svelte.d.ts +2 -1
  55. package/package/components/ServiceLogsInner.svelte +1 -1
  56. package/package/components/ShareModal.svelte.d.ts +1 -1
  57. package/package/components/SimpleEditor.svelte +4 -67
  58. package/package/components/StringTypeNarrowing.svelte +5 -10
  59. package/package/components/TemplateEditor.svelte +2 -16
  60. package/package/components/TimeAgo.svelte +1 -1
  61. package/package/components/TimeAgo.svelte.d.ts +1 -0
  62. package/package/components/Toggle.svelte +2 -1
  63. package/package/components/Toggle.svelte.d.ts +2 -1
  64. package/package/components/WorkerRepl.svelte +1 -1
  65. package/package/components/apps/components/display/AppNavbarItem.svelte +2 -1
  66. package/package/components/apps/components/display/table/AppAggridTable.svelte +44 -48
  67. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +101 -19
  68. package/package/components/apps/components/display/table/SyncColumnDefs.svelte.d.ts +5 -2
  69. package/package/components/apps/components/display/table/utils.js +36 -5
  70. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +10 -5
  71. package/package/components/apps/editor/AppEditor.svelte +4 -3
  72. package/package/components/apps/editor/AppEditorHeader.svelte +0 -1
  73. package/package/components/apps/editor/GridViewer.svelte.d.ts +11 -4
  74. package/package/components/apps/editor/SettingsPanel.svelte +2 -2
  75. package/package/components/apps/editor/componentsPanel/ListItem.svelte +2 -2
  76. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  77. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  78. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  79. package/package/components/apps/editor/settingsPanel/ArrayStaticInputEditor.svelte +26 -3
  80. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +1 -1
  81. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +13 -5
  82. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +30 -11
  83. package/package/components/assets/JobAssetsViewer.svelte +28 -24
  84. package/package/components/auditLogs/AuditLogsTable.svelte +2 -6
  85. package/package/components/chartjs-wrappers/Chart.svelte.d.ts +14 -7
  86. package/package/components/common/OnChange.svelte.d.ts +11 -4
  87. package/package/components/common/badge/Badge.svelte +9 -2
  88. package/package/components/common/badge/Badge.svelte.d.ts +2 -1
  89. package/package/components/common/calendarPicker/CalendarPicker.svelte +5 -1
  90. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +5 -4
  91. package/package/components/common/drawer/Disposable.svelte +9 -11
  92. package/package/components/common/drawer/Drawer.svelte +3 -4
  93. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  94. package/package/components/common/menu/MenuItem.svelte.d.ts +2 -2
  95. package/package/components/common/modal/Modal.svelte.d.ts +1 -1
  96. package/package/components/common/tabs/TabContent.svelte +2 -7
  97. package/package/components/common/tabs/TabContent.svelte.d.ts +5 -27
  98. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +9 -3
  99. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +1 -0
  100. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +8 -4
  101. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  102. package/package/components/copilot/MetadataGen.svelte +1 -1
  103. package/package/components/copilot/chat/AIChatManager.svelte.js +24 -102
  104. package/package/components/copilot/chat/AssistantMessage.svelte +0 -4
  105. package/package/components/copilot/chat/anthropic.d.ts +15 -0
  106. package/package/components/copilot/chat/anthropic.js +208 -0
  107. package/package/components/copilot/chat/api/apiTools.d.ts +2 -2
  108. package/package/components/copilot/chat/api/apiTools.js +10 -7
  109. package/package/components/copilot/chat/api/core.d.ts +1 -1
  110. package/package/components/copilot/chat/api/core.js +7 -2
  111. package/package/components/copilot/chat/ask/core.d.ts +1 -1
  112. package/package/components/copilot/chat/ask/core.js +7 -2
  113. package/package/components/copilot/chat/flow/core.d.ts +1 -1
  114. package/package/components/copilot/chat/flow/core.js +14 -4
  115. package/package/components/copilot/chat/monaco-adapter.d.ts +6 -5
  116. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  117. package/package/components/copilot/chat/navigator/core.js +7 -2
  118. package/package/components/copilot/chat/script/CodeDisplay.svelte +10 -111
  119. package/package/components/copilot/chat/script/core.d.ts +5 -4
  120. package/package/components/copilot/chat/script/core.js +131 -19
  121. package/package/components/copilot/chat/shared.d.ts +7 -7
  122. package/package/components/copilot/lib.d.ts +29 -8
  123. package/package/components/copilot/lib.js +199 -24
  124. package/package/components/custom_ui.d.ts +1 -0
  125. package/package/components/flows/content/FlowInput.svelte +5 -5
  126. package/package/components/flows/content/FlowModuleComponent.svelte +5 -2
  127. package/package/components/flows/content/FlowModuleEarlyStop.svelte +47 -17
  128. package/package/components/flows/content/FlowModuleSleep.svelte +4 -1
  129. package/package/components/flows/content/FlowModuleSuspend.svelte +0 -1
  130. package/package/components/flows/content/FlowModuleTimeout.svelte +50 -10
  131. package/package/components/flows/content/FlowModuleTimeout.svelte.d.ts +1 -0
  132. package/package/components/flows/content/FlowRetries.svelte +108 -3
  133. package/package/components/flows/content/FlowRetries.svelte.d.ts +3 -2
  134. package/package/components/flows/flowInfers.js +8 -35
  135. package/package/components/flows/flowStore.d.ts +45 -1
  136. package/package/components/flows/flowStore.js +1 -1
  137. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  138. package/package/components/flows/map/FlowModuleSchemaItem.svelte +61 -54
  139. package/package/components/flows/map/FlowModuleSchemaItem.svelte.d.ts +1 -1
  140. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -1
  141. package/package/components/flows/map/InsertModuleButton.svelte +1 -0
  142. package/package/components/flows/map/InsertModuleInner.svelte +12 -15
  143. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +10 -9
  144. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  145. package/package/components/git_sync/DetectionFlow.svelte +15 -17
  146. package/package/components/git_sync/GitSyncContext.svelte.js +1 -1
  147. package/package/components/git_sync/GitSyncRepositoryCard.svelte +0 -1
  148. package/package/components/graph/graphBuilder.svelte.d.ts +5 -1
  149. package/package/components/graph/renderers/edges/BaseEdge.svelte +9 -1
  150. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +4 -1
  151. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +2 -3
  152. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +2 -3
  153. package/package/components/graph/renderers/triggers/TriggerButton.svelte.d.ts +1 -1
  154. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +3 -1
  155. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +34 -24
  156. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte.d.ts +1 -2
  157. package/package/components/home/ItemsList.svelte +17 -13
  158. package/package/components/home/TreeView.svelte +21 -27
  159. package/package/components/home/TreeView.svelte.d.ts +2 -29
  160. package/package/components/home/TreeViewRoot.svelte +11 -23
  161. package/package/components/home/TreeViewRoot.svelte.d.ts +15 -13
  162. package/package/components/icons/GitIcon.svelte +10 -2
  163. package/package/components/icons/GitIcon.svelte.d.ts +1 -0
  164. package/package/components/meltComponents/MeltButton.svelte.d.ts +1 -1
  165. package/package/components/meltComponents/Popover.svelte +23 -3
  166. package/package/components/meltComponents/Popover.svelte.d.ts +2 -1
  167. package/package/components/monacoLanguagesOptions.d.ts +3 -0
  168. package/package/components/monacoLanguagesOptions.js +109 -0
  169. package/package/components/propertyPicker/ObjectViewer.svelte +7 -2
  170. package/package/components/propertyPicker/PropPicker.svelte +1 -1
  171. package/package/components/propertyPicker/utils.js +14 -7
  172. package/package/components/runs/JobRunsPreview.svelte +212 -177
  173. package/package/components/runs/JobsLoader.svelte +2 -2
  174. package/package/components/runs/JobsLoader.svelte.d.ts +1 -1
  175. package/package/components/runs/NoWorkerWithTagWarning.svelte +18 -5
  176. package/package/components/runs/RunBadges.svelte +100 -0
  177. package/package/components/runs/RunBadges.svelte.d.ts +12 -0
  178. package/package/components/runs/RunLabels.svelte +86 -0
  179. package/package/components/runs/RunLabels.svelte.d.ts +10 -0
  180. package/package/components/runs/RunOption.svelte +20 -0
  181. package/package/components/runs/RunOption.svelte.d.ts +10 -0
  182. package/package/components/runs/RunRow.svelte +239 -151
  183. package/package/components/runs/RunRow.svelte.d.ts +12 -9
  184. package/package/components/runs/RunsBatchActionsDropdown.svelte +13 -17
  185. package/package/components/runs/RunsBatchActionsDropdown.svelte.d.ts +5 -18
  186. package/package/components/runs/RunsFilter.svelte +369 -243
  187. package/package/components/runs/RunsFilter.svelte.d.ts +2 -0
  188. package/package/components/runs/RunsQueue.svelte +96 -25
  189. package/package/components/runs/RunsQueue.svelte.d.ts +7 -21
  190. package/package/components/runs/RunsTable.svelte +62 -71
  191. package/package/components/runs/RunsTable.svelte.d.ts +2 -1
  192. package/package/components/runs/runs-grid.css +95 -0
  193. package/package/components/schema/EditableSchemaDrawer.svelte +12 -12
  194. package/package/components/schema/FlowPropertyEditor.svelte +197 -206
  195. package/package/components/schema/PropertyEditor.svelte +33 -35
  196. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -2
  197. package/package/components/search/GlobalSearchModal.svelte +8 -1
  198. package/package/components/select/DraggableTags.svelte.d.ts +17 -7
  199. package/package/components/select/MultiSelect.svelte.d.ts +21 -11
  200. package/package/components/select/Select.svelte +2 -1
  201. package/package/components/select/Select.svelte.d.ts +25 -13
  202. package/package/components/select/SelectDropdown.svelte.d.ts +14 -7
  203. package/package/components/settings/TokenDisplay.svelte +1 -1
  204. package/package/components/sidebar/OperatorMenu.svelte +5 -0
  205. package/package/components/sidebar/SidebarContent.svelte +48 -2
  206. package/package/components/sidebar/WorkspaceMenu.svelte +116 -17
  207. package/package/components/toast.js +6 -3
  208. package/package/components/triggers/AddTriggersButton.svelte +7 -6
  209. package/package/components/triggers/CaptureWrapper.svelte +19 -3
  210. package/package/components/triggers/TriggerLabel.svelte +8 -0
  211. package/package/components/triggers/TriggerTokens.svelte +1 -1
  212. package/package/components/triggers/TriggersEditor.svelte +9 -5
  213. package/package/components/triggers/TriggersTable.svelte +2 -2
  214. package/package/components/triggers/TriggersWrapper.svelte +16 -5
  215. package/package/components/triggers/TriggersWrapper.svelte.d.ts +3 -19
  216. package/package/components/{details/EmailTriggerCaptures.svelte → triggers/email/DefaultEmailCapture.svelte} +5 -5
  217. package/package/components/{details/EmailTriggerCaptures.svelte.d.ts → triggers/email/DefaultEmailCapture.svelte.d.ts} +4 -4
  218. package/package/components/{details/EmailTriggerConfigSection.svelte → triggers/email/DefaultEmailConfigSection.svelte} +24 -14
  219. package/package/components/triggers/email/DefaultEmailConfigSection.svelte.d.ts +13 -0
  220. package/package/components/triggers/email/DefaultEmailPanel.svelte +71 -0
  221. package/package/components/triggers/email/DefaultEmailPanel.svelte.d.ts +11 -0
  222. package/package/components/triggers/email/EmailCapture.svelte +39 -0
  223. package/package/components/triggers/email/EmailCapture.svelte.d.ts +43 -0
  224. package/package/components/triggers/email/EmailTriggerEditor.svelte +20 -0
  225. package/package/components/triggers/email/EmailTriggerEditor.svelte.d.ts +11 -0
  226. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte +133 -0
  227. package/package/components/triggers/email/EmailTriggerEditorConfigSection.svelte.d.ts +14 -0
  228. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +335 -0
  229. package/package/components/triggers/email/EmailTriggerEditorInner.svelte.d.ts +22 -0
  230. package/package/components/triggers/email/EmailTriggerPanel.svelte +61 -0
  231. package/package/components/triggers/email/EmailTriggerPanel.svelte.d.ts +14 -0
  232. package/package/components/triggers/email/utils.d.ts +4 -0
  233. package/package/components/triggers/email/utils.js +52 -0
  234. package/package/components/triggers/http/RouteEditorConfigSection.svelte +1 -1
  235. package/package/components/triggers/http/utils.js +1 -1
  236. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  237. package/package/components/triggers/triggers.svelte.js +24 -2
  238. package/package/components/triggers/utils.js +19 -5
  239. package/package/components/triggers.d.ts +1 -1
  240. package/package/components/triggers.js +2 -0
  241. package/package/components/wizards/AgGridWizard.svelte +85 -80
  242. package/package/components/workspaceSettings/AISettings.svelte +74 -22
  243. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  244. package/package/components/workspaceSettings/CreateWorkspace.svelte +395 -0
  245. package/package/components/workspaceSettings/CreateWorkspace.svelte.d.ts +6 -0
  246. package/package/components/workspaceSettings/DucklakeSettings.svelte +3 -1
  247. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +1 -1
  248. package/package/components/workspaceSettings/StorageSettings.svelte +69 -48
  249. package/package/gen/core/OpenAPI.js +1 -1
  250. package/package/gen/schemas.gen.d.ts +142 -3
  251. package/package/gen/schemas.gen.js +144 -3
  252. package/package/gen/services.gen.d.ts +129 -1
  253. package/package/gen/services.gen.js +267 -1
  254. package/package/gen/types.gen.d.ts +434 -8
  255. package/package/hubPaths.json +4 -2
  256. package/package/infer.js +1 -1
  257. package/package/keyboardChain.d.ts +5 -0
  258. package/package/keyboardChain.js +40 -0
  259. package/package/services/JobManager.js +2 -2
  260. package/package/stores.d.ts +3 -1
  261. package/package/stores.js +8 -5
  262. package/package/utils/workspaceHierarchy.d.ts +27 -0
  263. package/package/utils/workspaceHierarchy.js +101 -0
  264. package/package/utils.d.ts +6 -3
  265. package/package/utils.js +30 -15
  266. package/package/workspace_settings.js +2 -3
  267. package/package.json +9 -11
  268. package/package/components/DynSelect.svelte.d.ts +0 -11
  269. package/package/components/ObjectTypeNarrowing.svelte +0 -18
  270. package/package/components/ObjectTypeNarrowing.svelte.d.ts +0 -22
  271. package/package/components/details/DetailPageTriggerPanel.svelte +0 -121
  272. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +0 -20
  273. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +0 -12
  274. package/package/components/details/EmailTriggerPanel.svelte +0 -76
  275. package/package/components/details/EmailTriggerPanel.svelte.d.ts +0 -26
@@ -1,72 +1,6 @@
1
1
  <script module>
2
2
  import '@codingame/monaco-vscode-standalone-languages'
3
3
  import '@codingame/monaco-vscode-standalone-typescript-language-features'
4
- import processStdContent from '../process.d.ts.txt?raw'
5
-
6
- languages.typescript.typescriptDefaults.addExtraLib(processStdContent, 'process.d.ts')
7
-
8
- languages.typescript.typescriptDefaults.setModeConfiguration({
9
- completionItems: true,
10
- hovers: true,
11
- documentSymbols: true,
12
- definitions: true,
13
- references: true,
14
- documentHighlights: true,
15
- rename: true,
16
- diagnostics: true,
17
- documentRangeFormattingEdits: true,
18
- signatureHelp: true,
19
- onTypeFormattingEdits: true,
20
- codeActions: true,
21
- inlayHints: true
22
- })
23
-
24
- // languages.typescript.javascriptDefaults.setEagerModelSync(true)
25
- languages.typescript.typescriptDefaults.setEagerModelSync(true)
26
-
27
- // languages.typescript.javascriptDefaults.setDiagnosticsOptions({
28
- // noSemanticValidation: false,
29
- // noSyntaxValidation: false,
30
- // noSuggestionDiagnostics: false,
31
- // diagnosticCodesToIgnore: [1108]
32
- // })
33
-
34
- languages.typescript.typescriptDefaults.setDiagnosticsOptions({
35
- noSemanticValidation: false,
36
- noSyntaxValidation: false,
37
-
38
- noSuggestionDiagnostics: false,
39
- diagnosticCodesToIgnore: [1108, 7006, 7034, 7019, 7005]
40
- })
41
-
42
- languages.typescript.typescriptDefaults.setCompilerOptions({
43
- target: languages.typescript.ScriptTarget.Latest,
44
- allowNonTsExtensions: true,
45
- noSemanticValidation: false,
46
- noSyntaxValidation: false,
47
- completionItems: true,
48
- hovers: true,
49
- documentSymbols: true,
50
- definitions: true,
51
- references: true,
52
- documentHighlights: true,
53
- rename: true,
54
- diagnostics: true,
55
- documentRangeFormattingEdits: true,
56
- signatureHelp: true,
57
- onTypeFormattingEdits: true,
58
- codeActions: true,
59
- inlayHints: true,
60
- checkJs: true,
61
- allowJs: true,
62
- noUnusedLocals: true,
63
- strict: true,
64
- noLib: false,
65
- allowImportingTsExtensions: true,
66
- allowSyntheticDefaultImports: true,
67
- moduleResolution: languages.typescript.ModuleResolutionKind.NodeJs,
68
- jsx: languages.typescript.JsxEmit.React
69
- })
70
4
  </script>
71
5
 
72
6
  <script lang="ts">import { BROWSER } from 'esm-env';
@@ -111,10 +45,12 @@ import { editorPositionMap } from '../utils';
111
45
  import { extToLang, langToExt } from '../editorLangUtils';
112
46
  import { aiChatManager } from './copilot/chat/AIChatManager.svelte';
113
47
  import { getDbSchemas } from './apps/components/display/dbtable/utils';
48
+ import { PYTHON_PREPROCESSOR_MODULE_CODE, TS_PREPROCESSOR_MODULE_CODE } from '../script_helpers';
49
+ import { setMonacoTypescriptOptions } from './monacoLanguagesOptions';
114
50
  // import EditorTheme from './EditorTheme.svelte'
115
51
  let divEl = $state(null);
116
52
  let editor = $state(null);
117
- let { code = $bindable(), cmdEnterAction = undefined, formatAction = undefined, automaticLayout = true, websocketAlive = $bindable(), shouldBindKey = true, fixedOverflowWidgets = true, path = undefined, yContent = undefined, awareness = undefined, folding = false, args = undefined, useWebsockets = true, small = false, scriptLang, disabled = false, lineNumbersMinChars = 3, files = {}, extraLib = undefined, changeTimeout = 500, loadAsync = false, key = undefined, class: clazz = undefined, moduleId = undefined } = $props();
53
+ let { code = $bindable(), cmdEnterAction = undefined, formatAction = undefined, automaticLayout = true, websocketAlive = $bindable(), shouldBindKey = true, fixedOverflowWidgets = true, path = undefined, yContent = undefined, awareness = undefined, folding = false, args = undefined, useWebsockets = true, small = false, scriptLang, disabled = false, lineNumbersMinChars = 3, files = {}, extraLib = undefined, changeTimeout = 500, loadAsync = false, key = undefined, class: clazz = undefined, moduleId = undefined, enablePreprocessorSnippet = false } = $props();
118
54
  $effect.pre(() => {
119
55
  if (websocketAlive == undefined) {
120
56
  websocketAlive = {
@@ -522,17 +458,62 @@ function addDBSchemaCompletions() {
522
458
  });
523
459
  }
524
460
  }
461
+ let preprocessorCompletor = undefined;
462
+ function addPreprocessorCompletions(lang) {
463
+ if (preprocessorCompletor) {
464
+ preprocessorCompletor.dispose();
465
+ }
466
+ const preprocessorCode = lang === 'typescript' ? TS_PREPROCESSOR_MODULE_CODE : PYTHON_PREPROCESSOR_MODULE_CODE;
467
+ preprocessorCompletor = languages.registerCompletionItemProvider(lang, {
468
+ provideCompletionItems: function (model, position) {
469
+ const word = model.getWordUntilPosition(position);
470
+ if (word.word.length >= 3 && 'preprocessor'.startsWith(word.word)) {
471
+ const range = {
472
+ startLineNumber: position.lineNumber,
473
+ endLineNumber: position.lineNumber,
474
+ startColumn: word.startColumn,
475
+ endColumn: word.endColumn
476
+ };
477
+ return {
478
+ suggestions: [
479
+ {
480
+ label: 'preprocessor (windmill)',
481
+ kind: languages.CompletionItemKind.Function,
482
+ insertTextRules: languages.CompletionItemInsertTextRule.InsertAsSnippet,
483
+ insertText: preprocessorCode,
484
+ range,
485
+ additionalTextEdits: [
486
+ {
487
+ range: {
488
+ startLineNumber: position.lineNumber,
489
+ endLineNumber: position.lineNumber,
490
+ startColumn: 0,
491
+ endColumn: word.startColumn
492
+ },
493
+ text: ''
494
+ }
495
+ ]
496
+ }
497
+ ]
498
+ };
499
+ }
500
+ return {
501
+ suggestions: []
502
+ };
503
+ }
504
+ });
505
+ }
525
506
  let reviewingChanges = $state(writable(false));
526
507
  let aiChatEditorHandler = $state(undefined);
527
508
  // Inline ai chat widget
528
509
  let showInlineAIChat = $state(false);
529
510
  let inlineAIChatSelection = $state(null);
530
511
  let selectedCode = $state('');
531
- export function reviewAndApplyCode(code, applyAll = false) {
532
- aiChatEditorHandler?.reviewChanges(code, { applyAll, mode: 'apply' });
512
+ export async function reviewAndApplyCode(code, opts) {
513
+ await aiChatEditorHandler?.reviewChanges(code, opts);
533
514
  }
534
- export function reviewAppliedCode(originalCode, opts) {
535
- aiChatEditorHandler?.reviewChanges(originalCode, {
515
+ export async function reviewAppliedCode(originalCode, opts) {
516
+ await aiChatEditorHandler?.reviewChanges(originalCode, {
536
517
  mode: 'revert',
537
518
  onFinishedReview: opts?.onFinishedReview
538
519
  });
@@ -970,6 +951,7 @@ function onFileChanges() {
970
951
  }
971
952
  let timeoutModel = undefined;
972
953
  async function loadMonaco() {
954
+ setMonacoTypescriptOptions();
973
955
  console.log('path', uri);
974
956
  try {
975
957
  console.log("Loading Monaco's language client");
@@ -1035,7 +1017,7 @@ async function loadMonaco() {
1035
1017
  }, changeTimeout);
1036
1018
  ataModel && clearTimeout(ataModel);
1037
1019
  ataModel = setTimeout(() => {
1038
- if (scriptLang == 'bun') {
1020
+ if (scriptLang == 'bun' || scriptLang == 'bunnative') {
1039
1021
  ata?.(getCode());
1040
1022
  }
1041
1023
  }, 1000);
@@ -1156,7 +1138,9 @@ async function setTypescriptExtraLibs() {
1156
1138
  const uri = mUri.parse('file:///extraLib.d.ts');
1157
1139
  languages.typescript.typescriptDefaults.addExtraLib(extraLib, uri.toString());
1158
1140
  }
1159
- if (lang === 'typescript' && (scriptLang == 'bun' || scriptLang == 'tsx') && ata == undefined) {
1141
+ if (lang === 'typescript' &&
1142
+ (scriptLang == 'bun' || scriptLang == 'tsx' || scriptLang == 'bunnative') &&
1143
+ ata == undefined) {
1160
1144
  const hostname = getHostname();
1161
1145
  const addLibraryToRuntime = async (code, _path) => {
1162
1146
  const path = 'file://' + _path;
@@ -1222,6 +1206,8 @@ async function setTypescriptExtraLibs() {
1222
1206
  });
1223
1207
  if (scriptLang == 'bun') {
1224
1208
  ata?.('import "bun-types"');
1209
+ }
1210
+ if (scriptLang == 'bunnative' || scriptLang == 'bun') {
1225
1211
  ata?.(code ?? '');
1226
1212
  }
1227
1213
  dispatch('ataReady');
@@ -1280,6 +1266,7 @@ onDestroy(() => {
1280
1266
  sqlSchemaCompletor && sqlSchemaCompletor.dispose();
1281
1267
  autocompletor && autocompletor.dispose();
1282
1268
  sqlTypeCompletor && sqlTypeCompletor.dispose();
1269
+ preprocessorCompletor && preprocessorCompletor.dispose();
1283
1270
  timeoutModel && clearTimeout(timeoutModel);
1284
1271
  loadTimeout && clearTimeout(loadTimeout);
1285
1272
  aiChatEditorHandler?.clear();
@@ -1298,15 +1285,33 @@ async function genRoot(hostname) {
1298
1285
  let root = hostname + '/api/scripts_u/tokened_raw/' + $workspaceStore + '/' + token;
1299
1286
  return root;
1300
1287
  }
1288
+ function acceptCodeChanges() {
1289
+ const mode = aiChatEditorHandler?.getReviewMode?.();
1290
+ if (mode === 'revert') {
1291
+ aiChatEditorHandler?.keepAll();
1292
+ }
1293
+ else {
1294
+ aiChatEditorHandler?.acceptAll();
1295
+ }
1296
+ }
1297
+ function rejectCodeChanges() {
1298
+ const mode = aiChatEditorHandler?.getReviewMode?.();
1299
+ if (mode === 'revert') {
1300
+ aiChatEditorHandler?.revertAll();
1301
+ }
1302
+ else {
1303
+ aiChatEditorHandler?.rejectAll();
1304
+ }
1305
+ }
1301
1306
  function onKeyDown(e) {
1302
1307
  if (e.key === 'Escape') {
1303
1308
  if (showInlineAIChat) {
1304
1309
  closeAIInlineWidget();
1305
1310
  }
1306
- aiChatEditorHandler?.rejectAll();
1311
+ rejectCodeChanges();
1307
1312
  }
1308
1313
  else if ((e.ctrlKey || e.metaKey) && e.key === 'ArrowDown' && aiChatManager.pendingNewCode) {
1309
- aiChatManager.scriptEditorApplyCode?.(aiChatManager.pendingNewCode);
1314
+ acceptCodeChanges();
1310
1315
  if (showInlineAIChat) {
1311
1316
  closeAIInlineWidget();
1312
1317
  }
@@ -1330,6 +1335,11 @@ $effect(() => {
1330
1335
  ? untrack(() => addSqlTypeCompletions())
1331
1336
  : sqlTypeCompletor?.dispose();
1332
1337
  });
1338
+ $effect(() => {
1339
+ initialized && (lang === 'typescript' || lang === 'python') && enablePreprocessorSnippet
1340
+ ? untrack(() => addPreprocessorCompletions(lang))
1341
+ : preprocessorCompletor?.dispose();
1342
+ });
1333
1343
  let lastArg = undefined;
1334
1344
  $effect(() => {
1335
1345
  let newArg = lang === 'graphql' ? args?.api : args?.database;
@@ -1405,24 +1415,7 @@ $effect(() => {
1405
1415
  {/if}
1406
1416
 
1407
1417
  {#if $reviewingChanges}
1408
- <GlobalReviewButtons
1409
- onAcceptAll={() => {
1410
- const mode = aiChatEditorHandler?.getReviewMode?.()
1411
- if (mode === 'revert') {
1412
- aiChatEditorHandler?.keepAll()
1413
- } else {
1414
- aiChatEditorHandler?.acceptAll()
1415
- }
1416
- }}
1417
- onRejectAll={() => {
1418
- const mode = aiChatEditorHandler?.getReviewMode?.()
1419
- if (mode === 'revert') {
1420
- aiChatEditorHandler?.revertAll()
1421
- } else {
1422
- aiChatEditorHandler?.rejectAll()
1423
- }
1424
- }}
1425
- />
1418
+ <GlobalReviewButtons onAcceptAll={acceptCodeChanges} onRejectAll={rejectCodeChanges} />
1426
1419
  {/if}
1427
1420
 
1428
1421
  {#if editor && $copilotInfo.enabled && aiChatEditorHandler}
@@ -4,7 +4,7 @@ import { type Preview } from '../gen';
4
4
  import type { Text } from 'yjs';
5
5
  import { editor as meditor, type IDisposable } from 'monaco-editor';
6
6
  import { type DepsToGet } from '../ata/index';
7
- import { AIChatEditorHandler } from './copilot/chat/monaco-adapter';
7
+ import { AIChatEditorHandler, type ReviewChangesOpts } from './copilot/chat/monaco-adapter';
8
8
  interface Props {
9
9
  code?: string;
10
10
  cmdEnterAction?: (() => void) | undefined;
@@ -33,6 +33,7 @@ interface Props {
33
33
  key?: string | undefined;
34
34
  class?: string | undefined;
35
35
  moduleId?: string;
36
+ enablePreprocessorSnippet?: boolean;
36
37
  }
37
38
  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> {
38
39
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -73,10 +74,10 @@ declare const Editor: $$__sveltets_2_IsomorphicComponent<Props, {
73
74
  append: (code: string) => void;
74
75
  format: () => Promise<void>;
75
76
  getScriptLang: () => string | undefined;
76
- reviewAndApplyCode: (code: string, applyAll?: boolean) => void;
77
+ reviewAndApplyCode: (code: string, opts?: ReviewChangesOpts) => Promise<void>;
77
78
  reviewAppliedCode: (originalCode: string, opts?: {
78
79
  onFinishedReview?: () => void;
79
- }) => void;
80
+ }) => Promise<void>;
80
81
  getAiChatEditorHandler: () => AIChatEditorHandler | undefined;
81
82
  reloadWebsocket: () => Promise<void>;
82
83
  fetchPackageDeps: (deps: DepsToGet) => Promise<void>;
@@ -89,7 +89,7 @@ let showResourcePicker = $derived([
89
89
  'csharp',
90
90
  'nu',
91
91
  'java',
92
- 'ruby',
92
+ 'ruby'
93
93
  // for related places search: ADD_NEW_LANG
94
94
  ].includes(lang ?? ''));
95
95
  let showS3Picker = $derived(['duckdb', 'python3'].includes(lang ?? '') ||
@@ -619,10 +619,7 @@ JsonNode ${windmillPathToCamelCaseName(path)} = JsonNode.Parse(await client.GetS
619
619
  on:selectAndClose={(s3obj) => {
620
620
  let s = `'${formatS3Object(s3obj.detail)}'`
621
621
  if (lang === 'duckdb') {
622
- if (s3obj.detail?.s3.endsWith('.json')) s = `read_json(${s})`
623
- if (s3obj.detail?.s3.endsWith('.csv')) s = `read_csv(${s})`
624
- if (s3obj.detail?.s3.endsWith('.parquet')) s = `read_parquet(${s})`
625
- editor?.insertAtCursor(s)
622
+ editor?.insertAtCursor(`SELECT * FROM ${s}`)
626
623
  } else if (lang === 'python3') {
627
624
  if (!editor?.getCode().includes('import wmill')) {
628
625
  editor?.insertAtBeginning('import wmill\n')
@@ -15,15 +15,17 @@ export let customUi = {};
15
15
  contentClasses="flex flex-col gap-y-2 p-4"
16
16
  >
17
17
  <svelte:fragment slot="trigger">
18
- <Button
19
- btnClasses="text-tertiary"
20
- color="light"
21
- size="xs"
22
- nonCaptureEvent={true}
23
- startIcon={{ icon: Settings }}
24
- iconOnly
25
- title="Editor settings"
26
- />
18
+ {#if customUi.editorSettings != false}
19
+ <Button
20
+ btnClasses="text-tertiary"
21
+ color="light"
22
+ size="xs"
23
+ nonCaptureEvent={true}
24
+ startIcon={{ icon: Settings }}
25
+ iconOnly
26
+ title="Editor settings"
27
+ />
28
+ {/if}
27
29
  </svelte:fragment>
28
30
 
29
31
  <svelte:fragment slot="content">
@@ -474,7 +474,7 @@ setContext('FlowGraphAssetContext', initFlowGraphAssetsCtx({ getModules: () => f
474
474
  // Add triggers context store
475
475
  const triggersState = $state(new Triggers([
476
476
  { type: 'webhook', path: '', isDraft: false },
477
- { type: 'email', path: '', isDraft: false },
477
+ { type: 'default_email', path: '', isDraft: false },
478
478
  ...(draftTriggersFromUrl ?? savedFlow?.draft?.draft_triggers ?? [])
479
479
  ], selectedTriggerIndexFromUrl, saveSessionDraft));
480
480
  setContext('TriggerContext', {
@@ -523,7 +523,7 @@ function onKeyDown(event) {
523
523
  }
524
524
  break;
525
525
  case 'ArrowDown': {
526
- if (!$insertButtonOpen) {
526
+ if (!$insertButtonOpen && !flowPreviewButtons?.getPreviewOpen()) {
527
527
  let ids = generateIds();
528
528
  let idx = ids.indexOf($selectedIdStore);
529
529
  if (idx > -1 && idx < ids.length - 1) {
@@ -534,7 +534,7 @@ function onKeyDown(event) {
534
534
  break;
535
535
  }
536
536
  case 'ArrowUp': {
537
- if (!$insertButtonOpen) {
537
+ if (!$insertButtonOpen && !flowPreviewButtons?.getPreviewOpen()) {
538
538
  let ids = generateIds();
539
539
  let idx = ids.indexOf($selectedIdStore);
540
540
  if (idx > 0 && idx < ids.length) {
@@ -0,0 +1,64 @@
1
+ <script lang="ts">import { twMerge } from 'tailwind-merge';
2
+ import { ChevronDown, ChevronRight } from 'lucide-svelte';
3
+ let { id, isCollapsible, isRunning, isCurrent, isExpanded, toggleExpanded, children, label, class: className = '', select } = $props();
4
+ function handleClick() {
5
+ if (isCollapsible) {
6
+ toggleExpanded(id);
7
+ }
8
+ select(id);
9
+ }
10
+ </script>
11
+
12
+ <li
13
+ class={twMerge(
14
+ 'border-b flex flex-col',
15
+ isCurrent(id) ? 'border-l-2 !border-l-gray-400 -ml-[2px]' : ''
16
+ )}
17
+ >
18
+ <button
19
+ class={twMerge(
20
+ 'py-1 leading-tight w-full flex items-center justify-left text-xs text-tertiary hover:text-primary ',
21
+ isCurrent(id) ? 'bg-surface-hover text-primary' : '',
22
+ className
23
+ )}
24
+ tabindex="-1"
25
+ onclick={handleClick}
26
+ data-nav-id={id}
27
+ >
28
+ <div class="px-1">
29
+ {#if isCollapsible}
30
+ {#if isExpanded(id, isRunning) || id === 'root-flow'}
31
+ <ChevronDown size={8} strokeWidth={isCurrent(id) ? 4 : 2} />
32
+ {:else}
33
+ <ChevronRight size={8} strokeWidth={isCurrent(id) ? 4 : 2} />
34
+ {/if}
35
+ {:else}
36
+ <!-- Empty subflow - no collapse button, just spacing -->
37
+ <div class="w-2"></div>
38
+ {/if}
39
+ </div>
40
+ <div class="w-full leading-tight">
41
+ <div class={twMerge('w-full pr-2 cursor-pointer', isCurrent(id) ? 'bg-surface-hover' : '')}>
42
+ {@render label()}
43
+ </div>
44
+ </div>
45
+ </button>
46
+
47
+ {#if isExpanded(id) || !isCollapsible}
48
+ <div class="my-1 transition-all duration-200 ease-in-out">
49
+ <div class="pl-4">
50
+ {@render children()}
51
+ </div>
52
+ </div>
53
+ {/if}
54
+ </li>
55
+
56
+ <style>
57
+ .transition-all {
58
+ transition: all 0.2s ease-in-out;
59
+ }
60
+
61
+ [data-nav-id]:focus-visible {
62
+ outline: none;
63
+ outline-offset: 0;
64
+ }</style>
@@ -0,0 +1,15 @@
1
+ interface Props {
2
+ id: string;
3
+ isCollapsible: boolean;
4
+ isRunning?: boolean;
5
+ isCurrent: (id: string) => boolean;
6
+ isExpanded: (id: string, isRunning?: boolean) => boolean;
7
+ toggleExpanded: (id: string) => void;
8
+ children: import('svelte').Snippet;
9
+ label: import('svelte').Snippet;
10
+ class?: string;
11
+ select: (id: string) => void;
12
+ }
13
+ declare const FlowLogRow: import("svelte").Component<Props, {}, "">;
14
+ type FlowLogRow = ReturnType<typeof FlowLogRow>;
15
+ export default FlowLogRow;