windmill-components 1.522.0 → 1.531.1

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 (272) 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/AutoscalingConfigEditor.svelte +76 -2
  5. package/package/components/Dev.svelte +12 -28
  6. package/package/components/DiffEditor.svelte +6 -3
  7. package/package/components/DiffEditor.svelte.d.ts +1 -0
  8. package/package/components/DisplayResult.svelte +16 -10
  9. package/package/components/DisplayResult.svelte.d.ts +1 -0
  10. package/package/components/EditableSchemaForm.svelte +5 -2
  11. package/package/components/Editor.svelte +26 -8
  12. package/package/components/Editor.svelte.d.ts +1 -1
  13. package/package/components/EditorBar.svelte +25 -5
  14. package/package/components/EditorSettings.svelte +6 -0
  15. package/package/components/FirstStepInputs.svelte +2 -2
  16. package/package/components/FlowBuilder.svelte +18 -36
  17. package/package/components/FlowGraphViewerStep.svelte +7 -0
  18. package/package/components/FlowJobResult.svelte +15 -63
  19. package/package/components/FlowJobResult.svelte.d.ts +10 -4
  20. package/package/components/FlowLogViewer.svelte +660 -0
  21. package/package/components/FlowLogViewer.svelte.d.ts +34 -0
  22. package/package/components/FlowLogViewerWrapper.svelte +52 -0
  23. package/package/components/FlowLogViewerWrapper.svelte.d.ts +21 -0
  24. package/package/components/FlowLoopIterationPreview.svelte +3 -3
  25. package/package/components/FlowPreviewContent.svelte +4 -5
  26. package/package/components/FlowPreviewContent.svelte.d.ts +7 -7
  27. package/package/components/FlowPreviewResult.svelte +4 -5
  28. package/package/components/FlowPreviewResult.svelte.d.ts +3 -5
  29. package/package/components/FlowStatusViewer.svelte +28 -16
  30. package/package/components/FlowStatusViewer.svelte.d.ts +19 -27
  31. package/package/components/FlowStatusViewerInner.svelte +483 -296
  32. package/package/components/FlowStatusViewerInner.svelte.d.ts +27 -33
  33. package/package/components/FlowTimeline.svelte +11 -13
  34. package/package/components/FlowTimeline.svelte.d.ts +6 -5
  35. package/package/components/FlowWrapper.svelte +3 -2
  36. package/package/components/HighlightCode.svelte +4 -1
  37. package/package/components/IconedResourceType.svelte +9 -5
  38. package/package/components/JobLoader.svelte +61 -8
  39. package/package/components/JobLoader.svelte.d.ts +9 -1
  40. package/package/components/LogViewer.svelte +8 -2
  41. package/package/components/LogViewer.svelte.d.ts +1 -0
  42. package/package/components/LogViewerHeader.svelte +32 -0
  43. package/package/components/LogViewerHeader.svelte.d.ts +8 -0
  44. package/package/components/ModulePreviewForm.svelte +10 -6
  45. package/package/components/ModulePreviewResultViewer.svelte +16 -0
  46. package/package/components/ModulePreviewResultViewer.svelte.d.ts +1 -1
  47. package/package/components/ModuleTest.svelte +59 -16
  48. package/package/components/RelativeLineNumbers.svelte +16 -0
  49. package/package/components/RelativeLineNumbers.svelte.d.ts +18 -0
  50. package/package/components/ResourceEditor.svelte +9 -4
  51. package/package/components/ScriptBuilder.svelte +13 -11
  52. package/package/components/ScriptEditor.svelte +2 -2
  53. package/package/components/SimpleEditor.svelte +10 -4
  54. package/package/components/SimpleEditor.svelte.d.ts +1 -0
  55. package/package/components/TemplateEditor.svelte +1 -1
  56. package/package/components/UserSettings.svelte +4 -4
  57. package/package/components/apps/components/display/AppAccordionList.svelte +1 -1
  58. package/package/components/apps/components/display/AppCarouselList.svelte +10 -8
  59. package/package/components/apps/components/display/AppJobIdFlowStatus.svelte +3 -3
  60. package/package/components/apps/components/display/table/AppAggridTable.svelte +2 -2
  61. package/package/components/apps/components/helpers/HiddenComponent.svelte +0 -1
  62. package/package/components/apps/components/helpers/InputValue.svelte +6 -1
  63. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +8 -4
  64. package/package/components/apps/components/helpers/NonRunnableComponent.svelte.d.ts +1 -1
  65. package/package/components/apps/components/helpers/RunnableComponent.svelte +7 -8
  66. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  67. package/package/components/apps/components/helpers/RunnableWrapper.svelte +12 -3
  68. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -1
  69. package/package/components/apps/components/inputs/AppCodeInputComponent.svelte +0 -5
  70. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +1 -1
  71. package/package/components/apps/components/layout/AppContainer.svelte +1 -1
  72. package/package/components/apps/components/layout/AppDecisionTree.svelte +31 -20
  73. package/package/components/apps/components/layout/AppDrawer.svelte +1 -1
  74. package/package/components/apps/components/layout/AppList.svelte +9 -8
  75. package/package/components/apps/components/layout/AppModal.svelte +1 -1
  76. package/package/components/apps/components/layout/AppSplitpanes.svelte +5 -2
  77. package/package/components/apps/components/layout/AppStepper.svelte +9 -5
  78. package/package/components/apps/components/layout/AppTabs.svelte +2 -2
  79. package/package/components/apps/editor/AppJobsDrawer.svelte +2 -2
  80. package/package/components/apps/editor/GridEditor.svelte +24 -19
  81. package/package/components/apps/editor/GridEditor.svelte.d.ts +4 -1
  82. package/package/components/apps/editor/GridViewer.svelte +1 -1
  83. package/package/components/apps/editor/SubGridEditor.svelte +7 -11
  84. package/package/components/apps/editor/SubGridEditor.svelte.d.ts +3 -19
  85. package/package/components/apps/editor/appUtils.js +17 -68
  86. package/package/components/apps/editor/component/ComponentInner.svelte +845 -694
  87. package/package/components/apps/editor/component/componentCallbacks.svelte.js +8 -1
  88. package/package/components/apps/editor/contextPanel/components/OutputHeader.svelte +9 -46
  89. package/package/components/apps/editor/settingsPanel/DecisionTreeGraphEditor.svelte +29 -43
  90. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +2 -1
  91. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +1 -0
  92. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte +2 -2
  93. package/package/components/apps/editor/settingsPanel/inputEditor/EvalV2InputEditor.svelte.d.ts +1 -0
  94. package/package/components/apps/svelte-grid/Grid.svelte +23 -25
  95. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +21 -9
  96. package/package/components/apps/svelte-grid/MoveResize.svelte +13 -15
  97. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +17 -24
  98. package/package/components/apps/utils.d.ts +2 -0
  99. package/package/components/apps/utils.js +22 -0
  100. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  101. package/package/components/common/fileDownload/FileDownload.svelte +1 -3
  102. package/package/components/common/fileDownload/FileDownload.svelte.d.ts +4 -18
  103. package/package/components/common/languageIcons/LanguageIcon.svelte +5 -2
  104. package/package/components/copilot/FlowInlineScriptAIButton.svelte +58 -0
  105. package/package/components/copilot/FlowInlineScriptAIButton.svelte.d.ts +3 -0
  106. package/package/components/copilot/MetadataGen.svelte +19 -1
  107. package/package/components/copilot/MetadataGen.svelte.d.ts +1 -1
  108. package/package/components/copilot/ScriptGen.svelte +23 -31
  109. package/package/components/copilot/ScriptGen.svelte.d.ts +0 -1
  110. package/package/components/copilot/autocomplete/Autocompletor.js +2 -0
  111. package/package/components/copilot/chat/AIChatDisplay.svelte +4 -4
  112. package/package/components/copilot/chat/AIChatInput.svelte +29 -6
  113. package/package/components/copilot/chat/AIChatManager.svelte.js +110 -26
  114. package/package/components/copilot/chat/AIChatMessage.svelte +3 -0
  115. package/package/components/copilot/chat/ToolContentDisplay.svelte +84 -0
  116. package/package/components/copilot/chat/ToolContentDisplay.svelte.d.ts +11 -0
  117. package/package/components/copilot/chat/ToolExecutionDisplay.svelte +105 -0
  118. package/package/components/copilot/chat/ToolExecutionDisplay.svelte.d.ts +7 -0
  119. package/package/components/copilot/chat/api/apiTools.d.ts +7 -0
  120. package/package/components/copilot/chat/api/apiTools.js +192 -0
  121. package/package/components/copilot/chat/api/core.d.ts +7 -0
  122. package/package/components/copilot/chat/api/core.js +61 -0
  123. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -6
  124. package/package/components/copilot/chat/flow/core.js +213 -42
  125. package/package/components/copilot/chat/flow/utils.js +3 -0
  126. package/package/components/copilot/chat/monaco-adapter.d.ts +1 -1
  127. package/package/components/copilot/chat/monaco-adapter.js +10 -4
  128. package/package/components/copilot/chat/navigator/core.d.ts +1 -1
  129. package/package/components/copilot/chat/navigator/core.js +20 -22
  130. package/package/components/copilot/chat/script/core.d.ts +11 -3
  131. package/package/components/copilot/chat/script/core.js +92 -15
  132. package/package/components/copilot/chat/shared.d.ts +30 -3
  133. package/package/components/copilot/chat/shared.js +228 -9
  134. package/package/components/copilot/lib.d.ts +1 -1
  135. package/package/components/copilot/lib.js +15 -6
  136. package/package/components/custom_ui.d.ts +2 -0
  137. package/package/components/details/DetailPageLayout.svelte +34 -33
  138. package/package/components/flow_builder.d.ts +1 -2
  139. package/package/components/flows/FlowEditor.svelte +3 -3
  140. package/package/components/flows/FlowEditor.svelte.d.ts +7 -6
  141. package/package/components/flows/common/FlowCard.svelte +2 -2
  142. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  143. package/package/components/flows/common/FlowCardHeader.svelte +13 -4
  144. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  145. package/package/components/flows/content/BranchPredicateEditor.svelte +4 -7
  146. package/package/components/flows/content/BranchPredicateEditor.svelte.d.ts +12 -11
  147. package/package/components/flows/content/FlowConstants.svelte +3 -3
  148. package/package/components/flows/content/FlowEditorPanel.svelte +3 -3
  149. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +2 -4
  150. package/package/components/flows/content/FlowInputsQuick.svelte +2 -1
  151. package/package/components/flows/content/FlowLoop.svelte +2 -2
  152. package/package/components/flows/content/FlowModuleComponent.svelte +130 -108
  153. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  154. package/package/components/flows/content/FlowModuleEarlyStop.svelte +2 -2
  155. package/package/components/flows/content/FlowModuleSkip.svelte +1 -1
  156. package/package/components/flows/content/FlowModuleSleep.svelte +1 -1
  157. package/package/components/flows/content/FlowModuleSuspend.svelte +1 -1
  158. package/package/components/flows/content/FlowModuleWrapper.svelte +15 -5
  159. package/package/components/flows/content/FlowModuleWrapper.svelte.d.ts +1 -0
  160. package/package/components/flows/content/FlowResult.svelte +2 -3
  161. package/package/components/flows/content/FlowResult.svelte.d.ts +2 -4
  162. package/package/components/flows/content/FlowWhileLoop.svelte +1 -1
  163. package/package/components/flows/dfs.d.ts +3 -1
  164. package/package/components/flows/dfs.js +5 -1
  165. package/package/components/flows/flowInfers.js +78 -0
  166. package/package/components/flows/flowState.d.ts +2 -3
  167. package/package/components/flows/flowState.js +2 -2
  168. package/package/components/flows/flowStateUtils.svelte.d.ts +4 -4
  169. package/package/components/flows/flowStateUtils.svelte.js +14 -13
  170. package/package/components/flows/flowStore.d.ts +3 -4
  171. package/package/components/flows/header/FlowPreviewButtons.svelte +2 -1
  172. package/package/components/flows/header/FlowYamlEditor.svelte +10 -1
  173. package/package/components/flows/map/FlowGraphPreviewButton.svelte +1 -1
  174. package/package/components/flows/map/FlowJobsMenu.svelte +7 -3
  175. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -0
  176. package/package/components/flows/map/FlowModuleSchemaItem.svelte +12 -12
  177. package/package/components/flows/map/FlowModuleSchemaMap.svelte +26 -19
  178. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +6 -4
  179. package/package/components/flows/map/InsertModuleInner.svelte +9 -1
  180. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +1 -0
  181. package/package/components/flows/map/MapItem.svelte +4 -2
  182. package/package/components/flows/pickers/TopLevelNode.svelte +4 -1
  183. package/package/components/flows/propPicker/InputPickerInner.svelte +5 -4
  184. package/package/components/flows/propPicker/OutputBadge.svelte +11 -9
  185. package/package/components/flows/propPicker/OutputPickerInner.svelte +10 -1
  186. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  187. package/package/components/flows/testSteps.svelte.d.ts +3 -2
  188. package/package/components/flows/testSteps.svelte.js +26 -23
  189. package/package/components/flows/types.d.ts +1 -1
  190. package/package/components/flows/utils.d.ts +3 -5
  191. package/package/components/flows/utils.js +3 -4
  192. package/package/components/git_sync/GitSyncContext.svelte.js +2 -1
  193. package/package/components/graph/FlowGraphV2.svelte +44 -24
  194. package/package/components/graph/FlowGraphV2.svelte.d.ts +5 -2
  195. package/package/components/graph/graphBuilder.svelte.d.ts +49 -17
  196. package/package/components/graph/graphBuilder.svelte.js +30 -14
  197. package/package/components/graph/model.d.ts +9 -6
  198. package/package/components/graph/renderers/edges/BaseEdge.svelte +3 -3
  199. package/package/components/graph/renderers/edges/BaseEdge.svelte.d.ts +2 -3
  200. package/package/components/graph/renderers/nodes/AIToolNode.svelte +234 -0
  201. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +24 -0
  202. package/package/components/graph/renderers/nodes/AssetNode.svelte +15 -10
  203. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +18 -1
  204. package/package/components/graph/renderers/nodes/BranchAllEndNode.svelte +1 -1
  205. package/package/components/graph/renderers/nodes/BranchAllStart.svelte +1 -1
  206. package/package/components/graph/renderers/nodes/BranchOneStart.svelte +1 -1
  207. package/package/components/graph/renderers/nodes/ForLoopEndNode.svelte +2 -2
  208. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +1 -1
  209. package/package/components/graph/renderers/nodes/ModuleNode.svelte +21 -21
  210. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +64 -0
  211. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte.d.ts +7 -0
  212. package/package/components/graph/renderers/nodes/branchOneEndNode.svelte +1 -1
  213. package/package/components/icons/RubyIcon.svelte +656 -0
  214. package/package/components/icons/RubyIcon.svelte.d.ts +7 -0
  215. package/package/components/instanceSettings.js +9 -0
  216. package/package/components/modulesTest.svelte.d.ts +6 -3
  217. package/package/components/modulesTest.svelte.js +32 -0
  218. package/package/components/preview/FlowPreviewStatus.svelte +3 -1
  219. package/package/components/raw_apps/RawAppEditor.svelte +27 -26
  220. package/package/components/raw_apps/RawAppEditor.svelte.d.ts +17 -17
  221. package/package/components/runs/{JobPreview.svelte → JobRunsPreview.svelte} +1 -4
  222. package/package/components/runs/{JobPreview.svelte.d.ts → JobRunsPreview.svelte.d.ts} +3 -3
  223. package/package/components/runs/RunRow.svelte +5 -1
  224. package/package/components/schema/AddProperty.svelte +41 -36
  225. package/package/components/schema/AddProperty.svelte.d.ts +2 -2
  226. package/package/components/schema/AddPropertyV2.svelte +41 -37
  227. package/package/components/schema/AddPropertyV2.svelte.d.ts +1 -1
  228. package/package/components/schema/FlowPropertyEditor.svelte +8 -6
  229. package/package/components/search/RunsSearch.svelte +1 -1
  230. package/package/components/settings/CreateToken.svelte +132 -12
  231. package/package/components/settings/CreateToken.svelte.d.ts +3 -20
  232. package/package/components/settings/TokenDisplay.svelte +18 -42
  233. package/package/components/settings/TokenDisplay.svelte.d.ts +0 -1
  234. package/package/components/settings/TokensTable.svelte +2 -4
  235. package/package/components/settings/TokensTable.svelte.d.ts +3 -19
  236. package/package/components/settings/WorkspaceUserSettings.svelte +428 -69
  237. package/package/components/sidebar/MenuButton.svelte +12 -10
  238. package/package/components/stepHistoryLoader.svelte.d.ts +2 -2
  239. package/package/components/stepHistoryLoader.svelte.js +7 -12
  240. package/package/components/triggers/http/OpenAPISpecGenerator.svelte +2 -2
  241. package/package/components/tutorials/FlowBuilderTutorialBranchOne.svelte +1 -1
  242. package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +4 -4
  243. package/package/components/tutorials/utils.js +3 -0
  244. package/package/components/worker_group.d.ts +4 -1
  245. package/package/components/worker_group.js +3 -2
  246. package/package/editorLangUtils.d.ts +1 -1
  247. package/package/editorLangUtils.js +2 -0
  248. package/package/editorUtils.d.ts +2 -1
  249. package/package/editorUtils.js +2 -1
  250. package/package/gen/core/OpenAPI.js +1 -1
  251. package/package/gen/schemas.gen.d.ts +296 -8
  252. package/package/gen/schemas.gen.js +364 -70
  253. package/package/gen/services.gen.d.ts +118 -16
  254. package/package/gen/services.gen.js +226 -19
  255. package/package/gen/types.gen.d.ts +660 -16
  256. package/package/hubPaths.json +7 -4
  257. package/package/infer.js +10 -1
  258. package/package/monaco_workers/graphql.worker.bundle.js +144 -110
  259. package/package/script_helpers.d.ts +3 -0
  260. package/package/script_helpers.js +58 -3
  261. package/package/scripts.d.ts +1 -1
  262. package/package/scripts.js +3 -2
  263. package/package/stores.d.ts +2 -0
  264. package/package/stores.js +2 -0
  265. package/package/svelte5Utils.svelte.d.ts +16 -0
  266. package/package/svelte5Utils.svelte.js +26 -0
  267. package/package/utils.d.ts +1 -1
  268. package/package.json +20 -19
  269. package/package/components/AllFlowLogs.svelte +0 -31
  270. package/package/components/AllFlowLogs.svelte.d.ts +0 -8
  271. package/package/components/copilot/chat/navigator/apiTools.d.ts +0 -68
  272. package/package/components/copilot/chat/navigator/apiTools.js +0 -258
@@ -96,6 +96,9 @@ export declare const INITIAL_CODE: {
96
96
  java: {
97
97
  script: string;
98
98
  };
99
+ ruby: {
100
+ script: string;
101
+ };
99
102
  };
100
103
  export declare function isInitialCode(content: string): boolean;
101
104
  export declare function initialCode(language: SupportedLanguage | 'bunnative' | undefined, kind: Script['kind'] | undefined, subkind: 'pgsql' | 'mysql' | 'flow' | 'script' | 'fetch' | 'docker' | 'powershell' | 'bunnative' | undefined, templateScript?: boolean): string;
@@ -1057,6 +1057,55 @@ public class Main {
1057
1057
  }
1058
1058
  }
1059
1059
  `;
1060
+ const RUBY_INIT_CODE = `require 'windmill/inline'
1061
+ require 'windmill/mini'
1062
+
1063
+ # Dependency management: declare gems in gemfile block for automatic installation
1064
+ # Windmill uses bundler/inline compatible syntax with automatic requiring
1065
+ gemfile do
1066
+ source 'https://rubygems.org'
1067
+ gem 'amazing_print', '~> 1.6'
1068
+ end
1069
+
1070
+ def main(
1071
+ no_default,
1072
+ name = "Nicolas Bourbaki",
1073
+ age = 42,
1074
+ obj = { "even": "hashes" },
1075
+ list = ["or", "arrays!"]
1076
+ )
1077
+ puts "Hello World and a warm welcome especially to #{name}"
1078
+ puts "and its acolytes.. #{age} #{obj} #{list}"
1079
+
1080
+ # Retrieve variables using the Windmill mini client
1081
+ begin
1082
+ secret = get_variable("f/examples/secret")
1083
+ rescue => e
1084
+ secret = "No secret yet at f/examples/secret!"
1085
+ end
1086
+ puts "The variable at 'f/examples/secret': #{secret}"
1087
+
1088
+ # Get typed resources using the mini client
1089
+ # database = get_resource("u/user/my_postgresql")
1090
+
1091
+ # Access environment variables provided by Windmill
1092
+ user = ENV['WM_USERNAME']
1093
+
1094
+ # Pretty print results using amazing_print (automatically required from gemfile)
1095
+ result = {
1096
+ "splitted" => name.split,
1097
+ "user" => user,
1098
+ "age" => age,
1099
+ "obj" => obj,
1100
+ "list" => list
1101
+ }
1102
+
1103
+ ap result
1104
+
1105
+ # Return value is automatically converted to JSON
1106
+ return result
1107
+ end
1108
+ `;
1060
1109
  // for related places search: ADD_NEW_LANG
1061
1110
  export const INITIAL_CODE = {
1062
1111
  bun: {
@@ -1147,8 +1196,11 @@ export const INITIAL_CODE = {
1147
1196
  },
1148
1197
  java: {
1149
1198
  script: JAVA_INIT_CODE
1150
- }
1151
- // for related places search: ADD_NEW_LANG
1199
+ },
1200
+ ruby: {
1201
+ script: RUBY_INIT_CODE
1202
+ },
1203
+ // for related places search: ADD_NEW_LANG
1152
1204
  };
1153
1205
  export function isInitialCode(content) {
1154
1206
  for (const lang of Object.values(INITIAL_CODE)) {
@@ -1273,7 +1325,10 @@ export function initialCode(language, kind, subkind, templateScript) {
1273
1325
  }
1274
1326
  else if (language == 'java') {
1275
1327
  return INITIAL_CODE.java.script;
1276
- // for related places search: ADD_NEW_LANG
1328
+ }
1329
+ else if (language == 'ruby') {
1330
+ return INITIAL_CODE.ruby.script;
1331
+ // for related places search: ADD_NEW_LANG
1277
1332
  }
1278
1333
  else if (language == 'bun' || language == 'bunnative') {
1279
1334
  if (kind == 'trigger') {
@@ -1,6 +1,6 @@
1
1
  import type { Schema, SupportedLanguage } from './common';
2
2
  import { type Script } from './gen';
3
- export declare function scriptLangToEditorLang(lang: Script['language'] | 'bunnative' | 'javascript' | 'frontend' | 'jsx' | 'tsx' | 'text' | 'json' | undefined): "javascript" | "go" | "powershell" | "graphql" | "php" | "sql" | "rust" | "csharp" | "nu" | "java" | "yaml" | "json" | "text" | "typescript" | "python" | "shell";
3
+ export declare function scriptLangToEditorLang(lang: Script['language'] | 'bunnative' | 'javascript' | 'frontend' | 'jsx' | 'tsx' | 'text' | 'json' | undefined): "javascript" | "go" | "powershell" | "graphql" | "php" | "sql" | "rust" | "csharp" | "nu" | "java" | "ruby" | "yaml" | "json" | "text" | "typescript" | "python" | "shell";
4
4
  export type ScriptSchedule = {
5
5
  summary: string | undefined;
6
6
  args: Record<string, any>;
@@ -136,7 +136,8 @@ const scriptLanguagesArray = [
136
136
  ['docker', 'Docker'],
137
137
  ['nu', 'Nu'],
138
138
  ['java', 'Java'],
139
- ['duckdb', 'DuckDB']
139
+ ['duckdb', 'DuckDB'],
140
+ ['ruby', 'Ruby']
140
141
  // for related places search: ADD_NEW_LANG
141
142
  ];
142
143
  export function processLangs(selected, langs) {
@@ -146,7 +147,7 @@ export function processLangs(selected, langs) {
146
147
  else {
147
148
  let ls = langs.filter((lang) => lang !== 'nativets');
148
149
  //those languages are newer and may not be in the saved list
149
- let nl = ['bunnative', 'rust', 'ansible', 'csharp', 'nu', 'java', 'duckdb'];
150
+ let nl = ['bunnative', 'rust', 'ansible', 'csharp', 'nu', 'java', 'duckdb', 'ruby'];
150
151
  // for related places search: ADD_NEW_LANG
151
152
  nl.forEach((lang) => {
152
153
  if (!ls.includes(lang)) {
@@ -56,11 +56,13 @@ export declare const metadataCompletionEnabled: import("svelte/store").Writable<
56
56
  export declare const stepInputCompletionEnabled: import("svelte/store").Writable<boolean>;
57
57
  export declare const FORMAT_ON_SAVE_SETTING_NAME = "formatOnSave";
58
58
  export declare const VIM_MODE_SETTING_NAME = "vimMode";
59
+ export declare const RELATIVE_LINE_NUMBERS_SETTING_NAME = "relativeLineNumbers";
59
60
  export declare const CODE_COMPLETION_SETTING_NAME = "codeCompletionSessionEnabled";
60
61
  export declare const COPILOT_SESSION_MODEL_SETTING_NAME = "copilotSessionModel";
61
62
  export declare const COPILOT_SESSION_PROVIDER_SETTING_NAME = "copilotSessionProvider";
62
63
  export declare const formatOnSave: import("svelte/store").Writable<boolean>;
63
64
  export declare const vimMode: import("svelte/store").Writable<boolean>;
65
+ export declare const relativeLineNumbers: import("svelte/store").Writable<boolean>;
64
66
  export declare const codeCompletionSessionEnabled: import("svelte/store").Writable<boolean>;
65
67
  export declare const copilotSessionModel: import("svelte/store").Writable<AIProviderModel | undefined>;
66
68
  export declare const usedTriggerKinds: import("svelte/store").Writable<string[]>;
package/package/stores.js CHANGED
@@ -106,11 +106,13 @@ export const metadataCompletionEnabled = writable(true);
106
106
  export const stepInputCompletionEnabled = writable(true);
107
107
  export const FORMAT_ON_SAVE_SETTING_NAME = 'formatOnSave';
108
108
  export const VIM_MODE_SETTING_NAME = 'vimMode';
109
+ export const RELATIVE_LINE_NUMBERS_SETTING_NAME = 'relativeLineNumbers';
109
110
  export const CODE_COMPLETION_SETTING_NAME = 'codeCompletionSessionEnabled';
110
111
  export const COPILOT_SESSION_MODEL_SETTING_NAME = 'copilotSessionModel';
111
112
  export const COPILOT_SESSION_PROVIDER_SETTING_NAME = 'copilotSessionProvider';
112
113
  export const formatOnSave = writable(getLocalSetting(FORMAT_ON_SAVE_SETTING_NAME) != 'false');
113
114
  export const vimMode = writable(getLocalSetting(VIM_MODE_SETTING_NAME) == 'true');
115
+ export const relativeLineNumbers = writable(getLocalSetting(RELATIVE_LINE_NUMBERS_SETTING_NAME) == 'true');
114
116
  export const codeCompletionSessionEnabled = writable(getLocalSetting(CODE_COMPLETION_SETTING_NAME) != 'false');
115
117
  const sessionModel = getLocalSetting(COPILOT_SESSION_MODEL_SETTING_NAME);
116
118
  const sessionProvider = getLocalSetting(COPILOT_SESSION_PROVIDER_SETTING_NAME);
@@ -26,3 +26,19 @@ export type UsePromiseOptions = {
26
26
  clearValueOnRefresh?: boolean;
27
27
  };
28
28
  export declare function usePromise<T>(createPromise: () => Promise<T>, { loadInit, clearValueOnRefresh }?: UsePromiseOptions): UsePromiseResult<T>;
29
+ /**
30
+ * Generic change tracker class that monitors changes in state using deep equality comparison
31
+ * and provides a counter to trigger Svelte 5 reactivity. Similar to the pattern used in
32
+ * FlowGraphV2.svelte's onModulesChange2 function.
33
+ */
34
+ export declare class ChangeTracker<T> {
35
+ #private;
36
+ counter: number;
37
+ constructor(initialValue?: T);
38
+ /**
39
+ * Check if the value has changed and update the counter to trigger reactivity
40
+ * @param value - The current value to check for changes
41
+ * @returns true if the value changed, false otherwise
42
+ */
43
+ track(value: T): boolean;
44
+ }
@@ -1,5 +1,6 @@
1
1
  // https://github.com/sveltejs/svelte/issues/14600
2
2
  import { untrack } from 'svelte';
3
+ import { deepEqual } from 'fast-equals';
3
4
  export function withProps(component, props) {
4
5
  const ret = $state({
5
6
  component,
@@ -49,3 +50,28 @@ export function usePromise(createPromise, { loadInit = true, clearValueOnRefresh
49
50
  ret.refresh();
50
51
  return ret;
51
52
  }
53
+ /**
54
+ * Generic change tracker class that monitors changes in state using deep equality comparison
55
+ * and provides a counter to trigger Svelte 5 reactivity. Similar to the pattern used in
56
+ * FlowGraphV2.svelte's onModulesChange2 function.
57
+ */
58
+ export class ChangeTracker {
59
+ counter = $state(0);
60
+ #lastState;
61
+ constructor(initialValue) {
62
+ this.#lastState = initialValue ? initialValue : undefined;
63
+ }
64
+ /**
65
+ * Check if the value has changed and update the counter to trigger reactivity
66
+ * @param value - The current value to check for changes
67
+ * @returns true if the value changed, false otherwise
68
+ */
69
+ track(value) {
70
+ if (!deepEqual(value, this.#lastState)) {
71
+ this.#lastState = value;
72
+ this.counter++;
73
+ return true;
74
+ }
75
+ return false;
76
+ }
77
+ }
@@ -176,7 +176,7 @@ export declare function getSchemaFromProperties(properties: {
176
176
  }): Schema;
177
177
  export declare function validateFileExtension(ext: string): boolean;
178
178
  export declare function isFlowPreview(job_kind: Job['job_kind'] | undefined): job_kind is "flowpreview" | "flownode";
179
- export declare function isNotFlow(job_kind: Job['job_kind'] | undefined): job_kind is "script" | "identity" | "preview" | "dependencies" | "flowdependencies" | "appdependencies" | "script_hub" | "deploymentcallback" | "flowscript" | "appscript" | undefined;
179
+ export declare function isNotFlow(job_kind: Job['job_kind'] | undefined): job_kind is "script" | "aiagent" | "identity" | "preview" | "dependencies" | "flowdependencies" | "appdependencies" | "script_hub" | "deploymentcallback" | "flowscript" | "appscript" | undefined;
180
180
  export declare function isScriptPreview(job_kind: Job['job_kind'] | undefined): job_kind is "preview" | "flowscript" | "appscript";
181
181
  export declare function conditionalMelt(node: HTMLElement, meltItem: AnyMeltElement | undefined): void | import("svelte/action").ActionReturn<undefined, Record<never, any>>;
182
182
  export type Item = {
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "windmill-components",
3
- "version": "1.522.0",
3
+ "version": "1.531.1",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build",
7
7
  "preview": "vite preview",
8
- "postinstall": "node -e \"if (require('fs').existsSync('./scripts/untar_ui_builder.js')) { require('child_process').execSync('node ./scripts/untar_ui_builder.js && node ./scripts/patch_files.js', {stdio: 'inherit'}) }\"",
8
+ "postinstall": "node -e \"if (require('fs').existsSync('./scripts/untar_ui_builder.js')) { require('child_process').execSync('node ./scripts/untar_ui_builder.js', {stdio: 'inherit'}) }\"",
9
9
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --threshold warning",
10
10
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
11
11
  "lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
@@ -24,9 +24,9 @@
24
24
  "@melt-ui/svelte": "^0.86.2",
25
25
  "@playwright/test": "^1.34.3",
26
26
  "@sveltejs/adapter-static": "^3.0.6",
27
- "@sveltejs/kit": "^2.16.0",
27
+ "@sveltejs/kit": "^2.28.0",
28
28
  "@sveltejs/package": "^2.3.7",
29
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
29
+ "@sveltejs/vite-plugin-svelte": "^6.1.1",
30
30
  "@tailwindcss/forms": "^0.5.3",
31
31
  "@tailwindcss/typography": "^0.5.8",
32
32
  "@types/d3": "^7.4.0",
@@ -52,7 +52,7 @@
52
52
  "prettier-plugin-svelte": "^3.3.3",
53
53
  "style-to-object": "^0.4.1",
54
54
  "stylelint-config-recommended": "^13.0.0",
55
- "svelte": "^5.0.0",
55
+ "svelte": "^5.38.0",
56
56
  "svelte-awesome-color-picker": "^3.0.4",
57
57
  "svelte-check": "^4.0.0",
58
58
  "svelte-floating-ui": "^1.5.8",
@@ -66,7 +66,7 @@
66
66
  "tar": "^7.4.3",
67
67
  "tslib": "^2.6.1",
68
68
  "typescript": "^5.5.0",
69
- "vite": "^6.3.2",
69
+ "vite": "^7.1.2",
70
70
  "vite-plugin-mkcert": "^1.17.5",
71
71
  "yootils": "^0.3.1"
72
72
  },
@@ -78,13 +78,13 @@
78
78
  "type": "module",
79
79
  "dependencies": {
80
80
  "@aws-crypto/sha256-js": "^4.0.0",
81
- "@codingame/monaco-vscode-configuration-service-override": "~16.1.1",
82
- "@codingame/monaco-vscode-editor-api": "~16.1.1",
83
- "@codingame/monaco-vscode-standalone-css-language-features": "~16.1.1",
84
- "@codingame/monaco-vscode-standalone-html-language-features": "^16.1.1",
85
- "@codingame/monaco-vscode-standalone-json-language-features": "~16.1.1",
86
- "@codingame/monaco-vscode-standalone-languages": "~16.1.1",
87
- "@codingame/monaco-vscode-standalone-typescript-language-features": "~16.1.1",
81
+ "@codingame/monaco-vscode-configuration-service-override": "~19.1.4",
82
+ "@codingame/monaco-vscode-editor-api": "~19.1.4",
83
+ "@codingame/monaco-vscode-standalone-css-language-features": "~19.1.4",
84
+ "@codingame/monaco-vscode-standalone-html-language-features": "~19.1.4",
85
+ "@codingame/monaco-vscode-standalone-json-language-features": "~19.1.4",
86
+ "@codingame/monaco-vscode-standalone-languages": "~19.1.4",
87
+ "@codingame/monaco-vscode-standalone-typescript-language-features": "~19.1.4",
88
88
  "@json2csv/plainjs": "^7.0.6",
89
89
  "@leeoniya/ufuzzy": "^1.0.8",
90
90
  "@popperjs/core": "^2.11.6",
@@ -117,10 +117,10 @@
117
117
  "lru-cache": "^11.1.0",
118
118
  "lucide-svelte": "^0.399.0",
119
119
  "minimatch": "^10.0.1",
120
- "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~16.1.1",
121
- "monaco-editor-wrapper": "6.7.0",
122
- "monaco-graphql": "^1.6.0",
123
- "monaco-languageclient": "9.6.0",
120
+ "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~19.1.4",
121
+ "monaco-editor-wrapper": "6.10.0",
122
+ "monaco-graphql": "=1.6.0",
123
+ "monaco-languageclient": "9.9.0",
124
124
  "monaco-vim": "^0.4.1",
125
125
  "ol": "^7.4.0",
126
126
  "openai": "^4.87.1",
@@ -137,7 +137,7 @@
137
137
  "svelte-infinite-loading": "^1.4.0",
138
138
  "svelte-tiny-virtual-list": "^2.0.5",
139
139
  "tailwind-merge": "^1.13.2",
140
- "vscode": "npm:@codingame/monaco-vscode-extension-api@~16.1.1",
140
+ "vscode": "npm:@codingame/monaco-vscode-extension-api@~19.1.4",
141
141
  "vscode-languageclient": "~9.0.1",
142
142
  "vscode-uri": "~3.1.0",
143
143
  "vscode-ws-jsonrpc": "~3.4.0",
@@ -148,6 +148,7 @@
148
148
  "windmill-parser-wasm-php": "1.510.1",
149
149
  "windmill-parser-wasm-py": "1.510.1",
150
150
  "windmill-parser-wasm-regex": "1.512.0",
151
+ "windmill-parser-wasm-ruby": "1.526.1",
151
152
  "windmill-parser-wasm-rust": "1.510.1",
152
153
  "windmill-parser-wasm-ts": "1.514.1",
153
154
  "windmill-parser-wasm-yaml": "1.510.1",
@@ -543,4 +544,4 @@
543
544
  "@rollup/rollup-linux-x64-gnu": "^4.35.0",
544
545
  "fsevents": "^2.3.3"
545
546
  }
546
- }
547
+ }
@@ -1,31 +0,0 @@
1
- <script lang="ts">import { Loader2 } from 'lucide-svelte';
2
- import JobLogs from './JobLogs.svelte';
3
- import { workspaceStore } from '../stores';
4
- import { base } from '../base';
5
- let { states } = $props();
6
- </script>
7
-
8
- <div class="flex flex-col">
9
- {#if states != undefined}
10
- {#each Object.entries($states ?? {}) as [id, status] (id)}
11
- <div class="pb-12"
12
- ><h1 class="mb-2">Step {id}</h1>
13
- {#each Object.entries(status.byJob ?? {}) as jobS}
14
- {@const job = jobS[0]}
15
- <div>
16
- <a
17
- class="text-xs"
18
- rel="noreferrer"
19
- target="_blank"
20
- href="{base}/run/{job}?workspace={$workspaceStore}"
21
- >
22
- {job}
23
- </a><JobLogs jobId={job} /></div
24
- >
25
- {/each}
26
- </div>
27
- {/each}
28
- {:else}
29
- <Loader2 size={14} class="animate-spin " />
30
- {/if}
31
- </div>
@@ -1,8 +0,0 @@
1
- import type { DurationStatus } from './graph';
2
- import type { Writable } from 'svelte/store';
3
- interface Props {
4
- states: Writable<Record<string, DurationStatus>> | undefined;
5
- }
6
- declare const AllFlowLogs: import("svelte").Component<Props, {}, "">;
7
- type AllFlowLogs = ReturnType<typeof AllFlowLogs>;
8
- export default AllFlowLogs;
@@ -1,68 +0,0 @@
1
- import type { ChatCompletionTool } from 'openai/resources/index.mjs';
2
- import type { Tool } from '../shared';
3
- interface OpenAPIParameter {
4
- name: string;
5
- in: string;
6
- description?: string;
7
- required?: boolean;
8
- schema?: {
9
- type?: string;
10
- format?: string;
11
- };
12
- }
13
- interface OpenAPIRequestBody {
14
- description?: string;
15
- required?: boolean;
16
- content: {
17
- [contentType: string]: {
18
- schema: {
19
- type?: string;
20
- properties?: Record<string, any>;
21
- };
22
- };
23
- };
24
- }
25
- interface OpenAPIOperation {
26
- operationId?: string;
27
- summary?: string;
28
- description?: string;
29
- parameters?: OpenAPIParameter[];
30
- requestBody?: OpenAPIRequestBody;
31
- responses?: Record<string, any>;
32
- tags?: string[];
33
- }
34
- interface OpenAPIPathItem {
35
- get?: OpenAPIOperation;
36
- post?: OpenAPIOperation;
37
- put?: OpenAPIOperation;
38
- delete?: OpenAPIOperation;
39
- patch?: OpenAPIOperation;
40
- options?: OpenAPIOperation;
41
- parameters?: OpenAPIParameter[];
42
- summary?: string;
43
- description?: string;
44
- }
45
- interface OpenAPISpec {
46
- paths: {
47
- [path: string]: OpenAPIPathItem;
48
- };
49
- components?: {
50
- parameters?: {
51
- [name: string]: OpenAPIParameter;
52
- };
53
- schemas?: {
54
- [name: string]: any;
55
- };
56
- };
57
- }
58
- export declare function buildToolsFromOpenApi(openApiSpec: OpenAPISpec, options?: {
59
- pathFilter?: (path: string) => boolean;
60
- operationFilter?: (operation: OpenAPIOperation) => boolean;
61
- methodFilter?: string[];
62
- }): {
63
- tools: ChatCompletionTool[];
64
- endpointMap: Record<string, string>;
65
- };
66
- export declare function createApiTools(chatTools: ChatCompletionTool[], endpointMap?: Record<string, string>): Tool<{}>[];
67
- export declare function loadApiTools(): Promise<Tool<{}>[]>;
68
- export {};