windmill-components 1.511.1 → 1.531.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/package/components/AIAgentLogViewer.svelte +123 -0
  2. package/package/components/AIAgentLogViewer.svelte.d.ts +13 -0
  3. package/package/components/AppConnectInner.svelte +10 -10
  4. package/package/components/AppConnectInner.svelte.d.ts +1 -1
  5. package/package/components/ArgInput.svelte +42 -14
  6. package/package/components/ArgInput.svelte.d.ts +2 -10
  7. package/package/components/AssignableTagsInner.svelte +5 -0
  8. package/package/components/AuthSettings.svelte +4 -2
  9. package/package/components/AuthSettings.svelte.d.ts +1 -0
  10. package/package/components/AutoscalingConfigEditor.svelte +76 -2
  11. package/package/components/DBManagerDrawer.svelte +154 -151
  12. package/package/components/DBManagerDrawer.svelte.d.ts +2 -2
  13. package/package/components/DBTable.svelte +3 -3
  14. package/package/components/DBTable.svelte.d.ts +1 -0
  15. package/package/components/DBTableEditor.svelte +7 -7
  16. package/package/components/DBTableEditor.svelte.d.ts +1 -1
  17. package/package/components/DeployWorkspace.svelte +1 -1
  18. package/package/components/Dev.svelte +12 -28
  19. package/package/components/DiffEditor.svelte +6 -3
  20. package/package/components/DiffEditor.svelte.d.ts +1 -0
  21. package/package/components/DisplayResult.svelte +46 -14
  22. package/package/components/DisplayResult.svelte.d.ts +5 -1
  23. package/package/components/DynSelect.svelte +58 -34
  24. package/package/components/DynSelect.svelte.d.ts +3 -11
  25. package/package/components/EditableSchemaForm.svelte +131 -8
  26. package/package/components/EditableSchemaForm.svelte.d.ts +5 -1
  27. package/package/components/Editor.svelte +27 -9
  28. package/package/components/Editor.svelte.d.ts +1 -1
  29. package/package/components/EditorBar.svelte +105 -7
  30. package/package/components/EditorSettings.svelte +6 -0
  31. package/package/components/ErrorOrRecoveryHandler.svelte +76 -8
  32. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -1
  33. package/package/components/ExploreAssetButton.svelte +14 -4
  34. package/package/components/ExploreAssetButton.svelte.d.ts +1 -0
  35. package/package/components/FirstStepInputs.svelte +2 -2
  36. package/package/components/FlowBuilder.svelte +18 -36
  37. package/package/components/FlowGraphViewerStep.svelte +7 -0
  38. package/package/components/FlowJobResult.svelte +16 -64
  39. package/package/components/FlowJobResult.svelte.d.ts +11 -4
  40. package/package/components/FlowLogViewer.svelte +660 -0
  41. package/package/components/FlowLogViewer.svelte.d.ts +34 -0
  42. package/package/components/FlowLogViewerWrapper.svelte +52 -0
  43. package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
  44. package/package/components/FlowLoopIterationPreview.svelte +3 -3
  45. package/package/components/FlowPreviewContent.svelte +13 -6
  46. package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
  47. package/package/components/FlowPreviewResult.svelte +7 -5
  48. package/package/components/FlowPreviewResult.svelte.d.ts +4 -5
  49. package/package/components/FlowStatusViewer.svelte +28 -16
  50. package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
  51. package/package/components/FlowStatusViewerInner.svelte +500 -295
  52. package/package/components/FlowStatusViewerInner.svelte.d.ts +34 -34
  53. package/package/components/FlowTimeline.svelte +11 -13
  54. package/package/components/FlowTimeline.svelte.d.ts +6 -5
  55. package/package/components/FolderEditor.svelte +1 -1
  56. package/package/components/GitDiffPreview.svelte +14 -18
  57. package/package/components/GitDiffPreview.svelte.d.ts +2 -8
  58. package/package/components/GitHubAppIntegration.svelte +3 -1
  59. package/package/components/HighlightCode.svelte +4 -1
  60. package/package/components/IconedResourceType.svelte +9 -5
  61. package/package/components/IdEditorInput.svelte +25 -22
  62. package/package/components/IdEditorInput.svelte.d.ts +11 -23
  63. package/package/components/InstanceSetting.svelte +7 -2
  64. package/package/components/InstanceSettings.svelte +1 -0
  65. package/package/components/JobLoader.svelte +108 -12
  66. package/package/components/JobLoader.svelte.d.ts +16 -3
  67. package/package/components/LogViewer.svelte +8 -2
  68. package/package/components/LogViewer.svelte.d.ts +1 -0
  69. package/package/components/LogViewerHeader.svelte +32 -0
  70. package/package/components/LogViewerHeader.svelte.d.ts +8 -0
  71. package/package/components/Login.svelte +8 -2
  72. package/package/components/MemoryFootprintViewer.svelte +1 -1
  73. package/package/components/ModulePreviewForm.svelte +10 -6
  74. package/package/components/ModulePreviewResultViewer.svelte +18 -2
  75. package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
  76. package/package/components/ModuleTest.svelte +59 -16
  77. package/package/components/MoveDrawer.svelte.d.ts +2 -2
  78. package/package/components/NextcloudSetting.svelte +84 -0
  79. package/package/components/NextcloudSetting.svelte.d.ts +7 -0
  80. package/package/components/ObjectResourceInput.svelte +3 -2
  81. package/package/components/ObjectResourceInput.svelte.d.ts +1 -0
  82. package/package/components/ParqetCsvTableRenderer.svelte +1 -1
  83. package/package/components/RelativeLineNumbers.svelte +16 -0
  84. package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
  85. package/package/components/ResourceEditor.svelte +10 -5
  86. package/package/components/ResourcePicker.svelte +8 -1
  87. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  88. package/package/components/ResultStreamDisplay.svelte +5 -0
  89. package/package/components/ResultStreamDisplay.svelte.d.ts +5 -0
  90. package/package/components/RunForm.svelte +9 -1
  91. package/package/components/SchemaForm.svelte +2 -2
  92. package/package/components/SchemaForm.svelte.d.ts +2 -10
  93. package/package/components/ScriptBuilder.svelte +26 -19
  94. package/package/components/ScriptBuilder.svelte.d.ts +1 -1
  95. package/package/components/ScriptEditor.svelte +2 -2
  96. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  97. package/package/components/ScriptWrapper.svelte +1 -1
  98. package/package/components/ShareModal.svelte.d.ts +1 -1
  99. package/package/components/SimpleAgTable.svelte +2 -0
  100. package/package/components/SimpleAgTable.svelte.d.ts +2 -0
  101. package/package/components/SimpleEditor.svelte +10 -4
  102. package/package/components/SimpleEditor.svelte.d.ts +1 -0
  103. package/package/components/SqlRepl.svelte +21 -7
  104. package/package/components/SqlRepl.svelte.d.ts +2 -2
  105. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  106. package/package/components/TemplateEditor.svelte +1 -1
  107. package/package/components/UserSettings.svelte +4 -4
  108. package/package/components/WorkerTagSelect.svelte +70 -1
  109. package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
  110. package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
  111. package/package/components/apps/components/display/AppDisplayComponent.svelte +13 -1
  112. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
  113. package/package/components/apps/components/display/AppText.svelte +2 -2
  114. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +8 -1
  115. package/package/components/apps/components/display/dbtable/InsertRow.svelte +5 -4
  116. package/package/components/apps/components/display/dbtable/queries/count.js +11 -1
  117. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +1 -1
  118. package/package/components/apps/components/display/dbtable/queries/createTable.js +3 -3
  119. package/package/components/apps/components/display/dbtable/queries/delete.js +7 -0
  120. package/package/components/apps/components/display/dbtable/queries/insert.js +2 -0
  121. package/package/components/apps/components/display/dbtable/queries/select.js +14 -0
  122. package/package/components/apps/components/display/dbtable/queries/update.js +7 -0
  123. package/package/components/apps/components/display/dbtable/utils.d.ts +6 -5
  124. package/package/components/apps/components/display/dbtable/utils.js +52 -28
  125. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +1 -1
  126. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +1 -0
  127. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte.d.ts +1 -0
  128. package/package/components/apps/components/display/table/AppAggridTable.svelte +7 -6
  129. package/package/components/apps/components/display/table/AppAggridTable.svelte.d.ts +1 -0
  130. package/package/components/apps/components/display/table/utils.js +7 -4
  131. package/package/components/apps/components/helpers/HiddenComponent.svelte +2 -3
  132. package/package/components/apps/components/helpers/InputValue.svelte +6 -1
  133. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
  134. package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
  135. package/package/components/apps/components/helpers/RunnableComponent.svelte +10 -8
  136. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -2
  137. package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
  138. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
  139. package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
  140. package/package/components/apps/components/inputs/AppS3FileInput.svelte +2 -2
  141. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
  142. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  143. package/package/components/apps/components/layout/AppDecisionTree.svelte +32 -21
  144. package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
  145. package/package/components/apps/components/layout/AppList.svelte +9 -8
  146. package/package/components/apps/components/layout/AppModal.svelte +1 -1
  147. package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
  148. package/package/components/apps/components/layout/AppStepper.svelte +10 -6
  149. package/package/components/apps/components/layout/AppTabs.svelte +3 -3
  150. package/package/components/apps/editor/AppEditorHeader.svelte +13 -2
  151. package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
  152. package/package/components/apps/editor/GridEditor.svelte +24 -19
  153. package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
  154. package/package/components/apps/editor/GridViewer.svelte +1 -0
  155. package/package/components/apps/editor/RunnableJobPanelInner.svelte +2 -1
  156. package/package/components/apps/editor/SubGridEditor.svelte +7 -11
  157. package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
  158. package/package/components/apps/editor/appUtils.js +17 -68
  159. package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
  160. package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
  161. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +7 -7
  162. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte.d.ts +7 -19
  163. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +14 -55
  164. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  165. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  166. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  167. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +31 -45
  168. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
  169. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
  170. package/package/components/apps/editor/settingsPanel/decisionTree/DecisionTreePreview.svelte +1 -3
  171. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
  172. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
  173. package/package/components/apps/svelte-grid/Grid.svelte +23 -25
  174. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
  175. package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
  176. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
  177. package/package/components/apps/utils.d.ts +2 -0
  178. package/package/components/apps/utils.js +22 -0
  179. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  180. package/package/components/assets/JobAssetsViewer.svelte +2 -2
  181. package/package/components/assets/lib.js +4 -0
  182. package/package/components/auditLogs/AuditLogsFilters.svelte +7 -9
  183. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  184. package/package/components/common/button/Button.svelte +4 -3
  185. package/package/components/common/button/Button.svelte.d.ts +1 -0
  186. package/package/components/common/confirmationModal/ConfirmationModal.svelte +6 -5
  187. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +6 -11
  188. package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.d.ts +26 -0
  189. package/package/components/common/confirmationModal/asyncConfirmationModal.svelte.js +50 -0
  190. package/package/components/common/fileDownload/FileDownload.svelte +1 -3
  191. package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
  192. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  193. package/package/components/common/modal/Modal.svelte +2 -5
  194. package/package/components/common/tabs/TabsV2.svelte +2 -1
  195. package/package/components/common/tabs/TabsV2.svelte.d.ts +1 -0
  196. package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
  197. package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
  198. package/package/components/copilot/MetadataGen.svelte +19 -1
  199. package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
  200. package/package/components/copilot/ScriptGen.svelte +23 -31
  201. package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
  202. package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
  203. package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
  204. package/package/components/copilot/chat/AIChatInput.svelte +29 -6
  205. package/package/components/copilot/chat/AIChatManager.svelte.js +171 -33
  206. package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
  207. package/package/components/copilot/chat/ContextTextarea.svelte +1 -1
  208. package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
  209. package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
  210. package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
  211. package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
  212. package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
  213. package/package/components/copilot/chat/api/apiTools.js +192 -0
  214. package/package/components/copilot/chat/api/core.d.ts +7 -0
  215. package/package/components/copilot/chat/api/core.js +61 -0
  216. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
  217. package/package/components/copilot/chat/flow/core.js +213 -42
  218. package/package/components/copilot/chat/flow/utils.js +3 -0
  219. package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
  220. package/package/components/copilot/chat/monaco-adapter.js +10 -4
  221. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  222. package/package/components/copilot/chat/navigator/core.js +20 -22
  223. package/package/components/copilot/chat/script/core.d.ts +11 -3
  224. package/package/components/copilot/chat/script/core.js +120 -44
  225. package/package/components/copilot/chat/shared.d.ts +31 -4
  226. package/package/components/copilot/chat/shared.js +235 -10
  227. package/package/components/copilot/lib.d.ts +1 -1
  228. package/package/components/copilot/lib.js +15 -6
  229. package/package/components/custom_ui.d.ts +4 -0
  230. package/package/components/dbOps.d.ts +20 -8
  231. package/package/components/dbOps.js +85 -40
  232. package/package/components/details/DetailPageHeader.svelte +0 -2
  233. package/package/components/details/DetailPageLayout.svelte +34 -33
  234. package/package/components/flow_builder.d.ts +1 -2
  235. package/package/components/flows/FlowEditor.svelte +3 -3
  236. package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
  237. package/package/components/flows/common/FlowCard.svelte +2 -2
  238. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  239. package/package/components/flows/common/FlowCardHeader.svelte +13 -4
  240. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  241. package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
  242. package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
  243. package/package/components/flows/content/FlowConstants.svelte +3 -3
  244. package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
  245. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
  246. package/package/components/flows/content/FlowInput.svelte +5 -0
  247. package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
  248. package/package/components/flows/content/FlowLoop.svelte +2 -2
  249. package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
  250. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  251. package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
  252. package/package/components/flows/content/FlowModuleScript.svelte +0 -1
  253. package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
  254. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  255. package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
  256. package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
  257. package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
  258. package/package/components/flows/content/FlowResult.svelte +2 -3
  259. package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
  260. package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
  261. package/package/components/flows/dfs.d.ts +3 -1
  262. package/package/components/flows/dfs.js +5 -1
  263. package/package/components/flows/flowInfers.js +78 -0
  264. package/package/components/flows/flowState.d.ts +2 -3
  265. package/package/components/flows/flowState.js +2 -2
  266. package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
  267. package/package/components/flows/flowStateUtils.svelte.js +14 -13
  268. package/package/components/flows/flowStore.d.ts +3 -4
  269. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  270. package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
  271. package/package/components/flows/idUtils.js +2 -1
  272. package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
  273. package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
  274. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
  275. package/package/components/flows/map/FlowModuleSchemaItem.svelte +15 -15
  276. package/package/components/flows/map/FlowModuleSchemaMap.svelte +27 -15
  277. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
  278. package/package/components/flows/map/InsertModuleButton.svelte +4 -1
  279. package/package/components/flows/map/InsertModuleInner.svelte +9 -1
  280. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  281. package/package/components/flows/map/MapItem.svelte +4 -2
  282. package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
  283. package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
  284. package/package/components/flows/propPicker/OutputBadge.svelte +16 -10
  285. package/package/components/flows/propPicker/OutputPickerInner.svelte +19 -6
  286. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +6 -2
  287. package/package/components/flows/propPicker/StepHistory.svelte +4 -1
  288. package/package/components/flows/testSteps.svelte.d.ts +3 -2
  289. package/package/components/flows/testSteps.svelte.js +26 -23
  290. package/package/components/flows/types.d.ts +1 -1
  291. package/package/components/flows/utils.d.ts +3 -5
  292. package/package/components/flows/utils.js +3 -4
  293. package/package/components/git_sync/DetectionFlow.svelte +202 -0
  294. package/package/components/git_sync/DetectionFlow.svelte.d.ts +6 -0
  295. package/package/components/git_sync/GitSyncContext.svelte.d.ts +82 -0
  296. package/package/components/git_sync/GitSyncContext.svelte.js +462 -0
  297. package/package/components/git_sync/GitSyncModalManager.svelte +99 -0
  298. package/package/components/git_sync/GitSyncModalManager.svelte.d.ts +18 -0
  299. package/package/components/git_sync/GitSyncRepositoryCard.svelte +339 -0
  300. package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +6 -0
  301. package/package/components/git_sync/GitSyncRepositoryList.svelte +17 -0
  302. package/package/components/git_sync/GitSyncRepositoryList.svelte.d.ts +18 -0
  303. package/package/components/git_sync/GitSyncSection.svelte +89 -0
  304. package/package/components/git_sync/GitSyncSection.svelte.d.ts +3 -0
  305. package/package/components/git_sync/GitSyncSuccessModal.svelte +58 -0
  306. package/package/components/git_sync/GitSyncSuccessModal.svelte.d.ts +7 -0
  307. package/package/components/git_sync/PullWorkspaceModal.svelte +575 -0
  308. package/package/components/git_sync/PullWorkspaceModal.svelte.d.ts +15 -0
  309. package/package/components/git_sync/PushWorkspaceModal.svelte +320 -0
  310. package/package/components/git_sync/PushWorkspaceModal.svelte.d.ts +12 -0
  311. package/package/components/graph/FlowGraphV2.svelte +49 -25
  312. package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
  313. package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
  314. package/package/components/graph/graphBuilder.svelte.js +31 -15
  315. package/package/components/graph/model.d.ts +9 -6
  316. package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
  317. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
  318. package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
  319. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
  320. package/package/components/graph/renderers/nodes/AssetNode.svelte +19 -14
  321. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
  322. package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
  323. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
  324. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  325. package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
  326. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
  327. package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
  328. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
  329. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
  330. package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
  331. package/package/components/icons/AssetDucklakeIcon.svelte +28 -0
  332. package/package/components/icons/AssetDucklakeIcon.svelte.d.ts +9 -0
  333. package/package/components/icons/AssetGenericIcon.svelte +3 -0
  334. package/package/components/icons/DucklakeIcon.svelte +18 -0
  335. package/package/components/icons/DucklakeIcon.svelte.d.ts +6 -0
  336. package/package/components/icons/RubyIcon.svelte +656 -0
  337. package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
  338. package/package/components/instanceSettings.js +20 -3
  339. package/package/components/modulesTest.svelte.d.ts +6 -3
  340. package/package/components/modulesTest.svelte.js +32 -0
  341. package/package/components/preview/FlowPreviewStatus.svelte +3 -1
  342. package/package/components/raw_apps/RawAppEditor.svelte +27 -26
  343. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
  344. package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +2 -5
  345. package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
  346. package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
  347. package/package/components/runs/RunRow.svelte +5 -1
  348. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  349. package/package/components/schema/AddProperty.svelte +41 -36
  350. package/package/components/schema/AddProperty.svelte.d.ts +2 -2
  351. package/package/components/schema/AddPropertyV2.svelte +41 -37
  352. package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
  353. package/package/components/schema/FlowPropertyEditor.svelte +11 -8
  354. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  355. package/package/components/schema/PropertyEditor.svelte +0 -2
  356. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
  357. package/package/components/schema/SchemaFormDND.svelte +2 -1
  358. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -0
  359. package/package/components/scriptEditor/LogPanel.svelte +5 -3
  360. package/package/components/scriptEditor/LogPanel.svelte.d.ts +5 -1
  361. package/package/components/search/RunsSearch.svelte +1 -1
  362. package/package/components/select/Select.svelte +7 -4
  363. package/package/components/select/Select.svelte.d.ts +5 -0
  364. package/package/components/select/SelectDropdown.svelte +2 -1
  365. package/package/components/select/SelectDropdown.svelte.d.ts +3 -0
  366. package/package/components/settings/CreateToken.svelte +132 -12
  367. package/package/components/settings/CreateToken.svelte.d.ts +3 -20
  368. package/package/components/settings/TokenDisplay.svelte +18 -42
  369. package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
  370. package/package/components/settings/TokensTable.svelte +2 -4
  371. package/package/components/settings/TokensTable.svelte.d.ts +3 -19
  372. package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
  373. package/package/components/sidebar/MenuButton.svelte +12 -10
  374. package/package/components/sidebar/changelogs.js +5 -0
  375. package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
  376. package/package/components/stepHistoryLoader.svelte.js +7 -12
  377. package/package/components/table/AutoDataTable.svelte +6 -4
  378. package/package/components/table/AutoDataTable.svelte.d.ts +1 -0
  379. package/package/components/table/DataTable.svelte +12 -10
  380. package/package/components/table/DataTable.svelte.d.ts +1 -0
  381. package/package/components/triggers/TriggerRetriesAndErrorHandler.svelte.d.ts +2 -2
  382. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
  383. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
  384. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +50 -11
  385. package/package/components/triggers/gcp/utils.js +1 -0
  386. package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
  387. package/package/components/triggers/http/utils.js +1 -1
  388. package/package/components/triggers/kafka/utils.js +1 -1
  389. package/package/components/triggers/mqtt/utils.js +1 -1
  390. package/package/components/triggers/nats/utils.js +1 -1
  391. package/package/components/triggers/postgres/utils.js +1 -1
  392. package/package/components/triggers/sqs/utils.js +1 -1
  393. package/package/components/triggers/utils.js +2 -1
  394. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +24 -26
  395. package/package/components/triggers/webhook/WebhooksPanel.svelte +1 -15
  396. package/package/components/triggers/websocket/utils.js +1 -1
  397. package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
  398. package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
  399. package/package/components/tutorials/utils.js +3 -0
  400. package/package/components/worker_group.d.ts +4 -1
  401. package/package/components/worker_group.js +3 -2
  402. package/package/components/workspaceSettings/AISettings.svelte +52 -36
  403. package/package/components/workspaceSettings/DucklakeSettings.svelte +321 -0
  404. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +23 -0
  405. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +122 -499
  406. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte.d.ts +8 -10
  407. package/package/consts.js +2 -1
  408. package/package/editorLangUtils.d.ts +1 -1
  409. package/package/editorLangUtils.js +2 -0
  410. package/package/editorUtils.d.ts +2 -1
  411. package/package/editorUtils.js +2 -1
  412. package/package/gen/core/OpenAPI.js +1 -1
  413. package/package/gen/schemas.gen.d.ts +303 -14
  414. package/package/gen/schemas.gen.js +371 -76
  415. package/package/gen/services.gen.d.ts +136 -16
  416. package/package/gen/services.gen.js +264 -19
  417. package/package/gen/types.gen.d.ts +736 -17
  418. package/package/git-sync.d.ts +36 -0
  419. package/package/git-sync.js +1 -0
  420. package/package/hub.d.ts +1 -0
  421. package/package/hubPaths.json +9 -3
  422. package/package/infer.js +13 -3
  423. package/package/monaco_workers/graphql.worker.bundle.js +144 -110
  424. package/package/script_helpers.d.ts +5 -2
  425. package/package/script_helpers.js +87 -14
  426. package/package/scripts.d.ts +1 -1
  427. package/package/scripts.js +3 -2
  428. package/package/services/JobManager.d.ts +28 -0
  429. package/package/services/JobManager.js +114 -0
  430. package/package/stores.d.ts +3 -1
  431. package/package/stores.js +2 -0
  432. package/package/svelte5Utils.svelte.d.ts +16 -0
  433. package/package/svelte5Utils.svelte.js +26 -0
  434. package/package/utils.d.ts +19 -2
  435. package/package/utils.js +55 -2
  436. package/package.json +24 -22
  437. package/package/components/AllFlowLogs.svelte +0 -31
  438. package/package/components/AllFlowLogs.svelte.d.ts +0 -8
  439. package/package/components/InitGitRepoPopover.svelte +0 -410
  440. package/package/components/InitGitRepoPopover.svelte.d.ts +0 -13
  441. package/package/components/PullGitRepoPopover.svelte +0 -355
  442. package/package/components/PullGitRepoPopover.svelte.d.ts +0 -18
  443. package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
  444. package/package/components/copilot/chat/navigator/apiTools.js +0 -258
  445. package/package/inferArgSig.d.ts +0 -42
  446. package/package/inferArgSig.js +0 -198
@@ -15,6 +15,6 @@ interface Props {
15
15
  overrideAllowKindChange?: boolean;
16
16
  originalType?: string | undefined;
17
17
  }
18
- declare const StringTypeNarrowing: import("svelte").Component<Props, {}, "password" | "disableCreate" | "pattern" | "format" | "contentEncoding" | "customErrorMessage" | "dateFormat" | "enum_" | "enumLabels" | "minRows" | "disableVariablePicker">;
18
+ declare const StringTypeNarrowing: import("svelte").Component<Props, {}, "password" | "disableCreate" | "pattern" | "format" | "enum_" | "enumLabels" | "contentEncoding" | "customErrorMessage" | "dateFormat" | "minRows" | "disableVariablePicker">;
19
19
  type StringTypeNarrowing = ReturnType<typeof StringTypeNarrowing>;
20
20
  export default StringTypeNarrowing;
@@ -395,7 +395,7 @@ async function loadMonaco() {
395
395
  model.updateOptions(updateOptions);
396
396
  try {
397
397
  editor = meditor.create(divEl, {
398
- ...editorConfig(code, lang, automaticLayout, fixedOverflowWidgets),
398
+ ...editorConfig(code, lang, automaticLayout, fixedOverflowWidgets, false),
399
399
  model,
400
400
  // overflowWidgetsDomNode: widgets,
401
401
  // lineNumbers: 'on',
@@ -21,9 +21,9 @@ export function closeDrawer() {
21
21
  function removeHash() {
22
22
  window.location.hash = '';
23
23
  }
24
- function handleTokenCreated(event) {
25
- newToken = event.detail;
26
- dispatch('tokenCreated', newToken);
24
+ function handleTokenCreated(token) {
25
+ newToken = token;
26
+ dispatch('tokenCreated', token);
27
27
  }
28
28
  </script>
29
29
 
@@ -53,7 +53,7 @@ function handleTokenCreated(event) {
53
53
  defaultNewTokenLabel={newTokenLabel}
54
54
  defaultNewTokenWorkspace={newTokenWorkspace}
55
55
  {scopes}
56
- on:tokenCreated={handleTokenCreated}
56
+ onTokenCreated={handleTokenCreated}
57
57
  />
58
58
  </div>
59
59
  </DrawerContent>
@@ -1,13 +1,26 @@
1
1
  <script lang="ts">import { workerTags, workspaceStore } from '../stores';
2
2
  import { WorkerService } from '../gen';
3
- import { createEventDispatcher } from 'svelte';
3
+ import { createEventDispatcher, onDestroy, onMount } from 'svelte';
4
4
  import Select from './select/Select.svelte';
5
5
  import { safeSelectItems } from './select/utils.svelte';
6
6
  import { Button } from './common';
7
7
  import { RotateCw } from 'lucide-svelte';
8
8
  import { sendUserToast } from '../toast';
9
+ import Popover from './Popover.svelte';
9
10
  let { tag = $bindable(), noLabel = false, nullTag = undefined, disabled = false, placeholder, inputClass } = $props();
10
11
  let loading = $state(false);
12
+ let visible = $state(false);
13
+ let timeout = undefined;
14
+ let tagsToWorkerExists = $state(undefined);
15
+ onMount(() => {
16
+ visible = true;
17
+ });
18
+ onDestroy(() => {
19
+ visible = false;
20
+ if (timeout) {
21
+ clearTimeout(timeout);
22
+ }
23
+ });
11
24
  loadWorkerGroups();
12
25
  const dispatch = createEventDispatcher();
13
26
  async function loadWorkerGroups(force = false) {
@@ -28,9 +41,64 @@ let items = $derived([
28
41
  ...(tag && tag != '' && !($workerTags ?? []).includes(tag) ? [tag] : []),
29
42
  ...($workerTags ?? [])
30
43
  ]);
44
+ let lastCheck = undefined;
45
+ async function loadTagsToWorkerExists(tags) {
46
+ if (lastCheck && Date.now() - lastCheck < 5000) {
47
+ return;
48
+ }
49
+ if (timeout) {
50
+ clearTimeout(timeout);
51
+ }
52
+ if (open) {
53
+ tagsToWorkerExists = await WorkerService.existsWorkersWithTags({ tags: tags.join(',') });
54
+ lastCheck = Date.now();
55
+ if (visible) {
56
+ timeout = setTimeout(() => {
57
+ loadTagsToWorkerExists(tags);
58
+ }, 5000);
59
+ }
60
+ }
61
+ }
62
+ // let finalItems = $derived(
63
+ // items.map((item) => {
64
+ // if (tagsToWorkerExists) {
65
+ // return {
66
+ // value: item,
67
+ // __select_group: tagsToWorkerExists[item]
68
+ // ? `${placeholder ?? 'Worker'}s available`
69
+ // : `No ${placeholder ?? 'Worker'}s`
70
+ // }
71
+ // }
72
+ // return item
73
+ // })
74
+ // )
75
+ $effect(() => {
76
+ if ($workerTags && open) {
77
+ loadTagsToWorkerExists($workerTags);
78
+ }
79
+ });
31
80
  let open = $state(false);
32
81
  </script>
33
82
 
83
+ {#snippet startSnippet({ item })}
84
+ {#if tagsToWorkerExists}
85
+ {#if tagsToWorkerExists[item.value]}
86
+ <Popover>
87
+ {#snippet text()}
88
+ At least one worker with this tag exists and is running.
89
+ {/snippet}
90
+ <div class="rounded-full inline-block bg-green-500 text-white text-xs w-2 h-2 mr-1"></div>
91
+ </Popover>
92
+ {:else}
93
+ <Popover>
94
+ {#snippet text()}
95
+ No workers with this tag exist or is running.
96
+ {/snippet}
97
+ <div class="rounded-full inline-block bg-red-500 text-white text-xs w-2 h-2 mr-1"></div>
98
+ </Popover>
99
+ {/if}
100
+ {/if}
101
+ {/snippet}
34
102
  <div class="flex gap-1 items-center relative">
35
103
  {#if !noLabel}
36
104
  <div class="text-tertiary text-2xs">{placeholder ?? 'tag'}</div>
@@ -44,6 +112,7 @@ let open = $state(false);
44
112
  placeholder={nullTag ? nullTag : (placeholder ?? 'lang default')}
45
113
  items={safeSelectItems(items)}
46
114
  bind:value={() => tag, (value) => ((tag = value), dispatch('change', value))}
115
+ {startSnippet}
47
116
  />
48
117
  {#if open}
49
118
  <div class="absolute top-0 -right-12">
@@ -121,7 +121,7 @@ function toggleAccordion(index) {
121
121
  subGridId={`${id}-0`}
122
122
  containerHeight={componentContainerHeight -
123
123
  (30 * accordionInput?.value.length + 40)}
124
- on:focus={() => {
124
+ onFocus={() => {
125
125
  if (!$connectingInput.opened) {
126
126
  $selectedComponent = [id]
127
127
  }
@@ -101,14 +101,20 @@ $componentControl[id] = {
101
101
 
102
102
  <InitializeComponent {id} />
103
103
 
104
+ {#snippet nonRenderedPlaceholder()}
105
+ <ListWrapper disabled value={undefined} index={0}>
106
+ <SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
107
+ </ListWrapper>
108
+ {/snippet}
104
109
  <RunnableWrapper
105
- render={true}
110
+ {render}
106
111
  {outputs}
107
112
  autoRefresh
108
113
  {componentInput}
109
114
  {id}
110
115
  bind:initializing
111
116
  bind:result
117
+ {nonRenderedPlaceholder}
112
118
  >
113
119
  {#if everRender}
114
120
  <div class="w-full flex flex-wrap overflow-auto divide-y max-h-full">
@@ -206,7 +212,7 @@ $componentControl[id] = {
206
212
  style={css?.container?.style}
207
213
  subGridId={`${id}-0`}
208
214
  containerHeight={componentContainerHeight - 40}
209
- on:focus={() => {
215
+ onFocus={() => {
210
216
  if (!$connectingInput.opened) {
211
217
  $selectedComponent = [id]
212
218
  }
@@ -219,9 +225,7 @@ $componentControl[id] = {
219
225
  </Carousel>
220
226
  {/key}
221
227
  {:else}
222
- <ListWrapper disabled value={undefined} index={0}>
223
- <SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
224
- </ListWrapper>
228
+ {@render nonRenderedPlaceholder?.()}
225
229
  {#if !Array.isArray(result)}
226
230
  <div class="text-center text-tertiary">Input data is not an array</div>
227
231
  {/if}
@@ -229,8 +233,6 @@ $componentControl[id] = {
229
233
  {/if}
230
234
  </div>
231
235
  {:else if $app.subgrids}
232
- <ListWrapper disabled value={undefined} index={0}>
233
- <SubGridEditor visible={false} {id} subGridId={`${id}-0`} />
234
- </ListWrapper>
236
+ {@render nonRenderedPlaceholder?.()}
235
237
  {/if}
236
238
  </RunnableWrapper>
@@ -9,6 +9,7 @@ import ResolveStyle from '../helpers/ResolveStyle.svelte';
9
9
  import { components } from '../../editor/component';
10
10
  import ResolveConfig from '../helpers/ResolveConfig.svelte';
11
11
  import { userStore } from '../../../../stores';
12
+ let result_stream = $state(undefined);
12
13
  let { id, componentInput, initializing = $bindable(undefined), customCss = undefined, render, configuration } = $props();
13
14
  const requireHtmlApproval = getContext(IS_APP_PUBLIC_CONTEXT_KEY);
14
15
  const { app, worldStore, componentControl, workspace, appPath } = getContext('AppViewerContext');
@@ -24,6 +25,7 @@ const outputs = initOutput($worldStore, id, {
24
25
  loading: false
25
26
  });
26
27
  let css = $state(initCss($app.css?.displaycomponent, customCss));
28
+ let loading = $state(false);
27
29
  </script>
28
30
 
29
31
  {#each Object.keys(components['displaycomponent'].initialData.configuration) as key (key)}
@@ -45,7 +47,15 @@ let css = $state(initCss($app.css?.displaycomponent, customCss));
45
47
  />
46
48
  {/each}
47
49
 
48
- <RunnableWrapper {outputs} {render} {componentInput} {id} bind:initializing bind:result>
50
+ <RunnableWrapper
51
+ {outputs}
52
+ {render}
53
+ {componentInput}
54
+ {id}
55
+ bind:initializing
56
+ bind:result
57
+ bind:loading
58
+ >
49
59
  <div class="flex flex-col w-full h-full component-wrapper">
50
60
  <div
51
61
  class={twMerge(
@@ -70,8 +80,10 @@ let css = $state(initCss($app.css?.displaycomponent, customCss));
70
80
  )}
71
81
  >
72
82
  <DisplayResult
83
+ {loading}
73
84
  workspaceId={workspace}
74
85
  {result}
86
+ {result_stream}
75
87
  {requireHtmlApproval}
76
88
  disableExpand={resolvedConfig?.hideDetails}
77
89
  appPath={$userStore ? undefined : $appPath}
@@ -72,13 +72,13 @@ let jobId = $derived(resolvedConfig.jobId);
72
72
  <FlowStatusViewer
73
73
  workspaceId={workspace}
74
74
  {jobId}
75
- on:start={() => {
75
+ onStart={() => {
76
76
  outputs?.jobId.set(jobId)
77
77
  outputs?.loading.set(true)
78
78
  }}
79
- on:done={(e) => {
79
+ onDone={({ job }) => {
80
80
  outputs?.loading.set(false)
81
- outputs?.result.set(e?.detail?.result)
81
+ outputs?.result.set(job?.result as any)
82
82
  }}
83
83
  />
84
84
  {:else}
@@ -2,7 +2,7 @@
2
2
  const bubble = createBubbler();
3
3
  import Tooltip from '../../../Tooltip.svelte';
4
4
  import { Clipboard } from 'lucide-svelte';
5
- import { getContext } from 'svelte';
5
+ import { getContext, untrack } from 'svelte';
6
6
  import { twMerge } from 'tailwind-merge';
7
7
  import { copyToClipboard, isCodeInjection } from '../../../../utils';
8
8
  import Button from '../../../common/button/Button.svelte';
@@ -34,7 +34,7 @@ $componentControl[id] = {
34
34
  }
35
35
  };
36
36
  const outputs = initOutput($worldStore, id, {
37
- result,
37
+ result: untrack(() => result),
38
38
  loading: initializing
39
39
  });
40
40
  function getComponent() {
@@ -18,6 +18,7 @@ import { CancelablePromise } from '../../../../../gen';
18
18
  import RefreshButton from '../../helpers/RefreshButton.svelte';
19
19
  import RunnableWrapper from '../../helpers/RunnableWrapper.svelte';
20
20
  import InsertRowDrawerButton from '../InsertRowDrawerButton.svelte';
21
+ import { assert } from '../../../../../utils';
21
22
  let { id, configuration, customCss = undefined, render, initializing = $bindable(undefined), actions = [] } = $props();
22
23
  $effect.pre(() => {
23
24
  if (initializing === undefined) {
@@ -224,7 +225,13 @@ async function listColumnsIfAvailable() {
224
225
  gridItem.data.configuration.columnDefs.loading = true;
225
226
  gridItem.data = gridItem.data;
226
227
  $app = $app;
227
- let tableMetadata = await loadTableMetaData(resolvedConfig.type.configuration[selected].resource, $workspaceStore, resolvedConfig.type.configuration[selected].table, selected);
228
+ let resource = resolvedConfig.type.configuration[selected].resource;
229
+ assert('resource starts with $res:', resource?.startsWith('$res:'), resource);
230
+ let tableMetadata = await loadTableMetaData({
231
+ type: 'database',
232
+ resourcePath: resource.substring(5),
233
+ resourceType: selected
234
+ }, $workspaceStore, resolvedConfig.type.configuration[selected].table);
228
235
  if (!tableMetadata)
229
236
  return;
230
237
  let old = columnDefs?.value ?? [];
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">import { ColumnIdentity } from './utils';
2
- import init, { parse_sql, parse_mysql, parse_bigquery, parse_snowflake, parse_mssql } from 'windmill-sql-datatype-parser-wasm';
2
+ import init, { parse_sql, parse_mysql, parse_bigquery, parse_snowflake, parse_mssql, parse_duckdb } from 'windmill-sql-datatype-parser-wasm';
3
3
  import wasmUrl from 'windmill-sql-datatype-parser-wasm/windmill_sql_datatype_parser_wasm_bg.wasm?url';
4
4
  init(wasmUrl);
5
- import { argSigToJsonSchemaType } from '../../../../../inferArgSig';
5
+ import { argSigToJsonSchemaType } from 'windmill-utils-internal';
6
6
  import SchemaForm from '../../../../SchemaForm.svelte';
7
7
  import { untrack } from 'svelte';
8
8
  let schema = $state(undefined);
@@ -24,8 +24,9 @@ function parseSQLArgs(field, dbType) {
24
24
  case 'ms_sql_server':
25
25
  rawType = parse_mssql(field);
26
26
  break;
27
- default:
28
- throw new Error('Language not supported');
27
+ case 'duckdb':
28
+ rawType = parse_duckdb(field);
29
+ break;
29
30
  }
30
31
  return rawType;
31
32
  }
@@ -77,6 +77,15 @@ export function makeCountQuery(dbType, table, whereClause = undefined, columnDef
77
77
  query += `SELECT COUNT(*) as count FROM \`${table}\``;
78
78
  break;
79
79
  }
80
+ case 'duckdb':
81
+ if (filteredColumns.length > 0) {
82
+ quicksearchCondition += ` ($quicksearch = '' OR CONCAT(' ', ${filteredColumns.join(', ')}) LIKE CONCAT('%', $quicksearch, '%'))`;
83
+ }
84
+ else {
85
+ quicksearchCondition += ` ($quicksearch = '' OR 1 = 1)`;
86
+ }
87
+ query += `SELECT COUNT(*) as count FROM ${table}`;
88
+ break;
80
89
  default:
81
90
  throw new Error('Unsupported database type:' + dbType);
82
91
  }
@@ -91,7 +100,8 @@ export function makeCountQuery(dbType, table, whereClause = undefined, columnDef
91
100
  (dbType === 'mysql' ||
92
101
  dbType === 'postgresql' ||
93
102
  dbType === 'snowflake' ||
94
- dbType === 'bigquery')) {
103
+ dbType === 'bigquery' ||
104
+ dbType === 'duckdb')) {
95
105
  query = query.replace(`${andCondition}`, wherePrefix);
96
106
  }
97
107
  return query;
@@ -20,6 +20,6 @@ type CreateTableValuesColumn = {
20
20
  not_null?: boolean;
21
21
  datatype_length?: number;
22
22
  };
23
- export declare function makeCreateTableQuery(values: CreateTableValues, resourceType: DbType, schema?: string): string;
23
+ export declare function makeCreateTableQuery(values: CreateTableValues, dbType: DbType, schema?: string): string;
24
24
  export declare function datatypeDefaultLength(datatype: string): number;
25
25
  export {};
@@ -1,9 +1,9 @@
1
1
  import { dbSupportsSchemas } from '../utils';
2
- export function makeCreateTableQuery(values, resourceType, schema) {
2
+ export function makeCreateTableQuery(values, dbType, schema) {
3
3
  const pkCount = values.columns.reduce((p, c) => p + (c.primaryKey ? 1 : 0), 0);
4
4
  function transformColumn(c) {
5
5
  const datatype = c.datatype_length ? `${c.datatype}(${c.datatype_length})` : c.datatype;
6
- const defValue = c.defaultValue && formatDefaultValue(c.defaultValue, datatype, resourceType);
6
+ const defValue = c.defaultValue && formatDefaultValue(c.defaultValue, datatype, dbType);
7
7
  let str = ` ${c.name} ${datatype}`;
8
8
  if (c.not_null)
9
9
  str += ' NOT NULL';
@@ -26,7 +26,7 @@ export function makeCreateTableQuery(values, resourceType, schema) {
26
26
  l += ` ON UPDATE ${fk.onUpdate}`;
27
27
  return l;
28
28
  }
29
- const useSchema = dbSupportsSchemas(resourceType);
29
+ const useSchema = dbSupportsSchemas(dbType);
30
30
  const lines = values.columns.map(transformColumn);
31
31
  lines.push(...values.foreignKeys.map(transformFk));
32
32
  if (pkCount > 1) {
@@ -37,6 +37,13 @@ export function makeDeleteQuery(table, columns, dbType) {
37
37
  query += `\nDELETE FROM ${table} \nWHERE ${conditions}`;
38
38
  return query;
39
39
  }
40
+ case 'duckdb': {
41
+ const conditions = columns
42
+ .map((c) => `($${c.field} IS NULL AND ${c.field} IS NULL OR ${c.field} = $${c.field})`)
43
+ .join('\n AND ');
44
+ query += `\nDELETE FROM ${table} \nWHERE ${conditions}`;
45
+ return query;
46
+ }
40
47
  default:
41
48
  throw new Error('Unsupported database type');
42
49
  }
@@ -12,6 +12,8 @@ function formatInsertValues(columns, dbType, startIndex = 1) {
12
12
  return columns.map(() => `?`).join(', ');
13
13
  case 'bigquery':
14
14
  return columns.map((c) => `@${c.field}`).join(', ');
15
+ case 'duckdb':
16
+ return columns.map((c) => `$${c.field}`).join(', ');
15
17
  default:
16
18
  throw new Error('Unsupported database type');
17
19
  }
@@ -155,6 +155,20 @@ CASE WHEN :order_by = '${column.field}' AND :is_desc IS true THEN \`${column.fie
155
155
  query += ` LIMIT @limit OFFSET @offset`;
156
156
  break;
157
157
  }
158
+ case 'duckdb': {
159
+ const orderBy = `
160
+ ${columnDefs
161
+ .map((column) => `
162
+ (CASE WHEN $order_by = '${column.field}' AND $is_desc IS false THEN "${column.field}"::text END),
163
+ (CASE WHEN $order_by = '${column.field}' AND $is_desc IS true THEN "${column.field}"::text END) DESC`)
164
+ .join(',\n')}`;
165
+ quicksearchCondition = `($quicksearch = '' OR CONCAT(${filteredColumns.join(', ')}) ILIKE '%' || $quicksearch || '%')`;
166
+ query += `SELECT ${filteredColumns.join(', ')} FROM ${table}\n`;
167
+ query += ` WHERE ${whereClause ? `${whereClause} AND` : ''} ${quicksearchCondition}\n`;
168
+ query += ` ORDER BY ${orderBy}\n`;
169
+ query += ` LIMIT $limit::INT OFFSET $offset::INT`;
170
+ break;
171
+ }
158
172
  default:
159
173
  throw new Error('Unsupported database type');
160
174
  }
@@ -41,6 +41,13 @@ export function makeUpdateQuery(table, column, columns, dbType) {
41
41
  query += `\nUPDATE ${table} SET ${column.field} = @value_to_update \nWHERE ${conditions}`;
42
42
  return query;
43
43
  }
44
+ case 'duckdb': {
45
+ const conditions = columns
46
+ .map((c) => `($${c.field} IS NULL AND ${c.field} IS NULL OR ${c.field} = $${c.field})`)
47
+ .join('\n AND ');
48
+ query += `\nUPDATE ${table} SET ${column.field} = $value_to_update \nWHERE ${conditions}`;
49
+ return query;
50
+ }
44
51
  default:
45
52
  throw new Error('Unsupported database type');
46
53
  }
@@ -1,6 +1,7 @@
1
- import { type Preview } from '../../../../../gen';
1
+ import { type ScriptLang } from '../../../../../gen';
2
2
  import type { DBSchema, DBSchemas, SQLSchema } from '../../../../../stores';
3
3
  import { type IntrospectionQuery } from 'graphql';
4
+ import type { DbInput } from '../../../../dbOps';
4
5
  export declare enum ColumnIdentity {
5
6
  ByDefault = "By Default",
6
7
  Always = "Always",
@@ -40,8 +41,8 @@ export type ColumnDef = {
40
41
  defaultUserValue?: any;
41
42
  defaultValueNull?: boolean;
42
43
  } & ColumnMetadata;
43
- export declare function loadTableMetaData(resource: string, workspace: string | undefined, table: string | undefined, resourceType: string): Promise<TableMetadata | undefined>;
44
- export declare function loadAllTablesMetaData(resource: string, workspace: string | undefined, resourceType: string): Promise<Record<string, TableMetadata> | undefined>;
44
+ export declare function loadTableMetaData(input: DbInput, workspace: string | undefined, table: string | undefined): Promise<TableMetadata | undefined>;
45
+ export declare function loadAllTablesMetaData(workspace: string | undefined, input: DbInput): Promise<Record<string, TableMetadata> | undefined>;
45
46
  export declare function resourceTypeToLang(rt: string): string;
46
47
  declare const scripts: Record<string, {
47
48
  code: string;
@@ -76,10 +77,10 @@ export declare function formatSchema(dbSchema: {
76
77
  };
77
78
  export declare function formatGraphqlSchema(schema: IntrospectionQuery): string;
78
79
  export type DbType = (typeof dbTypes)[number];
79
- export declare const dbTypes: readonly ["mysql", "ms_sql_server", "postgresql", "snowflake", "bigquery"];
80
+ export declare const dbTypes: readonly ["mysql", "ms_sql_server", "postgresql", "snowflake", "bigquery", "duckdb"];
80
81
  export declare const isDbType: (str?: string) => str is DbType;
81
82
  export declare function buildVisibleFieldList(columnDefs: ColumnDef[], dbType: DbType): string[];
82
- export declare function getLanguageByResourceType(name: string): Preview['language'];
83
+ export declare function getLanguageByResourceType(name: string): ScriptLang;
83
84
  export declare function buildParameters(columns: Array<{
84
85
  field: string;
85
86
  datatype: string;