windmill-components 1.677.1 → 1.695.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 (552) hide show
  1. package/package/components/AppConnectInner.svelte +6 -0
  2. package/package/components/ArgInput.svelte +2 -0
  3. package/package/components/AutoscalingConfigEditor.svelte +18 -4
  4. package/package/components/CiTestResults.svelte +64 -0
  5. package/package/components/CiTestResults.svelte.d.ts +7 -0
  6. package/package/components/CompareWorkspaces.svelte +741 -484
  7. package/package/components/DBManager.svelte +35 -4
  8. package/package/components/DBManager.svelte.d.ts +2 -0
  9. package/package/components/DBManagerContent.svelte +3 -1
  10. package/package/components/DBManagerContent.svelte.d.ts +3 -0
  11. package/package/components/DBManagerDrawer.svelte +145 -3
  12. package/package/components/DBTableEditor.svelte +14 -4
  13. package/package/components/DatatablePicker.svelte +2 -5
  14. package/package/components/DatatableSchemaDiff.svelte +531 -0
  15. package/package/components/DatatableSchemaDiff.svelte.d.ts +29 -0
  16. package/package/components/DedicatedWorkersSelector.svelte +4 -2
  17. package/package/components/DefaultTagsInner.svelte +42 -2
  18. package/package/components/DeployWorkspaceDrawer.svelte +1 -1
  19. package/package/components/Dev.svelte +407 -74
  20. package/package/components/EditableSchemaForm.svelte +4 -0
  21. package/package/components/Editor.svelte +1 -1
  22. package/package/components/EditorBar.svelte +1 -1
  23. package/package/components/EditorBar.svelte.d.ts +1 -1
  24. package/package/components/ErrorOrRecoveryHandler.svelte +2 -2
  25. package/package/components/FlowPreviewContent.svelte +32 -30
  26. package/package/components/FlowRestartButton.svelte +143 -61
  27. package/package/components/FlowRestartButton.svelte.d.ts +37 -0
  28. package/package/components/FlowStatusViewer.svelte +15 -1
  29. package/package/components/FlowStatusViewer.svelte.d.ts +10 -2
  30. package/package/components/FlowStatusViewerInner.svelte +270 -222
  31. package/package/components/FlowStatusViewerInner.svelte.d.ts +6 -2
  32. package/package/components/FlowTimeline.svelte +1 -1
  33. package/package/components/FolderEditor.svelte +189 -4
  34. package/package/components/ForkConflictModal.svelte +57 -0
  35. package/package/components/ForkConflictModal.svelte.d.ts +3 -0
  36. package/package/components/ForkWorkspaceBanner.svelte +82 -11
  37. package/package/components/GitRepoViewer.svelte +251 -97
  38. package/package/components/GlobalUserOffboardingModal.svelte +293 -0
  39. package/package/components/GlobalUserOffboardingModal.svelte.d.ts +10 -0
  40. package/package/components/InputTransformSchemaForm.svelte +1 -1
  41. package/package/components/InstanceSettings.svelte +58 -19
  42. package/package/components/Login.svelte +133 -36
  43. package/package/components/Login.svelte.d.ts +1 -0
  44. package/package/components/ModuleTest.svelte +2 -1
  45. package/package/components/NoMainFuncBadge.svelte +1 -1
  46. package/package/components/OffboardItemsBox.svelte +56 -0
  47. package/package/components/OffboardItemsBox.svelte.d.ts +12 -0
  48. package/package/components/OffboardReassignControls.svelte +47 -0
  49. package/package/components/OffboardReassignControls.svelte.d.ts +20 -0
  50. package/package/components/OffboardWorkspaceSection.svelte +110 -0
  51. package/package/components/OffboardWorkspaceSection.svelte.d.ts +24 -0
  52. package/package/components/OnBehalfOfSelector.svelte +21 -3
  53. package/package/components/OnBehalfOfSelector.svelte.d.ts +7 -0
  54. package/package/components/Path.svelte +7 -1
  55. package/package/components/Path.svelte.d.ts +1 -1
  56. package/package/components/QueueAlerts.svelte +10 -10
  57. package/package/components/ResourcePicker.svelte +2 -2
  58. package/package/components/RunsPage.svelte +2 -1
  59. package/package/components/S3FilePickerInner.svelte +89 -89
  60. package/package/components/ScriptBuilder.svelte +52 -11
  61. package/package/components/ScriptEditor.svelte +19 -8
  62. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  63. package/package/components/ShareModal.svelte +236 -98
  64. package/package/components/ShareModal.svelte.d.ts +1 -1
  65. package/package/components/SuperadminSettingsInner.svelte +362 -315
  66. package/package/components/UserOffboardingModal.svelte +238 -0
  67. package/package/components/UserOffboardingModal.svelte.d.ts +10 -0
  68. package/package/components/WorkspaceDeployLayout.svelte +3 -3
  69. package/package/components/WorkspaceDeployLayout.svelte.d.ts +1 -0
  70. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +3 -0
  71. package/package/components/apps/components/helpers/executeRunnable.js +2 -1
  72. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -1
  73. package/package/components/apps/editor/appPolicy.js +2 -1
  74. package/package/components/apps/editor/commonAppUtils.d.ts +3 -0
  75. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +1 -1
  76. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte +7 -0
  77. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +4 -2
  78. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte +49 -0
  79. package/package/components/apps/editor/inlineScriptsPanel/TagPopup.svelte.d.ts +9 -0
  80. package/package/components/apps/editor/settingsPanel/mainInput/RunnableSelector.svelte +12 -0
  81. package/package/components/apps/inputType.d.ts +1 -0
  82. package/package/components/apps/sharedTypes.d.ts +1 -0
  83. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  84. package/package/components/auditLogs/AuditLogsFilters.svelte +8 -3
  85. package/package/components/common/confirmationModal/ConfirmationModal.svelte +1 -1
  86. package/package/components/common/fileUpload/S3ArgInput.svelte +12 -10
  87. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +2 -0
  88. package/package/components/common/table/AppRow.svelte +3 -3
  89. package/package/components/common/table/FlowRow.svelte +3 -3
  90. package/package/components/common/table/RawAppRow.svelte +4 -4
  91. package/package/components/common/table/Row.svelte +6 -2
  92. package/package/components/common/table/ScriptRow.svelte +11 -3
  93. package/package/components/copilot/chat/AIChatDisplay.svelte +5 -36
  94. package/package/components/copilot/chat/AIChatInput.svelte +56 -47
  95. package/package/components/copilot/chat/AIChatManager.svelte.js +50 -48
  96. package/package/components/copilot/chat/ContextElementBadge.svelte +6 -4
  97. package/package/components/copilot/chat/anthropic.d.ts +7 -1
  98. package/package/components/copilot/chat/anthropic.js +5 -2
  99. package/package/components/copilot/chat/app/core.d.ts +12 -20
  100. package/package/components/copilot/chat/app/core.js +230 -159
  101. package/package/components/copilot/chat/app/core.test.js +417 -0
  102. package/package/components/copilot/chat/chatLoop.d.ts +3 -0
  103. package/package/components/copilot/chat/chatLoop.js +13 -5
  104. package/package/components/copilot/chat/context.js +44 -0
  105. package/package/components/copilot/chat/flow/FlowAIChat.svelte +57 -76
  106. package/package/components/copilot/chat/flow/core.d.ts +14 -3
  107. package/package/components/copilot/chat/flow/core.js +494 -116
  108. package/package/components/copilot/chat/flow/helperUtils.d.ts +22 -0
  109. package/package/components/copilot/chat/flow/helperUtils.js +100 -0
  110. package/package/components/copilot/chat/flow/helperUtils.test.js +231 -0
  111. package/package/components/copilot/chat/flow/inlineScriptsUtils.d.ts +5 -24
  112. package/package/components/copilot/chat/flow/inlineScriptsUtils.js +30 -55
  113. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  114. package/package/components/copilot/chat/flow/openFlowZod.gen.js +24 -0
  115. package/package/components/copilot/chat/flow/utils.test.js +59 -0
  116. package/package/components/copilot/chat/openai-responses.d.ts +7 -1
  117. package/package/components/copilot/chat/openai-responses.js +5 -2
  118. package/package/components/copilot/chat/script/core.js +3 -0
  119. package/package/components/copilot/chat/shared.d.ts +7 -2
  120. package/package/components/copilot/chat/shared.js +116 -53
  121. package/package/components/copilot/chat/shared.test.d.ts +1 -0
  122. package/package/components/copilot/chat/shared.test.js +412 -0
  123. package/package/components/copilot/chat/tokenUsage.d.ts +23 -0
  124. package/package/components/copilot/chat/tokenUsage.js +42 -0
  125. package/package/components/copilot/chat/workspaceTools.d.ts +7 -0
  126. package/package/components/copilot/chat/workspaceTools.js +239 -0
  127. package/package/components/copilot/chat/workspaceToolsZod.gen.d.ts +1295 -0
  128. package/package/components/copilot/chat/workspaceToolsZod.gen.js +424 -0
  129. package/package/components/copilot/lib.d.ts +5 -1
  130. package/package/components/copilot/lib.js +24 -6
  131. package/package/components/copilot/lib.test.d.ts +1 -0
  132. package/package/components/copilot/lib.test.js +19 -0
  133. package/package/components/copilot/modelConfig.d.ts +3 -0
  134. package/package/components/copilot/modelConfig.js +10 -0
  135. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte +337 -0
  136. package/package/components/deploymentRequest/DeploymentRequestPanel.svelte.d.ts +15 -0
  137. package/package/components/details/CopyableCodeBlock.svelte +18 -8
  138. package/package/components/details/CopyableCodeBlock.svelte.d.ts +1 -0
  139. package/package/components/flows/FlowAssetsHandler.svelte +19 -21
  140. package/package/components/flows/FlowProgressBar.svelte +5 -2
  141. package/package/components/flows/agentToolTree.d.ts +17 -0
  142. package/package/components/flows/agentToolTree.js +114 -0
  143. package/package/components/flows/agentToolTree.test.d.ts +1 -0
  144. package/package/components/flows/agentToolTree.test.js +86 -0
  145. package/package/components/flows/agentToolUtils.d.ts +0 -5
  146. package/package/components/flows/agentToolUtils.js +0 -49
  147. package/package/components/flows/content/FlowLoop.svelte +7 -4
  148. package/package/components/flows/content/FlowModuleComponent.svelte +636 -599
  149. package/package/components/flows/content/FlowModuleDeleteAfterUse.svelte +15 -7
  150. package/package/components/flows/content/FlowSettings.svelte +29 -0
  151. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -10
  152. package/package/components/flows/dfs.d.ts +6 -2
  153. package/package/components/flows/dfs.js +19 -11
  154. package/package/components/flows/flowDeleteController.d.ts +32 -0
  155. package/package/components/flows/flowDeleteController.js +54 -0
  156. package/package/components/flows/flowDeleteController.test.d.ts +1 -0
  157. package/package/components/flows/flowDeleteController.test.js +121 -0
  158. package/package/components/flows/flowDeleteUtils.d.ts +48 -0
  159. package/package/components/flows/flowDeleteUtils.js +150 -0
  160. package/package/components/flows/flowDeleteUtils.test.d.ts +1 -0
  161. package/package/components/flows/flowDeleteUtils.test.js +131 -0
  162. package/package/components/flows/flowDiff.d.ts +2 -47
  163. package/package/components/flows/flowDiff.js +16 -293
  164. package/package/components/flows/flowDiff.testUtils.d.ts +8 -0
  165. package/package/components/flows/flowDiff.testUtils.js +26 -0
  166. package/package/components/flows/flowDiffManager.svelte.js +20 -75
  167. package/package/components/flows/flowDiffManager.svelte.test.js +103 -2
  168. package/package/components/flows/flowExplorer.d.ts +4 -0
  169. package/package/components/flows/flowExplorer.js +7 -30
  170. package/package/components/flows/flowState.d.ts +1 -0
  171. package/package/components/flows/flowStateUtils.svelte.js +11 -2
  172. package/package/components/flows/flowTree.d.ts +91 -0
  173. package/package/components/flows/flowTree.js +326 -0
  174. package/package/components/flows/flowTree.test.d.ts +1 -0
  175. package/package/components/flows/flowTree.test.js +236 -0
  176. package/package/components/flows/map/FlowJobsMenu.svelte +36 -30
  177. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  178. package/package/components/flows/map/FlowModuleSchemaMap.svelte +73 -229
  179. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -2
  180. package/package/components/flows/pickers/PickHubScriptQuick.svelte +2 -2
  181. package/package/components/flows/previousResults.js +13 -41
  182. package/package/components/flows/previousResults.test.d.ts +1 -0
  183. package/package/components/flows/previousResults.test.js +65 -0
  184. package/package/components/flows/propPicker/OutputPicker.svelte +2 -1
  185. package/package/components/flows/propPicker/OutputPickerInner.svelte +41 -4
  186. package/package/components/flows/propPicker/StepHistory.svelte +9 -1
  187. package/package/components/git_sync/GitSyncContext.svelte.js +11 -7
  188. package/package/components/git_sync/GitSyncRepositoryCard.svelte +2 -29
  189. package/package/components/git_sync/PullWorkspaceModal.svelte +6 -7
  190. package/package/components/graph/FlowGraphV2.svelte +8 -4
  191. package/package/components/graph/FlowGraphV2.svelte.d.ts +2 -0
  192. package/package/components/graph/groupedModulesProxy.svelte.d.ts +10 -0
  193. package/package/components/graph/groupedModulesProxy.svelte.js +17 -1
  194. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +8 -2
  195. package/package/components/home/HomeConnectDrawer.svelte +125 -0
  196. package/package/components/home/HomeConnectDrawer.svelte.d.ts +5 -0
  197. package/package/components/home/deploy_ui.js +1 -1
  198. package/package/components/icons/AzureIcon.svelte +12 -25
  199. package/package/components/icons/AzureIcon.svelte.d.ts +3 -2
  200. package/package/components/icons/GithubIcon.svelte +4 -4
  201. package/package/components/icons/GithubIcon.svelte.d.ts +5 -2
  202. package/package/components/instanceSettings/ExternalJwtTokens.svelte +85 -0
  203. package/package/components/instanceSettings/ExternalJwtTokens.svelte.d.ts +12 -0
  204. package/package/components/instanceSettings/GhesAppSettings.svelte +17 -0
  205. package/package/components/instanceSettings/IndexerMemorySettings.svelte +56 -29
  206. package/package/components/instanceSettings/SecretBackendConfig.svelte +9 -2
  207. package/package/components/instanceSettings.d.ts +1 -0
  208. package/package/components/instanceSettings.js +66 -8
  209. package/package/components/mcp/McpScopeSelector.svelte +119 -9
  210. package/package/components/mcp/McpScopeSelector.svelte.d.ts +1 -0
  211. package/package/components/offboarding-utils.d.ts +11 -0
  212. package/package/components/offboarding-utils.js +102 -0
  213. package/package/components/progressBar/ProgressBar.svelte +9 -5
  214. package/package/components/progressBar/ProgressBar.svelte.d.ts +1 -0
  215. package/package/components/raw_apps/DeleteAfterUsePopup.svelte +52 -0
  216. package/package/components/raw_apps/DeleteAfterUsePopup.svelte.d.ts +9 -0
  217. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +5 -1
  218. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -1
  219. package/package/components/raw_apps/RawAppEditor.svelte +186 -102
  220. package/package/components/raw_apps/RawAppEditorHeader.svelte +6 -1
  221. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +1 -0
  222. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +9 -3
  223. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +2 -1
  224. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +1 -0
  225. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +1 -0
  226. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +48 -5
  227. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte +129 -0
  228. package/package/components/raw_apps/RawAppSharedUiDrawer.svelte.d.ts +5 -0
  229. package/package/components/raw_apps/RawAppSidebar.svelte +12 -0
  230. package/package/components/raw_apps/RawAppYamlEditor.svelte +81 -0
  231. package/package/components/raw_apps/RawAppYamlEditor.svelte.d.ts +20 -0
  232. package/package/components/raw_apps/dataTableRefUtils.d.ts +7 -0
  233. package/package/components/raw_apps/dataTableRefUtils.js +34 -0
  234. package/package/components/raw_apps/dataTableRefUtils.test.d.ts +1 -0
  235. package/package/components/raw_apps/dataTableRefUtils.test.js +29 -0
  236. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  237. package/package/components/raw_apps/rawAppPolicy.d.ts +1 -0
  238. package/package/components/raw_apps/rawAppPolicy.js +17 -2
  239. package/package/components/resources/resourceTypesFilter.d.ts +19 -0
  240. package/package/components/resources/resourceTypesFilter.js +21 -0
  241. package/package/components/restartFromStepPath.d.ts +39 -0
  242. package/package/components/restartFromStepPath.js +89 -0
  243. package/package/components/runs/JobDetailFieldConfig.d.ts +1 -0
  244. package/package/components/runs/JobDetailFieldConfig.js +57 -10
  245. package/package/components/runs/JobDetailHeader.svelte +24 -3
  246. package/package/components/runs/runsFilter.d.ts +1 -1
  247. package/package/components/schema/FlowPropertyEditor.svelte +30 -1
  248. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +5 -2
  249. package/package/components/script_builder.d.ts +1 -1
  250. package/package/components/search/GlobalSearchModal.svelte +8 -1
  251. package/package/components/select/Select.svelte +3 -2
  252. package/package/components/select/Select.svelte.d.ts +1 -0
  253. package/package/components/settings/CreateToken.svelte +91 -71
  254. package/package/components/settings/CreateToken.svelte.d.ts +3 -0
  255. package/package/components/settings/EditTokenScopesModal.svelte +57 -0
  256. package/package/components/settings/EditTokenScopesModal.svelte.d.ts +10 -0
  257. package/package/components/settings/ScopesPicker.svelte +43 -0
  258. package/package/components/settings/ScopesPicker.svelte.d.ts +11 -0
  259. package/package/components/settings/TokensTable.svelte +51 -15
  260. package/package/components/settings/WorkspaceUserSettings.svelte +34 -28
  261. package/package/components/sidebar/OperatorMenu.svelte +6 -0
  262. package/package/components/sidebar/SidebarContent.svelte +68 -2
  263. package/package/components/sidebar/WorkspaceMenu.svelte +8 -4
  264. package/package/components/triggers/AddTriggersButton.svelte +17 -0
  265. package/package/components/triggers/CaptureWrapper.svelte +19 -1
  266. package/package/components/triggers/PermissionedAsLine.svelte +37 -3
  267. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +6 -0
  268. package/package/components/triggers/TriggerEditorToolbar.svelte.d.ts +1 -1
  269. package/package/components/triggers/TriggerModeToggle.svelte +36 -7
  270. package/package/components/triggers/TriggerModeToggle.svelte.d.ts +1 -1
  271. package/package/components/triggers/TriggerSuspendedJobsModal.svelte.d.ts +1 -1
  272. package/package/components/triggers/TriggersEditor.svelte +10 -2
  273. package/package/components/triggers/TriggersWrapper.svelte +20 -0
  274. package/package/components/triggers/azure/AzureCapture.svelte +41 -0
  275. package/package/components/triggers/azure/AzureCapture.svelte.d.ts +44 -0
  276. package/package/components/triggers/azure/AzureTriggerEditor.svelte +20 -0
  277. package/package/components/triggers/azure/AzureTriggerEditor.svelte.d.ts +9 -0
  278. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte +301 -0
  279. package/package/components/triggers/azure/AzureTriggerEditorConfigSection.svelte.d.ts +16 -0
  280. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte +422 -0
  281. package/package/components/triggers/azure/AzureTriggerEditorInner.svelte.d.ts +25 -0
  282. package/package/components/triggers/azure/AzureTriggerPanel.svelte +55 -0
  283. package/package/components/triggers/azure/AzureTriggerPanel.svelte.d.ts +10 -0
  284. package/{dist/sharedUtils/components/triggers/kafka → package/components/triggers/azure}/utils.d.ts +1 -1
  285. package/package/components/triggers/azure/utils.js +56 -0
  286. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +15 -11
  287. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +22 -14
  288. package/package/components/triggers/http/RouteEditorConfigSection.svelte +15 -7
  289. package/package/components/triggers/http/RouteEditorInner.svelte +16 -14
  290. package/package/components/triggers/http/RoutesGenerator.svelte +6 -1
  291. package/package/components/triggers/http/RoutesPanel.svelte +1 -1
  292. package/package/components/triggers/http/utils.d.ts +1 -1
  293. package/package/components/triggers/http/utils.js +2 -2
  294. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +22 -14
  295. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +22 -14
  296. package/package/components/triggers/native/NativeTriggerEditor.svelte +3 -0
  297. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte +118 -0
  298. package/package/components/triggers/native/services/github/GitHubTriggerForm.svelte.d.ts +17 -0
  299. package/package/components/triggers/native/utils.js +14 -0
  300. package/package/components/triggers/nats/NatsTriggerEditor.svelte.d.ts +4 -3
  301. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +22 -14
  302. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +4 -3
  303. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +22 -14
  304. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +22 -14
  305. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +4 -3
  306. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +22 -14
  307. package/package/components/triggers/triggers.svelte.d.ts +1 -0
  308. package/package/components/triggers/triggers.svelte.js +24 -1
  309. package/package/components/triggers/utils.js +47 -6
  310. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -14
  311. package/package/components/triggers.d.ts +1 -1
  312. package/package/components/useFolderDefaultPermissionedAs.svelte.d.ts +13 -0
  313. package/package/components/useFolderDefaultPermissionedAs.svelte.js +63 -0
  314. package/package/components/useNestedRestartState.svelte.d.ts +56 -0
  315. package/package/components/useNestedRestartState.svelte.js +320 -0
  316. package/package/components/workspaceSettings/CreateWorkspace.svelte +16 -677
  317. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte +604 -0
  318. package/package/components/workspaceSettings/CreateWorkspaceInner.svelte.d.ts +7 -0
  319. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +27 -25
  320. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +46 -8
  321. package/package/components/workspaceSettings/DataTableSettings.svelte +27 -22
  322. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  323. package/package/components/workspaceSettings/ForkDatatableSection.svelte +228 -0
  324. package/package/components/workspaceSettings/ForkDatatableSection.svelte.d.ts +28 -0
  325. package/package/components/workspaceSettings/GitSyncFilterSettings.svelte +8 -2
  326. package/package/components/workspaceSettings/RulesetEditor.svelte +27 -2
  327. package/package/components/workspaceSettings/SharedUiSettings.svelte +175 -0
  328. package/package/components/workspaceSettings/SharedUiSettings.svelte.d.ts +3 -0
  329. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +1 -1
  330. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +17 -1
  331. package/package/consts.d.ts +3 -0
  332. package/package/consts.js +10 -0
  333. package/package/gen/core/OpenAPI.js +1 -1
  334. package/package/gen/schemas.gen.d.ts +795 -59
  335. package/package/gen/schemas.gen.js +801 -60
  336. package/package/gen/services.gen.d.ts +475 -5
  337. package/package/gen/services.gen.js +976 -23
  338. package/package/gen/types.gen.d.ts +1865 -75
  339. package/package/githubApp.js +5 -1
  340. package/package/hubPaths.json +2 -8
  341. package/package/infer.d.ts +1 -1
  342. package/package/infer.js +50 -52
  343. package/package/infer.svelte.js +10 -1
  344. package/package/mcpEndpointTools.js +60 -4
  345. package/package/monaco_workers/sqlTypePlugin.worker.d.ts +10 -0
  346. package/package/monaco_workers/sqlTypePlugin.worker.js +39 -0
  347. package/package/script_helpers.d.ts +8 -2
  348. package/package/script_helpers.js +31 -0
  349. package/package/stores.d.ts +11 -0
  350. package/package/stores.js +6 -0
  351. package/package/system_prompts/index.d.ts +1 -0
  352. package/package/system_prompts/index.js +8 -0
  353. package/package/system_prompts/prompts.d.ts +17 -13
  354. package/package/system_prompts/prompts.js +921 -61
  355. package/package/templates/ci_test_bun.ts.template +27 -0
  356. package/package/templates/ci_test_python.py.template +26 -0
  357. package/package/utils/forkConflict.d.ts +26 -0
  358. package/package/utils/forkConflict.js +56 -0
  359. package/package/utils_deployable.d.ts +164 -121
  360. package/package/utils_deployable.js +61 -11
  361. package/package/utils_workspace_deploy.d.ts +8 -8
  362. package/package/utils_workspace_deploy.js +89 -421
  363. package/package.json +30 -6
  364. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  365. package/dist/sharedUtils/base.d.ts +0 -1
  366. package/dist/sharedUtils/cloud.d.ts +0 -1
  367. package/dist/sharedUtils/common.d.ts +0 -111
  368. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  369. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  370. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  371. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  372. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  373. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  374. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  375. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  376. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  377. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  378. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  379. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  380. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  381. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  382. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  383. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  384. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  385. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  386. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  387. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  388. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  389. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  390. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  391. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  392. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  393. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  394. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  395. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  396. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  397. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  398. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  399. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  400. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  401. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  402. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  403. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  404. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  405. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  406. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  407. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  408. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  409. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  410. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  411. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  412. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  413. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  414. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  415. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  416. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  417. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  418. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  419. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  420. package/dist/sharedUtils/gen/index.d.ts +0 -6
  421. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  422. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  423. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  424. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  425. package/dist/sharedUtils/hub.d.ts +0 -49
  426. package/dist/sharedUtils/jsr.json +0 -6
  427. package/dist/sharedUtils/lib.d.ts +0 -5
  428. package/dist/sharedUtils/lib.es.js +0 -1588
  429. package/dist/sharedUtils/package.json +0 -12
  430. package/dist/sharedUtils/schema.d.ts +0 -3
  431. package/dist/sharedUtils/stores.d.ts +0 -97
  432. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  433. package/dist/sharedUtils/toast.d.ts +0 -8
  434. package/dist/sharedUtils/utils.d.ts +0 -265
  435. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +0 -153
  436. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +0 -21
  437. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +0 -136
  438. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.d.ts +0 -15
  439. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -107
  440. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +0 -50
  441. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +0 -93
  442. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.d.ts +0 -29
  443. package/package/components/copilot/chat/__tests__/app/appFixtureLoader.js +0 -134
  444. package/package/components/copilot/chat/__tests__/app/appResultsWriter.d.ts +0 -30
  445. package/package/components/copilot/chat/__tests__/app/appResultsWriter.js +0 -197
  446. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.d.ts +0 -10
  447. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/main.js +0 -9
  448. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/createFolder/meta.json +0 -4
  449. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.d.ts +0 -6
  450. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/main.js +0 -5
  451. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/deleteItem/meta.json +0 -4
  452. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.d.ts +0 -12
  453. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/main.js +0 -14
  454. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFiles/meta.json +0 -4
  455. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.d.ts +0 -8
  456. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/main.js +0 -25
  457. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/listFolders/meta.json +0 -4
  458. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.d.ts +0 -7
  459. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/main.js +0 -5
  460. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/moveItem/meta.json +0 -4
  461. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.d.ts +0 -8
  462. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/main.js +0 -5
  463. package/package/components/copilot/chat/__tests__/app/initial/file_manager/backend/renameItem/meta.json +0 -4
  464. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.d.ts +0 -10
  465. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Breadcrumb.tsx +0 -26
  466. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.d.ts +0 -10
  467. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileItem.tsx +0 -79
  468. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.d.ts +0 -10
  469. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FileList.tsx +0 -46
  470. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.d.ts +0 -10
  471. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/FolderTree.tsx +0 -56
  472. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.d.ts +0 -6
  473. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/components/Toolbar.tsx +0 -59
  474. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.d.ts +0 -16
  475. package/package/components/copilot/chat/__tests__/app/initial/file_manager/frontend/index.tsx +0 -119
  476. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.d.ts +0 -15
  477. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/main.js +0 -14
  478. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/addToCart/meta.json +0 -4
  479. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.d.ts +0 -14
  480. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/main.js +0 -5
  481. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/calculateTotal/meta.json +0 -4
  482. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.d.ts +0 -6
  483. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/main.js +0 -41
  484. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/getProducts/meta.json +0 -4
  485. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.d.ts +0 -15
  486. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/main.js +0 -3
  487. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/backend/removeFromCart/meta.json +0 -4
  488. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.d.ts +0 -9
  489. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/Cart.tsx +0 -51
  490. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.d.ts +0 -8
  491. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductCard.tsx +0 -27
  492. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.d.ts +0 -8
  493. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/components/ProductList.tsx +0 -18
  494. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.d.ts +0 -12
  495. package/package/components/copilot/chat/__tests__/app/initial/shopping_cart/frontend/index.tsx +0 -81
  496. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.d.ts +0 -3
  497. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/main.js +0 -3
  498. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/decrementCounter/meta.json +0 -4
  499. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.d.ts +0 -3
  500. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/main.js +0 -3
  501. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/backend/incrementCounter/meta.json +0 -4
  502. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.d.ts +0 -2
  503. package/package/components/copilot/chat/__tests__/app/initial/test1_counter_app/frontend/index.tsx +0 -38
  504. package/package/components/copilot/chat/__tests__/app/variants/baseline.d.ts +0 -6
  505. package/package/components/copilot/chat/__tests__/app/variants/baseline.js +0 -10
  506. package/package/components/copilot/chat/__tests__/app/variants/index.d.ts +0 -3
  507. package/package/components/copilot/chat/__tests__/app/variants/index.js +0 -3
  508. package/package/components/copilot/chat/__tests__/app/variants/streamlined.d.ts +0 -6
  509. package/package/components/copilot/chat/__tests__/app/variants/streamlined.js +0 -137
  510. package/package/components/copilot/chat/__tests__/flow/expected/test1.json +0 -134
  511. package/package/components/copilot/chat/__tests__/flow/expected/test2.json +0 -183
  512. package/package/components/copilot/chat/__tests__/flow/expected/test3.json +0 -204
  513. package/package/components/copilot/chat/__tests__/flow/expected/test4.json +0 -175
  514. package/package/components/copilot/chat/__tests__/flow/expected/test5_modify_simple.json +0 -68
  515. package/package/components/copilot/chat/__tests__/flow/expected/test6_modify_medium.json +0 -142
  516. package/package/components/copilot/chat/__tests__/flow/expected/test7_modify_complex.json +0 -136
  517. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +0 -294
  518. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.d.ts +0 -17
  519. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +0 -49
  520. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.d.ts +0 -12
  521. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -79
  522. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +0 -50
  523. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +0 -102
  524. package/package/components/copilot/chat/__tests__/flow/initial/test5_initial.json +0 -53
  525. package/package/components/copilot/chat/__tests__/flow/initial/test6_initial.json +0 -68
  526. package/package/components/copilot/chat/__tests__/flow/initial/test7_initial.json +0 -120
  527. package/package/components/copilot/chat/__tests__/flow/variants/baseline.d.ts +0 -6
  528. package/package/components/copilot/chat/__tests__/flow/variants/baseline.js +0 -10
  529. package/package/components/copilot/chat/__tests__/flow/variants/index.d.ts +0 -3
  530. package/package/components/copilot/chat/__tests__/flow/variants/index.js +0 -3
  531. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.d.ts +0 -15
  532. package/package/components/copilot/chat/__tests__/flow/variants/minimal-single-tool.js +0 -388
  533. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +0 -45
  534. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +0 -121
  535. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +0 -28
  536. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +0 -96
  537. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.d.ts +0 -32
  538. package/package/components/copilot/chat/__tests__/shared/baseResultsWriter.js +0 -130
  539. package/package/components/copilot/chat/__tests__/shared/baseVariants.d.ts +0 -45
  540. package/package/components/copilot/chat/__tests__/shared/baseVariants.js +0 -57
  541. package/package/components/copilot/chat/__tests__/shared/index.d.ts +0 -10
  542. package/package/components/copilot/chat/__tests__/shared/index.js +0 -5
  543. package/package/components/copilot/chat/__tests__/shared/types.d.ts +0 -105
  544. package/package/components/copilot/chat/__tests__/shared/types.js +0 -9
  545. package/package/components/copilot/chat/flow/openFlowZod.js +0 -24
  546. package/package/components/copilot/chat/flow/utils.d.ts +0 -14
  547. package/package/components/copilot/chat/flow/utils.js +0 -108
  548. package/package/components/flows/agentToolUtils.test.js +0 -55
  549. /package/package/components/copilot/chat/{__tests__/app/appChat.eval.test.d.ts → app/core.test.d.ts} +0 -0
  550. /package/package/components/copilot/chat/{__tests__/flow/flowChat.eval.test.d.ts → flow/helperUtils.test.d.ts} +0 -0
  551. /package/package/components/copilot/chat/flow/{openFlowZod.d.ts → openFlowZod.gen.d.ts} +0 -0
  552. /package/package/components/{flows/agentToolUtils.test.d.ts → copilot/chat/flow/utils.test.d.ts} +0 -0
@@ -1,683 +1,22 @@
1
- <script lang="ts">import { run } from 'svelte/legacy';
2
- import { goto } from '../../navigation';
3
- import { base } from '../../base';
4
- import { JobService, ResourceService, SettingService, UserService, VariableService, WorkspaceService } from '../../gen';
5
- import { validateUsername } from '../../utils';
6
- import { logoutWithRedirect } from '../../logoutKit';
1
+ <script lang="ts">import CenteredModal from '../CenteredModal.svelte';
2
+ import { GitForkIcon } from 'lucide-svelte';
3
+ import CreateWorkspaceInner from './CreateWorkspaceInner.svelte';
4
+ import { workspaceStore } from '../../stores';
5
+ import { goto } from '$app/navigation';
7
6
  import { page } from '$app/state';
8
- import { usersWorkspaceStore, workspaceStore } from '../../stores';
9
- import CenteredModal from '../CenteredModal.svelte';
10
- import { Button } from '../common';
11
- import Toggle from '../Toggle.svelte';
12
- import Tooltip from '../Tooltip.svelte';
13
- import { onMount } from 'svelte';
14
- import { sendUserToast } from '../../toast';
15
- import TestAIKey from '../copilot/TestAIKey.svelte';
16
- import { switchWorkspace } from '../../storeUtils';
17
- import { isCloudHosted } from '../../cloud';
18
- import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
19
- import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
20
- import { AI_PROVIDERS } from '../copilot/lib';
21
- import { GitFork, LoaderCircle } from 'lucide-svelte';
22
- import PrefixedInput from '../PrefixedInput.svelte';
23
- import TextInput from '../text_input/TextInput.svelte';
24
- import { jobManager } from '../../services/JobManager';
25
- import Alert from '../common/alert/Alert.svelte';
26
7
  let { isFork = false } = $props();
27
8
  const rd = page.url.searchParams.get('rd');
28
- let id = $state('');
29
- let name = $state('');
30
- let username = $state('');
31
- let errorId = $state('');
32
- let errorUser = $state('');
33
- let aiKey = $state('');
34
- let codeCompletionEnabled = $state(true);
35
- let checking = $state(false);
36
- let createLoading = $state(false);
37
- let aiSetupLoading = $state(false);
38
- let creationStep = $state('details');
39
- let createdWorkspaceId = $state(undefined);
40
- let workspaceColor = $state(undefined);
41
- let colorEnabled = $state(false);
42
- function generateRandomColor() {
43
- const randomColor = '#' +
44
- Math.floor(Math.random() * 16777215)
45
- .toString(16)
46
- .padStart(6, '0');
47
- workspaceColor = randomColor;
48
- }
49
- async function validateName(id) {
50
- checking = true;
51
- let exists = await WorkspaceService.existsWorkspace({ requestBody: { id } });
52
- if (exists) {
53
- errorId = 'ID already exists';
54
- }
55
- else if (id != '' && !/^\w+(-\w+)*$/.test(id)) {
56
- errorId = 'ID can only contain letters, numbers and dashes and must not finish by a dash';
57
- }
58
- else {
59
- errorId = '';
60
- }
61
- checking = false;
62
- }
63
- const WM_FORK_PREFIX = 'wm-fork-';
64
- let forkCreationLoading = $state(false);
65
- let forkCreationError = $state('');
66
- let errorMsgs = $state([]);
67
- let failedSyncJobs = $state([]);
68
- function getErrorMessage(error) {
69
- return (error?.body?.error?.message ||
70
- error?.body?.message ||
71
- (typeof error?.body === 'string' ? error.body : null) ||
72
- error?.message ||
73
- 'Unknown error');
74
- }
75
- function hasEffectiveAi(copilotInfo) {
76
- return Object.keys(copilotInfo.providers ?? {}).length > 0;
77
- }
78
- async function finishWorkspaceSetup(workspaceId) {
79
- usersWorkspaceStore.set(await WorkspaceService.listUserWorkspaces());
80
- switchWorkspace(workspaceId);
81
- goto(rd ?? '/');
82
- }
83
- async function getWorkspaceUsername(workspaceId) {
84
- if (!automateUsernameCreation) {
85
- return username;
86
- }
87
- const user = await UserService.whoami({
88
- workspace: workspaceId
89
- });
90
- return user.username;
91
- }
92
- async function maybeShowAiSetupStep(workspaceId) {
93
- try {
94
- const copilotInfo = await WorkspaceService.getCopilotInfo({
95
- workspace: workspaceId
96
- });
97
- if (hasEffectiveAi(copilotInfo)) {
98
- await finishWorkspaceSetup(workspaceId);
99
- return;
100
- }
101
- }
102
- catch (error) {
103
- console.error('Failed to check effective AI configuration for new workspace', error);
104
- sendUserToast('Workspace created, but Windmill AI availability could not be verified. You can configure it later in Workspace settings.', true);
105
- await finishWorkspaceSetup(workspaceId);
106
- return;
107
- }
108
- createdWorkspaceId = workspaceId;
109
- creationStep = 'ai';
110
- aiKey = '';
111
- codeCompletionEnabled = true;
112
- selected = 'openai';
113
- }
114
- async function fetchFailedSyncJobs(jobs) {
115
- let ret = [];
116
- for (const job of jobs) {
117
- let j = await JobService.getCompletedJob({
118
- id: job,
119
- workspace: $workspaceStore
120
- });
121
- ret.push(j);
122
- }
123
- return ret;
124
- }
125
- function isPathVersionLessThan(path, version) {
126
- if (!path || !path.startsWith('hub/')) {
127
- return false;
128
- }
129
- const parts = path.split('/');
130
- if (parts.length < 2) {
131
- return false;
132
- }
133
- const embeddedVersion = parseInt(parts[1], 10);
134
- if (isNaN(embeddedVersion)) {
135
- return false;
136
- }
137
- return embeddedVersion < version;
138
- }
139
- async function createOrForkWorkspace() {
140
- const prefixed_id = `${WM_FORK_PREFIX}${id}`;
141
- if (isFork) {
142
- if ($workspaceStore) {
143
- forkCreationLoading = true;
144
- errorMsgs = [];
145
- failedSyncJobs = [];
146
- forkCreationError = '';
147
- let gitSyncJobIds = await WorkspaceService.createWorkspaceForkGitBranch({
148
- workspace: $workspaceStore,
149
- requestBody: {
150
- id: prefixed_id,
151
- name,
152
- color: colorEnabled && workspaceColor ? workspaceColor : undefined
153
- }
154
- });
155
- try {
156
- await Promise.all(gitSyncJobIds.map((jobId) => jobManager.runWithProgress(() => Promise.resolve(jobId), {
157
- workspace: $workspaceStore,
158
- timeout: 60000,
159
- timeoutMessage: `Deploy fork job timed out after 60s`,
160
- onProgress: (status) => {
161
- if (status.status === 'failure') {
162
- errorMsgs.push(status.error ?? 'Deploy fork job failed');
163
- failedSyncJobs.push(jobId);
164
- }
165
- }
166
- })));
167
- }
168
- catch (error) {
169
- forkCreationLoading = false;
170
- sendUserToast(`Could not fork workspace ${$workspaceStore} because branch creation failed: ${errorMsgs} - ${error}`, true);
171
- return;
172
- }
173
- if (errorMsgs.length != 0) {
174
- forkCreationError = 'Failed to create a branch for this fork on the git sync repo(s)';
175
- forkCreationLoading = false;
176
- sendUserToast(`Could not fork workspace ${$workspaceStore} because branch creation failed: ${errorMsgs}`, true);
177
- return;
178
- }
179
- try {
180
- await WorkspaceService.createWorkspaceFork({
181
- workspace: $workspaceStore,
182
- requestBody: {
183
- id: prefixed_id,
184
- name,
185
- color: colorEnabled && workspaceColor ? workspaceColor : undefined
186
- }
187
- });
188
- }
189
- catch (e) {
190
- forkCreationError = `Failed to create fork '${prefixed_id}'`;
191
- errorMsgs.push(e?.body ?? e ?? 'Unknown error');
192
- forkCreationLoading = false;
193
- sendUserToast(`Could not create fork '${prefixed_id}' ${e}`, true);
194
- return;
195
- }
196
- forkCreationLoading = false;
197
- sendUserToast(`Successfully forked workspace ${$workspaceStore} as: wm-fork-${id}`);
198
- await finishWorkspaceSetup(prefixed_id);
199
- }
200
- else {
201
- sendUserToast('No workspace selected, cannot fork non-existent workspace', true);
202
- }
203
- }
204
- else {
205
- createLoading = true;
206
- try {
207
- const workspaceId = await createWorkspace();
208
- await maybeShowAiSetupStep(workspaceId);
209
- }
210
- finally {
211
- createLoading = false;
212
- }
213
- }
214
- }
215
- async function createWorkspace() {
216
- await WorkspaceService.createWorkspace({
217
- requestBody: {
218
- id,
219
- name,
220
- color: colorEnabled && workspaceColor ? workspaceColor : undefined,
221
- username: automateUsernameCreation ? undefined : username
222
- }
223
- });
224
- if (auto_invite) {
225
- await WorkspaceService.editAutoInvite({
226
- workspace: id,
227
- requestBody: { operator: operatorOnly, invite_all: !isCloudHosted(), auto_add: autoAdd }
228
- });
229
- }
230
- sendUserToast(`Created workspace id: ${id}`);
231
- return id;
232
- }
233
- async function saveWorkspaceAiSetup() {
234
- if (!createdWorkspaceId || !aiKey) {
235
- return;
236
- }
237
- aiSetupLoading = true;
238
- try {
239
- const actualUsername = await getWorkspaceUsername(createdWorkspaceId);
240
- const path = `u/${actualUsername}/${selected}_windmill_codegen`;
241
- await VariableService.createVariable({
242
- workspace: createdWorkspaceId,
243
- requestBody: {
244
- path,
245
- value: aiKey,
246
- is_secret: true,
247
- description: 'Ai token'
248
- }
249
- });
250
- await ResourceService.createResource({
251
- workspace: createdWorkspaceId,
252
- requestBody: {
253
- path,
254
- value: {
255
- api_key: '$var:' + path
256
- },
257
- resource_type: selected
258
- }
259
- });
260
- await WorkspaceService.editCopilotConfig({
261
- workspace: createdWorkspaceId,
262
- requestBody: {
263
- providers: {
264
- [selected]: {
265
- resource_path: path,
266
- models: [AI_PROVIDERS[selected].defaultModels[0]]
267
- }
268
- },
269
- default_model: {
270
- model: AI_PROVIDERS[selected].defaultModels[0],
271
- provider: selected
272
- },
273
- code_completion_model: codeCompletionEnabled
274
- ? { model: AI_PROVIDERS[selected].defaultModels[0], provider: selected }
275
- : undefined
276
- }
277
- });
278
- sendUserToast('Windmill AI configured');
279
- await finishWorkspaceSetup(createdWorkspaceId);
280
- }
281
- catch (error) {
282
- sendUserToast(`Failed to configure Windmill AI: ${getErrorMessage(error)}`, true);
283
- }
284
- finally {
285
- aiSetupLoading = false;
286
- }
287
- }
288
- function handleCreateKeyUp(event) {
289
- const key = event.key;
290
- if (key === 'Enter') {
291
- event.preventDefault();
292
- createOrForkWorkspace();
293
- }
294
- }
295
- function handleAiKeyUp(event) {
296
- const key = event.key;
297
- if (key === 'Enter' && aiKey) {
298
- event.preventDefault();
299
- saveWorkspaceAiSetup();
300
- }
301
- }
302
- async function loadWorkspaces() {
303
- if (!$usersWorkspaceStore) {
304
- try {
305
- usersWorkspaceStore.set(await WorkspaceService.listUserWorkspaces());
306
- }
307
- catch { }
308
- }
309
- if (!$usersWorkspaceStore) {
310
- const url = page.url;
311
- console.log('logout 2');
312
- await logoutWithRedirect(url.href.replace(url.origin, ''));
313
- }
314
- }
315
- let automateUsernameCreation = $state(true);
316
- async function getAutomateUsernameCreationSetting() {
317
- automateUsernameCreation =
318
- (await SettingService.getGlobal({ key: 'automate_username_creation' })) ?? true;
319
- if (!automateUsernameCreation) {
320
- UserService.globalWhoami().then((x) => {
321
- let uname = '';
322
- if (x.name) {
323
- uname = x.name.split(' ')[0];
324
- }
325
- else {
326
- uname = x.email.split('@')[0];
327
- }
328
- uname = uname.replace(/\./gi, '');
329
- username = uname.toLowerCase();
330
- });
331
- }
332
- }
333
- getAutomateUsernameCreationSetting();
334
- onMount(() => {
335
- loadWorkspaces();
336
- WorkspaceService.isDomainAllowed().then((x) => {
337
- isDomainAllowed = x;
338
- });
339
- });
340
- let isDomainAllowed = $state(undefined);
341
- let auto_invite = $state(false);
342
- let operatorOnly = $state(false);
343
- let autoAdd = $state(true);
344
- let selected = $state('openai');
345
- let modalTitle = $derived(isFork ? 'Fork Workspace' : creationStep === 'ai' ? 'Set up Windmill AI' : 'New Workspace');
346
- run(() => {
347
- id = name.toLowerCase().replace(/\s/gi, '-');
348
- });
349
- run(() => {
350
- validateName(id);
351
- });
352
- run(() => {
353
- errorUser = validateUsername(username);
354
- });
355
- run(() => {
356
- colorEnabled && !workspaceColor && generateRandomColor();
357
- });
358
- let domain = $derived($usersWorkspaceStore?.email.split('@')[1]);
359
9
  </script>
360
10
 
361
- <CenteredModal title={modalTitle} centerVertically={false}>
362
- <div class="flex flex-col gap-8">
363
- {#if isFork}
364
- <div class="flex flex-block gap-2">
365
- <GitFork size={16} />
366
- <span class="text-xs text-normal">Forking </span>
367
- <span class="text-xs text-emphasis font-semibold">
368
- {$workspaceStore}
369
- </span>
370
- </div>
371
- {/if}
372
- {#if errorMsgs.length != 0}
373
- <Alert class="p-2" title={forkCreationError} type="error">
374
- <ul class="pl-2 pr-4 break-words pb-5">
375
- {#each errorMsgs as errorMsg}
376
- <li><pre class="whitespace-pre-wrap">- {errorMsg}</pre></li>
377
- {/each}
378
- </ul>
379
- {#if failedSyncJobs.length != 0}
380
- More details on the jobs that failed:
381
- {#await fetchFailedSyncJobs(failedSyncJobs)}
382
- <LoaderCircle class="animate-spin" />
383
- {:then failedJobs}
384
- <ul class="pl-2 pr-4 break-words">
385
- {#each failedJobs as job}
386
- <li>
387
- -
388
- <a
389
- target="_blank"
390
- class="underline"
391
- href={`/run/${job.id}?workspace=${$workspaceStore}`}
392
- >
393
- {job.id}
394
- </a>
395
- </li>
396
- <!-- This 28073 is the version where git sync on fork was introduced -->
397
- {#if isPathVersionLessThan(job.script_path, 28073)}
398
- <div class="font-bold">
399
- This job was not running the latest version of the git sync script available on
400
- the hub. You might be able to solve this issue by going to `Workspace Settings`
401
- -> `Git Sync` and updating the script.
402
- </div>
403
- {/if}
404
- {/each}
405
- </ul>
406
- {:catch error}
407
- Tried to fetch jobs to get more information, but failed: {error}. Here are the failed
408
- job ids:
409
- <ul class="pl-2 pr-4 break-words">
410
- {#each failedSyncJobs as jobId}
411
- <li>
412
- -
413
- <a
414
- target="_blank"
415
- class="underline"
416
- href={`/run/${jobId}?workspace=${$workspaceStore}`}
417
- >
418
- {jobId}
419
- </a>
420
- </li>
421
- {/each}
422
- </ul>
423
- {/await}
424
- {/if}
425
- </Alert>
426
- {/if}
427
-
428
- {#if isFork || creationStep === 'details'}
429
- <label class="flex flex-col gap-1">
430
- {#if isFork}
431
- <span class="text-xs font-semibold text-emphasis">Fork name</span>
432
- <span class="text-xs text-secondary">Displayable name of the forked workspace</span>
433
- {:else}
434
- <span class="text-xs font-semibold text-emphasis">Workspace name</span>
435
- <span class="text-xs text-secondary">Displayable name</span>
436
- {/if}
437
- <!-- svelte-ignore a11y_autofocus -->
438
- <TextInput inputProps={{ autofocus: true }} bind:value={name} />
439
- </label>
440
- <label class="flex flex-col gap-1">
441
- <span class="text-xs font-semibold text-emphasis">Workspace ID</span>
442
- {#if isFork}
443
- <span class="text-xs text-secondary"
444
- >Slug to uniquely identify your fork (this will also set the branch name)</span
445
- >
446
- {:else}
447
- <span class="text-xs text-secondary">Slug to uniquely identify your workspace</span>
448
- {/if}
449
-
450
- {#if isFork}
451
- <PrefixedInput
452
- prefix={WM_FORK_PREFIX}
453
- type="text"
454
- bind:value={id}
455
- placeholder="example.com"
456
- class={errorId != '' ? 'input-error' : ''}
457
- />
458
- {:else}
459
- <TextInput bind:value={id} error={errorId} />
460
- {/if}
461
- {#if errorId}
462
- <span class="text-red-500 text-2xs font-normal">{errorId}</span>
463
- {/if}
464
- </label>
465
- <label class="flex flex-col gap-1">
466
- <span class="text-xs font-semibold text-emphasis">Workspace color</span>
467
- <span class="text-xs text-secondary"
468
- >Color to identify the current workspace in the list of workspaces</span
469
- >
470
- <div class="flex items-center gap-4">
471
- <Toggle bind:checked={colorEnabled} options={{ right: 'Enable' }} />
472
- {#if colorEnabled}
473
- <div class="flex items-center gap-1 grow">
474
- <input
475
- class="grow min-w-10"
476
- type="color"
477
- bind:value={workspaceColor}
478
- disabled={!colorEnabled}
479
- />
480
-
481
- <TextInput
482
- class="w-24"
483
- bind:value={workspaceColor}
484
- inputProps={{ disabled: !colorEnabled }}
485
- />
486
- <Button
487
- on:click={generateRandomColor}
488
- size="xs"
489
- variant="default"
490
- disabled={!colorEnabled}>Random</Button
491
- >
492
- </div>
493
- {/if}
494
- </div>
495
- </label>
496
- {#if !automateUsernameCreation}
497
- <label class="flex flex-col gap-1">
498
- <span class="text-xs font-semibold text-emphasis">Your username in that workspace</span>
499
- <TextInput
500
- bind:value={username}
501
- inputProps={{ onkeyup: handleCreateKeyUp }}
502
- error={errorUser}
503
- />
504
- {#if errorUser}
505
- <span class="text-red-500 text-2xs">{errorUser}</span>
506
- {/if}
507
- </label>
508
- {/if}
509
- {#if !isFork}
510
- <div class="flex flex-col gap-1">
511
- <label for="auto-invite" class="text-xs font-semibold text-emphasis"
512
- >{isCloudHosted()
513
- ? `Auto-${autoAdd ? 'add' : 'invite'} anyone from ${domain}`
514
- : `Auto-${autoAdd ? 'add' : 'invite'} anyone joining the instance`}</label
515
- >
516
- <Toggle
517
- id="auto-invite"
518
- disabled={isCloudHosted() && !isDomainAllowed}
519
- bind:checked={auto_invite}
520
- />
521
- {#if isCloudHosted() && isDomainAllowed == false}
522
- <div class="text-secondary text-2xs">{domain} domain not allowed for auto-invite</div>
523
- {/if}
524
-
525
- {#if auto_invite}
526
- <div class="bg-surface-tertiary p-4 rounded-md flex flex-col gap-8">
527
- <!-- svelte-ignore a11y_label_has_associated_control -->
528
- {#if isCloudHosted()}
529
- <label class="flex flex-col gap-1">
530
- <span class="text-xs font-semibold text-emphasis">Mode</span>
531
- <span class="text-xs text-secondary font-normal"
532
- >Whether to invite or add users directly to the workspace.</span
533
- >
534
- <ToggleButtonGroup
535
- selected={autoAdd ? 'add' : 'invite'}
536
- on:selected={async (e) => {
537
- autoAdd = e.detail === 'add'
538
- }}
539
- >
540
- {#snippet children({ item })}
541
- <ToggleButton value="invite" label="Auto-invite" {item} />
542
- <ToggleButton value="add" label="Auto-add" {item} />
543
- {/snippet}
544
- </ToggleButtonGroup>
545
- </label>
546
- {/if}
547
-
548
- <label class="font-semibold flex flex-col gap-1">
549
- <span class="text-xs font-semibold text-emphasis">Role</span>
550
- <span class="text-xs text-secondary font-normal">Role of the auto-invited users</span>
551
- <ToggleButtonGroup
552
- selected={operatorOnly ? 'operator' : 'developer'}
553
- on:selected={(e) => {
554
- operatorOnly = e.detail == 'operator'
555
- }}
556
- >
557
- {#snippet children({ item })}
558
- <ToggleButton value="operator" label="Operator" {item} />
559
- <ToggleButton value="developer" label="Developer" {item} />
560
- {/snippet}
561
- </ToggleButtonGroup>
562
- </label>
563
- </div>
564
- {/if}
565
- </div>
566
- {/if}
567
-
568
- <div class="flex flex-wrap flex-row justify-between gap-4 pt-4">
569
- <Button
570
- disabled={forkCreationLoading || createLoading}
571
- variant="default"
572
- size="sm"
573
- href="{base}/user/workspaces">&leftarrow; Back to workspaces</Button
574
- >
575
- {#if !forkCreationLoading}
576
- <Button
577
- variant="accent"
578
- loading={createLoading}
579
- disabled={createLoading ||
580
- checking ||
581
- errorId != '' ||
582
- !name ||
583
- (!automateUsernameCreation && (errorUser != '' || !username)) ||
584
- !id}
585
- on:click={createOrForkWorkspace}
586
- >
587
- {#if isFork}
588
- Fork workspace
589
- {:else}
590
- Create workspace
591
- {/if}
592
- </Button>
593
- {:else}
594
- <Button variant="accent" disabled={true}>
595
- <LoaderCircle class="animate-spin" /> Creating branch
596
- </Button>
597
- {/if}
598
- </div>
599
- {:else}
600
- <div class="flex flex-col gap-4">
601
- <div class="flex flex-col gap-1">
602
- <label for="ai-key" class="flex flex-row gap-2">
603
- <span class="text-xs font-semibold text-emphasis">
604
- Set up Windmill AI
605
- <Tooltip>
606
- Find out how it can help you <a
607
- href="https://www.windmill.dev/docs/core_concepts/ai_generation"
608
- target="_blank"
609
- rel="noopener noreferrer">in the docs</a
610
- >
611
- </Tooltip>
612
- </span>
613
- </label>
614
- <span class="text-xs text-secondary">
615
- Windmill AI powers the chat, code generation, flow creation, and code completion. Set
616
- it up now or configure it later in Workspace settings.
617
- <a
618
- href="https://www.windmill.dev/docs/core_concepts/ai_generation"
619
- target="_blank"
620
- rel="noopener noreferrer"
621
- class="underline"
622
- >
623
- Learn more
624
- </a>
625
- </span>
626
-
627
- <ToggleButtonGroup bind:selected class="mt-4">
628
- {#snippet children({ item })}
629
- <ToggleButton value="openai" label="OpenAI" {item} />
630
- <ToggleButton value="anthropic" label="Anthropic" {item} />
631
- <ToggleButton value="mistral" label="Mistral" {item} />
632
- <ToggleButton value="deepseek" label="DeepSeek" {item} />
633
- {/snippet}
634
- </ToggleButtonGroup>
635
- <div class="flex flex-row gap-1">
636
- <input
637
- id="ai-key"
638
- type="password"
639
- autocomplete="new-password"
640
- bind:value={aiKey}
641
- onkeyup={handleAiKeyUp}
642
- />
643
- <TestAIKey
644
- apiKey={aiKey}
645
- disabled={!aiKey}
646
- aiProvider={selected}
647
- model={AI_PROVIDERS[selected].defaultModels[0]}
648
- />
649
- </div>
650
- </div>
651
-
652
- {#if aiKey}
653
- <div class="flex flex-col gap-2">
654
- <Toggle
655
- disabled={!aiKey}
656
- bind:checked={codeCompletionEnabled}
657
- options={{ right: 'Enable code completion' }}
658
- />
659
- </div>
660
- {/if}
661
- </div>
662
-
663
- <div class="flex flex-wrap flex-row justify-between gap-4 pt-4">
664
- <Button
665
- variant="default"
666
- size="sm"
667
- disabled={aiSetupLoading || !createdWorkspaceId}
668
- on:click={() => createdWorkspaceId && finishWorkspaceSetup(createdWorkspaceId)}
669
- >
670
- Skip for now
671
- </Button>
672
- <Button
673
- variant="accent"
674
- loading={aiSetupLoading}
675
- disabled={aiSetupLoading || !aiKey}
676
- on:click={saveWorkspaceAiSetup}
677
- >
678
- Set up AI
679
- </Button>
680
- </div>
681
- {/if}
682
- </div>
11
+ <CenteredModal title="{isFork ? 'Forking' : 'New'} Workspace" centerVertically={false}>
12
+ {#if isFork}
13
+ <div class="flex flex-block gap-2">
14
+ <GitForkIcon size={16} />
15
+ <span class="text-xs text-normal">Forking </span>
16
+ <span class="text-xs text-emphasis font-semibold">
17
+ {$workspaceStore}
18
+ </span>
19
+ </div>
20
+ {/if}
21
+ <CreateWorkspaceInner {isFork} onFinish={() => goto(rd ?? '/')} />
683
22
  </CenteredModal>