libre-webui 0.37.2 → 0.38.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 (355) hide show
  1. package/README.md +28 -65
  2. package/backend/dist/db.js +1 -1
  3. package/backend/dist/index.d.ts.map +1 -1
  4. package/backend/dist/index.js +13 -36
  5. package/backend/dist/index.js.map +1 -1
  6. package/backend/dist/main.js +0 -12
  7. package/backend/dist/main.js.map +1 -1
  8. package/backend/dist/middleware/cors.d.ts.map +1 -1
  9. package/backend/dist/middleware/cors.js +5 -0
  10. package/backend/dist/middleware/cors.js.map +1 -1
  11. package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -1
  12. package/backend/dist/persistence/postgresExtensionRepositories.js +2 -4
  13. package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
  14. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
  15. package/backend/dist/persistence/sqliteExtensionRepositories.js +2 -4
  16. package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
  17. package/backend/dist/routes/agentCli.d.ts.map +1 -1
  18. package/backend/dist/routes/agentCli.js +8 -3
  19. package/backend/dist/routes/agentCli.js.map +1 -1
  20. package/backend/dist/routes/{cordis.d.ts → strands.d.ts} +1 -1
  21. package/backend/dist/routes/strands.d.ts.map +1 -0
  22. package/backend/dist/routes/strands.js +300 -0
  23. package/backend/dist/routes/strands.js.map +1 -0
  24. package/backend/dist/routes/work.d.ts.map +1 -1
  25. package/backend/dist/routes/work.js +9 -21
  26. package/backend/dist/routes/work.js.map +1 -1
  27. package/backend/dist/services/agentAccessService.d.ts +0 -5
  28. package/backend/dist/services/agentAccessService.d.ts.map +1 -1
  29. package/backend/dist/services/agentAccessService.js +7 -35
  30. package/backend/dist/services/agentAccessService.js.map +1 -1
  31. package/backend/dist/services/agentCliService.d.ts +16 -23
  32. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  33. package/backend/dist/services/agentCliService.js +84 -112
  34. package/backend/dist/services/agentCliService.js.map +1 -1
  35. package/backend/dist/services/authService.d.ts +3 -3
  36. package/backend/dist/services/authService.d.ts.map +1 -1
  37. package/backend/dist/services/authService.js +3 -4
  38. package/backend/dist/services/authService.js.map +1 -1
  39. package/backend/dist/services/authorizationService.d.ts +1 -1
  40. package/backend/dist/services/authorizationService.d.ts.map +1 -1
  41. package/backend/dist/services/authorizationService.js +17 -8
  42. package/backend/dist/services/authorizationService.js.map +1 -1
  43. package/backend/dist/services/pluginUsageService.d.ts +0 -34
  44. package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
  45. package/backend/dist/services/pluginUsageService.js +0 -62
  46. package/backend/dist/services/pluginUsageService.js.map +1 -1
  47. package/backend/dist/services/strandsAccessService.d.ts +26 -0
  48. package/backend/dist/services/strandsAccessService.d.ts.map +1 -0
  49. package/backend/dist/services/strandsAccessService.js +95 -0
  50. package/backend/dist/services/strandsAccessService.js.map +1 -0
  51. package/backend/dist/services/thinkingSummaryService.d.ts +2 -3
  52. package/backend/dist/services/thinkingSummaryService.d.ts.map +1 -1
  53. package/backend/dist/services/thinkingSummaryService.js +13 -27
  54. package/backend/dist/services/thinkingSummaryService.js.map +1 -1
  55. package/backend/dist/services/titleGenerationService.d.ts +7 -18
  56. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  57. package/backend/dist/services/titleGenerationService.js +15 -36
  58. package/backend/dist/services/titleGenerationService.js.map +1 -1
  59. package/backend/dist/services/workAgentService.d.ts +1 -1
  60. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  61. package/backend/dist/services/workAgentService.js +14 -60
  62. package/backend/dist/services/workAgentService.js.map +1 -1
  63. package/backend/dist/services/workModelProviderService.d.ts +1 -4
  64. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  65. package/backend/dist/services/workModelProviderService.js +17 -37
  66. package/backend/dist/services/workModelProviderService.js.map +1 -1
  67. package/backend/dist/services/workTaskService.js +1 -1
  68. package/backend/dist/services/workTaskService.js.map +1 -1
  69. package/backend/dist/strands/catalog.d.ts +57 -0
  70. package/backend/dist/strands/catalog.d.ts.map +1 -0
  71. package/backend/dist/strands/catalog.js +241 -0
  72. package/backend/dist/strands/catalog.js.map +1 -0
  73. package/backend/dist/strands/engine.d.ts +131 -0
  74. package/backend/dist/strands/engine.d.ts.map +1 -0
  75. package/backend/dist/strands/engine.js +477 -0
  76. package/backend/dist/strands/engine.js.map +1 -0
  77. package/backend/dist/strands/harness.d.ts +14 -0
  78. package/backend/dist/strands/harness.d.ts.map +1 -0
  79. package/backend/dist/strands/harness.js +41 -0
  80. package/backend/dist/strands/harness.js.map +1 -0
  81. package/backend/dist/strands/model.d.ts +24 -0
  82. package/backend/dist/strands/model.d.ts.map +1 -0
  83. package/backend/dist/strands/model.js +381 -0
  84. package/backend/dist/strands/model.js.map +1 -0
  85. package/backend/dist/strands/runtime.d.ts +4 -0
  86. package/backend/dist/strands/runtime.d.ts.map +1 -0
  87. package/backend/dist/{cordis/work-model.js → strands/runtime.js} +16 -12
  88. package/backend/dist/strands/runtime.js.map +1 -0
  89. package/backend/dist/strands/sandbox.d.ts +24 -0
  90. package/backend/dist/strands/sandbox.d.ts.map +1 -0
  91. package/backend/dist/strands/sandbox.js +156 -0
  92. package/backend/dist/strands/sandbox.js.map +1 -0
  93. package/backend/dist/strands/work-driver.d.ts +11 -0
  94. package/backend/dist/strands/work-driver.d.ts.map +1 -0
  95. package/backend/dist/strands/work-driver.js +443 -0
  96. package/backend/dist/strands/work-driver.js.map +1 -0
  97. package/backend/dist/strands/work-model.d.ts +7 -0
  98. package/backend/dist/strands/work-model.d.ts.map +1 -0
  99. package/backend/dist/strands/work-model.js +42 -0
  100. package/backend/dist/strands/work-model.js.map +1 -0
  101. package/backend/dist/types/work.d.ts +4 -11
  102. package/backend/dist/types/work.d.ts.map +1 -1
  103. package/backend/dist/utils/corsOriginPolicy.d.ts +10 -0
  104. package/backend/dist/utils/corsOriginPolicy.d.ts.map +1 -0
  105. package/backend/dist/utils/corsOriginPolicy.js +70 -0
  106. package/backend/dist/utils/corsOriginPolicy.js.map +1 -0
  107. package/backend/package.json +4 -34
  108. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  109. package/frontend/dist/assets/index-CJHJxwjA.js +68 -0
  110. package/frontend/dist/assets/index-DSHdOZRK.css +1 -0
  111. package/frontend/dist/index.html +30 -30
  112. package/frontend/dist/js/{ArtifactContainer-D4v4l15L.js → ArtifactContainer-BWTN4QSW.js} +1 -1
  113. package/frontend/dist/js/{ArtifactDemoPage-B2uaVpsi.js → ArtifactDemoPage-CCh7lQEw.js} +1 -1
  114. package/frontend/dist/js/{ArtifactSandboxFrame-DlWJHI-r.js → ArtifactSandboxFrame-D1ntMsqe.js} +1 -1
  115. package/frontend/dist/js/{ArtifactSlideOutPanel-laZ98QKB.js → ArtifactSlideOutPanel-zPEBPoMh.js} +1 -1
  116. package/frontend/dist/js/AutomationModal-DN98Eyym.js +1 -0
  117. package/frontend/dist/js/AutomationsPage-3DBwRKME.js +1 -0
  118. package/frontend/dist/js/{AvatarUpload-KaBaTKoG.js → AvatarUpload-D5_wGUb5.js} +1 -1
  119. package/frontend/dist/js/{Button-CGMYia4g.js → Button-CTwi9N3d.js} +1 -1
  120. package/frontend/dist/js/{CalendarPage-Dc7r-86c.js → CalendarPage-CUbGH3Tl.js} +1 -1
  121. package/frontend/dist/js/ChannelsPage-B1hC1rRS.js +1 -0
  122. package/frontend/dist/js/ChatPage-B7mEg5z2.js +14 -0
  123. package/frontend/dist/js/{ConnectModels-aUTD6s9B.js → ConnectModels-Cby89_Mc.js} +1 -1
  124. package/frontend/dist/js/{EvaluationsPage-BB7sPhIR.js → EvaluationsPage-BaND2qQM.js} +2 -2
  125. package/frontend/dist/js/{FirstTimeSetup-elqSi9JH.js → FirstTimeSetup-D8ktLJKO.js} +1 -1
  126. package/frontend/dist/js/GalleryPage-DXQLoU0l.js +1 -0
  127. package/frontend/dist/js/HomePage-WVug1vWc.js +1 -0
  128. package/frontend/dist/js/LanguageSwitcher-DHHTrDBR.js +1 -0
  129. package/frontend/dist/js/{Logo-HZvdAk2c.js → Logo-D1o5k_wt.js} +1 -1
  130. package/frontend/dist/js/{LogoMark-GJnfMXsk.js → LogoMark-lnmc98jv.js} +1 -1
  131. package/frontend/dist/js/{ModelManagerModals-Bk6OQzJI.js → ModelManagerModals-BPALNMDH.js} +1 -1
  132. package/frontend/dist/js/NotesPage-CRzX2Wa8.js +3 -0
  133. package/frontend/dist/js/{PasswordStrengthMeter-DasfJa4P.js → PasswordStrengthMeter-BGrHWG0B.js} +1 -1
  134. package/frontend/dist/js/{PersonasPage-CIJINcQK.js → PersonasPage-BRU9151f.js} +2 -2
  135. package/frontend/dist/js/PluginUsagePage-BlhYZq1l.js +1 -0
  136. package/frontend/dist/js/RichMessageContent-FiuPwDG7.js +1 -0
  137. package/frontend/dist/js/{RichMessageContent-DxCHlUlY.js → RichMessageContent-OGBLO64L.js} +1 -1
  138. package/frontend/dist/js/SettingsModal-sLkxG-lW.js +19 -0
  139. package/frontend/dist/js/{SettingsToggle-oxvw7ulA.js → SettingsToggle-Du2FSUPO.js} +1 -1
  140. package/frontend/dist/js/{ShareDialog-Bhpt_Y1N.js → ShareDialog-DEhxnLfn.js} +1 -1
  141. package/frontend/dist/js/StrandsPage-DWnUKSb0.js +1 -0
  142. package/frontend/dist/js/{SystemPage-BfhVXqar.js → SystemPage-cqq8lSxB.js} +1 -1
  143. package/frontend/dist/js/UserManagementPanel-NZmoTk6V.js +1 -0
  144. package/frontend/dist/js/{WhatsNewModal-Dl69bG2T.js → WhatsNewModal-5SwIdmU1.js} +1 -1
  145. package/frontend/dist/js/WorkPage-BIuaVNEC.js +8 -0
  146. package/frontend/dist/js/api-C2k0OqEk.js +1 -0
  147. package/frontend/dist/js/api-CnJYEbRz.js +14 -0
  148. package/frontend/dist/js/{appNavigation-R8iKverf.js → appNavigation-BXNRwrN-.js} +1 -1
  149. package/frontend/dist/js/appStore-DULGAJnH.js +2 -0
  150. package/frontend/dist/js/appVersion-DooVk4c_.js +1 -0
  151. package/frontend/dist/js/ar-Bp843BgG.js +2 -0
  152. package/frontend/dist/js/authStore-CaLdzyAr.js +1 -0
  153. package/frontend/dist/js/{authStore-D8fc-Hl0.js → authStore-DwaPsICv.js} +3 -3
  154. package/frontend/dist/js/bn-DmSGkklY.js +2 -0
  155. package/frontend/dist/js/chatStore-j8bGpkeT.js +3 -0
  156. package/frontend/dist/js/{client-BeJbHHWx.js → client-DQy1iGRM.js} +2 -2
  157. package/frontend/dist/js/{config-D6Kcp5n3.js → config-BbrsmDn2.js} +1 -1
  158. package/frontend/dist/js/cs-BcauIRyG.js +2 -0
  159. package/frontend/dist/js/da-CJ14DPJ_.js +2 -0
  160. package/frontend/dist/js/de-ajswyAhq.js +2 -0
  161. package/frontend/dist/js/es-rlf8FsMZ.js +2 -0
  162. package/frontend/dist/js/{evaluationsApi-2YwZBPk5.js → evaluationsApi-KVsH7yXe.js} +1 -1
  163. package/frontend/dist/js/fr-BwkM1wie.js +2 -0
  164. package/frontend/dist/js/hi-B3eId9-I.js +2 -0
  165. package/frontend/dist/js/id-BcgPFJh2.js +2 -0
  166. package/frontend/dist/js/is-Crvd3K7f.js +2 -0
  167. package/frontend/dist/js/it-DrLx24hb.js +2 -0
  168. package/frontend/dist/js/ja-DZMcf-oB.js +2 -0
  169. package/frontend/dist/js/ko-Cm0NiOE8.js +2 -0
  170. package/frontend/dist/js/{messageCodeStyles-D4haBw80.js → messageCodeStyles-CDnMKLgo.js} +1 -1
  171. package/frontend/dist/js/ms-ymaG59hx.js +2 -0
  172. package/frontend/dist/js/nl-CdIdeA9d.js +2 -0
  173. package/frontend/dist/js/pl-CuO0b605.js +2 -0
  174. package/frontend/dist/js/pt-Vy413FG5.js +2 -0
  175. package/frontend/dist/js/ru-D0zOEVrL.js +2 -0
  176. package/frontend/dist/js/strandsApi-SeoX_IsY.js +2 -0
  177. package/frontend/dist/js/sv-JoS4krpk.js +2 -0
  178. package/frontend/dist/js/{teamEventStream-omPy51va.js → teamEventStream-CZYdpbVw.js} +1 -1
  179. package/frontend/dist/js/th-afhelaqR.js +2 -0
  180. package/frontend/dist/js/tr-BhSy9UrR.js +2 -0
  181. package/frontend/dist/js/{ui-D5-4niRk.js → ui-CW3gJ4Kl.js} +2 -2
  182. package/frontend/dist/js/ui-vendor-_fvLnmDx.js +1 -0
  183. package/frontend/dist/js/uk-CibXypnZ.js +2 -0
  184. package/frontend/dist/js/{useChat-DnGClJeX.js → useChat-CBySqLqR.js} +4 -4
  185. package/frontend/dist/js/useDialogFocus-DbW0oA9H.js +1 -0
  186. package/frontend/dist/js/useDictation-DEAp64eu.js +1 -0
  187. package/frontend/dist/js/{useTranslation-B9kflK9S.js → useTranslation-UHEMTEHd.js} +1 -1
  188. package/frontend/dist/js/utils-DaXuqmQm.js +1 -0
  189. package/frontend/dist/js/utils-vendor-CvhktdS_.js +1 -0
  190. package/frontend/dist/js/vi-Cg0WKHtb.js +2 -0
  191. package/frontend/dist/js/{work-DmJpVPPO.js → work-CdbmBok5.js} +1 -1
  192. package/frontend/dist/js/{workApi-C5InfT8x.js → workApi-BqkCbCLQ.js} +1 -1
  193. package/frontend/dist/js/workApi-gpxrWwCm.js +1 -0
  194. package/frontend/dist/js/workModels-BM2Zyiba.js +1 -0
  195. package/frontend/dist/js/zh-DTqys9TE.js +2 -0
  196. package/package.json +10 -39
  197. package/backend/dist/cordis/contracts.d.ts +0 -270
  198. package/backend/dist/cordis/contracts.d.ts.map +0 -1
  199. package/backend/dist/cordis/contracts.js +0 -32
  200. package/backend/dist/cordis/contracts.js.map +0 -1
  201. package/backend/dist/cordis/dsh/chat-model.d.ts +0 -16
  202. package/backend/dist/cordis/dsh/chat-model.d.ts.map +0 -1
  203. package/backend/dist/cordis/dsh/chat-model.js +0 -104
  204. package/backend/dist/cordis/dsh/chat-model.js.map +0 -1
  205. package/backend/dist/cordis/dsh/engine-plugin.d.ts +0 -186
  206. package/backend/dist/cordis/dsh/engine-plugin.d.ts.map +0 -1
  207. package/backend/dist/cordis/dsh/engine-plugin.js +0 -1116
  208. package/backend/dist/cordis/dsh/engine-plugin.js.map +0 -1
  209. package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts +0 -175
  210. package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts.map +0 -1
  211. package/backend/dist/cordis/dsh/librewebui-llm-adapter.js +0 -480
  212. package/backend/dist/cordis/dsh/librewebui-llm-adapter.js.map +0 -1
  213. package/backend/dist/cordis/dsh/model-identity.d.ts +0 -12
  214. package/backend/dist/cordis/dsh/model-identity.d.ts.map +0 -1
  215. package/backend/dist/cordis/dsh/model-identity.js +0 -87
  216. package/backend/dist/cordis/dsh/model-identity.js.map +0 -1
  217. package/backend/dist/cordis/dsh/native-provider-client.d.ts +0 -44
  218. package/backend/dist/cordis/dsh/native-provider-client.d.ts.map +0 -1
  219. package/backend/dist/cordis/dsh/native-provider-client.js +0 -524
  220. package/backend/dist/cordis/dsh/native-provider-client.js.map +0 -1
  221. package/backend/dist/cordis/dsh/native-provider-plugin.d.ts +0 -11
  222. package/backend/dist/cordis/dsh/native-provider-plugin.d.ts.map +0 -1
  223. package/backend/dist/cordis/dsh/native-provider-plugin.js +0 -416
  224. package/backend/dist/cordis/dsh/native-provider-plugin.js.map +0 -1
  225. package/backend/dist/cordis/dsh/native-provider-protocol.d.ts +0 -37
  226. package/backend/dist/cordis/dsh/native-provider-protocol.d.ts.map +0 -1
  227. package/backend/dist/cordis/dsh/native-provider-protocol.js +0 -325
  228. package/backend/dist/cordis/dsh/native-provider-protocol.js.map +0 -1
  229. package/backend/dist/cordis/dsh/provider-handler.d.ts +0 -36
  230. package/backend/dist/cordis/dsh/provider-handler.d.ts.map +0 -1
  231. package/backend/dist/cordis/dsh/provider-handler.js +0 -582
  232. package/backend/dist/cordis/dsh/provider-handler.js.map +0 -1
  233. package/backend/dist/cordis/dsh/session-files.d.ts +0 -9
  234. package/backend/dist/cordis/dsh/session-files.d.ts.map +0 -1
  235. package/backend/dist/cordis/dsh/session-files.js +0 -60
  236. package/backend/dist/cordis/dsh/session-files.js.map +0 -1
  237. package/backend/dist/cordis/dsh/session-settings.d.ts +0 -15
  238. package/backend/dist/cordis/dsh/session-settings.d.ts.map +0 -1
  239. package/backend/dist/cordis/dsh/session-settings.js +0 -51
  240. package/backend/dist/cordis/dsh/session-settings.js.map +0 -1
  241. package/backend/dist/cordis/dsh/work-driver.d.ts +0 -12
  242. package/backend/dist/cordis/dsh/work-driver.d.ts.map +0 -1
  243. package/backend/dist/cordis/dsh/work-driver.js +0 -402
  244. package/backend/dist/cordis/dsh/work-driver.js.map +0 -1
  245. package/backend/dist/cordis/dsh/workspace-policy.d.ts +0 -10
  246. package/backend/dist/cordis/dsh/workspace-policy.d.ts.map +0 -1
  247. package/backend/dist/cordis/dsh/workspace-policy.js +0 -44
  248. package/backend/dist/cordis/dsh/workspace-policy.js.map +0 -1
  249. package/backend/dist/cordis/host/composition.d.ts +0 -73
  250. package/backend/dist/cordis/host/composition.d.ts.map +0 -1
  251. package/backend/dist/cordis/host/composition.js +0 -205
  252. package/backend/dist/cordis/host/composition.js.map +0 -1
  253. package/backend/dist/cordis/host/config.d.ts +0 -159
  254. package/backend/dist/cordis/host/config.d.ts.map +0 -1
  255. package/backend/dist/cordis/host/config.js +0 -184
  256. package/backend/dist/cordis/host/config.js.map +0 -1
  257. package/backend/dist/cordis/host/host.d.ts +0 -74
  258. package/backend/dist/cordis/host/host.d.ts.map +0 -1
  259. package/backend/dist/cordis/host/host.js +0 -420
  260. package/backend/dist/cordis/host/host.js.map +0 -1
  261. package/backend/dist/cordis/host/loader-entry.d.ts +0 -41
  262. package/backend/dist/cordis/host/loader-entry.d.ts.map +0 -1
  263. package/backend/dist/cordis/host/loader-entry.js +0 -52
  264. package/backend/dist/cordis/host/loader-entry.js.map +0 -1
  265. package/backend/dist/cordis/host/model.d.ts +0 -45
  266. package/backend/dist/cordis/host/model.d.ts.map +0 -1
  267. package/backend/dist/cordis/host/model.js +0 -54
  268. package/backend/dist/cordis/host/model.js.map +0 -1
  269. package/backend/dist/cordis/host/privacy.d.ts +0 -8
  270. package/backend/dist/cordis/host/privacy.d.ts.map +0 -1
  271. package/backend/dist/cordis/host/privacy.js +0 -73
  272. package/backend/dist/cordis/host/privacy.js.map +0 -1
  273. package/backend/dist/cordis/index.d.ts +0 -14
  274. package/backend/dist/cordis/index.d.ts.map +0 -1
  275. package/backend/dist/cordis/index.js +0 -30
  276. package/backend/dist/cordis/index.js.map +0 -1
  277. package/backend/dist/cordis/runtime.d.ts +0 -97
  278. package/backend/dist/cordis/runtime.d.ts.map +0 -1
  279. package/backend/dist/cordis/runtime.js +0 -231
  280. package/backend/dist/cordis/runtime.js.map +0 -1
  281. package/backend/dist/cordis/work-model.d.ts +0 -7
  282. package/backend/dist/cordis/work-model.d.ts.map +0 -1
  283. package/backend/dist/cordis/work-model.js.map +0 -1
  284. package/backend/dist/routes/cordis.d.ts.map +0 -1
  285. package/backend/dist/routes/cordis.js +0 -440
  286. package/backend/dist/routes/cordis.js.map +0 -1
  287. package/backend/dist/routes/libreClaw.d.ts +0 -3
  288. package/backend/dist/routes/libreClaw.d.ts.map +0 -1
  289. package/backend/dist/routes/libreClaw.js +0 -200
  290. package/backend/dist/routes/libreClaw.js.map +0 -1
  291. package/backend/dist/services/cordisAccessService.d.ts +0 -56
  292. package/backend/dist/services/cordisAccessService.d.ts.map +0 -1
  293. package/backend/dist/services/cordisAccessService.js +0 -98
  294. package/backend/dist/services/cordisAccessService.js.map +0 -1
  295. package/backend/dist/services/libreClawService.d.ts +0 -105
  296. package/backend/dist/services/libreClawService.d.ts.map +0 -1
  297. package/backend/dist/services/libreClawService.js +0 -169
  298. package/backend/dist/services/libreClawService.js.map +0 -1
  299. package/frontend/dist/assets/index-C8_AByBq.css +0 -1
  300. package/frontend/dist/assets/index-DWLnkKwj.js +0 -16
  301. package/frontend/dist/js/AutomationModal-CjjiEZFA.js +0 -1
  302. package/frontend/dist/js/AutomationsPage-jnWmD58y.js +0 -1
  303. package/frontend/dist/js/ChannelsPage-DHPabX1e.js +0 -1
  304. package/frontend/dist/js/ChatPage-ZvGp-iqV.js +0 -14
  305. package/frontend/dist/js/CordisPage-DZKcpPVj.js +0 -1
  306. package/frontend/dist/js/GalleryPage-CrlNRnkn.js +0 -1
  307. package/frontend/dist/js/HomePage-lR9h7_a1.js +0 -1
  308. package/frontend/dist/js/LanguageSwitcher-CWkbzpxT.js +0 -1
  309. package/frontend/dist/js/LibreClawPage-P19FnNlu.js +0 -1
  310. package/frontend/dist/js/NotesPage-DopG0M4B.js +0 -3
  311. package/frontend/dist/js/PluginUsagePage-Cj0mUxD8.js +0 -1
  312. package/frontend/dist/js/RichMessageContent-BZndQSJU.js +0 -1
  313. package/frontend/dist/js/SettingsModal-wAuFQOE4.js +0 -19
  314. package/frontend/dist/js/UserManagementPanel-BU95ZPOv.js +0 -1
  315. package/frontend/dist/js/WorkPage-CSderbeT.js +0 -8
  316. package/frontend/dist/js/api-CU-JXx2u.js +0 -1
  317. package/frontend/dist/js/api-DPXCtanG.js +0 -14
  318. package/frontend/dist/js/appStore-BD70bvas.js +0 -2
  319. package/frontend/dist/js/appVersion-C7sxqgMd.js +0 -1
  320. package/frontend/dist/js/ar-Cq-DrSYL.js +0 -2
  321. package/frontend/dist/js/authStore-FNKLFUQp.js +0 -1
  322. package/frontend/dist/js/bn-BqxLh-KL.js +0 -2
  323. package/frontend/dist/js/chatStore-CK5ojwft.js +0 -3
  324. package/frontend/dist/js/cordisApi-BS8QMSV4.js +0 -2
  325. package/frontend/dist/js/cs-D2DDNZf-.js +0 -2
  326. package/frontend/dist/js/da-BciY-TSG.js +0 -2
  327. package/frontend/dist/js/de-DjU_eXQ-.js +0 -2
  328. package/frontend/dist/js/es-ChIEs80I.js +0 -2
  329. package/frontend/dist/js/fr-Bi8BGRW4.js +0 -2
  330. package/frontend/dist/js/hi-BMsCnWg7.js +0 -2
  331. package/frontend/dist/js/i18next-DOICz7ZY.js +0 -1
  332. package/frontend/dist/js/id-CpcN1vhk.js +0 -2
  333. package/frontend/dist/js/is-DkUy2cmP.js +0 -2
  334. package/frontend/dist/js/it-BglK9DRZ.js +0 -2
  335. package/frontend/dist/js/ja-IrprzwLJ.js +0 -2
  336. package/frontend/dist/js/ko--wwEsMPi.js +0 -2
  337. package/frontend/dist/js/ms-BWj59y7-.js +0 -2
  338. package/frontend/dist/js/nl-D-QndW_A.js +0 -2
  339. package/frontend/dist/js/pl-Dw7d7iDV.js +0 -2
  340. package/frontend/dist/js/pt-BI53uHJw.js +0 -2
  341. package/frontend/dist/js/ru-JKyTgPg9.js +0 -2
  342. package/frontend/dist/js/sv-BIkBLPSQ.js +0 -2
  343. package/frontend/dist/js/th-CZ_LcCU0.js +0 -2
  344. package/frontend/dist/js/tr-B265byx1.js +0 -2
  345. package/frontend/dist/js/ui-vendor-BhHHyHk3.js +0 -1
  346. package/frontend/dist/js/uk-VTAlChwf.js +0 -2
  347. package/frontend/dist/js/useDialogFocus-BPTG_Zmy.js +0 -1
  348. package/frontend/dist/js/useDictation-D7zVBjDJ.js +0 -1
  349. package/frontend/dist/js/utils-p8Gt72YP.js +0 -1
  350. package/frontend/dist/js/utils-vendor-DISWt2y9.js +0 -1
  351. package/frontend/dist/js/vi-D8rXh-53.js +0 -2
  352. package/frontend/dist/js/workApi-FV75LKJn.js +0 -1
  353. package/frontend/dist/js/workModels-MzU2Ab7l.js +0 -1
  354. package/frontend/dist/js/zh-BEGd9iBD.js +0 -2
  355. package/scripts/prepare-dsh-provider.mjs +0 -124
@@ -1,270 +0,0 @@
1
- /**
2
- * Transport- and implementation-neutral contracts for the embedded DSH engine.
3
- *
4
- * Everything Libre WebUI consumes from the DSH engine crosses this file. The
5
- * route layer, the WebSocket bridge, and the frontend client all program
6
- * against these shapes, and the `dsh-engine` Cordis plugin is what satisfies
7
- * them. No Libre WebUI module outside `src/cordis/dsh/` may import a concrete
8
- * `@deepseek-ai/dsh-*` package: that restriction is what makes the engine
9
- * hot-swappable and what keeps the Cordis bridge a genuine seam rather than a
10
- * direct dependency in disguise.
11
- *
12
- * @module cordis/contracts
13
- */
14
- /** Stable Cordis service name under which the engine contract is published. */
15
- export declare const DSH_ENGINE_SERVICE: 'libreDshEngine';
16
- /** Lifecycle phase of one engine service, mirroring Cordis fiber states. */
17
- export type EngineServiceState =
18
- /** The providing plugin has not been mounted yet. */
19
- 'pending'
20
- /** The providing plugin is mounted and the service is usable. */
21
- | 'ready'
22
- /** The providing plugin is mounted but cannot serve requests. */
23
- | 'failed';
24
- /** One engine service as observed through the contract. */
25
- export interface EngineServiceStatus {
26
- /** Service name as registered on the Cordis context. */
27
- readonly name: string;
28
- /** Current lifecycle phase. */
29
- readonly state: EngineServiceState;
30
- /** Human-readable reason, present only when `state` is `failed`. */
31
- readonly detail?: string;
32
- }
33
- /** Role of one message projected from an engine session log. */
34
- export type EngineMessageRole = 'user' | 'assistant' | 'system' | 'tool' | 'unknown';
35
- /** One message projected from an engine session log. */
36
- export interface EngineMessage {
37
- /** Engine-assigned identifier, stable within a session. */
38
- readonly id: string;
39
- /** Projected author role. */
40
- readonly role: EngineMessageRole;
41
- /** Flattened text content; empty when the message carried none. */
42
- readonly text: string;
43
- /** Reasoning exposed by the provider, kept separate from the answer. */
44
- readonly reasoning?: string;
45
- /** Distinguishes human input from harness-injected runtime context. */
46
- readonly source?: 'user' | 'model' | 'system' | 'context' | 'tool';
47
- readonly toolCalls?: readonly EngineToolCall[];
48
- readonly toolResults?: readonly EngineToolResult[];
49
- /** Engine sequence number of the originating event, when known. */
50
- readonly seq?: number;
51
- }
52
- /** One structured model-requested operation. */
53
- export interface EngineToolCall {
54
- readonly callId: string;
55
- readonly name: string;
56
- readonly arguments: string;
57
- }
58
- /** One structured operation result. */
59
- export interface EngineToolResult {
60
- readonly callId: string;
61
- readonly name?: string;
62
- readonly output: string;
63
- readonly isError: boolean;
64
- }
65
- export type EnginePermissionMode = 'read-only' | 'workspace-write';
66
- export interface EngineSessionSettings {
67
- readonly model?: string;
68
- readonly permissionMode: EnginePermissionMode;
69
- }
70
- export interface EngineApproval {
71
- readonly id: string;
72
- readonly sessionId: string;
73
- readonly callId?: string;
74
- readonly toolName: string;
75
- readonly reason?: string;
76
- }
77
- export type EngineApprovalOutcome = 'allowed-once' | 'rejected' | 'cancelled' | 'unavailable';
78
- /** Summary of one engine session. */
79
- export interface EngineSessionSummary {
80
- /** Opaque session identifier used by every other session operation. */
81
- readonly id: string;
82
- /** Engine-supplied title, absent until one is generated. */
83
- readonly title?: string;
84
- /** Epoch milliseconds when the session was created, when known. */
85
- readonly createdAt?: number;
86
- /** Number of events currently recorded for the session. */
87
- readonly eventCount: number;
88
- /** Canonical working directory recorded for this session. */
89
- readonly workspacePath?: string;
90
- }
91
- /** A live or restored engine session. */
92
- export interface EngineSession extends EngineSessionSummary {
93
- readonly active: boolean;
94
- readonly settings: EngineSessionSettings;
95
- readonly capabilities: {
96
- readonly permissions: boolean;
97
- readonly approvals: boolean;
98
- };
99
- readonly approvals: readonly EngineApproval[];
100
- /** Messages projected from the session log, oldest first. */
101
- readonly messages: readonly EngineMessage[];
102
- }
103
- /** Identifies one live agent. */
104
- export interface EngineAgentSummary {
105
- /** Agent identifier, equal to its backing session id. */
106
- readonly id: string;
107
- /** Whether this agent is a runtime root rather than a child of another. */
108
- readonly root: boolean;
109
- }
110
- /** One tool the engine can expose to a model. */
111
- export interface EngineToolSummary {
112
- /** Model-facing tool name. */
113
- readonly name: string;
114
- /** Model-facing description, empty when the tool declared none. */
115
- readonly description: string;
116
- }
117
- /** Options accepted when creating an engine session. */
118
- export interface EngineCreateSessionOptions {
119
- /** Absolute working directory recorded in the session header. */
120
- readonly cwd: string;
121
- /** A temporary Chat invocation, excluded from the engine console. */
122
- readonly transient?: boolean;
123
- readonly model?: string;
124
- readonly permissionMode?: EnginePermissionMode;
125
- /** Authenticated caller used to validate a requested model; never persisted. */
126
- readonly userId?: string;
127
- /** Optional author-supplied title. */
128
- readonly title?: string;
129
- }
130
- /** Options accepted when creating an agent bound to a session. */
131
- export interface EngineCreateAgentOptions {
132
- /** Session the agent should operate on. */
133
- readonly sessionId: string;
134
- /** Absolute working directory recorded in the session header. */
135
- readonly cwd: string;
136
- /** Provider route name, when the caller wants to pin one. */
137
- readonly provider?: string;
138
- /** Model identifier, when the caller wants to pin one. */
139
- readonly model?: string;
140
- }
141
- /** One increment of a streaming agent response. */
142
- export type EngineStreamChunk =
143
- /** Incremental assistant text. */
144
- {
145
- readonly type: 'text';
146
- readonly text: string;
147
- }
148
- /**
149
- * Incremental reasoning the model exposed.
150
- *
151
- * Separate from `text` because it is not part of the reply: a consumer may
152
- * show it, collapse it, or drop it, and mixing it into the answer would make
153
- * that choice impossible.
154
- */
155
- | {
156
- readonly type: 'reasoning';
157
- readonly text: string;
158
- }
159
- /**
160
- * The turn failed before producing a reply.
161
- *
162
- * Carried separately from `done` because the engine reports a structured
163
- * failure reason, and collapsing it into a terminal status would leave a
164
- * caller with "the turn ended" and no way to say why.
165
- */
166
- | {
167
- readonly type: 'error';
168
- readonly message: string;
169
- readonly code?: string;
170
- }
171
- /** A tool call the agent started. */
172
- | {
173
- readonly type: 'tool-call';
174
- readonly callId: string;
175
- readonly name: string;
176
- readonly arguments?: string;
177
- }
178
- /** A tool call that finished, successfully or not. */
179
- | {
180
- readonly type: 'tool-result';
181
- readonly callId: string;
182
- readonly name: string;
183
- readonly isError: boolean;
184
- readonly output?: string;
185
- } | {
186
- readonly type: 'approval-request';
187
- readonly approval: EngineApproval;
188
- } | {
189
- readonly type: 'approval-decision';
190
- readonly approvalId: string;
191
- readonly outcome: EngineApprovalOutcome;
192
- }
193
- /** A turn boundary; the terminal chunk of one response. */
194
- | {
195
- readonly type: 'done';
196
- readonly reason: string;
197
- readonly interrupted?: boolean;
198
- };
199
- /** Subscription handle returned by {@link EngineStreamHandle}. */
200
- export interface EngineStreamSubscription {
201
- /** Stop receiving chunks. Safe to call more than once. */
202
- unsubscribe(): void;
203
- }
204
- /** Handle over one in-flight streaming response. */
205
- export interface EngineStreamHandle {
206
- /** Session the response belongs to. */
207
- readonly sessionId: string;
208
- /**
209
- * Register a chunk listener.
210
- *
211
- * Everything the response has already produced is replayed first, so a
212
- * listener that attaches after a fast answer still receives it.
213
- */
214
- subscribe(listener: (chunk: EngineStreamChunk) => void): EngineStreamSubscription;
215
- /**
216
- * Release this handle's resources.
217
- *
218
- * Called when a client disconnects, so an abandoned response stops buffering
219
- * for a reader that is gone. The turn stays durable: its transcript remains
220
- * readable and the next message is not blocked.
221
- */
222
- close(): void;
223
- }
224
- /**
225
- * The engine contract published as the `libreDshEngine` Cordis service.
226
- *
227
- * Every method rejects rather than returning a partial result when the engine
228
- * is not ready, so callers never mistake an unmounted engine for an empty one.
229
- */
230
- export interface DshEngine {
231
- /** Report the lifecycle state of each engine service. */
232
- status(): readonly EngineServiceStatus[];
233
- /** Model defaults of the running composition, before per-session choices. */
234
- modelConfiguration(): {
235
- readonly provider?: string;
236
- readonly model?: string;
237
- };
238
- /** List live and restored sessions, newest first. */
239
- listSessions(): Promise<readonly EngineSessionSummary[]>;
240
- /** Read one session with its projected messages. */
241
- getSession(sessionId: string): Promise<EngineSession | undefined>;
242
- /** Create a session. */
243
- createSession(options: EngineCreateSessionOptions): Promise<EngineSession>;
244
- updateSessionSettings(sessionId: string, settings: Partial<EngineSessionSettings>, options?: {
245
- readonly userId?: string;
246
- }): Promise<EngineSession>;
247
- decideApproval(sessionId: string, approvalId: string, outcome: 'allowed-once' | 'rejected'): Promise<boolean>;
248
- /** Delete a session and dispose any agent still bound to it. */
249
- deleteSession(sessionId: string): Promise<boolean>;
250
- /** List live agents. */
251
- listAgents(): Promise<readonly EngineAgentSummary[]>;
252
- /** List tools currently registered with the engine. */
253
- listTools(): Promise<readonly EngineToolSummary[]>;
254
- /**
255
- * Send a user message to a session and stream the agent response.
256
- *
257
- * The returned handle is usable immediately: chunks emitted before the first
258
- * subscriber attaches are buffered and replayed to that subscriber, so a
259
- * caller can await the HTTP response and then attach without losing text.
260
- */
261
- sendMessage(sessionId: string, text: string, options?: {
262
- readonly cwd?: string;
263
- readonly userId?: string;
264
- }): Promise<EngineStreamHandle>;
265
- /** Authenticated actor attached to the current turn only. */
266
- requestUserId(sessionId: string): string | undefined;
267
- /** Cancel the in-flight response for a session, if any. */
268
- cancel(sessionId: string): Promise<boolean>;
269
- }
270
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/cordis/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /*
2
- * Libre WebUI
3
- * Copyright (C) 2025 Kroonen AI, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at:
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- /**
18
- * Transport- and implementation-neutral contracts for the embedded DSH engine.
19
- *
20
- * Everything Libre WebUI consumes from the DSH engine crosses this file. The
21
- * route layer, the WebSocket bridge, and the frontend client all program
22
- * against these shapes, and the `dsh-engine` Cordis plugin is what satisfies
23
- * them. No Libre WebUI module outside `src/cordis/dsh/` may import a concrete
24
- * `@deepseek-ai/dsh-*` package: that restriction is what makes the engine
25
- * hot-swappable and what keeps the Cordis bridge a genuine seam rather than a
26
- * direct dependency in disguise.
27
- *
28
- * @module cordis/contracts
29
- */
30
- /** Stable Cordis service name under which the engine contract is published. */
31
- export const DSH_ENGINE_SERVICE = 'libreDshEngine';
32
- //# sourceMappingURL=contracts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/cordis/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;GAYG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAyB,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { DshEngine } from '../contracts.js';
2
- import type { BridgeModel } from './librewebui-llm-adapter.js';
3
- /** Decode only the agent envelope; the provider route stays qualified. */
4
- export declare function dshProviderModel(selector: string): string | undefined;
5
- /** Discovery reads configuration but never starts the optional engine. */
6
- export declare function dshChatModelChoices(userId: string): Promise<readonly BridgeModel[]>;
7
- /** Validate a saved choice before starting an engine or allocating a session. */
8
- export declare function resolveDshSelectedModel(selector: string, userId: string): Promise<string | undefined>;
9
- export declare function requireDshProviderRoute(engine: DshEngine): void;
10
- /** Titles and summaries use the selected LLM directly, without an agent turn. */
11
- export declare function resolveDshProviderTarget(selector: string, userId: string): Promise<{
12
- model: string;
13
- providerType: 'ollama' | 'plugin' | 'dsh';
14
- providerId: string | null;
15
- }>;
16
- //# sourceMappingURL=chat-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/cordis/dsh/chat-model.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAiB/D,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAarE;AAaD,0EAA0E;AAC1E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CA0BjC;AAED,iFAAiF;AACjF,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAK/D;AAED,iFAAiF;AACjF,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC1C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,CAoBD"}
@@ -1,104 +0,0 @@
1
- /*
2
- * Libre WebUI
3
- * Copyright (C) 2025 Kroonen AI, Inc.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at:
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { getAgentCliModelsEnabled } from '../../services/agentAccessService.js';
18
- import { userModel } from '../../models/userModel.js';
19
- import { readCompositionFile } from '../host/composition.js';
20
- import { isProviderModelIdentity, parseNativeDshModelId, } from './model-identity.js';
21
- import { libreWebUiProviderHandler, resolveCordisProviderTarget, resolveEngineDefaultModel, } from './provider-handler.js';
22
- const DSH_PREFIX = 'dsh:';
23
- const PROVIDER_ROUTE = 'libre-webui';
24
- /** Decode only the agent envelope; the provider route stays qualified. */
25
- export function dshProviderModel(selector) {
26
- if (selector === 'dsh')
27
- return undefined;
28
- const model = selector.startsWith(DSH_PREFIX)
29
- ? selector.slice(DSH_PREFIX.length)
30
- : '';
31
- if (selector.length > 2048 ||
32
- (!model.startsWith('lwui:') && !model.startsWith('native:')) ||
33
- !isProviderModelIdentity(model)) {
34
- throw new Error('Choose a valid DeepSeek Harness provider model.');
35
- }
36
- return model;
37
- }
38
- async function requireDshChatAccess(userId) {
39
- const user = await userModel.getUserById(userId);
40
- if (user?.role !== 'admin' || user.status !== 'active')
41
- throw new Error('DeepSeek Harness requires an active administrator.');
42
- if (!(await getAgentCliModelsEnabled()))
43
- throw new Error('Agent CLI models are disabled on this server.');
44
- const { isCordisBridgeEnabled } = await import('../runtime.js');
45
- if (!(await isCordisBridgeEnabled()))
46
- throw new Error('The DeepSeek Harness engine is not available.');
47
- }
48
- /** Discovery reads configuration but never starts the optional engine. */
49
- export async function dshChatModelChoices(userId) {
50
- await requireDshChatAccess(userId);
51
- const { cordisRuntimeConfig } = await import('../runtime.js');
52
- const { BRIDGE_ENTRY_ID } = await import('../host/host.js');
53
- const config = cordisRuntimeConfig();
54
- const row = readCompositionFile(config.configPath).find(entry => entry.id === BRIDGE_ENTRY_ID);
55
- if (!row || row.disabled)
56
- return [];
57
- const rowConfig = row.config && typeof row.config === 'object' && !Array.isArray(row.config)
58
- ? row.config
59
- : {};
60
- // A row pin wins over host defaults, including an unknown !!js expression.
61
- // Such compositions keep their base profile rather than advertise a route
62
- // that may not be the one their engine will execute.
63
- const provider = Object.prototype.hasOwnProperty.call(rowConfig, 'defaultProvider')
64
- ? rowConfig.defaultProvider
65
- : config.model.provider === 'libre-webui'
66
- ? PROVIDER_ROUTE
67
- : config.model.route;
68
- if (provider !== PROVIDER_ROUTE)
69
- return [];
70
- return libreWebUiProviderHandler.listModels(userId);
71
- }
72
- /** Validate a saved choice before starting an engine or allocating a session. */
73
- export async function resolveDshSelectedModel(selector, userId) {
74
- const model = dshProviderModel(selector);
75
- await requireDshChatAccess(userId);
76
- if (model &&
77
- !(await dshChatModelChoices(userId)).some(candidate => candidate.id === model))
78
- throw new Error('The selected DeepSeek Harness model is unavailable.');
79
- return model;
80
- }
81
- export function requireDshProviderRoute(engine) {
82
- if (engine.modelConfiguration().provider !== PROVIDER_ROUTE)
83
- throw new Error('This DeepSeek Harness composition does not use Libre WebUI model providers.');
84
- }
85
- /** Titles and summaries use the selected LLM directly, without an agent turn. */
86
- export async function resolveDshProviderTarget(selector, userId) {
87
- const selected = await resolveDshSelectedModel(selector, userId);
88
- if (selected && parseNativeDshModelId(selected))
89
- return resolveCordisProviderTarget(selected, userId);
90
- const { getCordisEngine } = await import('../runtime.js');
91
- const result = await getCordisEngine();
92
- if (!result.ok)
93
- throw new Error(`The DeepSeek Harness engine is not available: ${result.reason}`);
94
- requireDshProviderRoute(result.engine);
95
- const configured = result.engine.modelConfiguration().model;
96
- const model = selected ??
97
- (isProviderModelIdentity(configured)
98
- ? configured
99
- : await resolveEngineDefaultModel(userId));
100
- if (!model)
101
- throw new Error('No DeepSeek Harness provider model is available.');
102
- return resolveCordisProviderTarget(model, userId);
103
- }
104
- //# sourceMappingURL=chat-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../../src/cordis/dsh/chat-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3C,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,IACE,QAAQ,CAAC,MAAM,GAAG,IAAI;QACtB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,MAAc;IAChD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,MAAM,wBAAwB,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,MAAM,qBAAqB,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACrE,CAAC;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc;IAEd,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACrD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,eAAe,CACtC,CAAC;IACF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,SAAS,GACb,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACxE,CAAC,CAAE,GAAG,CAAC,MAAkC;QACzC,CAAC,CAAC,EAAE,CAAC;IACT,2EAA2E;IAC3E,0EAA0E;IAC1E,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CACnD,SAAS,EACT,iBAAiB,CAClB;QACC,CAAC,CAAC,SAAS,CAAC,eAAe;QAC3B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,aAAa;YACvC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACzB,IAAI,QAAQ,KAAK,cAAc;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,yBAAyB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,MAAc;IAEd,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,IACE,KAAK;QACL,CAAC,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACvC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CACpC;QAED,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC,QAAQ,KAAK,cAAc;QACzD,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;AACN,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,QAAgB,EAChB,MAAc;IAMd,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,IAAI,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAC7C,OAAO,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,CAAC,MAAM,EAAE,CACjE,CAAC;IACJ,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;IAC5D,MAAM,KAAK,GACT,QAAQ;QACR,CAAC,uBAAuB,CAAC,UAAU,CAAC;YAClC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QACR,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,OAAO,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -1,186 +0,0 @@
1
- import { Service, type Context } from '@deepseek-ai/cordis';
2
- import type { DshEngine, EngineAgentSummary, EngineSessionSettings, EngineCreateSessionOptions, EngineMessage, EngineMessageRole, EngineServiceStatus, EngineSession, EngineSessionSummary, EngineStreamChunk, EngineStreamHandle, EngineToolSummary } from '../contracts.js';
3
- /** Plugin name reported to Cordis diagnostics. */
4
- export declare const name = "libre-webui-dsh-engine";
5
- /**
6
- * Services this plugin waits for.
7
- *
8
- * Declaring them is what makes the bridge start only once the engine is
9
- * usable, and — just as importantly — refuse to start at all when the engine
10
- * is absent. A bridge that published itself against a missing engine would
11
- * turn a configuration mistake into silently empty session lists.
12
- */
13
- export declare const inject: readonly ['sessions', 'agents', 'tools', 'llm'];
14
- /** Configuration accepted by the bridge row. */
15
- export interface Config {
16
- /** Absolute directory used as the default workspace for new sessions. */
17
- readonly workspacePath?: string;
18
- /** Whether `sendMessage` may start model work. */
19
- readonly streaming?: boolean;
20
- /** Whether the registry may be listed. */
21
- readonly tools?: boolean;
22
- /** Exact local store whose session artifacts may be deleted. */
23
- readonly sessionStorePath?: string;
24
- /** Provider route pinned on agents this bridge creates. */
25
- readonly defaultProvider?: string;
26
- /** Model pinned on agents this bridge creates. */
27
- readonly defaultModel?: string;
28
- }
29
- /** The subset of a DSH session this bridge reads. */
30
- interface DshSessionLike {
31
- readonly id: string;
32
- readonly header?: {
33
- readonly createdAt?: number;
34
- readonly cwd?: string;
35
- };
36
- readonly seq?: number;
37
- deriveMessages(): readonly unknown[];
38
- }
39
- /**
40
- * One in-flight response for a session.
41
- *
42
- * Chunks are buffered until a subscriber attaches, because the HTTP handler
43
- * must await this handle before it can write response headers — a model that
44
- * answers faster than the round trip would otherwise lose its opening tokens.
45
- */
46
- export declare class ResponseStream implements EngineStreamHandle {
47
- readonly sessionId: string;
48
- private readonly onClose?;
49
- private readonly onDone?;
50
- private readonly buffer;
51
- private readonly listeners;
52
- private closed;
53
- private terminated;
54
- private errorReported;
55
- private bufferBytes;
56
- private static readonly MAX_BUFFER_BYTES;
57
- private static readonly MAX_BUFFER_CHUNKS;
58
- constructor(sessionId: string, onClose?: (() => void) | undefined, onDone?: (() => void) | undefined);
59
- /** Deliver a chunk to the buffer, or straight to attached listeners. */
60
- push(chunk: EngineStreamChunk): void;
61
- /**
62
- * Mark the response finished and release every listener.
63
- *
64
- * Also called when a client disconnects, so an abandoned response stops
65
- * buffering for a reader that is gone.
66
- */
67
- close(): void;
68
- /** Whether the response has already terminated. */
69
- get isClosed(): boolean;
70
- /** Chunks buffered but not yet delivered. */
71
- get pending(): number;
72
- subscribe(listener: (chunk: EngineStreamChunk) => void): {
73
- unsubscribe(): void;
74
- };
75
- /** Whether this response has produced its terminal chunk. */
76
- get isTerminated(): boolean;
77
- }
78
- /** Extract readable text from one DSH message content value. */
79
- export declare function extractText(content: unknown): string;
80
- /** Normalize a DSH message role into the contract's role vocabulary. */
81
- export declare function normalizeRole(role: unknown): EngineMessageRole;
82
- /** Project one DSH message into the contract's message shape. */
83
- export declare function projectMessage(raw: unknown, index: number): EngineMessage;
84
- /**
85
- * Map one DSH session event onto a contract stream chunk.
86
- *
87
- * A durable session event is an envelope: `type` and `seq` sit beside a `data`
88
- * object that carries the payload for that type. Reading the payload off the
89
- * envelope instead of `data` yields no chunk at all rather than an error, so
90
- * each branch unwraps `data` explicitly.
91
- * @param event - the session event envelope.
92
- * @returns the projected chunk, or undefined for an event the transcript omits.
93
- */
94
- export declare function projectStreamEvent(event: Record<string, unknown>): EngineStreamChunk | undefined;
95
- /**
96
- * Project the failure a finished turn recorded, if it recorded one.
97
- *
98
- * @param event - the `turn/end` envelope.
99
- * @returns the error chunk, or undefined when the turn ended normally.
100
- */
101
- export declare function projectTurnFailure(event: Record<string, unknown>): EngineStreamChunk | undefined;
102
- /** Project a session into its summary shape. */
103
- export declare function projectSummary(session: DshSessionLike): EngineSessionSummary;
104
- /**
105
- * The engine contract, published as the `libreDshEngine` Cordis service.
106
- *
107
- * It is a `Service` rather than a plain object so that Cordis owns its
108
- * lifecycle: the name is declared once, `ctx.get('libreDshEngine')` resolves it
109
- * for every consumer, and removing the bridge row withdraws it automatically.
110
- */
111
- export declare class LibreDshEngineService extends Service implements DshEngine {
112
- /** Contract name under which this service is registered. */
113
- static readonly provide: "libreDshEngine";
114
- private readonly streams;
115
- private readonly handles;
116
- /**
117
- * Sessions created by the UI that no agent owns yet.
118
- *
119
- * They are deliberately absent from the DSH store until the first message,
120
- * because the agent that will own one must be the component that enters it.
121
- */
122
- private readonly pending;
123
- /** Working directory requested for each not-yet-owned session. */
124
- private readonly pendingCwd;
125
- private readonly pendingNative;
126
- private readonly selections;
127
- private readonly settingsUpdates;
128
- private readonly approvals;
129
- /** Caller identity exists only while a model turn is in flight. */
130
- private readonly requestUsers;
131
- private readonly agentUsers;
132
- private readonly streamedText;
133
- private readonly starting;
134
- private readonly controllers;
135
- private readonly stopping;
136
- private readonly deleting;
137
- private disposed;
138
- private readonly allowTools;
139
- private readonly sessionStorePath?;
140
- private readonly workspacePath;
141
- private readonly allowStreaming;
142
- private readonly defaultProvider;
143
- private readonly defaultModel;
144
- /** Mints session ids unique across every engine in this process. */
145
- private readonly mintSessionId;
146
- constructor(ctx: Context, config?: Config);
147
- /** The DSH session store this bridge reads through. */
148
- private get sessions();
149
- /** The DSH agent registry this bridge drives. */
150
- private get agents();
151
- /** The DSH tool runtime this bridge reads through. */
152
- private get tools();
153
- modelConfiguration(): {
154
- readonly provider?: string;
155
- readonly model?: string;
156
- };
157
- status(): readonly EngineServiceStatus[];
158
- private get persistence();
159
- listSessions(): Promise<readonly EngineSessionSummary[]>;
160
- private nativeSession;
161
- getSession(sessionId: string): Promise<EngineSession | undefined>;
162
- private validateSettings;
163
- updateSessionSettings(sessionId: string, settings: Partial<EngineSessionSettings>, options?: {
164
- readonly userId?: string;
165
- }): Promise<EngineSession>;
166
- decideApproval(sessionId: string, approvalId: string, outcome: 'allowed-once' | 'rejected'): Promise<boolean>;
167
- private resolveWorkspace;
168
- createSession(options: EngineCreateSessionOptions): Promise<EngineSession>;
169
- deleteSession(sessionId: string): Promise<boolean>;
170
- listAgents(): Promise<readonly EngineAgentSummary[]>;
171
- listTools(): Promise<readonly EngineToolSummary[]>;
172
- sendMessage(sessionId: string, text: string, options?: {
173
- readonly cwd?: string;
174
- readonly userId?: string;
175
- }): Promise<EngineStreamHandle>;
176
- requestUserId(sessionId: string): string | undefined;
177
- cancel(sessionId: string): Promise<boolean>;
178
- }
179
- /**
180
- * Mount the bridge on a context that already provides the engine services.
181
- * @param ctx - context carrying `sessions`, `agents`, and `tools`.
182
- * @param config - bridge configuration from the composition row.
183
- */
184
- export declare function apply(ctx: Context, config?: Config): void;
185
- export {};
186
- //# sourceMappingURL=engine-plugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine-plugin.d.ts","sourceRoot":"","sources":["../../../src/cordis/dsh/engine-plugin.ts"],"names":[],"mappings":"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"}