windmill-components 1.613.5 → 1.623.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/package/assets/tokens/tokens.json +1 -11
  2. package/package/ata/apis.js +5 -78
  3. package/package/components/AddUser.svelte +1 -1
  4. package/package/components/CenteredModal.svelte +24 -32
  5. package/package/components/CenteredModal.svelte.d.ts +27 -7
  6. package/package/components/CenteredPage.svelte +2 -5
  7. package/package/components/CenteredPage.svelte.d.ts +0 -2
  8. package/package/components/ConcurrentJobsChart.svelte +2 -3
  9. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  10. package/package/components/CustomPopover.svelte +23 -20
  11. package/package/components/CustomPopover.svelte.d.ts +39 -14
  12. package/package/components/DBManager.svelte +17 -105
  13. package/package/components/DBManager.svelte.d.ts +1 -2
  14. package/package/components/DBManagerContent.svelte +3 -4
  15. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  16. package/package/components/DBTableEditor.svelte +171 -210
  17. package/package/components/DBTableEditor.svelte.d.ts +3 -22
  18. package/package/components/Description.svelte +2 -3
  19. package/package/components/Dev.svelte +2 -36
  20. package/package/components/DiffDrawer.svelte +29 -8
  21. package/package/components/DiffEditor.svelte +2 -32
  22. package/package/components/DisplayResult.svelte +24 -32
  23. package/package/components/Editor.svelte +16 -70
  24. package/package/components/Editor.svelte.d.ts +0 -3
  25. package/package/components/EditorBar.svelte +1 -1
  26. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  27. package/package/components/FlowBuilder.svelte +11 -17
  28. package/package/components/FlowPreviewContent.svelte +2 -3
  29. package/package/components/FlowPreviewResult.svelte +4 -0
  30. package/package/components/FlowRestartButton.svelte +3 -2
  31. package/package/components/FlowRestartButton.svelte.d.ts +0 -3
  32. package/package/components/FlowStatusViewerInner.svelte +33 -50
  33. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  34. package/package/components/FlowStatusWaitingForEvents.svelte +23 -27
  35. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +18 -4
  36. package/package/components/FlowViewer.svelte +2 -103
  37. package/package/components/FlowViewer.svelte.d.ts +3 -9
  38. package/package/components/ForkWorkspaceBanner.svelte +13 -16
  39. package/package/components/GraphqlSchemaViewer.svelte +1 -8
  40. package/package/components/HistoricInputs.svelte +27 -25
  41. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  42. package/package/components/InstanceSetting.svelte +0 -38
  43. package/package/components/InviteUser.svelte +42 -16
  44. package/package/components/InviteUser.svelte.d.ts +18 -4
  45. package/package/components/JsonInputs.svelte +8 -6
  46. package/package/components/JsonInputs.svelte.d.ts +8 -7
  47. package/package/components/LogViewer.svelte +33 -91
  48. package/package/components/Login.svelte +0 -21
  49. package/package/components/ManualPopover.svelte +6 -5
  50. package/package/components/ManualPopover.svelte.d.ts +35 -9
  51. package/package/components/MemoryFootprintViewer.svelte +6 -2
  52. package/package/components/ModulePreview.svelte +21 -23
  53. package/package/components/ModulePreview.svelte.d.ts +0 -1
  54. package/package/components/OAuthSetting.svelte +11 -23
  55. package/package/components/Path.svelte +2 -2
  56. package/package/components/Path.svelte.d.ts +1 -1
  57. package/package/components/ResourcePicker.svelte +0 -3
  58. package/package/components/ResourcePicker.svelte.d.ts +0 -1
  59. package/package/components/RunButton.svelte +15 -5
  60. package/package/components/RunButton.svelte.d.ts +19 -7
  61. package/package/components/RunChart.svelte +4 -8
  62. package/package/components/RunChart.svelte.d.ts +2 -2
  63. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  64. package/package/components/RunsPage.svelte +539 -170
  65. package/package/components/RunsPage.svelte.d.ts +5 -5
  66. package/package/components/S3FilePicker.svelte +11 -7
  67. package/package/components/S3FilePickerInner.svelte +3 -2
  68. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  69. package/package/components/SavedInputs.svelte +416 -0
  70. package/package/components/{tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts → SavedInputs.svelte.d.ts} +11 -8
  71. package/package/components/SchemaForm.svelte +19 -26
  72. package/package/components/SchemaFormWithArgPicker.svelte +3 -4
  73. package/package/components/ScriptBuilder.svelte +1 -1
  74. package/package/components/ScriptEditor.svelte +101 -575
  75. package/package/components/Section.svelte +1 -3
  76. package/package/components/ServiceLogsInner.svelte +4 -4
  77. package/package/components/ShareModal.svelte.d.ts +1 -1
  78. package/package/components/SimpleEditor.svelte +2 -46
  79. package/package/components/SuperadminSettingsInner.svelte +1 -1
  80. package/package/components/TemplateEditor.svelte +29 -54
  81. package/package/components/TemplateEditor.svelte.d.ts +102 -13
  82. package/package/components/UserSettings.svelte +1 -1
  83. package/package/components/WorkerTagPicker.svelte +1 -1
  84. package/package/components/WorkerTagSelect.svelte +2 -5
  85. package/package/components/WorkspaceTutorials.svelte +0 -5
  86. package/package/components/apps/components/buttons/AppButton.svelte +6 -21
  87. package/package/components/apps/components/buttons/AppForm.svelte +1 -2
  88. package/package/components/apps/components/buttons/AppFormButton.svelte +1 -2
  89. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +4 -0
  90. package/package/components/apps/components/display/dbtable/metadata.js +30 -69
  91. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +24 -2
  92. package/package/components/apps/components/display/dbtable/queries/createTable.js +25 -11
  93. package/package/components/apps/components/display/dbtable/queries/select.d.ts +0 -2
  94. package/package/components/apps/components/display/dbtable/queries/select.js +6 -37
  95. package/package/components/apps/components/display/dbtable/utils.d.ts +1 -10
  96. package/package/components/apps/components/display/dbtable/utils.js +20 -52
  97. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  98. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  99. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  100. package/package/components/apps/components/helpers/RunnableComponent.svelte +2 -3
  101. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  102. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  103. package/package/components/apps/editor/AppEditorHeader.svelte +1 -8
  104. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +29 -32
  105. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  106. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  107. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  108. package/package/components/apps/editor/PublicApp.svelte +30 -49
  109. package/package/components/apps/editor/PublicApp.svelte.d.ts +0 -1
  110. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +7 -77
  111. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  112. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  113. package/package/components/apps/editor/inlineScriptsPanel/utils.js +1 -10
  114. package/package/components/apps/inputType.d.ts +1 -6
  115. package/package/components/auditLogs/AuditLogsFilters.svelte +17 -9
  116. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  117. package/package/components/common/button/model.js +1 -1
  118. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  119. package/package/components/common/languageIcons/TypeScript.svelte +3 -5
  120. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +0 -1
  121. package/package/components/common/modal/Modal.svelte +3 -3
  122. package/package/components/copilot/autocomplete/Autocompletor.js +2 -3
  123. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  124. package/package/components/copilot/chat/AIButtonStyle.js +1 -2
  125. package/package/components/copilot/chat/AIChat.svelte +1 -3
  126. package/package/components/copilot/chat/AIChatDisplay.svelte +4 -89
  127. package/package/components/copilot/chat/AIChatInput.svelte +0 -275
  128. package/package/components/copilot/chat/AIChatManager.svelte.js +1 -107
  129. package/package/components/copilot/chat/AiChatLayout.svelte +30 -15
  130. package/package/components/copilot/chat/ContextElementBadge.svelte +0 -44
  131. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +33 -32
  132. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  133. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +0 -3
  134. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +0 -4
  135. package/package/components/copilot/chat/app/core.d.ts +15 -56
  136. package/package/components/copilot/chat/app/core.js +22 -141
  137. package/package/components/copilot/chat/context.d.ts +2 -59
  138. package/package/components/copilot/chat/context.js +2 -6
  139. package/package/components/copilot/chat/flow/FlowAIChat.svelte +0 -22
  140. package/package/components/copilot/chat/flow/core.d.ts +1 -3
  141. package/package/components/copilot/chat/flow/core.js +2 -29
  142. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  143. package/package/components/copilot/chat/flow/openFlowZod.d.ts +0 -1
  144. package/package/components/copilot/chat/flow/openFlowZod.js +2 -14
  145. package/package/components/copilot/chat/script/core.d.ts +1 -4
  146. package/package/components/copilot/chat/script/core.js +2 -38
  147. package/package/components/copilot/chat/shared.d.ts +0 -10
  148. package/package/components/copilot/chat/shared.js +0 -24
  149. package/package/components/copilot/lib.d.ts +1 -1
  150. package/package/components/custom_ui.d.ts +0 -2
  151. package/package/components/dbOps.d.ts +4 -18
  152. package/package/components/dbOps.js +3 -25
  153. package/package/components/flows/CreateActionsApp.svelte +4 -6
  154. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  155. package/package/components/flows/FlowHistoryInner.svelte +4 -15
  156. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  157. package/package/components/flows/content/FlowInput.svelte +37 -211
  158. package/package/components/flows/content/FlowModuleComponent.svelte +67 -553
  159. package/package/components/flows/content/FlowModuleEarlyStop.svelte +10 -8
  160. package/package/components/flows/content/FlowModuleHeader.svelte +4 -7
  161. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  162. package/package/components/flows/content/McpToolEditor.svelte +37 -50
  163. package/package/components/flows/content/McpToolEditor.svelte.d.ts +1 -0
  164. package/package/components/flows/conversations/FlowChat.svelte +2 -16
  165. package/package/components/flows/conversations/FlowChat.svelte.d.ts +1 -2
  166. package/package/components/flows/conversations/FlowChatInterface.svelte +6 -103
  167. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +0 -2
  168. package/package/components/flows/conversations/FlowChatManager.svelte.js +21 -53
  169. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  170. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -3
  171. package/package/components/flows/types.d.ts +0 -2
  172. package/package/components/git_sync/GitSyncRepositoryCard.svelte +8 -16
  173. package/package/components/home/ItemsList.svelte +5 -5
  174. package/package/components/home/TutorialBanner.svelte +18 -34
  175. package/package/components/icons/CssIcon.svelte +0 -20
  176. package/package/components/icons/CssIcon.svelte.d.ts +25 -7
  177. package/package/components/icons/JavaScriptIcon.svelte +2 -10
  178. package/package/components/icons/JavaScriptIcon.svelte.d.ts +0 -1
  179. package/package/components/icons/JsonIcon.svelte +2 -8
  180. package/package/components/icons/JsonIcon.svelte.d.ts +0 -1
  181. package/package/components/icons/ReactIcon.svelte +2 -10
  182. package/package/components/icons/ReactIcon.svelte.d.ts +0 -1
  183. package/package/components/icons/SvelteIcon.svelte +2 -10
  184. package/package/components/icons/SvelteIcon.svelte.d.ts +0 -1
  185. package/package/components/icons/VueIcon.svelte +2 -10
  186. package/package/components/icons/VueIcon.svelte.d.ts +0 -1
  187. package/package/components/instanceSettings.d.ts +1 -2
  188. package/package/components/instanceSettings.js +1 -32
  189. package/package/components/jobs/JobPreview.svelte +39 -46
  190. package/package/components/jobs/JobPreview.svelte.d.ts +0 -1
  191. package/package/components/monacoLanguagesOptions.js +15 -16
  192. package/package/components/propertyPicker/PropPicker.svelte +2 -16
  193. package/package/components/propertyPicker/PropPicker.svelte.d.ts +0 -2
  194. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +5 -9
  195. package/package/components/raw_apps/FileEditorIcon.svelte +7 -12
  196. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +0 -2
  197. package/package/components/raw_apps/FileTreeNode.svelte +83 -119
  198. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +8 -88
  199. package/package/components/raw_apps/RawAppDataTableList.svelte +9 -12
  200. package/package/components/raw_apps/RawAppEditor.svelte +68 -218
  201. package/package/components/raw_apps/RawAppEditorHeader.svelte +16 -33
  202. package/package/components/raw_apps/RawAppHistoryList.svelte +80 -264
  203. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +0 -1
  204. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +1 -15
  205. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +12 -46
  206. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +47 -549
  207. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +5 -31
  208. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +18 -25
  209. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +0 -1
  210. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +10 -141
  211. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +0 -8
  212. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +1 -2
  213. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +1 -9
  214. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +3 -47
  215. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  216. package/package/components/raw_apps/RawAppModules.svelte +7 -13
  217. package/package/components/raw_apps/RawAppPreview.svelte +6 -48
  218. package/package/components/raw_apps/RawAppSidebar.svelte +125 -194
  219. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +0 -1
  220. package/package/components/raw_apps/utils.d.ts +1 -1
  221. package/package/components/raw_apps/utils.js +18 -76
  222. package/package/components/runs/JobsLoader.svelte +468 -0
  223. package/package/components/runs/JobsLoader.svelte.d.ts +49 -0
  224. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  225. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  226. package/package/components/runs/NoWorkerWithTagWarning.svelte +1 -5
  227. package/package/components/runs/RunsFilter.svelte +63 -75
  228. package/package/components/runs/RunsFilter.svelte.d.ts +4 -35
  229. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  230. package/package/components/runs/RunsTable.svelte +1 -1
  231. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  232. package/package/components/schema/SchemaPicker.svelte +92 -0
  233. package/package/components/{tutorials/RunsTutorial.svelte.d.ts → schema/SchemaPicker.svelte.d.ts} +12 -11
  234. package/package/components/scriptEditor/LogPanel.svelte +2 -17
  235. package/package/components/scriptEditor/LogPanel.svelte.d.ts +0 -2
  236. package/package/components/select/SelectDropdown.svelte +2 -2
  237. package/package/components/settings/ChangeWorkspaceColor.svelte +3 -4
  238. package/package/components/settings/ChangeWorkspaceId.svelte +10 -14
  239. package/package/components/settings/ChangeWorkspaceName.svelte +6 -7
  240. package/package/components/settings/CreateToken.svelte +1 -1
  241. package/package/components/settings/UserAIPromptsSettings.svelte +15 -56
  242. package/package/components/settings/WorkspaceOperatorSettings.svelte +85 -68
  243. package/package/components/settings/WorkspaceUserSettings.svelte +406 -531
  244. package/package/components/sidebar/MenuButton.svelte +24 -46
  245. package/package/components/sidebar/MenuButton.svelte.d.ts +0 -2
  246. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  247. package/package/components/sidebar/OperatorMenu.svelte +88 -63
  248. package/package/components/sidebar/SidebarContent.svelte +2 -7
  249. package/package/components/sidebar/UserMenu.svelte +1 -1
  250. package/package/components/sidebar/WorkspaceMenu.svelte +85 -35
  251. package/package/components/sqlTypeService.js +3 -4
  252. package/package/components/table/DataTable.svelte +2 -3
  253. package/package/components/table/DataTable.svelte.d.ts +0 -1
  254. package/package/components/text_input/TextInput.svelte +0 -3
  255. package/package/components/text_input/TextInput.svelte.d.ts +0 -2
  256. package/package/components/triggers/utils.js +1 -0
  257. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +35 -6
  258. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +20 -5
  259. package/package/components/tutorials/utils.d.ts +0 -16
  260. package/package/components/tutorials/utils.js +0 -96
  261. package/package/components/vscode.js +6 -6
  262. package/package/components/workspaceSettings/AISettings.svelte +108 -146
  263. package/package/components/workspaceSettings/CreateWorkspace.svelte +12 -26
  264. package/package/components/workspaceSettings/DucklakeSettings.svelte +23 -46
  265. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +1 -2
  266. package/package/components/workspaceSettings/ModelTokenLimits.svelte +18 -14
  267. package/package/components/workspaceSettings/StorageSettings.svelte +241 -280
  268. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +0 -1
  269. package/package/consts.js +1 -4
  270. package/package/gen/core/OpenAPI.js +1 -1
  271. package/package/gen/schemas.gen.d.ts +1 -133
  272. package/package/gen/schemas.gen.js +1 -133
  273. package/package/gen/services.gen.d.ts +10 -160
  274. package/package/gen/services.gen.js +20 -319
  275. package/package/gen/types.gen.d.ts +19 -609
  276. package/package/hubPaths.json +2 -3
  277. package/package/infer.js +0 -2
  278. package/package/logout.d.ts +2 -0
  279. package/package/logout.js +23 -2
  280. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  281. package/package/navigation.d.ts +1 -1
  282. package/package/rawAppWmillTs.d.ts +0 -11
  283. package/package/rawAppWmillTs.js +1 -38
  284. package/package/svelte5Utils.svelte.d.ts +1 -7
  285. package/package/svelte5Utils.svelte.js +2 -23
  286. package/package/tutorialUtils.js +4 -0
  287. package/package/tutorials/config.js +3 -31
  288. package/package/tutorials/roleUtils.d.ts +1 -1
  289. package/package/tutorials/roleUtils.js +2 -6
  290. package/package/utils.js +1 -159
  291. package/package.json +4 -6
  292. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  293. package/dist/sharedUtils/base.d.ts +0 -1
  294. package/dist/sharedUtils/cloud.d.ts +0 -1
  295. package/dist/sharedUtils/common.d.ts +0 -111
  296. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  297. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  298. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  299. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  300. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  301. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  302. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  303. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  304. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  305. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  306. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  307. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  308. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  309. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  310. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  311. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  312. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  313. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  314. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  315. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  316. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  317. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  318. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  319. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  320. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  321. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  322. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  323. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  324. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  325. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  326. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  327. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  328. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  329. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  330. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  331. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  332. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  333. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  334. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  335. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  336. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  337. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  338. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  339. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  340. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  341. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  342. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  343. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  344. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  345. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  346. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  347. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  348. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  349. package/dist/sharedUtils/gen/index.d.ts +0 -6
  350. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  351. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  352. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  353. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  354. package/dist/sharedUtils/hub.d.ts +0 -49
  355. package/dist/sharedUtils/jsr.json +0 -6
  356. package/dist/sharedUtils/lib.d.ts +0 -5
  357. package/dist/sharedUtils/lib.es.js +0 -1588
  358. package/dist/sharedUtils/package.json +0 -12
  359. package/dist/sharedUtils/schema.d.ts +0 -3
  360. package/dist/sharedUtils/stores.d.ts +0 -97
  361. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  362. package/dist/sharedUtils/toast.d.ts +0 -8
  363. package/dist/sharedUtils/utils.d.ts +0 -265
  364. package/package/components/FlowDiffViewer.svelte +0 -37
  365. package/package/components/FlowDiffViewer.svelte.d.ts +0 -7
  366. package/package/components/JobOtelTraces.svelte +0 -287
  367. package/package/components/JobOtelTraces.svelte.d.ts +0 -6
  368. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +0 -46
  369. package/package/components/apps/components/display/dbtable/queries/alterTable.js +0 -314
  370. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +0 -1
  371. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +0 -867
  372. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +0 -9
  373. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +0 -45
  374. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +0 -47
  375. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +0 -402
  376. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +0 -35
  377. package/package/components/apps/components/display/dbtable/tableEditor.js +0 -49
  378. package/package/components/copilot/chat/AppAvailableContextList.svelte +0 -263
  379. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +0 -13
  380. package/package/components/debug/DebugConsole.svelte +0 -277
  381. package/package/components/debug/DebugConsole.svelte.d.ts +0 -13
  382. package/package/components/debug/DebugPanel.svelte +0 -97
  383. package/package/components/debug/DebugPanel.svelte.d.ts +0 -11
  384. package/package/components/debug/DebugToolbar.svelte +0 -148
  385. package/package/components/debug/DebugToolbar.svelte.d.ts +0 -17
  386. package/package/components/debug/DebugVariableViewer.svelte +0 -115
  387. package/package/components/debug/DebugVariableViewer.svelte.d.ts +0 -11
  388. package/package/components/debug/MonacoDebugger.svelte +0 -384
  389. package/package/components/debug/MonacoDebugger.svelte.d.ts +0 -15
  390. package/package/components/debug/dapClient.d.ts +0 -192
  391. package/package/components/debug/dapClient.js +0 -426
  392. package/package/components/debug/debugUtils.d.ts +0 -30
  393. package/package/components/debug/debugUtils.js +0 -131
  394. package/package/components/debug/index.d.ts +0 -75
  395. package/package/components/debug/index.js +0 -82
  396. package/package/components/flows/content/FlowEditorDrawer.svelte +0 -124
  397. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +0 -22
  398. package/package/components/flows/content/McpOAuthConnect.svelte +0 -217
  399. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +0 -7
  400. package/package/components/icons/HtmlIcon.svelte +0 -20
  401. package/package/components/icons/HtmlIcon.svelte.d.ts +0 -8
  402. package/package/components/icons/LessIcon.svelte +0 -16
  403. package/package/components/icons/LessIcon.svelte.d.ts +0 -8
  404. package/package/components/icons/MarkdownIcon.svelte +0 -20
  405. package/package/components/icons/MarkdownIcon.svelte.d.ts +0 -8
  406. package/package/components/icons/SassIcon.svelte +0 -28
  407. package/package/components/icons/SassIcon.svelte.d.ts +0 -8
  408. package/package/components/icons/YamlIcon.svelte +0 -20
  409. package/package/components/icons/YamlIcon.svelte.d.ts +0 -8
  410. package/package/components/instanceSettings/SecretBackendConfig.svelte +0 -514
  411. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +0 -8
  412. package/package/components/raw_apps/RunnableRow.svelte +0 -41
  413. package/package/components/raw_apps/RunnableRow.svelte.d.ts +0 -11
  414. package/package/components/runs/useJobsLoader.svelte.d.ts +0 -34
  415. package/package/components/runs/useJobsLoader.svelte.js +0 -507
  416. package/package/components/settings/AIPromptsModal.svelte +0 -88
  417. package/package/components/settings/AIPromptsModal.svelte.d.ts +0 -11
  418. package/package/components/tutorials/RunsTutorial.svelte +0 -399
  419. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +0 -133
  420. package/package/components/workspace/WorkspaceCard.svelte +0 -184
  421. package/package/components/workspace/WorkspaceCard.svelte.d.ts +0 -24
  422. package/package/components/workspace/WorkspaceIcon.svelte +0 -21
  423. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +0 -9
  424. package/package/components/workspace/WorkspaceTreeView.svelte +0 -331
  425. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +0 -15
  426. package/package/logoutKit.d.ts +0 -2
  427. package/package/logoutKit.js +0 -26
  428. package/package/svelte5UtilsKit.svelte.d.ts +0 -3
  429. package/package/svelte5UtilsKit.svelte.js +0 -30
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">import { Plus, Database, Trash2, Table2, Star } from 'lucide-svelte';
2
2
  import PanelSection from '../apps/editor/settingsPanel/common/PanelSection.svelte';
3
3
  import DefaultDatabaseSelector from './DefaultDatabaseSelector.svelte';
4
- import { Button } from '../common';
5
4
  let { dataTableRefs = [], defaultDatatable = undefined, defaultSchema = undefined, onAdd, onRemove, onSelect, onDefaultChange, selectedIndex = undefined, standalone = false, hideDefaultSelector = false } = $props();
6
5
  const groupedRefs = $derived.by(() => {
7
6
  const groups = new Map();
@@ -45,7 +44,7 @@ function sortSchemaEntries(entries, datatableName) {
45
44
  </script>
46
45
 
47
46
  {#snippet actionButtons()}
48
- <div class="flex items-center gap-1">
47
+ <div class="flex items-center">
49
48
  <!-- Settings popover for default database/schema -->
50
49
  {#if !hideDefaultSelector}
51
50
  <DefaultDatabaseSelector
@@ -56,16 +55,14 @@ function sortSchemaEntries(entries, datatableName) {
56
55
  {/if}
57
56
 
58
57
  <!-- Add datatable button -->
59
- <Button
60
- onClick={() => onAdd?.()}
58
+ <button
59
+ onclick={() => onAdd?.()}
60
+ class="pt-1.5 pb-0.5 px-1 hover:bg-surface-hover rounded transition-colors flex items-center gap-0.5"
61
61
  title="Add datatable reference"
62
- unifiedSize="xs"
63
- variant="subtle"
64
- btnClasses="px-1 gap-0.5"
65
62
  >
66
- <Plus size={12} />
67
- <Database size={12} />
68
- </Button>
63
+ <Plus size={12} class="text-secondary" />
64
+ <Database size={12} class="text-tertiary" />
65
+ </button>
69
66
  </div>
70
67
  {/snippet}
71
68
 
@@ -141,7 +138,7 @@ function sortSchemaEntries(entries, datatableName) {
141
138
  {#if standalone}
142
139
  <div class="flex flex-col gap-2">
143
140
  <div class="flex items-center justify-between">
144
- <span class="text-xs text-emphasis font-semibold">Existing tables to use</span>
141
+ <span class="text-xs text-tertiary">Existing tables to use</span>
145
142
  {@render actionButtons()}
146
143
  </div>
147
144
  {@render tableList()}
@@ -149,7 +146,7 @@ function sortSchemaEntries(entries, datatableName) {
149
146
  {:else}
150
147
  <PanelSection
151
148
  fullHeight={false}
152
- size="sm"
149
+ size="lg"
153
150
  title="data"
154
151
  id="app-editor-data-panel"
155
152
  tooltip="Data tables to use in the app. Adding some here does not change the behavior of the app, since they can be used in code directly regardless. But it allows AI to always keep their schema in context as well as allowing quick access and clear view of the app's data layer."
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">import { Pane, Splitpanes } from 'svelte-splitpanes';
2
2
  import RawAppInlineScriptsPanel from './RawAppInlineScriptsPanel.svelte';
3
3
  import RawAppEditorHeader from './RawAppEditorHeader.svelte';
4
- import { WorkspaceService } from '../../gen';
4
+ import {} from '../../gen';
5
5
  import DiffDrawer from '../DiffDrawer.svelte';
6
6
  import { encodeState } from '../../utils';
7
7
  import { deepEqual } from 'fast-equals';
@@ -16,6 +16,7 @@ import { aiChatManager, AIMode } from '../copilot/chat/AIChatManager.svelte';
16
16
  import { onMount } from 'svelte';
17
17
  import { rawAppLintStore } from './lintStore';
18
18
  import { dbSchemas } from '../../stores';
19
+ import { getDbSchemas } from '../apps/components/display/dbtable/metadata';
19
20
  import { runScriptAndPollResult } from '../jobs/utils';
20
21
  import { RawAppHistoryManager } from './RawAppHistoryManager.svelte';
21
22
  import { sendUserToast } from '../../utils';
@@ -57,7 +58,7 @@ function saveFrontendDraft() {
57
58
  }, 500);
58
59
  }
59
60
  let iframe = $state(undefined);
60
- let sidebarPanelSize = $state(15);
61
+ let sidebarPanelSize = $state(10);
61
62
  let jobs = $state([]);
62
63
  let jobsById = $state({});
63
64
  // Helper function to convert internal Runnable to BackendRunnable format
@@ -121,14 +122,6 @@ function setFilesInIframe(newFiles) {
121
122
  files: files
122
123
  }, '*');
123
124
  }
124
- function setFilesAndSelectInIframe(newFiles, pathToSelect) {
125
- const files = Object.fromEntries(Object.entries(newFiles).filter(([path, _]) => !path.endsWith('/')));
126
- iframe?.contentWindow?.postMessage({
127
- type: 'setFilesAndSelect',
128
- files: files,
129
- pathToSelect: pathToSelect
130
- }, '*');
131
- }
132
125
  function populateRunnables() {
133
126
  iframe?.contentWindow?.postMessage({
134
127
  type: 'setRunnables',
@@ -212,6 +205,7 @@ $effect(() => {
212
205
  ...$state.snapshot(files ?? {}),
213
206
  '/wmill.d.ts': genWmillTs(runnables)
214
207
  };
208
+ console.log('result', frontendFiles);
215
209
  return frontendFiles;
216
210
  },
217
211
  setFrontendFile: (path, content) => {
@@ -220,9 +214,10 @@ $effect(() => {
220
214
  files = {};
221
215
  }
222
216
  files[path] = content;
217
+ setFilesInIframe(files);
223
218
  selectedDocument = path;
224
- // Use combined setFilesAndSelect to avoid race condition
225
- setFilesAndSelectInIframe(files, path);
219
+ handleSelectFile(path);
220
+ console.log('files after setting', files);
226
221
  return lint();
227
222
  },
228
223
  deleteFrontendFile: (path) => {
@@ -302,37 +297,24 @@ $effect(() => {
302
297
  };
303
298
  },
304
299
  getSelectedContext: () => {
305
- const baseContext = {
306
- inspectorElement: inspectorElement,
307
- selectionExcluded: selectionExcludedFromPrompt,
308
- toggleSelectionExcluded: toggleSelectionExcluded,
309
- clearInspector: clearInspectorSelection,
310
- clearRunnable: handleClearRunnable,
311
- codeSelection: codeSelection,
312
- clearCodeSelection: () => {
313
- codeSelection = undefined;
314
- }
315
- };
316
300
  if (selectedRunnable) {
317
- const runnable = convertToBackendRunnable(selectedRunnable, runnables[selectedRunnable]);
301
+ console.log('selectedRunnable', selectedRunnable);
318
302
  return {
319
303
  type: 'backend',
320
- backendKey: selectedRunnable,
321
- backendRunnable: runnable,
322
- ...baseContext
304
+ content: selectedRunnable ?? ''
323
305
  };
324
306
  }
325
307
  if (selectedDocument) {
308
+ console.log('selectedDocument', selectedDocument);
326
309
  return {
327
310
  type: 'frontend',
328
- frontendPath: selectedDocument,
329
- frontendContent: files?.[selectedDocument],
330
- ...baseContext
311
+ content: selectedDocument ?? ''
331
312
  };
332
313
  }
314
+ console.log('no selection');
333
315
  return {
334
316
  type: 'none',
335
- ...baseContext
317
+ content: ''
336
318
  };
337
319
  },
338
320
  snapshot: () => {
@@ -345,71 +327,52 @@ $effect(() => {
345
327
  handleHistorySelect(id);
346
328
  },
347
329
  getDatatables: async () => {
348
- if (!$workspaceStore) {
349
- return [];
350
- }
351
- // Get all datatable schemas from the backend
352
- const allSchemas = await WorkspaceService.listDataTableSchemas({
353
- workspace: $workspaceStore
354
- });
355
- // Get unique datatable names from dataTableRefs (the whitelisted tables)
356
- const whitelistedDatatables = new Set(dataTableRefsObjects.map((ref) => ref.datatable));
357
- // If no datatables are configured, return all available datatables
358
- // This allows users to see all datatables in the @ context menu
359
- if (whitelistedDatatables.size === 0) {
360
- return allSchemas;
361
- }
362
- // Build a map of whitelisted tables per datatable: datatable -> schema -> Set<table>
363
- const whitelistedTables = new Map();
364
- for (const ref of dataTableRefsObjects) {
365
- if (!ref.table)
366
- continue;
367
- if (!whitelistedTables.has(ref.datatable)) {
368
- whitelistedTables.set(ref.datatable, new Map());
369
- }
370
- const schemaKey = ref.schema || 'public';
371
- const schemaMap = whitelistedTables.get(ref.datatable);
372
- if (!schemaMap.has(schemaKey)) {
373
- schemaMap.set(schemaKey, new Set());
374
- }
375
- schemaMap.get(schemaKey).add(ref.table);
376
- }
377
- // Filter schemas to only include whitelisted datatables and tables
378
330
  const results = [];
379
- for (const schema of allSchemas) {
380
- if (!whitelistedDatatables.has(schema.datatable_name)) {
381
- continue;
331
+ // Get unique datatable names from dataTableRefs
332
+ const datatableNames = [...new Set(dataTableRefsObjects.map((ref) => ref.datatable))];
333
+ for (const datatableName of datatableNames) {
334
+ const resourcePath = `datatable://${datatableName}`;
335
+ // Get or load the schema
336
+ let schema = $dbSchemas[resourcePath];
337
+ if (!schema) {
338
+ try {
339
+ await getDbSchemas('postgresql', resourcePath, $workspaceStore, $dbSchemas, (msg) => console.error('Schema error:', msg));
340
+ schema = $dbSchemas[resourcePath];
341
+ }
342
+ catch (e) {
343
+ console.error(`Failed to load schema for ${datatableName}:`, e);
344
+ continue;
345
+ }
382
346
  }
383
- const allowedTables = whitelistedTables.get(schema.datatable_name);
384
- if (!allowedTables) {
385
- // Include the datatable but with empty schemas
386
- results.push({
387
- datatable_name: schema.datatable_name,
388
- schemas: {},
389
- error: schema.error
390
- });
347
+ if (!schema?.schema)
391
348
  continue;
392
- }
393
- // Filter schemas to only include whitelisted tables
394
- const filteredSchemas = {};
395
- for (const [schemaName, tables] of Object.entries(schema.schemas)) {
396
- const allowedTablesInSchema = allowedTables.get(schemaName);
397
- if (!allowedTablesInSchema)
349
+ // Get the tables for this datatable from the refs
350
+ const refsForDatatable = dataTableRefsObjects.filter((ref) => ref.datatable === datatableName);
351
+ const tables = [];
352
+ for (const ref of refsForDatatable) {
353
+ const schemaKey = ref.schema || 'public';
354
+ const tableKey = ref.table;
355
+ if (!tableKey)
356
+ continue; // Skip if no table specified
357
+ const tableSchema = schema.schema[schemaKey]?.[tableKey];
358
+ if (!tableSchema)
398
359
  continue;
399
- const filteredTables = {};
400
- for (const [tableName, columns] of Object.entries(tables)) {
401
- if (allowedTablesInSchema.has(tableName)) {
402
- filteredTables[tableName] = columns;
403
- }
404
- }
405
- if (Object.keys(filteredTables).length > 0) {
406
- filteredSchemas[schemaName] = filteredTables;
360
+ const columns = {};
361
+ for (const [colName, colDef] of Object.entries(tableSchema)) {
362
+ columns[colName] = {
363
+ type: colDef.type || 'unknown',
364
+ required: colDef.required || false
365
+ };
407
366
  }
367
+ tables.push({
368
+ schema: schemaKey,
369
+ table: tableKey,
370
+ columns
371
+ });
408
372
  }
409
373
  results.push({
410
- datatable_name: schema.datatable_name,
411
- schemas: filteredSchemas,
412
- error: schema.error
374
+ name: datatableName,
375
+ tables
413
376
  });
414
377
  }
415
378
  return results;
@@ -459,44 +422,17 @@ $effect(() => {
459
422
  const errorMsg = e instanceof Error ? e.message : String(e);
460
423
  return { success: false, error: errorMsg };
461
424
  }
462
- },
463
- addTableToWhitelist: (datatableName, schemaName, tableName) => {
464
- // Format the table reference
465
- const newRef = formatDataTableRef({
466
- datatable: datatableName,
467
- schema: schemaName === 'public' ? undefined : schemaName,
468
- table: tableName
469
- });
470
- // Only add if not already present
471
- if (!data.tables.includes(newRef)) {
472
- data.tables = [...data.tables, newRef];
473
- saveFrontendDraft();
474
- }
475
425
  }
476
426
  });
477
427
  });
478
428
  let selectedRunnable = $state(undefined);
479
429
  let selectedDocument = $state(undefined);
480
- let inspectorElement = $state(undefined);
481
- let selectionExcludedFromPrompt = $state(false);
482
- let codeSelection = $state(undefined);
483
- function toggleSelectionExcluded() {
484
- selectionExcludedFromPrompt = !selectionExcludedFromPrompt;
485
- }
486
430
  let modules = $state({});
487
- // Normalize Windows-style path separators to Linux-style
488
- function normalizeFilePaths(filesObj) {
489
- if (!filesObj)
490
- return filesObj;
491
- return Object.fromEntries(Object.entries(filesObj).map(([path, content]) => [path.replace(/\\/g, '/'), content]));
492
- }
493
431
  function listener(e) {
494
432
  if (e.data.type === 'setFiles') {
495
- // Normalize Windows-style path separators to Linux-style
496
- const normalizedFiles = normalizeFilePaths(e.data.files);
497
433
  // Only mark pending changes if files actually changed (ignore echo from setFilesInIframe)
498
- if (!deepEqual(files, normalizedFiles)) {
499
- files = normalizedFiles;
434
+ if (!deepEqual(files, e.data.files)) {
435
+ files = e.data.files;
500
436
  historyManager.markPendingChanges();
501
437
  }
502
438
  }
@@ -507,39 +443,7 @@ function listener(e) {
507
443
  modules = e.data.modules;
508
444
  }
509
445
  else if (e.data.type === 'setActiveDocument') {
510
- // Normalize Windows-style path separators to Linux-style
511
- selectedDocument = e.data.path?.replace(/\\/g, '/');
512
- }
513
- else if (e.data.type === 'inspectorSelect') {
514
- // Handle inspector element selection from the iframe preview
515
- inspectorElement = e.data.element;
516
- }
517
- else if (e.data.type === 'inspectorClear') {
518
- // Clear the inspector element when user dismisses the selection
519
- inspectorElement = undefined;
520
- }
521
- else if (e.data.type === 'editorSelection') {
522
- // Handle code selection from the iframe editor
523
- const selection = e.data.selection;
524
- if (selection === null) {
525
- // Selection cleared
526
- codeSelection = undefined;
527
- }
528
- else {
529
- // Normalize path
530
- const normalizedPath = selection.path?.replace(/\\/g, '/');
531
- codeSelection = {
532
- type: 'app_code_selection',
533
- source: normalizedPath,
534
- sourceType: 'frontend',
535
- title: `${normalizedPath}:L${selection.range.startLine}-L${selection.range.endLine}`,
536
- content: selection.content,
537
- startLine: selection.range.startLine,
538
- endLine: selection.range.endLine,
539
- startColumn: selection.range.startColumn,
540
- endColumn: selection.range.endColumn
541
- };
542
- }
446
+ selectedDocument = e.data.path;
543
447
  }
544
448
  }
545
449
  let getBundleResolve = undefined;
@@ -566,38 +470,14 @@ $effect(() => {
566
470
  $effect(() => {
567
471
  iframe && iframeLoaded && runnables && populateRunnables();
568
472
  });
569
- function clearInspectorSelection() {
570
- inspectorElement = undefined;
571
- iframe?.contentWindow?.postMessage({ type: 'inspectorClear' }, '*');
572
- }
573
473
  function handleSelectFile(path) {
574
474
  console.log('event Select file:', path);
575
475
  selectedRunnable = undefined;
576
- // Inspector is cleared by the $effect watching selection changes
577
476
  iframe?.contentWindow?.postMessage({
578
477
  type: 'selectFile',
579
478
  path: path
580
479
  }, '*');
581
480
  }
582
- function handleClearRunnable() {
583
- selectedRunnable = undefined;
584
- }
585
- // Track previous values for change detection
586
- let prevSelectedRunnable = undefined;
587
- let prevSelectedDocument = undefined;
588
- // Clear inspector and reset exclusion when selection changes
589
- $effect(() => {
590
- if (selectedRunnable !== prevSelectedRunnable || selectedDocument !== prevSelectedDocument) {
591
- // Only clear if we're actually switching to something different
592
- if (prevSelectedRunnable !== undefined || prevSelectedDocument !== undefined) {
593
- clearInspectorSelection();
594
- }
595
- // Reset exclusion when switching files/runnables
596
- selectionExcludedFromPrompt = false;
597
- prevSelectedRunnable = selectedRunnable;
598
- prevSelectedDocument = selectedDocument;
599
- }
600
- });
601
481
  function handleUndo() {
602
482
  // Create a snapshot if we're at the latest position with pending changes
603
483
  if (historyManager.needsSnapshotBeforeNav) {
@@ -615,10 +495,9 @@ function handleRedo() {
615
495
  }
616
496
  }
617
497
  function handleHistorySelect(id) {
618
- // Save current state temporarily (not as a snapshot) when navigating to history
619
- // Only if we're currently at the "current" state (not already viewing history)
620
- if (historyManager.selectedEntryId === undefined) {
621
- historyManager.saveTemporaryCurrentState(files ?? {}, runnables, summary, data);
498
+ // Create a snapshot if we have pending changes before navigating
499
+ if (historyManager.needsSnapshotBeforeNav) {
500
+ historyManager.manualSnapshot(files ?? {}, runnables, summary, data);
622
501
  }
623
502
  const entry = historyManager.selectEntry(id);
624
503
  if (entry) {
@@ -631,16 +510,15 @@ function applyEntry(entry) {
631
510
  runnables = structuredClone($state.snapshot(entry.runnables));
632
511
  summary = entry.summary;
633
512
  data = structuredClone($state.snapshot(entry.data));
634
- // If there's a selected document that exists in the new files, use the combined message
513
+ setFilesInIframe(entry.files);
514
+ populateRunnables();
515
+ // Re-select the current document if it exists in the new files
635
516
  if (selectedDocument && entry.files[selectedDocument] !== undefined) {
636
- // Use combined setFilesAndSelect message to avoid race condition
637
- setFilesAndSelectInIframe(entry.files, selectedDocument);
517
+ iframe?.contentWindow?.postMessage({
518
+ type: 'selectFile',
519
+ path: selectedDocument
520
+ }, '*');
638
521
  }
639
- else {
640
- // Otherwise just set files normally
641
- setFilesInIframe(entry.files);
642
- }
643
- populateRunnables();
644
522
  }
645
523
  catch (error) {
646
524
  console.error('Failed to apply entry:', error);
@@ -691,8 +569,8 @@ function handleKeydown(e) {
691
569
  onRedo={handleRedo}
692
570
  />
693
571
 
694
- <Splitpanes id="o2" class="grow min-h-0">
695
- <Pane bind:size={sidebarPanelSize} maxSize={20} class="h-full overflow-y-auto">
572
+ <Splitpanes id="o2" class="grow">
573
+ <Pane bind:size={sidebarPanelSize} maxSize={20}>
696
574
  <RawAppSidebar
697
575
  bind:files={
698
576
  () => files,
@@ -727,15 +605,6 @@ function handleKeydown(e) {
727
605
  {historyManager}
728
606
  historySelectedId={historyManager.selectedEntryId}
729
607
  onHistorySelect={handleHistorySelect}
730
- onHistorySelectCurrent={() => {
731
- // Restore the temporary current state if it exists
732
- const tempState = historyManager.getAndClearTemporaryState()
733
- if (tempState) {
734
- applyEntry(tempState)
735
- }
736
- // Clear selection to indicate we're at current state
737
- historyManager.clearSelection()
738
- }}
739
608
  onManualSnapshot={() => {
740
609
  historyManager.manualSnapshot(files ?? {}, runnables, summary, data, true)
741
610
  }}
@@ -757,26 +626,7 @@ function handleKeydown(e) {
757
626
  appPath={path}
758
627
  {selectedRunnable}
759
628
  {initRunnablesContent}
760
- bind:runnables
761
- onSelectionChange={(selection) => {
762
- console.log('handle selection', selection)
763
-
764
- if (selection === null) {
765
- codeSelection = undefined
766
- } else if (selectedRunnable) {
767
- codeSelection = {
768
- type: 'app_code_selection',
769
- source: selectedRunnable,
770
- sourceType: 'backend',
771
- title: `${selectedRunnable}:L${selection.startLine}-L${selection.endLine}`,
772
- content: selection.content,
773
- startLine: selection.startLine,
774
- endLine: selection.endLine,
775
- startColumn: selection.startColumn,
776
- endColumn: selection.endColumn
777
- }
778
- }
779
- }}
629
+ {runnables}
780
630
  />
781
631
  </div>
782
632
  {/if}
@@ -3,7 +3,7 @@ import Button from '../common/button/Button.svelte';
3
3
  import UndoRedo from '../common/button/UndoRedo.svelte';
4
4
  import { AppService, DraftService } from '../../gen';
5
5
  import { enterpriseLicense, userStore, workspaceStore } from '../../stores';
6
- import { Bug, DiffIcon, EllipsisVertical, FileJson, FileUp, History, Pen, Save, WandSparkles } from 'lucide-svelte';
6
+ import { Bug, DiffIcon, FileJson, FileUp, History, MoreVertical, Pen, Save, WandSparkles } from 'lucide-svelte';
7
7
  import { createEventDispatcher } from 'svelte';
8
8
  import { cleanValueProperties, orderedJsonStringify, replaceFalseWithUndefined, defaultIfEmptyString } from '../../utils';
9
9
  // import { allItems, toStatic } from '../apps/editor/settingsPanel/utils'
@@ -54,9 +54,6 @@ async function createApp(path) {
54
54
  sendUserToast(`App hasn't been loaded yet`, true);
55
55
  return;
56
56
  }
57
- if (!policy.execution_mode) {
58
- policy.execution_mode = 'publisher';
59
- }
60
57
  await computeTriggerables();
61
58
  try {
62
59
  const { js, css } = await getBundle();
@@ -155,9 +152,6 @@ async function updateApp(npath) {
155
152
  }
156
153
  const { js, css } = await getBundle();
157
154
  await computeTriggerables();
158
- if (!policy.execution_mode) {
159
- policy.execution_mode = 'publisher';
160
- }
161
155
  await AppService.updateAppRaw({
162
156
  workspace: $workspaceStore,
163
157
  path: appPath,
@@ -499,26 +493,19 @@ $effect(() => {
499
493
  startIcon={{ icon: Save }}
500
494
  disabled={pathError != '' || app == undefined}
501
495
  on:click={() => saveInitialDraft()}
502
- unifiedSize="md"
503
- variant="accent"
504
496
  >
505
497
  Save initial draft
506
498
  </Button>
507
499
  </div>
508
500
  {/snippet}
509
- <AppEditorHeaderDeployInitialDraft
510
- bind:summary
511
- bind:appPath
512
- bind:pathError
513
- bind:newEditedPath
514
- />
501
+ <AppEditorHeaderDeployInitialDraft {summary} {appPath} bind:pathError bind:newEditedPath />
515
502
  </DrawerContent>
516
503
  </Drawer>
517
504
  {/if}
518
505
  <Drawer bind:open={saveDrawerOpen} size="800px">
519
506
  <DrawerContent title="Deploy" on:close={() => closeSaveDrawer()}>
520
507
  {#snippet actions()}
521
- <div class="flex flex-row gap-2">
508
+ <div class="flex flex-row gap-4">
522
509
  <Button
523
510
  variant="default"
524
511
  disabled={!savedApp || savedApp.draft_only}
@@ -561,8 +548,6 @@ $effect(() => {
561
548
  </div>
562
549
  </Button>
563
550
  <Button
564
- variant="accent"
565
- unifiedSize="md"
566
551
  startIcon={{ icon: Save }}
567
552
  disabled={pathError != '' || customPathError != '' || app == undefined}
568
553
  on:click={() => {
@@ -591,6 +576,7 @@ $effect(() => {
591
576
  bind:customPathError
592
577
  bind:pathError
593
578
  bind:newEditedPath
579
+ hideSecretUrl={true}
594
580
  />
595
581
  </DrawerContent>
596
582
  </Drawer>
@@ -616,7 +602,7 @@ $effect(() => {
616
602
  />
617
603
 
618
604
  <div
619
- class="border-b flex flex-row justify-between py-1 gap-2 gap-y-2 px-2 items-center overflow-y-visible overflow-x-auto min-h-10 shrink-0"
605
+ class="border-b flex flex-row justify-between py-1 gap-2 gap-y-2 px-2 items-center overflow-y-visible overflow-x-auto min-h-10"
620
606
  >
621
607
  <div class="flex flex-row gap-2 items-center">
622
608
  <Summary bind:value={summary} />
@@ -668,13 +654,11 @@ $effect(() => {
668
654
  <div class="flex flex-row gap-2 justify-end items-center overflow-visible">
669
655
  <DropdownV2 items={moreItems} class="h-auto">
670
656
  {#snippet buttonReplacement()}
671
- <Button
672
- nonCaptureEvent
673
- unifiedSize="md"
674
- variant="subtle"
675
- startIcon={{ icon: EllipsisVertical }}
676
- iconOnly
677
- ></Button>
657
+ <Button nonCaptureEvent size="xs" color="light">
658
+ <div class="flex flex-row items-center">
659
+ <MoreVertical size={14} />
660
+ </div>
661
+ </Button>
678
662
  {/snippet}
679
663
  </DropdownV2>
680
664
 
@@ -684,8 +668,8 @@ $effect(() => {
684
668
  jobsDrawerOpen = true
685
669
  }}
686
670
  color="light"
687
- unifiedSize="md"
688
- variant="default"
671
+ size="xs"
672
+ variant="border"
689
673
  btnClasses="relative"
690
674
  >
691
675
  <div class="flex flex-row gap-1 items-center">
@@ -700,7 +684,8 @@ $effect(() => {
700
684
  </div>
701
685
  <AppExportButton bind:this={appExport} />
702
686
  <Button
703
- unifiedSize="md"
687
+ unifiedSized="sm"
688
+ color="light"
704
689
  variant="default"
705
690
  onClick={() => aiChatManager.toggleOpen()}
706
691
  startIcon={{ icon: WandSparkles }}
@@ -713,8 +698,7 @@ $effect(() => {
713
698
  loading={loading.save}
714
699
  startIcon={{ icon: Save }}
715
700
  on:click={() => saveDraft()}
716
- unifiedSize="md"
717
- variant="default"
701
+ size="xs"
718
702
  disabled={!newApp && !savedApp}
719
703
  shortCut={{ key: 'S' }}
720
704
  >
@@ -724,8 +708,7 @@ $effect(() => {
724
708
  loading={loading.save}
725
709
  startIcon={{ icon: Save }}
726
710
  on:click={save}
727
- unifiedSize="md"
728
- variant="accent"
711
+ size="xs"
729
712
  dropdownItems={appPath != ''
730
713
  ? () => [
731
714
  {