windmill-components 1.596.1 → 1.613.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +2 -0
  2. package/dist/sharedUtils/base.d.ts +1 -0
  3. package/dist/sharedUtils/cloud.d.ts +1 -0
  4. package/dist/sharedUtils/common.d.ts +111 -0
  5. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +5 -0
  6. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +5 -0
  7. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +5 -0
  8. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +13 -0
  9. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +11 -0
  10. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +95 -0
  11. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +6 -0
  12. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +7 -0
  13. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +33 -0
  14. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +10 -0
  15. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +5371 -0
  16. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +3 -0
  17. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +3 -0
  18. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +7 -0
  19. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +3 -0
  20. package/dist/sharedUtils/components/apps/gridUtils.d.ts +14 -0
  21. package/dist/sharedUtils/components/apps/inputType.d.ts +178 -0
  22. package/dist/sharedUtils/components/apps/rx.d.ts +29 -0
  23. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +21 -0
  24. package/dist/sharedUtils/components/apps/types.d.ts +274 -0
  25. package/dist/sharedUtils/components/assets/lib.d.ts +25 -0
  26. package/dist/sharedUtils/components/common/alert/model.d.ts +2 -0
  27. package/dist/sharedUtils/components/common/badge/model.d.ts +8 -0
  28. package/dist/sharedUtils/components/common/button/model.d.ts +45 -0
  29. package/dist/sharedUtils/components/common/fileInput/model.d.ts +1 -0
  30. package/dist/sharedUtils/components/common/index.d.ts +24 -0
  31. package/dist/sharedUtils/components/common/skeleton/model.d.ts +21 -0
  32. package/dist/sharedUtils/components/dbTypes.d.ts +14 -0
  33. package/dist/sharedUtils/components/diff_drawer.d.ts +26 -0
  34. package/dist/sharedUtils/components/ducklake.d.ts +1 -0
  35. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +7 -0
  36. package/dist/sharedUtils/components/icons/index.d.ts +101 -0
  37. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +1 -0
  38. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +10 -0
  39. package/dist/sharedUtils/components/raw_apps/utils.d.ts +15 -0
  40. package/dist/sharedUtils/components/triggers/email/utils.d.ts +4 -0
  41. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +2 -0
  42. package/dist/sharedUtils/components/triggers/http/utils.d.ts +11 -0
  43. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +2 -0
  44. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +2 -0
  45. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +2 -0
  46. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +8 -0
  47. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +2 -0
  48. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +32 -0
  49. package/dist/sharedUtils/components/triggers/utils.d.ts +80 -0
  50. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +2 -0
  51. package/dist/sharedUtils/components/triggers.d.ts +20 -0
  52. package/dist/sharedUtils/gen/core/ApiError.d.ts +10 -0
  53. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +13 -0
  54. package/dist/sharedUtils/gen/core/ApiResult.d.ts +7 -0
  55. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +26 -0
  56. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +27 -0
  57. package/dist/sharedUtils/gen/core/request.d.ts +29 -0
  58. package/dist/sharedUtils/gen/index.d.ts +6 -0
  59. package/dist/sharedUtils/gen/schemas.gen.d.ts +7036 -0
  60. package/dist/sharedUtils/gen/services.gen.d.ts +6047 -0
  61. package/dist/sharedUtils/gen/types.gen.d.ts +21881 -0
  62. package/dist/sharedUtils/history.svelte.d.ts +9 -0
  63. package/dist/sharedUtils/hub.d.ts +49 -0
  64. package/dist/sharedUtils/jsr.json +6 -0
  65. package/dist/sharedUtils/lib.d.ts +5 -0
  66. package/dist/sharedUtils/lib.es.js +1588 -0
  67. package/dist/sharedUtils/package.json +12 -0
  68. package/dist/sharedUtils/schema.d.ts +3 -0
  69. package/dist/sharedUtils/stores.d.ts +97 -0
  70. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +80 -0
  71. package/dist/sharedUtils/toast.d.ts +8 -0
  72. package/dist/sharedUtils/utils.d.ts +265 -0
  73. package/package/assets/tokens/tokens.json +11 -1
  74. package/package/ata/apis.js +78 -5
  75. package/package/components/AddUser.svelte +1 -1
  76. package/package/components/CenteredModal.svelte +32 -24
  77. package/package/components/CenteredModal.svelte.d.ts +7 -27
  78. package/package/components/CenteredPage.svelte +5 -2
  79. package/package/components/CenteredPage.svelte.d.ts +2 -0
  80. package/package/components/ConcurrentJobsChart.svelte +3 -2
  81. package/package/components/ConcurrentJobsChart.svelte.d.ts +2 -2
  82. package/package/components/CustomPopover.svelte +20 -23
  83. package/package/components/CustomPopover.svelte.d.ts +14 -39
  84. package/package/components/DBManager.svelte +105 -17
  85. package/package/components/DBManager.svelte.d.ts +2 -1
  86. package/package/components/DBManagerContent.svelte +4 -3
  87. package/package/components/DBManagerContent.svelte.d.ts +1 -1
  88. package/package/components/DBTableEditor.svelte +210 -171
  89. package/package/components/DBTableEditor.svelte.d.ts +22 -3
  90. package/package/components/Description.svelte +3 -2
  91. package/package/components/Dev.svelte +36 -2
  92. package/package/components/DiffDrawer.svelte +8 -29
  93. package/package/components/DiffEditor.svelte +32 -2
  94. package/package/components/DisplayResult.svelte +32 -24
  95. package/package/components/Editor.svelte +70 -16
  96. package/package/components/Editor.svelte.d.ts +3 -0
  97. package/package/components/EditorBar.svelte +1 -1
  98. package/package/components/FakeMonacoPlaceHolder.svelte +1 -1
  99. package/package/components/FlowBuilder.svelte +17 -11
  100. package/package/components/FlowDiffViewer.svelte +37 -0
  101. package/package/components/FlowDiffViewer.svelte.d.ts +7 -0
  102. package/package/components/FlowPreviewContent.svelte +3 -2
  103. package/package/components/FlowPreviewResult.svelte +0 -4
  104. package/package/components/FlowStatusViewerInner.svelte +50 -33
  105. package/package/components/FlowStatusViewerInner.svelte.d.ts +1 -1
  106. package/package/components/FlowStatusWaitingForEvents.svelte +27 -23
  107. package/package/components/FlowStatusWaitingForEvents.svelte.d.ts +4 -18
  108. package/package/components/FlowViewer.svelte +103 -2
  109. package/package/components/FlowViewer.svelte.d.ts +9 -3
  110. package/package/components/ForkWorkspaceBanner.svelte +16 -13
  111. package/package/components/GraphqlSchemaViewer.svelte +8 -1
  112. package/package/components/HistoricInputs.svelte +25 -27
  113. package/package/components/HistoricInputs.svelte.d.ts +2 -2
  114. package/package/components/InstanceSetting.svelte +38 -0
  115. package/package/components/InviteUser.svelte +16 -42
  116. package/package/components/InviteUser.svelte.d.ts +4 -18
  117. package/package/components/JobOtelTraces.svelte +287 -0
  118. package/package/components/JobOtelTraces.svelte.d.ts +6 -0
  119. package/package/components/JsonInputs.svelte +6 -8
  120. package/package/components/JsonInputs.svelte.d.ts +7 -8
  121. package/package/components/LogViewer.svelte +91 -33
  122. package/package/components/Login.svelte +21 -0
  123. package/package/components/ManualPopover.svelte +5 -6
  124. package/package/components/ManualPopover.svelte.d.ts +9 -35
  125. package/package/components/MemoryFootprintViewer.svelte +2 -6
  126. package/package/components/ModulePreview.svelte +23 -21
  127. package/package/components/ModulePreview.svelte.d.ts +1 -0
  128. package/package/components/Path.svelte +2 -2
  129. package/package/components/Path.svelte.d.ts +1 -1
  130. package/package/components/ResourcePicker.svelte +3 -0
  131. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  132. package/package/components/RunButton.svelte +5 -15
  133. package/package/components/RunButton.svelte.d.ts +7 -19
  134. package/package/components/RunChart.svelte +8 -4
  135. package/package/components/RunChart.svelte.d.ts +2 -2
  136. package/package/components/RunFormAdvancedPopup.svelte +1 -1
  137. package/package/components/RunsPage.svelte +169 -539
  138. package/package/components/RunsPage.svelte.d.ts +5 -5
  139. package/package/components/S3FilePicker.svelte +7 -11
  140. package/package/components/S3FilePickerInner.svelte +2 -3
  141. package/package/components/S3FilePickerInner.svelte.d.ts +2 -2
  142. package/package/components/SchemaForm.svelte +26 -19
  143. package/package/components/SchemaFormWithArgPicker.svelte +4 -3
  144. package/package/components/ScriptBuilder.svelte +1 -1
  145. package/package/components/ScriptEditor.svelte +575 -101
  146. package/package/components/Section.svelte +3 -1
  147. package/package/components/ServiceLogsInner.svelte +4 -4
  148. package/package/components/SimpleEditor.svelte +46 -2
  149. package/package/components/SuperadminSettingsInner.svelte +1 -1
  150. package/package/components/TemplateEditor.svelte +54 -29
  151. package/package/components/TemplateEditor.svelte.d.ts +13 -102
  152. package/package/components/UserSettings.svelte +1 -1
  153. package/package/components/WorkerTagPicker.svelte +1 -1
  154. package/package/components/WorkerTagSelect.svelte +5 -2
  155. package/package/components/WorkspaceTutorials.svelte +5 -0
  156. package/package/components/apps/components/buttons/AppButton.svelte +21 -6
  157. package/package/components/apps/components/buttons/AppForm.svelte +2 -1
  158. package/package/components/apps/components/buttons/AppFormButton.svelte +2 -1
  159. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +0 -4
  160. package/package/components/apps/components/display/dbtable/metadata.js +69 -30
  161. package/package/components/apps/components/display/dbtable/queries/alterTable.d.ts +46 -0
  162. package/package/components/apps/components/display/dbtable/queries/alterTable.js +314 -0
  163. package/package/components/apps/components/display/dbtable/queries/alterTable.test.d.ts +1 -0
  164. package/package/components/apps/components/display/dbtable/queries/alterTable.test.js +867 -0
  165. package/package/components/apps/components/display/dbtable/queries/createTable.d.ts +2 -24
  166. package/package/components/apps/components/display/dbtable/queries/createTable.js +11 -25
  167. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.d.ts +9 -0
  168. package/package/components/apps/components/display/dbtable/queries/dbQueriesUtils.js +45 -0
  169. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +47 -0
  170. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +402 -0
  171. package/package/components/apps/components/display/dbtable/queries/select.d.ts +2 -0
  172. package/package/components/apps/components/display/dbtable/queries/select.js +37 -6
  173. package/package/components/apps/components/display/dbtable/tableEditor.d.ts +35 -0
  174. package/package/components/apps/components/display/dbtable/tableEditor.js +49 -0
  175. package/package/components/apps/components/display/dbtable/utils.d.ts +10 -1
  176. package/package/components/apps/components/display/dbtable/utils.js +52 -20
  177. package/package/components/apps/components/helpers/HiddenComponent.svelte +1 -1
  178. package/package/components/apps/components/helpers/InputValue.svelte +1 -1
  179. package/package/components/apps/components/helpers/ResolveConfig.svelte +1 -1
  180. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -2
  181. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -1
  182. package/package/components/apps/components/helpers/RunnableWrapper.svelte +2 -2
  183. package/package/components/apps/editor/AppEditorHeader.svelte +8 -1
  184. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +32 -29
  185. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +2 -2
  186. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +4 -4
  187. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +3 -3
  188. package/package/components/apps/editor/PublicApp.svelte +49 -30
  189. package/package/components/apps/editor/PublicApp.svelte.d.ts +1 -0
  190. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +77 -7
  191. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +2 -2
  192. package/package/components/apps/editor/inlineScriptsPanel/utils.d.ts +2 -2
  193. package/package/components/apps/editor/inlineScriptsPanel/utils.js +10 -1
  194. package/package/components/apps/inputType.d.ts +6 -1
  195. package/package/components/auditLogs/AuditLogsFilters.svelte +9 -17
  196. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +1 -1
  197. package/package/components/common/button/model.js +1 -1
  198. package/package/components/common/calendarPicker/CalendarPicker.svelte.d.ts +1 -1
  199. package/package/components/common/languageIcons/TypeScript.svelte +5 -3
  200. package/package/components/common/languageIcons/TypeScript.svelte.d.ts +1 -0
  201. package/package/components/common/modal/Modal.svelte +3 -3
  202. package/package/components/copilot/autocomplete/Autocompletor.js +3 -2
  203. package/package/components/copilot/chat/AIButtonStyle.d.ts +1 -1
  204. package/package/components/copilot/chat/AIButtonStyle.js +2 -1
  205. package/package/components/copilot/chat/AIChat.svelte +3 -1
  206. package/package/components/copilot/chat/AIChatDisplay.svelte +89 -4
  207. package/package/components/copilot/chat/AIChatInput.svelte +275 -0
  208. package/package/components/copilot/chat/AIChatManager.svelte.js +107 -1
  209. package/package/components/copilot/chat/AiChatLayout.svelte +15 -30
  210. package/package/components/copilot/chat/AppAvailableContextList.svelte +263 -0
  211. package/package/components/copilot/chat/AppAvailableContextList.svelte.d.ts +13 -0
  212. package/package/components/copilot/chat/ContextElementBadge.svelte +44 -0
  213. package/package/components/copilot/chat/DatatableCreationPolicy.svelte +32 -33
  214. package/package/components/copilot/chat/ProviderModelSelector.svelte +1 -1
  215. package/package/components/copilot/chat/__tests__/app/appEvalHelpers.js +3 -0
  216. package/package/components/copilot/chat/__tests__/flow/flowEvalHelpers.js +4 -0
  217. package/package/components/copilot/chat/app/core.d.ts +56 -15
  218. package/package/components/copilot/chat/app/core.js +141 -22
  219. package/package/components/copilot/chat/context.d.ts +59 -2
  220. package/package/components/copilot/chat/context.js +6 -2
  221. package/package/components/copilot/chat/flow/FlowAIChat.svelte +22 -0
  222. package/package/components/copilot/chat/flow/core.d.ts +3 -1
  223. package/package/components/copilot/chat/flow/core.js +29 -2
  224. package/package/components/copilot/chat/flow/openFlow.json +1 -1
  225. package/package/components/copilot/chat/flow/openFlowZod.d.ts +1 -0
  226. package/package/components/copilot/chat/flow/openFlowZod.js +14 -2
  227. package/package/components/copilot/chat/script/core.d.ts +4 -1
  228. package/package/components/copilot/chat/script/core.js +38 -2
  229. package/package/components/copilot/chat/shared.d.ts +10 -0
  230. package/package/components/copilot/chat/shared.js +24 -0
  231. package/package/components/copilot/lib.d.ts +1 -1
  232. package/package/components/custom_ui.d.ts +2 -0
  233. package/package/components/dbOps.d.ts +18 -4
  234. package/package/components/dbOps.js +25 -3
  235. package/package/components/debug/DebugConsole.svelte +277 -0
  236. package/package/components/debug/DebugConsole.svelte.d.ts +13 -0
  237. package/package/components/debug/DebugPanel.svelte +97 -0
  238. package/package/components/debug/DebugPanel.svelte.d.ts +11 -0
  239. package/package/components/debug/DebugToolbar.svelte +148 -0
  240. package/package/components/debug/DebugToolbar.svelte.d.ts +17 -0
  241. package/package/components/debug/DebugVariableViewer.svelte +115 -0
  242. package/package/components/debug/DebugVariableViewer.svelte.d.ts +11 -0
  243. package/package/components/debug/MonacoDebugger.svelte +384 -0
  244. package/package/components/debug/MonacoDebugger.svelte.d.ts +15 -0
  245. package/package/components/debug/dapClient.d.ts +192 -0
  246. package/package/components/debug/dapClient.js +426 -0
  247. package/package/components/debug/debugUtils.d.ts +30 -0
  248. package/package/components/debug/debugUtils.js +131 -0
  249. package/package/components/debug/index.d.ts +75 -0
  250. package/package/components/debug/index.js +82 -0
  251. package/package/components/flows/CreateActionsApp.svelte +6 -4
  252. package/package/components/flows/DebounceLimit.svelte.d.ts +1 -1
  253. package/package/components/flows/FlowHistoryInner.svelte +15 -4
  254. package/package/components/flows/content/AgentToolWrapper.svelte +1 -1
  255. package/package/components/flows/content/FlowEditorDrawer.svelte +124 -0
  256. package/package/components/flows/content/FlowEditorDrawer.svelte.d.ts +22 -0
  257. package/package/components/flows/content/FlowInput.svelte +211 -37
  258. package/package/components/flows/content/FlowModuleComponent.svelte +553 -67
  259. package/package/components/flows/content/FlowModuleEarlyStop.svelte +8 -10
  260. package/package/components/flows/content/FlowModuleHeader.svelte +7 -4
  261. package/package/components/flows/content/FlowModuleWorkerTagSelect.svelte +1 -1
  262. package/package/components/flows/content/McpOAuthConnect.svelte +217 -0
  263. package/package/components/flows/content/McpOAuthConnect.svelte.d.ts +7 -0
  264. package/package/components/flows/content/McpToolEditor.svelte +50 -37
  265. package/package/components/flows/content/McpToolEditor.svelte.d.ts +0 -1
  266. package/package/components/flows/conversations/FlowChat.svelte +16 -2
  267. package/package/components/flows/conversations/FlowChat.svelte.d.ts +2 -1
  268. package/package/components/flows/conversations/FlowChatInterface.svelte +103 -6
  269. package/package/components/flows/conversations/FlowChatInterface.svelte.d.ts +2 -0
  270. package/package/components/flows/conversations/FlowChatManager.svelte.js +53 -21
  271. package/package/components/flows/header/FlowImportExportMenu.svelte +1 -1
  272. package/package/components/flows/propPicker/PropPickerWrapper.svelte +3 -1
  273. package/package/components/flows/types.d.ts +2 -0
  274. package/package/components/git_sync/GitSyncRepositoryCard.svelte +16 -8
  275. package/package/components/home/ItemsList.svelte +5 -5
  276. package/package/components/home/TutorialBanner.svelte +34 -18
  277. package/package/components/icons/CssIcon.svelte +20 -0
  278. package/package/components/icons/CssIcon.svelte.d.ts +7 -25
  279. package/package/components/icons/HtmlIcon.svelte +20 -0
  280. package/package/components/icons/HtmlIcon.svelte.d.ts +8 -0
  281. package/package/components/icons/JavaScriptIcon.svelte +10 -2
  282. package/package/components/icons/JavaScriptIcon.svelte.d.ts +1 -0
  283. package/package/components/icons/JsonIcon.svelte +8 -2
  284. package/package/components/icons/JsonIcon.svelte.d.ts +1 -0
  285. package/package/components/icons/LessIcon.svelte +16 -0
  286. package/package/components/icons/LessIcon.svelte.d.ts +8 -0
  287. package/package/components/icons/MarkdownIcon.svelte +20 -0
  288. package/package/components/icons/MarkdownIcon.svelte.d.ts +8 -0
  289. package/package/components/icons/ReactIcon.svelte +10 -2
  290. package/package/components/icons/ReactIcon.svelte.d.ts +1 -0
  291. package/package/components/icons/SassIcon.svelte +28 -0
  292. package/package/components/icons/SassIcon.svelte.d.ts +8 -0
  293. package/package/components/icons/SvelteIcon.svelte +10 -2
  294. package/package/components/icons/SvelteIcon.svelte.d.ts +1 -0
  295. package/package/components/icons/VueIcon.svelte +10 -2
  296. package/package/components/icons/VueIcon.svelte.d.ts +1 -0
  297. package/package/components/icons/YamlIcon.svelte +20 -0
  298. package/package/components/icons/YamlIcon.svelte.d.ts +8 -0
  299. package/package/components/instanceSettings/SecretBackendConfig.svelte +514 -0
  300. package/package/components/instanceSettings/SecretBackendConfig.svelte.d.ts +8 -0
  301. package/package/components/instanceSettings.d.ts +2 -1
  302. package/package/components/instanceSettings.js +32 -1
  303. package/package/components/jobs/JobPreview.svelte +46 -39
  304. package/package/components/jobs/JobPreview.svelte.d.ts +1 -0
  305. package/package/components/monacoLanguagesOptions.js +16 -15
  306. package/package/components/propertyPicker/PropPicker.svelte +16 -2
  307. package/package/components/propertyPicker/PropPicker.svelte.d.ts +2 -0
  308. package/package/components/raw_apps/DefaultDatabaseSelector.svelte +9 -5
  309. package/package/components/raw_apps/FileEditorIcon.svelte +12 -7
  310. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +2 -0
  311. package/package/components/raw_apps/FileTreeNode.svelte +119 -83
  312. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +88 -8
  313. package/package/components/raw_apps/RawAppDataTableList.svelte +12 -9
  314. package/package/components/raw_apps/RawAppEditor.svelte +218 -68
  315. package/package/components/raw_apps/RawAppEditorHeader.svelte +33 -16
  316. package/package/components/raw_apps/RawAppHistoryList.svelte +264 -80
  317. package/package/components/raw_apps/RawAppHistoryList.svelte.d.ts +1 -0
  318. package/package/components/raw_apps/RawAppHistoryManager.svelte.d.ts +15 -1
  319. package/package/components/raw_apps/RawAppHistoryManager.svelte.js +46 -12
  320. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +549 -47
  321. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +31 -5
  322. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +25 -18
  323. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -0
  324. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +141 -10
  325. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte.d.ts +8 -0
  326. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +2 -1
  327. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +9 -1
  328. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte +47 -3
  329. package/package/components/raw_apps/RawAppInputsSpecEditor.svelte.d.ts +2 -2
  330. package/package/components/raw_apps/RawAppModules.svelte +13 -7
  331. package/package/components/raw_apps/RawAppPreview.svelte +48 -6
  332. package/package/components/raw_apps/RawAppSidebar.svelte +194 -125
  333. package/package/components/raw_apps/RawAppSidebar.svelte.d.ts +1 -0
  334. package/package/components/raw_apps/RunnableRow.svelte +41 -0
  335. package/package/components/raw_apps/RunnableRow.svelte.d.ts +11 -0
  336. package/package/components/raw_apps/utils.d.ts +1 -1
  337. package/package/components/raw_apps/utils.js +76 -18
  338. package/package/components/runs/ManuelDatePicker.svelte +3 -3
  339. package/package/components/runs/ManuelDatePicker.svelte.d.ts +3 -3
  340. package/package/components/runs/NoWorkerWithTagWarning.svelte +5 -1
  341. package/package/components/runs/RunsFilter.svelte +75 -63
  342. package/package/components/runs/RunsFilter.svelte.d.ts +35 -4
  343. package/package/components/runs/RunsQueue.svelte.d.ts +1 -1
  344. package/package/components/runs/RunsTable.svelte +1 -1
  345. package/package/components/runs/RunsTable.svelte.d.ts +1 -1
  346. package/package/components/runs/useJobsLoader.svelte.d.ts +34 -0
  347. package/package/components/runs/useJobsLoader.svelte.js +507 -0
  348. package/package/components/scriptEditor/LogPanel.svelte +17 -2
  349. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  350. package/package/components/select/SelectDropdown.svelte +2 -2
  351. package/package/components/settings/AIPromptsModal.svelte +88 -0
  352. package/package/components/settings/AIPromptsModal.svelte.d.ts +11 -0
  353. package/package/components/settings/ChangeWorkspaceColor.svelte +4 -3
  354. package/package/components/settings/ChangeWorkspaceId.svelte +14 -10
  355. package/package/components/settings/ChangeWorkspaceName.svelte +7 -6
  356. package/package/components/settings/CreateToken.svelte +1 -1
  357. package/package/components/settings/UserAIPromptsSettings.svelte +56 -15
  358. package/package/components/settings/WorkspaceOperatorSettings.svelte +68 -85
  359. package/package/components/settings/WorkspaceUserSettings.svelte +531 -406
  360. package/package/components/sidebar/MenuButton.svelte +46 -24
  361. package/package/components/sidebar/MenuButton.svelte.d.ts +2 -0
  362. package/package/components/sidebar/MultiplayerMenu.svelte +3 -3
  363. package/package/components/sidebar/OperatorMenu.svelte +62 -87
  364. package/package/components/sidebar/SidebarContent.svelte +7 -2
  365. package/package/components/sidebar/WorkspaceMenu.svelte +35 -85
  366. package/package/components/sqlTypeService.js +4 -3
  367. package/package/components/table/DataTable.svelte +3 -2
  368. package/package/components/table/DataTable.svelte.d.ts +1 -0
  369. package/package/components/text_input/TextInput.svelte +3 -0
  370. package/package/components/text_input/TextInput.svelte.d.ts +2 -0
  371. package/package/components/tutorials/FlowBuilderLiveTutorial.svelte +6 -35
  372. package/package/components/tutorials/RunsTutorial.svelte +399 -0
  373. package/package/components/{schema/SchemaPicker.svelte.d.ts → tutorials/RunsTutorial.svelte.d.ts} +11 -12
  374. package/package/components/tutorials/TroubleshootFlowTutorial.svelte +5 -20
  375. package/package/components/tutorials/utils.d.ts +16 -0
  376. package/package/components/tutorials/utils.js +96 -0
  377. package/package/components/tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte +133 -0
  378. package/package/components/{SavedInputs.svelte.d.ts → tutorials/workspace/WorkspaceOnboardingOperatorTutorial.svelte.d.ts} +8 -11
  379. package/package/components/vscode.js +6 -6
  380. package/package/components/workspace/WorkspaceCard.svelte +184 -0
  381. package/package/components/workspace/WorkspaceCard.svelte.d.ts +24 -0
  382. package/package/components/workspace/WorkspaceIcon.svelte +21 -0
  383. package/package/components/workspace/WorkspaceIcon.svelte.d.ts +9 -0
  384. package/package/components/workspace/WorkspaceTreeView.svelte +331 -0
  385. package/package/components/workspace/WorkspaceTreeView.svelte.d.ts +15 -0
  386. package/package/components/workspaceSettings/AISettings.svelte +146 -108
  387. package/package/components/workspaceSettings/CreateWorkspace.svelte +25 -11
  388. package/package/components/workspaceSettings/DucklakeSettings.svelte +46 -23
  389. package/package/components/workspaceSettings/DucklakeSettings.svelte.d.ts +2 -1
  390. package/package/components/workspaceSettings/ModelTokenLimits.svelte +14 -18
  391. package/package/components/workspaceSettings/StorageSettings.svelte +280 -241
  392. package/package/components/workspaceSettings/StorageSettings.svelte.d.ts +1 -0
  393. package/package/consts.js +4 -1
  394. package/package/gen/core/OpenAPI.js +1 -1
  395. package/package/gen/schemas.gen.d.ts +126 -0
  396. package/package/gen/schemas.gen.js +126 -0
  397. package/package/gen/services.gen.d.ts +151 -2
  398. package/package/gen/services.gen.js +301 -4
  399. package/package/gen/types.gen.d.ts +584 -2
  400. package/package/hubPaths.json +3 -2
  401. package/package/infer.js +2 -0
  402. package/package/monaco_workers/graphql.worker.bundle.js +121 -121
  403. package/package/rawAppWmillTs.d.ts +11 -0
  404. package/package/rawAppWmillTs.js +38 -1
  405. package/package/svelte5Utils.svelte.d.ts +9 -0
  406. package/package/svelte5Utils.svelte.js +51 -1
  407. package/package/tutorialUtils.js +0 -4
  408. package/package/tutorials/config.js +31 -3
  409. package/package/tutorials/roleUtils.d.ts +1 -1
  410. package/package/tutorials/roleUtils.js +6 -2
  411. package/package/utils.js +159 -1
  412. package/package.json +16 -17
  413. package/package/components/SavedInputs.svelte +0 -416
  414. package/package/components/runs/JobsLoader.svelte +0 -468
  415. package/package/components/runs/JobsLoader.svelte.d.ts +0 -49
  416. package/package/components/schema/SchemaPicker.svelte +0 -92
@@ -4,7 +4,7 @@ import { Button, Drawer, DrawerContent } from '../../../common';
4
4
  import { base } from '../../../../base';
5
5
  import FlowModuleScript from '../../../flows/content/FlowModuleScript.svelte';
6
6
  import FlowPathViewer from '../../../flows/content/FlowPathViewer.svelte';
7
- import { emptySchema } from '../../../../utils';
7
+ import { emptySchema, sendUserToast } from '../../../../utils';
8
8
  import { getContext, tick, untrack } from 'svelte';
9
9
  import { workspaceStore } from '../../../../stores';
10
10
  import { createEventDispatcher } from 'svelte';
@@ -13,17 +13,23 @@ import { computeFields } from './utils';
13
13
  import { inferArgs, loadSchema } from '../../../../infer';
14
14
  import AppRunButton from './AppRunButton.svelte';
15
15
  import { getScriptByPath } from '../../../../scripts';
16
- import { sendUserToast } from '../../../../toast';
17
16
  import { autoPlacement } from '@floating-ui/core';
18
17
  import { ExternalLink, Eye, GitFork, Pen, RefreshCw, Trash } from 'lucide-svelte';
19
18
  import { get } from 'svelte/store';
20
19
  import RunButton from '../../../RunButton.svelte';
21
20
  import Popover from '../../../meltComponents/Popover.svelte';
21
+ import ScriptEditorDrawer from '../../../flows/content/ScriptEditorDrawer.svelte';
22
+ import FlowEditorDrawer from '../../../flows/content/FlowEditorDrawer.svelte';
23
+ import { ScriptService } from '../../../../gen';
22
24
  let { runnable = $bindable(), fields = $bindable(), id, rawApps = false, isLoading = false, onRun = async () => { }, onCancel = async () => { } } = $props();
23
25
  const viewerContext = getContext('AppViewerContext');
24
26
  let drawerFlowViewer = $state(undefined);
25
27
  let flowPath = $state('');
26
28
  let notFound = $state(false);
29
+ // Key to force re-mounting of viewer components (bypasses FlowModuleScript cache)
30
+ let refreshKey = $state(0);
31
+ let scriptEditorDrawer = $state(undefined);
32
+ let flowEditorDrawer = $state(undefined);
27
33
  const dispatch = createEventDispatcher();
28
34
  async function refreshScript(runnable) {
29
35
  try {
@@ -74,6 +80,33 @@ async function fork(path) {
74
80
  }
75
81
  });
76
82
  }
83
+ async function openScriptEditor(path) {
84
+ try {
85
+ const script = await ScriptService.getScriptByPath({
86
+ workspace: $workspaceStore,
87
+ path
88
+ });
89
+ scriptEditorDrawer?.openDrawer(script.hash, () => {
90
+ // Increment refreshKey to force re-mounting of FlowModuleScript (bypasses cache)
91
+ refreshKey++;
92
+ // Refresh the schema
93
+ lastRunnable = undefined;
94
+ refresh(runnable);
95
+ });
96
+ }
97
+ catch (e) {
98
+ sendUserToast(`Failed to load script: ${e}`, true);
99
+ }
100
+ }
101
+ function openFlowEditor(path) {
102
+ flowEditorDrawer?.openDrawer(path, () => {
103
+ // Increment refreshKey to force re-mounting of FlowPathViewer (bypasses cache)
104
+ refreshKey++;
105
+ // Refresh the schema
106
+ lastRunnable = undefined;
107
+ refresh(runnable);
108
+ });
109
+ }
77
110
  let lastRunnable = undefined;
78
111
  function refresh(runnable) {
79
112
  if (deepEqual(runnable, lastRunnable)) {
@@ -102,6 +135,28 @@ $effect(() => {
102
135
  </DrawerContent>
103
136
  </Drawer>
104
137
 
138
+ <ScriptEditorDrawer
139
+ bind:this={scriptEditorDrawer}
140
+ on:save={() => {
141
+ // Increment refreshKey to force re-mounting of FlowModuleScript (bypasses cache)
142
+ refreshKey++
143
+ // Refresh the schema
144
+ lastRunnable = undefined
145
+ refresh(runnable)
146
+ }}
147
+ />
148
+
149
+ <FlowEditorDrawer
150
+ bind:this={flowEditorDrawer}
151
+ on:save={() => {
152
+ // Increment refreshKey to force re-mounting of FlowPathViewer (bypasses cache)
153
+ refreshKey++
154
+ // Refresh the schema
155
+ lastRunnable = undefined
156
+ refresh(runnable)
157
+ }}
158
+ />
159
+
105
160
  <div class="p-2 h-full flex flex-col gap-2">
106
161
  <div class="flex flex-row-reverse w-full gap-2">
107
162
  {#if !rawApps}
@@ -115,7 +170,10 @@ $effect(() => {
115
170
  size="xs"
116
171
  startIcon={{ icon: RefreshCw }}
117
172
  on:click={async () => {
118
- sendUserToast('Refreshing inputs')
173
+ sendUserToast('Getting latest script version at that path')
174
+ // Increment refreshKey to force re-mounting of viewer components (bypasses cache)
175
+ refreshKey++
176
+ lastRunnable = undefined
119
177
  refresh(runnable)
120
178
  if (viewerContext) {
121
179
  viewerContext.stateId.update((x) => x + 1)
@@ -149,10 +207,12 @@ $effect(() => {
149
207
  variant="default"
150
208
  size="xs"
151
209
  startIcon={{ icon: Pen }}
152
- endIcon={{ icon: ExternalLink }}
153
- target="_blank"
154
- href="{base}/flows/edit/{runnable.path}?nodraft=true">Edit</Button
210
+ on:click={() => {
211
+ openFlowEditor(runnable.path)
212
+ }}
155
213
  >
214
+ Edit
215
+ </Button>
156
216
  <Button
157
217
  variant="default"
158
218
  size="xs"
@@ -164,6 +224,16 @@ $effect(() => {
164
224
  Details
165
225
  </Button>
166
226
  {:else}
227
+ <Button
228
+ size="xs"
229
+ variant="default"
230
+ startIcon={{ icon: Pen }}
231
+ on:click={() => {
232
+ openScriptEditor(runnable.path)
233
+ }}
234
+ >
235
+ Edit
236
+ </Button>
167
237
  <Button
168
238
  size="xs"
169
239
  variant="default"
@@ -216,7 +286,7 @@ $effect(() => {
216
286
  />
217
287
  </div>
218
288
  <div class="w-full grow overflow-y-auto">
219
- {#key viewerContext?.stateId ? get(viewerContext.stateId) : 0}
289
+ {#key `${viewerContext?.stateId ? get(viewerContext.stateId) : 0}-${refreshKey}`}
220
290
  {#if notFound}
221
291
  <div class="text-red-400"
222
292
  >{runnable.runType} not found at {runnable.path} in workspace {$workspaceStore}</div
@@ -1,7 +1,7 @@
1
- import type { ConnectedAppInput, RowAppInput, RunnableByPath, StaticAppInput, UserAppInput } from '../../inputType';
1
+ import type { ConnectedAppInput, RowAppInput, RunnableByPath, StaticAppInput, UserAppInput, CtxAppInput } from '../../inputType';
2
2
  interface Props {
3
3
  runnable: RunnableByPath;
4
- fields: Record<string, StaticAppInput | ConnectedAppInput | RowAppInput | UserAppInput> | undefined;
4
+ fields: Record<string, StaticAppInput | ConnectedAppInput | RowAppInput | UserAppInput | CtxAppInput> | undefined;
5
5
  id: string;
6
6
  rawApps?: boolean;
7
7
  isLoading?: boolean;
@@ -1,5 +1,5 @@
1
1
  import type { Schema } from '../../../../common';
2
- import { type AppInputs, type RunnableByName } from '../../inputType';
2
+ import { type AppInputs, type RunnableByName, type CtxInput } from '../../inputType';
3
3
  import type { GridItem, HiddenRunnable } from '../../types';
4
4
  export interface AppScriptsList {
5
5
  inline: {
@@ -13,6 +13,6 @@ export interface AppScriptsList {
13
13
  transformer: boolean;
14
14
  }[];
15
15
  }
16
- export declare function computeFields(schema: Schema, defaultUserInput: boolean, fields: AppInputs): {};
16
+ export declare function computeFields(schema: Schema, defaultUserInput: boolean, fields: AppInputs | Record<string, CtxInput | AppInputs[string]>): {};
17
17
  export declare function getAppScripts(grid: GridItem[], subgrids: Record<string, GridItem[]> | undefined): AppScriptsList;
18
18
  export declare function createScriptFromInlineScript(id: string, runnable: HiddenRunnable | RunnableByName, workspace: string, appPath: string): Promise<void>;
@@ -4,6 +4,7 @@ import { isRunnableByName, isRunnableByPath } from '../../inputType';
4
4
  import { fieldTypeToTsType, schemaToInputsSpec } from '../../utils';
5
5
  // When the schema is loaded, we need to update the inputs spec
6
6
  // in order to render the inputs the component panel
7
+ // Note: fields can include CtxInput for raw apps
7
8
  export function computeFields(schema, defaultUserInput, fields) {
8
9
  let schemaCopy = JSON.parse(JSON.stringify(schema));
9
10
  const result = {};
@@ -19,7 +20,15 @@ export function computeFields(schema, defaultUserInput, fields) {
19
20
  result[key] = newInput;
20
21
  }
21
22
  else {
22
- if (fieldTypeToTsType(newInput.fieldType) !== fieldTypeToTsType(oldInput.fieldType) ||
23
+ // Preserve ctx inputs (used in raw apps) - they have { type: 'ctx', ctx: 'property' } syntax
24
+ if (oldInput.type === 'ctx') {
25
+ result[key] = oldInput;
26
+ }
27
+ else if (oldInput.fieldType === undefined) {
28
+ // For raw app inputs without fieldType, preserve the input but add the fieldType from schema
29
+ result[key] = Object.assign({}, oldInput, { fieldType: newInput.fieldType });
30
+ }
31
+ else if (fieldTypeToTsType(newInput.fieldType) !== fieldTypeToTsType(oldInput.fieldType) ||
23
32
  newInput.format !== oldInput.format ||
24
33
  newInput.subFieldType !== oldInput.subFieldType ||
25
34
  // An input became a select
@@ -50,6 +50,10 @@ export type EvalInputV2 = {
50
50
  onDemandOnly?: boolean;
51
51
  allowUserResources?: boolean;
52
52
  };
53
+ export type CtxInput = {
54
+ type: 'ctx';
55
+ ctx: 'username' | 'email' | 'groups' | 'workspace' | 'author';
56
+ };
53
57
  export type RowInput = {
54
58
  type: 'row';
55
59
  column: string;
@@ -83,7 +87,7 @@ export type RunnableByName = {
83
87
  };
84
88
  export type Runnable = RunnableByPath | RunnableByName | undefined;
85
89
  export type RunnableWithFields = Runnable & {
86
- fields?: Record<string, StaticAppInput | UserAppInput>;
90
+ fields?: Record<string, StaticAppInput | UserAppInput | CtxInput>;
87
91
  };
88
92
  export type ResultInput = {
89
93
  runnable: Runnable;
@@ -166,6 +170,7 @@ export type UploadAppInput = Extract<AppInput, {
166
170
  export type UploadS3AppInput = Extract<AppInput, {
167
171
  type: 'uploadS3';
168
172
  }>;
173
+ export type CtxAppInput = CtxInput;
169
174
  export type RichAppInput = AppInput | {
170
175
  type: 'oneOf';
171
176
  oneOf: string[];
@@ -235,9 +235,9 @@ $effect(() => {
235
235
  });
236
236
  </script>
237
237
 
238
- <div class="flex flex-col items-center gap-10 2xl:gap-1 2xl:flex-row mt-4 xl:mt-0">
238
+ <div class="flex flex-col items-center gap-2 2xl:flex-row mt-4 xl:mt-0 pr-2">
239
239
  {#if $workspaceStore == 'admins'}
240
- <div class="flex gap-1 relative w-full">
240
+ <div class="flex gap-1 relative">
241
241
  <span class="text-xs absolute font-semibold text-emphasis -top-4">Scope</span>
242
242
  <ToggleButtonGroup
243
243
  selected={scope ?? 'admins'}
@@ -268,7 +268,7 @@ $effect(() => {
268
268
  </ToggleButtonGroup>
269
269
  </div>
270
270
  {/if}
271
- <div class="flex gap-1 relative w-full">
271
+ <div class="flex relative">
272
272
  <span class="text-xs absolute font-semibold text-emphasis -top-4">From</span>
273
273
  <input type="text" value={after ?? 'From'} disabled />
274
274
  <CalendarPicker
@@ -284,7 +284,7 @@ $effect(() => {
284
284
  }}
285
285
  />
286
286
  </div>
287
- <div class="flex gap-1 relative w-full">
287
+ <div class="flex relative">
288
288
  <span class="text-xs absolute font-semibold text-emphasis -top-4">To</span>
289
289
  <input type="text" value={before ?? 'To'} disabled />
290
290
  <CalendarPicker
@@ -301,12 +301,10 @@ $effect(() => {
301
301
  />
302
302
  </div>
303
303
 
304
- <div class="flex gap-1 relative w-full">
304
+ <div class="flex relative">
305
305
  <span class="text-xs absolute font-semibold text-emphasis -top-4">Username</span>
306
306
  <Select
307
307
  bind:value={username}
308
- class="w-full"
309
- disablePortal
310
308
  RightIcon={ChevronDown}
311
309
  items={usernames
312
310
  ? [
@@ -322,41 +320,35 @@ $effect(() => {
322
320
  : []}
323
321
  />
324
322
  </div>
325
- <div class="flex gap-1 relative w-full">
323
+ <div class="flex relative">
326
324
  <span class="text-xs absolute font-semibold text-emphasis -top-4">Resource</span>
327
325
 
328
326
  <Select
329
- disablePortal
330
327
  onCreateItem={(r) => (resources.value?.push(r), (resource = r))}
331
328
  createText="Press enter to use this value"
332
329
  bind:value={resource}
333
330
  items={safeSelectItems(['all', ...(resources.value ?? [])])}
334
331
  inputClass="dark:!bg-gray-700"
335
332
  RightIcon={ChevronDown}
336
- class="w-full"
337
333
  />
338
334
  </div>
339
335
 
340
- <div class="flex gap-1 relative w-full">
336
+ <div class="flex relative">
341
337
  <span class="text-xs absolute font-semibold text-emphasis -top-4">Operation</span>
342
338
 
343
339
  <Select
344
- disablePortal
345
340
  bind:value={operation}
346
341
  items={['all', ...Object.values(operations)].map((r) => ({ value: r, label: r }))}
347
342
  inputClass="dark:!bg-gray-700"
348
343
  RightIcon={ChevronDown}
349
- class="w-full"
350
344
  />
351
345
  </div>
352
346
 
353
- <div class="flex gap-1 relative w-full">
347
+ <div class="flex relative">
354
348
  <span class="text-xs absolute font-semibold text-emphasis -top-4">Action</span>
355
349
 
356
350
  <Select
357
- class="w-full"
358
351
  bind:value={actionKind}
359
- disablePortal
360
352
  RightIcon={ChevronDown}
361
353
  items={[
362
354
  { value: 'all', label: 'all' },
@@ -368,7 +360,7 @@ $effect(() => {
368
360
  />
369
361
  </div>
370
362
 
371
- <div class="flex flex-row gap-1">
363
+ <div class="flex flex-row">
372
364
  <Button
373
365
  variant="subtle"
374
366
  on:click={() => {
@@ -14,6 +14,6 @@ interface Props {
14
14
  scope?: undefined | 'all_workspaces' | 'instance';
15
15
  loading?: boolean;
16
16
  }
17
- declare const AuditLogsFilters: import("svelte").Component<Props, {}, "resource" | "username" | "operation" | "logs" | "before" | "after" | "loading" | "perPage" | "hasMore" | "pageIndex" | "actionKind" | "scope">;
17
+ declare const AuditLogsFilters: import("svelte").Component<Props, {}, "resource" | "username" | "operation" | "logs" | "before" | "after" | "loading" | "perPage" | "hasMore" | "scope" | "pageIndex" | "actionKind">;
18
18
  type AuditLogsFilters = ReturnType<typeof AuditLogsFilters>;
19
19
  export default AuditLogsFilters;
@@ -136,7 +136,7 @@ export var ButtonType;
136
136
  };
137
137
  // New unified sizing system
138
138
  ButtonType.UnifiedSizingClasses = {
139
- xs: 'px-1',
139
+ xs: 'px-2',
140
140
  sm: 'px-2', // Regular horizontal padding
141
141
  md: 'px-4',
142
142
  lg: 'px-6'
@@ -14,7 +14,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
14
14
  }
15
15
  declare const CalendarPicker: $$__sveltets_2_IsomorphicComponent<{
16
16
  [x: string]: any;
17
- date: string | undefined;
17
+ date: string | null | undefined;
18
18
  label: string;
19
19
  useDropdown?: boolean | undefined;
20
20
  clearable?: boolean | undefined;
@@ -1,10 +1,12 @@
1
1
  <script lang="ts">"use strict";
2
- let { width = 16, height = 16, ...rest } = $props();
2
+ let { width = 16, height = 16, size = undefined, ...rest } = $props();
3
+ const derivedWidth = $derived(size ? size : width);
4
+ const derivedHeight = $derived(size ? size : height);
3
5
  </script>
4
6
 
5
7
  <svg
6
- {width}
7
- {height}
8
+ width={derivedWidth}
9
+ height={derivedHeight}
8
10
  {...rest}
9
11
  viewBox="0 0 17 16"
10
12
  fill="none"
@@ -1,6 +1,7 @@
1
1
  interface Props {
2
2
  width?: number;
3
3
  height?: number;
4
+ size?: number;
4
5
  [key: string]: any;
5
6
  }
6
7
  declare const TypeScript: import("svelte").Component<Props, {}, "">;
@@ -54,7 +54,7 @@ function fadeFast(node) {
54
54
  <div
55
55
  onclick={stopPropagation(bubble('click'))}
56
56
  class={twMerge(
57
- 'relative transform overflow-hidden rounded-lg bg-surface px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-lg sm:p-6',
57
+ 'relative transform overflow-hidden rounded-md bg-surface px-4 pt-5 pb-4 text-left shadow-xl transition-all sm:my-8 sm:w-full sm:max-w-lg sm:p-6',
58
58
  c,
59
59
  open
60
60
  ? 'ease-out duration-300 opacity-100 translate-y-0 sm:scale-100'
@@ -67,9 +67,9 @@ function fadeFast(node) {
67
67
  >
68
68
  {/if}
69
69
  <div class="flex">
70
- <div class="ml-4 text-left flex-1">
70
+ <div class="text-left flex-1">
71
71
  <div class="flex flex-row items-center justify-between">
72
- <h3>{title}</h3>
72
+ <h3 class="text-emphasis text-lg font-semibold">{title}</h3>
73
73
  {@render settings?.()}
74
74
  </div>
75
75
 
@@ -6,6 +6,7 @@ import { FIM_MAX_TOKENS, getModelContextWindow } from '../lib';
6
6
  import { setGlobalCSS } from '../shared';
7
7
  import { get } from 'svelte/store';
8
8
  import { copilotInfo } from '../../../aiStore';
9
+ import { getTypeScriptWorker } from '@codingame/monaco-vscode-standalone-typescript-language-features';
9
10
  // max ratio of completions to context window
10
11
  const COMPLETIONS_MAX_RATIO = 0.1;
11
12
  // hard limit to max number of completions to fetch details for, to avoid performance overhead
@@ -128,7 +129,7 @@ export class Autocompletor {
128
129
  ]
129
130
  };
130
131
  },
131
- disposeInlineCompletions: () => { },
132
+ disposeInlineCompletions: () => { }
132
133
  });
133
134
  this.#cursorDisposable = editor.onDidChangeCursorPosition(async (e) => {
134
135
  deletionsCues.clear();
@@ -230,7 +231,7 @@ export class Autocompletor {
230
231
  async #getTsCompletions(model, position, afterDot) {
231
232
  try {
232
233
  const offs = model.getOffsetAt(position);
233
- const workerFactory = await languages.typescript.getTypeScriptWorker();
234
+ const workerFactory = await getTypeScriptWorker();
234
235
  const worker = await workerFactory(model.uri);
235
236
  const info = await worker.getCompletionsAtPosition(model.uri.toString(), offs);
236
237
  let entries = [];
@@ -1 +1 @@
1
- export declare function AIBtnClasses(state?: 'default' | 'selected' | 'green'): string;
1
+ export declare function AIBtnClasses(state?: 'default' | 'selected' | 'green' | 'accent'): string;
@@ -2,7 +2,8 @@ export function AIBtnClasses(state = 'default') {
2
2
  return twMerge(['selected', 'default'].includes(state) ? 'text-ai !border-ai/20 hover:bg-ai/15' : '', {
3
3
  default: '',
4
4
  selected: 'bg-ai/10',
5
- green: 'bg-green-50 hover:bg-green-50 dark:bg-green-400/15 dark:hover:bg-green-400/15 text-green-800 border-green-200 dark:border-green-300/60 dark:text-green-400'
5
+ green: 'bg-green-50 hover:bg-green-50 dark:bg-green-400/15 dark:hover:bg-green-400/15 text-green-800 border-green-200 dark:border-green-300/60 dark:text-green-400',
6
+ accent: 'dark:bg-magenta-900 bg-magenta-600 text-white hover:bg-magenta-700 dark:hover:bg-magenta-950'
6
7
  }[state]);
7
8
  }
8
9
  import { twMerge } from 'tailwind-merge';
@@ -75,7 +75,9 @@ $effect(() => {
75
75
  () => aiChatManager.contextManager.getSelectedContext(),
76
76
  (sc) => aiChatManager.contextManager.setSelectedContext(sc)
77
77
  }
78
- availableContext={aiChatManager.contextManager.getAvailableContext()}
78
+ availableContext={aiChatManager.mode === AIMode.APP
79
+ ? aiChatManager.getAppAvailableContext()
80
+ : aiChatManager.contextManager.getAvailableContext()}
79
81
  messages={aiChatManager.currentReply
80
82
  ? [
81
83
  ...aiChatManager.displayMessages,
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">import AIChatMessage from './AIChatMessage.svelte';
2
2
  import {} from 'svelte';
3
- import { CheckIcon, HistoryIcon, Loader2, Plus, X, XIcon } from 'lucide-svelte';
3
+ import { CheckIcon, Code2, FileCode, HistoryIcon, Loader2, MousePointer2, Plus, Square, TextSelect, X, XIcon } from 'lucide-svelte';
4
4
  import Button from '../../common/button/Button.svelte';
5
5
  import Popover from '../../meltComponents/Popover.svelte';
6
6
  import {} from './shared';
@@ -45,6 +45,13 @@ $effect(() => {
45
45
  };
46
46
  });
47
47
  const isLastMessageTool = $derived(messages.length > 0 && messages[messages.length - 1].role === 'tool');
48
+ // Get app context for display when in APP mode
49
+ const appContext = $derived.by(() => {
50
+ if (aiChatManager.mode !== AIMode.APP || !aiChatManager.appAiChatHelpers) {
51
+ return undefined;
52
+ }
53
+ return aiChatManager.appAiChatHelpers.getSelectedContext();
54
+ });
48
55
  </script>
49
56
 
50
57
  <div class="flex flex-col h-full">
@@ -160,9 +167,10 @@ const isLastMessageTool = $derived(messages.length > 0 && messages[messages.leng
160
167
  {#if aiChatManager.loading}
161
168
  <div class="absolute -top-10 w-full flex flex-row justify-center">
162
169
  <Button
163
- startIcon={{ icon: Loader2, classes: 'animate-spin' }}
170
+ startIcon={{ icon: Square }}
164
171
  size="xs"
165
172
  variant="default"
173
+ btnClasses="bg-surface hover:bg-surface-selected"
166
174
  on:click={() => {
167
175
  cancel()
168
176
  }}
@@ -217,10 +225,87 @@ const isLastMessageTool = $derived(messages.length > 0 && messages[messages.leng
217
225
  <Markdown md={disabledMessage} />
218
226
  </div>
219
227
  {:else}
220
- <div class="flex flex-row gap-2 min-w-0 flex-wrap items-center">
228
+ <div class="flex flex-row gap-x-1.5 min-w-0 flex-wrap items-center">
221
229
  <ChatMode />
222
- <DatatableCreationPolicy />
230
+ {#if aiChatManager.mode === AIMode.APP}
231
+ <DatatableCreationPolicy />
232
+ {/if}
223
233
  <ProviderModelSelector />
234
+
235
+ {#if aiChatManager.mode === AIMode.APP && appContext && (appContext.type !== 'none' || appContext.inspectorElement || appContext.codeSelection)}
236
+ {#if appContext.type === 'frontend' && appContext.frontendPath && !appContext.selectionExcluded}
237
+ <div
238
+ class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 text-2xs"
239
+ title={appContext.frontendPath}
240
+ >
241
+ <FileCode class="w-3 h-3" />
242
+ <span class="truncate max-w-[80px]">{appContext.frontendPath}</span>
243
+ <button
244
+ class="hover:bg-blue-200 dark:hover:bg-blue-800/50 rounded p-0.5 -mr-0.5"
245
+ onclick={() => appContext.toggleSelectionExcluded?.()}
246
+ title="Exclude from prompt"
247
+ >
248
+ <X class="w-2.5 h-2.5" />
249
+ </button>
250
+ </div>
251
+ {:else if appContext.type === 'backend' && appContext.backendKey && !appContext.selectionExcluded}
252
+ <div
253
+ class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-300 text-2xs"
254
+ title={appContext.backendKey}
255
+ >
256
+ <Code2 class="w-3 h-3" />
257
+ <span class="truncate max-w-[80px]">{appContext.backendKey}</span>
258
+ <button
259
+ class="hover:bg-green-200 dark:hover:bg-green-800/50 rounded p-0.5 -mr-0.5"
260
+ onclick={() => appContext.toggleSelectionExcluded?.()}
261
+ title="Exclude from prompt"
262
+ >
263
+ <X class="w-2.5 h-2.5" />
264
+ </button>
265
+ </div>
266
+ {/if}
267
+ {#if appContext.inspectorElement}
268
+ <div
269
+ class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-purple-100 dark:bg-purple-900/30 text-purple-700 dark:text-purple-300 text-2xs"
270
+ title={appContext.inspectorElement.path}
271
+ >
272
+ <MousePointer2 class="w-3 h-3" />
273
+ <span class="truncate max-w-[60px]">
274
+ {appContext.inspectorElement.tagName.toLowerCase()}{appContext.inspectorElement
275
+ .id
276
+ ? `#${appContext.inspectorElement.id}`
277
+ : ''}{appContext.inspectorElement.className
278
+ ? `.${appContext.inspectorElement.className.split(' ')[0]}`
279
+ : ''}
280
+ </span>
281
+ <button
282
+ class="hover:bg-purple-200 dark:hover:bg-purple-800/50 rounded p-0.5 -mr-0.5"
283
+ onclick={() => appContext.clearInspector?.()}
284
+ title="Clear element selection"
285
+ >
286
+ <X class="w-2.5 h-2.5" />
287
+ </button>
288
+ </div>
289
+ {/if}
290
+ {#if appContext.codeSelection}
291
+ <div
292
+ class="inline-flex items-center gap-1 px-1.5 py-0.5 rounded bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-300 text-2xs"
293
+ title={`${appContext.codeSelection.source}: lines ${appContext.codeSelection.startLine}-${appContext.codeSelection.endLine}`}
294
+ >
295
+ <TextSelect class="w-3 h-3" />
296
+ <span class="truncate max-w-[80px]">
297
+ L{appContext.codeSelection.startLine}-{appContext.codeSelection.endLine}
298
+ </span>
299
+ <button
300
+ class="hover:bg-amber-200 dark:hover:bg-amber-800/50 rounded p-0.5 -mr-0.5"
301
+ onclick={() => appContext.clearCodeSelection?.()}
302
+ title="Clear code selection"
303
+ >
304
+ <X class="w-2.5 h-2.5" />
305
+ </button>
306
+ </div>
307
+ {/if}
308
+ {/if}
224
309
  </div>
225
310
  {/if}
226
311
  </div>