libre-webui 0.36.0 → 0.37.1

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 (379) hide show
  1. package/README.md +59 -0
  2. package/backend/dist/cordis/contracts.d.ts +270 -0
  3. package/backend/dist/cordis/contracts.d.ts.map +1 -0
  4. package/backend/dist/cordis/contracts.js +32 -0
  5. package/backend/dist/cordis/contracts.js.map +1 -0
  6. package/backend/dist/cordis/dsh/chat-model.d.ts +16 -0
  7. package/backend/dist/cordis/dsh/chat-model.d.ts.map +1 -0
  8. package/backend/dist/cordis/dsh/chat-model.js +104 -0
  9. package/backend/dist/cordis/dsh/chat-model.js.map +1 -0
  10. package/backend/dist/cordis/dsh/engine-plugin.d.ts +186 -0
  11. package/backend/dist/cordis/dsh/engine-plugin.d.ts.map +1 -0
  12. package/backend/dist/cordis/dsh/engine-plugin.js +1116 -0
  13. package/backend/dist/cordis/dsh/engine-plugin.js.map +1 -0
  14. package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts +175 -0
  15. package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts.map +1 -0
  16. package/backend/dist/cordis/dsh/librewebui-llm-adapter.js +480 -0
  17. package/backend/dist/cordis/dsh/librewebui-llm-adapter.js.map +1 -0
  18. package/backend/dist/cordis/dsh/model-identity.d.ts +12 -0
  19. package/backend/dist/cordis/dsh/model-identity.d.ts.map +1 -0
  20. package/backend/dist/cordis/dsh/model-identity.js +87 -0
  21. package/backend/dist/cordis/dsh/model-identity.js.map +1 -0
  22. package/backend/dist/cordis/dsh/native-provider-client.d.ts +44 -0
  23. package/backend/dist/cordis/dsh/native-provider-client.d.ts.map +1 -0
  24. package/backend/dist/cordis/dsh/native-provider-client.js +524 -0
  25. package/backend/dist/cordis/dsh/native-provider-client.js.map +1 -0
  26. package/backend/dist/cordis/dsh/native-provider-plugin.d.ts +11 -0
  27. package/backend/dist/cordis/dsh/native-provider-plugin.d.ts.map +1 -0
  28. package/backend/dist/cordis/dsh/native-provider-plugin.js +416 -0
  29. package/backend/dist/cordis/dsh/native-provider-plugin.js.map +1 -0
  30. package/backend/dist/cordis/dsh/native-provider-protocol.d.ts +37 -0
  31. package/backend/dist/cordis/dsh/native-provider-protocol.d.ts.map +1 -0
  32. package/backend/dist/cordis/dsh/native-provider-protocol.js +325 -0
  33. package/backend/dist/cordis/dsh/native-provider-protocol.js.map +1 -0
  34. package/backend/dist/cordis/dsh/provider-handler.d.ts +36 -0
  35. package/backend/dist/cordis/dsh/provider-handler.d.ts.map +1 -0
  36. package/backend/dist/cordis/dsh/provider-handler.js +582 -0
  37. package/backend/dist/cordis/dsh/provider-handler.js.map +1 -0
  38. package/backend/dist/cordis/dsh/session-files.d.ts +9 -0
  39. package/backend/dist/cordis/dsh/session-files.d.ts.map +1 -0
  40. package/backend/dist/cordis/dsh/session-files.js +60 -0
  41. package/backend/dist/cordis/dsh/session-files.js.map +1 -0
  42. package/backend/dist/cordis/dsh/session-settings.d.ts +15 -0
  43. package/backend/dist/cordis/dsh/session-settings.d.ts.map +1 -0
  44. package/backend/dist/cordis/dsh/session-settings.js +51 -0
  45. package/backend/dist/cordis/dsh/session-settings.js.map +1 -0
  46. package/backend/dist/cordis/dsh/work-driver.d.ts +12 -0
  47. package/backend/dist/cordis/dsh/work-driver.d.ts.map +1 -0
  48. package/backend/dist/cordis/dsh/work-driver.js +402 -0
  49. package/backend/dist/cordis/dsh/work-driver.js.map +1 -0
  50. package/backend/dist/cordis/dsh/workspace-policy.d.ts +10 -0
  51. package/backend/dist/cordis/dsh/workspace-policy.d.ts.map +1 -0
  52. package/backend/dist/cordis/dsh/workspace-policy.js +44 -0
  53. package/backend/dist/cordis/dsh/workspace-policy.js.map +1 -0
  54. package/backend/dist/cordis/host/composition.d.ts +73 -0
  55. package/backend/dist/cordis/host/composition.d.ts.map +1 -0
  56. package/backend/dist/cordis/host/composition.js +205 -0
  57. package/backend/dist/cordis/host/composition.js.map +1 -0
  58. package/backend/dist/cordis/host/config.d.ts +159 -0
  59. package/backend/dist/cordis/host/config.d.ts.map +1 -0
  60. package/backend/dist/cordis/host/config.js +184 -0
  61. package/backend/dist/cordis/host/config.js.map +1 -0
  62. package/backend/dist/cordis/host/host.d.ts +74 -0
  63. package/backend/dist/cordis/host/host.d.ts.map +1 -0
  64. package/backend/dist/cordis/host/host.js +420 -0
  65. package/backend/dist/cordis/host/host.js.map +1 -0
  66. package/backend/dist/cordis/host/loader-entry.d.ts +41 -0
  67. package/backend/dist/cordis/host/loader-entry.d.ts.map +1 -0
  68. package/backend/dist/cordis/host/loader-entry.js +52 -0
  69. package/backend/dist/cordis/host/loader-entry.js.map +1 -0
  70. package/backend/dist/cordis/host/model.d.ts +45 -0
  71. package/backend/dist/cordis/host/model.d.ts.map +1 -0
  72. package/backend/dist/cordis/host/model.js +54 -0
  73. package/backend/dist/cordis/host/model.js.map +1 -0
  74. package/backend/dist/cordis/host/privacy.d.ts +8 -0
  75. package/backend/dist/cordis/host/privacy.d.ts.map +1 -0
  76. package/backend/dist/cordis/host/privacy.js +73 -0
  77. package/backend/dist/cordis/host/privacy.js.map +1 -0
  78. package/backend/dist/cordis/index.d.ts +14 -0
  79. package/backend/dist/cordis/index.d.ts.map +1 -0
  80. package/backend/dist/cordis/index.js +30 -0
  81. package/backend/dist/cordis/index.js.map +1 -0
  82. package/backend/dist/cordis/runtime.d.ts +97 -0
  83. package/backend/dist/cordis/runtime.d.ts.map +1 -0
  84. package/backend/dist/cordis/runtime.js +231 -0
  85. package/backend/dist/cordis/runtime.js.map +1 -0
  86. package/backend/dist/cordis/work-model.d.ts +7 -0
  87. package/backend/dist/cordis/work-model.d.ts.map +1 -0
  88. package/backend/dist/cordis/work-model.js +30 -0
  89. package/backend/dist/cordis/work-model.js.map +1 -0
  90. package/backend/dist/db.js +1 -1
  91. package/backend/dist/index.d.ts.map +1 -1
  92. package/backend/dist/index.js +9 -0
  93. package/backend/dist/index.js.map +1 -1
  94. package/backend/dist/main.js +12 -0
  95. package/backend/dist/main.js.map +1 -1
  96. package/backend/dist/persistence/extensionTypes.d.ts +2 -0
  97. package/backend/dist/persistence/extensionTypes.d.ts.map +1 -1
  98. package/backend/dist/persistence/extensionTypes.js.map +1 -1
  99. package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -1
  100. package/backend/dist/persistence/postgresExtensionRepositories.js +38 -0
  101. package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
  102. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
  103. package/backend/dist/persistence/postgresResourceRepositories.js +6 -1
  104. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  105. package/backend/dist/persistence/resourceTypes.d.ts +3 -1
  106. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
  107. package/backend/dist/persistence/resourceTypes.js.map +1 -1
  108. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
  109. package/backend/dist/persistence/sqliteExtensionRepositories.js +40 -0
  110. package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
  111. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
  112. package/backend/dist/persistence/sqliteResourceRepositories.js +7 -1
  113. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  114. package/backend/dist/routes/agentCli.d.ts.map +1 -1
  115. package/backend/dist/routes/agentCli.js +34 -2
  116. package/backend/dist/routes/agentCli.js.map +1 -1
  117. package/backend/dist/routes/chat.d.ts.map +1 -1
  118. package/backend/dist/routes/chat.js +9 -1
  119. package/backend/dist/routes/chat.js.map +1 -1
  120. package/backend/dist/routes/cordis.d.ts +3 -0
  121. package/backend/dist/routes/cordis.d.ts.map +1 -0
  122. package/backend/dist/routes/cordis.js +440 -0
  123. package/backend/dist/routes/cordis.js.map +1 -0
  124. package/backend/dist/routes/libreClaw.js +1 -1
  125. package/backend/dist/routes/libreClaw.js.map +1 -1
  126. package/backend/dist/routes/work.d.ts.map +1 -1
  127. package/backend/dist/routes/work.js +23 -8
  128. package/backend/dist/routes/work.js.map +1 -1
  129. package/backend/dist/services/agentAccessService.d.ts +4 -0
  130. package/backend/dist/services/agentAccessService.d.ts.map +1 -1
  131. package/backend/dist/services/agentAccessService.js +48 -16
  132. package/backend/dist/services/agentAccessService.js.map +1 -1
  133. package/backend/dist/services/agentCliService.d.ts +42 -1
  134. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  135. package/backend/dist/services/agentCliService.js +206 -7
  136. package/backend/dist/services/agentCliService.js.map +1 -1
  137. package/backend/dist/services/agentCliUsage.d.ts +22 -0
  138. package/backend/dist/services/agentCliUsage.d.ts.map +1 -0
  139. package/backend/dist/services/agentCliUsage.js +192 -0
  140. package/backend/dist/services/agentCliUsage.js.map +1 -0
  141. package/backend/dist/services/authService.d.ts +3 -0
  142. package/backend/dist/services/authService.d.ts.map +1 -1
  143. package/backend/dist/services/authService.js +4 -1
  144. package/backend/dist/services/authService.js.map +1 -1
  145. package/backend/dist/services/chatGenerationService.d.ts +7 -0
  146. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  147. package/backend/dist/services/chatGenerationService.js +32 -1
  148. package/backend/dist/services/chatGenerationService.js.map +1 -1
  149. package/backend/dist/services/cordisAccessService.d.ts +56 -0
  150. package/backend/dist/services/cordisAccessService.d.ts.map +1 -0
  151. package/backend/dist/services/cordisAccessService.js +98 -0
  152. package/backend/dist/services/cordisAccessService.js.map +1 -0
  153. package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
  154. package/backend/dist/services/durableChatGenerationService.js +9 -1
  155. package/backend/dist/services/durableChatGenerationService.js.map +1 -1
  156. package/backend/dist/services/emailService.d.ts.map +1 -1
  157. package/backend/dist/services/emailService.js +8 -1
  158. package/backend/dist/services/emailService.js.map +1 -1
  159. package/backend/dist/services/pluginService.d.ts.map +1 -1
  160. package/backend/dist/services/pluginService.js +7 -26
  161. package/backend/dist/services/pluginService.js.map +1 -1
  162. package/backend/dist/services/pluginUsageService.d.ts +52 -0
  163. package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
  164. package/backend/dist/services/pluginUsageService.js +89 -1
  165. package/backend/dist/services/pluginUsageService.js.map +1 -1
  166. package/backend/dist/services/systemSettingsService.d.ts +1 -1
  167. package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
  168. package/backend/dist/services/systemSettingsService.js +1 -1
  169. package/backend/dist/services/systemSettingsService.js.map +1 -1
  170. package/backend/dist/services/thinkingSummaryService.d.ts +3 -0
  171. package/backend/dist/services/thinkingSummaryService.d.ts.map +1 -1
  172. package/backend/dist/services/thinkingSummaryService.js +56 -17
  173. package/backend/dist/services/thinkingSummaryService.js.map +1 -1
  174. package/backend/dist/services/titleGenerationService.d.ts +22 -2
  175. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  176. package/backend/dist/services/titleGenerationService.js +63 -8
  177. package/backend/dist/services/titleGenerationService.js.map +1 -1
  178. package/backend/dist/services/workAgentService.d.ts +1 -1
  179. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  180. package/backend/dist/services/workAgentService.js +76 -12
  181. package/backend/dist/services/workAgentService.js.map +1 -1
  182. package/backend/dist/services/workModelProviderService.d.ts +5 -0
  183. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  184. package/backend/dist/services/workModelProviderService.js +52 -3
  185. package/backend/dist/services/workModelProviderService.js.map +1 -1
  186. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  187. package/backend/dist/services/workRuntimeService.js +4 -1
  188. package/backend/dist/services/workRuntimeService.js.map +1 -1
  189. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  190. package/backend/dist/services/workTaskService.js +6 -6
  191. package/backend/dist/services/workTaskService.js.map +1 -1
  192. package/backend/dist/types/work.d.ts +12 -1
  193. package/backend/dist/types/work.d.ts.map +1 -1
  194. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
  195. package/backend/dist/utils/pluginStreamAdapter.js +18 -4
  196. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
  197. package/backend/dist/utils/pluginStreaming.d.ts +6 -0
  198. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
  199. package/backend/dist/utils/pluginStreaming.js +10 -0
  200. package/backend/dist/utils/pluginStreaming.js.map +1 -1
  201. package/backend/dist/utils/smtpClient.d.ts +5 -1
  202. package/backend/dist/utils/smtpClient.d.ts.map +1 -1
  203. package/backend/dist/utils/smtpClient.js +29 -3
  204. package/backend/dist/utils/smtpClient.js.map +1 -1
  205. package/backend/dist/websocketServer.d.ts.map +1 -1
  206. package/backend/dist/websocketServer.js +4 -0
  207. package/backend/dist/websocketServer.js.map +1 -1
  208. package/backend/package.json +37 -2
  209. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  210. package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
  211. package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
  212. package/frontend/dist/artifact-runtime/react.js +5 -5
  213. package/frontend/dist/artifact-runtime/recharts.js +45 -45
  214. package/frontend/dist/assets/index-BrDSO609.js +20 -0
  215. package/frontend/dist/assets/index-C8_AByBq.css +1 -0
  216. package/frontend/dist/index.html +33 -31
  217. package/frontend/dist/js/{ArtifactContainer-B8tyPtWd.js → ArtifactContainer-B1-GVzVf.js} +1 -1
  218. package/frontend/dist/js/{ArtifactDemoPage-BwRfWoSK.js → ArtifactDemoPage-goftRHdk.js} +1 -1
  219. package/frontend/dist/js/{ArtifactSandboxFrame-Ctcwt_l2.js → ArtifactSandboxFrame-_8RA8_JV.js} +1 -1
  220. package/frontend/dist/js/ArtifactSlideOutPanel-DlkOZI5N.js +1 -0
  221. package/frontend/dist/js/{AutomationModal-mTYs9LrJ.js → AutomationModal-BaaxZF1M.js} +1 -1
  222. package/frontend/dist/js/AutomationsPage-DY2x7zVm.js +1 -0
  223. package/frontend/dist/js/{AvatarUpload-wWUAi3e2.js → AvatarUpload-CH_n1Ef0.js} +1 -1
  224. package/frontend/dist/js/{Button-ZQ6BePid.js → Button-CGMYia4g.js} +1 -1
  225. package/frontend/dist/js/{CalendarPage-Ch4racU2.js → CalendarPage-DLo5nm3Q.js} +1 -1
  226. package/frontend/dist/js/ChannelsPage-DnQI7mzq.js +1 -0
  227. package/frontend/dist/js/ChatPage-BaDkJnEC.js +14 -0
  228. package/frontend/dist/js/ConnectModels-B4dGb5yc.js +1 -0
  229. package/frontend/dist/js/CordisPage-CPiYn2Bx.js +1 -0
  230. package/frontend/dist/js/{EvaluationsPage-DHPnNBkW.js → EvaluationsPage-DpdGpd7x.js} +2 -2
  231. package/frontend/dist/js/{FirstTimeSetup-CoF83yY8.js → FirstTimeSetup-By8OE1JS.js} +1 -1
  232. package/frontend/dist/js/GalleryPage-ByZyIhZQ.js +1 -0
  233. package/frontend/dist/js/HomePage-Btc-Mvin.js +1 -0
  234. package/frontend/dist/js/{LanguageSwitcher-CogfczNm.js → LanguageSwitcher-B3CxRW6J.js} +1 -1
  235. package/frontend/dist/js/LibreClawPage-3Sonm1gu.js +1 -0
  236. package/frontend/dist/js/{Logo-C9fsEUaY.js → Logo-HZvdAk2c.js} +1 -1
  237. package/frontend/dist/js/{LogoMark-Cvu5CQOW.js → LogoMark-GJnfMXsk.js} +1 -1
  238. package/frontend/dist/js/{ModelManagerModals-Bc2Woor7.js → ModelManagerModals-Bk6OQzJI.js} +1 -1
  239. package/frontend/dist/js/NotesPage-lFhfjMqJ.js +3 -0
  240. package/frontend/dist/js/{OptimizedSyntaxHighlighter-aKWyHj_c.js → OptimizedSyntaxHighlighter-CzzV6ONG.js} +1 -1
  241. package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +1 -0
  242. package/frontend/dist/js/{PasswordStrengthMeter-BJr4eBbo.js → PasswordStrengthMeter-DasfJa4P.js} +1 -1
  243. package/frontend/dist/js/{PersonasPage-ff5opf9B.js → PersonasPage-nOThOpXp.js} +2 -2
  244. package/frontend/dist/js/PluginUsagePage-BRbHeRf7.js +1 -0
  245. package/frontend/dist/js/{RichMessageContent-BNNylVAb.js → RichMessageContent-BZ7KKJKK.js} +2 -2
  246. package/frontend/dist/js/RichMessageContent-oyydJjgc.js +1 -0
  247. package/frontend/dist/js/SettingsModal-VpsAx2Ns.js +19 -0
  248. package/frontend/dist/js/{SettingsToggle-CKLHOUt-.js → SettingsToggle-oxvw7ulA.js} +1 -1
  249. package/frontend/dist/js/{ShareDialog-DykD70uB.js → ShareDialog-CnxPGPb_.js} +1 -1
  250. package/frontend/dist/js/SystemPage-D2ikvhDp.js +1 -0
  251. package/frontend/dist/js/{TurnstileWidget-BO2ceTt8.js → TurnstileWidget-CVepEMEQ.js} +1 -1
  252. package/frontend/dist/js/{UserManagementPage-Ch-PvYQ9.js → UserManagementPage-2yHv89ZA.js} +1 -1
  253. package/frontend/dist/js/UserManagementPanel-vxpiyiTZ.js +1 -0
  254. package/frontend/dist/js/{WhatsNewModal-Bu4H4MEb.js → WhatsNewModal-DAAFzY0d.js} +1 -1
  255. package/frontend/dist/js/WorkPage-BYpYD9mr.js +8 -0
  256. package/frontend/dist/js/api-C0ligMmL.js +1 -0
  257. package/frontend/dist/js/api-CVUaOaq4.js +14 -0
  258. package/frontend/dist/js/{appNavigation-CVsQuDI1.js → appNavigation-CqtrZ9bm.js} +1 -1
  259. package/frontend/dist/js/{appStore-Din-tTD9.js → appStore-Biw63DtJ.js} +2 -2
  260. package/frontend/dist/js/appVersion-D78eXAb-.js +1 -0
  261. package/frontend/dist/js/ar-Cq-DrSYL.js +2 -0
  262. package/frontend/dist/js/authStore-2DsDTcIu.js +1 -0
  263. package/frontend/dist/js/{authStore-Cm8P6rYs.js → authStore-C5qKrmn4.js} +3 -3
  264. package/frontend/dist/js/bn-BqxLh-KL.js +2 -0
  265. package/frontend/dist/js/chatStore-DQhEqb9F.js +3 -0
  266. package/frontend/dist/js/client-gf5bjBrn.js +2 -0
  267. package/frontend/dist/js/composerStyles-C83jssgZ.js +1 -0
  268. package/frontend/dist/js/{config-DHea4b8N.js → config-CNvgxwAm.js} +1 -1
  269. package/frontend/dist/js/cordisApi-BYjA4EOQ.js +2 -0
  270. package/frontend/dist/js/cs-D2DDNZf-.js +2 -0
  271. package/frontend/dist/js/da-BciY-TSG.js +2 -0
  272. package/frontend/dist/js/de-DjU_eXQ-.js +2 -0
  273. package/frontend/dist/js/es-ChIEs80I.js +2 -0
  274. package/frontend/dist/js/{estree-DCT3Jm65.js → estree-DGmLqopC.js} +17 -17
  275. package/frontend/dist/js/evaluationsApi-Bg12ekHo.js +1 -0
  276. package/frontend/dist/js/fr-Bi8BGRW4.js +2 -0
  277. package/frontend/dist/js/hi-BMsCnWg7.js +2 -0
  278. package/frontend/dist/js/{html-CBXMuS97.js → html-BryNQ_yx.js} +6 -6
  279. package/frontend/dist/js/id-CpcN1vhk.js +2 -0
  280. package/frontend/dist/js/is-DkUy2cmP.js +2 -0
  281. package/frontend/dist/js/it-BglK9DRZ.js +2 -0
  282. package/frontend/dist/js/ja-IrprzwLJ.js +2 -0
  283. package/frontend/dist/js/ko--wwEsMPi.js +2 -0
  284. package/frontend/dist/js/{markdown-Bo71X2X2.js → markdown-CZ1tYEW8.js} +17 -17
  285. package/frontend/dist/js/{markdown-core-BFkBYv2v.js → markdown-core-KjS96SYW.js} +1 -1
  286. package/frontend/dist/js/{markdown-html-CwjnwJbl.js → markdown-html-DQEwrWcf.js} +1 -1
  287. package/frontend/dist/js/{markdown-math-CJvHdD1l.js → markdown-math-CKi32S5d.js} +1 -1
  288. package/frontend/dist/js/{markdownHtml-egpK3_YY.js → markdownHtml-lrXhxBhK.js} +1 -1
  289. package/frontend/dist/js/markdownMath-B0BpyFBS.js +1 -0
  290. package/frontend/dist/js/{messageCodeStyles-euWoxwoo.js → messageCodeStyles-DJZ4QMVq.js} +2 -2
  291. package/frontend/dist/js/ms-BWj59y7-.js +2 -0
  292. package/frontend/dist/js/nl-D-QndW_A.js +2 -0
  293. package/frontend/dist/js/pl-Dw7d7iDV.js +2 -0
  294. package/frontend/dist/js/pt-BI53uHJw.js +2 -0
  295. package/frontend/dist/js/react-vendor-wiHys0m2.js +9 -0
  296. package/frontend/dist/js/router-vendor-HZm4FR0A.js +1 -0
  297. package/frontend/dist/js/ru-JKyTgPg9.js +2 -0
  298. package/frontend/dist/js/{standalone-6z5x8CWe.js → standalone-DbyFjvTU.js} +1 -1
  299. package/frontend/dist/js/sv-BIkBLPSQ.js +2 -0
  300. package/frontend/dist/js/{syntax-highlight-7t8DGG2n.js → syntax-highlight-DNc3FFCa.js} +1 -1
  301. package/frontend/dist/js/{teamEventStream-DGgjrVqw.js → teamEventStream-PXiwR5Kr.js} +1 -1
  302. package/frontend/dist/js/th-CZ_LcCU0.js +2 -0
  303. package/frontend/dist/js/tr-B265byx1.js +2 -0
  304. package/frontend/dist/js/{typescript-CslHIgIJ.js → typescript-DUM5niRM.js} +1 -1
  305. package/frontend/dist/js/{ui-CNcEDQ95.js → ui-DDMjO5dd.js} +2 -2
  306. package/frontend/dist/js/ui-vendor-BhHHyHk3.js +1 -0
  307. package/frontend/dist/js/uk-VTAlChwf.js +2 -0
  308. package/frontend/dist/js/{useChat-YRODF1y1.js → useChat-DaIZ2Dbu.js} +1 -1
  309. package/frontend/dist/js/{useDialogFocus-BQLdAGYH.js → useDialogFocus-BPTG_Zmy.js} +1 -1
  310. package/frontend/dist/js/useDictation-BXyX1U8r.js +1 -0
  311. package/frontend/dist/js/useQuery-hWmQjdLu.js +1 -0
  312. package/frontend/dist/js/{useTranslation-Kn7_iLGj.js → useTranslation-B9kflK9S.js} +1 -1
  313. package/frontend/dist/js/{utils-Dq1w7K0c.js → utils-p8Gt72YP.js} +1 -1
  314. package/frontend/dist/js/{utils-vendor-dx9vGAt3.js → utils-vendor-DISWt2y9.js} +1 -1
  315. package/frontend/dist/js/vi-D8rXh-53.js +2 -0
  316. package/frontend/dist/js/{workStatus-oU04ZrUq.js → work-DmJpVPPO.js} +1 -1
  317. package/frontend/dist/js/workApi-BIS9RxRi.js +1 -0
  318. package/frontend/dist/js/workApi-C3Td_lFD.js +5 -0
  319. package/frontend/dist/js/workModels-MzU2Ab7l.js +1 -0
  320. package/frontend/dist/js/zh-BEGd9iBD.js +2 -0
  321. package/package.json +43 -8
  322. package/scripts/prepare-dsh-provider.mjs +124 -0
  323. package/frontend/dist/assets/index-BXTzjRcS.js +0 -92
  324. package/frontend/dist/assets/index-uzzNXp5R.css +0 -1
  325. package/frontend/dist/js/ArtifactSlideOutPanel-DPWGjHhp.js +0 -1
  326. package/frontend/dist/js/AutomationsPage-DvsLZWtg.js +0 -1
  327. package/frontend/dist/js/ChannelsPage-D252gXwf.js +0 -1
  328. package/frontend/dist/js/ChatPage-D_CzOiHw.js +0 -14
  329. package/frontend/dist/js/ConnectModels-DYOtIOEY.js +0 -1
  330. package/frontend/dist/js/GalleryPage-BpK-vrvd.js +0 -1
  331. package/frontend/dist/js/HomePage-zJkkDNJl.js +0 -1
  332. package/frontend/dist/js/LibreClawPage-CAgNj9GM.js +0 -1
  333. package/frontend/dist/js/NotesPage-CNTqlwNc.js +0 -3
  334. package/frontend/dist/js/OptimizedSyntaxHighlighter-BFjOBavF.js +0 -1
  335. package/frontend/dist/js/PluginUsagePage-Cp4j4-VZ.js +0 -1
  336. package/frontend/dist/js/RichMessageContent-BOY5jqj-.js +0 -1
  337. package/frontend/dist/js/SettingsModal-WAdVG4-g.js +0 -19
  338. package/frontend/dist/js/SystemPage-Dwi8leEQ.js +0 -1
  339. package/frontend/dist/js/UserManagementPanel-CfG67c_k.js +0 -1
  340. package/frontend/dist/js/WorkPage-D_cL9wp4.js +0 -8
  341. package/frontend/dist/js/api-29NO19CP.js +0 -14
  342. package/frontend/dist/js/api-DhafOTdF.js +0 -1
  343. package/frontend/dist/js/appVersion-BNuquyI6.js +0 -1
  344. package/frontend/dist/js/ar-WHne6B0o.js +0 -2
  345. package/frontend/dist/js/authStore-snvjjOuX.js +0 -1
  346. package/frontend/dist/js/bn-BZvCjqwO.js +0 -2
  347. package/frontend/dist/js/chatStore-BPpcL4I5.js +0 -3
  348. package/frontend/dist/js/composerStyles-bNlrIugf.js +0 -1
  349. package/frontend/dist/js/cs-DfSqWQ9V.js +0 -2
  350. package/frontend/dist/js/da-BmMLW4Dl.js +0 -2
  351. package/frontend/dist/js/de-BQMiQwQT.js +0 -2
  352. package/frontend/dist/js/es-DXf6jt4Z.js +0 -2
  353. package/frontend/dist/js/evaluationsApi-Btc9Mg9z.js +0 -1
  354. package/frontend/dist/js/fr-BD6nT1oc.js +0 -2
  355. package/frontend/dist/js/hi-BSuNic-8.js +0 -2
  356. package/frontend/dist/js/id-wodbwt3B.js +0 -2
  357. package/frontend/dist/js/is-CEjw-OJE.js +0 -2
  358. package/frontend/dist/js/it-X_pq8C7q.js +0 -2
  359. package/frontend/dist/js/ja-DWM2HZZd.js +0 -2
  360. package/frontend/dist/js/ko-DFi2khBB.js +0 -2
  361. package/frontend/dist/js/markdownMath-mesq3ZcY.js +0 -1
  362. package/frontend/dist/js/ms-DNQateTR.js +0 -2
  363. package/frontend/dist/js/nl-DSWhi8W8.js +0 -2
  364. package/frontend/dist/js/pl-W9WEDpZ3.js +0 -2
  365. package/frontend/dist/js/pt-DCCGvdNt.js +0 -2
  366. package/frontend/dist/js/react-vendor-D0Ec-185.js +0 -9
  367. package/frontend/dist/js/router-vendor-CM0PhOMl.js +0 -1
  368. package/frontend/dist/js/ru-D-Ww6dXe.js +0 -2
  369. package/frontend/dist/js/sv-B0Iry-H3.js +0 -2
  370. package/frontend/dist/js/th-CEZS0WeE.js +0 -2
  371. package/frontend/dist/js/tr-BFJ8TeYb.js +0 -2
  372. package/frontend/dist/js/ui-vendor-LatG6rFF.js +0 -177
  373. package/frontend/dist/js/uk-BmW3yDel.js +0 -2
  374. package/frontend/dist/js/useQuery-C3O4CZ54.js +0 -1
  375. package/frontend/dist/js/vi-Cu25FXnp.js +0 -2
  376. package/frontend/dist/js/work-DVgm81bJ.js +0 -1
  377. package/frontend/dist/js/workApi-BdUNugC3.js +0 -1
  378. package/frontend/dist/js/workApi-OieM8qEL.js +0 -6
  379. package/frontend/dist/js/zh-CuCAx3oH.js +0 -2
@@ -14,8 +14,17 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- import { normalizeChatProviderSelection, } from '../utils/chatProviderSelection.js';
17
+ import { ChatProviderSelectionError, normalizeChatProviderSelection, } from '../utils/chatProviderSelection.js';
18
18
  export const AUTO_TITLE_CURRENT_MODEL = '__current_running_model__';
19
+ export const generateNativeDshText = async (input) => {
20
+ const { nativeDshProviderService } = await import('../cordis/dsh/native-provider-client.js');
21
+ return nativeDshProviderService.text(input);
22
+ };
23
+ /** Resolve text calls without creating an agent session or invoking tools. */
24
+ export const resolveDshAuxiliaryTarget = async (model, userId) => {
25
+ const { resolveDshProviderTarget } = await import('../cordis/dsh/chat-model.js');
26
+ return resolveDshProviderTarget(model, userId);
27
+ };
19
28
  const TITLE_GENERATION_OPTIONS = {
20
29
  temperature: 0.3,
21
30
  num_predict: 20,
@@ -93,16 +102,20 @@ export function sanitizeGeneratedTitle(rawTitle, sourceMessage) {
93
102
  return sanitizeGeneratedTitleResult(rawTitle, sourceMessage).title;
94
103
  }
95
104
  export class TitleGenerationService {
96
- constructor({ chatService, chatGenerationService, pluginService, ollamaService, now = Date.now, logger = console, }) {
105
+ constructor({ chatService, chatGenerationService, pluginService, ollamaService, now = Date.now, logger = console, resolveDshProviderTarget = resolveDshAuxiliaryTarget, generateDshText = generateNativeDshText, }) {
97
106
  this.chatService = chatService;
98
107
  this.chatGenerationService = chatGenerationService;
99
108
  this.pluginService = pluginService;
100
109
  this.ollamaService = ollamaService;
101
110
  this.now = now;
102
111
  this.logger = logger;
112
+ this.resolveDshProviderTarget = resolveDshProviderTarget;
113
+ this.generateDshText = generateDshText;
103
114
  }
104
115
  async resolveTitleGenerationModel(requestedModel, session, userId) {
105
116
  if (requestedModel === AUTO_TITLE_CURRENT_MODEL) {
117
+ if (session.providerType === 'agent')
118
+ return session.model;
106
119
  return this.chatGenerationService.resolveActualModelName(session.model, userId);
107
120
  }
108
121
  return requestedModel;
@@ -112,18 +125,53 @@ export class TitleGenerationService {
112
125
  if (!session) {
113
126
  return null;
114
127
  }
115
- const model = await this.resolveTitleGenerationModel(requestedModel, session, userId);
116
- const providerSelection = requestedModel === AUTO_TITLE_CURRENT_MODEL
128
+ let providerSelection = requestedModel === AUTO_TITLE_CURRENT_MODEL
117
129
  ? // A persona session's binding points at the pseudo-model; the
118
130
  // resolved backing model finds its own provider by name.
119
- session.model.startsWith('persona:')
131
+ session.model.startsWith('persona:') &&
132
+ session.providerType !== 'agent'
120
133
  ? undefined
121
134
  : normalizeChatProviderSelection(session)
122
135
  : normalizeChatProviderSelection({ providerType, providerId });
136
+ if (requestedModel.startsWith('persona:') &&
137
+ providerSelection?.providerType !== 'agent') {
138
+ // Task personas carry the same synthetic binding as Chat personas.
139
+ // Their backing model owns provider resolution, including plugin routes.
140
+ providerSelection = undefined;
141
+ }
142
+ const usesDsh = providerSelection?.providerType === 'agent' &&
143
+ providerSelection.providerId === 'dsh';
144
+ if (providerSelection?.providerType === 'agent' && !usesDsh) {
145
+ throw new ChatProviderSelectionError('Title generation requires an Ollama, plugin, or DeepSeek Harness model.');
146
+ }
147
+ let model = await this.resolveTitleGenerationModel(requestedModel, session, userId);
123
148
  let title = buildFallbackTitle(message);
124
149
  let source = 'fallback';
125
150
  try {
126
- const generation = await this.generateTitleWithModel(sessionId, model, message, userId, providerSelection);
151
+ let nativeProviderId;
152
+ if (usesDsh) {
153
+ const resolved = await this.resolveDshProviderTarget(model, userId);
154
+ model = resolved.model;
155
+ if (resolved.providerType === 'dsh') {
156
+ if (!resolved.providerId)
157
+ throw new Error('Native DSH provider identity is missing.');
158
+ nativeProviderId = resolved.providerId;
159
+ }
160
+ else
161
+ providerSelection = normalizeChatProviderSelection(resolved);
162
+ }
163
+ const generation = nativeProviderId
164
+ ? {
165
+ title: await this.generateDshText({
166
+ model,
167
+ providerId: nativeProviderId,
168
+ userId,
169
+ prompt: buildTitlePrompt(message),
170
+ purpose: 'session-title',
171
+ }),
172
+ source: 'dsh',
173
+ }
174
+ : await this.generateTitleWithModel(sessionId, model, message, userId, providerSelection);
127
175
  const sanitizedTitle = sanitizeGeneratedTitleResult(generation.title, message);
128
176
  title = sanitizedTitle.title;
129
177
  source = sanitizedTitle.usedFallback ? 'fallback' : generation.source;
@@ -144,6 +192,13 @@ export class TitleGenerationService {
144
192
  }
145
193
  async generateTitleWithModel(sessionId, model, message, userId, providerSelection) {
146
194
  const target = await this.chatGenerationService.prepareGenerationTarget(model, userId, TITLE_GENERATION_OPTIONS, providerSelection);
195
+ if (target.providerType === 'agent' ||
196
+ (providerSelection?.providerType === 'plugin' &&
197
+ target.activePlugin?.id !== providerSelection.providerId) ||
198
+ (providerSelection?.providerType === 'ollama' && target.activePlugin)) {
199
+ throw new Error('The selected title provider is unavailable.');
200
+ }
201
+ const { tools: _tools, ...textOptions } = target.mergedOptions;
147
202
  const prompt = buildTitlePrompt(message);
148
203
  if (target.activePlugin) {
149
204
  const pluginResponse = await this.pluginService.executePluginRequest(target.actualModelName, [
@@ -153,7 +208,7 @@ export class TitleGenerationService {
153
208
  content: prompt,
154
209
  timestamp: this.now(),
155
210
  },
156
- ], { ...target.mergedOptions, ...PLUGIN_TITLE_GENERATION_OPTIONS }, userId, target.activePlugin.id);
211
+ ], { ...textOptions, ...PLUGIN_TITLE_GENERATION_OPTIONS }, userId, target.activePlugin.id);
157
212
  return {
158
213
  title: this.chatGenerationService.extractPluginAssistantContent(pluginResponse),
159
214
  source: 'plugin',
@@ -161,7 +216,7 @@ export class TitleGenerationService {
161
216
  }
162
217
  // Ollama takes the thinking setting beside the options, never inside
163
218
  // them, and this call answers it for itself below.
164
- const { think: _think, ...ollamaOptions } = target.mergedOptions;
219
+ const { think: _think, ...ollamaOptions } = textOptions;
165
220
  const response = await this.ollamaService.generateResponse({
166
221
  model: target.actualModelName,
167
222
  prompt,
@@ -1 +1 @@
1
- {"version":3,"file":"titleGenerationService.js","sourceRoot":"","sources":["../../src/services/titleGenerationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"titleGenerationService.js","sourceRoot":"","sources":["../../src/services/titleGenerationService.ts"],"names":[],"mappings":"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"}
@@ -140,7 +140,7 @@ export declare class WorkAgentHttpError extends Error {
140
140
  readonly code: string;
141
141
  constructor(message: string, status: number, code: string);
142
142
  }
143
- export declare function restorePersistedWorkContext(messages: WorkMessage[], provider: Pick<WorkRun, 'providerType' | 'providerId' | 'model'>, expectedStateScope?: string): OllamaChatMessage[];
143
+ export declare function restorePersistedWorkContext(messages: WorkMessage[], provider: Pick<WorkRun, 'providerType' | 'providerId' | 'model'>, expectedStateScope?: string, expectedUserId?: string): OllamaChatMessage[];
144
144
  export declare function normalizeToolCalls(response: OllamaChatResponse): WorkToolCall[];
145
145
  export declare const workAgentService: WorkAgentService;
146
146
  export default workAgentService;
@@ -1 +1 @@
1
- {"version":3,"file":"workAgentService.d.ts","sourceRoot":"","sources":["../../src/services/workAgentService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workAgentService.d.ts","sourceRoot":"","sources":["../../src/services/workAgentService.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
+ import { isWorkDshModel } from '../cordis/work-model.js';
17
18
  import workModelProviderService, { WORK_TOOL_ARGUMENTS_ERROR_METADATA_KEY, WORK_TOOL_ARGUMENTS_ERROR_MESSAGE, } from './workModelProviderService.js';
18
19
  import workEventService from './workEventService.js';
19
20
  import { buildWorkAgentSystemPrompt, buildWorkBudgetExhaustionPrompt, buildWorkComputerAmbiguityPrompt, buildWorkComputerStallPrompt, buildWorkEmptyRoundNudgePrompt, buildWorkScreenshotsUnsupportedPrompt, buildWorkStatusBlurbPrompt, workAgentSkillsForContext, WORK_WRITE_FILE_RECOMMENDED_CHARS, workToolCallBudget, } from './workAgentGuidance.js';
@@ -574,6 +575,7 @@ export class WorkAgentService {
574
575
  let runDelegation;
575
576
  let releaseExecutionLease;
576
577
  let executionContainerSettled = false;
578
+ let dshDriver;
577
579
  // Files this run created, moved, or deleted, in first-touch order. They
578
580
  // are persisted with the run so the workspace chips survive a reload.
579
581
  const changedFiles = [];
@@ -700,6 +702,9 @@ export class WorkAgentService {
700
702
  description: 'Taught procedure demonstrated by the user.',
701
703
  }, `skill:taught:${skill.slug}`, durableAttemptIdentity);
702
704
  }
705
+ if (run.providerType === 'dsh') {
706
+ await workModelProviderService.assertModelSupportsTools(run.model, { providerType: run.providerType, providerId: run.providerId }, userId);
707
+ }
703
708
  releaseExecutionLease = await workRuntimeService.prepare(task, controller.signal);
704
709
  await this.throwIfCancelled(runId, controller);
705
710
  await workTaskService.updateRun(runId, 'running', { started: true });
@@ -712,6 +717,12 @@ export class WorkAgentService {
712
717
  };
713
718
  const providerRoutingFingerprint = await workModelProviderService.getRoutingFingerprint(run.model, providerSelection, userId);
714
719
  const providerStateScope = await workModelProviderService.getResponsesStateScope(run.model, providerSelection, userId);
720
+ if (run.providerType === 'dsh' || isWorkDshModel(run.model)) {
721
+ const { createWorkDshDriver } = await import('../cordis/dsh/work-driver.js');
722
+ dshDriver = await createWorkDshDriver({
723
+ generate: (request, observer, signal) => workModelProviderService.generateChatStreamResponse(request, providerSelection, userId, observer, signal),
724
+ });
725
+ }
715
726
  // A5 approvals: whether side-effecting tool calls pause for review.
716
727
  // Resolved once per run — the policy force-flag or the task opt-in;
717
728
  // per-call rules are re-read at gate time so an Always-allow decision
@@ -807,7 +818,9 @@ export class WorkAgentService {
807
818
  let response;
808
819
  try {
809
820
  await this.assertStableProviderRouting(run, userId, providerRoutingFingerprint);
810
- response = await workModelProviderService.generateChatStreamResponse({
821
+ response = await (dshDriver
822
+ ? dshDriver.generate.bind(dshDriver)
823
+ : (request, observer, signal) => workModelProviderService.generateChatStreamResponse(request, providerSelection, userId, observer, signal))({
811
824
  model: run.model,
812
825
  messages,
813
826
  tools: [
@@ -817,7 +830,7 @@ export class WorkAgentService {
817
830
  ...(externalTools?.schemas ?? []),
818
831
  ],
819
832
  stream: true,
820
- }, providerSelection, userId, {
833
+ }, {
821
834
  onContent: delta => contentStream.push(delta),
822
835
  onReasoning: delta => reasoningStream.push(delta),
823
836
  onUsage: usage => {
@@ -881,7 +894,15 @@ export class WorkAgentService {
881
894
  undefined ||
882
895
  providerMetadata?.[OPENAI_RESPONSES_STATE_SCOPE_METADATA_KEY] !==
883
896
  undefined;
884
- const providerStateMetadata = toPersistedWorkProviderState(run, providerMetadata);
897
+ const nativeStateMetadata = run.providerType === 'dsh'
898
+ ? toPersistedWorkChatToolCalls(run, toolCalls, boundUtf8(response.message.thinking?.trim() ?? '', 100000), { userId, metadata: objectValue(providerMetadata?.nativeDsh) })
899
+ : undefined;
900
+ if (run.providerType === 'dsh' &&
901
+ providerMetadata?.nativeDsh &&
902
+ !nativeStateMetadata)
903
+ throw new WorkAgentHttpError('The native provider replay state exceeds the durable Work context limit.', 502, 'WORK_PROVIDER_INVALID_TOOL_CALLS');
904
+ const providerStateMetadata = toPersistedWorkProviderState(run, providerMetadata) ??
905
+ nativeStateMetadata;
885
906
  if (toolCalls.length > 0 &&
886
907
  (providerStateScope || hasResponsesStateMetadata) &&
887
908
  (providerMetadata?.[OPENAI_RESPONSES_STATE_DROPPED_METADATA_KEY] ===
@@ -915,6 +936,9 @@ export class WorkAgentService {
915
936
  messages.push({
916
937
  role: 'assistant',
917
938
  content: '',
939
+ ...(run.providerType === 'dsh' && reasoningContent
940
+ ? { thinking: reasoningContent }
941
+ : {}),
918
942
  providerMetadata: response.message.providerMetadata,
919
943
  });
920
944
  }
@@ -1000,6 +1024,9 @@ export class WorkAgentService {
1000
1024
  role: 'assistant',
1001
1025
  content: assistantContent,
1002
1026
  tool_calls: toolCalls,
1027
+ ...(run.providerType === 'dsh' && reasoningContent
1028
+ ? { thinking: reasoningContent }
1029
+ : {}),
1003
1030
  ...(response.message.providerMetadata
1004
1031
  ? { providerMetadata: response.message.providerMetadata }
1005
1032
  : {}),
@@ -1236,7 +1263,7 @@ export class WorkAgentService {
1236
1263
  },
1237
1264
  ],
1238
1265
  tools: [],
1239
- options: run.providerType === 'plugin'
1266
+ options: run.providerType !== 'ollama'
1240
1267
  ? { num_predict: 2048 }
1241
1268
  : undefined,
1242
1269
  stream: true,
@@ -1412,10 +1439,15 @@ export class WorkAgentService {
1412
1439
  finally {
1413
1440
  this.controllers.delete(runId);
1414
1441
  try {
1415
- await settleExecutionContainer();
1442
+ await dshDriver?.dispose();
1416
1443
  }
1417
1444
  finally {
1418
- releaseExecutionLease?.();
1445
+ try {
1446
+ await settleExecutionContainer();
1447
+ }
1448
+ finally {
1449
+ releaseExecutionLease?.();
1450
+ }
1419
1451
  }
1420
1452
  }
1421
1453
  }
@@ -1457,7 +1489,7 @@ export class WorkAgentService {
1457
1489
  }
1458
1490
  }
1459
1491
  async contextMessages(task, roundLimit, computerAvailable, taughtSkills, providerStateScope, provider = task, persona, approvalsActive, peerAgents = [], delegatedBy, connectedTools = []) {
1460
- const persisted = restorePersistedWorkContext(await workTaskService.getRecentModelContextMessages(task.id, 30), provider, providerStateScope);
1492
+ const persisted = restorePersistedWorkContext(await workTaskService.getRecentModelContextMessages(task.id, 30), provider, providerStateScope, task.userId);
1461
1493
  return [
1462
1494
  {
1463
1495
  role: 'system',
@@ -1978,7 +2010,7 @@ export class WorkAgentService {
1978
2010
  },
1979
2011
  ],
1980
2012
  tools: [],
1981
- options: run.providerType === 'plugin' ? { num_predict: 64 } : undefined,
2013
+ options: run.providerType !== 'ollama' ? { num_predict: 64 } : undefined,
1982
2014
  stream: true,
1983
2015
  }, {
1984
2016
  providerType: run.providerType,
@@ -2079,14 +2111,23 @@ function toPersistedWorkProviderState(run, providerMetadata) {
2079
2111
  * assistant/tool message pairs and silently drops every tool result — the
2080
2112
  * model then re-discovers its own work each turn.
2081
2113
  */
2082
- function toPersistedWorkChatToolCalls(run, toolCalls) {
2083
- if (toolCalls.length === 0)
2114
+ function toPersistedWorkChatToolCalls(run, toolCalls, thinking, native) {
2115
+ if (toolCalls.length === 0 && !native)
2084
2116
  return undefined;
2085
2117
  const persisted = {
2086
2118
  [WORK_PROVIDER_STATE_METADATA_KEY]: {
2087
2119
  providerType: run.providerType,
2088
2120
  ...(run.providerId ? { providerId: run.providerId } : {}),
2089
2121
  model: run.model,
2122
+ ...(thinking ? { thinking } : {}),
2123
+ ...(native
2124
+ ? {
2125
+ userId: native.userId,
2126
+ ...(native.metadata
2127
+ ? { providerMetadata: { nativeDsh: native.metadata } }
2128
+ : {}),
2129
+ }
2130
+ : {}),
2090
2131
  toolCalls: toolCalls.map(call => ({
2091
2132
  id: call.id,
2092
2133
  name: call.function.name,
@@ -2159,7 +2200,7 @@ function persistedChatToolCalls(message) {
2159
2200
  }
2160
2201
  return calls;
2161
2202
  }
2162
- export function restorePersistedWorkContext(messages, provider, expectedStateScope) {
2203
+ export function restorePersistedWorkContext(messages, provider, expectedStateScope, expectedUserId) {
2163
2204
  const restored = [];
2164
2205
  let pendingGroup;
2165
2206
  const flushPendingGroup = () => {
@@ -2189,6 +2230,22 @@ export function restorePersistedWorkContext(messages, provider, expectedStateSco
2189
2230
  (message.role === 'assistant' && message.kind === 'message')) {
2190
2231
  flushPendingGroup();
2191
2232
  const providerMetadata = matchingWorkProviderMetadata(message, provider, expectedStateScope);
2233
+ const nativeState = objectValue(message.metadata?.[WORK_PROVIDER_STATE_METADATA_KEY]);
2234
+ const sameNativeRoute = provider.providerType === 'dsh' &&
2235
+ nativeState?.providerType === 'dsh' &&
2236
+ nativeState.providerId === provider.providerId &&
2237
+ nativeState.model === provider.model;
2238
+ const sameNativeActor = sameNativeRoute &&
2239
+ typeof expectedUserId === 'string' &&
2240
+ nativeState?.userId === expectedUserId;
2241
+ const nativeThinking = sameNativeRoute &&
2242
+ (nativeState?.userId === undefined || sameNativeActor) &&
2243
+ typeof nativeState?.thinking === 'string'
2244
+ ? nativeState.thinking
2245
+ : undefined;
2246
+ const nativeMetadata = sameNativeActor
2247
+ ? objectValue(objectValue(nativeState?.providerMetadata)?.nativeDsh)
2248
+ : undefined;
2192
2249
  // Chat-mode rounds persist their tool calls directly (no Responses
2193
2250
  // replay state exists for them). Restore those only when the current
2194
2251
  // provider requires no such state either — the strict Responses
@@ -2206,6 +2263,7 @@ export function restorePersistedWorkContext(messages, provider, expectedStateSco
2206
2263
  : responseCalls.length;
2207
2264
  const expectedCallIds = new Set(responseCalls.map(call => call.id));
2208
2265
  if (!providerMetadata &&
2266
+ !nativeMetadata &&
2209
2267
  message.metadata?.[WORK_EMPTY_MODEL_RESPONSE_METADATA_KEY] === true) {
2210
2268
  // The empty-response placeholder informs the user; it is not
2211
2269
  // something the model said, so keep it out of model context.
@@ -2213,6 +2271,7 @@ export function restorePersistedWorkContext(messages, provider, expectedStateSco
2213
2271
  }
2214
2272
  if (message.kind === 'provider_state' &&
2215
2273
  !providerMetadata &&
2274
+ !nativeMetadata &&
2216
2275
  !chatCalls) {
2217
2276
  continue;
2218
2277
  }
@@ -2229,6 +2288,7 @@ export function restorePersistedWorkContext(messages, provider, expectedStateSco
2229
2288
  const assistant = {
2230
2289
  role: 'assistant',
2231
2290
  content: message.content,
2291
+ ...(nativeThinking ? { thinking: nativeThinking } : {}),
2232
2292
  ...(responseCalls.length > 0
2233
2293
  ? {
2234
2294
  tool_calls: responseCalls.map(call => ({
@@ -2241,7 +2301,11 @@ export function restorePersistedWorkContext(messages, provider, expectedStateSco
2241
2301
  })),
2242
2302
  }
2243
2303
  : {}),
2244
- ...(providerMetadata ? { providerMetadata } : {}),
2304
+ ...(providerMetadata
2305
+ ? { providerMetadata }
2306
+ : nativeMetadata
2307
+ ? { providerMetadata: { nativeDsh: nativeMetadata } }
2308
+ : {}),
2245
2309
  };
2246
2310
  if (responseCalls.length === 0) {
2247
2311
  restored.push(assistant);