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.
- package/README.md +59 -0
- package/backend/dist/cordis/contracts.d.ts +270 -0
- package/backend/dist/cordis/contracts.d.ts.map +1 -0
- package/backend/dist/cordis/contracts.js +32 -0
- package/backend/dist/cordis/contracts.js.map +1 -0
- package/backend/dist/cordis/dsh/chat-model.d.ts +16 -0
- package/backend/dist/cordis/dsh/chat-model.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/chat-model.js +104 -0
- package/backend/dist/cordis/dsh/chat-model.js.map +1 -0
- package/backend/dist/cordis/dsh/engine-plugin.d.ts +186 -0
- package/backend/dist/cordis/dsh/engine-plugin.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/engine-plugin.js +1116 -0
- package/backend/dist/cordis/dsh/engine-plugin.js.map +1 -0
- package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts +175 -0
- package/backend/dist/cordis/dsh/librewebui-llm-adapter.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/librewebui-llm-adapter.js +480 -0
- package/backend/dist/cordis/dsh/librewebui-llm-adapter.js.map +1 -0
- package/backend/dist/cordis/dsh/model-identity.d.ts +12 -0
- package/backend/dist/cordis/dsh/model-identity.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/model-identity.js +87 -0
- package/backend/dist/cordis/dsh/model-identity.js.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-client.d.ts +44 -0
- package/backend/dist/cordis/dsh/native-provider-client.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-client.js +524 -0
- package/backend/dist/cordis/dsh/native-provider-client.js.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-plugin.d.ts +11 -0
- package/backend/dist/cordis/dsh/native-provider-plugin.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-plugin.js +416 -0
- package/backend/dist/cordis/dsh/native-provider-plugin.js.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-protocol.d.ts +37 -0
- package/backend/dist/cordis/dsh/native-provider-protocol.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/native-provider-protocol.js +325 -0
- package/backend/dist/cordis/dsh/native-provider-protocol.js.map +1 -0
- package/backend/dist/cordis/dsh/provider-handler.d.ts +36 -0
- package/backend/dist/cordis/dsh/provider-handler.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/provider-handler.js +582 -0
- package/backend/dist/cordis/dsh/provider-handler.js.map +1 -0
- package/backend/dist/cordis/dsh/session-files.d.ts +9 -0
- package/backend/dist/cordis/dsh/session-files.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/session-files.js +60 -0
- package/backend/dist/cordis/dsh/session-files.js.map +1 -0
- package/backend/dist/cordis/dsh/session-settings.d.ts +15 -0
- package/backend/dist/cordis/dsh/session-settings.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/session-settings.js +51 -0
- package/backend/dist/cordis/dsh/session-settings.js.map +1 -0
- package/backend/dist/cordis/dsh/work-driver.d.ts +12 -0
- package/backend/dist/cordis/dsh/work-driver.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/work-driver.js +402 -0
- package/backend/dist/cordis/dsh/work-driver.js.map +1 -0
- package/backend/dist/cordis/dsh/workspace-policy.d.ts +10 -0
- package/backend/dist/cordis/dsh/workspace-policy.d.ts.map +1 -0
- package/backend/dist/cordis/dsh/workspace-policy.js +44 -0
- package/backend/dist/cordis/dsh/workspace-policy.js.map +1 -0
- package/backend/dist/cordis/host/composition.d.ts +73 -0
- package/backend/dist/cordis/host/composition.d.ts.map +1 -0
- package/backend/dist/cordis/host/composition.js +205 -0
- package/backend/dist/cordis/host/composition.js.map +1 -0
- package/backend/dist/cordis/host/config.d.ts +159 -0
- package/backend/dist/cordis/host/config.d.ts.map +1 -0
- package/backend/dist/cordis/host/config.js +184 -0
- package/backend/dist/cordis/host/config.js.map +1 -0
- package/backend/dist/cordis/host/host.d.ts +74 -0
- package/backend/dist/cordis/host/host.d.ts.map +1 -0
- package/backend/dist/cordis/host/host.js +420 -0
- package/backend/dist/cordis/host/host.js.map +1 -0
- package/backend/dist/cordis/host/loader-entry.d.ts +41 -0
- package/backend/dist/cordis/host/loader-entry.d.ts.map +1 -0
- package/backend/dist/cordis/host/loader-entry.js +52 -0
- package/backend/dist/cordis/host/loader-entry.js.map +1 -0
- package/backend/dist/cordis/host/model.d.ts +45 -0
- package/backend/dist/cordis/host/model.d.ts.map +1 -0
- package/backend/dist/cordis/host/model.js +54 -0
- package/backend/dist/cordis/host/model.js.map +1 -0
- package/backend/dist/cordis/host/privacy.d.ts +8 -0
- package/backend/dist/cordis/host/privacy.d.ts.map +1 -0
- package/backend/dist/cordis/host/privacy.js +73 -0
- package/backend/dist/cordis/host/privacy.js.map +1 -0
- package/backend/dist/cordis/index.d.ts +14 -0
- package/backend/dist/cordis/index.d.ts.map +1 -0
- package/backend/dist/cordis/index.js +30 -0
- package/backend/dist/cordis/index.js.map +1 -0
- package/backend/dist/cordis/runtime.d.ts +97 -0
- package/backend/dist/cordis/runtime.d.ts.map +1 -0
- package/backend/dist/cordis/runtime.js +231 -0
- package/backend/dist/cordis/runtime.js.map +1 -0
- package/backend/dist/cordis/work-model.d.ts +7 -0
- package/backend/dist/cordis/work-model.d.ts.map +1 -0
- package/backend/dist/cordis/work-model.js +30 -0
- package/backend/dist/cordis/work-model.js.map +1 -0
- package/backend/dist/db.js +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +9 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/main.js +12 -0
- package/backend/dist/main.js.map +1 -1
- package/backend/dist/persistence/extensionTypes.d.ts +2 -0
- package/backend/dist/persistence/extensionTypes.d.ts.map +1 -1
- package/backend/dist/persistence/extensionTypes.js.map +1 -1
- package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresExtensionRepositories.js +38 -0
- package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +6 -1
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/resourceTypes.d.ts +3 -1
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
- package/backend/dist/persistence/resourceTypes.js.map +1 -1
- package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteExtensionRepositories.js +40 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +7 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/routes/agentCli.d.ts.map +1 -1
- package/backend/dist/routes/agentCli.js +34 -2
- package/backend/dist/routes/agentCli.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +9 -1
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/cordis.d.ts +3 -0
- package/backend/dist/routes/cordis.d.ts.map +1 -0
- package/backend/dist/routes/cordis.js +440 -0
- package/backend/dist/routes/cordis.js.map +1 -0
- package/backend/dist/routes/libreClaw.js +1 -1
- package/backend/dist/routes/libreClaw.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +23 -8
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/agentAccessService.d.ts +4 -0
- package/backend/dist/services/agentAccessService.d.ts.map +1 -1
- package/backend/dist/services/agentAccessService.js +48 -16
- package/backend/dist/services/agentAccessService.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts +42 -1
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +206 -7
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/agentCliUsage.d.ts +22 -0
- package/backend/dist/services/agentCliUsage.d.ts.map +1 -0
- package/backend/dist/services/agentCliUsage.js +192 -0
- package/backend/dist/services/agentCliUsage.js.map +1 -0
- package/backend/dist/services/authService.d.ts +3 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +4 -1
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +7 -0
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +32 -1
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/cordisAccessService.d.ts +56 -0
- package/backend/dist/services/cordisAccessService.d.ts.map +1 -0
- package/backend/dist/services/cordisAccessService.js +98 -0
- package/backend/dist/services/cordisAccessService.js.map +1 -0
- package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/durableChatGenerationService.js +9 -1
- package/backend/dist/services/durableChatGenerationService.js.map +1 -1
- package/backend/dist/services/emailService.d.ts.map +1 -1
- package/backend/dist/services/emailService.js +8 -1
- package/backend/dist/services/emailService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +7 -26
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/pluginUsageService.d.ts +52 -0
- package/backend/dist/services/pluginUsageService.d.ts.map +1 -1
- package/backend/dist/services/pluginUsageService.js +89 -1
- package/backend/dist/services/pluginUsageService.js.map +1 -1
- package/backend/dist/services/systemSettingsService.d.ts +1 -1
- package/backend/dist/services/systemSettingsService.d.ts.map +1 -1
- package/backend/dist/services/systemSettingsService.js +1 -1
- package/backend/dist/services/systemSettingsService.js.map +1 -1
- package/backend/dist/services/thinkingSummaryService.d.ts +3 -0
- package/backend/dist/services/thinkingSummaryService.d.ts.map +1 -1
- package/backend/dist/services/thinkingSummaryService.js +56 -17
- package/backend/dist/services/thinkingSummaryService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts +22 -2
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
- package/backend/dist/services/titleGenerationService.js +63 -8
- package/backend/dist/services/titleGenerationService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +76 -12
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts +5 -0
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +52 -3
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +4 -1
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +6 -6
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/types/work.d.ts +12 -1
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.js +18 -4
- package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
- package/backend/dist/utils/pluginStreaming.d.ts +6 -0
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreaming.js +10 -0
- package/backend/dist/utils/pluginStreaming.js.map +1 -1
- package/backend/dist/utils/smtpClient.d.ts +5 -1
- package/backend/dist/utils/smtpClient.d.ts.map +1 -1
- package/backend/dist/utils/smtpClient.js +29 -3
- package/backend/dist/utils/smtpClient.js.map +1 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +4 -0
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/package.json +37 -2
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
- package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
- package/frontend/dist/artifact-runtime/react.js +5 -5
- package/frontend/dist/artifact-runtime/recharts.js +45 -45
- package/frontend/dist/assets/index-BrDSO609.js +20 -0
- package/frontend/dist/assets/index-C8_AByBq.css +1 -0
- package/frontend/dist/index.html +33 -31
- package/frontend/dist/js/{ArtifactContainer-B8tyPtWd.js → ArtifactContainer-B1-GVzVf.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-BwRfWoSK.js → ArtifactDemoPage-goftRHdk.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-Ctcwt_l2.js → ArtifactSandboxFrame-_8RA8_JV.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-DlkOZI5N.js +1 -0
- package/frontend/dist/js/{AutomationModal-mTYs9LrJ.js → AutomationModal-BaaxZF1M.js} +1 -1
- package/frontend/dist/js/AutomationsPage-DY2x7zVm.js +1 -0
- package/frontend/dist/js/{AvatarUpload-wWUAi3e2.js → AvatarUpload-CH_n1Ef0.js} +1 -1
- package/frontend/dist/js/{Button-ZQ6BePid.js → Button-CGMYia4g.js} +1 -1
- package/frontend/dist/js/{CalendarPage-Ch4racU2.js → CalendarPage-DLo5nm3Q.js} +1 -1
- package/frontend/dist/js/ChannelsPage-DnQI7mzq.js +1 -0
- package/frontend/dist/js/ChatPage-BaDkJnEC.js +14 -0
- package/frontend/dist/js/ConnectModels-B4dGb5yc.js +1 -0
- package/frontend/dist/js/CordisPage-CPiYn2Bx.js +1 -0
- package/frontend/dist/js/{EvaluationsPage-DHPnNBkW.js → EvaluationsPage-DpdGpd7x.js} +2 -2
- package/frontend/dist/js/{FirstTimeSetup-CoF83yY8.js → FirstTimeSetup-By8OE1JS.js} +1 -1
- package/frontend/dist/js/GalleryPage-ByZyIhZQ.js +1 -0
- package/frontend/dist/js/HomePage-Btc-Mvin.js +1 -0
- package/frontend/dist/js/{LanguageSwitcher-CogfczNm.js → LanguageSwitcher-B3CxRW6J.js} +1 -1
- package/frontend/dist/js/LibreClawPage-3Sonm1gu.js +1 -0
- package/frontend/dist/js/{Logo-C9fsEUaY.js → Logo-HZvdAk2c.js} +1 -1
- package/frontend/dist/js/{LogoMark-Cvu5CQOW.js → LogoMark-GJnfMXsk.js} +1 -1
- package/frontend/dist/js/{ModelManagerModals-Bc2Woor7.js → ModelManagerModals-Bk6OQzJI.js} +1 -1
- package/frontend/dist/js/NotesPage-lFhfjMqJ.js +3 -0
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-aKWyHj_c.js → OptimizedSyntaxHighlighter-CzzV6ONG.js} +1 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +1 -0
- package/frontend/dist/js/{PasswordStrengthMeter-BJr4eBbo.js → PasswordStrengthMeter-DasfJa4P.js} +1 -1
- package/frontend/dist/js/{PersonasPage-ff5opf9B.js → PersonasPage-nOThOpXp.js} +2 -2
- package/frontend/dist/js/PluginUsagePage-BRbHeRf7.js +1 -0
- package/frontend/dist/js/{RichMessageContent-BNNylVAb.js → RichMessageContent-BZ7KKJKK.js} +2 -2
- package/frontend/dist/js/RichMessageContent-oyydJjgc.js +1 -0
- package/frontend/dist/js/SettingsModal-VpsAx2Ns.js +19 -0
- package/frontend/dist/js/{SettingsToggle-CKLHOUt-.js → SettingsToggle-oxvw7ulA.js} +1 -1
- package/frontend/dist/js/{ShareDialog-DykD70uB.js → ShareDialog-CnxPGPb_.js} +1 -1
- package/frontend/dist/js/SystemPage-D2ikvhDp.js +1 -0
- package/frontend/dist/js/{TurnstileWidget-BO2ceTt8.js → TurnstileWidget-CVepEMEQ.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-Ch-PvYQ9.js → UserManagementPage-2yHv89ZA.js} +1 -1
- package/frontend/dist/js/UserManagementPanel-vxpiyiTZ.js +1 -0
- package/frontend/dist/js/{WhatsNewModal-Bu4H4MEb.js → WhatsNewModal-DAAFzY0d.js} +1 -1
- package/frontend/dist/js/WorkPage-BYpYD9mr.js +8 -0
- package/frontend/dist/js/api-C0ligMmL.js +1 -0
- package/frontend/dist/js/api-CVUaOaq4.js +14 -0
- package/frontend/dist/js/{appNavigation-CVsQuDI1.js → appNavigation-CqtrZ9bm.js} +1 -1
- package/frontend/dist/js/{appStore-Din-tTD9.js → appStore-Biw63DtJ.js} +2 -2
- package/frontend/dist/js/appVersion-D78eXAb-.js +1 -0
- package/frontend/dist/js/ar-Cq-DrSYL.js +2 -0
- package/frontend/dist/js/authStore-2DsDTcIu.js +1 -0
- package/frontend/dist/js/{authStore-Cm8P6rYs.js → authStore-C5qKrmn4.js} +3 -3
- package/frontend/dist/js/bn-BqxLh-KL.js +2 -0
- package/frontend/dist/js/chatStore-DQhEqb9F.js +3 -0
- package/frontend/dist/js/client-gf5bjBrn.js +2 -0
- package/frontend/dist/js/composerStyles-C83jssgZ.js +1 -0
- package/frontend/dist/js/{config-DHea4b8N.js → config-CNvgxwAm.js} +1 -1
- package/frontend/dist/js/cordisApi-BYjA4EOQ.js +2 -0
- package/frontend/dist/js/cs-D2DDNZf-.js +2 -0
- package/frontend/dist/js/da-BciY-TSG.js +2 -0
- package/frontend/dist/js/de-DjU_eXQ-.js +2 -0
- package/frontend/dist/js/es-ChIEs80I.js +2 -0
- package/frontend/dist/js/{estree-DCT3Jm65.js → estree-DGmLqopC.js} +17 -17
- package/frontend/dist/js/evaluationsApi-Bg12ekHo.js +1 -0
- package/frontend/dist/js/fr-Bi8BGRW4.js +2 -0
- package/frontend/dist/js/hi-BMsCnWg7.js +2 -0
- package/frontend/dist/js/{html-CBXMuS97.js → html-BryNQ_yx.js} +6 -6
- package/frontend/dist/js/id-CpcN1vhk.js +2 -0
- package/frontend/dist/js/is-DkUy2cmP.js +2 -0
- package/frontend/dist/js/it-BglK9DRZ.js +2 -0
- package/frontend/dist/js/ja-IrprzwLJ.js +2 -0
- package/frontend/dist/js/ko--wwEsMPi.js +2 -0
- package/frontend/dist/js/{markdown-Bo71X2X2.js → markdown-CZ1tYEW8.js} +17 -17
- package/frontend/dist/js/{markdown-core-BFkBYv2v.js → markdown-core-KjS96SYW.js} +1 -1
- package/frontend/dist/js/{markdown-html-CwjnwJbl.js → markdown-html-DQEwrWcf.js} +1 -1
- package/frontend/dist/js/{markdown-math-CJvHdD1l.js → markdown-math-CKi32S5d.js} +1 -1
- package/frontend/dist/js/{markdownHtml-egpK3_YY.js → markdownHtml-lrXhxBhK.js} +1 -1
- package/frontend/dist/js/markdownMath-B0BpyFBS.js +1 -0
- package/frontend/dist/js/{messageCodeStyles-euWoxwoo.js → messageCodeStyles-DJZ4QMVq.js} +2 -2
- package/frontend/dist/js/ms-BWj59y7-.js +2 -0
- package/frontend/dist/js/nl-D-QndW_A.js +2 -0
- package/frontend/dist/js/pl-Dw7d7iDV.js +2 -0
- package/frontend/dist/js/pt-BI53uHJw.js +2 -0
- package/frontend/dist/js/react-vendor-wiHys0m2.js +9 -0
- package/frontend/dist/js/router-vendor-HZm4FR0A.js +1 -0
- package/frontend/dist/js/ru-JKyTgPg9.js +2 -0
- package/frontend/dist/js/{standalone-6z5x8CWe.js → standalone-DbyFjvTU.js} +1 -1
- package/frontend/dist/js/sv-BIkBLPSQ.js +2 -0
- package/frontend/dist/js/{syntax-highlight-7t8DGG2n.js → syntax-highlight-DNc3FFCa.js} +1 -1
- package/frontend/dist/js/{teamEventStream-DGgjrVqw.js → teamEventStream-PXiwR5Kr.js} +1 -1
- package/frontend/dist/js/th-CZ_LcCU0.js +2 -0
- package/frontend/dist/js/tr-B265byx1.js +2 -0
- package/frontend/dist/js/{typescript-CslHIgIJ.js → typescript-DUM5niRM.js} +1 -1
- package/frontend/dist/js/{ui-CNcEDQ95.js → ui-DDMjO5dd.js} +2 -2
- package/frontend/dist/js/ui-vendor-BhHHyHk3.js +1 -0
- package/frontend/dist/js/uk-VTAlChwf.js +2 -0
- package/frontend/dist/js/{useChat-YRODF1y1.js → useChat-DaIZ2Dbu.js} +1 -1
- package/frontend/dist/js/{useDialogFocus-BQLdAGYH.js → useDialogFocus-BPTG_Zmy.js} +1 -1
- package/frontend/dist/js/useDictation-BXyX1U8r.js +1 -0
- package/frontend/dist/js/useQuery-hWmQjdLu.js +1 -0
- package/frontend/dist/js/{useTranslation-Kn7_iLGj.js → useTranslation-B9kflK9S.js} +1 -1
- package/frontend/dist/js/{utils-Dq1w7K0c.js → utils-p8Gt72YP.js} +1 -1
- package/frontend/dist/js/{utils-vendor-dx9vGAt3.js → utils-vendor-DISWt2y9.js} +1 -1
- package/frontend/dist/js/vi-D8rXh-53.js +2 -0
- package/frontend/dist/js/{workStatus-oU04ZrUq.js → work-DmJpVPPO.js} +1 -1
- package/frontend/dist/js/workApi-BIS9RxRi.js +1 -0
- package/frontend/dist/js/workApi-C3Td_lFD.js +5 -0
- package/frontend/dist/js/workModels-MzU2Ab7l.js +1 -0
- package/frontend/dist/js/zh-BEGd9iBD.js +2 -0
- package/package.json +43 -8
- package/scripts/prepare-dsh-provider.mjs +124 -0
- package/frontend/dist/assets/index-BXTzjRcS.js +0 -92
- package/frontend/dist/assets/index-uzzNXp5R.css +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-DPWGjHhp.js +0 -1
- package/frontend/dist/js/AutomationsPage-DvsLZWtg.js +0 -1
- package/frontend/dist/js/ChannelsPage-D252gXwf.js +0 -1
- package/frontend/dist/js/ChatPage-D_CzOiHw.js +0 -14
- package/frontend/dist/js/ConnectModels-DYOtIOEY.js +0 -1
- package/frontend/dist/js/GalleryPage-BpK-vrvd.js +0 -1
- package/frontend/dist/js/HomePage-zJkkDNJl.js +0 -1
- package/frontend/dist/js/LibreClawPage-CAgNj9GM.js +0 -1
- package/frontend/dist/js/NotesPage-CNTqlwNc.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-BFjOBavF.js +0 -1
- package/frontend/dist/js/PluginUsagePage-Cp4j4-VZ.js +0 -1
- package/frontend/dist/js/RichMessageContent-BOY5jqj-.js +0 -1
- package/frontend/dist/js/SettingsModal-WAdVG4-g.js +0 -19
- package/frontend/dist/js/SystemPage-Dwi8leEQ.js +0 -1
- package/frontend/dist/js/UserManagementPanel-CfG67c_k.js +0 -1
- package/frontend/dist/js/WorkPage-D_cL9wp4.js +0 -8
- package/frontend/dist/js/api-29NO19CP.js +0 -14
- package/frontend/dist/js/api-DhafOTdF.js +0 -1
- package/frontend/dist/js/appVersion-BNuquyI6.js +0 -1
- package/frontend/dist/js/ar-WHne6B0o.js +0 -2
- package/frontend/dist/js/authStore-snvjjOuX.js +0 -1
- package/frontend/dist/js/bn-BZvCjqwO.js +0 -2
- package/frontend/dist/js/chatStore-BPpcL4I5.js +0 -3
- package/frontend/dist/js/composerStyles-bNlrIugf.js +0 -1
- package/frontend/dist/js/cs-DfSqWQ9V.js +0 -2
- package/frontend/dist/js/da-BmMLW4Dl.js +0 -2
- package/frontend/dist/js/de-BQMiQwQT.js +0 -2
- package/frontend/dist/js/es-DXf6jt4Z.js +0 -2
- package/frontend/dist/js/evaluationsApi-Btc9Mg9z.js +0 -1
- package/frontend/dist/js/fr-BD6nT1oc.js +0 -2
- package/frontend/dist/js/hi-BSuNic-8.js +0 -2
- package/frontend/dist/js/id-wodbwt3B.js +0 -2
- package/frontend/dist/js/is-CEjw-OJE.js +0 -2
- package/frontend/dist/js/it-X_pq8C7q.js +0 -2
- package/frontend/dist/js/ja-DWM2HZZd.js +0 -2
- package/frontend/dist/js/ko-DFi2khBB.js +0 -2
- package/frontend/dist/js/markdownMath-mesq3ZcY.js +0 -1
- package/frontend/dist/js/ms-DNQateTR.js +0 -2
- package/frontend/dist/js/nl-DSWhi8W8.js +0 -2
- package/frontend/dist/js/pl-W9WEDpZ3.js +0 -2
- package/frontend/dist/js/pt-DCCGvdNt.js +0 -2
- package/frontend/dist/js/react-vendor-D0Ec-185.js +0 -9
- package/frontend/dist/js/router-vendor-CM0PhOMl.js +0 -1
- package/frontend/dist/js/ru-D-Ww6dXe.js +0 -2
- package/frontend/dist/js/sv-B0Iry-H3.js +0 -2
- package/frontend/dist/js/th-CEZS0WeE.js +0 -2
- package/frontend/dist/js/tr-BFJ8TeYb.js +0 -2
- package/frontend/dist/js/ui-vendor-LatG6rFF.js +0 -177
- package/frontend/dist/js/uk-BmW3yDel.js +0 -2
- package/frontend/dist/js/useQuery-C3O4CZ54.js +0 -1
- package/frontend/dist/js/vi-Cu25FXnp.js +0 -2
- package/frontend/dist/js/work-DVgm81bJ.js +0 -1
- package/frontend/dist/js/workApi-BdUNugC3.js +0 -1
- package/frontend/dist/js/workApi-OieM8qEL.js +0 -6
- package/frontend/dist/js/zh-CuCAx3oH.js +0 -2
|
@@ -0,0 +1,416 @@
|
|
|
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
|
+
/** Native DSH plugin exposing only its LLM service through a private local socket. */
|
|
18
|
+
import { randomUUID } from 'node:crypto';
|
|
19
|
+
import { once } from 'node:events';
|
|
20
|
+
import { chmod, lstat, mkdir, realpath, unlink } from 'node:fs/promises';
|
|
21
|
+
import { createServer, } from 'node:http';
|
|
22
|
+
import path from 'node:path';
|
|
23
|
+
import { MAX_REQUEST_BYTES, MAX_RESPONSE_BYTES, NATIVE_PROVIDER_INSTANCE_HEADER, NativeProviderProtocolError, parseNativeProviderCatalog, parseNativeProviderChunk, parseNativeProviderRequest, } from './native-provider-protocol.js';
|
|
24
|
+
export const name = 'libre-webui-native-provider';
|
|
25
|
+
export const inject = ['llm'];
|
|
26
|
+
function configuration(value) {
|
|
27
|
+
if (!value ||
|
|
28
|
+
typeof value !== 'object' ||
|
|
29
|
+
Array.isArray(value) ||
|
|
30
|
+
Object.keys(value).some(key => !['socketPath', 'requestTimeoutMs', 'maxConcurrentRequests'].includes(key)) ||
|
|
31
|
+
typeof value.socketPath !== 'string' ||
|
|
32
|
+
!path.isAbsolute(value.socketPath) ||
|
|
33
|
+
path.resolve(value.socketPath) !== value.socketPath ||
|
|
34
|
+
Buffer.byteLength(value.socketPath) > 100) {
|
|
35
|
+
throw new Error('Native provider socketPath must be an absolute canonical Unix socket path of at most 100 bytes.');
|
|
36
|
+
}
|
|
37
|
+
const requestTimeoutMs = value.requestTimeoutMs ?? 600000;
|
|
38
|
+
const maxConcurrentRequests = value.maxConcurrentRequests ?? 8;
|
|
39
|
+
if (!Number.isSafeInteger(requestTimeoutMs) ||
|
|
40
|
+
requestTimeoutMs < 10 ||
|
|
41
|
+
requestTimeoutMs > 3600000 ||
|
|
42
|
+
!Number.isSafeInteger(maxConcurrentRequests) ||
|
|
43
|
+
maxConcurrentRequests < 1 ||
|
|
44
|
+
maxConcurrentRequests > 64) {
|
|
45
|
+
throw new Error('Invalid native provider request limits.');
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
socketPath: value.socketPath,
|
|
49
|
+
requestTimeoutMs,
|
|
50
|
+
maxConcurrentRequests,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async function prepareDirectory(socketPath) {
|
|
54
|
+
if (typeof process.getuid !== 'function')
|
|
55
|
+
throw new Error('Native provider sockets require a POSIX host.');
|
|
56
|
+
const uid = process.getuid();
|
|
57
|
+
const parent = path.dirname(socketPath);
|
|
58
|
+
let ancestor = path.parse(parent).root;
|
|
59
|
+
for (const segment of parent
|
|
60
|
+
.slice(ancestor.length)
|
|
61
|
+
.split(path.sep)
|
|
62
|
+
.filter(Boolean)) {
|
|
63
|
+
ancestor = path.join(ancestor, segment);
|
|
64
|
+
const existing = await lstat(ancestor).catch(error => {
|
|
65
|
+
if (error.code === 'ENOENT')
|
|
66
|
+
return undefined;
|
|
67
|
+
throw error;
|
|
68
|
+
});
|
|
69
|
+
if (existing && (!existing.isDirectory() || existing.isSymbolicLink())) {
|
|
70
|
+
throw new Error('Native provider socket directory cannot contain symbolic links.');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
await mkdir(parent, { recursive: true, mode: 0o700 });
|
|
74
|
+
const info = await lstat(parent);
|
|
75
|
+
if (!info.isDirectory() ||
|
|
76
|
+
info.isSymbolicLink() ||
|
|
77
|
+
info.uid !== uid ||
|
|
78
|
+
(info.mode & 0o777) !== 0o700 ||
|
|
79
|
+
(await realpath(parent)) !== parent) {
|
|
80
|
+
throw new Error('Native provider socket directory must be physical, owned by the current user, and mode 0700.');
|
|
81
|
+
}
|
|
82
|
+
const existing = await lstat(socketPath).catch(error => {
|
|
83
|
+
if (error.code === 'ENOENT')
|
|
84
|
+
return undefined;
|
|
85
|
+
throw error;
|
|
86
|
+
});
|
|
87
|
+
if (existing)
|
|
88
|
+
throw new Error('Native provider socket path already exists; refusing to replace it.');
|
|
89
|
+
return uid;
|
|
90
|
+
}
|
|
91
|
+
function abortable(promise, signal) {
|
|
92
|
+
return new Promise((resolve, reject) => {
|
|
93
|
+
const aborted = () => reject(signal.reason);
|
|
94
|
+
signal.addEventListener('abort', aborted, { once: true });
|
|
95
|
+
if (signal.aborted)
|
|
96
|
+
aborted();
|
|
97
|
+
promise
|
|
98
|
+
.then(resolve, reject)
|
|
99
|
+
.finally(() => signal.removeEventListener('abort', aborted));
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
async function requestJson(request) {
|
|
103
|
+
const length = request.headers['content-length'];
|
|
104
|
+
if (length && (!/^\d+$/.test(length) || Number(length) > MAX_REQUEST_BYTES)) {
|
|
105
|
+
throw new NativeProviderProtocolError('Native provider request exceeds its byte limit.', 413);
|
|
106
|
+
}
|
|
107
|
+
if (request.headers['content-type']?.split(';')[0].trim() !==
|
|
108
|
+
'application/json' ||
|
|
109
|
+
request.headers['content-encoding']) {
|
|
110
|
+
throw new NativeProviderProtocolError('Native provider requests require unencoded application/json.', 415);
|
|
111
|
+
}
|
|
112
|
+
const chunks = [];
|
|
113
|
+
let size = 0;
|
|
114
|
+
for await (const chunk of request) {
|
|
115
|
+
const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
116
|
+
size += bytes.length;
|
|
117
|
+
if (size > MAX_REQUEST_BYTES)
|
|
118
|
+
throw new NativeProviderProtocolError('Native provider request exceeds its byte limit.', 413);
|
|
119
|
+
chunks.push(bytes);
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks, size)));
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
throw new NativeProviderProtocolError('Native provider request must be valid UTF-8 JSON.');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/** Start one local-only provider transport, owned and closed by this plugin fiber. */
|
|
129
|
+
export async function apply(ctx, options) {
|
|
130
|
+
const config = configuration(options);
|
|
131
|
+
await ctx.effect(async () => {
|
|
132
|
+
const uid = await prepareDirectory(config.socketPath);
|
|
133
|
+
let instanceId = randomUUID();
|
|
134
|
+
let stopping = false;
|
|
135
|
+
const active = new Set();
|
|
136
|
+
const operations = new Set();
|
|
137
|
+
const connections = new Set();
|
|
138
|
+
const rotate = () => {
|
|
139
|
+
instanceId = randomUUID();
|
|
140
|
+
for (const controller of active)
|
|
141
|
+
controller.abort(new NativeProviderProtocolError('Native provider configuration changed; refresh its catalog.', 409));
|
|
142
|
+
};
|
|
143
|
+
const listeners = [
|
|
144
|
+
ctx.on('llm/adapters-updated', rotate),
|
|
145
|
+
ctx.on('credentials/reference-updated', rotate),
|
|
146
|
+
ctx.on('credentials/record-updated', rotate),
|
|
147
|
+
ctx.on('settings/updated', ns => {
|
|
148
|
+
if (ctx.llm
|
|
149
|
+
.listConfigurableProviders()
|
|
150
|
+
.some(provider => provider.settingsNs === ns))
|
|
151
|
+
rotate();
|
|
152
|
+
}),
|
|
153
|
+
];
|
|
154
|
+
const catalog = async (signal, selection) => {
|
|
155
|
+
const generation = instanceId;
|
|
156
|
+
const models = [];
|
|
157
|
+
for (const provider of ctx.llm.listProviders()) {
|
|
158
|
+
if (selection && provider.id !== selection.providerId)
|
|
159
|
+
continue;
|
|
160
|
+
try {
|
|
161
|
+
const entries = await abortable(ctx.llm.listModels(provider.id), signal);
|
|
162
|
+
for (const entry of entries) {
|
|
163
|
+
if (selection && entry.id !== selection.model)
|
|
164
|
+
continue;
|
|
165
|
+
const resolved = await abortable(ctx.llm.resolveModelInfo(provider.id, entry.id, signal), signal);
|
|
166
|
+
models.push({
|
|
167
|
+
providerId: provider.id,
|
|
168
|
+
model: entry.id,
|
|
169
|
+
name: entry.name,
|
|
170
|
+
providerName: provider.name,
|
|
171
|
+
...(resolved.context?.contextWindow
|
|
172
|
+
? { contextWindow: resolved.context.contextWindow }
|
|
173
|
+
: {}),
|
|
174
|
+
...(resolved.defaultMaxTokens
|
|
175
|
+
? { defaultMaxTokens: resolved.defaultMaxTokens }
|
|
176
|
+
: {}),
|
|
177
|
+
...(resolved.reasoning
|
|
178
|
+
? {
|
|
179
|
+
reasoning: {
|
|
180
|
+
efforts: resolved.reasoning.efforts.map(effort => ({
|
|
181
|
+
id: effort.id,
|
|
182
|
+
name: effort.name,
|
|
183
|
+
...(effort.description === undefined
|
|
184
|
+
? {}
|
|
185
|
+
: { description: effort.description }),
|
|
186
|
+
})),
|
|
187
|
+
...(resolved.reasoning.defaultEffort
|
|
188
|
+
? { defaultEffort: resolved.reasoning.defaultEffort }
|
|
189
|
+
: {}),
|
|
190
|
+
},
|
|
191
|
+
}
|
|
192
|
+
: {}),
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
signal.throwIfAborted();
|
|
198
|
+
ctx.logger.warn('Native provider catalog group is unavailable', provider.id, error instanceof Error ? error.message : String(error));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
signal.throwIfAborted();
|
|
202
|
+
if (generation !== instanceId)
|
|
203
|
+
throw new NativeProviderProtocolError('Native provider configuration changed; refresh its catalog.', 409);
|
|
204
|
+
return parseNativeProviderCatalog({ instanceId: generation, models });
|
|
205
|
+
};
|
|
206
|
+
const handle = async (request, response) => {
|
|
207
|
+
if (stopping || active.size >= config.maxConcurrentRequests) {
|
|
208
|
+
response.writeHead(503, {
|
|
209
|
+
'content-type': 'application/json',
|
|
210
|
+
connection: 'close',
|
|
211
|
+
});
|
|
212
|
+
response.end(JSON.stringify({
|
|
213
|
+
error: 'Native provider request capacity is unavailable.',
|
|
214
|
+
}));
|
|
215
|
+
request.resume();
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const controller = new AbortController();
|
|
219
|
+
const { signal } = controller;
|
|
220
|
+
active.add(controller);
|
|
221
|
+
const disconnected = () => {
|
|
222
|
+
if (!response.writableEnded)
|
|
223
|
+
controller.abort(new Error('Native provider client disconnected.'));
|
|
224
|
+
};
|
|
225
|
+
response.once('close', disconnected);
|
|
226
|
+
request.once('aborted', disconnected);
|
|
227
|
+
const timeout = setTimeout(() => controller.abort(new NativeProviderProtocolError('Native provider request timed out.', 504)), config.requestTimeoutMs);
|
|
228
|
+
timeout.unref();
|
|
229
|
+
const generation = instanceId;
|
|
230
|
+
let bytesSent = 0;
|
|
231
|
+
let finished = false;
|
|
232
|
+
let iterator;
|
|
233
|
+
const writeChunk = async (value) => {
|
|
234
|
+
const chunk = parseNativeProviderChunk(value);
|
|
235
|
+
const line = `${JSON.stringify(chunk)}\n`;
|
|
236
|
+
bytesSent += Buffer.byteLength(line);
|
|
237
|
+
if (bytesSent > MAX_RESPONSE_BYTES)
|
|
238
|
+
throw new NativeProviderProtocolError('Native provider response exceeds its byte limit.', 413);
|
|
239
|
+
if (!response.write(line))
|
|
240
|
+
await once(response, 'drain', { signal });
|
|
241
|
+
};
|
|
242
|
+
try {
|
|
243
|
+
if (request.method !== 'POST' ||
|
|
244
|
+
!['/catalog', '/generate'].includes(request.url ?? '')) {
|
|
245
|
+
throw new NativeProviderProtocolError('Unknown native provider operation.', 404);
|
|
246
|
+
}
|
|
247
|
+
const body = await abortable(requestJson(request), signal);
|
|
248
|
+
if (request.url === '/catalog') {
|
|
249
|
+
if (!body ||
|
|
250
|
+
typeof body !== 'object' ||
|
|
251
|
+
Array.isArray(body) ||
|
|
252
|
+
Object.keys(body).length !== 0) {
|
|
253
|
+
throw new NativeProviderProtocolError('Native provider catalog request must be an empty object.');
|
|
254
|
+
}
|
|
255
|
+
const result = await catalog(signal);
|
|
256
|
+
response.writeHead(200, {
|
|
257
|
+
'content-type': 'application/json',
|
|
258
|
+
[NATIVE_PROVIDER_INSTANCE_HEADER]: result.instanceId,
|
|
259
|
+
});
|
|
260
|
+
response.end(JSON.stringify(result));
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const parsed = parseNativeProviderRequest(body);
|
|
264
|
+
if (parsed.instanceId !== undefined &&
|
|
265
|
+
parsed.instanceId !== generation) {
|
|
266
|
+
throw new NativeProviderProtocolError('Native provider configuration changed; refresh its catalog.', 409);
|
|
267
|
+
}
|
|
268
|
+
// Generation needs only its exact route; unrelated catalogs or model
|
|
269
|
+
// metadata must not delay a healthy selected provider.
|
|
270
|
+
const available = await catalog(signal, {
|
|
271
|
+
providerId: parsed.provider,
|
|
272
|
+
model: parsed.model,
|
|
273
|
+
});
|
|
274
|
+
if (!available.models.some(model => model.providerId === parsed.provider &&
|
|
275
|
+
model.model === parsed.model)) {
|
|
276
|
+
throw new NativeProviderProtocolError('The selected native provider model is unavailable.', 422);
|
|
277
|
+
}
|
|
278
|
+
if (generation !== instanceId)
|
|
279
|
+
throw new NativeProviderProtocolError('Native provider configuration changed; refresh its catalog.', 409);
|
|
280
|
+
const { instanceId: _instanceId, ...call } = parsed;
|
|
281
|
+
response.writeHead(200, {
|
|
282
|
+
'content-type': 'application/x-ndjson',
|
|
283
|
+
[NATIVE_PROVIDER_INSTANCE_HEADER]: generation,
|
|
284
|
+
'cache-control': 'no-store',
|
|
285
|
+
});
|
|
286
|
+
iterator = ctx.llm.stream({ ...call, signal })[Symbol.asyncIterator]();
|
|
287
|
+
for (;;) {
|
|
288
|
+
const next = await abortable(Promise.resolve(iterator.next()), signal);
|
|
289
|
+
if (next.done)
|
|
290
|
+
break;
|
|
291
|
+
await writeChunk(next.value);
|
|
292
|
+
if (next.value.type === 'finish') {
|
|
293
|
+
finished = true;
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
if (!finished)
|
|
298
|
+
throw new NativeProviderProtocolError('Native provider ended without a terminal finish.', 502);
|
|
299
|
+
response.end();
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
controller.abort(error);
|
|
303
|
+
if (response.destroyed)
|
|
304
|
+
return;
|
|
305
|
+
if (!response.headersSent) {
|
|
306
|
+
const status = error instanceof NativeProviderProtocolError ? error.status : 502;
|
|
307
|
+
response.writeHead(status, {
|
|
308
|
+
'content-type': 'application/json',
|
|
309
|
+
connection: 'close',
|
|
310
|
+
});
|
|
311
|
+
response.end(JSON.stringify({
|
|
312
|
+
error: error instanceof NativeProviderProtocolError
|
|
313
|
+
? error.message
|
|
314
|
+
: 'Native provider request failed.',
|
|
315
|
+
}));
|
|
316
|
+
request.resume();
|
|
317
|
+
}
|
|
318
|
+
else if (!finished) {
|
|
319
|
+
const chunk = {
|
|
320
|
+
type: 'finish',
|
|
321
|
+
reason: {
|
|
322
|
+
kind: 'error',
|
|
323
|
+
failure: {
|
|
324
|
+
code: error instanceof NativeProviderProtocolError &&
|
|
325
|
+
error.status === 409
|
|
326
|
+
? 'NATIVE_PROVIDER_CHANGED'
|
|
327
|
+
: 'NATIVE_PROVIDER_STREAM_FAILED',
|
|
328
|
+
message: error instanceof NativeProviderProtocolError
|
|
329
|
+
? error.message
|
|
330
|
+
: 'Native provider generation failed.',
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
response.end(`${JSON.stringify(chunk)}\n`);
|
|
335
|
+
}
|
|
336
|
+
else
|
|
337
|
+
response.end();
|
|
338
|
+
}
|
|
339
|
+
finally {
|
|
340
|
+
clearTimeout(timeout);
|
|
341
|
+
response.removeListener('close', disconnected);
|
|
342
|
+
request.removeListener('aborted', disconnected);
|
|
343
|
+
controller.abort(new Error('Native provider request finished.'));
|
|
344
|
+
active.delete(controller);
|
|
345
|
+
// A disconnected reader must not keep teardown waiting on an adapter
|
|
346
|
+
// that ignores cancellation. Its live signal already orders it to stop.
|
|
347
|
+
if (iterator?.return) {
|
|
348
|
+
try {
|
|
349
|
+
void Promise.resolve(iterator.return()).catch(() => undefined);
|
|
350
|
+
}
|
|
351
|
+
catch {
|
|
352
|
+
// Cancellation has already been delivered through the live signal.
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
const server = createServer((request, response) => {
|
|
358
|
+
const operation = handle(request, response);
|
|
359
|
+
operations.add(operation);
|
|
360
|
+
void operation
|
|
361
|
+
.catch(() => response.destroy())
|
|
362
|
+
.finally(() => operations.delete(operation));
|
|
363
|
+
});
|
|
364
|
+
server.requestTimeout = config.requestTimeoutMs;
|
|
365
|
+
server.headersTimeout = Math.min(config.requestTimeoutMs, 60000);
|
|
366
|
+
server.on('connection', socket => {
|
|
367
|
+
connections.add(socket);
|
|
368
|
+
socket.once('close', () => connections.delete(socket));
|
|
369
|
+
});
|
|
370
|
+
server.on('clientError', (_error, socket) => socket.destroy());
|
|
371
|
+
let socketIdentity;
|
|
372
|
+
const close = async () => {
|
|
373
|
+
stopping = true;
|
|
374
|
+
listeners.forEach(dispose => dispose());
|
|
375
|
+
for (const controller of active)
|
|
376
|
+
controller.abort(new Error('Native provider plugin stopped.'));
|
|
377
|
+
const closed = new Promise(resolve => server.close(() => resolve()));
|
|
378
|
+
for (const socket of connections)
|
|
379
|
+
socket.destroy();
|
|
380
|
+
await closed;
|
|
381
|
+
await Promise.allSettled([...operations]);
|
|
382
|
+
const current = await lstat(config.socketPath).catch(error => {
|
|
383
|
+
if (error.code === 'ENOENT')
|
|
384
|
+
return undefined;
|
|
385
|
+
throw error;
|
|
386
|
+
});
|
|
387
|
+
if (current?.isSocket() &&
|
|
388
|
+
socketIdentity &&
|
|
389
|
+
current.ino === socketIdentity.ino &&
|
|
390
|
+
current.dev === socketIdentity.dev)
|
|
391
|
+
await unlink(config.socketPath);
|
|
392
|
+
};
|
|
393
|
+
try {
|
|
394
|
+
await new Promise((resolve, reject) => {
|
|
395
|
+
server.once('error', reject);
|
|
396
|
+
server.listen(config.socketPath, () => {
|
|
397
|
+
server.removeListener('error', reject);
|
|
398
|
+
resolve();
|
|
399
|
+
});
|
|
400
|
+
});
|
|
401
|
+
await chmod(config.socketPath, 0o600);
|
|
402
|
+
const socket = await lstat(config.socketPath);
|
|
403
|
+
if (!socket.isSocket() ||
|
|
404
|
+
socket.uid !== uid ||
|
|
405
|
+
(socket.mode & 0o777) !== 0o600)
|
|
406
|
+
throw new Error('Native provider socket permissions are invalid.');
|
|
407
|
+
socketIdentity = { ino: socket.ino, dev: socket.dev };
|
|
408
|
+
return close;
|
|
409
|
+
}
|
|
410
|
+
catch (error) {
|
|
411
|
+
await close();
|
|
412
|
+
throw error;
|
|
413
|
+
}
|
|
414
|
+
}, 'native-provider: private Unix socket');
|
|
415
|
+
}
|
|
416
|
+
//# sourceMappingURL=native-provider-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-provider-plugin.js","sourceRoot":"","sources":["../../../src/cordis/dsh/native-provider-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** JSON-only protocol for one-call access to a native DSH model registry. */
|
|
2
|
+
import type { GenerateOptions, StreamChunk } from '@deepseek-ai/dsh-llm';
|
|
3
|
+
export declare const MAX_REQUEST_BYTES: number;
|
|
4
|
+
export declare const MAX_CHUNK_BYTES: number;
|
|
5
|
+
export declare const MAX_RESPONSE_BYTES: number;
|
|
6
|
+
export declare const NATIVE_PROVIDER_INSTANCE_HEADER = "x-native-provider-instance";
|
|
7
|
+
export interface NativeProviderModel {
|
|
8
|
+
providerId: string;
|
|
9
|
+
model: string;
|
|
10
|
+
name: string;
|
|
11
|
+
providerName: string;
|
|
12
|
+
contextWindow?: number;
|
|
13
|
+
defaultMaxTokens?: number;
|
|
14
|
+
reasoning?: {
|
|
15
|
+
efforts: Array<{
|
|
16
|
+
id: string;
|
|
17
|
+
name: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
}>;
|
|
20
|
+
defaultEffort?: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface NativeProviderCatalog {
|
|
24
|
+
instanceId: string;
|
|
25
|
+
models: NativeProviderModel[];
|
|
26
|
+
}
|
|
27
|
+
export type NativeProviderRequest = Omit<GenerateOptions, 'signal' | 'sessionId'> & {
|
|
28
|
+
instanceId?: string;
|
|
29
|
+
};
|
|
30
|
+
export declare class NativeProviderProtocolError extends Error {
|
|
31
|
+
readonly status: number;
|
|
32
|
+
constructor(message: string, status?: number);
|
|
33
|
+
}
|
|
34
|
+
export declare function parseNativeProviderRequest(value: unknown): NativeProviderRequest;
|
|
35
|
+
export declare function parseNativeProviderCatalog(value: unknown): NativeProviderCatalog;
|
|
36
|
+
export declare function parseNativeProviderChunk(value: unknown): StreamChunk;
|
|
37
|
+
//# sourceMappingURL=native-provider-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-provider-protocol.d.ts","sourceRoot":"","sources":["../../../src/cordis/dsh/native-provider-protocol.ts"],"names":[],"mappings":"AAiBA,6EAA6E;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE,eAAO,MAAM,iBAAiB,QAAkB,CAAC;AACjD,eAAO,MAAM,eAAe,QAAmB,CAAC;AAChD,eAAO,MAAM,kBAAkB,QAAoB,CAAC;AACpD,eAAO,MAAM,+BAA+B,+BAA+B,CAAC;AAE5E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACnE,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,eAAe,EACf,QAAQ,GAAG,WAAW,CACvB,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,KAAK;IAGlD,QAAQ,CAAC,MAAM;IAFjB,YACE,OAAO,EAAE,MAAM,EACN,MAAM,SAAM,EAItB;CACF;AAsKD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,qBAAqB,CA6DvB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,qBAAqB,CA+CvB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAqFpE"}
|