windmill-components 1.448.50 → 1.472.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/package/components/AddUser.svelte +52 -54
  2. package/package/components/ApiConnectForm.svelte +57 -45
  3. package/package/components/AppConnectInner.svelte +18 -8
  4. package/package/components/ArgInput.svelte +132 -83
  5. package/package/components/ArgInput.svelte.d.ts +12 -1
  6. package/package/components/ArrayTypeNarrowing.svelte +35 -30
  7. package/package/components/ArrayTypeNarrowing.svelte.d.ts +1 -0
  8. package/package/components/AssignableTags.svelte +10 -6
  9. package/package/components/AssignableTagsInner.svelte +1 -1
  10. package/package/components/Auth0Setting.svelte +103 -0
  11. package/package/components/Auth0Setting.svelte.d.ts +16 -0
  12. package/package/components/AuthSettings.svelte +7 -2
  13. package/package/components/AutoscalingConfigEditor.svelte +12 -17
  14. package/package/components/ChangeInstanceUsername.svelte +15 -13
  15. package/package/components/ChangeInstanceUsernameInner.svelte +4 -5
  16. package/package/components/ChangeInstanceUsernameInner.svelte.d.ts +1 -0
  17. package/package/components/ConnectionSection.svelte +176 -0
  18. package/package/components/ConnectionSection.svelte.d.ts +28 -0
  19. package/package/components/ContentSearchInner.svelte +13 -3
  20. package/package/components/CronBuilder.svelte +12 -13
  21. package/package/components/CronBuilder.svelte.d.ts +1 -1
  22. package/package/components/CronInput.svelte +1 -1
  23. package/package/components/DBSchemaExplorer.svelte +18 -5
  24. package/package/components/DateTimeInput.svelte +3 -3
  25. package/package/components/DefaultTags.svelte +8 -8
  26. package/package/components/Dev.svelte +30 -8
  27. package/package/components/DisplayResult.svelte +132 -80
  28. package/package/components/DisplayResult.svelte.d.ts +2 -0
  29. package/package/components/DropdownV2.svelte +89 -16
  30. package/package/components/DropdownV2.svelte.d.ts +10 -27
  31. package/package/components/DropdownV2Inner.svelte +7 -4
  32. package/package/components/DropdownV2Inner.svelte.d.ts +4 -25
  33. package/package/components/DynSelect.svelte +6 -2
  34. package/package/components/EditableSchemaForm.svelte +48 -45
  35. package/package/components/EditableSchemaForm.svelte.d.ts +4 -1
  36. package/package/components/Editor.svelte +1 -1
  37. package/package/components/EditorBar.svelte +15 -13
  38. package/package/components/EditorBar.svelte.d.ts +1 -1
  39. package/package/components/EditorSettings.svelte +9 -7
  40. package/package/components/ErrorOrRecoveryHandler.svelte +195 -18
  41. package/package/components/ErrorOrRecoveryHandler.svelte.d.ts +2 -2
  42. package/package/components/FlowBuilder.svelte +10 -31
  43. package/package/components/FlowBuilder.svelte.d.ts +3 -0
  44. package/package/components/FlowBuilderTutorials.svelte +34 -64
  45. package/package/components/FlowBuilderTutorials.svelte.d.ts +0 -1
  46. package/package/components/FlowHistoryJobPicker.svelte +48 -0
  47. package/package/components/FlowHistoryJobPicker.svelte.d.ts +21 -0
  48. package/package/components/FlowJobResult.svelte +6 -3
  49. package/package/components/FlowPreviewContent.svelte +264 -182
  50. package/package/components/FlowPreviewContent.svelte.d.ts +3 -0
  51. package/package/components/FlowStatusViewerInner.svelte +28 -7
  52. package/package/components/FlowStatusWaitingForEvents.svelte +2 -2
  53. package/package/components/FolderEditor.svelte +14 -7
  54. package/package/components/GroupEditor.svelte +4 -0
  55. package/package/components/HistoricInputs.svelte +51 -110
  56. package/package/components/HistoricInputs.svelte.d.ts +9 -3
  57. package/package/components/HistoricList.svelte +95 -0
  58. package/package/components/HistoricList.svelte.d.ts +24 -0
  59. package/package/components/IconedResourceType.svelte +4 -1
  60. package/package/components/InfiniteList.svelte +12 -6
  61. package/package/components/InputTransformForm.svelte +25 -5
  62. package/package/components/InstanceNameEditor.svelte +100 -103
  63. package/package/components/InstanceSetting.svelte +777 -607
  64. package/package/components/InstanceSettings.svelte +33 -36
  65. package/package/components/InviteUser.svelte +43 -43
  66. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte → JsonEditor.svelte} +1 -1
  67. package/package/components/{apps/editor/settingsPanel/inputEditor/JsonEditor.svelte.d.ts → JsonEditor.svelte.d.ts} +1 -1
  68. package/package/components/JsonInputs.svelte +63 -0
  69. package/package/components/JsonInputs.svelte.d.ts +23 -0
  70. package/package/components/Label.svelte +6 -4
  71. package/package/components/Login.svelte +8 -2
  72. package/package/components/OAuthSetting.svelte +42 -15
  73. package/package/components/OAuthSetting.svelte.d.ts +1 -0
  74. package/package/components/ObjectResourceInput.svelte +6 -3
  75. package/package/components/ObjectResourceInput.svelte.d.ts +1 -1
  76. package/package/components/OktaSetting.svelte +9 -3
  77. package/package/components/PasswordArgInput.svelte +1 -1
  78. package/package/components/Path.svelte +16 -1
  79. package/package/components/Path.svelte.d.ts +1 -1
  80. package/package/components/ResourceEditor.svelte +6 -2
  81. package/package/components/ResourcePicker.svelte +3 -3
  82. package/package/components/ResourceTypePicker.svelte +10 -11
  83. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  84. package/package/components/RunForm.svelte +51 -47
  85. package/package/components/RunForm.svelte.d.ts +3 -0
  86. package/package/components/RunFormAdvancedPopup.svelte +2 -7
  87. package/package/components/RunFormAdvancedPopup.svelte.d.ts +0 -2
  88. package/package/components/RunPageSchedules.svelte +3 -2
  89. package/package/components/S3FilePicker.svelte +9 -1
  90. package/package/components/S3FilePicker.svelte.d.ts +1 -0
  91. package/package/components/S3ObjectPicker.svelte +13 -12
  92. package/package/components/S3ObjectPicker.svelte.d.ts +1 -1
  93. package/package/components/SavedInputsPicker.svelte +95 -56
  94. package/package/components/SavedInputsPicker.svelte.d.ts +10 -1
  95. package/package/components/SavedInputsV2.svelte +113 -0
  96. package/package/components/SavedInputsV2.svelte.d.ts +26 -0
  97. package/package/components/ScheduleEditorInner.svelte +40 -13
  98. package/package/components/SchemaForm.svelte +158 -191
  99. package/package/components/SchemaForm.svelte.d.ts +16 -3
  100. package/package/components/SchemaFormWithArgPicker.svelte +166 -0
  101. package/package/components/SchemaFormWithArgPicker.svelte.d.ts +29 -0
  102. package/package/components/ScriptBuilder.svelte +139 -71
  103. package/package/components/ScriptBuilder.svelte.d.ts +3 -0
  104. package/package/components/ScriptEditor.svelte +28 -2
  105. package/package/components/ScriptEditor.svelte.d.ts +2 -2
  106. package/package/components/ScriptPicker.svelte +6 -3
  107. package/package/components/ScriptSchema.svelte +2 -1
  108. package/package/components/ScriptSchema.svelte.d.ts +2 -0
  109. package/package/components/ScriptVersionHistory.svelte +9 -3
  110. package/package/components/Section.svelte +21 -9
  111. package/package/components/Section.svelte.d.ts +4 -0
  112. package/package/components/ShareModal.svelte +10 -5
  113. package/package/components/ShareModal.svelte.d.ts +2 -2
  114. package/package/components/SharedBadge.svelte +3 -3
  115. package/package/components/StringTypeNarrowing.svelte +10 -1
  116. package/package/components/SuperadminSettings.svelte +9 -2
  117. package/package/components/TestJobLoader.svelte +1 -1
  118. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  119. package/package/components/TimelineBar.svelte.d.ts +1 -1
  120. package/package/components/ToggleHubWorkspace.svelte +3 -3
  121. package/package/components/ToggleHubWorkspaceQuick.svelte +4 -4
  122. package/package/components/Tooltip.svelte +36 -30
  123. package/package/components/VariableEditor.svelte +27 -20
  124. package/package/components/WorkerGroup.svelte +12 -3
  125. package/package/components/apps/components/buttons/AppButton.svelte +22 -2
  126. package/package/components/apps/components/buttons/AppFormButton.svelte +74 -70
  127. package/package/components/apps/components/buttons/AppSchemaForm.svelte +4 -2
  128. package/package/components/apps/components/display/AppAccordionList.svelte +149 -0
  129. package/package/components/apps/components/display/AppAccordionList.svelte.d.ts +25 -0
  130. package/package/components/apps/components/display/AppCarouselList.svelte +114 -106
  131. package/package/components/apps/components/display/AppCustomComponent.svelte +13 -13
  132. package/package/components/apps/components/display/AppDisplayComponent.svelte +2 -1
  133. package/package/components/apps/components/display/AppDisplayComponentByJobId.svelte +3 -1
  134. package/package/components/apps/components/display/AppHtml.svelte +28 -22
  135. package/package/components/apps/components/display/AppMarkdown.svelte +98 -31
  136. package/package/components/apps/components/display/AppMenu.svelte +77 -66
  137. package/package/components/apps/components/display/AppMenu.svelte.d.ts +0 -3
  138. package/package/components/apps/components/display/AppRecomputeAll.svelte +12 -1
  139. package/package/components/apps/components/display/AppText.svelte +8 -3
  140. package/package/components/apps/components/display/PlotlyHtml.svelte +16 -12
  141. package/package/components/apps/components/display/PlotlyHtmlV2.svelte +16 -12
  142. package/package/components/apps/components/display/VegaLiteHtml.svelte +9 -5
  143. package/package/components/apps/components/display/dbtable/AppDbExplorer.svelte +1 -1
  144. package/package/components/apps/components/display/dbtable/InsertRow.svelte +4 -4
  145. package/package/components/apps/components/display/dbtable/utils.js +19 -1
  146. package/package/components/apps/components/display/table/AppAggridExplorerTable.svelte +6 -0
  147. package/package/components/apps/components/display/table/AppAggridInfiniteTable.svelte +4 -0
  148. package/package/components/apps/components/display/table/AppAggridTable.svelte +1 -1
  149. package/package/components/apps/components/display/table/AppAggridTableActions.svelte +27 -19
  150. package/package/components/apps/components/display/table/AppTable.svelte +19 -15
  151. package/package/components/apps/components/helpers/InitializeComponent.svelte +1 -0
  152. package/package/components/apps/components/helpers/InputValue.svelte +4 -3
  153. package/package/components/apps/components/helpers/NonRunnableComponent.svelte +0 -2
  154. package/package/components/apps/components/helpers/RunnableComponent.svelte +16 -4
  155. package/package/components/apps/components/helpers/RunnableComponent.svelte.d.ts +1 -0
  156. package/package/components/apps/components/helpers/RunnableWrapper.svelte +32 -3
  157. package/package/components/apps/components/helpers/RunnableWrapper.svelte.d.ts +1 -0
  158. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
  159. package/package/components/apps/components/layout/AppConditionalWrapper.svelte +29 -21
  160. package/package/components/apps/components/layout/AppContainer.svelte +28 -20
  161. package/package/components/apps/components/layout/AppDecisionTree.svelte +59 -49
  162. package/package/components/apps/components/layout/AppDrawer.svelte +94 -87
  163. package/package/components/apps/components/layout/AppList.svelte +70 -62
  164. package/package/components/apps/components/layout/AppModal.svelte +83 -79
  165. package/package/components/apps/components/layout/AppSplitpanes.svelte +51 -43
  166. package/package/components/apps/components/layout/AppStepper.svelte +97 -83
  167. package/package/components/apps/components/layout/AppTabs.svelte +128 -74
  168. package/package/components/apps/editor/AppEditor.svelte +21 -3
  169. package/package/components/apps/editor/AppEditor.svelte.d.ts +24 -1
  170. package/package/components/apps/editor/AppEditorHeader.svelte +73 -61
  171. package/package/components/apps/editor/AppEditorHeader.svelte.d.ts +24 -1
  172. package/package/components/apps/editor/AppEditorTutorial.svelte +53 -60
  173. package/package/components/apps/editor/AppJsonEditor.svelte +1 -1
  174. package/package/components/apps/editor/AppPreview.svelte +5 -5
  175. package/package/components/apps/editor/AppReportsDrawerInner.svelte +1 -0
  176. package/package/components/apps/editor/ComponentHeader.svelte +44 -20
  177. package/package/components/apps/editor/ComponentHeader.svelte.d.ts +1 -0
  178. package/package/components/apps/editor/DecisionTreeDebug.svelte +56 -73
  179. package/package/components/apps/editor/GridEditor.svelte +7 -4
  180. package/package/components/apps/editor/GridViewer.svelte +19 -7
  181. package/package/components/apps/editor/GridViewer.svelte.d.ts +1 -3
  182. package/package/components/apps/editor/PreviewToggle.svelte +3 -0
  183. package/package/components/apps/editor/RecomputeAllButton.svelte +7 -40
  184. package/package/components/apps/editor/RecomputeAllComponents.svelte +52 -19
  185. package/package/components/apps/editor/RecomputeAllWrapper.svelte +1 -10
  186. package/package/components/apps/editor/SubGridEditor.svelte +147 -145
  187. package/package/components/apps/editor/TabsDebug.svelte +43 -56
  188. package/package/components/apps/editor/component/Component.svelte +26 -926
  189. package/package/components/apps/editor/component/Component.svelte.d.ts +2 -3
  190. package/package/components/apps/editor/component/ComponentInner.svelte +775 -0
  191. package/package/components/apps/editor/component/ComponentInner.svelte.d.ts +22 -0
  192. package/package/components/apps/editor/component/ComponentRendered.svelte +195 -0
  193. package/package/components/apps/editor/component/ComponentRendered.svelte.d.ts +28 -0
  194. package/package/components/apps/editor/component/components.d.ts +154 -83
  195. package/package/components/apps/editor/component/components.js +59 -5
  196. package/package/components/apps/editor/component/sets.js +2 -1
  197. package/package/components/apps/editor/componentsPanel/CssProperty.svelte +8 -4
  198. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte +12 -22
  199. package/package/components/apps/editor/componentsPanel/CustomComponentRow.svelte.d.ts +0 -1
  200. package/package/components/apps/editor/componentsPanel/CustomComponentsList.svelte +0 -2
  201. package/package/components/apps/editor/componentsPanel/GroupRow.svelte +12 -22
  202. package/package/components/apps/editor/componentsPanel/GroupRow.svelte.d.ts +0 -1
  203. package/package/components/apps/editor/componentsPanel/NameEditor.svelte +21 -20
  204. package/package/components/apps/editor/componentsPanel/ThemeNameEditor.svelte +9 -9
  205. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte +32 -52
  206. package/package/components/apps/editor/componentsPanel/ThemeRow.svelte.d.ts +0 -1
  207. package/package/components/apps/editor/componentsPanel/cssUtils.js +7 -0
  208. package/package/components/apps/editor/componentsPanel/quickStyleProperties.js +3 -0
  209. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte +46 -0
  210. package/package/components/apps/editor/contextPanel/LazyModePanel.svelte.d.ts +14 -0
  211. package/package/components/apps/editor/contextPanel/components/IdEditor.svelte +19 -13
  212. package/package/components/apps/editor/inlineScriptsPanel/CacheTtlPopup.svelte +10 -7
  213. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +11 -7
  214. package/package/components/apps/editor/inlineScriptsPanel/RunButton.svelte +2 -2
  215. package/package/components/apps/editor/settingsPanel/AlignmentEditor.svelte +8 -6
  216. package/package/components/apps/editor/settingsPanel/ComponentInputTypeEditor.svelte +7 -0
  217. package/package/components/apps/editor/settingsPanel/ComponentPanelDataSource.svelte +5 -2
  218. package/package/components/apps/editor/settingsPanel/HideButton.svelte.d.ts +1 -1
  219. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte +17 -7
  220. package/package/components/apps/editor/settingsPanel/InputsSpecEditor.svelte.d.ts +3 -0
  221. package/package/components/apps/editor/settingsPanel/TableActions.svelte +10 -1
  222. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte +53 -51
  223. package/package/components/apps/editor/settingsPanel/inputEditor/IconSelectInput.svelte.d.ts +0 -1
  224. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +1 -1
  225. package/package/components/apps/rx.d.ts +3 -3
  226. package/package/components/apps/rx.js +5 -5
  227. package/package/components/apps/svelte-grid/Grid.svelte +121 -99
  228. package/package/components/apps/svelte-grid/Grid.svelte.d.ts +0 -1
  229. package/package/components/apps/svelte-grid/MoveResize.svelte +2 -1
  230. package/package/components/apps/svelte-grid/MoveResize.svelte.d.ts +1 -0
  231. package/package/components/apps/svelte-select/lib/Select.svelte.d.ts +8 -8
  232. package/package/components/apps/types.d.ts +2 -0
  233. package/package/components/apps/utils.js +1 -1
  234. package/package/components/auditLogs/AuditLogMobileFilters.svelte +7 -6
  235. package/package/components/auditLogs/AuditLogsFilters.svelte +75 -37
  236. package/package/components/auditLogs/AuditLogsFilters.svelte.d.ts +2 -0
  237. package/package/components/auditLogs/AuditLogsTable.svelte +2 -1
  238. package/package/components/auditLogs/AuditLogsTable.svelte.d.ts +1 -0
  239. package/package/components/common/alert/Alert.svelte +2 -27
  240. package/package/components/common/alert/Alert.svelte.d.ts +1 -1
  241. package/package/components/common/alert/model.d.ts +1 -0
  242. package/package/components/common/alert/model.js +26 -1
  243. package/package/components/common/button/Button.svelte +25 -39
  244. package/package/components/common/button/Button.svelte.d.ts +0 -1
  245. package/package/components/common/calendarPicker/CalendarPicker.svelte +30 -25
  246. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte +12 -10
  247. package/package/components/common/confirmationModal/UnsavedConfirmationModal.svelte.d.ts +2 -3
  248. package/package/components/common/confirmationModal/unsavedTypes.d.ts +6 -0
  249. package/package/components/common/confirmationModal/unsavedTypes.js +1 -0
  250. package/package/components/common/drawer/Disposable.svelte +3 -1
  251. package/package/components/common/drawer/Disposable.svelte.d.ts +1 -0
  252. package/package/components/common/drawer/Drawer.svelte +2 -0
  253. package/package/components/common/drawer/Drawer.svelte.d.ts +1 -0
  254. package/package/components/common/fileInput/FileInput.svelte +63 -20
  255. package/package/components/common/fileInput/FileInput.svelte.d.ts +4 -1
  256. package/package/components/common/fileUpload/FileUpload.svelte +102 -20
  257. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +7 -0
  258. package/package/components/common/index.d.ts +0 -1
  259. package/package/components/common/index.js +0 -1
  260. package/package/components/common/layout/List.svelte.d.ts +1 -1
  261. package/package/components/common/toggleButton-v2/ToggleButton.svelte +42 -39
  262. package/package/components/common/toggleButton-v2/ToggleButton.svelte.d.ts +3 -1
  263. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte +28 -29
  264. package/package/components/common/toggleButton-v2/ToggleButtonGroup.svelte.d.ts +23 -7
  265. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte +17 -18
  266. package/package/components/common/toggleButton-v2/ToggleButtonMore.svelte.d.ts +2 -1
  267. package/package/components/common/waitTimeWarning/WaitTimeWarning.svelte.d.ts +1 -1
  268. package/package/components/copilot/CodeCompletionStatus.svelte +1 -1
  269. package/package/components/copilot/CronGen.svelte +50 -50
  270. package/package/components/copilot/FlowCopilotDrawer.svelte +3 -2
  271. package/package/components/copilot/FlowCopilotStatus.svelte +16 -19
  272. package/package/components/copilot/PredicateGen.svelte +9 -10
  273. package/package/components/copilot/RegexGen.svelte +67 -66
  274. package/package/components/copilot/ScriptFix.svelte +122 -105
  275. package/package/components/copilot/ScriptGen.svelte +177 -135
  276. package/package/components/copilot/StepInputsGen.svelte +31 -28
  277. package/package/components/copilot/{TestAiKey.svelte → TestAIKey.svelte} +13 -2
  278. package/package/components/copilot/{TestAiKey.svelte.d.ts → TestAIKey.svelte.d.ts} +4 -2
  279. package/package/components/copilot/completion.d.ts +2 -2
  280. package/package/components/copilot/completion.js +1 -1
  281. package/package/components/copilot/flow.d.ts +3 -4
  282. package/package/components/copilot/flow.js +1 -1
  283. package/package/components/copilot/lib.d.ts +46 -54
  284. package/package/components/copilot/lib.js +278 -209
  285. package/package/components/copilot/prompts/edit.yaml +19 -0
  286. package/package/components/copilot/prompts/editPrompt.d.ts +3 -0
  287. package/package/components/copilot/prompts/editPrompt.js +3 -0
  288. package/package/components/copilot/prompts/fix.yaml +19 -0
  289. package/package/components/copilot/prompts/fixPrompt.d.ts +3 -0
  290. package/package/components/copilot/prompts/fixPrompt.js +3 -0
  291. package/package/components/copilot/prompts/gen.yaml +12 -0
  292. package/package/components/copilot/prompts/genPrompt.d.ts +3 -0
  293. package/package/components/copilot/prompts/genPrompt.js +3 -0
  294. package/package/components/custom_ui.d.ts +37 -0
  295. package/package/components/details/DetailPageDetailPanel.svelte +3 -1
  296. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +7 -1
  297. package/package/components/details/DetailPageHeader.svelte +12 -27
  298. package/package/components/details/DetailPageLayout.svelte +4 -0
  299. package/package/components/details/DetailPageLayout.svelte.d.ts +6 -0
  300. package/package/components/details/DetailPageTriggerPanel.svelte +20 -8
  301. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +4 -2
  302. package/package/components/details/EmailTriggerConfigSection.svelte +3 -3
  303. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +3 -1
  304. package/package/components/details/EmailTriggerPanel.svelte +1 -0
  305. package/package/components/flows/content/FlowInput.svelte +35 -44
  306. package/package/components/flows/content/FlowInputs.svelte +4 -1
  307. package/package/components/flows/content/FlowModuleComponent.svelte +10 -5
  308. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -1
  309. package/package/components/flows/content/FlowModuleMock.svelte +1 -1
  310. package/package/components/flows/content/FlowModuleSuspend.svelte +15 -2
  311. package/package/components/flows/content/FlowRetries.svelte +4 -3
  312. package/package/components/flows/content/ScriptEditorDrawer.svelte +0 -1
  313. package/package/components/flows/flowStateUtils.js +1 -1
  314. package/package/components/flows/flowStore.d.ts +1 -1
  315. package/package/components/flows/header/FlowPreviewButtons.svelte +25 -16
  316. package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +1 -0
  317. package/package/components/flows/map/FlowJobsMenu.svelte +60 -47
  318. package/package/components/flows/previousResults.js +1 -1
  319. package/package/components/flows/propPicker/FlowPropPicker.svelte +28 -25
  320. package/package/components/flows/propPicker/PropPickerWrapper.svelte +1 -0
  321. package/package/components/flows/scheduleUtils.d.ts +2 -2
  322. package/package/components/flows/scheduleUtils.js +17 -13
  323. package/package/components/graph/FlowGraphV2.svelte +3 -2
  324. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +9 -4
  325. package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
  326. package/package/components/home/FlowIcon.svelte +4 -1
  327. package/package/components/home/FlowIcon.svelte.d.ts +1 -0
  328. package/package/components/home/ItemsList.svelte +32 -24
  329. package/package/components/icons/Auth0Icon.svelte +17 -0
  330. package/package/components/icons/Auth0Icon.svelte.d.ts +23 -0
  331. package/package/components/icons/AwsIcon.svelte +25 -6
  332. package/package/components/icons/AwsIcon.svelte.d.ts +3 -2
  333. package/package/components/icons/brands/Auth0.svelte +24 -0
  334. package/package/components/icons/brands/Auth0.svelte.d.ts +18 -0
  335. package/package/components/icons/index.d.ts +3 -1
  336. package/package/components/icons/index.js +3 -1
  337. package/package/components/instanceSettings.d.ts +5 -0
  338. package/package/components/instanceSettings.js +34 -3
  339. package/package/components/meltComponents/MeltButton.svelte +10 -0
  340. package/package/components/meltComponents/MeltButton.svelte.d.ts +23 -0
  341. package/package/components/meltComponents/Menu.svelte +70 -0
  342. package/package/components/meltComponents/Menu.svelte.d.ts +51 -0
  343. package/package/components/meltComponents/MenuItem.svelte +42 -0
  344. package/package/components/meltComponents/MenuItem.svelte.d.ts +27 -0
  345. package/package/components/meltComponents/MenuSingleItem.svelte +12 -0
  346. package/package/components/meltComponents/MenuSingleItem.svelte.d.ts +36 -0
  347. package/package/components/meltComponents/Menubar.svelte +7 -0
  348. package/package/components/meltComponents/Menubar.svelte.d.ts +255 -0
  349. package/package/components/meltComponents/Popover.svelte +78 -24
  350. package/package/components/meltComponents/Popover.svelte.d.ts +23 -4
  351. package/package/components/meltComponents/SideBarTab.svelte +18 -6
  352. package/package/components/meltComponents/SideBarTab.svelte.d.ts +2 -0
  353. package/package/components/meltComponents/Tooltip.svelte +66 -0
  354. package/package/components/meltComponents/Tooltip.svelte.d.ts +29 -0
  355. package/package/components/meltComponents/index.d.ts +5 -0
  356. package/package/components/meltComponents/index.js +5 -0
  357. package/package/components/preview/FlowPreviewStatus.svelte +2 -1
  358. package/package/components/propertyPicker/ObjectViewer.svelte +15 -3
  359. package/package/components/propertyPicker/PropPicker.svelte +0 -1
  360. package/package/components/runs/JobLoader.svelte +18 -18
  361. package/package/components/runs/JobLoader.svelte.d.ts +1 -1
  362. package/package/components/runs/MobileFilters.svelte +12 -11
  363. package/package/components/runs/PreprocessedArgsDisplay.svelte +2 -3
  364. package/package/components/runs/PreprocessedArgsDisplay.svelte.d.ts +1 -1
  365. package/package/components/runs/RunsFilter.svelte +350 -320
  366. package/package/components/schema/AddPropertyFormV2.svelte +7 -7
  367. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +3 -1
  368. package/package/components/schema/EditableSchemaDrawer.svelte +0 -1
  369. package/package/components/schema/EditableSchemaWrapper.svelte +1 -2
  370. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
  371. package/package/components/schema/FlowPropertyEditor.svelte +51 -67
  372. package/package/components/schema/FlowPropertyEditor.svelte.d.ts +0 -1
  373. package/package/components/schema/InputSelectedBadge.svelte +28 -0
  374. package/package/components/schema/InputSelectedBadge.svelte.d.ts +18 -0
  375. package/package/components/schema/PropertyEditor.svelte +7 -3
  376. package/package/components/schema/SchemaFormDND.svelte +4 -2
  377. package/package/components/schema/SchemaFormDND.svelte.d.ts +2 -1
  378. package/package/components/schema/SchemaPickerRow.svelte +11 -3
  379. package/package/components/schema/SchemaPickerRow.svelte.d.ts +1 -1
  380. package/package/components/scriptEditor/LogPanel.svelte +8 -2
  381. package/package/components/scriptEditor/LogPanel.svelte.d.ts +2 -0
  382. package/package/components/settings/ChangeWorkspaceId.svelte +24 -12
  383. package/package/components/settings/PremiumInfo.svelte +4 -4
  384. package/package/components/settings/WorkspaceOperatorSettings.svelte +159 -0
  385. package/package/components/settings/WorkspaceOperatorSettings.svelte.d.ts +14 -0
  386. package/package/components/settings/WorkspaceUserSettings.svelte +108 -96
  387. package/package/components/sidebar/CriticalAlertModal.svelte +66 -60
  388. package/package/components/sidebar/FavoriteMenu.svelte +30 -21
  389. package/package/components/sidebar/FavoriteMenu.svelte.d.ts +2 -0
  390. package/package/components/sidebar/MenuButton.svelte +20 -5
  391. package/package/components/sidebar/MenuButton.svelte.d.ts +3 -0
  392. package/package/components/sidebar/MenuLink.svelte +8 -5
  393. package/package/components/sidebar/MenuLink.svelte.d.ts +2 -0
  394. package/package/components/sidebar/OperatorMenu.svelte +219 -126
  395. package/package/components/sidebar/SidebarContent.svelte +107 -127
  396. package/package/components/sidebar/SidebarContent.svelte.d.ts +0 -1
  397. package/package/components/sidebar/UserMenu.svelte +91 -111
  398. package/package/components/sidebar/UserMenu.svelte.d.ts +2 -0
  399. package/package/components/sidebar/WorkspaceMenu.svelte +59 -54
  400. package/package/components/sidebar/WorkspaceMenu.svelte.d.ts +2 -0
  401. package/package/components/sidebar/changelogs.js +55 -0
  402. package/package/components/table/DataTable.svelte +6 -14
  403. package/package/components/table/DataTable.svelte.d.ts +1 -0
  404. package/package/components/triggers/CaptureButton.svelte +51 -68
  405. package/package/components/triggers/CaptureSection.svelte +5 -2
  406. package/package/components/triggers/CaptureSection.svelte.d.ts +3 -1
  407. package/package/components/triggers/CaptureTable.svelte +61 -23
  408. package/package/components/triggers/CaptureWrapper.svelte +87 -46
  409. package/package/components/triggers/CaptureWrapper.svelte.d.ts +8 -4
  410. package/package/components/triggers/TestTriggerConnection.svelte +82 -0
  411. package/package/components/triggers/TestTriggerConnection.svelte.d.ts +21 -0
  412. package/package/components/triggers/TriggersEditor.svelte +46 -14
  413. package/package/components/triggers/TriggersEditorSection.svelte +53 -46
  414. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
  415. package/package/components/triggers/TriggersWrapper.svelte +26 -8
  416. package/package/components/triggers/{RouteEditorConfigSection.svelte → http/RouteEditorConfigSection.svelte} +57 -57
  417. package/package/components/triggers/{RouteEditorConfigSection.svelte.d.ts → http/RouteEditorConfigSection.svelte.d.ts} +8 -9
  418. package/package/components/triggers/{RouteEditorInner.svelte → http/RouteEditorInner.svelte} +190 -147
  419. package/package/components/triggers/{RoutesPanel.svelte → http/RoutesPanel.svelte} +44 -47
  420. package/package/components/triggers/{KafkaTriggerEditorInner.svelte → kafka/KafkaTriggerEditorInner.svelte} +23 -23
  421. package/package/components/triggers/{KafkaTriggersConfigSection.svelte → kafka/KafkaTriggersConfigSection.svelte} +29 -17
  422. package/package/components/triggers/{KafkaTriggersConfigSection.svelte.d.ts → kafka/KafkaTriggersConfigSection.svelte.d.ts} +5 -3
  423. package/package/components/triggers/{KafkaTriggersPanel.svelte → kafka/KafkaTriggersPanel.svelte} +40 -45
  424. package/package/components/triggers/{NatsTriggerEditorInner.svelte → nats/NatsTriggerEditorInner.svelte} +19 -20
  425. package/package/components/triggers/{NatsTriggersConfigSection.svelte → nats/NatsTriggersConfigSection.svelte} +25 -18
  426. package/package/components/triggers/{NatsTriggersConfigSection.svelte.d.ts → nats/NatsTriggersConfigSection.svelte.d.ts} +5 -3
  427. package/package/components/triggers/{NatsTriggersPanel.svelte → nats/NatsTriggersPanel.svelte} +41 -44
  428. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte +71 -0
  429. package/package/components/triggers/postgres/CheckPostgresRequirement.svelte.d.ts +18 -0
  430. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte +152 -0
  431. package/package/components/triggers/postgres/PostgresEditorConfigSection.svelte.d.ts +40 -0
  432. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte +19 -0
  433. package/package/components/triggers/postgres/PostgresTriggerEditor.svelte.d.ts +21 -0
  434. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +578 -0
  435. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte.d.ts +21 -0
  436. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte +112 -0
  437. package/package/components/triggers/postgres/PostgresTriggersPanel.svelte.d.ts +28 -0
  438. package/package/components/triggers/postgres/PublicationPicker.svelte +129 -0
  439. package/package/components/triggers/postgres/PublicationPicker.svelte.d.ts +23 -0
  440. package/package/components/triggers/postgres/RelationPicker.svelte +266 -0
  441. package/package/components/triggers/postgres/RelationPicker.svelte.d.ts +19 -0
  442. package/package/components/triggers/postgres/SlotPicker.svelte +92 -0
  443. package/package/components/triggers/postgres/SlotPicker.svelte.d.ts +18 -0
  444. package/package/components/triggers/postgres/utils.d.ts +5 -0
  445. package/package/components/triggers/postgres/utils.js +80 -0
  446. package/package/components/triggers/{ScheduledPollPanel.svelte → scheduled/ScheduledPollPanel.svelte} +3 -3
  447. package/package/components/triggers/sqs/SqsTriggerEditor.svelte +19 -0
  448. package/package/components/triggers/sqs/SqsTriggerEditor.svelte.d.ts +21 -0
  449. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte +152 -0
  450. package/package/components/triggers/sqs/SqsTriggerEditorConfigSection.svelte.d.ts +40 -0
  451. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +234 -0
  452. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte.d.ts +21 -0
  453. package/package/components/triggers/sqs/SqsTriggerPanel.svelte +123 -0
  454. package/package/components/triggers/sqs/SqsTriggerPanel.svelte.d.ts +28 -0
  455. package/package/components/triggers/{WebhooksConfigSection.svelte → webhook/WebhooksConfigSection.svelte} +26 -21
  456. package/package/components/triggers/{WebhooksConfigSection.svelte.d.ts → webhook/WebhooksConfigSection.svelte.d.ts} +6 -4
  457. package/package/components/triggers/{WebhooksPanel.svelte → webhook/WebhooksPanel.svelte} +5 -4
  458. package/package/components/triggers/{WebsocketEditorConfigSection.svelte → websocket/WebsocketEditorConfigSection.svelte} +42 -34
  459. package/package/components/triggers/{WebsocketEditorConfigSection.svelte.d.ts → websocket/WebsocketEditorConfigSection.svelte.d.ts} +5 -3
  460. package/package/components/triggers/{WebsocketTriggerEditorInner.svelte → websocket/WebsocketTriggerEditorInner.svelte} +62 -43
  461. package/package/components/triggers/{WebsocketTriggersPanel.svelte → websocket/WebsocketTriggersPanel.svelte} +45 -49
  462. package/package/components/triggers.d.ts +1 -1
  463. package/package/components/triggers.js +4 -0
  464. package/package/components/tutorials/FlowBuilderTutorialErrorHandler.svelte +1 -1
  465. package/package/components/wizards/AgChartWizard.svelte +26 -24
  466. package/package/components/wizards/AgGridWizard.svelte +166 -161
  467. package/package/components/wizards/ChartJSWizard.svelte +32 -30
  468. package/package/components/wizards/DBExplorerWizard.svelte +21 -12
  469. package/package/components/wizards/NavbarWizard.svelte +108 -107
  470. package/package/components/wizards/PlotlyWizard.svelte +84 -75
  471. package/package/components/wizards/TableActionsWizard.svelte +69 -66
  472. package/package/components/wizards/TableColumnWizard.svelte +52 -47
  473. package/package/gen/core/OpenAPI.js +1 -1
  474. package/package/gen/schemas.gen.d.ts +456 -111
  475. package/package/gen/schemas.gen.js +470 -112
  476. package/package/gen/services.gen.d.ts +429 -2
  477. package/package/gen/services.gen.js +890 -17
  478. package/package/gen/types.gen.d.ts +1491 -158
  479. package/package/hub.d.ts +3 -0
  480. package/package/hubPaths.json +5 -1
  481. package/package/inferArgSig.js +11 -4
  482. package/package/script_helpers.d.ts +5 -3
  483. package/package/script_helpers.js +138 -98
  484. package/package/scripts.d.ts +1 -1
  485. package/package/stores.d.ts +6 -3
  486. package/package/stores.js +5 -3
  487. package/package/utils.d.ts +15 -0
  488. package/package/utils.js +17 -3
  489. package/package/zIndexes.d.ts +2 -0
  490. package/package/zIndexes.js +3 -1
  491. package/package.json +5 -5
  492. package/package/components/CapturesInputs.svelte +0 -16
  493. package/package/components/CapturesInputs.svelte.d.ts +0 -21
  494. package/package/components/LightweightArgInput.svelte +0 -622
  495. package/package/components/LightweightArgInput.svelte.d.ts +0 -70
  496. package/package/components/LightweightObjectResourceInput.svelte +0 -40
  497. package/package/components/LightweightObjectResourceInput.svelte.d.ts +0 -19
  498. package/package/components/LightweightSchemaForm.svelte +0 -100
  499. package/package/components/LightweightSchemaForm.svelte.d.ts +0 -43
  500. package/package/components/common/button/ButtonDropdown.svelte +0 -61
  501. package/package/components/common/button/ButtonDropdown.svelte.d.ts +0 -22
  502. package/package/components/common/menu/MenuV2.svelte +0 -51
  503. package/package/components/common/menu/MenuV2.svelte.d.ts +0 -26
  504. package/package/components/common/popup/Popup.svelte +0 -66
  505. package/package/components/common/popup/Popup.svelte.d.ts +0 -35
  506. package/package/components/common/toggleButton-v2/ToggleEnable.svelte +0 -34
  507. package/package/components/common/toggleButton-v2/ToggleEnable.svelte.d.ts +0 -23
  508. package/package/components/details/Menu.svelte +0 -58
  509. package/package/components/details/Menu.svelte.d.ts +0 -16
  510. package/package/components/flows/map/FlowCopilotButton.svelte +0 -54
  511. package/package/components/flows/map/FlowCopilotButton.svelte.d.ts +0 -16
  512. package/package/components/meltComponents/ButtonDropDown.svelte +0 -32
  513. package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +0 -27
  514. package/package/components/tutorials/TutorialItem.svelte +0 -27
  515. package/package/components/tutorials/TutorialItem.svelte.d.ts +0 -22
  516. /package/package/components/triggers/{RouteEditor.svelte → http/RouteEditor.svelte} +0 -0
  517. /package/package/components/triggers/{RouteEditor.svelte.d.ts → http/RouteEditor.svelte.d.ts} +0 -0
  518. /package/package/components/triggers/{RouteEditorInner.svelte.d.ts → http/RouteEditorInner.svelte.d.ts} +0 -0
  519. /package/package/components/triggers/{RoutesPanel.svelte.d.ts → http/RoutesPanel.svelte.d.ts} +0 -0
  520. /package/package/components/triggers/{KafkaTriggerEditor.svelte → kafka/KafkaTriggerEditor.svelte} +0 -0
  521. /package/package/components/triggers/{KafkaTriggerEditor.svelte.d.ts → kafka/KafkaTriggerEditor.svelte.d.ts} +0 -0
  522. /package/package/components/triggers/{KafkaTriggerEditorInner.svelte.d.ts → kafka/KafkaTriggerEditorInner.svelte.d.ts} +0 -0
  523. /package/package/components/triggers/{KafkaTriggersPanel.svelte.d.ts → kafka/KafkaTriggersPanel.svelte.d.ts} +0 -0
  524. /package/package/components/triggers/{NatsTriggerEditor.svelte → nats/NatsTriggerEditor.svelte} +0 -0
  525. /package/package/components/triggers/{NatsTriggerEditor.svelte.d.ts → nats/NatsTriggerEditor.svelte.d.ts} +0 -0
  526. /package/package/components/triggers/{NatsTriggerEditorInner.svelte.d.ts → nats/NatsTriggerEditorInner.svelte.d.ts} +0 -0
  527. /package/package/components/triggers/{NatsTriggersPanel.svelte.d.ts → nats/NatsTriggersPanel.svelte.d.ts} +0 -0
  528. /package/package/components/triggers/{ScheduledPollPanel.svelte.d.ts → scheduled/ScheduledPollPanel.svelte.d.ts} +0 -0
  529. /package/package/components/triggers/{WebhooksPanel.svelte.d.ts → webhook/WebhooksPanel.svelte.d.ts} +0 -0
  530. /package/package/components/triggers/{WebsocketTriggerEditor.svelte → websocket/WebsocketTriggerEditor.svelte} +0 -0
  531. /package/package/components/triggers/{WebsocketTriggerEditor.svelte.d.ts → websocket/WebsocketTriggerEditor.svelte.d.ts} +0 -0
  532. /package/package/components/triggers/{WebsocketTriggerEditorInner.svelte.d.ts → websocket/WebsocketTriggerEditorInner.svelte.d.ts} +0 -0
  533. /package/package/components/triggers/{WebsocketTriggersPanel.svelte.d.ts → websocket/WebsocketTriggersPanel.svelte.d.ts} +0 -0
@@ -1,29 +1,137 @@
1
- import { OpenAI } from 'openai';
2
- import { OpenAPI, ResourceService } from '../../gen';
1
+ import { copilotInfo, copilotSessionModel } from '../../stores';
3
2
  import { Anthropic } from '@anthropic-ai/sdk';
4
- import { formatResourceTypes } from './utils';
5
- import { EDIT_CONFIG, FIX_CONFIG, GEN_CONFIG } from './prompts';
6
3
  import { Mistral } from '@mistralai/mistralai';
7
4
  import { buildClientSchema, printSchema } from 'graphql';
5
+ import { OpenAI } from 'openai';
6
+ import { get } from 'svelte/store';
7
+ import { OpenAPI, ResourceService } from '../../gen';
8
+ import { EDIT_CONFIG, FIX_CONFIG, GEN_CONFIG } from './prompts';
9
+ import { formatResourceTypes } from './utils';
8
10
  export const SUPPORTED_LANGUAGES = new Set(Object.keys(GEN_CONFIG.prompts));
9
- class WorkspacedMistral {
10
- client;
11
- init(workspace, updateClient, token) {
12
- if (!this.client || updateClient) {
13
- this.client = initWorkspaceAiProvider(workspace, 'mistral', token);
11
+ // need at least one model for each provider except customai
12
+ export const AI_DEFAULT_MODELS = {
13
+ openai: ['gpt-4o', 'gpt-4o-mini'],
14
+ anthropic: [
15
+ 'claude-3-7-sonnet-latest',
16
+ 'claude-3-7-sonnet-latest/thinking',
17
+ 'claude-3-5-haiku-latest',
18
+ 'claude-3-5-sonnet-latest'
19
+ ],
20
+ mistral: ['codestral-latest'],
21
+ deepseek: ['deepseek-chat', 'deepseek-reasoner'],
22
+ googleai: ['gemini-1.5-pro', 'gemini-2.0-flash', 'gemini-1.5-flash'],
23
+ groq: ['llama-3.3-70b-versatile', 'llama-3.1-8b-instant'],
24
+ openrouter: ['meta-llama/llama-3.2-3b-instruct:free'],
25
+ customai: []
26
+ };
27
+ export const OPENAI_COMPATIBLE_BASE_URLS = {
28
+ groq: 'https://api.groq.com/openai/v1',
29
+ openrouter: 'https://openrouter.ai/api/v1',
30
+ deepseek: 'https://api.deepseek.com/v1',
31
+ googleai: 'https://generativelanguage.googleapis.com/v1beta/openai'
32
+ };
33
+ function prepareOpenaiCompatibleMessages(aiProvider, messages) {
34
+ switch (aiProvider) {
35
+ case 'googleai':
36
+ // system messages are not supported by gemini
37
+ const systemMessage = messages.find((m) => m.role === 'system');
38
+ if (systemMessage) {
39
+ messages.shift();
40
+ const startMessages = [
41
+ {
42
+ role: 'user',
43
+ content: 'System prompt: ' + systemMessage.content
44
+ },
45
+ {
46
+ role: 'assistant',
47
+ content: 'Understood'
48
+ }
49
+ ];
50
+ messages = [...startMessages, ...messages];
51
+ }
52
+ return messages;
53
+ default:
54
+ return messages;
55
+ }
56
+ }
57
+ const DEFAULT_COMPLETION_CONFIG = {
58
+ model: '',
59
+ max_tokens: 8192,
60
+ temperature: 0,
61
+ seed: 42,
62
+ stream: true,
63
+ messages: []
64
+ };
65
+ export const OPENAI_COMPATIBLE_COMPLETION_CONFIG = {
66
+ groq: DEFAULT_COMPLETION_CONFIG,
67
+ openrouter: DEFAULT_COMPLETION_CONFIG,
68
+ deepseek: DEFAULT_COMPLETION_CONFIG,
69
+ customai: DEFAULT_COMPLETION_CONFIG,
70
+ googleai: {
71
+ ...DEFAULT_COMPLETION_CONFIG,
72
+ seed: undefined // not supported by gemini
73
+ }
74
+ };
75
+ class WorkspacedAIClients {
76
+ openaiClient;
77
+ anthropicClient;
78
+ mistralClient;
79
+ init(workspace) {
80
+ this.initOpenai(workspace);
81
+ this.initAnthropic(workspace);
82
+ this.initMistral(workspace);
83
+ }
84
+ getBaseURL(workspace) {
85
+ return `${location.origin}${OpenAPI.BASE}/w/${workspace}/ai/proxy`;
86
+ }
87
+ initOpenai(workspace) {
88
+ const baseURL = this.getBaseURL(workspace);
89
+ this.openaiClient = new OpenAI({
90
+ baseURL,
91
+ apiKey: 'fake-key',
92
+ defaultHeaders: {
93
+ Authorization: '' // a non empty string will be unable to access Windmill backend proxy
94
+ },
95
+ dangerouslyAllowBrowser: true
96
+ });
97
+ }
98
+ initAnthropic(workspace) {
99
+ const baseURL = this.getBaseURL(workspace);
100
+ this.anthropicClient = new Anthropic({
101
+ baseURL,
102
+ apiKey: 'fake-key',
103
+ dangerouslyAllowBrowser: true
104
+ });
105
+ }
106
+ initMistral(workspace) {
107
+ const baseURL = this.getBaseURL(workspace);
108
+ this.mistralClient = new Mistral({
109
+ serverURL: baseURL
110
+ });
111
+ }
112
+ getOpenaiClient() {
113
+ if (!this.openaiClient) {
114
+ throw new Error('OpenAI not initialized');
14
115
  }
116
+ return this.openaiClient;
15
117
  }
16
- getClient() {
17
- if (!this.client) {
18
- throw new Error('AnthropicAi not initialized');
118
+ getAnthropicClient() {
119
+ if (!this.anthropicClient) {
120
+ throw new Error('Anthropic not initialized');
19
121
  }
20
- return this.client;
122
+ return this.anthropicClient;
123
+ }
124
+ getMistralClient() {
125
+ if (!this.mistralClient) {
126
+ throw new Error('Mistral not initialized');
127
+ }
128
+ return this.mistralClient;
21
129
  }
22
130
  }
23
- export var MistralAi;
24
- (function (MistralAi) {
25
- MistralAi.workspace = new WorkspacedMistral();
26
- MistralAi.mistralConfig = {
131
+ export const workspaceAIClients = new WorkspacedAIClients();
132
+ var MistralAI;
133
+ (function (MistralAI) {
134
+ MistralAI.mistralConfig = {
27
135
  temperature: 0,
28
136
  model: null,
29
137
  maxTokens: 32000,
@@ -41,29 +149,13 @@ export var MistralAi;
41
149
  }
42
150
  return chunks;
43
151
  }
44
- MistralAi.retrieveTextValue = retrieveTextValue;
45
- })(MistralAi || (MistralAi = {}));
46
- class WorkspacedAnthropic {
47
- client;
48
- init(workspace, updateClient, token = undefined) {
49
- if (!this.client || updateClient) {
50
- this.client = initWorkspaceAiProvider(workspace, 'anthropic', token);
51
- }
52
- }
53
- getClient() {
54
- if (!this.client) {
55
- throw new Error('AnthropicAi not initialized');
56
- }
57
- return this.client;
58
- }
59
- }
60
- export var AnthropicAi;
61
- (function (AnthropicAi) {
62
- AnthropicAi.workspace = new WorkspacedAnthropic();
63
- AnthropicAi.config = {
64
- temperature: 0,
152
+ MistralAI.retrieveTextValue = retrieveTextValue;
153
+ })(MistralAI || (MistralAI = {}));
154
+ export var AnthropicAI;
155
+ (function (AnthropicAI) {
156
+ AnthropicAI.config = {
65
157
  max_tokens: 8192,
66
- model: 'claude-3-5-sonnet-20241022',
158
+ model: '',
67
159
  messages: []
68
160
  };
69
161
  function getSystemPromptAndArrayMessages(messages) {
@@ -80,42 +172,24 @@ export var AnthropicAi;
80
172
  });
81
173
  return [system, anthropicMessages ?? []];
82
174
  }
83
- AnthropicAi.getSystemPromptAndArrayMessages = getSystemPromptAndArrayMessages;
175
+ AnthropicAI.getSystemPromptAndArrayMessages = getSystemPromptAndArrayMessages;
84
176
  function retrieveTextValue(part) {
85
177
  let response = '';
86
178
  if (part.type == 'content_block_delta') {
87
179
  if (part.delta.type == 'text_delta') {
88
180
  response = part.delta.text;
89
181
  }
90
- else {
91
- response = part.delta.partial_json;
92
- }
93
182
  }
94
183
  return response;
95
184
  }
96
- AnthropicAi.retrieveTextValue = retrieveTextValue;
97
- })(AnthropicAi || (AnthropicAi = {}));
98
- class WorkspacedOpenai {
99
- client;
100
- init(workspace, updateClient, token = undefined) {
101
- if (!this.client || updateClient) {
102
- this.client = initWorkspaceAiProvider(workspace, 'openai', token);
103
- }
104
- }
105
- getClient() {
106
- if (!this.client) {
107
- throw new Error('OpenAI not initialized');
108
- }
109
- return this.client;
110
- }
111
- }
112
- export var OpenAi;
185
+ AnthropicAI.retrieveTextValue = retrieveTextValue;
186
+ })(AnthropicAI || (AnthropicAI = {}));
187
+ var OpenAi;
113
188
  (function (OpenAi) {
114
- OpenAi.workspace = new WorkspacedOpenai();
115
189
  OpenAi.openaiConfig = {
116
190
  temperature: 0,
117
191
  max_tokens: 16384,
118
- model: 'gpt-4o-2024-08-06',
192
+ model: '',
119
193
  seed: 42,
120
194
  stream: true,
121
195
  messages: []
@@ -125,101 +199,15 @@ export var OpenAi;
125
199
  }
126
200
  OpenAi.retrieveTextValue = retrieveTextValue;
127
201
  })(OpenAi || (OpenAi = {}));
128
- export function initAllAiWorkspace(workspace, updateClient = false) {
129
- OpenAi.workspace.init(workspace, updateClient);
130
- AnthropicAi.workspace.init(workspace, updateClient);
131
- MistralAi.workspace.init(workspace, updateClient);
132
- }
133
- function initWorkspaceAiProvider(workspace, aiProvider, token = undefined) {
134
- const baseURL = `${location.origin}${OpenAPI.BASE}/w/${workspace}/ai/proxy`;
135
- let client;
136
- switch (aiProvider) {
137
- case 'openai': {
138
- client = new OpenAI({
139
- baseURL,
140
- apiKey: 'fake-key',
141
- defaultHeaders: {
142
- Authorization: token ? `Bearer ${token}` : ''
143
- },
144
- dangerouslyAllowBrowser: true
145
- });
146
- break;
147
- }
148
- case 'anthropic': {
149
- client = new Anthropic({
150
- baseURL,
151
- apiKey: 'fake-key',
152
- defaultHeaders: {
153
- Authorization: token ? `Bearer ${token}` : ''
154
- },
155
- dangerouslyAllowBrowser: true
156
- });
157
- break;
158
- }
159
- case 'mistral': {
160
- client = new Mistral({
161
- serverURL: baseURL
162
- });
163
- }
164
- }
165
- return client;
166
- }
167
- export async function testKey({ apiKey, abortController, messages, aiProvider }) {
168
- if (apiKey) {
169
- switch (aiProvider) {
170
- case 'openai': {
171
- const openai = new OpenAI({
172
- apiKey,
173
- dangerouslyAllowBrowser: true
174
- });
175
- await openai.chat.completions.create({
176
- ...OpenAi.openaiConfig,
177
- messages,
178
- stream: false
179
- }, {
180
- signal: abortController.signal
181
- });
182
- break;
183
- }
184
- case 'anthropic': {
185
- const anthropic = new Anthropic({
186
- apiKey,
187
- dangerouslyAllowBrowser: true
188
- });
189
- const [, anthropicMessages] = AnthropicAi.getSystemPromptAndArrayMessages(messages);
190
- await anthropic.messages.create({
191
- ...AnthropicAi.config,
192
- messages: anthropicMessages,
193
- stream: false
194
- }, {
195
- signal: abortController.signal
196
- });
197
- break;
198
- }
199
- case 'mistral': {
200
- const mistral = new Mistral({
201
- apiKey
202
- });
203
- await mistral.chat.complete({
204
- ...MistralAi.mistralConfig,
205
- model: 'codestral-latest',
206
- stream: false,
207
- messages: messages
208
- }, {
209
- fetchOptions: {
210
- signal: abortController.signal,
211
- headers: {
212
- 'content-type': 'application/json'
213
- }
214
- }
215
- });
216
- break;
217
- }
218
- }
202
+ export async function testKey({ apiKey, resourcePath, model, abortController, messages, aiProvider }) {
203
+ if (!apiKey && !resourcePath) {
204
+ throw new Error('API key or resource path is required');
219
205
  }
220
- else {
221
- await getNonStreamingCompletion(messages, abortController, aiProvider, undefined, true);
206
+ const modelToTest = model ?? AI_DEFAULT_MODELS[aiProvider][0];
207
+ if (!modelToTest) {
208
+ throw new Error('Missing a model to test');
222
209
  }
210
+ await getNonStreamingCompletion(messages, abortController, aiProvider, apiKey, resourcePath, modelToTest);
223
211
  }
224
212
  async function getResourceTypes(scriptOptions) {
225
213
  const elems = scriptOptions.type === 'gen' || scriptOptions.type === 'edit' ? [scriptOptions.description] : [];
@@ -340,111 +328,192 @@ const PROMPTS_CONFIGS = {
340
328
  edit: EDIT_CONFIG,
341
329
  gen: GEN_CONFIG
342
330
  };
343
- export async function getNonStreamingCompletion(messages, abortController, aiProvider, model = OpenAi.openaiConfig.model, noCache) {
331
+ export async function getNonStreamingCompletion(messages, abortController, aiProvider, apiKey, // testing API KEY directly from the frontend
332
+ resourcePath, // testing resource path passed as a header to the backend proxy
333
+ forceModel) {
344
334
  let response = '';
345
- const queryOptions = {
346
- query: {
347
- no_cache: noCache
348
- },
335
+ let model = forceModel;
336
+ if (!model) {
337
+ model = get(copilotSessionModel);
338
+ let info = get(copilotInfo);
339
+ const { ai_models: aiModels } = info;
340
+ if (!model || !aiModels.includes(model)) {
341
+ console.warn('Invalid model, using default model:', aiModels[0]);
342
+ model = aiModels[0];
343
+ }
344
+ }
345
+ if (!model) {
346
+ throw new Error('No model found');
347
+ }
348
+ const fetchOptions = {
349
349
  signal: abortController.signal
350
350
  };
351
+ if (resourcePath) {
352
+ fetchOptions.headers = {
353
+ 'X-Resource-Path': resourcePath
354
+ };
355
+ }
351
356
  switch (aiProvider) {
352
- case 'openai': {
353
- const openaiClient = OpenAi.workspace.getClient();
354
- const completion = await openaiClient.chat.completions.create({
355
- ...OpenAi.openaiConfig,
356
- messages,
357
- stream: false,
358
- model
359
- }, queryOptions);
360
- response = completion.choices[0]?.message.content || '';
361
- break;
362
- }
363
357
  case 'anthropic': {
364
- const anthropicClient = AnthropicAi.workspace.getClient();
365
- const [system, anthropicMessages] = AnthropicAi.getSystemPromptAndArrayMessages(messages);
358
+ const anthropicClient = apiKey
359
+ ? new Anthropic({
360
+ apiKey,
361
+ dangerouslyAllowBrowser: true
362
+ })
363
+ : workspaceAIClients.getAnthropicClient();
364
+ const [system, anthropicMessages] = AnthropicAI.getSystemPromptAndArrayMessages(messages);
366
365
  const message = await anthropicClient.messages.create({
367
- ...AnthropicAi.config,
366
+ ...AnthropicAI.config,
368
367
  system,
368
+ ...(model.endsWith('/thinking')
369
+ ? {
370
+ thinking: {
371
+ type: 'enabled',
372
+ budget_tokens: 1024
373
+ },
374
+ model: model.slice(0, -9)
375
+ }
376
+ : {
377
+ model,
378
+ temperature: 0
379
+ }),
369
380
  messages: anthropicMessages,
370
381
  stream: false
371
- }, queryOptions);
382
+ }, fetchOptions);
372
383
  response = message.content[0].type === 'text' ? message.content[0].text : '';
373
384
  break;
374
385
  }
375
386
  case 'mistral': {
376
- const mistralClient = MistralAi.workspace.getClient();
387
+ const mistralClient = apiKey
388
+ ? new Mistral({
389
+ apiKey
390
+ })
391
+ : workspaceAIClients.getMistralClient();
377
392
  const message = await mistralClient.chat.complete({
378
- ...MistralAi.mistralConfig,
379
- model: 'codestral-latest',
393
+ ...MistralAI.mistralConfig,
394
+ model,
380
395
  stream: false,
381
396
  messages: messages
382
397
  }, {
383
- fetchOptions: {
384
- signal: abortController.signal,
385
- cache: 'no-store'
386
- }
398
+ fetchOptions: fetchOptions
387
399
  });
388
- response = MistralAi.retrieveTextValue(message.choices && message.choices[0].message.content);
400
+ response = MistralAI.retrieveTextValue(message.choices && message.choices[0].message.content);
389
401
  break;
390
402
  }
403
+ default: {
404
+ if (aiProvider === 'customai' && apiKey) {
405
+ throw new Error('Cannot test API key for Custom AI, only resource path is supported');
406
+ }
407
+ const baseURL = OPENAI_COMPATIBLE_BASE_URLS[aiProvider];
408
+ if (apiKey && aiProvider !== 'openai' && !baseURL) {
409
+ throw new Error('No base URL for this provider: ' + aiProvider);
410
+ }
411
+ const openaiClient = apiKey
412
+ ? new OpenAI({
413
+ apiKey,
414
+ baseURL,
415
+ dangerouslyAllowBrowser: true
416
+ })
417
+ : workspaceAIClients.getOpenaiClient();
418
+ const config = aiProvider === 'openai'
419
+ ? OpenAi.openaiConfig
420
+ : OPENAI_COMPATIBLE_COMPLETION_CONFIG[aiProvider];
421
+ if (!config) {
422
+ throw new Error('No config for this provider: ' + aiProvider);
423
+ }
424
+ const processedMessages = prepareOpenaiCompatibleMessages(aiProvider, messages);
425
+ const completion = await openaiClient.chat.completions.create({
426
+ ...config,
427
+ messages: processedMessages,
428
+ model,
429
+ stream: false
430
+ }, fetchOptions);
431
+ response = completion.choices[0]?.message.content || '';
432
+ }
391
433
  }
392
434
  return response;
393
435
  }
394
- export async function getCompletion(messages, abortController, aiProvider, model = OpenAi.openaiConfig.model) {
436
+ export async function getCompletion(messages, abortController, aiProvider) {
437
+ let model = get(copilotSessionModel);
438
+ let info = get(copilotInfo);
439
+ const { ai_models: aiModels } = info;
440
+ if (!model || !aiModels.includes(model)) {
441
+ console.warn('Invalid model, using default model:', aiModels[0]);
442
+ model = aiModels[0];
443
+ }
444
+ if (!model) {
445
+ throw new Error('No model found');
446
+ }
395
447
  switch (aiProvider) {
396
448
  case 'anthropic': {
397
- const anthropicClient = AnthropicAi.workspace.getClient();
398
- const [system, anthropicMessages] = AnthropicAi.getSystemPromptAndArrayMessages(messages);
449
+ const anthropicClient = workspaceAIClients.getAnthropicClient();
450
+ const [system, anthropicMessages] = AnthropicAI.getSystemPromptAndArrayMessages(messages);
399
451
  const completion = await anthropicClient.messages.create({
400
- ...AnthropicAi.config,
452
+ ...AnthropicAI.config,
453
+ ...(model.endsWith('/thinking')
454
+ ? {
455
+ thinking: {
456
+ type: 'enabled',
457
+ budget_tokens: 1024
458
+ },
459
+ model: model.slice(0, -9)
460
+ }
461
+ : {
462
+ model,
463
+ temperature: 0
464
+ }),
401
465
  system,
402
466
  messages: anthropicMessages,
403
467
  stream: true
404
468
  }, { signal: abortController.signal });
405
469
  return completion;
406
470
  }
407
- case 'openai': {
408
- const openaiClient = OpenAi.workspace.getClient();
409
- const completion = await openaiClient.chat.completions.create({
410
- ...OpenAi.openaiConfig,
411
- messages,
412
- model
413
- }, {
414
- signal: abortController.signal
415
- });
416
- return completion;
417
- }
418
471
  case 'mistral': {
419
- const mistralClient = MistralAi.workspace.getClient();
472
+ const mistralClient = workspaceAIClients.getMistralClient();
420
473
  const message = await mistralClient.chat.stream({
421
- ...MistralAi.mistralConfig,
422
- model: 'codestral-latest',
474
+ ...MistralAI.mistralConfig,
475
+ model,
423
476
  messages: messages
424
477
  }, {
425
478
  fetchOptions: {
426
- signal: abortController.signal,
427
- cache: 'no-store'
479
+ signal: abortController.signal
428
480
  }
429
481
  });
430
482
  return message;
431
483
  }
484
+ default: {
485
+ const openaiClient = workspaceAIClients.getOpenaiClient();
486
+ const config = aiProvider === 'openai'
487
+ ? OpenAi.openaiConfig
488
+ : OPENAI_COMPATIBLE_COMPLETION_CONFIG[aiProvider];
489
+ if (!config) {
490
+ throw new Error('No config for this provider: ' + aiProvider);
491
+ }
492
+ const processedMessages = prepareOpenaiCompatibleMessages(aiProvider, messages);
493
+ const completion = await openaiClient.chat.completions.create({
494
+ ...config,
495
+ model,
496
+ messages: processedMessages
497
+ }, {
498
+ signal: abortController.signal
499
+ });
500
+ return completion;
501
+ }
432
502
  }
433
503
  }
434
504
  export function getResponseFromEvent(part, aiProvider) {
435
505
  switch (aiProvider) {
436
- case 'openai': {
437
- const messages = part;
438
- return OpenAi.retrieveTextValue(messages);
439
- }
440
506
  case 'anthropic': {
441
507
  const messages = part;
442
- return AnthropicAi.retrieveTextValue(messages);
508
+ return AnthropicAI.retrieveTextValue(messages);
443
509
  }
444
510
  case 'mistral': {
445
511
  const messages = part;
446
- return MistralAi.retrieveTextValue(messages.data.choices[0].delta.content);
512
+ return MistralAI.retrieveTextValue(messages.data.choices[0].delta.content);
447
513
  }
514
+ default:
515
+ const messages = part;
516
+ return OpenAi.retrieveTextValue(messages);
448
517
  }
449
518
  }
450
519
  export async function copilot(scriptOptions, generatedCode, abortController, aiProvider, generatedExplanation) {
@@ -45,6 +45,25 @@ prompts:
45
45
  Naming conventions are guidelines, but follow the user's naming choices in the existing code.
46
46
  </contextual_information>
47
47
  My instructions: {description}
48
+ rust:
49
+ prompt: |-
50
+ Here's my Rust code:
51
+ ```rust
52
+ {code}
53
+ ```
54
+ <contextual_information>
55
+ Please define a `main` function in Rust with this signature:
56
+ ```rust
57
+ pub fn main(...) -> Result<ReturnType, Box<dyn std::error::Error>>
58
+ ```
59
+ but do not call it. Favor idiomatic Rust patterns, ensuring safe handling of ownership and borrowing, robust error handling with `Result`, and concurrency if needed (`async`/`tokio` or std threading).
60
+
61
+ Follow these guidelines:
62
+ - Include necessary imports and modules only when needed.
63
+ - Add comments explaining important operations and any unsafe usage (if absolutely required).
64
+ - The generated code should be easily executable and testable in an integrated terminal.
65
+ </contextual_information>
66
+ My instructions: {description}
48
67
  go:
49
68
  prompt: |-
50
69
  Here's my go code:
@@ -7,6 +7,9 @@ export declare const EDIT_PROMPT: {
7
7
  deno: {
8
8
  prompt: string;
9
9
  };
10
+ rust: {
11
+ prompt: string;
12
+ };
10
13
  go: {
11
14
  prompt: string;
12
15
  };
@@ -7,6 +7,9 @@ export const EDIT_PROMPT = {
7
7
  "deno": {
8
8
  "prompt": "Here's my TypeScript code in a deno running environment:\n```typescript\n{code}\n```\n<contextual_information>\nWe have to export a \"main\" function like this: \"export async function main(...)\" and specify the parameter types but do not call it. You should generally return the result.\nIf needed, the standard fetch method is available globally, do not import it.\nYou can take as parameters resources which are dictionaries containing credentials or configuration information. Name the resource parameters like this: \"{resource_type}Resource\". \nThe resource type name has to be exactly as specified.\n<resourceTypes>\n{resourceTypes}\n</resourceTypes>\nOnly define the type for resources that are actually needed to achieve the function purpose. If the type name conflicts with the imported object, rename the imported object NOT THE TYPE.\nNaming conventions are guidelines, but follow the user's naming choices in the existing code.\n</contextual_information>\nMy instructions: {description}"
9
9
  },
10
+ "rust": {
11
+ "prompt": "Here's my Rust code:\n```rust\n{code}\n```\n<contextual_information>\nPlease define a `main` function in Rust with this signature:\n```rust\npub fn main(...) -> Result<ReturnType, Box<dyn std::error::Error>>\n```\nbut do not call it. Favor idiomatic Rust patterns, ensuring safe handling of ownership and borrowing, robust error handling with `Result`, and concurrency if needed (`async`/`tokio` or std threading). \n\nFollow these guidelines:\n- Include necessary imports and modules only when needed.\n- Add comments explaining important operations and any unsafe usage (if absolutely required).\n- The generated code should be easily executable and testable in an integrated terminal.\n</contextual_information>\nMy instructions: {description} "
12
+ },
10
13
  "go": {
11
14
  "prompt": "Here's my go code: \n```go\n{code}\n```\n<contextual_information>\nWe have to export a \"main\" function. Import the packages you need. The return type of the function has to be ({return_type}, error). The file package has to be \"inner\"\n</contextual_information>\nMy instructions: {description}"
12
15
  },
@@ -49,6 +49,25 @@ prompts:
49
49
  </contextual_information>
50
50
  I get the following error: {error}
51
51
  Fix my code.
52
+ rust:
53
+ prompt: |-
54
+ Here's my Rust code:
55
+ ```rust
56
+ {code}
57
+ ```
58
+ <contextual_information>
59
+ Please define a `main` function in Rust with this signature:
60
+ ```rust
61
+ pub fn main(...) -> Result<ReturnType, Box<dyn std::error::Error>>
62
+ ```
63
+ but do not call it. Favor idiomatic Rust patterns, ensuring safe handling of ownership and borrowing, robust error handling with `Result`, and concurrency if needed (`async`/`tokio` or std threading).
64
+
65
+ - Include necessary imports and modules only when needed.
66
+ - Add comments explaining important operations and any unsafe usage (if absolutely required).
67
+ - The generated code should be easily executable and testable in an integrated terminal.
68
+ </contextual_information>
69
+ I get the following error: {error}
70
+ Fix my code.
52
71
  go:
53
72
  prompt: |-
54
73
  Here's my go code:
@@ -7,6 +7,9 @@ export declare const FIX_PROMPT: {
7
7
  deno: {
8
8
  prompt: string;
9
9
  };
10
+ rust: {
11
+ prompt: string;
12
+ };
10
13
  go: {
11
14
  prompt: string;
12
15
  };