windmill-components 1.623.1 → 1.623.2

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 (480) hide show
  1. package/package/assets/tokens/tokens.json +11 -1
  2. package/package/ata/apis.js +78 -5
  3. package/package/cancelable-promise-utils.js +4 -2
  4. package/package/components/AddUser.svelte +1 -1
  5. package/package/components/ApiConnectForm.svelte +6 -0
  6. package/package/components/AppConnectDrawer.svelte +1 -0
  7. package/package/components/AppConnectInner.svelte +1 -0
  8. package/package/components/AuthSettings.svelte +3 -1
  9. package/package/components/BedrockCredentialsCheck.svelte +241 -0
  10. package/package/components/BedrockCredentialsCheck.svelte.d.ts +3 -0
  11. package/package/components/CenteredModal.svelte +32 -24
  12. package/package/components/CenteredModal.svelte.d.ts +7 -27
  13. package/package/components/CenteredPage.svelte +6 -2
  14. package/package/components/CenteredPage.svelte.d.ts +3 -0
  15. package/package/components/CompareWorkspaces.svelte +74 -16
  16. package/package/components/ConcurrentJobsChart.svelte +3 -2
  17. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  18. package/package/components/CustomPopover.svelte +20 -23
  19. package/package/components/CustomPopover.svelte.d.ts +14 -39
  20. package/package/components/DBManager.svelte +134 -42
  21. package/package/components/DBManager.svelte.d.ts +13 -2
  22. package/package/components/DBManagerContent.svelte +25 -63
  23. package/package/components/DBManagerContent.svelte.d.ts +38 -4
  24. package/package/components/DBManagerDrawer.svelte +7 -9
  25. package/package/components/DBTable.svelte +1 -1
  26. package/package/components/DBTable.svelte.d.ts +3 -1
  27. package/package/components/DBTableEditor.svelte +234 -178
  28. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  29. package/package/components/DateInput.svelte +29 -35
  30. package/package/components/DateInput.svelte.d.ts +10 -11
  31. package/package/components/DedicatedWorkersSelector.svelte +569 -0
  32. package/package/components/DedicatedWorkersSelector.svelte.d.ts +8 -0
  33. package/package/components/DeployWorkspace.svelte +106 -29
  34. package/package/components/Description.svelte +3 -2
  35. package/package/components/Dev.svelte +36 -2
  36. package/package/components/DiffDrawer.svelte +8 -29
  37. package/package/components/DiffEditor.svelte +32 -2
  38. package/package/components/DisplayResult.svelte +32 -24
  39. package/package/components/DropdownV2.svelte +2 -1
  40. package/package/components/DropdownV2.svelte.d.ts +1 -0
  41. package/package/components/Editor.svelte +71 -26
  42. package/package/components/Editor.svelte.d.ts +3 -0
  43. package/package/components/EditorBar.svelte +1 -1
  44. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  45. package/package/components/FlowBuilder.svelte +17 -11
  46. package/package/components/FlowDiffViewer.svelte +37 -0
  47. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  48. package/package/components/FlowGraphViewer.svelte +5 -2
  49. package/package/components/FlowGraphViewer.svelte.d.ts +2 -0
  50. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  51. package/package/components/FlowPreviewContent.svelte +3 -2
  52. package/package/components/FlowPreviewContent.svelte.d.ts +1 -1
  53. package/package/components/FlowPreviewResult.svelte +0 -4
  54. package/package/components/FlowRestartButton.svelte +2 -3
  55. package/package/components/FlowRestartButton.svelte.d.ts +3 -0
  56. package/package/components/FlowStatusViewerInner.svelte +55 -35
  57. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  58. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  59. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  60. package/package/components/FlowViewer.svelte +103 -2
  61. package/package/components/FlowViewer.svelte.d.ts +9 -3
  62. package/package/components/ForkWorkspaceBanner.svelte +32 -13
  63. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  64. package/package/components/HistoricInputs.svelte +25 -27
  65. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  66. package/package/components/InfiniteList.svelte +27 -20
  67. package/package/components/InfiniteList.svelte.d.ts +2 -0
  68. package/package/components/InstanceSetting.svelte +38 -0
  69. package/package/components/InviteUser.svelte +16 -42
  70. package/package/components/InviteUser.svelte.d.ts +4 -18
  71. package/package/components/JobLoader.svelte.d.ts +1 -1
  72. package/package/components/JobOtelTraces.svelte +287 -0
  73. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  74. package/package/components/JsonInputs.svelte +6 -8
  75. package/package/components/JsonInputs.svelte.d.ts +7 -8
  76. package/package/components/LogViewer.svelte +91 -33
  77. package/package/components/Login.svelte +27 -0
  78. package/package/components/ManualPopover.svelte +5 -6
  79. package/package/components/ManualPopover.svelte.d.ts +9 -35
  80. package/package/components/MemoryFootprintViewer.svelte +2 -6
  81. package/package/components/ModulePreview.svelte +23 -21
  82. package/package/components/ModulePreview.svelte.d.ts +1 -0
  83. package/package/components/NextcloudSetting.svelte +1 -1
  84. package/package/components/OAuthSetting.svelte +1 -0
  85. package/package/components/Path.svelte +2 -2
  86. package/package/components/Path.svelte.d.ts +1 -1
  87. package/package/components/PocketIdSetting.svelte +82 -0
  88. package/package/components/PocketIdSetting.svelte.d.ts +6 -0
  89. package/package/components/ResourceEditor.svelte +4 -4
  90. package/package/components/ResourcePicker.svelte +4 -0
  91. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  92. package/package/components/RunButton.svelte +5 -15
  93. package/package/components/RunButton.svelte.d.ts +7 -19
  94. package/package/components/RunChart.svelte +8 -4
  95. package/package/components/RunChart.svelte.d.ts +2 -2
  96. package/package/components/RunForm.svelte +9 -17
  97. package/package/components/RunForm.svelte.d.ts +0 -1
  98. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  99. package/package/components/RunsPage.svelte +202 -537
  100. package/package/components/RunsPage.svelte.d.ts +5 -5
  101. package/package/components/S3FilePicker.svelte +7 -11
  102. package/package/components/S3FilePickerInner.svelte +2 -3
  103. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  104. package/package/components/SavedInputsPicker.svelte +1 -1
  105. package/package/components/SavedInputsV2.svelte +35 -36
  106. package/package/components/SchemaForm.svelte +26 -19
  107. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  108. package/package/components/ScriptBuilder.svelte +1 -1
  109. package/package/components/ScriptEditor.svelte +575 -101
  110. package/package/components/Section.svelte +4 -2
  111. package/package/components/ServiceLogsInner.svelte +4 -4
  112. package/package/components/ShareModal.svelte.d.ts +1 -1
  113. package/package/components/SimpleEditor.svelte +46 -2
  114. package/package/components/Star.svelte +8 -12
  115. package/package/components/Star.svelte.d.ts +6 -19
  116. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  117. package/package/components/SuperadminSettingsInner.svelte +1 -1
  118. package/package/components/TemplateEditor.svelte +54 -29
  119. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  120. package/package/components/TimeAgo.svelte +49 -7
  121. package/package/components/TimeAgo.svelte.d.ts +1 -0
  122. package/package/components/Toast.svelte +5 -1
  123. package/package/components/UserSettings.svelte +1 -1
  124. package/package/components/WorkerGroup.svelte +35 -20
  125. package/package/components/WorkerGroup.svelte.d.ts +1 -0
  126. package/package/components/WorkerTagPicker.svelte +1 -1
  127. package/package/components/WorkerTagSelect.svelte +5 -2
  128. package/package/components/WorkspaceTutorials.svelte +5 -0
  129. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  130. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  131. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  132. package/package/components/apps/components/display/InsertRowDrawerButton.svelte +1 -1
  133. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +2 -5
  134. package/package/components/apps/components/display/dbtable/dbFeatures.d.ts +9 -0
  135. package/package/components/apps/components/display/dbtable/dbFeatures.js +32 -0
  136. package/package/components/apps/components/display/dbtable/metadata.d.ts +3 -3
  137. package/package/components/apps/components/display/dbtable/metadata.js +177 -148
  138. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  139. package/package/components/apps/components/display/dbtable/queries/alterTable.js +322 -0
  140. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  141. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  142. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  143. package/package/components/apps/components/display/dbtable/queries/createTable.js +13 -25
  144. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  145. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  146. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +45 -0
  147. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +401 -0
  148. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  149. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  150. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  151. package/package/components/apps/components/display/dbtable/tableEditor.js +67 -0
  152. package/package/components/apps/components/display/dbtable/utils.d.ts +2 -0
  153. package/package/components/apps/components/display/dbtable/utils.js +61 -36
  154. package/package/components/apps/components/display/table/AppAggridTable.svelte +8 -0
  155. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +9 -9
  156. package/package/components/apps/components/display/table/AppAggridTableActions.svelte.d.ts +1 -1
  157. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  158. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  159. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  160. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  161. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  162. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  163. package/package/components/apps/components/inputs/AppMultiSelectV2.svelte +2 -4
  164. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  165. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  166. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  167. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  168. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  169. package/package/components/apps/editor/PublicApp.svelte +49 -30
  170. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  171. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  172. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  173. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  174. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  175. package/package/components/apps/inputType.d.ts +6 -1
  176. package/package/components/assets/AssetsDropdownButton.svelte +1 -1
  177. package/package/components/assets/AssetsUsageDrawer.svelte +98 -27
  178. package/package/components/assets/AssetsUsageDrawer.svelte.d.ts +5 -6
  179. package/package/components/assets/lib.d.ts +3 -2
  180. package/package/components/assets/lib.js +3 -1
  181. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  182. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  183. package/package/components/common/CloseButton.svelte +2 -1
  184. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  185. package/package/components/common/badge/CountBadge.svelte +4 -3
  186. package/package/components/common/badge/CountBadge.svelte.d.ts +1 -0
  187. package/package/components/common/button/Button.svelte +1 -1
  188. package/package/components/common/button/model.js +1 -1
  189. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  190. package/package/components/common/confirmationModal/ConfirmationModal.svelte +2 -1
  191. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  192. package/package/components/common/drawer/Drawer.svelte +4 -1
  193. package/package/components/common/drawer/DrawerContent.svelte +6 -3
  194. package/package/components/common/drawer/DrawerContent.svelte.d.ts +1 -0
  195. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  196. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  197. package/package/components/common/modal/Modal.svelte +3 -3
  198. package/package/components/common/modal/Modal2.svelte +1 -0
  199. package/package/components/common/table/AppRow.svelte +4 -1
  200. package/package/components/common/table/FlowRow.svelte +4 -1
  201. package/package/components/common/table/RawAppRow.svelte +4 -1
  202. package/package/components/common/table/Row.svelte +11 -21
  203. package/package/components/common/table/Row.svelte.d.ts +4 -20
  204. package/package/components/common/table/RowIcon.svelte +6 -2
  205. package/package/components/common/table/RowIcon.svelte.d.ts +1 -1
  206. package/package/components/common/table/ScriptRow.svelte +4 -1
  207. package/package/components/copilot/autocomplete/Autocompletor.d.ts +1 -1
  208. package/package/components/copilot/autocomplete/Autocompletor.js +7 -6
  209. package/package/components/copilot/autocomplete/request.js +13 -9
  210. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  211. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  212. package/package/components/copilot/chat/AIChat.svelte +3 -1
  213. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  214. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  215. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  216. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  217. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  218. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  219. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  220. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  221. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  222. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  223. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  224. package/package/components/copilot/chat/app/core.d.ts +56 -15
  225. package/package/components/copilot/chat/app/core.js +141 -22
  226. package/package/components/copilot/chat/context.d.ts +59 -2
  227. package/package/components/copilot/chat/context.js +6 -2
  228. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  229. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  230. package/package/components/copilot/chat/flow/core.js +29 -2
  231. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  232. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  233. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  234. package/package/components/copilot/chat/script/core.d.ts +4 -1
  235. package/package/components/copilot/chat/script/core.js +43 -6
  236. package/package/components/copilot/chat/shared.d.ts +10 -0
  237. package/package/components/copilot/chat/shared.js +24 -0
  238. package/package/components/copilot/lib.d.ts +1 -1
  239. package/package/components/copilot/lib.js +2 -9
  240. package/package/components/copilot/utils.d.ts +5 -0
  241. package/package/components/copilot/utils.js +8 -0
  242. package/package/components/custom_ui.d.ts +2 -0
  243. package/package/components/dbOps.d.ts +18 -4
  244. package/package/components/dbOps.js +25 -3
  245. package/package/components/debug/DebugConsole.svelte +277 -0
  246. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  247. package/package/components/debug/DebugPanel.svelte +97 -0
  248. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  249. package/package/components/debug/DebugToolbar.svelte +148 -0
  250. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  251. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  252. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  253. package/package/components/debug/MonacoDebugger.svelte +384 -0
  254. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  255. package/package/components/debug/dapClient.d.ts +192 -0
  256. package/package/components/debug/dapClient.js +426 -0
  257. package/package/components/debug/debugUtils.d.ts +30 -0
  258. package/package/components/debug/debugUtils.js +131 -0
  259. package/package/components/debug/index.d.ts +75 -0
  260. package/package/components/debug/index.js +82 -0
  261. package/package/components/details/DetailPageHeader.svelte +21 -7
  262. package/package/components/details/DetailPageHeader.svelte.d.ts +2 -1
  263. package/package/components/details/DetailPageLayout.svelte +10 -1
  264. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  265. package/package/components/flows/CreateActionsApp.svelte +6 -4
  266. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  267. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  268. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  269. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  270. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  271. package/package/components/flows/content/FlowInput.svelte +211 -37
  272. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  273. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  274. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  275. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  276. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  277. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  278. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  279. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  280. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  281. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  282. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  283. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  284. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  285. package/package/components/flows/conversations/FlowConversationsSidebar.svelte +79 -77
  286. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  287. package/package/components/flows/propPicker/OutputPickerInner.svelte.d.ts +1 -1
  288. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  289. package/package/components/flows/types.d.ts +2 -0
  290. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  291. package/package/components/graph/FlowGraphV2.svelte +7 -1
  292. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +41 -24
  293. package/package/components/home/ItemsList.svelte +7 -6
  294. package/package/components/home/TutorialBanner.svelte +34 -18
  295. package/package/components/home/treeViewUtils.js +1 -1
  296. package/package/components/icons/CssIcon.svelte +20 -0
  297. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  298. package/package/components/icons/HtmlIcon.svelte +20 -0
  299. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  300. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  301. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  302. package/package/components/icons/JsonIcon.svelte +8 -2
  303. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  304. package/package/components/icons/LessIcon.svelte +16 -0
  305. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  306. package/package/components/icons/MarkdownIcon.svelte +20 -0
  307. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  308. package/package/components/icons/NextcloudIcon.svelte +3 -2
  309. package/package/components/icons/NextcloudIcon.svelte.d.ts +2 -0
  310. package/package/components/icons/PocketIdIcon.svelte +9 -0
  311. package/package/components/icons/PocketIdIcon.svelte.d.ts +9 -0
  312. package/package/components/icons/ReactIcon.svelte +10 -2
  313. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  314. package/package/components/icons/SassIcon.svelte +28 -0
  315. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  316. package/package/components/icons/SvelteIcon.svelte +10 -2
  317. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  318. package/package/components/icons/VueIcon.svelte +10 -2
  319. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  320. package/package/components/icons/YamlIcon.svelte +20 -0
  321. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  322. package/package/components/icons/index.js +3 -1
  323. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  324. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  325. package/package/components/instanceSettings.d.ts +2 -1
  326. package/package/components/instanceSettings.js +33 -1
  327. package/package/components/jobs/JobPreview.svelte +46 -39
  328. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  329. package/package/components/monacoLanguagesOptions.js +16 -15
  330. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  331. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  332. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  333. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  334. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  335. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  336. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  337. package/package/components/raw_apps/RawAppDataTableDrawer.svelte +1 -3
  338. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  339. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  340. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  341. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  342. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  343. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  344. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  345. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  346. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  347. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  348. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  349. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  350. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  351. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  352. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  353. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  354. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  355. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  356. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  357. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  358. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  359. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  360. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  361. package/package/components/raw_apps/datatableUtils.svelte.js +1 -1
  362. package/package/components/raw_apps/utils.d.ts +1 -1
  363. package/package/components/raw_apps/utils.js +76 -18
  364. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  365. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  366. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  367. package/package/components/runs/RunsFilter.svelte +75 -63
  368. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  369. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  370. package/package/components/runs/RunsTable.svelte +1 -1
  371. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  372. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  373. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  374. package/package/components/schema/EditableSchemaWrapper.svelte +2 -2
  375. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  376. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  377. package/package/components/select/MultiSelect.svelte +1 -1
  378. package/package/components/select/SelectDropdown.svelte +17 -5
  379. package/package/components/settings/AIPromptsModal.svelte +88 -0
  380. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  381. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  382. package/package/components/settings/ChangeWorkspaceId.svelte +16 -11
  383. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  384. package/package/components/settings/CreateToken.svelte +4 -4
  385. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  386. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  387. package/package/components/settings/WorkspaceUserSettings.svelte +537 -411
  388. package/package/components/sidebar/MenuButton.svelte +54 -24
  389. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MultiplayerMenu.svelte +4 -4
  391. package/package/components/sidebar/OperatorMenu.svelte +63 -88
  392. package/package/components/sidebar/SidebarContent.svelte +39 -6
  393. package/package/components/sidebar/UserMenu.svelte +3 -3
  394. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  395. package/package/components/sqlTypeService.js +4 -3
  396. package/package/components/table/DataTable.svelte +8 -3
  397. package/package/components/table/DataTable.svelte.d.ts +2 -0
  398. package/package/components/text_input/TextInput.svelte +3 -0
  399. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  400. package/package/components/triggers/AddTriggersButton.svelte +17 -4
  401. package/package/components/triggers/TriggersEditor.svelte +4 -0
  402. package/package/components/triggers/TriggersWrapper.svelte +14 -0
  403. package/package/components/triggers/native/NativeTriggerEditor.svelte +379 -0
  404. package/package/components/triggers/native/NativeTriggerEditor.svelte.d.ts +26 -0
  405. package/package/components/triggers/native/NativeTriggerTable.svelte +155 -0
  406. package/package/components/triggers/native/NativeTriggerTable.svelte.d.ts +16 -0
  407. package/package/components/triggers/native/NativeTriggersPanel.svelte +40 -0
  408. package/package/components/triggers/native/NativeTriggersPanel.svelte.d.ts +15 -0
  409. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte +104 -0
  410. package/package/components/triggers/native/services/nextcloud/NextcloudTriggerForm.svelte.d.ts +18 -0
  411. package/package/components/triggers/native/utils.d.ts +74 -0
  412. package/package/components/triggers/native/utils.js +152 -0
  413. package/package/components/triggers/triggers.svelte.d.ts +2 -1
  414. package/package/components/triggers/triggers.svelte.js +36 -8
  415. package/package/components/triggers/utils.js +18 -6
  416. package/package/components/triggers.d.ts +1 -1
  417. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  418. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  419. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  420. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  421. package/package/components/tutorials/utils.d.ts +16 -0
  422. package/package/components/tutorials/utils.js +96 -0
  423. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  424. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  425. package/package/components/vscode.js +6 -6
  426. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  427. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  428. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  429. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  430. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  431. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  432. package/package/components/workspaceSettings/AISettings.svelte +147 -108
  433. package/package/components/workspaceSettings/CreateWorkspace.svelte +26 -12
  434. package/package/components/workspaceSettings/CustomInstanceDbSelect.svelte +1 -0
  435. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +3 -1
  436. package/package/components/workspaceSettings/DataTableSettings.svelte +2 -1
  437. package/package/components/workspaceSettings/DucklakeSettings.svelte +54 -26
  438. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  439. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  440. package/package/components/workspaceSettings/OAuthClientConfig.svelte +180 -0
  441. package/package/components/workspaceSettings/OAuthClientConfig.svelte.d.ts +14 -0
  442. package/package/components/workspaceSettings/StorageSettings.svelte +285 -241
  443. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  444. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +302 -0
  445. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte.d.ts +3 -0
  446. package/package/consts.js +4 -3
  447. package/package/gen/core/OpenAPI.js +1 -1
  448. package/package/gen/schemas.gen.d.ts +517 -4
  449. package/package/gen/schemas.gen.js +523 -4
  450. package/package/gen/services.gen.d.ts +359 -22
  451. package/package/gen/services.gen.js +702 -44
  452. package/package/gen/types.gen.d.ts +1501 -121
  453. package/package/hub.js +2 -2
  454. package/package/hubPaths.json +3 -2
  455. package/package/infer.js +2 -0
  456. package/package/logout.d.ts +0 -2
  457. package/package/logout.js +2 -23
  458. package/package/logoutKit.d.ts +2 -0
  459. package/package/logoutKit.js +26 -0
  460. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  461. package/package/navigation.d.ts +1 -1
  462. package/package/rawAppWmillTs.d.ts +11 -0
  463. package/package/rawAppWmillTs.js +38 -1
  464. package/package/refreshUser.d.ts +5 -1
  465. package/package/refreshUser.js +20 -30
  466. package/package/storeUtils.js +2 -0
  467. package/package/svelte5Utils.svelte.d.ts +68 -1
  468. package/package/svelte5Utils.svelte.js +193 -2
  469. package/package/svelte5UtilsKit.svelte.d.ts +3 -0
  470. package/package/svelte5UtilsKit.svelte.js +30 -0
  471. package/package/tutorialUtils.js +0 -4
  472. package/package/tutorials/config.js +31 -3
  473. package/package/tutorials/roleUtils.d.ts +1 -1
  474. package/package/tutorials/roleUtils.js +6 -2
  475. package/package/utils.js +162 -1
  476. package/package.json +1 -1
  477. package/package/components/SavedInputs.svelte +0 -416
  478. package/package/components/runs/JobsLoader.svelte +0 -468
  479. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  480. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -0,0 +1,88 @@
1
+ <script lang="ts">import Modal2 from '../common/modal/Modal2.svelte';
2
+ import Button from '../common/button/Button.svelte';
3
+ import Label from '../Label.svelte';
4
+ import TextInput from '../text_input/TextInput.svelte';
5
+ import { AIMode } from '../copilot/chat/AIChatManager.svelte';
6
+ const MAX_CUSTOM_PROMPT_LENGTH = 5000;
7
+ let { open = $bindable(false), customPrompts = $bindable(), onSave, onReset, hasChanges, isWorkspaceSettings = false } = $props();
8
+ const placeholders = {
9
+ [AIMode.SCRIPT]: 'Enter custom instructions for script generation and editing',
10
+ [AIMode.FLOW]: 'Enter custom instructions for workflow creation and automation',
11
+ [AIMode.APP]: 'Enter custom instructions for UI and app development',
12
+ [AIMode.NAVIGATOR]: 'Enter custom instructions for navigation and guidance',
13
+ [AIMode.API]: 'Enter custom instructions for API interactions and integrations',
14
+ [AIMode.ASK]: 'Enter custom instructions for general questions and assistance'
15
+ };
16
+ const modeLabels = {
17
+ [AIMode.SCRIPT]: 'Script Mode',
18
+ [AIMode.FLOW]: 'Flow Mode',
19
+ [AIMode.APP]: 'App Mode',
20
+ [AIMode.NAVIGATOR]: 'Navigator Mode',
21
+ [AIMode.API]: 'API Mode',
22
+ [AIMode.ASK]: 'Ask Mode'
23
+ };
24
+ function handleSave() {
25
+ onSave?.();
26
+ open = false;
27
+ }
28
+ function handleReset() {
29
+ onReset();
30
+ }
31
+ </script>
32
+
33
+ <Modal2
34
+ bind:isOpen={open}
35
+ title="Customize AI System Prompts"
36
+ fixedWidth="md"
37
+ fixedHeight="xxl"
38
+ target="#content"
39
+ >
40
+ <div class="flex flex-col gap-6 h-full px-1 w-full">
41
+ <div class="grow min-h-0 overflow-y-auto" style="scrollbar-gutter: stable;">
42
+ <div class="text-xs text-secondary mb-6">
43
+ {#if isWorkspaceSettings}
44
+ Customize the system prompts for each AI mode. These prompts apply to all workspace
45
+ members.
46
+ {:else}
47
+ Customize the system prompts for each AI mode. These prompts are stored locally in your
48
+ browser and apply in addition to workspace-level prompts.
49
+ {/if}
50
+ </div>
51
+
52
+ {#each Object.values(AIMode) as mode}
53
+ <div class="flex flex-col gap-2 pb-4 last:border-b-0">
54
+ <Label label={modeLabels[mode]} for={`custom-prompt-${mode}`}>
55
+ <TextInput
56
+ bind:value={customPrompts[mode]}
57
+ underlyingInputEl="textarea"
58
+ inputProps={{
59
+ placeholder: placeholders[mode],
60
+ rows: 3,
61
+ maxlength: MAX_CUSTOM_PROMPT_LENGTH,
62
+ id: `custom-prompt-${mode}`
63
+ }}
64
+ class="min-h-12 resize-y"
65
+ size="sm"
66
+ />
67
+ <div class="flex justify-end mt-1">
68
+ <span class="text-2xs text-hint">
69
+ {(customPrompts[mode] ?? '').length}/{MAX_CUSTOM_PROMPT_LENGTH} characters
70
+ </span>
71
+ </div>
72
+ </Label>
73
+ </div>
74
+ {/each}
75
+ </div>
76
+
77
+ <div class="flex justify-end gap-2">
78
+ <Button size="sm" variant="default" disabled={!hasChanges} onclick={handleReset}>
79
+ Reset
80
+ </Button>
81
+ {#if onSave}
82
+ <Button size="sm" variant="accent" disabled={!hasChanges} onclick={handleSave}>
83
+ Save Prompts
84
+ </Button>
85
+ {/if}
86
+ </div>
87
+ </div>
88
+ </Modal2>
@@ -0,0 +1,11 @@
1
+ interface Props {
2
+ open?: boolean;
3
+ customPrompts: Record<string, string>;
4
+ onSave?: () => void;
5
+ onReset: () => void;
6
+ hasChanges: boolean;
7
+ isWorkspaceSettings?: boolean;
8
+ }
9
+ declare const AIPromptsModal: import("svelte").Component<Props, {}, "open" | "customPrompts">;
10
+ type AIPromptsModal = ReturnType<typeof AIPromptsModal>;
11
+ export default AIPromptsModal;
@@ -71,7 +71,7 @@ async function changeWorkspaceColor() {
71
71
  </p>
72
72
  </div>
73
73
 
74
- <Modal bind:open title="Change Workspace Color">
74
+ <Modal bind:open title="Change workspace color">
75
75
  <div class="flex flex-col gap-4">
76
76
  <label class="block">
77
77
  <span class="text-secondary text-sm">Workspace color</span>
@@ -91,14 +91,15 @@ async function changeWorkspaceColor() {
91
91
  </label>
92
92
  </div>
93
93
 
94
- <svelte:fragment slot="actions">
94
+ {#snippet actions()}
95
95
  <Button
96
96
  size="sm"
97
+ variant="accent"
97
98
  on:click={() => {
98
99
  changeWorkspaceColor()
99
100
  }}
100
101
  >
101
102
  Save
102
103
  </Button>
103
- </svelte:fragment>
104
+ {/snippet}
104
105
  </Modal>
@@ -38,7 +38,7 @@ async function renameWorkspace() {
38
38
  }
39
39
  });
40
40
  open = false;
41
- sendUserToast(`Renamed workspace to ${newName}. Reloading...`);
41
+ sendUserToast(`Moved workspace to ${newName}. Old workspace archived. Reloading...`);
42
42
  await new Promise((resolve) => setTimeout(resolve, 1000));
43
43
  window.location.href = '/workspace_settings?tab=general&workspace=' + newId;
44
44
  }
@@ -76,19 +76,23 @@ export let open = false;
76
76
 
77
77
  <Modal bind:open title="Change workspace ID">
78
78
  <div class="flex flex-col gap-4">
79
- <Alert type="warning" title="Warning">
80
- Renaming the workspace may take a few minutes to complete. Once finished, please update your
81
- webhook calls and adjust your CLI sync configuration accordingly.
79
+ <Alert type="warning" title="What happens">
80
+ <ul class="list-disc list-inside text-xs mt-1 space-y-1">
81
+ <li>All content (scripts, flows, apps, resources, etc.) moves to the new ID</li>
82
+ <li>Old workspace is archived with completed jobs, logs, and audit history</li>
83
+ <li>Running jobs will be canceled</li>
84
+ </ul>
85
+ <p class="text-xs mt-2">Remember to update webhook URLs and CLI sync config afterward.</p>
82
86
  </Alert>
83
- <p class="text-secondary text-sm"
84
- >Current ID <br /> <span class="font-bold">{$workspaceStore ?? ''}</span></p
87
+ <p class="text-secondary text-xs"
88
+ >Current ID <br /> <span class="text-emphasis">{$workspaceStore ?? ''}</span></p
85
89
  >
86
- <label class="block">
87
- <span class="text-secondary text-sm">New name</span>
90
+ <label class="flex flex-col gap-1">
91
+ <span class="text-emphasis text-xs">New name</span>
88
92
  <input type="text" bind:value={newName} />
89
93
  </label>
90
94
  <label class="block">
91
- <span class="text-secondary text-sm">New ID</span>
95
+ <span class="text-emphasis text-xs">New ID</span>
92
96
  <input type="text" bind:value={newId} />
93
97
  {#if errorId}
94
98
  <div class="text-red-500 text-xs mt-1">{errorId}</div>
@@ -96,9 +100,10 @@ export let open = false;
96
100
  </label>
97
101
  </div>
98
102
 
99
- <svelte:fragment slot="actions">
103
+ {#snippet actions()}
100
104
  <Button
101
105
  size="sm"
106
+ variant="accent"
102
107
  disabled={checking || errorId.length > 0 || !newName || !newId}
103
108
  {loading}
104
109
  on:click={() => {
@@ -107,5 +112,5 @@ export let open = false;
107
112
  >
108
113
  Save
109
114
  </Button>
110
- </svelte:fragment>
115
+ {/snippet}
111
116
  </Modal>
@@ -54,19 +54,20 @@ async function renameWorkspace() {
54
54
  <Modal bind:open title="Change workspace name">
55
55
  <div class="flex flex-col gap-4 mt-4">
56
56
  {#if currentName}
57
- <p class="text-secondary text-sm"
58
- >Current name <br /> <span class="font-bold">{currentName}</span></p
57
+ <p class="text-secondary text-xs"
58
+ >Current name <br /> <span class="text-emphasis">{currentName}</span></p
59
59
  >
60
60
  {/if}
61
- <label class="block">
62
- <span class="text-secondary text-sm">New name</span>
61
+ <label class="flex flex-col gap-1">
62
+ <span class="text-emphasis text-xs">New name</span>
63
63
  <input type="text" bind:value={newName} />
64
64
  </label>
65
65
  </div>
66
66
 
67
- <svelte:fragment slot="actions">
67
+ {#snippet actions()}
68
68
  <Button
69
69
  size="sm"
70
+ variant="accent"
70
71
  disabled={!newName}
71
72
  on:click={() => {
72
73
  renameWorkspace()
@@ -74,5 +75,5 @@ async function renameWorkspace() {
74
75
  >
75
76
  Save
76
77
  </Button>
77
- </svelte:fragment>
78
+ {/snippet}
78
79
  </Modal>
@@ -16,7 +16,7 @@ import TextInput from '../text_input/TextInput.svelte';
16
16
  import Select from '../select/Select.svelte';
17
17
  import { mcpEndpointTools } from '../../mcpEndpointTools';
18
18
  import InfoIcon from 'lucide-svelte/icons/info';
19
- let { showMcpMode = false, defaultNewTokenWorkspace, scopes, onTokenCreated, newTokenLabel = $bindable(undefined) } = $props();
19
+ let { showMcpMode = false, defaultNewTokenWorkspace, scopes, onTokenCreated, newTokenLabel = $bindable(undefined), displayCreateToken = true } = $props();
20
20
  // MCP clients do not allow names longer than 60 characters, here we use 55 because final tool name server side will add ~5 characters
21
21
  const MAX_PATH_LENGTH = 55;
22
22
  let newToken = $state(undefined);
@@ -135,7 +135,7 @@ async function createToken(mcpMode = false) {
135
135
  }
136
136
  }
137
137
  const workspaces = $derived(ensureCurrentWorkspaceIncluded($userWorkspaces, $workspaceStore));
138
- const mcpBaseUrl = $derived(`${window.location.origin}/api/mcp/w/${newTokenWorkspace}/sse?token=`);
138
+ const mcpBaseUrl = $derived(`${window.location.origin}/api/mcp/w/${newTokenWorkspace}/mcp?token=`);
139
139
  const warning = $derived(newMcpScope === 'all'
140
140
  ? 'Create your first scripts or flows to make them available via MCP.'
141
141
  : newMcpScope === 'favorites'
@@ -628,11 +628,11 @@ function clearAllEndpoints() {
628
628
  </div>
629
629
  </div>
630
630
 
631
- {#if newToken}
631
+ {#if newToken && displayCreateToken}
632
632
  <TokenDisplay token={newToken} />
633
633
  {/if}
634
634
 
635
- {#if newMcpToken}
635
+ {#if newMcpToken && displayCreateToken}
636
636
  <TokenDisplay token={newMcpToken} mcpUrl={`${mcpBaseUrl}${newMcpToken}`} />
637
637
  {/if}
638
638
  </div>
@@ -1,31 +1,72 @@
1
1
  <script lang="ts">import { storeLocalSetting } from '../../utils';
2
- import CustomAIPrompts from '../copilot/CustomAIPrompts.svelte';
3
2
  import Button from '../common/button/Button.svelte';
4
3
  import { sendUserToast } from '../../toast';
5
4
  import { getUserCustomPrompts } from '../../aiStore';
6
- import Section from '../Section.svelte';
5
+ import Label from '../Label.svelte';
6
+ import AIPromptsModal from './AIPromptsModal.svelte';
7
+ import { ExternalLink, Settings } from 'lucide-svelte';
8
+ import { userStore } from '../../stores';
7
9
  const USER_CUSTOM_PROMPTS_KEY = 'userCustomAIPrompts';
8
- let customPrompts = $state(getUserCustomPrompts());
10
+ const userCustomPrompts = getUserCustomPrompts();
11
+ let initialPrompts = $state({ ...userCustomPrompts });
12
+ let customPrompts = $state({ ...userCustomPrompts });
13
+ let modalOpen = $state(false);
9
14
  function save() {
10
15
  storeLocalSetting(USER_CUSTOM_PROMPTS_KEY, JSON.stringify(customPrompts));
16
+ initialPrompts = { ...customPrompts };
11
17
  sendUserToast('User AI prompts saved');
12
18
  }
19
+ function reset() {
20
+ customPrompts = { ...initialPrompts };
21
+ sendUserToast('Reset to last saved state');
22
+ }
13
23
  let hasPrompts = $derived(Object.values(customPrompts).some((p) => p?.trim().length > 0));
24
+ let promptCount = $derived(Object.values(customPrompts).filter((p) => p?.trim().length > 0).length);
25
+ let hasChanges = $derived(Array.from(new Set([...Object.keys(customPrompts), ...Object.keys(initialPrompts)])).some((key) => {
26
+ const currentValue = customPrompts[key] || '';
27
+ const initialValue = initialPrompts[key] || '';
28
+ return currentValue !== initialValue;
29
+ }));
14
30
  </script>
15
31
 
16
32
  <div class="mt-4">
17
- <Section label="Custom system prompts" collapsable animate>
18
- {#snippet header()}
19
- <div class="w-2 h-2 bg-blue-500 rounded-full ml-2 {hasPrompts ? '' : 'hidden'}"></div>
20
- {/snippet}
21
- <div>
22
- <CustomAIPrompts
23
- bind:customPrompts
24
- description="These prompts are stored locally in your browser and apply in addition to the workspace-level prompts."
25
- />
26
- <div class="flex flex-row justify-end mt-2">
27
- <Button onclick={save}>Save</Button>
33
+ <Label label="Custom system prompts">
34
+ <div class="flex flex-col gap-4">
35
+ <p class="text-xs text-secondary">
36
+ Customize AI behavior with system prompts. These are stored locally in your browser and
37
+ apply in addition to {#if $userStore?.is_admin || $userStore?.is_super_admin}<a
38
+ href="/workspace_settings?tab=ai"
39
+ >workspace-level prompts <ExternalLink size={12} class="inline-block" /></a
40
+ >{:else}workspace-level prompts{/if}.
41
+ </p>
42
+
43
+ <div class="flex justify-between items-center">
44
+ <div class="flex items-center gap-2">
45
+ <Button
46
+ onclick={() => (modalOpen = true)}
47
+ variant="default"
48
+ unifiedSize="sm"
49
+ startIcon={{ icon: Settings }}
50
+ >
51
+ Configure AI prompts
52
+ </Button>
53
+ {#if hasPrompts}
54
+ <span class="text-xs text-secondary">({promptCount} configured)</span>
55
+ {/if}
56
+ </div>
57
+
58
+ {#if hasChanges}
59
+ <span class="text-xs text-yellow-600 dark:text-yellow-400"> Unsaved changes </span>
60
+ {/if}
28
61
  </div>
29
62
  </div>
30
- </Section>
63
+ </Label>
31
64
  </div>
65
+
66
+ <AIPromptsModal
67
+ bind:open={modalOpen}
68
+ bind:customPrompts
69
+ onSave={save}
70
+ onReset={reset}
71
+ {hasChanges}
72
+ />
@@ -78,89 +78,72 @@ const allDisabled = $derived(Object.values(operatorWorkspaceSettings).every((val
78
78
  const allEnabled = $derived(Object.values(operatorWorkspaceSettings).every((value) => value === true));
79
79
  </script>
80
80
 
81
- <div class="mt-6">
82
- <Section
83
- label="Operator settings"
84
- collapsable={true}
85
- tooltip="Configure the operator visibility settings for your workspace. Toggle the settings you want to enable."
86
- >
87
- <div class="flex flex-col gap-4 my-4">
88
- <div class="flex flex-col gap-1">
89
- <div class="text-primary text-xs">
90
- Configure the operator visibility settings for your workspace. Toggle the settings you
91
- want to enable.
92
- </div>
93
- </div>
94
- </div>
81
+ <Section
82
+ label="Operator settings"
83
+ collapsable={true}
84
+ tooltip="Configure the operator visibility settings for your workspace. Toggle the settings you want to enable."
85
+ description="Configure the operator visibility settings for your workspace. Toggle the settings you want to enable."
86
+ >
87
+ {#snippet action()}
88
+ <Button
89
+ on:click={saveSettings}
90
+ startIcon={{ icon: SaveIcon }}
91
+ disabled={!isChanged}
92
+ variant="accent"
93
+ >
94
+ Save operator settings
95
+ </Button>
96
+ {/snippet}
95
97
 
96
- <div class="flex justify-end mb-2">
97
- <div class="flex justify-end"></div>
98
- </div>
99
-
100
- <div class="flex flex-col">
101
- <DataTable tableFixed={true} size="xs">
102
- <Head>
103
- <tr>
104
- <Cell head first>Section</Cell>
105
- <Cell head>Description</Cell>
106
- <Cell head last>
107
- <ToggleButtonGroup
108
- bind:selected={
109
- () => (allDisabled ? 'false' : allEnabled ? 'true' : ''),
110
- (v) => {
111
- Object.keys(operatorWorkspaceSettings).forEach((key) => {
112
- if (v === 'true') operatorWorkspaceSettings[key] = true
113
- if (v === 'false') operatorWorkspaceSettings[key] = false
114
- })
115
- }
116
- }
117
- >
118
- {#snippet children({ item })}
119
- <ToggleButton
120
- icon={EyeIcon}
121
- small={true}
122
- value={'true'}
123
- label="Enable All"
124
- {item}
125
- />
126
- <ToggleButton
127
- icon={EyeOffIcon}
128
- small={true}
129
- value={'false'}
130
- label="Disable All"
131
- {item}
132
- />
133
- {/snippet}
134
- </ToggleButtonGroup>
135
- </Cell>
136
- </tr>
137
- </Head>
138
- <tbody class="divide-y bg-surface">
139
- {#each Object.entries(descriptions) as [key, { title, description }]}
140
- <tr>
141
- <Cell first>{title}</Cell>
142
- <Cell>{description}</Cell>
143
- <Cell last class="pl-8">
144
- <ToggleButtonGroup
145
- selected={operatorWorkspaceSettings[key] ? 'on' : 'off'}
146
- on:selected={({ detail }) => (operatorWorkspaceSettings[key] = detail === 'on')}
147
- >
148
- {#snippet children({ item })}
149
- <ToggleButton icon={EyeIcon} small={true} value={'on'} label="On" {item} />
150
- <ToggleButton icon={EyeOffIcon} small={true} value={'off'} label="Off" {item} />
151
- {/snippet}
152
- </ToggleButtonGroup>
153
- </Cell>
154
- </tr>
155
- {/each}
156
- </tbody>
157
- </DataTable>
158
- </div>
159
-
160
- <div class="flex justify-end mt-4">
161
- <Button on:click={saveSettings} startIcon={{ icon: SaveIcon }} disabled={!isChanged}>
162
- Save
163
- </Button>
164
- </div>
165
- </Section>
166
- </div>
98
+ <DataTable tableFixed={true} size="xs">
99
+ <Head>
100
+ <tr>
101
+ <Cell head first>Section</Cell>
102
+ <Cell head>Description</Cell>
103
+ <Cell head last>
104
+ <ToggleButtonGroup
105
+ bind:selected={
106
+ () => (allDisabled ? 'false' : allEnabled ? 'true' : ''),
107
+ (v) => {
108
+ Object.keys(operatorWorkspaceSettings).forEach((key) => {
109
+ if (v === 'true') operatorWorkspaceSettings[key] = true
110
+ if (v === 'false') operatorWorkspaceSettings[key] = false
111
+ })
112
+ }
113
+ }
114
+ >
115
+ {#snippet children({ item })}
116
+ <ToggleButton icon={EyeIcon} small={true} value={'true'} label="Enable All" {item} />
117
+ <ToggleButton
118
+ icon={EyeOffIcon}
119
+ small={true}
120
+ value={'false'}
121
+ label="Disable All"
122
+ {item}
123
+ />
124
+ {/snippet}
125
+ </ToggleButtonGroup>
126
+ </Cell>
127
+ </tr>
128
+ </Head>
129
+ <tbody class="divide-y bg-surface">
130
+ {#each Object.entries(descriptions) as [key, { title, description }]}
131
+ <tr>
132
+ <Cell first>{title}</Cell>
133
+ <Cell>{description}</Cell>
134
+ <Cell last class="pl-8">
135
+ <ToggleButtonGroup
136
+ selected={operatorWorkspaceSettings[key] ? 'on' : 'off'}
137
+ on:selected={({ detail }) => (operatorWorkspaceSettings[key] = detail === 'on')}
138
+ >
139
+ {#snippet children({ item })}
140
+ <ToggleButton icon={EyeIcon} small={true} value={'on'} label="On" {item} />
141
+ <ToggleButton icon={EyeOffIcon} small={true} value={'off'} label="Off" {item} />
142
+ {/snippet}
143
+ </ToggleButtonGroup>
144
+ </Cell>
145
+ </tr>
146
+ {/each}
147
+ </tbody>
148
+ </DataTable>
149
+ </Section>