windmill-components 1.542.5 → 1.555.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 (399) hide show
  1. package/package/aiStore.d.ts +13 -0
  2. package/package/aiStore.js +70 -0
  3. package/package/common.d.ts +6 -2
  4. package/package/components/AIAgentLogViewer.svelte +1 -1
  5. package/package/components/AIProviderPicker.svelte +25 -8
  6. package/package/components/ArgEnum.svelte +17 -7
  7. package/package/components/ArgEnum.svelte.d.ts +1 -0
  8. package/package/components/ArgInput.svelte +257 -188
  9. package/package/components/ArgInput.svelte.d.ts +4 -1
  10. package/package/components/ArrayTypeNarrowing.svelte +38 -32
  11. package/package/components/AutoscalingEvents.svelte +21 -5
  12. package/package/components/AutoscalingEvents.svelte.d.ts +4 -18
  13. package/package/components/ChannelSelector.svelte +92 -18
  14. package/package/components/ChannelSelector.svelte.d.ts +2 -0
  15. package/package/components/ConnectionSection.svelte +12 -1
  16. package/package/components/DateTimeInput.svelte +8 -6
  17. package/package/components/DeployButton.svelte +1 -1
  18. package/package/components/Dev.svelte +24 -9
  19. package/package/components/Dev.svelte.d.ts +23 -1
  20. package/package/components/DisplayResult.svelte +36 -23
  21. package/package/components/DropdownV2.svelte +8 -2
  22. package/package/components/DropdownV2.svelte.d.ts +1 -0
  23. package/package/components/DynamicInput.svelte +10 -10
  24. package/package/components/EditableSchemaForm.svelte +28 -13
  25. package/package/components/Editor.svelte +2 -1
  26. package/package/components/EditorSettings.svelte +5 -5
  27. package/package/components/EditorSettings.svelte.d.ts +4 -18
  28. package/package/components/ErrorOrRecoveryHandler.svelte +14 -20
  29. package/package/components/FakeMonacoPlaceHolder.svelte +4 -2
  30. package/package/components/FakeMonacoPlaceHolder.svelte.d.ts +1 -0
  31. package/package/components/FieldHeader.svelte +5 -7
  32. package/package/components/FirstStepInputs.svelte +1 -1
  33. package/package/components/FlowHistoryJobPicker.svelte +3 -0
  34. package/package/components/FlowHistoryJobPicker.svelte.d.ts +1 -0
  35. package/package/components/FlowJobResult.svelte +5 -5
  36. package/package/components/FlowLogRow.svelte +2 -2
  37. package/package/components/FlowLogViewer.svelte +228 -57
  38. package/package/components/FlowLogViewer.svelte.d.ts +16 -5
  39. package/package/components/FlowLogViewerWrapper.svelte +56 -3
  40. package/package/components/FlowLogViewerWrapper.svelte.d.ts +4 -3
  41. package/package/components/FlowLoopIterationPreview.svelte +4 -4
  42. package/package/components/FlowLoopIterationPreview.svelte.d.ts +1 -1
  43. package/package/components/FlowMetadata.svelte +3 -4
  44. package/package/components/FlowMetadata.svelte.d.ts +4 -18
  45. package/package/components/FlowPlugConnect.svelte +8 -2
  46. package/package/components/FlowPlugConnect.svelte.d.ts +1 -0
  47. package/package/components/FlowPreviewContent.svelte +121 -94
  48. package/package/components/FlowPreviewContent.svelte.d.ts +3 -3
  49. package/package/components/FlowStatusViewer.svelte +63 -59
  50. package/package/components/FlowStatusViewer.svelte.d.ts +2 -2
  51. package/package/components/FlowStatusViewerInner.svelte +186 -94
  52. package/package/components/FlowStatusViewerInner.svelte.d.ts +10 -3
  53. package/package/components/FlowTimeline.svelte +110 -131
  54. package/package/components/FlowTimeline.svelte.d.ts +13 -4
  55. package/package/components/FlowTimelineBar.svelte +227 -0
  56. package/package/components/FlowTimelineBar.svelte.d.ts +24 -0
  57. package/package/components/FolderEditor.svelte +6 -7
  58. package/package/components/GroupEditor.svelte +148 -141
  59. package/package/components/GroupEditor.svelte.d.ts +5 -4
  60. package/package/components/InputTransformForm.svelte +193 -71
  61. package/package/components/InputTransformForm.svelte.d.ts +3 -0
  62. package/package/components/InputTransformSchemaForm.svelte +10 -5
  63. package/package/components/InputTransformSchemaForm.svelte.d.ts +2 -0
  64. package/package/components/InstanceSetting.svelte +34 -51
  65. package/package/components/InstanceSettings.svelte +12 -21
  66. package/package/components/JobArgs.svelte +15 -16
  67. package/package/components/JobArgs.svelte.d.ts +4 -18
  68. package/package/components/JobLoader.svelte +23 -42
  69. package/package/components/JobLoader.svelte.d.ts +2 -0
  70. package/package/components/JobStatus.svelte +1 -1
  71. package/package/components/JobStatus.svelte.d.ts +4 -18
  72. package/package/components/JsonEditor.svelte +18 -9
  73. package/package/components/JsonEditor.svelte.d.ts +1 -1
  74. package/package/components/JsonInputs.svelte +1 -1
  75. package/package/components/ModulePreviewForm.svelte +23 -19
  76. package/package/components/ModulePreviewResultViewer.svelte +1 -7
  77. package/package/components/NextcloudSetting.svelte +6 -1
  78. package/package/components/NumberTypeNarrowing.svelte +32 -16
  79. package/package/components/ObjectStoreConfigSettings.svelte +27 -19
  80. package/package/components/Password.svelte +7 -11
  81. package/package/components/Password.svelte.d.ts +5 -20
  82. package/package/components/PasswordArgInput.svelte +35 -15
  83. package/package/components/PasswordArgInput.svelte.d.ts +4 -18
  84. package/package/components/Path.svelte +2 -8
  85. package/package/components/Path.svelte.d.ts +1 -1
  86. package/package/components/QueuePosition.svelte +6 -2
  87. package/package/components/ResourceEditor.svelte +3 -10
  88. package/package/components/ResourcePicker.svelte +85 -72
  89. package/package/components/ResourcePicker.svelte.d.ts +2 -0
  90. package/package/components/RunChart.svelte +1 -1
  91. package/package/components/RunForm.svelte +16 -21
  92. package/package/components/S3ArrayHelperButton.svelte +18 -0
  93. package/package/components/S3ArrayHelperButton.svelte.d.ts +9 -0
  94. package/package/components/S3FilePicker.svelte +1 -1
  95. package/package/components/SchemaForm.svelte +18 -10
  96. package/package/components/SchemaForm.svelte.d.ts +7 -1
  97. package/package/components/SchemaFormWithArgPicker.svelte +1 -1
  98. package/package/components/ScriptBuilder.svelte +2 -2
  99. package/package/components/ScriptEditor.svelte +9 -9
  100. package/package/components/ScriptEditor.svelte.d.ts +1 -1
  101. package/package/components/ShareModal.svelte +4 -4
  102. package/package/components/SimpleEditor.svelte +6 -2
  103. package/package/components/SimpleEditor.svelte.d.ts +3 -0
  104. package/package/components/StringTypeNarrowing.svelte +44 -25
  105. package/package/components/StringTypeNarrowing.svelte.d.ts +1 -1
  106. package/package/components/SuperadminSettingsInner.svelte +3 -3
  107. package/package/components/TeamSelector.svelte +83 -37
  108. package/package/components/TeamSelector.svelte.d.ts +0 -1
  109. package/package/components/TemplateEditor.svelte +18 -9
  110. package/package/components/Toast.svelte +2 -7
  111. package/package/components/Toast.svelte.d.ts +4 -18
  112. package/package/components/Toggle.svelte +17 -7
  113. package/package/components/ToggleHubWorkspaceQuick.svelte +3 -3
  114. package/package/components/WorkerGroup.svelte +2 -14
  115. package/package/components/apps/components/buttons/AppButton.svelte +66 -38
  116. package/package/components/apps/components/display/dbtable/InsertRow.svelte +32 -2
  117. package/package/components/apps/components/display/dbtable/queries/insert.js +2 -1
  118. package/package/components/apps/components/display/dbtable/utils.d.ts +8 -8
  119. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +13 -4
  120. package/package/components/apps/components/display/table/SyncColumnDefs.svelte +2 -2
  121. package/package/components/apps/components/display/table/utils.js +14 -4
  122. package/package/components/apps/components/helpers/RefreshButton.svelte +5 -1
  123. package/package/components/apps/components/helpers/RunnableComponent.svelte +3 -5
  124. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  125. package/package/components/apps/components/inputs/currency/CurrencyInput.svelte +2 -1
  126. package/package/components/apps/components/layout/AppTabs.svelte +116 -71
  127. package/package/components/apps/components/layout/AppTabs.svelte.d.ts +1 -0
  128. package/package/components/apps/editor/AppEditorHeader.svelte +33 -271
  129. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +233 -0
  130. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte.d.ts +18 -0
  131. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte +47 -0
  132. package/package/components/apps/editor/AppEditorHeaderDeployInitialDraft.svelte.d.ts +8 -0
  133. package/package/components/apps/editor/GridEditor.svelte +7 -2
  134. package/package/components/apps/editor/appDeploy.svelte.d.ts +1 -0
  135. package/package/components/apps/editor/appDeploy.svelte.js +6 -0
  136. package/package/components/apps/editor/appUtils.d.ts +1 -0
  137. package/package/components/apps/editor/appUtils.js +30 -1
  138. package/package/components/apps/editor/component/ComponentInner.svelte +1 -0
  139. package/package/components/apps/editor/component/ComponentNavigation.svelte +3 -1
  140. package/package/components/apps/editor/component/components.d.ts +19 -4
  141. package/package/components/apps/editor/component/components.js +23 -3
  142. package/package/components/apps/editor/contextPanel/ComponentOutputViewer.svelte +1 -1
  143. package/package/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +6 -4
  144. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditor.svelte.d.ts +1 -1
  145. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte.d.ts +1 -1
  146. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte.d.ts +1 -1
  147. package/package/components/apps/editor/settingsPanel/ComponentPanel.svelte +2 -0
  148. package/package/components/apps/editor/settingsPanel/GridTab.svelte +19 -1
  149. package/package/components/apps/editor/settingsPanel/GridTab.svelte.d.ts +3 -1
  150. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte +52 -0
  151. package/package/components/apps/editor/settingsPanel/GridTabHidden.svelte.d.ts +9 -0
  152. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +58 -8
  153. package/package/components/auditLogs/AuditLogsFilters.svelte +7 -1
  154. package/package/components/auditLogs/AuditLogsTable.svelte +17 -7
  155. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  156. package/package/components/common/CloseButton.svelte +2 -2
  157. package/package/components/common/CloseButton.svelte.d.ts +1 -0
  158. package/package/components/common/ResizeTransitionWrapper.svelte +39 -0
  159. package/package/components/common/ResizeTransitionWrapper.svelte.d.ts +12 -0
  160. package/package/components/common/badge/CountBadge.svelte +29 -0
  161. package/package/components/common/badge/CountBadge.svelte.d.ts +8 -0
  162. package/package/components/common/button/Button.svelte +1 -0
  163. package/package/components/common/button/ConnectionButton.svelte +6 -1
  164. package/package/components/common/button/ConnectionButton.svelte.d.ts +2 -0
  165. package/package/components/common/button/RefreshButton.svelte +8 -4
  166. package/package/components/common/button/RefreshButton.svelte.d.ts +3 -0
  167. package/package/components/common/calendarPicker/CalendarPicker.svelte +1 -1
  168. package/package/components/common/fileInput/FileInput.svelte +7 -6
  169. package/package/components/common/fileUpload/S3ArgInput.svelte +11 -9
  170. package/package/components/common/fileUpload/S3ArgInput.svelte.d.ts +1 -0
  171. package/package/components/common/layout/List.svelte +3 -7
  172. package/package/components/common/layout/List.svelte.d.ts +7 -29
  173. package/package/components/common/popup/PopupV2.svelte +14 -25
  174. package/package/components/common/popup/PopupV2.svelte.d.ts +4 -2
  175. package/package/components/common/table/ScriptRow.svelte +22 -2
  176. package/package/components/common/toggleButton-v2/ToggleButton.svelte +17 -26
  177. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +16 -30
  178. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +1 -1
  179. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +3 -3
  180. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +1 -0
  181. package/package/components/copilot/CodeCompletionStatus.svelte +2 -1
  182. package/package/components/copilot/CronGen.svelte +1 -1
  183. package/package/components/copilot/FlowCopilotInputsModal.svelte +26 -23
  184. package/package/components/copilot/FlowInlineScriptAIButton.svelte +2 -2
  185. package/package/components/copilot/IteratorGen.svelte +30 -25
  186. package/package/components/copilot/IteratorGen.svelte.d.ts +8 -7
  187. package/package/components/copilot/MetadataGen.svelte +4 -3
  188. package/package/components/copilot/PredicateGen.svelte +15 -12
  189. package/package/components/copilot/PredicateGen.svelte.d.ts +5 -4
  190. package/package/components/copilot/RegexGen.svelte +1 -1
  191. package/package/components/copilot/ScriptFix.svelte +1 -1
  192. package/package/components/copilot/ScriptGen.svelte +2 -1
  193. package/package/components/copilot/StepGenQuick.svelte +15 -16
  194. package/package/components/copilot/StepGenQuick.svelte.d.ts +14 -13
  195. package/package/components/copilot/StepInputGen.svelte +50 -36
  196. package/package/components/copilot/StepInputGen.svelte.d.ts +13 -10
  197. package/package/components/copilot/StepInputsGen.svelte +18 -19
  198. package/package/components/copilot/StepInputsGen.svelte.d.ts +4 -18
  199. package/package/components/copilot/autocomplete/Autocompletor.js +1 -1
  200. package/package/components/copilot/autocomplete/request.js +1 -1
  201. package/package/components/copilot/chat/AIChat.svelte +2 -1
  202. package/package/components/copilot/chat/AIChatManager.svelte.js +5 -3
  203. package/package/components/copilot/chat/AiChatLayout.svelte +2 -1
  204. package/package/components/copilot/chat/ProviderModelSelector.svelte +11 -10
  205. package/package/components/copilot/chat/ProviderModelSelector.svelte.d.ts +2 -17
  206. package/package/components/copilot/chat/flow/FlowAIButton.svelte +1 -1
  207. package/package/components/copilot/chat/flow/FlowAIChat.svelte +4 -2
  208. package/package/components/copilot/chat/script/core.d.ts +4 -4
  209. package/package/components/copilot/chat/script/core.js +95 -35
  210. package/package/components/copilot/chat/shared.js +2 -1
  211. package/package/components/copilot/lib.d.ts +1 -0
  212. package/package/components/copilot/lib.js +7 -3
  213. package/package/components/custom_ui.d.ts +1 -0
  214. package/package/components/details/DetailPageLayout.svelte +3 -2
  215. package/package/components/details/DetailPageLayout.svelte.d.ts +1 -0
  216. package/package/components/flows/CreateActionsFlow.svelte +1 -1
  217. package/package/components/flows/FlowChatInterface.svelte +404 -0
  218. package/package/components/flows/FlowChatInterface.svelte.d.ts +19 -0
  219. package/package/components/flows/FlowChatMessage.svelte +41 -0
  220. package/package/components/flows/FlowChatMessage.svelte.d.ts +9 -0
  221. package/package/components/flows/FlowConversationsSidebar.svelte +213 -0
  222. package/package/components/flows/FlowConversationsSidebar.svelte.d.ts +15 -0
  223. package/package/components/flows/FlowEditor.svelte.d.ts +1 -1
  224. package/package/components/flows/FlowModuleIcon.svelte +10 -10
  225. package/package/components/flows/FlowProgressBar.svelte +16 -16
  226. package/package/components/flows/FlowProgressBar.svelte.d.ts +7 -22
  227. package/package/components/flows/common/FlowCard.svelte +10 -2
  228. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  229. package/package/components/flows/common/FlowCardHeader.svelte +2 -1
  230. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  231. package/package/components/flows/content/DynamicInputHelpBox.svelte +4 -4
  232. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -1
  233. package/package/components/flows/content/FlowInput.svelte +381 -259
  234. package/package/components/flows/content/FlowInput.svelte.d.ts +1 -1
  235. package/package/components/flows/content/FlowInputsQuick.svelte +56 -34
  236. package/package/components/flows/content/FlowInputsQuick.svelte.d.ts +3 -2
  237. package/package/components/flows/content/FlowModuleComponent.svelte +29 -11
  238. package/package/components/flows/flowInfers.d.ts +60 -0
  239. package/package/components/flows/flowInfers.js +72 -40
  240. package/package/components/flows/{flowStore.d.ts → flowStore.svelte.d.ts} +5 -1
  241. package/package/components/flows/header/FlowPreviewButtons.svelte +1 -1
  242. package/package/components/flows/map/FlowErrorHandlerItem.svelte +4 -2
  243. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  244. package/package/components/flows/map/FlowJobsMenu.svelte +3 -3
  245. package/package/components/flows/map/FlowJobsMenu.svelte.d.ts +1 -1
  246. package/package/components/flows/map/FlowModuleSchemaItem.svelte +1 -1
  247. package/package/components/flows/map/FlowModuleSchemaMap.svelte +5 -2
  248. package/package/components/flows/map/FlowStickyNode.svelte +2 -2
  249. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  250. package/package/components/flows/map/InsertModuleButton.svelte +8 -15
  251. package/package/components/flows/map/InsertModuleButton.svelte.d.ts +4 -4
  252. package/package/components/flows/map/InsertModuleInner.svelte +19 -20
  253. package/package/components/flows/map/InsertModuleInner.svelte.d.ts +2 -2
  254. package/package/components/flows/map/MapItem.svelte +1 -1
  255. package/package/components/flows/map/VirtualItem.svelte +1 -2
  256. package/package/components/flows/pickers/PickHubScriptQuick.svelte +43 -52
  257. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +2 -1
  258. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte +41 -26
  259. package/package/components/flows/pickers/WorkspaceScriptPickerQuick.svelte.d.ts +1 -0
  260. package/package/components/flows/propPicker/OutputPicker.svelte +2 -0
  261. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -15
  262. package/package/components/git_sync/DetectionFlow.svelte +33 -44
  263. package/package/components/git_sync/DetectionFlow.svelte.d.ts +1 -0
  264. package/package/components/git_sync/GitSyncContext.svelte.d.ts +22 -0
  265. package/package/components/git_sync/GitSyncContext.svelte.js +145 -5
  266. package/package/components/git_sync/GitSyncModeDisplay.svelte +14 -0
  267. package/package/components/git_sync/GitSyncModeDisplay.svelte.d.ts +9 -0
  268. package/package/components/git_sync/GitSyncRepositoryCard.svelte +365 -253
  269. package/package/components/git_sync/GitSyncRepositoryCard.svelte.d.ts +10 -1
  270. package/package/components/git_sync/GitSyncSection.svelte +134 -14
  271. package/package/components/git_sync/PullWorkspaceModal.svelte +24 -32
  272. package/package/components/git_sync/PushWorkspaceModal.svelte +24 -32
  273. package/package/components/graph/FlowGraphV2.svelte +2 -1
  274. package/package/components/graph/FlowGraphV2.svelte.d.ts +1 -0
  275. package/package/components/graph/graphBuilder.svelte.d.ts +2 -0
  276. package/package/components/graph/graphBuilder.svelte.js +1 -0
  277. package/package/components/graph/model.d.ts +5 -5
  278. package/package/components/graph/renderers/edges/BaseEdge.svelte +1 -0
  279. package/package/components/graph/renderers/edges/EmptyEdge.svelte +3 -10
  280. package/package/components/graph/renderers/edges/EmptyEdge.svelte.d.ts +4 -18
  281. package/package/components/graph/renderers/nodes/AIToolNode.svelte +2 -2
  282. package/package/components/graph/renderers/nodes/InputNode.svelte +13 -2
  283. package/package/components/graph/renderers/nodes/NewAIToolNode.svelte +5 -10
  284. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +2 -27
  285. package/package/components/home/ItemsList.svelte +1 -1
  286. package/package/components/instanceSettings.js +17 -0
  287. package/package/components/jobs/JobProgressBar.svelte +27 -21
  288. package/package/components/jobs/JobProgressBar.svelte.d.ts +9 -24
  289. package/package/components/meltComponents/MenuSingleItem.svelte +3 -8
  290. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +0 -3
  291. package/package/components/meltComponents/Popover.svelte +3 -2
  292. package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
  293. package/package/components/meltComponents/Tooltip.svelte +1 -1
  294. package/package/components/progressBar/ProgressBar.svelte +39 -53
  295. package/package/components/progressBar/ProgressBar.svelte.d.ts +11 -26
  296. package/package/components/raw_apps/FileEditorIcon.svelte +1 -1
  297. package/package/components/raw_apps/FileEditorIcon.svelte.d.ts +4 -18
  298. package/package/components/raw_apps/RawAppBackgroundRunner.svelte +2 -8
  299. package/package/components/raw_apps/RawAppBackgroundRunner.svelte.d.ts +4 -18
  300. package/package/components/raw_apps/RawAppEditor.svelte +6 -7
  301. package/package/components/raw_apps/RawAppEditorHeader.svelte +48 -301
  302. package/package/components/raw_apps/RawAppEditorHeader.svelte.d.ts +18 -19
  303. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte +10 -16
  304. package/package/components/raw_apps/RawAppInlineScriptEditor.svelte.d.ts +13 -13
  305. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte +8 -11
  306. package/package/components/raw_apps/RawAppInlineScriptPanelList.svelte.d.ts +1 -2
  307. package/package/components/raw_apps/RawAppInlineScriptRunnable.svelte +0 -1
  308. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte +7 -13
  309. package/package/components/raw_apps/RawAppInlineScriptsPanel.svelte.d.ts +8 -8
  310. package/package/components/raw_apps/RawAppPreview.svelte +3 -7
  311. package/package/components/raw_apps/RawAppPreview.svelte.d.ts +5 -19
  312. package/package/components/raw_apps/utils.d.ts +1 -1
  313. package/package/components/raw_apps/utils.js +3 -3
  314. package/package/components/runs/JobsLoader.svelte +1 -1
  315. package/package/components/runs/NoWorkerWithTagWarning.svelte +3 -3
  316. package/package/components/runs/NoWorkerWithTagWarning.svelte.d.ts +1 -1
  317. package/package/components/runs/RunOption.svelte +2 -2
  318. package/package/components/runs/RunsFilter.svelte +15 -12
  319. package/package/components/runs/RunsFilter.svelte.d.ts +1 -1
  320. package/package/components/schema/AddPropertyV2.svelte +7 -4
  321. package/package/components/schema/EditableSchemaDrawer.svelte +19 -18
  322. package/package/components/schema/FlowPropertyEditor.svelte +9 -2
  323. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +1 -1
  324. package/package/components/schema/PropertyEditor.svelte +22 -26
  325. package/package/components/schema/PropertyEditor.svelte.d.ts +1 -1
  326. package/package/components/schema/SchemaFormDND.svelte +3 -2
  327. package/package/components/schema/SchemaFormDND.svelte.d.ts +1 -0
  328. package/package/components/select/DraggableTags.svelte +2 -2
  329. package/package/components/select/MultiSelect.svelte +15 -9
  330. package/package/components/select/MultiSelect.svelte.d.ts +1 -0
  331. package/package/components/select/Select.svelte +12 -5
  332. package/package/components/select/Select.svelte.d.ts +11 -0
  333. package/package/components/select/SelectDropdown.svelte +98 -46
  334. package/package/components/select/SelectDropdown.svelte.d.ts +10 -0
  335. package/package/components/select/utils.svelte.js +2 -0
  336. package/package/components/settings/CreateToken.svelte +76 -49
  337. package/package/components/settings/WorkspaceUserSettings.svelte +111 -17
  338. package/package/components/sidebar/CriticalAlertTable.svelte +2 -1
  339. package/package/components/sidebar/Linkify.svelte +14 -0
  340. package/package/components/sidebar/Linkify.svelte.d.ts +5 -0
  341. package/package/components/sidebar/MenuLink.svelte +2 -1
  342. package/package/components/sidebar/MenuLink.svelte.d.ts +1 -0
  343. package/package/components/sidebar/SidebarContent.svelte +27 -27
  344. package/package/components/sidebar/WorkspaceMenu.svelte +8 -3
  345. package/package/components/table/Cell.svelte +7 -14
  346. package/package/components/table/Cell.svelte.d.ts +13 -35
  347. package/package/components/table/tableUtils.js +1 -1
  348. package/package/components/text_input/TextInput.svelte +30 -0
  349. package/package/components/text_input/TextInput.svelte.d.ts +17 -0
  350. package/package/components/triggers/AddTriggersButton.svelte +1 -0
  351. package/package/components/triggers/TriggersEditor.svelte +11 -1
  352. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte +1 -1
  353. package/package/components/triggers/gcp/GcpTriggerEditorConfigSection.svelte.d.ts +2 -1
  354. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +28 -5
  355. package/package/components/triggers/gcp/utils.js +1 -0
  356. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +1 -0
  357. package/package/components/triggers/triggers.svelte.d.ts +1 -1
  358. package/package/components/triggers/triggers.svelte.js +8 -4
  359. package/package/components/triggers/webhook/WebhooksConfigSection.svelte +143 -63
  360. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +22 -0
  361. package/package/components/triggers/websocket/utils.js +1 -0
  362. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +2 -2
  363. package/package/components/tutorials/FlowBuilderTutorialForLoop.svelte +3 -0
  364. package/package/components/tutorials/FlowBuilderTutorialSimpleFlow.svelte +49 -17
  365. package/package/components/tutorials/Tutorial.svelte +9 -0
  366. package/package/components/tutorials/Tutorial.svelte.d.ts +1 -0
  367. package/package/components/tutorials/app/AppTutorial.svelte +41 -57
  368. package/package/components/tutorials/app/BackgroundRunnablesTutorial.svelte +3 -5
  369. package/package/components/tutorials/app/ConnectionTutorial.svelte +2 -2
  370. package/package/components/tutorials/utils.js +2 -154
  371. package/package/components/vscode.js +16 -8
  372. package/package/components/workspaceSettings/AISettings.svelte +12 -5
  373. package/package/components/workspaceSettings/AISettings.svelte.d.ts +2 -1
  374. package/package/components/workspaceSettings/CreateWorkspace.svelte +2 -2
  375. package/package/components/workspaceSettings/DucklakeSettings.svelte +64 -7
  376. package/package/components/workspaceSettings/ModelTokenLimits.svelte +165 -0
  377. package/package/components/workspaceSettings/ModelTokenLimits.svelte.d.ts +8 -0
  378. package/package/components/workspaceSettings/StorageSettings.svelte +147 -77
  379. package/package/editorUtils.d.ts +1 -1
  380. package/package/gen/core/OpenAPI.js +1 -1
  381. package/package/gen/schemas.gen.d.ts +223 -17
  382. package/package/gen/schemas.gen.js +226 -17
  383. package/package/gen/services.gen.d.ts +221 -27
  384. package/package/gen/services.gen.js +440 -48
  385. package/package/gen/types.gen.d.ts +1067 -218
  386. package/package/hubPaths.json +2 -1
  387. package/package/script_helpers.js +5 -5
  388. package/package/services/JobManager.js +14 -9
  389. package/package/stores.d.ts +4 -12
  390. package/package/stores.js +5 -65
  391. package/package/timelineCompute.svelte.d.ts +21 -0
  392. package/package/timelineCompute.svelte.js +113 -0
  393. package/package/toast.js +2 -1
  394. package/package/utils.d.ts +16 -8
  395. package/package/utils.js +65 -12
  396. package/package/workspace_settings.d.ts +13 -8
  397. package/package/workspace_settings.js +46 -11
  398. package/package.json +4 -4
  399. /package/package/components/flows/{flowStore.js → flowStore.svelte.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">import { WorkspaceService } from '../../gen';
2
- import { setCopilotInfo, workspaceStore } from '../../stores';
2
+ import { workspaceStore } from '../../stores';
3
3
  import { sendUserToast } from '../../toast';
4
4
  import { AI_PROVIDERS, fetchAvailableModels } from '../copilot/lib';
5
5
  import TestAiKey from '../copilot/TestAIKey.svelte';
@@ -17,8 +17,10 @@ import { AIMode } from '../copilot/chat/AIChatManager.svelte';
17
17
  import ToggleButtonGroup from '../common/toggleButton-v2/ToggleButtonGroup.svelte';
18
18
  import ToggleButton from '../common/toggleButton-v2/ToggleButton.svelte';
19
19
  import autosize from '../../autosize';
20
+ import ModelTokenLimits from './ModelTokenLimits.svelte';
21
+ import { setCopilotInfo } from '../../aiStore';
20
22
  const MAX_CUSTOM_PROMPT_LENGTH = 5000;
21
- let { aiProviders = $bindable(), codeCompletionModel = $bindable(), defaultModel = $bindable(), customPrompts = $bindable(), usingOpenaiClientCredentialsOauth = $bindable() } = $props();
23
+ let { aiProviders = $bindable(), codeCompletionModel = $bindable(), defaultModel = $bindable(), customPrompts = $bindable(), maxTokensPerModel = $bindable(), usingOpenaiClientCredentialsOauth = $bindable() } = $props();
22
24
  let fetchedAiModels = $state(false);
23
25
  let availableAiModels = $state(Object.fromEntries(Object.keys(AI_PROVIDERS).map((provider) => [provider, AI_PROVIDERS[provider].defaultModels])));
24
26
  // Custom system prompt settings
@@ -66,7 +68,8 @@ async function editCopilotConfig() {
66
68
  providers: aiProviders,
67
69
  code_completion_model,
68
70
  default_model,
69
- custom_prompts: Object.keys(custom_prompts).length > 0 ? custom_prompts : undefined
71
+ custom_prompts: Object.keys(custom_prompts).length > 0 ? custom_prompts : undefined,
72
+ max_tokens_per_model: Object.keys(maxTokensPerModel).length > 0 ? maxTokensPerModel : undefined
70
73
  };
71
74
  await WorkspaceService.editCopilotConfig({
72
75
  workspace: $workspaceStore,
@@ -183,9 +186,9 @@ async function onAiProviderChange(provider) {
183
186
  : provider}
184
187
  initialValue={aiProviders[provider].resource_path}
185
188
  bind:value={
186
- () => aiProviders[provider].resource_path,
189
+ () => aiProviders[provider].resource_path || undefined,
187
190
  (v) => {
188
- aiProviders[provider].resource_path = v
191
+ aiProviders[provider].resource_path = v ?? ''
189
192
  onAiProviderChange(provider as AIProvider)
190
193
  }
191
194
  }
@@ -276,6 +279,10 @@ async function onAiProviderChange(provider) {
276
279
  </div>
277
280
  {/if}
278
281
 
282
+ {#if Object.keys(aiProviders).length > 0}
283
+ <ModelTokenLimits {aiProviders} bind:maxTokensPerModel />
284
+ {/if}
285
+
279
286
  {#if Object.keys(aiProviders).length > 0}
280
287
  <div class="flex flex-col gap-2">
281
288
  <p class="font-semibold">Custom system prompts</p>
@@ -4,8 +4,9 @@ type $$ComponentProps = {
4
4
  codeCompletionModel: string | undefined;
5
5
  defaultModel: string | undefined;
6
6
  customPrompts: Record<string, string>;
7
+ maxTokensPerModel: Record<string, number>;
7
8
  usingOpenaiClientCredentialsOauth: boolean;
8
9
  };
9
- declare const AiSettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "customPrompts" | "usingOpenaiClientCredentialsOauth">;
10
+ declare const AiSettings: import("svelte").Component<$$ComponentProps, {}, "codeCompletionModel" | "defaultModel" | "aiProviders" | "maxTokensPerModel" | "customPrompts" | "usingOpenaiClientCredentialsOauth">;
10
11
  type AiSettings = ReturnType<typeof AiSettings>;
11
12
  export default AiSettings;
@@ -367,8 +367,8 @@ let domain = $derived($usersWorkspaceStore?.email.split('@')[1]);
367
367
  }}
368
368
  >
369
369
  {#snippet children({ item })}
370
- <ToggleButton value="operator" size="xs" label="Operator" {item} />
371
- <ToggleButton value="developer" size="xs" label="Developer" {item} />
370
+ <ToggleButton value="operator" small label="Operator" {item} />
371
+ <ToggleButton value="developer" small label="Developer" {item} />
372
372
  {/snippet}
373
373
  </ToggleButtonGroup>
374
374
  </div>
@@ -57,6 +57,8 @@ export function convertDucklakeSettingsToBackend(settings) {
57
57
  import Alert from '../common/alert/Alert.svelte'
58
58
  import { deepEqual } from 'fast-equals'
59
59
  import Popover from '../meltComponents/Popover.svelte'
60
+ import TextInput from '../text_input/TextInput.svelte'
61
+ import Section from '../Section.svelte'
60
62
 
61
63
  const DEFAULT_DUCKLAKE_CATALOG_NAME = 'ducklake_catalog'
62
64
 
@@ -164,7 +166,7 @@ export function convertDucklakeSettingsToBackend(settings) {
164
166
  <div class="text-primary text-lg font-semibold">Ducklake</div>
165
167
  <Description link="https://www.windmill.dev/docs/core_concepts/ducklake">
166
168
  Windmill has first class support for Ducklake. You can use and explore ducklakes like a normal
167
- SQL database, even through the data is actually stored in parquet files in S3 !
169
+ SQL database, even though the data is actually stored in parquet files in S3 !
168
170
  </Description>
169
171
  </div>
170
172
  </div>
@@ -173,6 +175,52 @@ export function convertDucklakeSettingsToBackend(settings) {
173
175
  <Alert title="Instance catalogs use the Windmill database" class="mb-4" type="info">
174
176
  Using an instance catalog is the fastest way to get started with Ducklake. They are public to
175
177
  the instance and can be re-used in other workspaces' Ducklake settings.
178
+ <div>
179
+ <Section
180
+ label="Manual setup instructions"
181
+ collapsable
182
+ headerClass="mt-6 border bg-surface px-3 py-1 rounded-md text-xs text-secondary"
183
+ class="text-secondary"
184
+ animate
185
+ >
186
+ This is what happens when you create a new Instance catalog with the name
187
+ <code>ducklake_catalog</code>. This may be useful to debug issues in case the automatic
188
+ setup fails in the middle, but in most cases Windmill will handle it for you.
189
+ <br /><br />
190
+
191
+ If the database <code>ducklake_catalog</code> already exists, Windmill assumes that the
192
+ setup was successful and does not do anything. However, it is possible that it failed in the
193
+ middle (in which case you should have seen an error pop up during setup). There is no
194
+ rollback as the following operations do not work in a transaction.
195
+ <br />
196
+ This is what the setup does :
197
+ <br /><br />
198
+ Connect to the Windmill PostgreSQL as the default user (the one in your DATABASE_URL, usually
199
+ 'postgres') and run :
200
+ <br />
201
+ <code class="block p-2 border rounded-md bg-surface mt-2">
202
+ CREATE DATABASE <code>ducklake_catalog</code>;<br />
203
+ GRANT CONNECT ON DATABASE <code>ducklake_catalog</code> TO ducklake_user;
204
+ </code>
205
+ <br />
206
+ Then, connect to the <code>ducklake_catalog</code> database with the same user as above (NOT
207
+ ducklake_user) and run :
208
+ <code class="block p-2 border rounded-md bg-surface mt-2">
209
+ GRANT USAGE ON SCHEMA public TO ducklake_user;<br />
210
+ GRANT CREATE ON SCHEMA public TO ducklake_user;<br />
211
+ ALTER DEFAULT PRIVILEGES IN SCHEMA public<br />
212
+ &nbsp;&nbsp;GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO ducklake_user;
213
+ </code>
214
+ <br />
215
+ After doing that, creating a new Ducklake with an Instance catalog named
216
+ <code>ducklake_catalog</code> should not prompt you to run the automatic setup, and
217
+ everything should work fine.
218
+ <br /><br />
219
+ Note : the ducklake_user is automatically created by Windmill in a migration. Its password is
220
+ auto-generated and stored in the database table <code>global_settings</code> with the key
221
+ <code>ducklake_user_pg_pwd</code>.
222
+ </Section>
223
+ </div>
176
224
  </Alert>
177
225
  {/if}
178
226
 
@@ -209,7 +257,7 @@ export function convertDucklakeSettingsToBackend(settings) {
209
257
  <code class="px-1 py-0.5 border rounded-md">ATTACH 'ducklake' AS dl;</code> shorthand
210
258
  </Tooltip>
211
259
  {/if}
212
- <input bind:value={ducklake.name} placeholder="Name" />
260
+ <TextInput bind:value={ducklake.name} inputProps={{ placeholder: 'Name' }} />
213
261
  </Cell>
214
262
  <Cell>
215
263
  <div class="flex gap-4">
@@ -243,11 +291,13 @@ export function convertDucklakeSettingsToBackend(settings) {
243
291
  <ResourcePicker
244
292
  bind:value={ducklake.catalog.resource_path}
245
293
  resourceType={ducklake.catalog.resource_type}
294
+ selectInputClass="min-h-9"
295
+ class="min-h-9"
246
296
  />
247
297
  {:else}
248
- <input
298
+ <TextInput
249
299
  bind:value={ducklake.catalog.resource_path}
250
- placeholder="PostgreSQL database name"
300
+ inputProps={{ placeholder: 'PostgreSQL database name' }}
251
301
  />
252
302
  {/if}
253
303
  </div>
@@ -269,9 +319,12 @@ export function convertDucklakeSettingsToBackend(settings) {
269
319
  }
270
320
  }
271
321
  class="w-48"
272
- inputClass="!placeholder-primary"
322
+ inputClass="!placeholder-secondary"
323
+ />
324
+ <TextInput
325
+ inputProps={{ placeholder: 'Data path (defaults to /)' }}
326
+ bind:value={ducklake.storage.path}
273
327
  />
274
- <input placeholder="Data path (defaults to /)" bind:value={ducklake.storage.path} />
275
328
  </div>
276
329
  </Cell>
277
330
  <Cell class="w-12">
@@ -283,6 +336,7 @@ export function convertDucklakeSettingsToBackend(settings) {
283
336
  >
284
337
  <svelte:fragment slot="trigger">
285
338
  <ExploreAssetButton
339
+ class="h-9"
286
340
  asset={{ kind: 'ducklake', path: ducklake.name }}
287
341
  {dbManagerDrawer}
288
342
  disabled
@@ -316,8 +370,11 @@ export function convertDucklakeSettingsToBackend(settings) {
316
370
  <Button
317
371
  wrapperClasses="mt-4 mb-44 max-w-fit"
318
372
  on:click={onSave}
319
- disabled={Object.values(ducklakeIsDirty).every((v) => v === false)}>Save ducklake settings</Button
373
+ disabled={ducklakeSavedSettings.ducklakes.length === ducklakeSettings.ducklakes.length &&
374
+ Object.values(ducklakeIsDirty).every((v) => v === false)}
320
375
  >
376
+ Save ducklake settings
377
+ </Button>
321
378
  <DbManagerDrawer bind:this={dbManagerDrawer} />
322
379
 
323
380
  <ConfirmationModal {...confirmationModal.props} />
@@ -0,0 +1,165 @@
1
+ <script lang="ts">import { getModelMaxTokens } from '../copilot/lib';
2
+ import { ChevronDown, ChevronUp } from 'lucide-svelte';
3
+ import { slide } from 'svelte/transition';
4
+ const MAX_TOKENS_LIMIT = 2000000;
5
+ let { aiProviders, maxTokensPerModel = $bindable() } = $props();
6
+ let errors = $state({});
7
+ let collapsedProviders = $state({});
8
+ // Group available models by provider
9
+ const modelsByProvider = $derived(Object.entries(aiProviders).reduce((acc, [provider, config]) => {
10
+ acc[provider] = config.models.map((model) => ({
11
+ provider: provider,
12
+ model
13
+ }));
14
+ return acc;
15
+ }, {}));
16
+ function getModelKey(provider, model) {
17
+ return `${provider}:${model}`;
18
+ }
19
+ function getDefaultTokensForModel(provider, model) {
20
+ return getModelMaxTokens(provider, model);
21
+ }
22
+ function getCurrentTokensForModel(provider, model) {
23
+ const modelKey = getModelKey(provider, model);
24
+ return maxTokensPerModel[modelKey] ?? getDefaultTokensForModel(provider, model);
25
+ }
26
+ function updateTokensForModel(provider, model, tokens) {
27
+ const modelKey = getModelKey(provider, model);
28
+ if (tokens < 1 || tokens > MAX_TOKENS_LIMIT) {
29
+ errors[modelKey] = 'Token limit must be between 1 and ' + MAX_TOKENS_LIMIT;
30
+ return;
31
+ }
32
+ const defaultTokens = getDefaultTokensForModel(provider, model);
33
+ if (tokens === defaultTokens) {
34
+ // Remove from object if it's the default value
35
+ const newSettings = { ...maxTokensPerModel };
36
+ delete newSettings[modelKey];
37
+ maxTokensPerModel = newSettings;
38
+ }
39
+ else {
40
+ maxTokensPerModel = {
41
+ ...maxTokensPerModel,
42
+ [modelKey]: tokens
43
+ };
44
+ }
45
+ errors[modelKey] = '';
46
+ }
47
+ function resetModelToDefault(provider, model) {
48
+ const modelKey = getModelKey(provider, model);
49
+ const newSettings = { ...maxTokensPerModel };
50
+ delete newSettings[modelKey];
51
+ maxTokensPerModel = newSettings;
52
+ }
53
+ function isModelAtDefault(provider, model) {
54
+ const currentTokens = getCurrentTokensForModel(provider, model);
55
+ const defaultTokens = getDefaultTokensForModel(provider, model);
56
+ return currentTokens === defaultTokens;
57
+ }
58
+ function toggleProvider(provider) {
59
+ collapsedProviders[provider] = !collapsedProviders[provider];
60
+ }
61
+ function hasCustomSettings(provider, models) {
62
+ return models.some((m) => !isModelAtDefault(provider, m.model));
63
+ }
64
+ $effect(() => {
65
+ // Initialize collapsedProviders to true for all providers
66
+ collapsedProviders = {
67
+ ...Object.fromEntries(Object.keys(aiProviders).map((provider) => [provider, true]))
68
+ };
69
+ });
70
+ </script>
71
+
72
+ {#if Object.keys(aiProviders).length > 0}
73
+ <div class="flex flex-col gap-4">
74
+ <div class="flex flex-col gap-1">
75
+ <p class="font-semibold">Model Output Limits</p>
76
+ <p class="text-xs text-secondary">
77
+ Configure maximum token limits for each model. These limits apply to all AI chat
78
+ interactions in the workspace.
79
+ </p>
80
+ </div>
81
+
82
+ <div class="flex flex-col gap-3">
83
+ {#each Object.entries(modelsByProvider).filter(([provider, models]) => models.length > 0) as [provider, models]}
84
+ {@const isExpanded = !collapsedProviders[provider]}
85
+ {@const hasCustom = hasCustomSettings(provider, models)}
86
+ <div class="border border-gray-200 dark:border-gray-700 rounded-md">
87
+ <button
88
+ type="button"
89
+ onclick={() => toggleProvider(provider)}
90
+ class="w-full px-4 py-3 flex items-center justify-between bg-surface-secondary hover:bg-surface-hover transition-colors rounded-md"
91
+ >
92
+ <div class="flex items-center gap-2">
93
+ <h4 class="font-medium text-sm capitalize">{provider}</h4>
94
+ {#if hasCustom}
95
+ <span
96
+ class="text-xs px-2 py-0.5 bg-blue-100 dark:bg-blue-900 text-blue-700 dark:text-blue-300 rounded"
97
+ >
98
+ Modified
99
+ </span>
100
+ {/if}
101
+ </div>
102
+ {#if isExpanded}
103
+ <ChevronUp size={16} class="text-gray-500" />
104
+ {:else}
105
+ <ChevronDown size={16} class="text-gray-500" />
106
+ {/if}
107
+ </button>
108
+
109
+ {#if isExpanded}
110
+ <div transition:slide|local={{ duration: 200 }} class="p-3">
111
+ <div class="space-y-3">
112
+ {#each models as { model }}
113
+ {@const currentTokens = getCurrentTokensForModel(provider as AIProvider, model)}
114
+ {@const defaultTokens = getDefaultTokensForModel(provider as AIProvider, model)}
115
+ {@const isAtDefault = isModelAtDefault(provider as AIProvider, model)}
116
+ <div class="flex flex-col gap-1">
117
+ <div class="flex items-center gap-3">
118
+ <div class="flex-1 min-w-0">
119
+ <span class="text-sm text-primary truncate block">{model}</span>
120
+ </div>
121
+ <div class="flex items-center gap-2">
122
+ <input
123
+ type="number"
124
+ min="1"
125
+ max={MAX_TOKENS_LIMIT}
126
+ value={currentTokens}
127
+ oninput={(e) => {
128
+ const value = parseInt(e.currentTarget.value)
129
+ if (!isNaN(value)) {
130
+ updateTokensForModel(provider as AIProvider, model, value)
131
+ }
132
+ }}
133
+ class="w-20 px-2 py-1 text-xs text-center border border-gray-200 dark:border-gray-700 rounded bg-surface focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
134
+ />
135
+ <span class="text-xs text-secondary whitespace-nowrap">tokens</span>
136
+ </div>
137
+ </div>
138
+ {#if !isAtDefault}
139
+ <div class="text-xs text-tertiary flex flex-row items-center gap-1">
140
+ <span>Default: {defaultTokens} tokens</span>
141
+ <button
142
+ type="button"
143
+ onclick={() => resetModelToDefault(provider as AIProvider, model)}
144
+ class="text-xs text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 whitespace-nowrap"
145
+ title="Reset to default ({defaultTokens})"
146
+ >
147
+ Reset
148
+ </button>
149
+ </div>
150
+ {#if errors[getModelKey(provider as AIProvider, model)]}
151
+ <div class="text-xs text-red-500"
152
+ >{errors[getModelKey(provider as AIProvider, model)]}</div
153
+ >
154
+ {/if}
155
+ {/if}
156
+ </div>
157
+ {/each}
158
+ </div>
159
+ </div>
160
+ {/if}
161
+ </div>
162
+ {/each}
163
+ </div>
164
+ </div>
165
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { AIConfig } from '../../gen';
2
+ type $$ComponentProps = {
3
+ aiProviders: Exclude<AIConfig['providers'], undefined>;
4
+ maxTokensPerModel: Record<string, number>;
5
+ };
6
+ declare const ModelTokenLimits: import("svelte").Component<$$ComponentProps, {}, "maxTokensPerModel">;
7
+ type ModelTokenLimits = ReturnType<typeof ModelTokenLimits>;
8
+ export default ModelTokenLimits;