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
@@ -1,5 +1,5 @@
1
- <script lang="ts">import {} from '../stores';
2
- import { ChevronDownIcon, EditIcon, Loader2, Plus, Table2, Trash2Icon } from 'lucide-svelte';
1
+ <script lang="ts">import { superadmin, userStore } from '../stores';
2
+ import { ChevronDownIcon, EditIcon, Loader2, Plus, Table2, Trash2Icon, UploadIcon } from 'lucide-svelte';
3
3
  import { Pane, Splitpanes } from 'svelte-splitpanes';
4
4
  import { ClearableInput, Drawer, DrawerContent } from './common';
5
5
  import { sendUserToast } from '../toast';
@@ -16,7 +16,7 @@ import { dbSupportsTransactionalDdl, diffTableEditorValues } from './apps/compon
16
16
  import { resource } from 'runed';
17
17
  import { capitalize, onlyAlphaNumAndUnderscore, pluralize } from '../utils';
18
18
  import Star from './Star.svelte';
19
- let { dbType, dbSchema, dbTableOpsFactory, dbSchemaOps, dbSupportsSchemas, colDefs, refresh, initialSchemaKey, initialTableKey, selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], features, asset } = $props();
19
+ let { dbType, dbSchema, dbTableOpsFactory, dbSchemaOps, dbSupportsSchemas, databaseIsEmpty, colDefs, refresh, initialSchemaKey, initialTableKey, selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], features, asset, onImport } = $props();
20
20
  // Helper to check if a table is selected in multi-select mode
21
21
  function isTableSelected(schema, table) {
22
22
  return selectedTables.some((t) => t.schema === schema && t.table === table);
@@ -440,6 +440,34 @@ export const dbTable = () => _dbTable;
440
440
  {#if tableKey && colDefs?.[tableKey]?.length}
441
441
  {@const dbTableOps = dbTableOpsFactory({ colDefs: colDefs[tableKey], tableKey })}
442
442
  <DBTable {dbTableOps} bind:this={_dbTable} />
443
+ {:else if databaseIsEmpty}
444
+ <div class="h-full w-full center-center flex-col gap-4">
445
+ <span class="text-hint">Database is empty</span>
446
+ {#if onImport}
447
+ <div class="flex gap-4">
448
+ <button
449
+ onclick={() => onImport('schema_only')}
450
+ class="hover:opacity-70 transition-opacity rounded-md border aspect-square w-52 gap-4 p-4 center-center flex-col"
451
+ >
452
+ <UploadIcon size={64} class="text-secondary" />
453
+ <span class="text-center font-normal text-sm text-secondary">
454
+ Import schema from database
455
+ </span>
456
+ </button>
457
+ {#if !!$userStore?.is_admin || !!$superadmin}
458
+ <button
459
+ onclick={() => onImport('schema_and_data')}
460
+ class="hover:opacity-70 transition-opacity rounded-md border aspect-square w-52 gap-4 p-4 center-center flex-col"
461
+ >
462
+ <UploadIcon size={64} class="text-secondary" />
463
+ <span class="text-center font-normal text-sm text-secondary">
464
+ Import schema and data from database
465
+ </span>
466
+ </button>
467
+ {/if}
468
+ </div>
469
+ {/if}
470
+ </div>
443
471
  {/if}
444
472
  </Pane>
445
473
  </Splitpanes>
@@ -490,7 +518,10 @@ export const dbTable = () => _dbTable;
490
518
  computePreview={async ({ values }) => {
491
519
  if (dbTableEditorState.alterTableKey && dbTableEditorAlterTableData.current) {
492
520
  let diff = diffTableEditorValues(dbTableEditorAlterTableData.current, values)
493
- let sql = await dbSchemaOps.previewAlterSql({ values: diff, schema: selected.schemaKey })
521
+ let sql = await dbSchemaOps.previewAlterSql({
522
+ values: diff,
523
+ schema: selected.schemaKey
524
+ })
494
525
  let alert = !dbSupportsTransactionalDdl(dbType)
495
526
  ? {
496
527
  title: capitalize(dbType) + ' does not support transactional DDL',
@@ -14,6 +14,7 @@ type Props = {
14
14
  dbType: DbType;
15
15
  dbSchema: DBSchema;
16
16
  dbSupportsSchemas: boolean;
17
+ databaseIsEmpty?: boolean;
17
18
  colDefs: Record<string, ColumnDef[]> | undefined;
18
19
  dbTableOpsFactory: (params: {
19
20
  colDefs: ColumnDef[];
@@ -34,6 +35,7 @@ type Props = {
34
35
  disabledTables?: SelectedTable[];
35
36
  features?: DbFeatures;
36
37
  asset?: Asset;
38
+ onImport?: (mode: 'schema_and_data' | 'schema_only') => void;
37
39
  };
38
40
  declare const DBManager: import("svelte").Component<Props, {
39
41
  dbTable: () => ({
@@ -11,7 +11,7 @@ import {} from 'svelte';
11
11
  import { getDbSchemas, loadAllTablesMetaData } from './apps/components/display/dbtable/metadata';
12
12
  import { getDbFeatures } from './apps/components/display/dbtable/dbFeatures';
13
13
  import { resource } from 'runed';
14
- let { input, showRepl = true, hasReplResult = $bindable(false), selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [] } = $props();
14
+ let { input, showRepl = true, hasReplResult = $bindable(false), selectedSchemaKey = $bindable(undefined), selectedTableKey = $bindable(undefined), dbSelector, multiSelectMode = false, selectedTables = $bindable([]), disabledTables = [], onImport } = $props();
15
15
  let dbSchema = $derived(input && $dbSchemas[getDbSchemasPath(input)]);
16
16
  function getDbSchemasPath(input) {
17
17
  switch (input.type) {
@@ -99,6 +99,7 @@ export const dbManager = () => _dbManager;
99
99
  </div>
100
100
  <DbManager
101
101
  dbSupportsSchemas={input?.type == 'database' && dbSupportsSchemas(input.resourceType)}
102
+ databaseIsEmpty={!Object.values(dbSchema.schema).flatMap((s) => Object.values(s)).length}
102
103
  {dbSchema}
103
104
  colDefs={colDefs.current}
104
105
  dbTableOpsFactory={({ colDefs, tableKey }) =>
@@ -122,6 +123,7 @@ export const dbManager = () => _dbManager;
122
123
  {dbType}
123
124
  refresh={() => refresh()}
124
125
  {dbSelector}
126
+ {onImport}
125
127
  bind:selectedSchemaKey
126
128
  bind:selectedTableKey
127
129
  {multiSelectMode}
@@ -15,6 +15,7 @@ interface Props {
15
15
  selectedTables?: SelectedTable[];
16
16
  /** Tables that are already added and should show as disabled */
17
17
  disabledTables?: SelectedTable[];
18
+ onImport?: (mode: 'schema_and_data' | 'schema_only') => void;
18
19
  }
19
20
  declare const DBManagerContent: import("svelte").Component<Props, {
20
21
  refresh: () => void;
@@ -26,6 +27,7 @@ declare const DBManagerContent: import("svelte").Component<Props, {
26
27
  dbType: import("./dbTypes").DbType;
27
28
  dbSchema: DBSchema;
28
29
  dbSupportsSchemas: boolean;
30
+ databaseIsEmpty?: boolean;
29
31
  colDefs: Record<string, import("./apps/components/display/dbtable/utils").ColumnDef[]> | undefined;
30
32
  dbTableOpsFactory: (params: {
31
33
  colDefs: import("./apps/components/display/dbtable/utils").ColumnDef[];
@@ -43,6 +45,7 @@ declare const DBManagerContent: import("svelte").Component<Props, {
43
45
  disabledTables?: SelectedTable[];
44
46
  features?: import("./apps/components/display/dbtable/dbFeatures").DbFeatures;
45
47
  asset?: import("../gen").Asset;
48
+ onImport?: (mode: "schema_and_data" | "schema_only") => void;
46
49
  }>): void;
47
50
  } & {
48
51
  dbTable: () => ({
@@ -1,13 +1,17 @@
1
- <script lang="ts">import { workspaceStore } from '../stores';
1
+ <script lang="ts">import { superadmin, userStore, workspaceStore } from '../stores';
2
2
  import { WorkspaceService } from '../gen';
3
3
  import Button from './common/button/Button.svelte';
4
4
  import Drawer from './common/drawer/Drawer.svelte';
5
5
  import DrawerContent from './common/drawer/DrawerContent.svelte';
6
6
  import Select from './select/Select.svelte';
7
- import { ArrowLeft, Expand, LoaderCircle, Minimize, RefreshCcw } from 'lucide-svelte';
7
+ import { ArrowLeft, Copy, Download, Expand, LoaderCircle, Minimize, RefreshCcw, Upload } from 'lucide-svelte';
8
8
  import DBManagerContent from './DBManagerContent.svelte';
9
9
  import { resource } from 'runed';
10
10
  import { untrack } from 'svelte';
11
+ import ResourcePicker from './ResourcePicker.svelte';
12
+ import Alert from './common/alert/Alert.svelte';
13
+ import { sendUserToast } from '../toast';
14
+ import { isCloudHosted } from '../cloud';
11
15
  let { uriState, offset = 0 } = $props();
12
16
  let open = $derived(uriState.open);
13
17
  // Load available datatables when drawer opens with datatable input
@@ -15,7 +19,7 @@ const datatables = resource([], async () => {
15
19
  if (!$workspaceStore)
16
20
  return [];
17
21
  try {
18
- return await WorkspaceService.listDataTables({ workspace: $workspaceStore });
22
+ return (await WorkspaceService.listDataTables({ workspace: $workspaceStore })).map((d) => d.name);
19
23
  }
20
24
  catch (e) {
21
25
  console.error('Failed to load datatables:', e);
@@ -46,6 +50,70 @@ $effect(() => {
46
50
  });
47
51
  let dbManagerContent = $state();
48
52
  let hasReplResult = $state(false);
53
+ // Export/Import state
54
+ let exportDrawerOpen = $state(false);
55
+ let exportResult = $state('');
56
+ let importDrawerOpen = $state(false);
57
+ let importLoading = $state(false);
58
+ let importSource = $state(undefined);
59
+ let importBehavior = $state('schema_only');
60
+ let isPostgresqlInput = $derived(uriState.isDatatableInput ||
61
+ (uriState.input?.type === 'database' && uriState.input.resourceType === 'postgresql'));
62
+ let enableImportExport = $derived(isPostgresqlInput);
63
+ function toSourceIdentifier(raw) {
64
+ if (raw.startsWith('datatable://') || raw.startsWith('$res:'))
65
+ return raw;
66
+ return `$res:${raw}`;
67
+ }
68
+ function currentSourceIdentifier() {
69
+ const input = uriState.effectiveInput;
70
+ if (!input || input.type !== 'database')
71
+ return undefined;
72
+ return toSourceIdentifier(input.resourcePath);
73
+ }
74
+ async function handleExportSchema() {
75
+ const source = currentSourceIdentifier();
76
+ if (!source || !$workspaceStore)
77
+ return;
78
+ try {
79
+ exportResult = await WorkspaceService.exportPgSchema({
80
+ workspace: $workspaceStore,
81
+ requestBody: { source }
82
+ });
83
+ exportDrawerOpen = true;
84
+ }
85
+ catch (e) {
86
+ sendUserToast(`Failed to export schema: ${e}`, true);
87
+ }
88
+ }
89
+ async function handleImportDatabase() {
90
+ if (!importSource || !$workspaceStore)
91
+ return;
92
+ const target = currentSourceIdentifier();
93
+ if (!target)
94
+ return;
95
+ importLoading = true;
96
+ try {
97
+ await WorkspaceService.importPgDatabase({
98
+ workspace: $workspaceStore,
99
+ requestBody: {
100
+ source: toSourceIdentifier(importSource),
101
+ target,
102
+ fork_behavior: importBehavior
103
+ }
104
+ });
105
+ sendUserToast('Database import completed successfully');
106
+ importDrawerOpen = false;
107
+ importSource = undefined;
108
+ dbManagerContent?.refresh();
109
+ }
110
+ catch (e) {
111
+ sendUserToast(`Failed to import database: ${e}`, true);
112
+ }
113
+ finally {
114
+ importLoading = false;
115
+ }
116
+ }
49
117
  </script>
50
118
 
51
119
  <svelte:window bind:innerWidth={windowWidth} />
@@ -78,6 +146,9 @@ let hasReplResult = $state(false);
78
146
  bind:hasReplResult
79
147
  bind:selectedSchemaKey={uriState.selectedSchema}
80
148
  bind:selectedTableKey={uriState.selectedTable}
149
+ onImport={enableImportExport
150
+ ? (mode) => ((importDrawerOpen = true), (importBehavior = mode))
151
+ : undefined}
81
152
  >
82
153
  {#snippet dbSelector()}
83
154
  {#if uriState.isDatatableInput}
@@ -101,6 +172,12 @@ let hasReplResult = $state(false);
101
172
  {/key}
102
173
  {/if}
103
174
  {#snippet actions()}
175
+ {#if enableImportExport}
176
+ <Button startIcon={{ icon: Download }} onClick={handleExportSchema}>Export</Button>
177
+ <Button startIcon={{ icon: Upload }} onClick={() => (importDrawerOpen = true)}>
178
+ Import
179
+ </Button>
180
+ {/if}
104
181
  <Button
105
182
  loading={dbManagerContent?.isLoading() ?? false}
106
183
  on:click={() => {
@@ -123,3 +200,68 @@ let hasReplResult = $state(false);
123
200
  {/snippet}
124
201
  </DrawerContent>
125
202
  </Drawer>
203
+
204
+ <Drawer bind:open={exportDrawerOpen} size="800px" offset={offset + 1}>
205
+ <DrawerContent title="Export Schemas" on:close={() => (exportDrawerOpen = false)}>
206
+ {#if exportResult}
207
+ <div class="flex flex-col gap-2 h-full relative">
208
+ <pre class="overflow-auto text-xs bg-surface-secondary p-4 rounded flex-1">{exportResult}</pre>
209
+ <Button
210
+ size="xs"
211
+ color="light"
212
+ startIcon={{ icon: Copy }}
213
+ wrapperClasses="absolute top-2 right-2"
214
+ btnClasses="bg-surface-tertiary"
215
+ on:click={() => {
216
+ navigator.clipboard.writeText(exportResult)
217
+ sendUserToast('Copied to clipboard')
218
+ }}
219
+ >
220
+ Copy
221
+ </Button>
222
+ </div>
223
+ {/if}
224
+ </DrawerContent>
225
+ </Drawer>
226
+
227
+ <Drawer bind:open={importDrawerOpen} size="600px" offset={offset + 1}>
228
+ <DrawerContent title="Import Database" on:close={() => (importDrawerOpen = false)}>
229
+ <div class="flex flex-col gap-4">
230
+ <Alert type="warning" title="Warning">
231
+ This will import the schemas from the selected source into the current database. Existing
232
+ tables with the same names may be affected.
233
+ </Alert>
234
+ <div class="flex flex-col gap-2">
235
+ <span class="text-sm font-medium">Source database</span>
236
+ <ResourcePicker datatableAsPgResource bind:value={importSource} resourceType="postgresql" />
237
+ </div>
238
+ <div class="flex flex-col gap-2">
239
+ <span class="text-sm font-medium">Import mode</span>
240
+ <Select
241
+ items={[
242
+ { value: 'schema_only', label: 'Schema only' },
243
+ ...(isCloudHosted() || (!$superadmin && !$userStore?.is_admin)
244
+ ? []
245
+ : [{ value: 'schema_and_data', label: 'Schema and data' }])
246
+ ]}
247
+ bind:value={importBehavior}
248
+ />
249
+ </div>
250
+ {#if importBehavior === 'schema_and_data'}
251
+ <Alert type="warning" title="Heavy operation">
252
+ Importing schema and data will copy all rows from every table in the source database. This
253
+ may take a long time and use significant storage space depending on the size of the
254
+ source.
255
+ </Alert>
256
+ {/if}
257
+ <Button
258
+ disabled={!importSource}
259
+ loading={importLoading}
260
+ color="red"
261
+ on:click={handleImportDatabase}
262
+ >
263
+ Import {importBehavior === 'schema_and_data' ? 'schemas and data' : 'schemas'} into current database
264
+ </Button>
265
+ </div>
266
+ </DrawerContent>
267
+ </Drawer>
@@ -35,7 +35,7 @@ import { Cell } from './table';
35
35
  import DataTable from './table/DataTable.svelte';
36
36
  import Head from './table/Head.svelte';
37
37
  import { datatypeHasLength } from './apps/components/display/dbtable/utils';
38
- import { DB_TYPES } from '../consts';
38
+ import { DB_TYPES, NEW_COLUMN_ONLY_TYPES } from '../consts';
39
39
  import Popover from './meltComponents/Popover.svelte';
40
40
  import ConfirmationModal from './common/confirmationModal/ConfirmationModal.svelte';
41
41
  import { sendUserToast } from '../toast';
@@ -52,6 +52,12 @@ import Alert from './common/alert/Alert.svelte';
52
52
  import Label from './Label.svelte';
53
53
  const { dbType, dbSchema, currentSchema, initialValues, features, onConfirm, computeBtnProps, computePreview } = $props();
54
54
  const columnTypes = DB_TYPES[untrack(() => dbType)];
55
+ function columnTypesFor(column) {
56
+ if (column.initialName) {
57
+ return columnTypes.filter((t) => !NEW_COLUMN_ONLY_TYPES.includes(t));
58
+ }
59
+ return columnTypes;
60
+ }
55
61
  const defaultColumnType = {
56
62
  postgresql: 'BIGSERIAL',
57
63
  snowflake: 'varchar',
@@ -153,7 +159,7 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
153
159
  }
154
160
  }
155
161
  }
156
- items={safeSelectItems(columnTypes)}
162
+ items={safeSelectItems(columnTypesFor(column))}
157
163
  class="w-48"
158
164
  />
159
165
  {#if column.initialName && column.name !== column.initialName}
@@ -431,7 +437,9 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
431
437
  </Alert>
432
438
  {/if}
433
439
  {#if askingForConfirmation?.codeContent}
434
- <div class="bg-surface-secondary border border-surface-selected rounded-md p-2 relative group">
440
+ <div
441
+ class="bg-surface-secondary border border-surface-selected rounded-md p-2 relative group"
442
+ >
435
443
  <button
436
444
  class="absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity p-1 rounded hover:bg-surface-hover"
437
445
  onclick={() => copyToClipboard(askingForConfirmation?.codeContent)}
@@ -439,7 +447,9 @@ let btnProps = new Debounced(() => computeBtnProps({ values }), 500);
439
447
  >
440
448
  <ClipboardCopy size={14} />
441
449
  </button>
442
- <pre class="whitespace-pre-wrap text-sm"><code>{askingForConfirmation.codeContent}</code></pre>
450
+ <pre class="whitespace-pre-wrap text-sm"
451
+ ><code>{askingForConfirmation.codeContent}</code></pre
452
+ >
443
453
  </div>
444
454
  {/if}
445
455
  </ConfirmationModal>
@@ -4,7 +4,7 @@ import Select from './select/Select.svelte';
4
4
  import ExploreAssetButton, { assetCanBeExplored } from './ExploreAssetButton.svelte';
5
5
  import { usePromise } from '../svelte5Utils.svelte';
6
6
  let { value = $bindable(undefined), disabled = false, disablePortal = false, showSchemaExplorer = false, placeholder = undefined, selectInputClass = '', class: className = '', onClear = undefined } = $props();
7
- let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }));
7
+ let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $workspaceStore ?? '' }).then((d) => d.map((d) => d.name)));
8
8
  </script>
9
9
 
10
10
  <div class={className}>
@@ -19,9 +19,6 @@ let datatables = usePromise(() => WorkspaceService.listDataTables({ workspace: $
19
19
  {onClear}
20
20
  />
21
21
  {#if showSchemaExplorer && value && assetCanBeExplored({ kind: 'datatable', path: value })}
22
- <ExploreAssetButton
23
- class="mt-1 w-fit"
24
- asset={{ kind: 'datatable', path: value }}
25
- />
22
+ <ExploreAssetButton class="mt-1 w-fit" asset={{ kind: 'datatable', path: value }} />
26
23
  {/if}
27
24
  </div>