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
@@ -7,8 +7,6 @@ import { chatState } from './sharedChatState.svelte';
7
7
  import { loadCopilot } from '../../../aiStore';
8
8
  import { aiChatManager } from './AIChatManager.svelte';
9
9
  import { onDestroy } from 'svelte';
10
- import Button from '../../common/button/Button.svelte';
11
- import { Menu } from 'lucide-svelte';
12
10
  let { noPadding: noBorder = false, isCollapsed = false, children, onMenuOpen, disableAi } = $props();
13
11
  $effect(() => {
14
12
  if (disableAi) {
@@ -30,32 +28,49 @@ onDestroy(() => {
30
28
 
31
29
  {#if !disableAi}
32
30
  <Splitpanes horizontal={false} class="flex-1 min-h-0">
33
- <Pane size={100 - chatState.size} minSize={50} class="flex flex-col grow min-h-0 ">
31
+ <Pane size={100 - chatState.size} minSize={50} class="flex flex-col min-h-0">
34
32
  <div
35
33
  id="content"
36
34
  class={classNames(
37
- 'w-full flex-1 flex flex-col overflow-y-auto min-h-0',
35
+ 'w-full flex-1 flex flex-col overflow-y-auto',
38
36
  noBorder || $userStore?.operator ? '!pl-0' : isCollapsed ? 'md:pl-12' : 'md:pl-40',
39
37
  'transition-all ease-in-out duration-200'
40
38
  )}
41
39
  >
42
- <main class="flex-1 flex flex-col min-h-0">
43
- <div class="relative w-full flex-1 flex flex-col min-h-0">
40
+ <main class="flex-1 flex flex-col">
41
+ <div class="relative w-full flex-1 flex flex-col">
44
42
  <div
45
43
  class={classNames(
46
- 'py-0.5 px-4 sm:px-4 shadow-sm max-w-7xl md:hidden justify-start flex',
44
+ 'py-0.5 px-4 sm:px-4 flex flex-row justify-between items-center shadow-sm max-w-7xl md:hidden',
47
45
  noBorder || $userStore?.operator ? 'hidden' : ''
48
46
  )}
49
47
  >
50
- <Button
51
- variant="subtle"
52
- unifiedSize="lg"
53
- onClick={() => onMenuOpen?.()}
54
- startIcon={{ icon: Menu }}
55
- iconOnly
56
- ></Button>
48
+ <button
49
+ aria-label="Menu"
50
+ type="button"
51
+ onclick={() => {
52
+ onMenuOpen?.()
53
+ }}
54
+ class="h-8 w-8 inline-flex items-center justify-center rounded-md text-primary hover:text-primary focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500"
55
+ >
56
+ <svg
57
+ class="h-6 w-6"
58
+ xmlns="http://www.w3.org/2000/svg"
59
+ fill="none"
60
+ viewBox="0 0 24 24"
61
+ stroke-width="2"
62
+ stroke="currentColor"
63
+ aria-hidden="true"
64
+ >
65
+ <path
66
+ stroke-linecap="round"
67
+ stroke-linejoin="round"
68
+ d="M4 6h16M4 12h16M4 18h16"
69
+ />
70
+ </svg>
71
+ </button>
57
72
  </div>
58
- <div class="flex-1 min-h-0">
73
+ <div class="flex-1">
59
74
  {@render children?.()}
60
75
  </div>
61
76
  </div>
@@ -87,50 +87,6 @@ const isDeletable = $derived(deletable && contextElement.deletable !== false);
87
87
  <div class="text-primary">{contextElement.title}</div>
88
88
  </div>
89
89
  {/if}
90
- {:else if contextElement.type === 'app_frontend_file'}
91
- <div class="max-w-96 max-h-[300px] text-xs overflow-auto">
92
- <HighlightCode
93
- language={contextElement.path.endsWith('.tsx') || contextElement.path.endsWith('.ts')
94
- ? 'bun'
95
- : contextElement.path.endsWith('.css')
96
- ? 'bash'
97
- : 'bun'}
98
- code={contextElement.content}
99
- className="w-full p-2"
100
- />
101
- </div>
102
- {:else if contextElement.type === 'app_backend_runnable'}
103
- <div class="p-2 max-w-96 max-h-[300px] text-xs overflow-auto">
104
- {#if contextElement.runnable.inlineScript}
105
- <HighlightCode
106
- language={contextElement.runnable.inlineScript.language}
107
- code={contextElement.runnable.inlineScript.content}
108
- className="w-full p-2"
109
- />
110
- {:else}
111
- <ObjectViewer json={contextElement.runnable} pureViewer collapseLevel={2} />
112
- {/if}
113
- </div>
114
- {:else if contextElement.type === 'app_code_selection'}
115
- <div class="max-w-96 max-h-[300px] text-xs overflow-auto">
116
- <div class="text-tertiary text-xs mb-1 px-2 pt-1">
117
- {contextElement.source} (L{contextElement.startLine}-L{contextElement.endLine})
118
- </div>
119
- <HighlightCode
120
- language="bun"
121
- code={contextElement.content}
122
- className="w-full p-2"
123
- />
124
- </div>
125
- {:else if contextElement.type === 'app_datatable'}
126
- <div class="p-2 max-w-96 max-h-[300px] text-xs overflow-auto">
127
- <div class="text-tertiary text-xs mb-1">
128
- {contextElement.datatableName}/{contextElement.schemaName === 'public'
129
- ? ''
130
- : contextElement.schemaName + ':'}{contextElement.tableName}
131
- </div>
132
- <ObjectViewer json={contextElement.columns} pureViewer collapseLevel={1} />
133
- </div>
134
90
  {/if}
135
91
  {/snippet}
136
92
  </Popover>
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import { AlertTriangle } from 'lucide-svelte';
2
2
  import Toggle from '../../Toggle.svelte';
3
- import { aiChatManager } from './AIChatManager.svelte';
3
+ import { aiChatManager, AIMode } from './AIChatManager.svelte';
4
4
  import DefaultDatabaseSelector from '../../raw_apps/DefaultDatabaseSelector.svelte';
5
5
  import { workspaceStore } from '../../../stores';
6
6
  import { createDatatablesResource } from '../../raw_apps/datatableUtils.svelte';
@@ -9,8 +9,7 @@ const datatables = createDatatablesResource(() => $workspaceStore);
9
9
  const hasNoDatatables = $derived((datatables.current?.length ?? 0) === 0);
10
10
  // Auto-select first datatable when datatables load and none is selected
11
11
  $effect(() => {
12
- if (datatables.current &&
13
- datatables.current.length > 0 &&
12
+ if (datatables.current.length > 0 &&
14
13
  aiChatManager.datatableCreationPolicy.enabled &&
15
14
  !aiChatManager.datatableCreationPolicy.datatable) {
16
15
  aiChatManager.datatableCreationPolicy.datatable = datatables.current[0];
@@ -30,33 +29,35 @@ function handleDefaultChange(datatable, schema) {
30
29
  }
31
30
  </script>
32
31
 
33
- <div class="min-w-0 flex items-center gap-1 pt-0.5">
34
- {#if hasNoDatatables}
35
- <!-- Warning when no datatables are available -->
36
- <div
37
- class="text-2xs flex flex-row items-center gap-1 text-red-600 dark:text-red-400 px-1"
38
- title="No datatables configured. Add datatables in the Data panel so AI can create tables."
39
- >
40
- <AlertTriangle size={12} class="shrink-0" />
41
- <span class="truncate">No datatables</span>
42
- </div>
43
- {:else}
44
- <!-- Toggle for new tables -->
45
- <div class="flex items-center gap-1">
46
- <Toggle
47
- size="xs"
48
- checked={aiChatManager.datatableCreationPolicy.enabled}
49
- on:change={(e) => handleToggle(e.detail)}
50
- />
51
- <span class="text-2xs text-secondary whitespace-nowrap">tables creation</span>
52
- </div>
32
+ {#if aiChatManager.mode === AIMode.APP}
33
+ <div class="min-w-0 flex items-center gap-1 pt-0.5">
34
+ {#if hasNoDatatables}
35
+ <!-- Warning when no datatables are available -->
36
+ <div
37
+ class="text-2xs flex flex-row items-center gap-1 text-red-600 dark:text-red-400 px-1"
38
+ title="No datatables configured. Add datatables in the Data panel so AI can create tables."
39
+ >
40
+ <AlertTriangle size={12} class="shrink-0" />
41
+ <span class="truncate">No datatables</span>
42
+ </div>
43
+ {:else}
44
+ <!-- Toggle for new tables -->
45
+ <div class="flex items-center gap-1">
46
+ <Toggle
47
+ size="xs"
48
+ checked={aiChatManager.datatableCreationPolicy.enabled}
49
+ on:change={(e) => handleToggle(e.detail)}
50
+ />
51
+ <span class="text-2xs text-secondary whitespace-nowrap">tables creation</span>
52
+ </div>
53
53
 
54
- <!-- Settings icon with popover -->
55
- <DefaultDatabaseSelector
56
- datatable={aiChatManager.datatableCreationPolicy.datatable}
57
- schema={aiChatManager.datatableCreationPolicy.schema}
58
- onChange={handleDefaultChange}
59
- description="Set the default datatable and schema for new tables. When table creation is enabled, AI can create tables here if needed."
60
- />
61
- {/if}
62
- </div>
54
+ <!-- Settings icon with popover -->
55
+ <DefaultDatabaseSelector
56
+ datatable={aiChatManager.datatableCreationPolicy.datatable}
57
+ schema={aiChatManager.datatableCreationPolicy.schema}
58
+ onChange={handleDefaultChange}
59
+ description="Set the default datatable and schema for new tables. When table creation is enabled, AI can create tables here if needed."
60
+ />
61
+ {/if}
62
+ </div>
63
+ {/if}
@@ -16,7 +16,7 @@ let multipleModels = $derived($copilotInfo.aiModels.length > 1);
16
16
  <div class="min-w-0">
17
17
  <Popover disablePopup={!multipleModels} class="max-w-full">
18
18
  {#snippet trigger()}
19
- <div class="text-secondary text-2xs flex flex-row items-center font-normal gap-0.5">
19
+ <div class="text-primary text-xs flex flex-row items-center font-normal gap-0.5">
20
20
  <span class={`truncate ${multipleModels ? '' : 'pr-2'}`}>{providerModel.model}</span>
21
21
  {#if multipleModels}
22
22
  <div class="shrink-0">
@@ -90,9 +90,6 @@ export function createAppEvalHelpers(initialFrontend = {}, initialBackend = {})
90
90
  execDatatableSql: async (_datatableName, _sql, _newTable) => {
91
91
  // Return success with empty result for eval testing
92
92
  return { success: true, result: [] };
93
- },
94
- addTableToWhitelist: (_datatableName, _schemaName, _tableName) => {
95
- // No-op for eval testing - tables are not tracked in test context
96
93
  }
97
94
  };
98
95
  return {
@@ -65,10 +65,6 @@ export function createFlowEvalHelpers(initialModules = [], initialSchema) {
65
65
  testFlow: async () => {
66
66
  // Return mock job ID - we don't actually run flows in eval
67
67
  return 'mock-job-id-' + Date.now();
68
- },
69
- getLintErrors: async () => {
70
- // Return empty lint result for eval
71
- return { errorCount: 0, warningCount: 0, errors: [], warnings: [] };
72
68
  }
73
69
  };
74
70
  return {
@@ -1,6 +1,5 @@
1
1
  import type { ChatCompletionSystemMessageParam, ChatCompletionUserMessageParam } from 'openai/resources/chat/completions.mjs';
2
2
  import { type Tool } from '../shared';
3
- import type { ContextElement, AppCodeSelectionElement } from '../context';
4
3
  export type BackendRunnableType = 'script' | 'flow' | 'hubscript' | 'inline';
5
4
  export interface InlineScript {
6
5
  language: 'bun' | 'python3';
@@ -33,66 +32,28 @@ export interface LintResult {
33
32
  /** Warning messages grouped by source type */
34
33
  warnings: LintMessages;
35
34
  }
36
- /** Information about an element selected via the inspector tool */
37
- export interface InspectorElementInfo {
38
- /** CSS selector path to the element */
39
- path: string;
40
- /** Tag name of the element (e.g., 'div', 'button') */
41
- tagName: string;
42
- /** Element's id attribute, if any */
43
- id?: string;
44
- /** Element's class names, if any */
45
- className?: string;
46
- /** Bounding rectangle of the element */
47
- rect: {
48
- top: number;
49
- left: number;
50
- width: number;
51
- height: number;
52
- };
53
- /** Outer HTML of the element (may be truncated) */
54
- html: string;
55
- /** Text content of the element (may be truncated) */
56
- textContent?: string;
57
- /** Computed styles of the element */
58
- styles: Record<string, string>;
59
- }
60
35
  /** Context about the currently selected file or runnable in the app editor */
61
36
  export interface SelectedContext {
62
37
  /** Type of selection: 'frontend' for frontend files, 'backend' for backend runnables, or 'none' if nothing is selected */
63
38
  type: 'frontend' | 'backend' | 'none';
64
39
  /** The path of the selected frontend file (when type is 'frontend') */
65
40
  frontendPath?: string;
66
- /** The content of the selected frontend file */
67
- frontendContent?: string;
68
41
  /** The key of the selected backend runnable (when type is 'backend') */
69
42
  backendKey?: string;
70
- /** The configuration of the selected backend runnable */
71
- backendRunnable?: BackendRunnable;
72
- /** Inspector-selected element info (when user has used the inspector tool) */
73
- inspectorElement?: InspectorElementInfo;
74
- /** Whether the file/runnable selection is excluded from being sent to the AI prompt */
75
- selectionExcluded?: boolean;
76
- /** Function to toggle whether the selection is excluded from the prompt */
77
- toggleSelectionExcluded?: () => void;
78
- /** Function to clear the inspector selection */
79
- clearInspector?: () => void;
80
- /** Function to clear the runnable selection (go back to frontend view) */
81
- clearRunnable?: () => void;
82
- /** Code selection from the editor (either frontend or backend) */
83
- codeSelection?: AppCodeSelectionElement;
84
- /** Function to clear the code selection */
85
- clearCodeSelection?: () => void;
86
43
  }
87
- /**
88
- * Datatable schema matching the backend's DataTableSchema type.
89
- * Hierarchical structure: schema_name -> table_name -> column_name -> compact_type
90
- * Compact type format: 'type[?][=default]' where ? means nullable (e.g. 'int4', 'text?', 'int4?=0')
91
- */
92
- export interface DataTableSchema {
93
- datatable_name: string;
94
- schemas: Record<string, Record<string, Record<string, string>>>;
95
- error?: string;
44
+ /** Schema for a table in a datatable */
45
+ export interface DataTableTableSchema {
46
+ schema: string;
47
+ table: string;
48
+ columns: Record<string, {
49
+ type: string;
50
+ required: boolean;
51
+ }>;
52
+ }
53
+ /** Full datatable info including schema */
54
+ export interface DataTableInfo {
55
+ name: string;
56
+ tables: DataTableTableSchema[];
96
57
  }
97
58
  export interface AppAIChatHelpers {
98
59
  listFrontendFiles: () => string[];
@@ -117,7 +78,7 @@ export interface AppAIChatHelpers {
117
78
  /** Lint all frontend files and backend runnables, returns errors and warnings */
118
79
  lint: () => LintResult;
119
80
  /** Get all datatables configured in the app with their schemas */
120
- getDatatables: () => Promise<DataTableSchema[]>;
81
+ getDatatables: () => Promise<DataTableInfo[]>;
121
82
  /** Get unique datatable names configured in the app (for UI policy selector) */
122
83
  getAvailableDatatableNames: () => string[];
123
84
  /** Execute a SQL query on a datatable. Optionally specify newTable to register a newly created table. */
@@ -129,9 +90,7 @@ export interface AppAIChatHelpers {
129
90
  result?: Record<string, any>[];
130
91
  error?: string;
131
92
  }>;
132
- /** Add a table to the app's whitelisted tables (called when user selects a table via @) */
133
- addTableToWhitelist: (datatableName: string, schemaName: string, tableName: string) => void;
134
93
  }
135
94
  export declare const getAppTools: () => Tool<AppAIChatHelpers>[];
136
95
  export declare function prepareAppSystemMessage(customPrompt?: string): ChatCompletionSystemMessageParam;
137
- export declare function prepareAppUserMessage(instructions: string, selectedContext?: SelectedContext, additionalContext?: ContextElement[]): ChatCompletionUserMessageParam;
96
+ export declare function prepareAppUserMessage(instructions: string, selectedContext?: SelectedContext): ChatCompletionUserMessageParam;
@@ -439,8 +439,7 @@ export const getAppTools = memo(() => [
439
439
  toolCallbacks.setToolStatus(toolId, { content: 'No datatables configured' });
440
440
  return 'No datatables are configured in this app. Use the Data panel in the sidebar to add datatable references.';
441
441
  }
442
- const totalTables = datatables.reduce((acc, dt) => acc +
443
- Object.values(dt.schemas).reduce((schemaAcc, tables) => schemaAcc + Object.keys(tables).length, 0), 0);
442
+ const totalTables = datatables.reduce((acc, dt) => acc + dt.tables.length, 0);
444
443
  toolCallbacks.setToolStatus(toolId, {
445
444
  content: `Found ${datatables.length} datatable(s) with ${totalTables} table(s)`
446
445
  });
@@ -521,12 +520,6 @@ export const getAppTools = memo(() => [
521
520
  }
522
521
  ]);
523
522
  export function prepareAppSystemMessage(customPrompt) {
524
- // Get policy early so we can use it in the template
525
- const policy = aiChatManager.datatableCreationPolicy;
526
- const datatableName = policy.datatable ?? 'main';
527
- const schemaPrefix = policy.schema ? `${policy.schema}.` : '';
528
- // Use wmill.datatable() for 'main' (default), otherwise wmill.datatable('name')
529
- const datatableCall = datatableName === 'main' ? 'wmill.datatable()' : `wmill.datatable('${datatableName}')`;
530
523
  let content = `You are a helpful assistant that creates and edits apps on the Windmill platform. Apps are defined as a collection of files that contains both the frontend and the backend.
531
524
 
532
525
  ## App Structure
@@ -603,10 +596,12 @@ Backend runnables should only perform **data operations** (SELECT, INSERT, UPDAT
603
596
  import * as wmill from 'windmill-client';
604
597
 
605
598
  export async function main(user_id: string) {
606
- const sql = ${datatableCall};
599
+ // Use default 'main' datatable
600
+ let sql = wmill.datatable();
601
+ // Or specify a named datatable: wmill.datatable('named_datatable')
607
602
 
608
603
  // Safe string interpolation (parameterized query)
609
- const user = await sql\`SELECT * FROM ${schemaPrefix}users WHERE id = \${user_id}\`.fetchOne();
604
+ let user = await sql\`SELECT * FROM users WHERE id = \${user_id}\`.fetchOne();
610
605
  return user;
611
606
  }
612
607
  \`\`\`
@@ -616,20 +611,22 @@ export async function main(user_id: string) {
616
611
  import wmill
617
612
 
618
613
  def main(user_id: str):
619
- db = ${datatableCall}
614
+ db = wmill.datatable() # or wmill.datatable('named_datatable')
620
615
 
621
616
  # Use positional arguments ($1, $2, etc.)
622
- user = db.query('SELECT * FROM ${schemaPrefix}users WHERE id = $1', user_id).fetch_one()
617
+ user = db.query('SELECT * FROM users WHERE id = $1', user_id).fetch_one()
623
618
  return user
624
619
  \`\`\`
625
620
 
626
621
  ### Common Operations (for use in backend runnables)
627
622
 
628
- - **Fetch all**: \`sql\`SELECT * FROM ${schemaPrefix}table\`.fetch()\` or \`db.query('SELECT * FROM ${schemaPrefix}table').fetch()\`
623
+ - **Fetch all**: \`sql\`SELECT * FROM table\`.fetch()\` or \`db.query('SELECT * FROM table').fetch()\`
629
624
  - **Fetch one**: \`.fetchOne()\` or \`.fetch_one()\`
630
- - **Insert**: \`sql\`INSERT INTO ${schemaPrefix}table (col) VALUES (\${value})\`\`
631
- - **Update**: \`sql\`UPDATE ${schemaPrefix}table SET col = \${value} WHERE id = \${id}\`\`
632
- - **Delete**: \`sql\`DELETE FROM ${schemaPrefix}table WHERE id = \${id}\`\`
625
+ - **Insert**: \`sql\`INSERT INTO table (col) VALUES (\${value})\`\`
626
+ - **Update**: \`sql\`UPDATE table SET col = \${value} WHERE id = \${id}\`\`
627
+ - **Delete**: \`sql\`DELETE FROM table WHERE id = \${id}\`\`
628
+
629
+ The "main" datatable is the default and can be accessed without specifying a name.
633
630
 
634
631
  ### Schema Modifications (DDL) - Use exec_datatable_sql tool ONLY
635
632
 
@@ -713,11 +710,13 @@ When creating a new app, use \`list_workspace_runnables\` or \`search_hub_script
713
710
 
714
711
  `;
715
712
  // Add datatable creation policy context
713
+ const policy = aiChatManager.datatableCreationPolicy;
716
714
  if (policy.enabled && policy.datatable) {
715
+ const schemaPrefix = policy.schema ? `${policy.schema}.` : '';
717
716
  content += `## Datatable Creation Policy
718
717
 
719
718
  **Table creation is ENABLED.** You can create new tables using \`exec_datatable_sql\` with the \`new_table\` parameter.
720
- - **Default datatable**: ${datatableName}${policy.schema ? `\n- **Default schema**: ${policy.schema}` : ''}
719
+ - **Default datatable**: ${policy.datatable}${policy.schema ? `\n- **Default schema**: ${policy.schema}` : ''}
721
720
 
722
721
  When creating new tables, you MUST use the default datatable${policy.schema ? ` and schema` : ''} specified above. Do not create tables in other datatables or schemas.
723
722
  ${policy.schema ? `\n**IMPORTANT**: Always use the schema prefix \`${schemaPrefix}\` in your SQL queries when creating or referencing tables. For example: \`CREATE TABLE ${schemaPrefix}my_table (...)\` and \`SELECT * FROM ${schemaPrefix}my_table\`. Never create tables without the schema prefix as they would go to the public schema instead.` : ''}
@@ -739,134 +738,16 @@ ${policy.schema ? `\n**IMPORTANT**: Always use the schema prefix \`${schemaPrefi
739
738
  content
740
739
  };
741
740
  }
742
- /** Maximum characters for file content in context */
743
- const MAX_CONTEXT_CONTENT_LENGTH = 3000;
744
- export function prepareAppUserMessage(instructions, selectedContext, additionalContext) {
741
+ export function prepareAppUserMessage(instructions, selectedContext) {
745
742
  let content = '';
746
- // Check if we have any context to add
747
- const hasSelectedContext = selectedContext && (selectedContext.type !== 'none' || selectedContext.inspectorElement);
748
- const hasAdditionalContext = additionalContext && additionalContext.length > 0;
749
- if (hasSelectedContext || hasAdditionalContext) {
743
+ if (selectedContext && selectedContext.type !== 'none') {
750
744
  content += `## SELECTED CONTEXT:\n`;
751
- // Add frontend file context with content (unless excluded)
752
- if (selectedContext &&
753
- selectedContext.type === 'frontend' &&
754
- selectedContext.frontendPath &&
755
- !selectedContext.selectionExcluded) {
756
- content += `The user is currently viewing the frontend file: **${selectedContext.frontendPath}**\n`;
757
- if (selectedContext.frontendContent) {
758
- const truncatedContent = selectedContext.frontendContent.length > MAX_CONTEXT_CONTENT_LENGTH
759
- ? selectedContext.frontendContent.slice(0, MAX_CONTEXT_CONTENT_LENGTH) +
760
- '\n... [TRUNCATED]'
761
- : selectedContext.frontendContent;
762
- content += `\n\`\`\`\n${truncatedContent}\n\`\`\`\n`;
763
- }
764
- }
765
- // Add backend runnable context with content (unless excluded)
766
- if (selectedContext &&
767
- selectedContext.type === 'backend' &&
768
- selectedContext.backendKey &&
769
- !selectedContext.selectionExcluded) {
770
- content += `The user is currently viewing the backend runnable: **${selectedContext.backendKey}**\n`;
771
- if (selectedContext.backendRunnable) {
772
- const runnable = selectedContext.backendRunnable;
773
- content += `- **Name**: ${runnable.name}\n`;
774
- content += `- **Type**: ${runnable.type}\n`;
775
- if (runnable.path) {
776
- content += `- **Path**: ${runnable.path}\n`;
777
- }
778
- if (runnable.inlineScript) {
779
- const truncatedCode = runnable.inlineScript.content.length > MAX_CONTEXT_CONTENT_LENGTH
780
- ? runnable.inlineScript.content.slice(0, MAX_CONTEXT_CONTENT_LENGTH) +
781
- '\n... [TRUNCATED]'
782
- : runnable.inlineScript.content;
783
- content += `- **Language**: ${runnable.inlineScript.language}\n`;
784
- content += `- **Code**:\n\`\`\`${runnable.inlineScript.language === 'bun' ? 'typescript' : 'python'}\n${truncatedCode}\n\`\`\`\n`;
785
- }
786
- if (runnable.staticInputs && Object.keys(runnable.staticInputs).length > 0) {
787
- content += `- **Static inputs**: ${JSON.stringify(runnable.staticInputs)}\n`;
788
- }
789
- }
745
+ if (selectedContext.type === 'frontend') {
746
+ content += `The user is currently viewing the frontend file: ${selectedContext.frontendPath}\n\n`;
790
747
  }
791
- // Add inspector element context if available
792
- if (selectedContext?.inspectorElement) {
793
- const el = selectedContext.inspectorElement;
794
- content += `\nThe user has selected an element in the app preview using the inspector tool:\n`;
795
- content += `- **Element**: ${el.tagName}${el.id ? `#${el.id}` : ''}${el.className ? `.${el.className.split(' ').join('.')}` : ''}\n`;
796
- content += `- **Selector path**: ${el.path}\n`;
797
- content += `- **Dimensions**: ${Math.round(el.rect.width)}x${Math.round(el.rect.height)} at (${Math.round(el.rect.left)}, ${Math.round(el.rect.top)})\n`;
798
- if (el.textContent) {
799
- const truncatedText = el.textContent.length > 100 ? el.textContent.slice(0, 100) + '...' : el.textContent;
800
- content += `- **Text content**: "${truncatedText}"\n`;
801
- }
802
- // Include HTML (truncated) for more context
803
- const truncatedHtml = el.html.length > 500 ? el.html.slice(0, 500) + '...' : el.html;
804
- content += `- **HTML**:\n\`\`\`html\n${truncatedHtml}\n\`\`\`\n`;
805
- }
806
- // Add code selection context if available
807
- if (selectedContext?.codeSelection) {
808
- const selection = selectedContext.codeSelection;
809
- content += `\n### CODE SELECTION:\n`;
810
- content += `The user has selected code in the ${selection.sourceType} editor:\n`;
811
- content += `- **File/Source**: ${selection.source}\n`;
812
- content += `- **Lines**: ${selection.startLine}-${selection.endLine}\n`;
813
- const truncatedCode = selection.content.length > MAX_CONTEXT_CONTENT_LENGTH
814
- ? selection.content.slice(0, MAX_CONTEXT_CONTENT_LENGTH) + '\n... [TRUNCATED]'
815
- : selection.content;
816
- content += `\`\`\`\n${truncatedCode}\n\`\`\`\n`;
817
- }
818
- // Add additional context from @ mentions
819
- if (additionalContext && additionalContext.length > 0) {
820
- content += `\n### ADDITIONAL CONTEXT (mentioned by user):\n`;
821
- for (const ctx of additionalContext) {
822
- if (ctx.type === 'app_frontend_file') {
823
- const fileCtx = ctx;
824
- content += `\n**Frontend File: ${fileCtx.path}**\n`;
825
- const truncatedContent = fileCtx.content.length > MAX_CONTEXT_CONTENT_LENGTH
826
- ? fileCtx.content.slice(0, MAX_CONTEXT_CONTENT_LENGTH) + '\n... [TRUNCATED]'
827
- : fileCtx.content;
828
- content += `\`\`\`\n${truncatedContent}\n\`\`\`\n`;
829
- }
830
- else if (ctx.type === 'app_backend_runnable') {
831
- const runnableCtx = ctx;
832
- const runnable = runnableCtx.runnable;
833
- content += `\n**Backend Runnable: ${runnableCtx.key}**\n`;
834
- content += `- **Name**: ${runnable.name}\n`;
835
- content += `- **Type**: ${runnable.type}\n`;
836
- if (runnable.path) {
837
- content += `- **Path**: ${runnable.path}\n`;
838
- }
839
- if (runnable.inlineScript) {
840
- const truncatedCode = runnable.inlineScript.content.length > MAX_CONTEXT_CONTENT_LENGTH
841
- ? runnable.inlineScript.content.slice(0, MAX_CONTEXT_CONTENT_LENGTH) +
842
- '\n... [TRUNCATED]'
843
- : runnable.inlineScript.content;
844
- content += `- **Language**: ${runnable.inlineScript.language}\n`;
845
- content += `- **Code**:\n\`\`\`${runnable.inlineScript.language === 'bun' ? 'typescript' : 'python'}\n${truncatedCode}\n\`\`\`\n`;
846
- }
847
- if (runnable.staticInputs && Object.keys(runnable.staticInputs).length > 0) {
848
- content += `- **Static inputs**: ${JSON.stringify(runnable.staticInputs)}\n`;
849
- }
850
- }
851
- else if (ctx.type === 'app_datatable') {
852
- const datatableCtx = ctx;
853
- const tableRef = datatableCtx.schemaName === 'public'
854
- ? `${datatableCtx.datatableName}/${datatableCtx.tableName}`
855
- : `${datatableCtx.datatableName}/${datatableCtx.schemaName}:${datatableCtx.tableName}`;
856
- content += `\n**Table: ${tableRef}**\n`;
857
- content += `- **Datatable**: ${datatableCtx.datatableName}\n`;
858
- content += `- **Schema**: ${datatableCtx.schemaName}\n`;
859
- content += `- **Table**: ${datatableCtx.tableName}\n`;
860
- // Format columns as column_name: type
861
- const columnsStr = JSON.stringify(datatableCtx.columns, null, 2);
862
- const truncatedColumns = columnsStr.length > MAX_CONTEXT_CONTENT_LENGTH
863
- ? columnsStr.slice(0, MAX_CONTEXT_CONTENT_LENGTH) + '\n... [TRUNCATED]'
864
- : columnsStr;
865
- content += `- **Columns** (column_name -> type):\n\`\`\`json\n${truncatedColumns}\n\`\`\`\n`;
866
- }
867
- }
748
+ else if (selectedContext.type === 'backend') {
749
+ content += `The user is currently viewing the backend runnable: ${selectedContext.backendKey}\n\n`;
868
750
  }
869
- content += '\n';
870
751
  }
871
752
  content += `## INSTRUCTIONS:\n${instructions}`;
872
753
  return {
@@ -1,18 +1,13 @@
1
- import { Code, Database, TriangleAlert, Diff, FileCode, Code2, TextSelect, Table2 } from 'lucide-svelte';
1
+ import { Code, Database, TriangleAlert, Diff } from 'lucide-svelte';
2
2
  import type { ScriptLang } from '../../../gen/types.gen';
3
3
  import { type DBSchema } from '../../../stores';
4
4
  import { type Change } from 'diff';
5
- import type { BackendRunnable } from './app/core';
6
5
  export declare const ContextIconMap: {
7
6
  code: typeof Code;
8
7
  error: typeof TriangleAlert;
9
8
  db: typeof Database;
10
9
  diff: typeof Diff;
11
10
  code_piece: typeof Code;
12
- app_frontend_file: typeof FileCode;
13
- app_backend_runnable: typeof Code2;
14
- app_code_selection: typeof TextSelect;
15
- app_datatable: typeof Table2;
16
11
  };
17
12
  export interface CodeElement {
18
13
  type: 'code';
@@ -61,59 +56,7 @@ export interface FlowModuleCodePieceElement extends Omit<CodePieceElement, 'type
61
56
  id: string;
62
57
  value: FlowModuleElement['value'];
63
58
  }
64
- /** App frontend file context element */
65
- export interface AppFrontendFileElement {
66
- type: 'app_frontend_file';
67
- /** The file path (e.g., /index.tsx, /styles.css) */
68
- path: string;
69
- /** Title for display (the path) */
70
- title: string;
71
- /** The file content */
72
- content: string;
73
- }
74
- /** App backend runnable context element */
75
- export interface AppBackendRunnableElement {
76
- type: 'app_backend_runnable';
77
- /** The runnable key */
78
- key: string;
79
- /** Title for display (the key) */
80
- title: string;
81
- /** The runnable configuration */
82
- runnable: BackendRunnable;
83
- }
84
- /** App code selection context element (from frontend or backend editor) */
85
- export interface AppCodeSelectionElement {
86
- type: 'app_code_selection';
87
- /** Source: frontend file path or backend runnable key */
88
- source: string;
89
- /** Whether this is from frontend or backend */
90
- sourceType: 'frontend' | 'backend';
91
- /** Title for display */
92
- title: string;
93
- /** The selected code content */
94
- content: string;
95
- /** Line range (1-indexed) */
96
- startLine: number;
97
- endLine: number;
98
- /** Column range (1-indexed) */
99
- startColumn: number;
100
- endColumn: number;
101
- }
102
- /** App datatable table context element (represents a single table within a datatable) */
103
- export interface AppDatatableElement {
104
- type: 'app_datatable';
105
- /** The datatable name (e.g., "main") */
106
- datatableName: string;
107
- /** The schema name (e.g., "public") */
108
- schemaName: string;
109
- /** The table name (e.g., "users") */
110
- tableName: string;
111
- /** Title for display (e.g., "main/public:users" or "main/users") */
112
- title: string;
113
- /** The table columns: column_name -> compact_type */
114
- columns: Record<string, string>;
115
- }
116
- export type ContextElement = (CodeElement | ErrorElement | DBElement | DiffElement | CodePieceElement | FlowModuleElement | FlowModuleCodePieceElement | AppFrontendFileElement | AppBackendRunnableElement | AppCodeSelectionElement | AppDatatableElement) & {
59
+ export type ContextElement = (CodeElement | ErrorElement | DBElement | DiffElement | CodePieceElement | FlowModuleElement | FlowModuleCodePieceElement) & {
117
60
  deletable?: boolean;
118
61
  };
119
62
  export {};