windmill-components 1.677.1 → 1.687.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 (354) hide show
  1. package/package/components/AppConnectInner.svelte +6 -0
  2. package/package/components/CiTestResults.svelte +64 -0
  3. package/package/components/CiTestResults.svelte.d.ts +7 -0
  4. package/package/components/CompareWorkspaces.svelte +626 -418
  5. package/package/components/DBManager.svelte +35 -4
  6. package/package/components/DBManager.svelte.d.ts +2 -0
  7. package/package/components/DBManagerContent.svelte +3 -1
  8. package/package/components/DBManagerContent.svelte.d.ts +3 -0
  9. package/package/components/DBManagerDrawer.svelte +145 -3
  10. package/package/components/DBTableEditor.svelte +14 -4
  11. package/package/components/DatatablePicker.svelte +2 -5
  12. package/package/components/DatatableSchemaDiff.svelte +531 -0
  13. package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
  14. package/package/components/DedicatedWorkersSelector.svelte +4 -2
  15. package/package/components/DefaultTagsInner.svelte +42 -2
  16. package/package/components/DeployWorkspaceDrawer.svelte +1 -1
  17. package/package/components/Dev.svelte +20 -3
  18. package/package/components/Editor.svelte +1 -1
  19. package/package/components/EditorBar.svelte +1 -1
  20. package/package/components/EditorBar.svelte.d.ts +1 -1
  21. package/package/components/FlowStatusViewerInner.svelte +269 -220
  22. package/package/components/FlowTimeline.svelte +1 -1
  23. package/package/components/FolderEditor.svelte +189 -4
  24. package/package/components/ForkWorkspaceBanner.svelte +82 -11
  25. package/package/components/GlobalUserOffboardingModal.svelte +293 -0
  26. package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
  27. package/package/components/InstanceSettings.svelte +22 -3
  28. package/package/components/Login.svelte +22 -10
  29. package/package/components/ModuleTest.svelte +2 -1
  30. package/package/components/NoMainFuncBadge.svelte +1 -1
  31. package/package/components/OffboardItemsBox.svelte +56 -0
  32. package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
  33. package/package/components/OffboardReassignControls.svelte +47 -0
  34. package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
  35. package/package/components/OffboardWorkspaceSection.svelte +110 -0
  36. package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
  37. package/package/components/OnBehalfOfSelector.svelte +21 -3
  38. package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
  39. package/package/components/QueueAlerts.svelte +10 -10
  40. package/package/components/ResourcePicker.svelte +2 -2
  41. package/package/components/ScriptBuilder.svelte +52 -11
  42. package/package/components/ScriptEditor.svelte +1 -3
  43. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  44. package/package/components/ShareModal.svelte +236 -98
  45. package/package/components/SuperadminSettingsInner.svelte +362 -315
  46. package/package/components/UserOffboardingModal.svelte +238 -0
  47. package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
  48. package/package/components/WorkspaceDeployLayout.svelte +3 -3
  49. package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
  50. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
  51. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
  52. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  53. package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
  54. package/package/components/common/table/AppRow.svelte +3 -3
  55. package/package/components/common/table/FlowRow.svelte +3 -3
  56. package/package/components/common/table/RawAppRow.svelte +4 -4
  57. package/package/components/common/table/Row.svelte +6 -2
  58. package/package/components/common/table/ScriptRow.svelte +11 -3
  59. package/package/components/copilot/chat/AIChatManager.svelte.js +2 -2
  60. package/package/components/copilot/chat/anthropic.d.ts +7 -1
  61. package/package/components/copilot/chat/anthropic.js +5 -2
  62. package/package/components/copilot/chat/app/core.js +129 -1
  63. package/package/components/copilot/chat/app/core.test.js +192 -0
  64. package/package/components/copilot/chat/chatLoop.d.ts +3 -0
  65. package/package/components/copilot/chat/chatLoop.js +13 -5
  66. package/package/components/copilot/chat/flow/FlowAIChat.svelte +55 -76
  67. package/package/components/copilot/chat/flow/core.d.ts +13 -3
  68. package/package/components/copilot/chat/flow/core.js +467 -116
  69. package/package/components/copilot/chat/flow/helperUtils.d.ts +19 -0
  70. package/package/components/copilot/chat/flow/helperUtils.js +68 -0
  71. package/package/components/copilot/chat/flow/helperUtils.test.js +116 -0
  72. package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
  73. package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
  74. package/package/components/copilot/chat/flow/utils.test.js +59 -0
  75. package/package/components/copilot/chat/openai-responses.d.ts +7 -1
  76. package/package/components/copilot/chat/openai-responses.js +5 -2
  77. package/package/components/copilot/chat/shared.d.ts +1 -2
  78. package/package/components/copilot/chat/shared.js +94 -52
  79. package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
  80. package/package/components/copilot/chat/tokenUsage.js +42 -0
  81. package/package/components/copilot/lib.d.ts +5 -1
  82. package/package/components/copilot/lib.js +21 -5
  83. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
  84. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
  85. package/package/components/details/CopyableCodeBlock.svelte +18 -8
  86. package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
  87. package/package/components/flows/FlowAssetsHandler.svelte +19 -21
  88. package/package/components/flows/agentToolTree.d.ts +17 -0
  89. package/package/components/flows/agentToolTree.js +114 -0
  90. package/package/components/flows/agentToolTree.test.d.ts +1 -0
  91. package/package/components/flows/agentToolTree.test.js +86 -0
  92. package/package/components/flows/agentToolUtils.d.ts +0 -5
  93. package/package/components/flows/agentToolUtils.js +0 -49
  94. package/package/components/flows/content/FlowLoop.svelte +7 -4
  95. package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
  96. package/package/components/flows/content/FlowSettings.svelte +29 -0
  97. package/package/components/flows/dfs.d.ts +6 -2
  98. package/package/components/flows/dfs.js +19 -11
  99. package/package/components/flows/flowDeleteController.d.ts +32 -0
  100. package/package/components/flows/flowDeleteController.js +54 -0
  101. package/package/components/flows/flowDeleteController.test.d.ts +1 -0
  102. package/package/components/flows/flowDeleteController.test.js +121 -0
  103. package/package/components/flows/flowDeleteUtils.d.ts +48 -0
  104. package/package/components/flows/flowDeleteUtils.js +150 -0
  105. package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
  106. package/package/components/flows/flowDeleteUtils.test.js +131 -0
  107. package/package/components/flows/flowDiff.d.ts +2 -47
  108. package/package/components/flows/flowDiff.js +16 -293
  109. package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
  110. package/package/components/flows/flowDiff.testUtils.js +26 -0
  111. package/package/components/flows/flowDiffManager.svelte.js +20 -75
  112. package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
  113. package/package/components/flows/flowExplorer.d.ts +4 -0
  114. package/package/components/flows/flowExplorer.js +7 -30
  115. package/package/components/flows/flowState.d.ts +1 -0
  116. package/package/components/flows/flowStateUtils.svelte.js +6 -1
  117. package/package/components/flows/flowTree.d.ts +91 -0
  118. package/package/components/flows/flowTree.js +326 -0
  119. package/package/components/flows/flowTree.test.d.ts +1 -0
  120. package/package/components/flows/flowTree.test.js +236 -0
  121. package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
  122. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  123. package/package/components/flows/map/FlowModuleSchemaMap.svelte +70 -227
  124. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +0 -2
  125. package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
  126. package/package/components/flows/previousResults.js +13 -41
  127. package/package/components/flows/previousResults.test.d.ts +1 -0
  128. package/package/components/flows/previousResults.test.js +65 -0
  129. package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
  130. package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
  131. package/package/components/flows/propPicker/StepHistory.svelte +9 -1
  132. package/package/components/git_sync/GitSyncContext.svelte.js +11 -5
  133. package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
  134. package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
  135. package/package/components/graph/FlowGraphV2.svelte +2 -2
  136. package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
  137. package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
  138. package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
  139. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +5 -2
  140. package/package/components/home/HomeConnectDrawer.svelte +125 -0
  141. package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
  142. package/package/components/icons/GithubIcon.svelte +4 -4
  143. package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
  144. package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
  145. package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
  146. package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
  147. package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
  148. package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
  149. package/package/components/instanceSettings.d.ts +1 -0
  150. package/package/components/instanceSettings.js +42 -8
  151. package/package/components/offboarding-utils.d.ts +11 -0
  152. package/package/components/offboarding-utils.js +100 -0
  153. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
  154. package/package/components/raw_apps/RawAppEditor.svelte +27 -0
  155. package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
  156. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
  157. package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
  158. package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
  159. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  160. package/package/components/runs/runsFilter.d.ts +1 -1
  161. package/package/components/script_builder.d.ts +1 -1
  162. package/package/components/select/Select.svelte +2 -1
  163. package/package/components/select/Select.svelte.d.ts +1 -0
  164. package/package/components/settings/CreateToken.svelte +113 -64
  165. package/package/components/settings/CreateToken.svelte.d.ts +3 -0
  166. package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
  167. package/package/components/sidebar/SidebarContent.svelte +58 -2
  168. package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
  169. package/package/components/triggers/AddTriggersButton.svelte +11 -0
  170. package/package/components/triggers/PermissionedAsLine.svelte +37 -3
  171. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
  172. package/package/components/triggers/TriggersEditor.svelte +5 -1
  173. package/package/components/triggers/TriggersWrapper.svelte +10 -0
  174. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +13 -11
  175. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +13 -11
  176. package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
  177. package/package/components/triggers/http/RouteEditorInner.svelte +14 -14
  178. package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
  179. package/package/components/triggers/http/RoutesPanel.svelte +1 -1
  180. package/package/components/triggers/http/utils.d.ts +1 -1
  181. package/package/components/triggers/http/utils.js +2 -2
  182. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +13 -11
  183. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +13 -11
  184. package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
  185. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
  186. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
  187. package/package/components/triggers/native/utils.js +14 -0
  188. package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
  189. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +13 -11
  190. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
  191. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +13 -11
  192. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +13 -11
  193. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
  194. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +13 -11
  195. package/package/components/triggers/triggers.svelte.js +1 -0
  196. package/package/components/triggers/utils.js +27 -6
  197. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +13 -11
  198. package/package/components/triggers.d.ts +1 -1
  199. package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
  200. package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
  201. package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
  202. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
  203. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
  204. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
  205. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
  206. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
  207. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  208. package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
  209. package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
  210. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
  211. package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
  212. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
  213. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
  214. package/package/consts.d.ts +3 -0
  215. package/package/consts.js +10 -0
  216. package/package/gen/core/OpenAPI.js +1 -1
  217. package/package/gen/schemas.gen.d.ts +485 -19
  218. package/package/gen/schemas.gen.js +489 -20
  219. package/package/gen/services.gen.d.ts +229 -2
  220. package/package/gen/services.gen.js +463 -1
  221. package/package/gen/types.gen.d.ts +866 -29
  222. package/package/githubApp.js +5 -1
  223. package/package/hubPaths.json +1 -4
  224. package/package/infer.js +13 -1
  225. package/package/infer.svelte.js +10 -1
  226. package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
  227. package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
  228. package/package/script_helpers.d.ts +8 -2
  229. package/package/script_helpers.js +14 -0
  230. package/package/stores.d.ts +4 -0
  231. package/package/stores.js +1 -0
  232. package/package/system_prompts/prompts.d.ts +4 -3
  233. package/package/system_prompts/prompts.js +270 -20
  234. package/package/templates/ci_test_bun.ts.template +19 -0
  235. package/package/templates/ci_test_python.py.template +18 -0
  236. package/package/utils_workspace_deploy.d.ts +8 -8
  237. package/package/utils_workspace_deploy.js +86 -420
  238. package/package.json +3 -3
  239. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
  240. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
  241. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
  242. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
  243. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
  244. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
  245. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
  246. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
  247. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
  248. package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
  249. package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
  250. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
  251. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
  252. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
  253. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
  254. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
  255. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
  256. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
  257. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
  258. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
  259. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
  260. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
  261. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
  262. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
  263. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
  264. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
  265. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
  266. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
  267. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
  268. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
  269. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
  270. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
  271. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
  272. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
  273. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
  274. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
  275. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
  276. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
  277. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
  278. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
  279. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
  280. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
  281. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
  282. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
  283. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
  284. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
  285. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
  286. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
  287. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
  288. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
  289. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
  290. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
  291. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
  292. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
  293. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
  294. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
  295. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
  296. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
  297. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
  298. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
  299. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
  300. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
  301. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
  302. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
  303. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
  304. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
  305. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
  306. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
  307. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
  308. package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
  309. package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
  310. package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
  311. package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
  312. package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
  313. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
  314. package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
  315. package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
  316. package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
  317. package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
  318. package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
  319. package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
  320. package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
  321. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
  322. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
  323. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
  324. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
  325. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
  326. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
  327. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
  328. package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
  329. package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
  330. package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
  331. package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
  332. package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
  333. package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
  334. package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
  335. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
  336. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
  337. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
  338. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
  339. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
  340. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
  341. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
  342. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
  343. package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
  344. package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
  345. package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
  346. package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
  347. package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
  348. package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
  349. package/package/components/copilot/chat/flow/utils.d.ts +0 -14
  350. package/package/components/copilot/chat/flow/utils.js +0 -108
  351. package/package/components/flows/agentToolUtils.test.js +0 -55
  352. /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
  353. /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
  354. /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
@@ -0,0 +1,19 @@
1
+ // test: script/u/user/script_to_test
2
+ //
3
+ // To test multiple items, list them on separate lines:
4
+ // // test:
5
+ // // script/u/user/script_a
6
+ // // script/u/user/script_b
7
+ // // flow/u/user/my_flow
8
+ import * as wmill from "windmill-client";
9
+
10
+ export async function main() {
11
+ const result = await wmill.runScript("u/user/script_to_test", {});
12
+
13
+ // Add your assertions here
14
+ // if (result !== 42) {
15
+ // throw new Error(`Expected 42, got ${JSON.stringify(result)}`);
16
+ // }
17
+
18
+ return result;
19
+ }
@@ -0,0 +1,18 @@
1
+ # test: script/u/user/script_to_test
2
+ #
3
+ # To test multiple items, list them on separate lines:
4
+ # # test:
5
+ # # script/u/user/script_a
6
+ # # script/u/user/script_b
7
+ # # flow/u/user/my_flow
8
+ import wmill
9
+
10
+
11
+ def main():
12
+ result = wmill.run_script("u/user/script_to_test", {})
13
+
14
+ # Add your assertions here
15
+ # if result != 42:
16
+ # raise Exception(f"Expected 42, got {result}")
17
+
18
+ return result
@@ -1,4 +1,6 @@
1
1
  import { type AdditionalInformation, type Kind } from './utils_deployable';
2
+ import { type DeployResult } from 'windmill-utils-internal';
3
+ export type { DeployResult };
2
4
  export interface DeployItemParams {
3
5
  kind: Kind;
4
6
  path: string;
@@ -15,15 +17,17 @@ export interface DeployItemParams {
15
17
  */
16
18
  onBehalfOf?: string;
17
19
  }
18
- export interface DeployResult {
19
- success: boolean;
20
- error?: string;
21
- }
22
20
  /**
23
21
  * Deploy an item from one workspace to another.
24
22
  * Handles all item kinds: flow, script, app, variable, resource, resource_type, folder, trigger.
25
23
  */
26
24
  export declare function deployItem(params: DeployItemParams): Promise<DeployResult>;
25
+ /**
26
+ * Delete/archive an item in a workspace.
27
+ * Used when deploying a deletion from one workspace to another.
28
+ * Scripts and flows are archived (reversible). Other types are deleted.
29
+ */
30
+ export declare function deleteItemInWorkspace(kind: Kind, path: string, workspace: string): Promise<DeployResult>;
27
31
  /**
28
32
  * Check if an item already exists in the target workspace.
29
33
  */
@@ -34,9 +38,5 @@ export declare function checkItemExists(kind: Kind, path: string, workspace: str
34
38
  export declare function getItemValue(kind: Kind, path: string, workspace: string, additionalInformation?: AdditionalInformation): Promise<unknown>;
35
39
  /**
36
40
  * Get the on_behalf_of value for a deployable item.
37
- *
38
- * Return type varies by item kind:
39
- * - For flows/scripts/apps: returns on_behalf_of_email (an email address)
40
- * - For triggers/schedules: returns permissioned_as (u/username or g/group format)
41
41
  */
42
42
  export declare function getOnBehalfOf(kind: Kind, path: string, workspace: string, additionalInformation?: AdditionalInformation): Promise<string | undefined>;
@@ -1,9 +1,50 @@
1
1
  import { AppService, FlowService, FolderService, ResourceService, ScheduleService, ScriptService, VariableService } from './gen';
2
- import { getAllModules } from './components/flows/flowExplorer';
3
2
  import { existsTrigger, getTriggersDeployData, getTriggerPermissionedAs, getTriggerValue } from './utils_deployable';
4
- /** Folder diff paths carry the `f/` prefix (e.g. `f/test`), but folder API endpoints expect just the name. */
5
- function folderName(path) {
6
- return path.replace(/^f\//, '');
3
+ import { deployItem as sharedDeployItem, deleteItemInWorkspace as sharedDeleteItem, checkItemExists as sharedCheckItemExists, getOnBehalfOf as sharedGetOnBehalfOf, getItemValue as sharedGetItemValue } from 'windmill-utils-internal';
4
+ // ---------------------------------------------------------------------------
5
+ // Provider adapter — wraps frontend's class-based services
6
+ // ---------------------------------------------------------------------------
7
+ function makeProvider() {
8
+ return {
9
+ existsFlowByPath: (p) => FlowService.existsFlowByPath(p),
10
+ existsScriptByPath: (p) => ScriptService.existsScriptByPath(p),
11
+ existsApp: (p) => AppService.existsApp(p),
12
+ existsVariable: (p) => VariableService.existsVariable(p),
13
+ existsResource: (p) => ResourceService.existsResource(p),
14
+ existsResourceType: (p) => ResourceService.existsResourceType(p),
15
+ existsFolder: (p) => FolderService.existsFolder(p),
16
+ getFlowByPath: (p) => FlowService.getFlowByPath(p),
17
+ createFlow: (p) => FlowService.createFlow(p),
18
+ updateFlow: (p) => FlowService.updateFlow(p),
19
+ archiveFlowByPath: (p) => FlowService.archiveFlowByPath(p),
20
+ getScriptByPath: (p) => ScriptService.getScriptByPath(p),
21
+ createScript: (p) => ScriptService.createScript(p),
22
+ archiveScriptByPath: (p) => ScriptService.archiveScriptByPath(p),
23
+ getAppByPath: (p) => AppService.getAppByPath(p),
24
+ createApp: (p) => AppService.createApp(p),
25
+ updateApp: (p) => AppService.updateApp(p),
26
+ createAppRaw: (p) => AppService.createAppRaw(p),
27
+ updateAppRaw: (p) => AppService.updateAppRaw(p),
28
+ getPublicSecretOfLatestVersionOfApp: (p) => AppService.getPublicSecretOfLatestVersionOfApp(p),
29
+ getRawAppData: (p) => AppService.getRawAppData(p),
30
+ deleteApp: (p) => AppService.deleteApp(p),
31
+ getVariable: (p) => VariableService.getVariable(p),
32
+ createVariable: (p) => VariableService.createVariable(p),
33
+ updateVariable: (p) => VariableService.updateVariable(p),
34
+ deleteVariable: (p) => VariableService.deleteVariable(p),
35
+ getResource: (p) => ResourceService.getResource(p),
36
+ createResource: (p) => ResourceService.createResource(p),
37
+ updateResource: (p) => ResourceService.updateResource(p),
38
+ deleteResource: (p) => ResourceService.deleteResource(p),
39
+ getResourceType: (p) => ResourceService.getResourceType(p),
40
+ createResourceType: (p) => ResourceService.createResourceType(p),
41
+ updateResourceType: (p) => ResourceService.updateResourceType(p),
42
+ deleteResourceType: (p) => ResourceService.deleteResourceType(p),
43
+ getFolder: (p) => FolderService.getFolder(p),
44
+ createFolder: (p) => FolderService.createFolder(p),
45
+ updateFolder: (p) => FolderService.updateFolder(p),
46
+ deleteFolder: (p) => FolderService.deleteFolder(p)
47
+ };
7
48
  }
8
49
  /**
9
50
  * Deploy an item from one workspace to another.
@@ -11,332 +52,43 @@ function folderName(path) {
11
52
  */
12
53
  export async function deployItem(params) {
13
54
  const { kind, path, workspaceFrom, workspaceTo, additionalInformation, onBehalfOf } = params;
14
- // When onBehalfOf is set, we preserve the on_behalf_of setting with the specified value
15
- const preserveOnBehalfOf = onBehalfOf !== undefined;
16
- try {
17
- const alreadyExists = await checkItemExists(kind, path, workspaceTo, additionalInformation);
18
- if (kind === 'flow') {
19
- const flow = await FlowService.getFlowByPath({
20
- workspace: workspaceFrom,
21
- path: path
22
- });
23
- getAllModules(flow.value.modules).forEach((x) => {
24
- if (x.value.type === 'script' && x.value.hash != undefined) {
25
- x.value.hash = undefined;
26
- }
27
- });
55
+ // Triggers are frontend-specific (not in the shared module)
56
+ if (kind === 'trigger') {
57
+ if (!additionalInformation?.triggers) {
58
+ return { success: false, error: 'Missing triggers kind' };
59
+ }
60
+ try {
61
+ const alreadyExists = await checkItemExists(kind, path, workspaceTo, additionalInformation);
62
+ const { data, createFn, updateFn } = await getTriggersDeployData(additionalInformation.triggers.kind, path, workspaceFrom, onBehalfOf);
28
63
  if (alreadyExists) {
29
- await FlowService.updateFlow({
30
- workspace: workspaceTo,
31
- path: path,
32
- requestBody: {
33
- ...flow,
34
- preserve_on_behalf_of: preserveOnBehalfOf,
35
- on_behalf_of_email: onBehalfOf
36
- }
37
- });
64
+ await updateFn({ path, workspace: workspaceTo, requestBody: data });
38
65
  }
39
66
  else {
40
- await FlowService.createFlow({
41
- workspace: workspaceTo,
42
- requestBody: {
43
- ...flow,
44
- preserve_on_behalf_of: preserveOnBehalfOf,
45
- on_behalf_of_email: onBehalfOf
46
- }
47
- });
67
+ await createFn({ workspace: workspaceTo, requestBody: data });
48
68
  }
69
+ return { success: true };
49
70
  }
50
- else if (kind === 'script') {
51
- const script = await ScriptService.getScriptByPath({
52
- workspace: workspaceFrom,
53
- path: path
54
- });
55
- await ScriptService.createScript({
56
- workspace: workspaceTo,
57
- requestBody: {
58
- ...script,
59
- lock: script.lock,
60
- parent_hash: alreadyExists
61
- ? (await ScriptService.getScriptByPath({
62
- workspace: workspaceTo,
63
- path: path
64
- })).hash
65
- : undefined,
66
- preserve_on_behalf_of: preserveOnBehalfOf,
67
- on_behalf_of_email: onBehalfOf
68
- }
69
- });
71
+ catch (e) {
72
+ return { success: false, error: e.body || e.message || String(e) };
70
73
  }
71
- else if (kind === 'app' || kind === 'raw_app') {
72
- const app = await AppService.getAppByPath({
73
- workspace: workspaceFrom,
74
- path: path
75
- });
76
- if (alreadyExists) {
77
- if (app.raw_app) {
78
- const secret = await AppService.getPublicSecretOfLatestVersionOfApp({
79
- workspace: workspaceFrom,
80
- path: app.path
81
- });
82
- const js = await AppService.getRawAppData({
83
- secretWithExtension: `${secret}.js`,
84
- workspace: workspaceFrom
85
- });
86
- const css = await AppService.getRawAppData({
87
- secretWithExtension: `${secret}.css`,
88
- workspace: workspaceFrom
89
- });
90
- await AppService.updateAppRaw({
91
- workspace: workspaceTo,
92
- path: path,
93
- formData: {
94
- app: { ...app, preserve_on_behalf_of: preserveOnBehalfOf },
95
- css,
96
- js
97
- }
98
- });
99
- }
100
- else {
101
- await AppService.updateApp({
102
- workspace: workspaceTo,
103
- path: path,
104
- requestBody: {
105
- ...app,
106
- preserve_on_behalf_of: preserveOnBehalfOf
107
- }
108
- });
109
- }
110
- }
111
- else {
112
- if (app.raw_app) {
113
- const secret = await AppService.getPublicSecretOfLatestVersionOfApp({
114
- workspace: workspaceFrom,
115
- path: app.path
116
- });
117
- const js = await AppService.getRawAppData({
118
- secretWithExtension: `${secret}.js`,
119
- workspace: workspaceFrom
120
- });
121
- const css = await AppService.getRawAppData({
122
- secretWithExtension: `${secret}.css`,
123
- workspace: workspaceFrom
124
- });
125
- await AppService.createAppRaw({
126
- workspace: workspaceTo,
127
- formData: {
128
- app: { ...app, preserve_on_behalf_of: preserveOnBehalfOf },
129
- css,
130
- js
131
- }
132
- });
133
- }
134
- else {
135
- await AppService.createApp({
136
- workspace: workspaceTo,
137
- requestBody: {
138
- ...app,
139
- preserve_on_behalf_of: preserveOnBehalfOf
140
- }
141
- });
142
- }
143
- }
144
- }
145
- else if (kind === 'variable') {
146
- const variable = await VariableService.getVariable({
147
- workspace: workspaceFrom,
148
- path: path,
149
- decryptSecret: true
150
- });
151
- if (alreadyExists) {
152
- await VariableService.updateVariable({
153
- workspace: workspaceTo,
154
- path: path,
155
- requestBody: {
156
- path: path,
157
- value: variable.value ?? '',
158
- is_secret: variable.is_secret,
159
- description: variable.description ?? ''
160
- },
161
- alreadyEncrypted: false
162
- });
163
- }
164
- else {
165
- await VariableService.createVariable({
166
- workspace: workspaceTo,
167
- requestBody: {
168
- path: path,
169
- value: variable.value ?? '',
170
- is_secret: variable.is_secret,
171
- description: variable.description ?? ''
172
- }
173
- });
174
- }
175
- }
176
- else if (kind === 'resource') {
177
- const resource = await ResourceService.getResource({
178
- workspace: workspaceFrom,
179
- path: path
180
- });
181
- if (alreadyExists) {
182
- await ResourceService.updateResource({
183
- workspace: workspaceTo,
184
- path: path,
185
- requestBody: {
186
- path: path,
187
- value: resource.value ?? '',
188
- description: resource.description ?? ''
189
- }
190
- });
191
- }
192
- else {
193
- await ResourceService.createResource({
194
- workspace: workspaceTo,
195
- requestBody: {
196
- path: path,
197
- value: resource.value ?? '',
198
- resource_type: resource.resource_type,
199
- description: resource.description ?? ''
200
- }
201
- });
202
- }
203
- }
204
- else if (kind === 'resource_type') {
205
- const resource = await ResourceService.getResourceType({
206
- workspace: workspaceFrom,
207
- path: path
208
- });
209
- if (alreadyExists) {
210
- await ResourceService.updateResourceType({
211
- workspace: workspaceTo,
212
- path: path,
213
- requestBody: {
214
- schema: resource.schema,
215
- description: resource.description ?? ''
216
- }
217
- });
218
- }
219
- else {
220
- await ResourceService.createResourceType({
221
- workspace: workspaceTo,
222
- requestBody: {
223
- description: resource.description ?? '',
224
- schema: resource.schema,
225
- name: resource.name
226
- }
227
- });
228
- }
229
- }
230
- else if (kind === 'folder') {
231
- const name = folderName(path);
232
- const folder = await FolderService.getFolder({
233
- workspace: workspaceFrom,
234
- name
235
- });
236
- if (alreadyExists) {
237
- await FolderService.updateFolder({
238
- workspace: workspaceTo,
239
- name,
240
- requestBody: {
241
- owners: folder.owners,
242
- extra_perms: folder.extra_perms,
243
- summary: folder.summary ?? undefined
244
- }
245
- });
246
- }
247
- else {
248
- await FolderService.createFolder({
249
- workspace: workspaceTo,
250
- requestBody: {
251
- name,
252
- owners: folder.owners,
253
- extra_perms: folder.extra_perms,
254
- summary: folder.summary ?? undefined
255
- }
256
- });
257
- }
258
- }
259
- else if (kind === 'trigger') {
260
- if (additionalInformation?.triggers) {
261
- const { data, createFn, updateFn } = await getTriggersDeployData(additionalInformation.triggers.kind, path, workspaceFrom, onBehalfOf);
262
- if (alreadyExists) {
263
- await updateFn({
264
- path,
265
- workspace: workspaceTo,
266
- requestBody: data
267
- });
268
- }
269
- else {
270
- await createFn({
271
- workspace: workspaceTo,
272
- requestBody: data
273
- });
274
- }
275
- }
276
- else {
277
- throw new Error('Missing triggers kind');
278
- }
279
- }
280
- else {
281
- throw new Error(`Unknown kind ${kind}`);
282
- }
283
- return { success: true };
284
- }
285
- catch (e) {
286
- return { success: false, error: e.body || e.message };
287
74
  }
75
+ return sharedDeployItem(makeProvider(), kind, path, workspaceFrom, workspaceTo, onBehalfOf);
76
+ }
77
+ /**
78
+ * Delete/archive an item in a workspace.
79
+ * Used when deploying a deletion from one workspace to another.
80
+ * Scripts and flows are archived (reversible). Other types are deleted.
81
+ */
82
+ export async function deleteItemInWorkspace(kind, path, workspace) {
83
+ return sharedDeleteItem(makeProvider(), kind, path, workspace);
288
84
  }
289
85
  /**
290
86
  * Check if an item already exists in the target workspace.
291
87
  */
292
88
  export async function checkItemExists(kind, path, workspace, additionalInformation) {
293
- if (kind === 'flow') {
294
- return await FlowService.existsFlowByPath({
295
- workspace: workspace,
296
- path: path
297
- });
298
- }
299
- else if (kind === 'script') {
300
- return await ScriptService.existsScriptByPath({
301
- workspace: workspace,
302
- path: path
303
- });
304
- }
305
- else if (kind === 'app' || kind === 'raw_app') {
306
- return await AppService.existsApp({
307
- workspace: workspace,
308
- path: path
309
- });
310
- }
311
- else if (kind === 'variable') {
312
- return await VariableService.existsVariable({
313
- workspace: workspace,
314
- path: path
315
- });
316
- }
317
- else if (kind === 'resource') {
318
- return await ResourceService.existsResource({
319
- workspace: workspace,
320
- path: path
321
- });
322
- }
323
- else if (kind === 'schedule') {
324
- return await ScheduleService.existsSchedule({
325
- workspace: workspace,
326
- path: path
327
- });
328
- }
329
- else if (kind === 'resource_type') {
330
- return await ResourceService.existsResourceType({
331
- workspace: workspace,
332
- path: path
333
- });
334
- }
335
- else if (kind === 'folder') {
336
- return await FolderService.existsFolder({
337
- workspace: workspace,
338
- name: folderName(path)
339
- });
89
+ // Triggers and schedules are frontend-specific
90
+ if (kind === 'schedule') {
91
+ return ScheduleService.existsSchedule({ workspace, path });
340
92
  }
341
93
  else if (kind === 'trigger') {
342
94
  const triggersKind = [
@@ -352,130 +104,44 @@ export async function checkItemExists(kind, path, workspace, additionalInformati
352
104
  ];
353
105
  if (additionalInformation?.triggers &&
354
106
  triggersKind.includes(additionalInformation.triggers.kind)) {
355
- return await existsTrigger({ workspace: workspace, path }, additionalInformation.triggers.kind);
107
+ return existsTrigger({ workspace, path }, additionalInformation.triggers.kind);
356
108
  }
357
109
  else {
358
110
  throw new Error(`Unexpected triggers kind, expected one of: '${triggersKind.join(', ')}' got: ${additionalInformation?.triggers?.kind}`);
359
111
  }
360
112
  }
361
- else {
362
- throw new Error(`Unknown kind ${kind}`);
363
- }
113
+ return sharedCheckItemExists(makeProvider(), kind, path, workspace);
364
114
  }
365
115
  /**
366
116
  * Get the value of an item for diff comparison.
367
117
  */
368
118
  export async function getItemValue(kind, path, workspace, additionalInformation) {
369
- try {
370
- if (kind === 'flow') {
371
- const flow = await FlowService.getFlowByPath({
372
- workspace: workspace,
373
- path: path
374
- });
375
- getAllModules(flow.value.modules).forEach((x) => {
376
- if (x.value.type === 'script' && x.value.hash != undefined) {
377
- x.value.hash = undefined;
378
- }
379
- });
380
- return { summary: flow.summary, description: flow.description, value: flow.value };
381
- }
382
- else if (kind === 'script') {
383
- const script = await ScriptService.getScriptByPath({
384
- workspace: workspace,
385
- path: path
386
- });
387
- return {
388
- content: script.content,
389
- lock: script.lock,
390
- schema: script.schema,
391
- summary: script.summary,
392
- language: script.language
393
- };
394
- }
395
- else if (kind === 'app' || kind === 'raw_app') {
396
- const app = await AppService.getAppByPath({
397
- workspace: workspace,
398
- path: path
399
- });
400
- return app;
401
- }
402
- else if (kind === 'variable') {
403
- const variable = await VariableService.getVariable({
404
- workspace: workspace,
405
- path: path,
406
- decryptSecret: true
407
- });
408
- return variable.value;
409
- }
410
- else if (kind === 'resource') {
411
- const resource = await ResourceService.getResource({
412
- workspace: workspace,
413
- path: path
414
- });
415
- return resource.value;
416
- }
417
- else if (kind === 'resource_type') {
418
- const resource = await ResourceService.getResourceType({
419
- workspace: workspace,
420
- path: path
421
- });
422
- return resource.schema;
423
- }
424
- else if (kind === 'folder') {
425
- const folder = await FolderService.getFolder({
426
- workspace: workspace,
427
- name: folderName(path)
428
- });
429
- return {
430
- name: folder.name,
431
- owners: folder.owners,
432
- extra_perms: folder.extra_perms,
433
- summary: folder.summary
434
- };
435
- }
436
- else if (kind === 'trigger') {
437
- if (additionalInformation?.triggers) {
119
+ // Triggers are frontend-specific
120
+ if (kind === 'trigger') {
121
+ if (additionalInformation?.triggers) {
122
+ try {
438
123
  return await getTriggerValue(additionalInformation.triggers.kind, path, workspace);
439
124
  }
440
- else {
441
- throw new Error(`Missing trigger information`);
125
+ catch {
126
+ return {};
442
127
  }
443
128
  }
444
- else {
445
- throw new Error(`Unknown kind ${kind}`);
446
- }
447
- }
448
- catch {
449
129
  return {};
450
130
  }
131
+ return sharedGetItemValue(makeProvider(), kind, path, workspace);
451
132
  }
452
133
  /**
453
134
  * Get the on_behalf_of value for a deployable item.
454
- *
455
- * Return type varies by item kind:
456
- * - For flows/scripts/apps: returns on_behalf_of_email (an email address)
457
- * - For triggers/schedules: returns permissioned_as (u/username or g/group format)
458
135
  */
459
136
  export async function getOnBehalfOf(kind, path, workspace, additionalInformation) {
460
- try {
461
- if (kind === 'flow') {
462
- const flow = await FlowService.getFlowByPath({ workspace, path });
463
- return flow.on_behalf_of_email;
464
- }
465
- else if (kind === 'script') {
466
- const script = await ScriptService.getScriptByPath({ workspace, path });
467
- return script.on_behalf_of_email;
468
- }
469
- else if (kind === 'app' || kind === 'raw_app') {
470
- const app = await AppService.getAppByPath({ workspace, path });
471
- return app.policy.on_behalf_of_email;
472
- }
473
- else if (kind === 'trigger' && additionalInformation?.triggers) {
137
+ // Triggers are frontend-specific
138
+ if (kind === 'trigger' && additionalInformation?.triggers) {
139
+ try {
474
140
  return await getTriggerPermissionedAs(additionalInformation.triggers.kind, path, workspace);
475
141
  }
142
+ catch {
143
+ return undefined;
144
+ }
476
145
  }
477
- catch {
478
- // Item may not exist in the workspace
479
- }
480
- return undefined;
146
+ return sharedGetOnBehalfOf(makeProvider(), kind, path, workspace);
481
147
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "windmill-components",
3
- "version": "1.677.1",
3
+ "version": "1.687.0",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build",
@@ -71,7 +71,7 @@
71
71
  "tslib": "^2.6.1",
72
72
  "typescript": "^5.5.0",
73
73
  "vite": "^8.0.0",
74
- "vite-plugin-mkcert": "^1.17.5",
74
+ "vite-plugin-mkcert": "^2.0.0",
75
75
  "vitest": "^4.1.0",
76
76
  "vitest-browser-svelte": "^2.0.1"
77
77
  },
@@ -163,7 +163,7 @@
163
163
  "windmill-parser-wasm-wac": "1.668.6",
164
164
  "windmill-parser-wasm-yaml": "1.593.0",
165
165
  "windmill-sql-datatype-parser-wasm": "1.512.0",
166
- "windmill-utils-internal": "^1.3.4",
166
+ "windmill-utils-internal": "^1.3.8",
167
167
  "xterm": "^5.3.0",
168
168
  "xterm-readline": "^1.1.2",
169
169
  "y-monaco": "^0.1.4",