windmill-components 1.655.2 → 1.665.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 (649) hide show
  1. package/package/components/ApiConnectForm.svelte +6 -6
  2. package/package/components/ApiConnectForm.svelte.d.ts +3 -2
  3. package/package/components/AppConnectDrawer.svelte +3 -1
  4. package/package/components/AppConnectDrawer.svelte.d.ts +2 -0
  5. package/package/components/AppConnectInner.svelte +137 -72
  6. package/package/components/AppConnectInner.svelte.d.ts +1 -0
  7. package/package/components/CompareWorkspaces.svelte +32 -24
  8. package/package/components/DBManager.svelte +7 -13
  9. package/package/components/DBTable.svelte +2 -2
  10. package/package/components/DBTableEditor.svelte +39 -31
  11. package/package/components/DBTableEditor.svelte.d.ts +2 -2
  12. package/package/components/DedicatedWorkersSelector.svelte +292 -85
  13. package/package/components/DeployWorkspace.svelte +30 -26
  14. package/package/components/Dev.svelte +7 -2
  15. package/package/components/Dev.svelte.d.ts +3 -0
  16. package/package/components/Editor.svelte +17 -13
  17. package/package/components/EditorBar.svelte.d.ts +1 -1
  18. package/package/components/FilterSearchbar.svelte +1 -1
  19. package/package/components/FirstStepInputs.svelte +0 -1
  20. package/package/components/FlowBuilder.svelte +5 -0
  21. package/package/components/FlowGraphDiffViewer.svelte +3 -0
  22. package/package/components/FlowGraphViewer.svelte +7 -4
  23. package/package/components/FlowGraphViewer.svelte.d.ts +1 -0
  24. package/package/components/FlowGraphViewerStep.svelte +3 -3
  25. package/package/components/FlowGraphViewerStep.svelte.d.ts +1 -0
  26. package/package/components/FlowPreviewContent.svelte +11 -1
  27. package/package/components/FlowStatusViewer.svelte +4 -1
  28. package/package/components/FlowStatusViewer.svelte.d.ts +3 -1
  29. package/package/components/FlowStatusViewerInner.svelte +46 -11
  30. package/package/components/FlowStatusViewerInner.svelte.d.ts +4 -1
  31. package/package/components/FlowStatusWaitingForEvents.svelte +48 -103
  32. package/package/components/FlowTimeline.svelte +76 -84
  33. package/package/components/FlowViewer.svelte +40 -22
  34. package/package/components/FlowViewer.svelte.d.ts +8 -2
  35. package/package/components/GroupEditor.svelte +7 -9
  36. package/package/components/HistoricList.svelte +12 -4
  37. package/package/components/InstanceGroupEditor.svelte +92 -19
  38. package/package/components/InstanceSetting.svelte +16 -6
  39. package/package/components/InstanceSettings.svelte +51 -7
  40. package/package/components/InstanceSettings.svelte.d.ts +2 -1
  41. package/package/components/JobLoader.svelte +5 -4
  42. package/package/components/JobLoader.svelte.d.ts +1 -1
  43. package/package/components/Login.svelte +9 -1
  44. package/package/components/NoMainFuncBadge.svelte +2 -2
  45. package/package/components/OnBehalfOfSelector.svelte +49 -37
  46. package/package/components/OnBehalfOfSelector.svelte.d.ts +16 -6
  47. package/package/components/ResourceEditor.svelte +16 -11
  48. package/package/components/ResourceEditor.svelte.d.ts +1 -0
  49. package/package/components/ResourceEditorDrawer.svelte +3 -1
  50. package/package/components/ResourceEditorDrawer.svelte.d.ts +6 -2
  51. package/package/components/ResourcePicker.svelte +10 -5
  52. package/package/components/ResourcePicker.svelte.d.ts +2 -0
  53. package/package/components/S3FilePickerInner.svelte +12 -4
  54. package/package/components/SchemaForm.svelte +20 -14
  55. package/package/components/SchemaForm.svelte.d.ts +2 -2
  56. package/package/components/ScriptBuilder.svelte +158 -18
  57. package/package/components/ScriptEditor.svelte +674 -150
  58. package/package/components/ScriptEditor.svelte.d.ts +7 -3
  59. package/package/components/SuperadminSettings.svelte +4 -1
  60. package/package/components/SuperadminSettingsInner.svelte +176 -67
  61. package/package/components/SuperadminSettingsInner.svelte.d.ts +3 -1
  62. package/package/components/SyncResourceTypes.svelte +31 -0
  63. package/package/components/SyncResourceTypes.svelte.d.ts +6 -0
  64. package/package/components/TimelineBar.svelte +14 -8
  65. package/package/components/TimelineBar.svelte.d.ts +1 -0
  66. package/package/components/WorkerGroup.svelte +11 -4
  67. package/package/components/WorkflowTimeline.svelte +386 -58
  68. package/package/components/WorkflowTimeline.svelte.d.ts +6 -1
  69. package/package/components/WorkspaceDependenciesEditor.svelte +32 -2
  70. package/package/components/apps/components/display/dbtable/DeleteRow.svelte +2 -2
  71. package/package/components/apps/components/display/dbtable/InsertRowRunnable.svelte +2 -2
  72. package/package/components/apps/components/display/dbtable/UpdateCell.svelte +2 -2
  73. package/package/components/apps/components/display/dbtable/metadata.js +44 -222
  74. package/package/components/apps/components/display/dbtable/queries/count.d.ts +9 -0
  75. package/package/components/apps/components/display/dbtable/queries/delete.d.ts +9 -0
  76. package/package/components/apps/components/display/dbtable/queries/insert.d.ts +9 -0
  77. package/package/components/apps/components/display/dbtable/queries/relationalKeys.d.ts +7 -0
  78. package/package/components/apps/components/display/dbtable/queries/relationalKeys.js +1 -1
  79. package/package/components/apps/components/display/dbtable/queries/select.d.ts +9 -0
  80. package/package/components/apps/components/display/dbtable/queries/update.d.ts +9 -0
  81. package/package/components/apps/editor/AppEditorHeaderDeploy.svelte +11 -9
  82. package/package/components/apps/editor/appUtilsS3.js +2 -2
  83. package/package/components/apps/editor/inlineScriptsPanel/InlineScriptsPanel.svelte +53 -10
  84. package/package/components/common/clearableInput/ClearableInput.svelte +3 -7
  85. package/package/components/common/confirmationModal/ConfirmationModal.svelte +7 -1
  86. package/package/components/common/confirmationModal/ConfirmationModal.svelte.d.ts +1 -0
  87. package/package/components/common/drawer/Disposable.svelte +24 -2
  88. package/package/components/common/drawer/Disposable.svelte.d.ts +5 -0
  89. package/package/components/common/modal/Modal.svelte +84 -58
  90. package/package/components/common/table/AppRow.svelte.d.ts +1 -1
  91. package/package/components/common/table/FlowRow.svelte.d.ts +1 -1
  92. package/package/components/common/table/ScriptRow.svelte +31 -3
  93. package/package/components/common/table/ScriptRow.svelte.d.ts +1 -1
  94. package/package/components/copilot/MetadataGen.svelte +8 -5
  95. package/package/components/copilot/MetadataGen.svelte.d.ts +1 -0
  96. package/package/components/copilot/TestAIKey.svelte +2 -1
  97. package/package/components/copilot/TestAIKey.svelte.d.ts +1 -0
  98. package/package/components/copilot/chat/AIChatManager.svelte.js +62 -80
  99. package/package/components/copilot/chat/HistoryManager.svelte.d.ts +1 -0
  100. package/package/components/copilot/chat/HistoryManager.svelte.js +3 -0
  101. package/package/components/copilot/chat/__tests__/app/appChat.eval.test.js +47 -31
  102. package/package/components/copilot/chat/__tests__/app/appEvalComparison.d.ts +1 -6
  103. package/package/components/copilot/chat/__tests__/app/appEvalComparison.js +18 -13
  104. package/package/components/copilot/chat/__tests__/app/appEvalRunner.d.ts +14 -5
  105. package/package/components/copilot/chat/__tests__/app/appEvalRunner.js +13 -12
  106. package/package/components/copilot/chat/__tests__/flow/flowChat.eval.test.js +46 -29
  107. package/package/components/copilot/chat/__tests__/flow/flowEvalComparison.js +1 -4
  108. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.d.ts +14 -5
  109. package/package/components/copilot/chat/__tests__/flow/flowEvalRunner.js +13 -12
  110. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.d.ts +5 -8
  111. package/package/components/copilot/chat/__tests__/shared/baseEvalRunner.js +82 -108
  112. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.d.ts +4 -7
  113. package/package/components/copilot/chat/__tests__/shared/baseLLMEvaluator.js +19 -11
  114. package/package/components/copilot/chat/__tests__/shared/types.d.ts +3 -0
  115. package/package/components/copilot/chat/anthropic.d.ts +9 -2
  116. package/package/components/copilot/chat/anthropic.js +12 -6
  117. package/package/components/copilot/chat/app/core.js +5 -12
  118. package/package/components/copilot/chat/chatLoop.d.ts +40 -0
  119. package/package/components/copilot/chat/chatLoop.js +97 -0
  120. package/package/components/copilot/chat/openai-responses.d.ts +8 -2
  121. package/package/components/copilot/chat/openai-responses.js +17 -17
  122. package/package/components/copilot/chat/shared.d.ts +2 -1
  123. package/package/components/copilot/chat/shared.js +2 -2
  124. package/package/components/copilot/lib.d.ts +14 -5
  125. package/package/components/copilot/lib.js +68 -48
  126. package/package/components/dbOps.d.ts +2 -2
  127. package/package/components/dbOps.js +129 -53
  128. package/package/components/debug/debugUtils.d.ts +5 -0
  129. package/package/components/debug/debugUtils.js +20 -0
  130. package/package/components/debug/index.d.ts +1 -1
  131. package/package/components/debug/index.js +3 -7
  132. package/package/components/flows/CreateActionsFlow.svelte +221 -43
  133. package/package/components/flows/DebounceLimit.svelte +42 -9
  134. package/package/components/flows/common/FlowCard.svelte +2 -1
  135. package/package/components/flows/common/FlowCard.svelte.d.ts +1 -0
  136. package/package/components/flows/common/FlowCardHeader.svelte +14 -10
  137. package/package/components/flows/common/FlowCardHeader.svelte.d.ts +1 -0
  138. package/package/components/flows/content/AgentToolWrapper.svelte +2 -1
  139. package/package/components/flows/content/AgentToolWrapper.svelte.d.ts +1 -0
  140. package/package/components/flows/content/FlowEditorPanel.svelte +1 -0
  141. package/package/components/flows/content/FlowModuleComponent.svelte +32 -18
  142. package/package/components/flows/content/FlowModuleComponent.svelte.d.ts +1 -0
  143. package/package/components/flows/content/FlowModuleDebounce.svelte +46 -0
  144. package/package/components/flows/content/FlowModuleDebounce.svelte.d.ts +8 -0
  145. package/package/components/flows/content/FlowModuleEarlyStop.svelte +26 -5
  146. package/package/components/flows/content/FlowModuleWrapper.svelte +1 -0
  147. package/package/components/flows/content/FlowRetries.svelte +57 -57
  148. package/package/components/flows/content/FlowSelectionPanel.svelte +9 -14
  149. package/package/components/flows/content/FlowSelectionPanel.svelte.d.ts +1 -0
  150. package/package/components/flows/content/FlowSettings.svelte +6 -6
  151. package/package/components/flows/content/ScriptEditorDrawer.svelte +1 -1
  152. package/package/components/flows/content/SuspendDrawer.svelte +0 -18
  153. package/package/components/flows/header/FlowYamlEditor.svelte +20 -4
  154. package/package/components/flows/map/FlowErrorHandlerItem.svelte +32 -14
  155. package/package/components/flows/map/FlowErrorHandlerItem.svelte.d.ts +1 -0
  156. package/package/components/flows/map/FlowModuleSchemaItem.svelte +7 -10
  157. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +1 -8
  158. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +0 -2
  159. package/package/components/flows/map/FlowModuleSchemaMap.svelte +343 -137
  160. package/package/components/flows/map/FlowModuleSchemaMap.svelte.d.ts +1 -0
  161. package/package/components/flows/map/FlowStickyNode.svelte +24 -16
  162. package/package/components/flows/map/FlowStickyNode.svelte.d.ts +1 -0
  163. package/package/components/flows/map/VirtualItemWrapper.svelte +1 -1
  164. package/package/components/flows/pickers/PickHubScriptQuick.svelte.d.ts +1 -1
  165. package/package/components/flows/propPicker/OutputPickerInner.svelte +5 -1
  166. package/package/components/flows/scheduleUtils.js +3 -1
  167. package/package/components/flows/utils.svelte.js +6 -1
  168. package/package/components/git_sync/GitSyncContext.svelte.js +13 -2
  169. package/package/components/git_sync/GitSyncSection.svelte +135 -99
  170. package/package/components/graph/DragGhost.svelte +11 -2
  171. package/package/components/graph/FlowGraphV2.svelte +138 -42
  172. package/package/components/graph/FlowGraphV2.svelte.d.ts +15 -1
  173. package/package/components/graph/GroupActionBar.svelte +124 -0
  174. package/package/components/graph/GroupActionBar.svelte.d.ts +20 -0
  175. package/package/components/graph/GroupHeader.svelte +98 -0
  176. package/package/components/graph/GroupHeader.svelte.d.ts +11 -0
  177. package/package/components/graph/GroupHeaderBlock.svelte +58 -0
  178. package/package/components/graph/GroupHeaderBlock.svelte.d.ts +13 -0
  179. package/package/components/graph/GroupModuleIcons.svelte +163 -0
  180. package/package/components/graph/GroupModuleIcons.svelte.d.ts +11 -0
  181. package/package/components/graph/GroupNodeCard.svelte +127 -0
  182. package/package/components/graph/GroupNodeCard.svelte.d.ts +18 -0
  183. package/package/components/graph/GroupNoteArea.svelte +132 -0
  184. package/package/components/graph/GroupNoteArea.svelte.d.ts +11 -0
  185. package/package/components/graph/GroupOverlay.svelte +71 -0
  186. package/package/components/graph/GroupOverlay.svelte.d.ts +12 -0
  187. package/package/components/graph/MiniFlowGraph.svelte +17 -2
  188. package/package/components/graph/SelectionBoundingBox.svelte +14 -14
  189. package/package/components/graph/compoundLayout.d.ts +17 -1
  190. package/package/components/graph/compoundLayout.js +129 -14
  191. package/package/components/graph/flowStructure.d.ts +63 -0
  192. package/package/components/graph/flowStructure.js +422 -0
  193. package/package/components/graph/flowStructure.test.d.ts +1 -0
  194. package/package/components/graph/flowStructure.test.js +205 -0
  195. package/package/components/graph/graphBuilder.svelte.d.ts +52 -3
  196. package/package/components/graph/graphBuilder.svelte.js +170 -67
  197. package/package/components/graph/graphContext.d.ts +7 -0
  198. package/package/components/graph/groupDetectionUtils.d.ts +24 -1
  199. package/package/components/graph/groupDetectionUtils.js +101 -1
  200. package/package/components/graph/groupEditor.svelte.d.ts +105 -0
  201. package/package/components/graph/groupEditor.svelte.js +253 -0
  202. package/package/components/graph/groupedModulesProxy.svelte.d.ts +55 -0
  203. package/package/components/graph/groupedModulesProxy.svelte.js +130 -0
  204. package/package/components/graph/model.d.ts +2 -1
  205. package/package/components/graph/moveManager.svelte.js +0 -3
  206. package/package/components/graph/nodeExtraSpace.d.ts +32 -0
  207. package/package/components/graph/nodeExtraSpace.js +113 -0
  208. package/package/components/graph/noteColors.d.ts +1 -0
  209. package/package/components/graph/noteColors.js +20 -10
  210. package/package/components/graph/noteUtils.svelte.d.ts +0 -18
  211. package/package/components/graph/noteUtils.svelte.js +6 -41
  212. package/package/components/graph/renderers/edges/BaseEdge.svelte +26 -11
  213. package/package/components/graph/renderers/nodes/AIToolNode.svelte +24 -49
  214. package/package/components/graph/renderers/nodes/AIToolNode.svelte.d.ts +1 -4
  215. package/package/components/graph/renderers/nodes/AssetNode.svelte +1 -27
  216. package/package/components/graph/renderers/nodes/AssetNode.svelte.d.ts +0 -4
  217. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte +85 -0
  218. package/package/components/graph/renderers/nodes/CollapsedGroupNode.svelte.d.ts +8 -0
  219. package/package/components/graph/renderers/nodes/ForLoopStartNode.svelte +3 -2
  220. package/package/components/graph/renderers/nodes/GroupEndNode.svelte +9 -0
  221. package/package/components/graph/renderers/nodes/GroupEndNode.svelte.d.ts +6 -0
  222. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte +20 -0
  223. package/package/components/graph/renderers/nodes/GroupHeadNode.svelte.d.ts +8 -0
  224. package/package/components/graph/renderers/nodes/ModuleNode.svelte +8 -5
  225. package/package/components/graph/renderers/triggers/TriggersWrapper.svelte +1 -1
  226. package/package/components/graph/util.d.ts +5 -1
  227. package/package/components/graph/util.js +7 -5
  228. package/package/components/home/Item.svelte +1 -0
  229. package/package/components/home/ItemsList.svelte +1 -1
  230. package/package/components/icons/ActiveCampaignIcon.svelte +10 -0
  231. package/package/components/icons/ActiveCampaignIcon.svelte.d.ts +7 -0
  232. package/package/components/icons/AlgoliaIcon.svelte +7 -0
  233. package/package/components/icons/AlgoliaIcon.svelte.d.ts +7 -0
  234. package/package/components/icons/ApolloIcon.svelte +7 -0
  235. package/package/components/icons/ApolloIcon.svelte.d.ts +7 -0
  236. package/package/components/icons/BambooHrIcon.svelte +7 -0
  237. package/package/components/icons/BambooHrIcon.svelte.d.ts +7 -0
  238. package/package/components/icons/BaremetricsIcon.svelte +7 -0
  239. package/package/components/icons/BaremetricsIcon.svelte.d.ts +7 -0
  240. package/package/components/icons/BitlyIcon.svelte +7 -0
  241. package/package/components/icons/BitlyIcon.svelte.d.ts +7 -0
  242. package/package/components/icons/BloggerIcon.svelte +7 -0
  243. package/package/components/icons/BloggerIcon.svelte.d.ts +7 -0
  244. package/package/components/icons/BlueskyIcon.svelte +7 -0
  245. package/package/components/icons/BlueskyIcon.svelte.d.ts +7 -0
  246. package/package/components/icons/BoxIcon.svelte +7 -0
  247. package/package/components/icons/BoxIcon.svelte.d.ts +7 -0
  248. package/package/components/icons/BrevoIcon.svelte +7 -0
  249. package/package/components/icons/BrevoIcon.svelte.d.ts +7 -0
  250. package/package/components/icons/BrexIcon.svelte +7 -0
  251. package/package/components/icons/BrexIcon.svelte.d.ts +7 -0
  252. package/package/components/icons/BrowserlessIcon.svelte +7 -0
  253. package/package/components/icons/BrowserlessIcon.svelte.d.ts +7 -0
  254. package/package/components/icons/BubbleIcon.svelte +11 -0
  255. package/package/components/icons/BubbleIcon.svelte.d.ts +7 -0
  256. package/package/components/icons/BuildkiteIcon.svelte +7 -0
  257. package/package/components/icons/BuildkiteIcon.svelte.d.ts +7 -0
  258. package/package/components/icons/CalcomIcon.svelte +1 -1
  259. package/package/components/icons/CalendlyIcon.svelte +7 -0
  260. package/package/components/icons/CalendlyIcon.svelte.d.ts +7 -0
  261. package/package/components/icons/CircleCiIcon.svelte +7 -0
  262. package/package/components/icons/CircleCiIcon.svelte.d.ts +7 -0
  263. package/package/components/icons/CiscoIcon.svelte +7 -0
  264. package/package/components/icons/CiscoIcon.svelte.d.ts +7 -0
  265. package/package/components/icons/ClearbitIcon.svelte +7 -0
  266. package/package/components/icons/ClearbitIcon.svelte.d.ts +7 -0
  267. package/package/components/icons/ClerkIcon.svelte +7 -0
  268. package/package/components/icons/ClerkIcon.svelte.d.ts +7 -0
  269. package/package/components/icons/CloseIcon.svelte +37 -0
  270. package/package/components/icons/CloseIcon.svelte.d.ts +7 -0
  271. package/package/components/icons/CloudinaryIcon.svelte +7 -0
  272. package/package/components/icons/CloudinaryIcon.svelte.d.ts +7 -0
  273. package/package/components/icons/CockroachDbIcon.svelte +7 -0
  274. package/package/components/icons/CockroachDbIcon.svelte.d.ts +7 -0
  275. package/package/components/icons/CodaIcon.svelte +7 -0
  276. package/package/components/icons/CodaIcon.svelte.d.ts +7 -0
  277. package/package/components/icons/CohereIcon.svelte +16 -0
  278. package/package/components/icons/CohereIcon.svelte.d.ts +7 -0
  279. package/package/components/icons/CoinMarketCapIcon.svelte +7 -0
  280. package/package/components/icons/CoinMarketCapIcon.svelte.d.ts +7 -0
  281. package/package/components/icons/CoinbaseIcon.svelte +7 -0
  282. package/package/components/icons/CoinbaseIcon.svelte.d.ts +7 -0
  283. package/package/components/icons/ConfluenceIcon.svelte +7 -0
  284. package/package/components/icons/ConfluenceIcon.svelte.d.ts +7 -0
  285. package/package/components/icons/ContentfulIcon.svelte +7 -0
  286. package/package/components/icons/ContentfulIcon.svelte.d.ts +7 -0
  287. package/package/components/icons/ConvertKitIcon.svelte +7 -0
  288. package/package/components/icons/ConvertKitIcon.svelte.d.ts +7 -0
  289. package/package/components/icons/DatoCmsIcon.svelte +7 -0
  290. package/package/components/icons/DatoCmsIcon.svelte.d.ts +7 -0
  291. package/package/components/icons/DeelIcon.svelte +7 -0
  292. package/package/components/icons/DeelIcon.svelte.d.ts +7 -0
  293. package/package/components/icons/DeepLIcon.svelte +7 -0
  294. package/package/components/icons/DeepLIcon.svelte.d.ts +7 -0
  295. package/package/components/icons/DigitalOceanIcon.svelte +7 -0
  296. package/package/components/icons/DigitalOceanIcon.svelte.d.ts +7 -0
  297. package/package/components/icons/DiscourseIcon.svelte +7 -0
  298. package/package/components/icons/DiscourseIcon.svelte.d.ts +7 -0
  299. package/package/components/icons/DocusignIcon.svelte +7 -0
  300. package/package/components/icons/DocusignIcon.svelte.d.ts +7 -0
  301. package/package/components/icons/DropboxIcon.svelte +7 -0
  302. package/package/components/icons/DropboxIcon.svelte.d.ts +7 -0
  303. package/package/components/icons/EdgeDbIcon.svelte +16 -20
  304. package/package/components/icons/EventbriteIcon.svelte +10 -0
  305. package/package/components/icons/EventbriteIcon.svelte.d.ts +7 -0
  306. package/package/components/icons/FigmaIcon.svelte +7 -0
  307. package/package/components/icons/FigmaIcon.svelte.d.ts +7 -0
  308. package/package/components/icons/FlyIcon.svelte +7 -0
  309. package/package/components/icons/FlyIcon.svelte.d.ts +7 -0
  310. package/package/components/icons/FreshdeskIcon.svelte +7 -0
  311. package/package/components/icons/FreshdeskIcon.svelte.d.ts +7 -0
  312. package/package/components/icons/FrontAppIcon.svelte +7 -0
  313. package/package/components/icons/FrontAppIcon.svelte.d.ts +7 -0
  314. package/package/components/icons/GhostCmsIcon.svelte +7 -0
  315. package/package/components/icons/GhostCmsIcon.svelte.d.ts +7 -0
  316. package/package/components/icons/GiphyIcon.svelte +7 -0
  317. package/package/components/icons/GiphyIcon.svelte.d.ts +7 -0
  318. package/package/components/icons/GitBookIcon.svelte +7 -0
  319. package/package/components/icons/GitBookIcon.svelte.d.ts +7 -0
  320. package/package/components/icons/GroqIcon.svelte +7 -0
  321. package/package/components/icons/GroqIcon.svelte.d.ts +7 -0
  322. package/package/components/icons/HoneybadgerIcon.svelte +7 -0
  323. package/package/components/icons/HoneybadgerIcon.svelte.d.ts +7 -0
  324. package/package/components/icons/HttpIcon.svelte +1 -0
  325. package/package/components/icons/IftttIcon.svelte +7 -0
  326. package/package/components/icons/IftttIcon.svelte.d.ts +7 -0
  327. package/package/components/icons/IntercomIcon.svelte +7 -0
  328. package/package/components/icons/IntercomIcon.svelte.d.ts +7 -0
  329. package/package/components/icons/JoomlaIcon.svelte +7 -0
  330. package/package/components/icons/JoomlaIcon.svelte.d.ts +7 -0
  331. package/package/components/icons/LineIcon.svelte +7 -0
  332. package/package/components/icons/LineIcon.svelte.d.ts +7 -0
  333. package/package/components/icons/LinearIcon.svelte +7 -0
  334. package/package/components/icons/LinearIcon.svelte.d.ts +7 -0
  335. package/package/components/icons/LinodeIcon.svelte +7 -0
  336. package/package/components/icons/LinodeIcon.svelte.d.ts +7 -0
  337. package/package/components/icons/LumaAiIcon.svelte +39 -0
  338. package/package/components/icons/LumaAiIcon.svelte.d.ts +7 -0
  339. package/package/components/icons/MSTeamsIcon.svelte +20 -38
  340. package/package/components/icons/MSTeamsIcon.svelte.d.ts +2 -0
  341. package/package/components/icons/MagentoIcon.svelte +7 -0
  342. package/package/components/icons/MagentoIcon.svelte.d.ts +7 -0
  343. package/package/components/icons/MailchimpIcon.svelte +25 -13
  344. package/package/components/icons/MandrillIcon.svelte +7 -0
  345. package/package/components/icons/MandrillIcon.svelte.d.ts +7 -0
  346. package/package/components/icons/MauticIcon.svelte +7 -0
  347. package/package/components/icons/MauticIcon.svelte.d.ts +7 -0
  348. package/package/components/icons/MediumIcon.svelte +7 -0
  349. package/package/components/icons/MediumIcon.svelte.d.ts +7 -0
  350. package/package/components/icons/MiroIcon.svelte +7 -0
  351. package/package/components/icons/MiroIcon.svelte.d.ts +7 -0
  352. package/package/components/icons/MistralIcon.svelte +7 -0
  353. package/package/components/icons/MistralIcon.svelte.d.ts +7 -0
  354. package/package/components/icons/MixpanelIcon.svelte +7 -0
  355. package/package/components/icons/MixpanelIcon.svelte.d.ts +7 -0
  356. package/package/components/icons/MondayIcon.svelte +7 -0
  357. package/package/components/icons/MondayIcon.svelte.d.ts +7 -0
  358. package/package/components/icons/NeonDbIcon.svelte +23 -0
  359. package/package/components/icons/NeonDbIcon.svelte.d.ts +7 -0
  360. package/package/components/icons/NetlifyIcon.svelte +7 -0
  361. package/package/components/icons/NetlifyIcon.svelte.d.ts +7 -0
  362. package/package/components/icons/OneSignalIcon.svelte +9 -0
  363. package/package/components/icons/OneSignalIcon.svelte.d.ts +7 -0
  364. package/package/components/icons/OpenWeatherIcon.svelte +7 -0
  365. package/package/components/icons/OpenWeatherIcon.svelte.d.ts +7 -0
  366. package/package/components/icons/PagerDutyIcon.svelte +7 -0
  367. package/package/components/icons/PagerDutyIcon.svelte.d.ts +7 -0
  368. package/package/components/icons/PandaDocIcon.svelte +7 -0
  369. package/package/components/icons/PandaDocIcon.svelte.d.ts +7 -0
  370. package/package/components/icons/PaypalIcon.svelte +7 -0
  371. package/package/components/icons/PaypalIcon.svelte.d.ts +7 -0
  372. package/package/components/icons/PersonioIcon.svelte +7 -0
  373. package/package/components/icons/PersonioIcon.svelte.d.ts +7 -0
  374. package/package/components/icons/PinterestIcon.svelte +7 -0
  375. package/package/components/icons/PinterestIcon.svelte.d.ts +7 -0
  376. package/package/components/icons/PipedriveIcon.svelte +11 -0
  377. package/package/components/icons/PipedriveIcon.svelte.d.ts +7 -0
  378. package/package/components/icons/PlanetScaleIcon.svelte +7 -0
  379. package/package/components/icons/PlanetScaleIcon.svelte.d.ts +7 -0
  380. package/package/components/icons/PostmarkIcon.svelte +7 -0
  381. package/package/components/icons/PostmarkIcon.svelte.d.ts +7 -0
  382. package/package/components/icons/PusherIcon.svelte +7 -0
  383. package/package/components/icons/PusherIcon.svelte.d.ts +7 -0
  384. package/package/components/icons/QuickbooksIcon.svelte +13 -1
  385. package/package/components/icons/RaindropIcon.svelte +27 -0
  386. package/package/components/icons/RaindropIcon.svelte.d.ts +7 -0
  387. package/package/components/icons/ReadwiseIcon.svelte +12 -0
  388. package/package/components/icons/ReadwiseIcon.svelte.d.ts +7 -0
  389. package/package/components/icons/RenderIcon.svelte +7 -0
  390. package/package/components/icons/RenderIcon.svelte.d.ts +7 -0
  391. package/package/components/icons/ReplicateIcon.svelte +7 -0
  392. package/package/components/icons/ReplicateIcon.svelte.d.ts +7 -0
  393. package/package/components/icons/ResendIcon.svelte +1 -1
  394. package/package/components/icons/RestIcon.svelte +1 -0
  395. package/package/components/icons/RingCentralIcon.svelte +7 -0
  396. package/package/components/icons/RingCentralIcon.svelte.d.ts +7 -0
  397. package/package/components/icons/RocketChatIcon.svelte +7 -0
  398. package/package/components/icons/RocketChatIcon.svelte.d.ts +7 -0
  399. package/package/components/icons/RunPodIcon.svelte +8 -0
  400. package/package/components/icons/RunPodIcon.svelte.d.ts +7 -0
  401. package/package/components/icons/RustIcon.svelte +74 -56
  402. package/package/components/icons/SalesforceIcon.svelte +7 -0
  403. package/package/components/icons/SalesforceIcon.svelte.d.ts +7 -0
  404. package/package/components/icons/SegmentIcon.svelte +7 -0
  405. package/package/components/icons/SegmentIcon.svelte.d.ts +7 -0
  406. package/package/components/icons/SentryIcon.svelte +7 -0
  407. package/package/components/icons/SentryIcon.svelte.d.ts +7 -0
  408. package/package/components/icons/ServiceNowIcon.svelte +7 -0
  409. package/package/components/icons/ServiceNowIcon.svelte.d.ts +7 -0
  410. package/package/components/icons/ShortcutIcon.svelte +7 -0
  411. package/package/components/icons/ShortcutIcon.svelte.d.ts +7 -0
  412. package/package/components/icons/SigNozIcon.svelte +8 -0
  413. package/package/components/icons/SigNozIcon.svelte.d.ts +7 -0
  414. package/package/components/icons/SmartsheetIcon.svelte +7 -0
  415. package/package/components/icons/SmartsheetIcon.svelte.d.ts +7 -0
  416. package/package/components/icons/SpeechifyIcon.svelte +7 -0
  417. package/package/components/icons/SpeechifyIcon.svelte.d.ts +7 -0
  418. package/package/components/icons/SplitwiseIcon.svelte +7 -0
  419. package/package/components/icons/SplitwiseIcon.svelte.d.ts +7 -0
  420. package/package/components/icons/StravaIcon.svelte +7 -0
  421. package/package/components/icons/StravaIcon.svelte.d.ts +7 -0
  422. package/package/components/icons/TallyIcon.svelte +7 -0
  423. package/package/components/icons/TallyIcon.svelte.d.ts +7 -0
  424. package/package/components/icons/TelnyxIcon.svelte +19 -0
  425. package/package/components/icons/TelnyxIcon.svelte.d.ts +7 -0
  426. package/package/components/icons/ThreadsIcon.svelte +7 -0
  427. package/package/components/icons/ThreadsIcon.svelte.d.ts +7 -0
  428. package/package/components/icons/TodoistIcon.svelte +7 -0
  429. package/package/components/icons/TodoistIcon.svelte.d.ts +7 -0
  430. package/package/components/icons/TogetherAiIcon.svelte +23 -0
  431. package/package/components/icons/TogetherAiIcon.svelte.d.ts +7 -0
  432. package/package/components/icons/TrelloIcon.svelte +22 -1
  433. package/package/components/icons/TursoIcon.svelte +7 -0
  434. package/package/components/icons/TursoIcon.svelte.d.ts +7 -0
  435. package/package/components/icons/TwitchIcon.svelte +7 -0
  436. package/package/components/icons/TwitchIcon.svelte.d.ts +7 -0
  437. package/package/components/icons/TwitterIcon.svelte +7 -0
  438. package/package/components/icons/TwitterIcon.svelte.d.ts +7 -0
  439. package/package/components/icons/TypeformIcon.svelte +1 -1
  440. package/package/components/icons/VercelIcon.svelte +7 -0
  441. package/package/components/icons/VercelIcon.svelte.d.ts +7 -0
  442. package/package/components/icons/WebflowIcon.svelte +7 -0
  443. package/package/components/icons/WebflowIcon.svelte.d.ts +7 -0
  444. package/package/components/icons/WooCommerceIcon.svelte +7 -0
  445. package/package/components/icons/WooCommerceIcon.svelte.d.ts +7 -0
  446. package/package/components/icons/WordpressIcon.svelte +7 -0
  447. package/package/components/icons/WordpressIcon.svelte.d.ts +7 -0
  448. package/package/components/icons/XataIcon.svelte +13 -0
  449. package/package/components/icons/XataIcon.svelte.d.ts +7 -0
  450. package/package/components/icons/YelpIcon.svelte +7 -0
  451. package/package/components/icons/YelpIcon.svelte.d.ts +7 -0
  452. package/package/components/icons/YnabIcon.svelte +7 -0
  453. package/package/components/icons/YnabIcon.svelte.d.ts +7 -0
  454. package/package/components/icons/YoutubeIcon.svelte +7 -0
  455. package/package/components/icons/YoutubeIcon.svelte.d.ts +7 -0
  456. package/package/components/icons/ZendeskIcon.svelte +1 -1
  457. package/package/components/icons/ZeroTierIcon.svelte +7 -0
  458. package/package/components/icons/ZeroTierIcon.svelte.d.ts +7 -0
  459. package/package/components/icons/ZoomIcon.svelte +7 -0
  460. package/package/components/icons/ZoomIcon.svelte.d.ts +7 -0
  461. package/package/components/icons/index.d.ts +111 -1
  462. package/package/components/icons/index.js +225 -2
  463. package/package/components/instanceSettings/GhesAppSettings.svelte +161 -0
  464. package/package/components/instanceSettings/GhesAppSettings.svelte.d.ts +8 -0
  465. package/package/components/instanceSettings/IndexerMemorySettings.svelte +19 -8
  466. package/package/components/instanceSettings/InstanceAISettings.svelte +132 -0
  467. package/package/components/instanceSettings/InstanceAISettings.svelte.d.ts +10 -0
  468. package/package/components/instanceSettings/WorkspaceRegistries.svelte +293 -0
  469. package/package/components/instanceSettings/WorkspaceRegistries.svelte.d.ts +8 -0
  470. package/package/components/instanceSettings/WsConnectivityTest.svelte +177 -0
  471. package/package/components/instanceSettings/WsConnectivityTest.svelte.d.ts +7 -0
  472. package/package/components/instanceSettings.d.ts +3 -1
  473. package/package/components/instanceSettings.js +92 -2
  474. package/package/components/mcp/McpScopeSelector.svelte +408 -0
  475. package/package/components/mcp/McpScopeSelector.svelte.d.ts +7 -0
  476. package/package/components/meltComponents/Popover.svelte +0 -1
  477. package/package/components/raw_apps/RawAppPreview.svelte +6 -2
  478. package/package/components/recording/FlowRecordingReplay.svelte +94 -52
  479. package/package/components/recording/FlowRecordingReplay.svelte.d.ts +10 -1
  480. package/package/components/recording/ScriptRecordingReplay.svelte +140 -76
  481. package/package/components/recording/ScriptRecordingReplay.svelte.d.ts +10 -1
  482. package/package/components/runs/JobRunsPreview.svelte +8 -1
  483. package/package/components/runs/TimeframeSelect.svelte +0 -1
  484. package/package/components/schema/JobSchemaPicker.svelte +8 -2
  485. package/package/components/schema/JobSchemaPicker.svelte.d.ts +1 -0
  486. package/package/components/schema/SchemaFormDND.svelte +15 -3
  487. package/package/components/scriptEditor/LogPanel.svelte +78 -68
  488. package/package/components/script_builder.d.ts +1 -1
  489. package/package/components/scripts/CreateActionsScript.svelte +3 -3
  490. package/package/components/scripts/WacExportDrawer.svelte +127 -0
  491. package/package/components/scripts/WacExportDrawer.svelte.d.ts +8 -0
  492. package/package/components/scripts/scriptStore.svelte.d.ts +2 -0
  493. package/package/components/scripts/scriptStore.svelte.js +2 -0
  494. package/package/components/select/SelectDropdown.svelte +1 -1
  495. package/package/components/settings/AIPromptsModal.svelte +5 -2
  496. package/package/components/settings/AIPromptsModal.svelte.d.ts +1 -1
  497. package/package/components/settings/CloudQuotas.svelte +152 -0
  498. package/package/components/settings/CloudQuotas.svelte.d.ts +3 -0
  499. package/package/components/settings/CreateToken.svelte +15 -430
  500. package/package/components/settings/Trashbin.svelte +248 -0
  501. package/package/components/settings/Trashbin.svelte.d.ts +3 -0
  502. package/package/components/sidebar/MultiplayerMenu.svelte +14 -4
  503. package/package/components/triggers/DeleteTriggerButton.svelte +1 -0
  504. package/package/components/triggers/PermissionedAsLine.svelte +66 -0
  505. package/package/components/triggers/PermissionedAsLine.svelte.d.ts +9 -0
  506. package/package/components/triggers/TriggerEditorToolbar.svelte +2 -2
  507. package/package/components/triggers/TriggerTokens.svelte +3 -3
  508. package/package/components/triggers/email/EmailTriggerEditorInner.svelte +19 -1
  509. package/package/components/triggers/email/utils.js +3 -1
  510. package/package/components/triggers/gcp/GcpTriggerEditorInner.svelte +24 -4
  511. package/package/components/triggers/gcp/utils.js +2 -0
  512. package/package/components/triggers/http/RouteEditorConfigSection.svelte +22 -3
  513. package/package/components/triggers/http/RouteEditorInner.svelte +28 -6
  514. package/package/components/triggers/http/RoutesGenerator.svelte +13 -2
  515. package/package/components/triggers/http/utils.js +3 -1
  516. package/package/components/triggers/kafka/KafkaTriggerEditorInner.svelte +23 -6
  517. package/package/components/triggers/kafka/utils.js +3 -1
  518. package/package/components/triggers/mqtt/MqttTriggerEditorInner.svelte +27 -5
  519. package/package/components/triggers/mqtt/utils.js +2 -0
  520. package/package/components/triggers/native/NativeTriggerEditor.svelte +23 -1
  521. package/package/components/triggers/native/NativeTriggerTable.svelte +14 -3
  522. package/package/components/triggers/native/utils.js +3 -2
  523. package/package/components/triggers/nats/NatsTriggerEditorInner.svelte +19 -1
  524. package/package/components/triggers/nats/utils.js +2 -0
  525. package/package/components/triggers/postgres/PostgresTriggerEditorInner.svelte +19 -1
  526. package/package/components/triggers/postgres/utils.js +2 -0
  527. package/package/components/triggers/schedules/ScheduleEditorInner.svelte +29 -7
  528. package/package/components/triggers/sqs/SqsTriggerEditorInner.svelte +19 -1
  529. package/package/components/triggers/sqs/utils.js +2 -0
  530. package/package/components/triggers/utils.js +9 -2
  531. package/package/components/triggers/websocket/WebsocketTriggerEditorInner.svelte +24 -4
  532. package/package/components/triggers/websocket/utils.js +3 -1
  533. package/package/components/workspaceSettings/AISettings.svelte +342 -214
  534. package/package/components/workspaceSettings/AISettings.svelte.d.ts +18 -10
  535. package/package/components/workspaceSettings/CreateWorkspace.svelte +304 -196
  536. package/package/components/workspaceSettings/CustomInstanceDbWizardModal.svelte +1 -2
  537. package/package/components/workspaceSettings/DucklakeSettings.svelte +1 -1
  538. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte +75 -0
  539. package/package/components/workspaceSettings/InstanceFallbackSettings.svelte.d.ts +9 -0
  540. package/package/components/workspaceSettings/StorageSettings.svelte +4 -35
  541. package/package/components/workspaceSettings/VolumeStorageSettings.svelte +80 -0
  542. package/package/components/workspaceSettings/VolumeStorageSettings.svelte.d.ts +10 -0
  543. package/package/components/workspaceSettings/WorkspaceIntegrations.svelte +4 -1
  544. package/package/gen/core/OpenAPI.js +1 -1
  545. package/package/gen/schemas.gen.d.ts +294 -94
  546. package/package/gen/schemas.gen.js +294 -94
  547. package/package/gen/services.gen.d.ts +121 -5
  548. package/package/gen/services.gen.js +237 -5
  549. package/package/gen/types.gen.d.ts +715 -91
  550. package/package/githubApp.js +19 -1
  551. package/package/hubPaths.json +8 -4
  552. package/package/infer.d.ts +1 -1
  553. package/package/infer.js +5 -1
  554. package/package/logoutRedirect.d.ts +1 -0
  555. package/package/logoutRedirect.js +24 -0
  556. package/package/script_helpers.d.ts +8 -2
  557. package/package/script_helpers.js +15 -1
  558. package/package/services/trashService.d.ts +28 -0
  559. package/package/services/trashService.js +47 -0
  560. package/package/stores.d.ts +1 -0
  561. package/package/stores.js +1 -0
  562. package/package/system_prompts/index.d.ts +1 -0
  563. package/package/system_prompts/index.js +7 -0
  564. package/package/system_prompts/prompts.d.ts +7 -5
  565. package/package/system_prompts/prompts.js +182 -11
  566. package/package/templates/wac_python.py.template +42 -0
  567. package/package/templates/wac_typescript.ts.template +48 -0
  568. package/package/utils_deployable.d.ts +22 -21
  569. package/package/utils_deployable.js +58 -25
  570. package/package/utils_workspace_deploy.d.ts +15 -4
  571. package/package/utils_workspace_deploy.js +19 -15
  572. package/package/wsUrl.d.ts +1 -0
  573. package/package/wsUrl.js +15 -0
  574. package/package.json +13 -5
  575. package/dist/sharedUtils/assets/tokens/colorTokensConfig.d.ts +0 -2
  576. package/dist/sharedUtils/base.d.ts +0 -1
  577. package/dist/sharedUtils/cloud.d.ts +0 -1
  578. package/dist/sharedUtils/common.d.ts +0 -111
  579. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/count.d.ts +0 -5
  580. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/delete.d.ts +0 -5
  581. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/insert.d.ts +0 -5
  582. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/select.d.ts +0 -13
  583. package/dist/sharedUtils/components/apps/components/display/dbtable/queries/update.d.ts +0 -11
  584. package/dist/sharedUtils/components/apps/components/display/dbtable/utils.d.ts +0 -95
  585. package/dist/sharedUtils/components/apps/editor/appPolicy.d.ts +0 -6
  586. package/dist/sharedUtils/components/apps/editor/appUtilsCore.d.ts +0 -7
  587. package/dist/sharedUtils/components/apps/editor/appUtilsS3.d.ts +0 -33
  588. package/dist/sharedUtils/components/apps/editor/commonAppUtils.d.ts +0 -10
  589. package/dist/sharedUtils/components/apps/editor/component/components.d.ts +0 -5371
  590. package/dist/sharedUtils/components/apps/editor/component/default-codes.d.ts +0 -3
  591. package/dist/sharedUtils/components/apps/editor/component/index.d.ts +0 -3
  592. package/dist/sharedUtils/components/apps/editor/component/sets.d.ts +0 -7
  593. package/dist/sharedUtils/components/apps/editor/componentsPanel/componentDefaultProps.d.ts +0 -3
  594. package/dist/sharedUtils/components/apps/gridUtils.d.ts +0 -14
  595. package/dist/sharedUtils/components/apps/inputType.d.ts +0 -178
  596. package/dist/sharedUtils/components/apps/rx.d.ts +0 -29
  597. package/dist/sharedUtils/components/apps/sharedTypes.d.ts +0 -21
  598. package/dist/sharedUtils/components/apps/types.d.ts +0 -274
  599. package/dist/sharedUtils/components/assets/lib.d.ts +0 -25
  600. package/dist/sharedUtils/components/common/alert/model.d.ts +0 -2
  601. package/dist/sharedUtils/components/common/badge/model.d.ts +0 -8
  602. package/dist/sharedUtils/components/common/button/model.d.ts +0 -45
  603. package/dist/sharedUtils/components/common/fileInput/model.d.ts +0 -1
  604. package/dist/sharedUtils/components/common/index.d.ts +0 -24
  605. package/dist/sharedUtils/components/common/skeleton/model.d.ts +0 -21
  606. package/dist/sharedUtils/components/dbTypes.d.ts +0 -14
  607. package/dist/sharedUtils/components/diff_drawer.d.ts +0 -26
  608. package/dist/sharedUtils/components/ducklake.d.ts +0 -1
  609. package/dist/sharedUtils/components/flows/scheduleUtils.d.ts +0 -7
  610. package/dist/sharedUtils/components/icons/index.d.ts +0 -101
  611. package/dist/sharedUtils/components/random_positive_adjetive.d.ts +0 -1
  612. package/dist/sharedUtils/components/raw_apps/rawAppPolicy.d.ts +0 -10
  613. package/dist/sharedUtils/components/raw_apps/utils.d.ts +0 -15
  614. package/dist/sharedUtils/components/triggers/email/utils.d.ts +0 -4
  615. package/dist/sharedUtils/components/triggers/gcp/utils.d.ts +0 -2
  616. package/dist/sharedUtils/components/triggers/http/utils.d.ts +0 -11
  617. package/dist/sharedUtils/components/triggers/kafka/utils.d.ts +0 -2
  618. package/dist/sharedUtils/components/triggers/mqtt/utils.d.ts +0 -2
  619. package/dist/sharedUtils/components/triggers/nats/utils.d.ts +0 -2
  620. package/dist/sharedUtils/components/triggers/postgres/utils.d.ts +0 -8
  621. package/dist/sharedUtils/components/triggers/sqs/utils.d.ts +0 -2
  622. package/dist/sharedUtils/components/triggers/triggers.svelte.d.ts +0 -32
  623. package/dist/sharedUtils/components/triggers/utils.d.ts +0 -80
  624. package/dist/sharedUtils/components/triggers/websocket/utils.d.ts +0 -2
  625. package/dist/sharedUtils/components/triggers.d.ts +0 -20
  626. package/dist/sharedUtils/gen/core/ApiError.d.ts +0 -10
  627. package/dist/sharedUtils/gen/core/ApiRequestOptions.d.ts +0 -13
  628. package/dist/sharedUtils/gen/core/ApiResult.d.ts +0 -7
  629. package/dist/sharedUtils/gen/core/CancelablePromise.d.ts +0 -26
  630. package/dist/sharedUtils/gen/core/OpenAPI.d.ts +0 -27
  631. package/dist/sharedUtils/gen/core/request.d.ts +0 -29
  632. package/dist/sharedUtils/gen/index.d.ts +0 -6
  633. package/dist/sharedUtils/gen/schemas.gen.d.ts +0 -7036
  634. package/dist/sharedUtils/gen/services.gen.d.ts +0 -6047
  635. package/dist/sharedUtils/gen/types.gen.d.ts +0 -21881
  636. package/dist/sharedUtils/history.svelte.d.ts +0 -9
  637. package/dist/sharedUtils/hub.d.ts +0 -49
  638. package/dist/sharedUtils/jsr.json +0 -6
  639. package/dist/sharedUtils/lib.d.ts +0 -5
  640. package/dist/sharedUtils/lib.es.js +0 -1588
  641. package/dist/sharedUtils/package.json +0 -12
  642. package/dist/sharedUtils/schema.d.ts +0 -3
  643. package/dist/sharedUtils/stores.d.ts +0 -97
  644. package/dist/sharedUtils/svelte5Utils.svelte.d.ts +0 -80
  645. package/dist/sharedUtils/toast.d.ts +0 -8
  646. package/dist/sharedUtils/utils.d.ts +0 -265
  647. package/package/components/graph/NodeContextMenu.svelte +0 -36
  648. package/package/components/graph/NodeContextMenu.svelte.d.ts +0 -8
  649. package/package/svelte5Utils.svelte.d.ts +0 -184
@@ -1,132 +1,106 @@
1
- import OpenAI, { APIError } from 'openai';
1
+ import OpenAI from 'openai';
2
+ import Anthropic from '@anthropic-ai/sdk';
3
+ import { runChatLoop } from '../../chatLoop';
2
4
  /**
3
- * Runs a generic evaluation with real LLM API calls.
4
- * Executes tool calls in a loop until the LLM stops calling tools.
5
- *
6
- * This is the core execution loop shared across all chat eval tests.
5
+ * Creates SDK clients for the given provider.
6
+ */
7
+ function createEvalClients(provider, apiKey) {
8
+ if (provider === 'anthropic') {
9
+ return {
10
+ openai: new OpenAI({ apiKey: 'unused' }),
11
+ anthropic: new Anthropic({ apiKey })
12
+ };
13
+ }
14
+ return {
15
+ openai: new OpenAI({ apiKey }),
16
+ anthropic: new Anthropic({ apiKey: 'unused' })
17
+ };
18
+ }
19
+ /**
20
+ * Resolves model string to AIProviderModel.
21
+ */
22
+ function resolveModelProvider(model, provider) {
23
+ if (provider)
24
+ return { provider, model };
25
+ if (model.startsWith('claude'))
26
+ return { provider: 'anthropic', model };
27
+ if (model.startsWith('gpt') || model.startsWith('o'))
28
+ return { provider: 'openai', model };
29
+ return { provider: 'openai', model };
30
+ }
31
+ /**
32
+ * Runs a generic evaluation using the shared chat loop (same code path as production).
33
+ * Uses streaming via real provider SDKs instead of OpenRouter non-streaming.
7
34
  */
8
35
  export async function runEval(params) {
9
- const { systemMessage, userMessage, toolDefs, tools, helpers, apiKey, getOutput, options } = params;
10
- const client = new OpenAI({ baseURL: 'https://openrouter.ai/api/v1', apiKey });
36
+ const { systemMessage, userMessage, tools, helpers, apiKey, getOutput, options } = params;
11
37
  const model = options?.model ?? 'gpt-4o';
12
38
  const maxIterations = options?.maxIterations ?? 20;
13
39
  const workspace = options?.workspace ?? 'test-workspace';
14
- const messages = [systemMessage, userMessage];
15
- const totalTokens = { prompt: 0, completion: 0, total: 0 };
40
+ const provider = options?.provider;
41
+ const modelProvider = resolveModelProvider(model, provider);
42
+ const clients = createEvalClients(modelProvider.provider, apiKey);
43
+ const messages = [userMessage];
16
44
  let toolCallsCount = 0;
17
45
  const toolsCalled = [];
18
46
  const toolCallDetails = [];
19
- let iterations = 0;
20
- // No-op tool callbacks for eval
21
- const toolCallbacks = {
22
- setToolStatus: () => { },
23
- removeToolStatus: () => { }
24
- };
25
- try {
26
- // Tool resolution loop
27
- while (iterations < maxIterations) {
28
- iterations++;
29
- const response = await client.chat.completions.create({
30
- model,
31
- messages,
32
- tools: toolDefs,
33
- temperature: 0
34
- });
35
- // Track token usage
36
- if (response.usage) {
37
- totalTokens.prompt += response.usage.prompt_tokens;
38
- totalTokens.completion += response.usage.completion_tokens;
39
- totalTokens.total += response.usage.total_tokens;
40
- }
41
- if (!response.choices.length) {
42
- throw new Error('No response from API');
43
- }
44
- const choice = response.choices[0];
45
- const assistantMessage = choice.message;
46
- // Add assistant message to history
47
- messages.push(assistantMessage);
48
- // If no tool calls, we're done
49
- if (!assistantMessage.tool_calls?.length) {
50
- break;
47
+ // Wrap tools to intercept fn calls for tracking.
48
+ // Cast to ProductionTool since the eval Tool has a narrower toolCallbacks type
49
+ // but the actual callbacks passed at runtime will satisfy both interfaces.
50
+ const wrappedTools = tools.map((tool) => ({
51
+ ...tool,
52
+ fn: async (p) => {
53
+ toolCallsCount++;
54
+ toolsCalled.push(tool.def.function.name);
55
+ try {
56
+ const args = typeof p.args === 'string' ? JSON.parse(p.args) : p.args;
57
+ toolCallDetails.push({ name: tool.def.function.name, arguments: args });
51
58
  }
52
- // Execute each tool call
53
- for (const toolCall of assistantMessage.tool_calls) {
54
- toolCallsCount++;
55
- // Type guard: only handle function tool calls
56
- if (toolCall.type !== 'function') {
57
- messages.push({
58
- role: 'tool',
59
- tool_call_id: toolCall.id,
60
- content: `Unsupported tool type: ${toolCall.type}`
61
- });
62
- continue;
63
- }
64
- toolsCalled.push(toolCall.function.name);
65
- const tool = tools.find((t) => t.def.function.name === toolCall.function.name);
66
- if (!tool) {
67
- messages.push({
68
- role: 'tool',
69
- tool_call_id: toolCall.id,
70
- content: `Unknown tool: ${toolCall.function.name}`
71
- });
72
- continue;
73
- }
74
- try {
75
- const args = JSON.parse(toolCall.function.arguments);
76
- toolCallDetails.push({ name: toolCall.function.name, arguments: args });
77
- const result = await tool.fn({
78
- args,
79
- workspace,
80
- helpers,
81
- toolCallbacks,
82
- toolId: toolCall.id
83
- });
84
- messages.push({
85
- role: 'tool',
86
- tool_call_id: toolCall.id,
87
- content: result
88
- });
89
- }
90
- catch (err) {
91
- const errorMessage = err instanceof Error ? err.message : String(err);
92
- messages.push({
93
- role: 'tool',
94
- tool_call_id: toolCall.id,
95
- content: `Error: ${errorMessage}`
96
- });
97
- }
59
+ catch {
60
+ toolCallDetails.push({
61
+ name: tool.def.function.name,
62
+ arguments: p.args
63
+ });
98
64
  }
65
+ return tool.fn(p);
99
66
  }
67
+ }));
68
+ // No-op callbacks for eval
69
+ const callbacks = {
70
+ setToolStatus: () => { },
71
+ removeToolStatus: () => { },
72
+ onNewToken: () => { },
73
+ onMessageEnd: () => { }
74
+ };
75
+ const abortController = new AbortController();
76
+ try {
77
+ const result = await runChatLoop({
78
+ messages,
79
+ systemMessage,
80
+ tools: wrappedTools,
81
+ helpers,
82
+ abortController,
83
+ callbacks,
84
+ modelProvider,
85
+ clients,
86
+ workspace,
87
+ maxIterations,
88
+ skipResponsesApi: modelProvider.provider !== 'openai' && modelProvider.provider !== 'azure_openai'
89
+ });
100
90
  return {
101
91
  success: true,
102
92
  output: getOutput(),
103
- tokenUsage: totalTokens,
93
+ tokenUsage: { prompt: 0, completion: 0, total: 0 },
104
94
  toolCallsCount,
105
95
  toolsCalled,
106
96
  toolCallDetails,
107
- iterations,
97
+ iterations: Math.max(1, result.addedMessages.filter((m) => m.role === 'assistant').length),
108
98
  messages
109
99
  };
110
100
  }
111
101
  catch (err) {
112
- // Build detailed error message
113
102
  let errorMessage;
114
- if (err instanceof APIError) {
115
- const details = [`${err.status} ${err.message}`];
116
- if (err.code)
117
- details.push(`Code: ${err.code}`);
118
- if (err.type)
119
- details.push(`Type: ${err.type}`);
120
- if (err.param)
121
- details.push(`Param: ${err.param}`);
122
- if (err.requestID)
123
- details.push(`Request ID: ${err.requestID}`);
124
- if (err.error && typeof err.error === 'object') {
125
- details.push(`Response: ${JSON.stringify(err.error, null, 2)}`);
126
- }
127
- errorMessage = details.join('\n');
128
- }
129
- else if (err instanceof Error) {
103
+ if (err instanceof Error) {
130
104
  errorMessage = err.stack ?? err.message;
131
105
  }
132
106
  else {
@@ -136,11 +110,11 @@ export async function runEval(params) {
136
110
  success: false,
137
111
  output: getOutput(),
138
112
  error: errorMessage,
139
- tokenUsage: totalTokens,
113
+ tokenUsage: { prompt: 0, completion: 0, total: 0 },
140
114
  toolCallsCount,
141
115
  toolsCalled,
142
116
  toolCallDetails,
143
- iterations,
117
+ iterations: 0,
144
118
  messages
145
119
  };
146
120
  }
@@ -11,9 +11,9 @@ export interface EvaluateParams {
11
11
  expectedOutput: unknown;
12
12
  /** Domain-specific system prompt for the evaluator */
13
13
  evaluatorSystemPrompt: string;
14
- /** API key for OpenRouter */
15
- apiKey: string;
16
- /** Model to use for evaluation (default: 'anthropic/claude-sonnet-4.5') */
14
+ /** Anthropic API key for evaluation */
15
+ apiKey?: string;
16
+ /** Model to use for evaluation (default: 'claude-sonnet-4-5-20250514') */
17
17
  model?: string;
18
18
  }
19
19
  /**
@@ -23,9 +23,6 @@ export interface EvaluateParams {
23
23
  export declare const BASE_EVALUATOR_RESPONSE_FORMAT = "\n## Response Format\nYou MUST respond with valid JSON only, no additional text:\n{\n \"resemblanceScore\": <0-100 integer>,\n \"statement\": \"<brief 1-2 sentence summary of how well the output matches the user request and expected output>\",\n \"missingRequirements\": [\"<list any requirements from user prompt that are missing or incorrectly implemented>\"]\n}\n\nScore guidelines:\n- 90-100: Fully addresses user request, functionally equivalent to expected output\n- 70-89: Addresses most user requirements, same overall structure with minor differences\n- 50-69: Partially addresses user request, achieves similar goal but different approach\n- 30-49: Missing significant requirements from user request\n- 0-29: Does not address user request or significantly incorrect";
24
24
  /**
25
25
  * Evaluates how well a generated output matches an expected output using an LLM.
26
- * Returns a resemblance score (0-100), a qualitative statement, and any missing requirements.
27
- *
28
- * @param params Evaluation parameters including prompts, outputs, and API configuration
29
- * @returns Evaluation result with score, statement, and missing requirements
26
+ * Uses Anthropic API directly instead of OpenRouter.
30
27
  */
31
28
  export declare function evaluateWithLLM(params: EvaluateParams): Promise<EvaluationResult>;
@@ -1,4 +1,4 @@
1
- import OpenAI from 'openai';
1
+ import Anthropic from '@anthropic-ai/sdk';
2
2
  /**
3
3
  * Base evaluator system prompt template.
4
4
  * Domain-specific evaluators should build on this structure.
@@ -20,14 +20,21 @@ Score guidelines:
20
20
  - 0-29: Does not address user request or significantly incorrect`;
21
21
  /**
22
22
  * Evaluates how well a generated output matches an expected output using an LLM.
23
- * Returns a resemblance score (0-100), a qualitative statement, and any missing requirements.
24
- *
25
- * @param params Evaluation parameters including prompts, outputs, and API configuration
26
- * @returns Evaluation result with score, statement, and missing requirements
23
+ * Uses Anthropic API directly instead of OpenRouter.
27
24
  */
28
25
  export async function evaluateWithLLM(params) {
29
- const { userPrompt, generatedOutput, expectedOutput, evaluatorSystemPrompt, apiKey, model = 'anthropic/claude-sonnet-4.5' } = params;
30
- const client = new OpenAI({ baseURL: 'https://openrouter.ai/api/v1', apiKey });
26
+ const { userPrompt, generatedOutput, expectedOutput, evaluatorSystemPrompt, apiKey, model = 'claude-sonnet-4-5-20250514' } = params;
27
+ // @ts-ignore - process.env
28
+ const anthropicKey = apiKey ?? process.env.ANTHROPIC_API_KEY;
29
+ if (!anthropicKey) {
30
+ return {
31
+ success: false,
32
+ resemblanceScore: 0,
33
+ statement: 'No API key available for evaluation',
34
+ error: 'ANTHROPIC_API_KEY not set and no apiKey provided'
35
+ };
36
+ }
37
+ const client = new Anthropic({ apiKey: anthropicKey });
31
38
  const userMessage = `## User's Original Request
32
39
  ${userPrompt}
33
40
 
@@ -45,15 +52,17 @@ Please evaluate how well the generated output:
45
52
  1. Fulfills ALL requirements from the user's original request
46
53
  2. Matches the structure and logic of the expected reference output`;
47
54
  try {
48
- const response = await client.chat.completions.create({
55
+ const response = await client.messages.create({
49
56
  model,
57
+ max_tokens: 2048,
58
+ system: evaluatorSystemPrompt,
50
59
  messages: [
51
- { role: 'system', content: evaluatorSystemPrompt },
52
60
  { role: 'user', content: userMessage }
53
61
  ],
54
62
  temperature: 0
55
63
  });
56
- const content = response.choices[0]?.message?.content;
64
+ const textBlock = response.content.find((block) => block.type === 'text');
65
+ const content = textBlock?.text;
57
66
  if (!content) {
58
67
  return {
59
68
  success: false,
@@ -65,7 +74,6 @@ Please evaluate how well the generated output:
65
74
  // Parse JSON response - handle potential markdown code blocks
66
75
  let jsonContent = content.trim();
67
76
  if (jsonContent.startsWith('```')) {
68
- // Remove markdown code block wrapper
69
77
  jsonContent = jsonContent.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
70
78
  }
71
79
  const parsed = JSON.parse(jsonContent);
@@ -1,4 +1,5 @@
1
1
  import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions.mjs';
2
+ import type { AIProvider } from '../../../../../gen/types.gen';
2
3
  /**
3
4
  * Token usage tracking for LLM calls.
4
5
  */
@@ -84,6 +85,8 @@ export interface EvalRunnerOptions {
84
85
  model?: string;
85
86
  /** Workspace ID for tool calls */
86
87
  workspace?: string;
88
+ /** AI provider (inferred from model name if omitted) */
89
+ provider?: AIProvider;
87
90
  }
88
91
  /**
89
92
  * No-op tool callbacks for eval testing.
@@ -1,13 +1,20 @@
1
1
  import { OpenAI } from 'openai';
2
+ import Anthropic from '@anthropic-ai/sdk';
2
3
  import type { ChatCompletionMessageParam } from 'openai/resources/index.mjs';
3
4
  import type { MessageParam, TextBlockParam, ToolUnion } from '@anthropic-ai/sdk/resources';
4
5
  import type { MessageStream } from '@anthropic-ai/sdk/lib/MessageStream';
6
+ import type { AIProviderModel } from '../../../gen';
5
7
  import { type Tool, type ToolCallbacks } from './shared';
6
- export declare function getAnthropicCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionFunctionTool[]): Promise<MessageStream>;
8
+ export declare function getAnthropicCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionFunctionTool[], options?: {
9
+ forceModelProvider?: AIProviderModel;
10
+ anthropicClient?: Anthropic;
11
+ }): Promise<MessageStream>;
7
12
  export declare function parseAnthropicCompletion(completion: MessageStream, callbacks: ToolCallbacks & {
8
13
  onNewToken: (token: string) => void;
9
14
  onMessageEnd: () => void;
10
- }, messages: ChatCompletionMessageParam[], addedMessages: ChatCompletionMessageParam[], tools: Tool<any>[], helpers: any, abortController?: AbortController): Promise<boolean>;
15
+ }, messages: ChatCompletionMessageParam[], addedMessages: ChatCompletionMessageParam[], tools: Tool<any>[], helpers: any, abortController?: AbortController, options?: {
16
+ workspace?: string;
17
+ }): Promise<boolean>;
11
18
  export declare function convertOpenAIToAnthropicMessages(messages: ChatCompletionMessageParam[]): {
12
19
  system: TextBlockParam[] | undefined;
13
20
  messages: MessageParam[];
@@ -1,11 +1,16 @@
1
1
  import { OpenAI } from 'openai';
2
+ import Anthropic from '@anthropic-ai/sdk';
2
3
  import { getProviderAndCompletionConfig, workspaceAIClients } from '../lib';
3
4
  import { processToolCall } from './shared';
4
- export async function getAnthropicCompletion(messages, abortController, tools) {
5
- const { provider, config } = getProviderAndCompletionConfig({ messages, stream: true });
5
+ export async function getAnthropicCompletion(messages, abortController, tools, options) {
6
+ const { provider, config } = getProviderAndCompletionConfig({
7
+ messages,
8
+ stream: true,
9
+ forceModelProvider: options?.forceModelProvider
10
+ });
6
11
  const { system, messages: anthropicMessages } = convertOpenAIToAnthropicMessages(messages);
7
12
  const anthropicTools = convertOpenAIToolsToAnthropic(tools);
8
- const anthropicClient = workspaceAIClients.getAnthropicClient();
13
+ const client = options?.anthropicClient ?? workspaceAIClients.getAnthropicClient();
9
14
  const anthropicParams = {
10
15
  model: config.model,
11
16
  max_tokens: config.max_tokens,
@@ -14,7 +19,7 @@ export async function getAnthropicCompletion(messages, abortController, tools) {
14
19
  ...(anthropicTools && { tools: anthropicTools }),
15
20
  ...(typeof config.temperature === 'number' && { temperature: config.temperature })
16
21
  };
17
- const stream = anthropicClient.messages.stream(anthropicParams, {
22
+ const stream = client.messages.stream(anthropicParams, {
18
23
  signal: abortController.signal,
19
24
  headers: {
20
25
  'X-Provider': provider,
@@ -24,7 +29,7 @@ export async function getAnthropicCompletion(messages, abortController, tools) {
24
29
  });
25
30
  return stream;
26
31
  }
27
- export async function parseAnthropicCompletion(completion, callbacks, messages, addedMessages, tools, helpers, abortController) {
32
+ export async function parseAnthropicCompletion(completion, callbacks, messages, addedMessages, tools, helpers, abortController, options) {
28
33
  let toolCallsToProcess = [];
29
34
  let error = null;
30
35
  let currentStreamingTool = undefined;
@@ -156,7 +161,8 @@ export async function parseAnthropicCompletion(completion, callbacks, messages,
156
161
  tools,
157
162
  toolCall,
158
163
  helpers,
159
- toolCallbacks: callbacks
164
+ toolCallbacks: callbacks,
165
+ workspace: options?.workspace
160
166
  });
161
167
  messages.push(messageToAdd);
162
168
  addedMessages.push(messageToAdd);
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { createSearchHubScriptsTool, createToolDef, createSearchWorkspaceTool, createGetRunnableDetailsTool } from '../shared';
3
+ import { getDatatableSdkReference } from '../../../../system_prompts';
3
4
  import { aiChatManager } from '../AIChatManager.svelte';
4
5
  // ============= Utility =============
5
6
  /** Maximum characters per file in get_files tool */
@@ -519,38 +520,30 @@ For inline scripts, the code must have a \`main\` function as its entrypoint.
519
520
 
520
521
  Backend runnables should only perform **data operations** (SELECT, INSERT, UPDATE, DELETE) on **existing tables**. Never use CREATE TABLE, DROP TABLE, or ALTER TABLE inside runnables.
521
522
 
522
- **TypeScript (Bun)**:
523
+ **TypeScript (Bun) example**:
523
524
  \`\`\`typescript
524
525
  import * as wmill from 'windmill-client';
525
526
 
526
527
  export async function main(user_id: string) {
527
528
  const sql = ${datatableCall};
528
-
529
- // Safe string interpolation (parameterized query)
530
529
  const user = await sql\`SELECT * FROM ${schemaPrefix}users WHERE id = \${user_id}\`.fetchOne();
531
530
  return user;
532
531
  }
533
532
  \`\`\`
534
533
 
535
- **Python**:
534
+ **Python example**:
536
535
  \`\`\`python
537
536
  import wmill
538
537
 
539
538
  def main(user_id: str):
540
539
  db = ${datatableCall}
541
-
542
- # Use positional arguments ($1, $2, etc.)
543
540
  user = db.query('SELECT * FROM ${schemaPrefix}users WHERE id = $1', user_id).fetch_one()
544
541
  return user
545
542
  \`\`\`
546
543
 
547
- ### Common Operations (for use in backend runnables)
544
+ ### Datatable Client API Reference
548
545
 
549
- - **Fetch all**: \`sql\`SELECT * FROM ${schemaPrefix}table\`.fetch()\` or \`db.query('SELECT * FROM ${schemaPrefix}table').fetch()\`
550
- - **Fetch one**: \`.fetchOne()\` or \`.fetch_one()\`
551
- - **Insert**: \`sql\`INSERT INTO ${schemaPrefix}table (col) VALUES (\${value})\`\`
552
- - **Update**: \`sql\`UPDATE ${schemaPrefix}table SET col = \${value} WHERE id = \${id}\`\`
553
- - **Delete**: \`sql\`DELETE FROM ${schemaPrefix}table WHERE id = \${id}\`\`
546
+ ${getDatatableSdkReference()}
554
547
 
555
548
  ### Schema Modifications (DDL) - Use exec_datatable_sql tool ONLY
556
549
 
@@ -0,0 +1,40 @@
1
+ import OpenAI from 'openai';
2
+ import Anthropic from '@anthropic-ai/sdk';
3
+ import type { ChatCompletionMessageParam, ChatCompletionSystemMessageParam, ChatCompletionUserMessageParam } from 'openai/resources/chat/completions.mjs';
4
+ import type { AIProviderModel } from '../../../gen';
5
+ import type { Tool, ToolCallbacks } from './shared';
6
+ export interface ChatClients {
7
+ openai: OpenAI;
8
+ anthropic: Anthropic;
9
+ }
10
+ export interface ChatLoopConfig {
11
+ messages: ChatCompletionMessageParam[];
12
+ /**
13
+ * System message, tools, helpers, and modelProvider are re-read from this config
14
+ * on every iteration. Callers can use JS getters to provide dynamic values
15
+ * (e.g. AIChatManager uses getters so mode changes mid-loop take effect).
16
+ */
17
+ systemMessage: ChatCompletionSystemMessageParam;
18
+ tools: Tool<any>[];
19
+ helpers: any;
20
+ abortController: AbortController;
21
+ callbacks: ToolCallbacks & {
22
+ onNewToken: (token: string) => void;
23
+ onMessageEnd: () => void;
24
+ };
25
+ modelProvider: AIProviderModel;
26
+ clients: ChatClients;
27
+ workspace: string;
28
+ /** Maximum iterations for the loop. undefined = unlimited (production). */
29
+ maxIterations?: number;
30
+ skipResponsesApi?: boolean;
31
+ onSkipResponsesApi?: () => void;
32
+ /** Return a pending user message to inject between iterations, or undefined. */
33
+ getPendingUserMessage?: () => ChatCompletionUserMessageParam | undefined;
34
+ /** Called before each iteration (e.g. to refresh tool schemas). */
35
+ onBeforeIteration?: (tools: Tool<any>[], helpers: any) => Promise<void>;
36
+ }
37
+ export interface ChatLoopResult {
38
+ addedMessages: ChatCompletionMessageParam[];
39
+ }
40
+ export declare function runChatLoop(config: ChatLoopConfig): Promise<ChatLoopResult>;
@@ -0,0 +1,97 @@
1
+ import OpenAI from 'openai';
2
+ import Anthropic from '@anthropic-ai/sdk';
3
+ import { getCompletion, parseOpenAICompletion } from '../lib';
4
+ import { getAnthropicCompletion, parseAnthropicCompletion } from './anthropic';
5
+ import { getOpenAIResponsesCompletion, parseOpenAIResponsesCompletion } from './openai-responses';
6
+ export async function runChatLoop(config) {
7
+ const { messages, abortController, callbacks, clients, workspace, maxIterations, onSkipResponsesApi, getPendingUserMessage, onBeforeIteration } = config;
8
+ let skipResponsesApi = config.skipResponsesApi ?? false;
9
+ const addedMessages = [];
10
+ let iterations = 0;
11
+ while (true) {
12
+ if (maxIterations !== undefined && iterations >= maxIterations) {
13
+ break;
14
+ }
15
+ iterations++;
16
+ // Re-read these from config each iteration so that mode changes
17
+ // (e.g. changeModeTool in Navigator) take effect immediately.
18
+ // Callers can use JS getter properties to provide dynamic values.
19
+ const tools = config.tools;
20
+ const helpers = config.helpers;
21
+ const systemMessage = config.systemMessage;
22
+ const modelProvider = config.modelProvider;
23
+ if (onBeforeIteration) {
24
+ await onBeforeIteration(tools, helpers);
25
+ }
26
+ const pendingUserMessage = getPendingUserMessage?.();
27
+ const isOpenAI = modelProvider.provider === 'openai' || modelProvider.provider === 'azure_openai';
28
+ const isAnthropic = modelProvider.provider === 'anthropic';
29
+ const messageParams = [
30
+ systemMessage,
31
+ ...messages,
32
+ ...(pendingUserMessage ? [pendingUserMessage] : [])
33
+ ];
34
+ const toolDefs = tools.map((t) => t.def);
35
+ const parseOptions = { workspace };
36
+ if (isOpenAI) {
37
+ let useCompletionsApi = skipResponsesApi;
38
+ if (!skipResponsesApi) {
39
+ try {
40
+ const completion = await getOpenAIResponsesCompletion(messageParams, abortController, toolDefs, {
41
+ forceModelProvider: modelProvider,
42
+ openaiClient: clients.openai
43
+ });
44
+ const continueCompletion = await parseOpenAIResponsesCompletion(completion, callbacks, messages, addedMessages, tools, helpers, parseOptions);
45
+ if (!continueCompletion) {
46
+ break;
47
+ }
48
+ }
49
+ catch (err) {
50
+ console.warn('OpenAI Responses API failed, falling back to Completions API:', err);
51
+ const errorMessage = err instanceof Error ? err.message : String(err);
52
+ if (errorMessage.includes('Responses API is not enabled')) {
53
+ skipResponsesApi = true;
54
+ onSkipResponsesApi?.();
55
+ }
56
+ useCompletionsApi = true;
57
+ }
58
+ }
59
+ if (useCompletionsApi) {
60
+ const completion = await getCompletion(messageParams, abortController, toolDefs, {
61
+ forceCompletions: true,
62
+ forceModelProvider: modelProvider,
63
+ openaiClient: clients.openai
64
+ });
65
+ const continueCompletion = await parseOpenAICompletion(completion, callbacks, messages, addedMessages, tools, helpers, undefined, parseOptions);
66
+ if (!continueCompletion) {
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ else if (isAnthropic) {
72
+ const completion = await getAnthropicCompletion(messageParams, abortController, toolDefs, {
73
+ forceModelProvider: modelProvider,
74
+ anthropicClient: clients.anthropic
75
+ });
76
+ if (completion) {
77
+ const continueCompletion = await parseAnthropicCompletion(completion, callbacks, messages, addedMessages, tools, helpers, abortController, parseOptions);
78
+ if (!continueCompletion) {
79
+ break;
80
+ }
81
+ }
82
+ }
83
+ else {
84
+ const completion = await getCompletion(messageParams, abortController, toolDefs, {
85
+ forceModelProvider: modelProvider,
86
+ openaiClient: clients.openai
87
+ });
88
+ if (completion) {
89
+ const continueCompletion = await parseOpenAICompletion(completion, callbacks, messages, addedMessages, tools, helpers, undefined, parseOptions);
90
+ if (!continueCompletion) {
91
+ break;
92
+ }
93
+ }
94
+ }
95
+ }
96
+ return { addedMessages };
97
+ }
@@ -3,14 +3,20 @@ import type { ChatCompletionMessageParam } from 'openai/resources/index.mjs';
3
3
  import { type Tool, type ToolCallbacks } from './shared';
4
4
  import type { ResponseStream } from 'openai/lib/responses/ResponseStream.mjs';
5
5
  import type { AIProviderModel } from '../../../gen';
6
- export declare function getOpenAIResponsesCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionTool[]): Promise<ResponseStream<null>>;
6
+ export declare function getOpenAIResponsesCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionTool[], options?: {
7
+ forceModelProvider?: AIProviderModel;
8
+ openaiClient?: OpenAI;
9
+ }): Promise<ResponseStream<null>>;
7
10
  export declare function getOpenAIResponsesCompletionStream(messages: ChatCompletionMessageParam[], abortController: AbortController, tools?: OpenAI.Chat.Completions.ChatCompletionTool[]): AsyncGenerator<OpenAI.Chat.Completions.ChatCompletionChunk>;
8
11
  export declare function parseOpenAIResponsesCompletion(runner: ResponseStream, callbacks: ToolCallbacks & {
9
12
  onNewToken: (token: string) => void;
10
13
  onMessageEnd: () => void;
11
- }, messages: ChatCompletionMessageParam[], addedMessages: ChatCompletionMessageParam[], tools: Tool<any>[], helpers: any): Promise<boolean>;
14
+ }, messages: ChatCompletionMessageParam[], addedMessages: ChatCompletionMessageParam[], tools: Tool<any>[], helpers: any, options?: {
15
+ workspace?: string;
16
+ }): Promise<boolean>;
12
17
  export declare function getNonStreamingOpenAIResponsesCompletion(messages: ChatCompletionMessageParam[], abortController: AbortController, testOptions?: {
13
18
  apiKey?: string;
19
+ workspace?: string;
14
20
  resourcePath?: string;
15
21
  forceModelProvider: AIProviderModel;
16
22
  }): Promise<string>;