libre-webui 0.23.1 → 0.24.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/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +2 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +148 -3
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +48 -1
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/services/apiTokenService.d.ts.map +1 -1
- package/backend/dist/services/apiTokenService.js +1 -0
- package/backend/dist/services/apiTokenService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +11 -1
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +22 -2
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/chatService.d.ts +14 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +109 -5
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/contextCompactionService.d.ts +36 -0
- package/backend/dist/services/contextCompactionService.d.ts.map +1 -0
- package/backend/dist/services/contextCompactionService.js +285 -0
- package/backend/dist/services/contextCompactionService.js.map +1 -0
- package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/durableChatGenerationService.js +121 -11
- package/backend/dist/services/durableChatGenerationService.js.map +1 -1
- package/backend/dist/services/followUpService.d.ts.map +1 -1
- package/backend/dist/services/followUpService.js +8 -2
- package/backend/dist/services/followUpService.js.map +1 -1
- package/backend/dist/services/modelVisibilityService.d.ts +45 -0
- package/backend/dist/services/modelVisibilityService.d.ts.map +1 -0
- package/backend/dist/services/modelVisibilityService.js +215 -0
- package/backend/dist/services/modelVisibilityService.js.map +1 -0
- package/backend/dist/services/ollamaService.d.ts +16 -1
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +52 -13
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts +14 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +111 -13
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +3 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
- package/backend/dist/services/titleGenerationService.js +20 -2
- package/backend/dist/services/titleGenerationService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +22 -0
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/types/index.d.ts +23 -2
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/chatContext.d.ts +7 -0
- package/backend/dist/utils/chatContext.d.ts.map +1 -1
- package/backend/dist/utils/chatContext.js +13 -2
- package/backend/dist/utils/chatContext.js.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.d.ts +10 -0
- package/backend/dist/utils/ollamaModelDefaults.d.ts.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.js +19 -1
- package/backend/dist/utils/ollamaModelDefaults.js.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.d.ts +2 -0
- package/backend/dist/utils/openAIResponsesAdapter.d.ts.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.js +5 -0
- package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.d.ts +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +101 -11
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginModelCatalog.d.ts +50 -0
- package/backend/dist/utils/pluginModelCatalog.d.ts.map +1 -0
- package/backend/dist/utils/pluginModelCatalog.js +221 -0
- package/backend/dist/utils/pluginModelCatalog.js.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts +12 -1
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.js +32 -2
- package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
- package/backend/dist/utils/pluginStreaming.d.ts +10 -0
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreaming.js.map +1 -1
- package/backend/dist/utils/thinkingOptions.d.ts +68 -0
- package/backend/dist/utils/thinkingOptions.d.ts.map +1 -0
- package/backend/dist/utils/thinkingOptions.js +130 -0
- package/backend/dist/utils/thinkingOptions.js.map +1 -0
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +1 -1
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/package.json +3 -3
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
- package/frontend/dist/artifact-runtime/papaparse.js +5 -5
- package/frontend/dist/assets/index-CDQ12KBq.js +34 -0
- package/frontend/dist/assets/index-DkFWzmFD.css +1 -0
- package/frontend/dist/assets/{markdown-math-ClTedVi7.css → markdown-math-Ddr6Z9Sf.css} +1 -1
- package/frontend/dist/index.html +15 -15
- package/frontend/dist/js/ArtifactContainer-B-hs0F5K.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-QRve-734.js → ArtifactDemoPage-QFtJw-u4.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DhvA-t-7.js → ArtifactSandboxFrame-S9g_q47-.js} +2 -2
- package/frontend/dist/js/ArtifactSlideOutPanel-D0UOo8RW.js +1 -0
- package/frontend/dist/js/{Button-BV44cTnj.js → Button-BPf_pOxH.js} +1 -1
- package/frontend/dist/js/ChatPage-fdd8500b.js +23 -0
- package/frontend/dist/js/FirstTimeSetup-BTjafGOq.js +1 -0
- package/frontend/dist/js/GalleryPage-hR9AJ6b-.js +1 -0
- package/frontend/dist/js/HomePage-JvTzq-Pp.js +1 -0
- package/frontend/dist/js/LibreClawPage-CLJvtXft.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-CZAWUxjI.js → ModelManagerModals-DBmm_slu.js} +1 -1
- package/frontend/dist/js/ModelSelector-A-viVFEc.js +1 -0
- package/frontend/dist/js/ModelsPage-C4Rm-TZF.js +2 -0
- package/frontend/dist/js/NotesPage-C7bPU_KF.js +1 -0
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-XwqZEoTf.js → OptimizedSyntaxHighlighter-Dz7D1LPB.js} +1 -1
- package/frontend/dist/js/{PersonasPage-DpN8DQkY.js → PersonasPage-DpvxbFzv.js} +2 -2
- package/frontend/dist/js/{PluginUsagePage-5PXXZXle.js → PluginUsagePage-laF-M2X9.js} +1 -1
- package/frontend/dist/js/RichMessageContent-D0mK9vRA.js +3 -0
- package/frontend/dist/js/SettingsModal-DNEQ5sTt.js +1 -0
- package/frontend/dist/js/{SettingsToggle-WTa0rgvY.js → SettingsToggle-woG_WebF.js} +1 -1
- package/frontend/dist/js/{SystemPage-FUnoW7Er.js → SystemPage-Xr7XJv8c.js} +1 -1
- package/frontend/dist/js/UserManagementPage-DGmbGTC2.js +1 -0
- package/frontend/dist/js/WorkPage-DNKFD9gS.js +6 -0
- package/frontend/dist/js/{api-Dw_IuHaz.js → api-DGVZHSkS.js} +2 -2
- package/frontend/dist/js/{appStore-DAT2R-5p.js → appStore-DXlmTjIC.js} +2 -2
- package/frontend/dist/js/ar-DW79oSyN.js +2 -0
- package/frontend/dist/js/authStore-B97lJ5Ee.js +4 -0
- package/frontend/dist/js/bn-BEAmE7VH.js +2 -0
- package/frontend/dist/js/chatStore-zilBUd1p.js +3 -0
- package/frontend/dist/js/{config-0eBxRk6E.js → config-CmEh9o8U.js} +1 -1
- package/frontend/dist/js/cs-irpRMzRo.js +2 -0
- package/frontend/dist/js/da-cgilTVxc.js +2 -0
- package/frontend/dist/js/de-BU-eH3gU.js +2 -0
- package/frontend/dist/js/es-B2LRpZ0p.js +2 -0
- package/frontend/dist/js/{estree-Db_NKIE7.js → estree-CZO8RS52.js} +1 -1
- package/frontend/dist/js/fr-Cd5JM-oQ.js +2 -0
- package/frontend/dist/js/hi-CvOhdtiK.js +2 -0
- package/frontend/dist/js/{html-INl_p8N8.js → html-C31pxhBG.js} +1 -1
- package/frontend/dist/js/id-BtRK5nR_.js +2 -0
- package/frontend/dist/js/is-CnEqwgRF.js +2 -0
- package/frontend/dist/js/it-CI6WjId6.js +2 -0
- package/frontend/dist/js/ja-B6gFOHi6.js +2 -0
- package/frontend/dist/js/ko-DuAhnmMf.js +2 -0
- package/frontend/dist/js/{markdown-DQbfLH11.js → markdown-C1CEqXpL.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-D7zXzjgH.js → messageCodeStyles-BqQ6kOSU.js} +2 -2
- package/frontend/dist/js/ms-C8BIP7MZ.js +2 -0
- package/frontend/dist/js/nl-DnEdspER.js +2 -0
- package/frontend/dist/js/pl-Ddyyvbse.js +2 -0
- package/frontend/dist/js/pt-BYuzm70F.js +2 -0
- package/frontend/dist/js/ru-CmSPFxPX.js +2 -0
- package/frontend/dist/js/{standalone-CFSd7xCM.js → standalone-Dz0pkxn0.js} +1 -1
- package/frontend/dist/js/sv-Dd6SQ9f1.js +2 -0
- package/frontend/dist/js/th-CpH8745B.js +2 -0
- package/frontend/dist/js/thinking-DwlkTfPX.js +1 -0
- package/frontend/dist/js/tr-DuVD75iJ.js +2 -0
- package/frontend/dist/js/{typescript-BIFKSiW0.js → typescript-DeXPhp90.js} +1 -1
- package/frontend/dist/js/ui-CO0DPqrI.js +2 -0
- package/frontend/dist/js/{ui-vendor-54SgntkX.js → ui-vendor-mqjSfAaS.js} +1 -1
- package/frontend/dist/js/uk-B0MU-M8k.js +2 -0
- package/frontend/dist/js/{useTranslation-C3ei3mJq.js → useTranslation-Bho4HCyg.js} +1 -1
- package/frontend/dist/js/{utils-CuC1beTY.js → utils-D9W1Lnkn.js} +1 -1
- package/frontend/dist/js/{utils-vendor-BBa8OxtB.js → utils-vendor-DWh39_3x.js} +1 -1
- package/frontend/dist/js/vi-BLmFNp_z.js +2 -0
- package/frontend/dist/js/{workApi-DlmJ72dN.js → workApi-C4QtuhcE.js} +2 -2
- package/frontend/dist/js/zh-BQu0TLhw.js +2 -0
- package/package.json +3 -3
- package/frontend/dist/assets/index-BXMQqOXF.js +0 -11
- package/frontend/dist/assets/index-DBaj1DRj.css +0 -1
- package/frontend/dist/js/ArtifactContainer-BUjOZ5M5.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-B8w1Orr1.js +0 -1
- package/frontend/dist/js/ChatPage-DKVwaYxn.js +0 -23
- package/frontend/dist/js/FirstTimeSetup-DaQveC0v.js +0 -1
- package/frontend/dist/js/GalleryPage-Cz-VvarV.js +0 -1
- package/frontend/dist/js/HomePage-DF9pZ5V5.js +0 -1
- package/frontend/dist/js/LibreClawPage-Dw8YQyFj.js +0 -1
- package/frontend/dist/js/ModelSelector-Cc91MEm4.js +0 -1
- package/frontend/dist/js/ModelsPage-BgaQuCry.js +0 -2
- package/frontend/dist/js/NotesPage-CRAo-TFI.js +0 -1
- package/frontend/dist/js/RichMessageContent-C67tFlr1.js +0 -3
- package/frontend/dist/js/SettingsModal-BEzMSDlp.js +0 -1
- package/frontend/dist/js/UserManagementPage-SBsRbt0H.js +0 -1
- package/frontend/dist/js/WorkPage-D3ChSFo-.js +0 -6
- package/frontend/dist/js/ar-D0z0P4rC.js +0 -2
- package/frontend/dist/js/authStore-CwSMGkEM.js +0 -4
- package/frontend/dist/js/bn-BYYU41A7.js +0 -2
- package/frontend/dist/js/chatStore-BK6YcouV.js +0 -3
- package/frontend/dist/js/cs-BFx6KNZe.js +0 -2
- package/frontend/dist/js/da-DSDuY5Du.js +0 -2
- package/frontend/dist/js/de-YqhP0FmX.js +0 -2
- package/frontend/dist/js/es-Dpr_y1cN.js +0 -2
- package/frontend/dist/js/fr-nVg_iAEC.js +0 -2
- package/frontend/dist/js/hi-gHKYCgkP.js +0 -2
- package/frontend/dist/js/id-C_yID1Zk.js +0 -2
- package/frontend/dist/js/is-MoRPLbOM.js +0 -2
- package/frontend/dist/js/it-BZTscLxR.js +0 -2
- package/frontend/dist/js/ja-DpIbtmZq.js +0 -2
- package/frontend/dist/js/ko-LkWggmjU.js +0 -2
- package/frontend/dist/js/ms-p3XiQSAo.js +0 -2
- package/frontend/dist/js/nl-sEHHO2Kb.js +0 -2
- package/frontend/dist/js/pl-D2GD6PDW.js +0 -2
- package/frontend/dist/js/pt-DPkn3GUn.js +0 -2
- package/frontend/dist/js/ru-C42iHrEd.js +0 -2
- package/frontend/dist/js/sv-CGvHo4os.js +0 -2
- package/frontend/dist/js/th-BaDNpCdY.js +0 -2
- package/frontend/dist/js/tr-BHQvi1cN.js +0 -2
- package/frontend/dist/js/ui-CS8EAgvS.js +0 -2
- package/frontend/dist/js/uk-7pNGS1b2.js +0 -2
- package/frontend/dist/js/vi-DgAfh6mo.js +0 -2
- package/frontend/dist/js/zh-FRTz6ZqA.js +0 -2
- /package/frontend/dist/js/{markdown-math-mH7AZ_mb.js → markdown-math-DK846gXU.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAazC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAM/D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC9C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAarC;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,iBAAiB,EAAE,CA0BrB;AA2BD,qBAAa,aAAa;IACxB,OAAO,CAAC,kBAAkB,CAGtB;IACJ,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,OAAO,CAAS;IAExB,cAmBC;IAEK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAsBlC;IAEK,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CA6BxC;IAEK,gBAAgB,CACpB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;IAEK,sBAAsB,CAC1B,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,EAChD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC/B,UAAU,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAsDf;IAEK,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhD;IAEK,eAAe,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,CAAC,QAAQ,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,EACV,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC/B,UAAU,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,IAAI,CAAC,CAgGf;IAEK,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlD;IAED;;;;;OAKG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAoB9B;IAEK,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,UAAQ,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgBlC;IAEK,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D;IAEK,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlE;IAEK,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhD;IAEK,kBAAkB,CACtB,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAWnC;IAEK,iBAAiB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC,CAQxE;IAEK,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAalD;IAEK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAcrC;IAEK,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAQ/C;IAGD,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IA4BvB;;;;;;;OAOG;YACW,eAAe;IAsB7B;;;;OAIG;YACW,oBAAoB;IA4B5B,oBAAoB,CACxB,OAAO,EAAE,iBAAiB,EAC1B,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA6B7B;IAEK,0BAA0B,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,EAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC/B,UAAU,EAAE,MAAM,IAAI,EACtB,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAuGf;IAGK,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CActD;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenE;IAGK,wBAAwB,CAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAUlC;IAGK,aAAa,IAAI,OAAO,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,EAAE,CAAC;KAC/C,CAAC,CAgBD;IAGK,mBAAmB,CACvB,UAAU,EAAE,CAAC,QAAQ,EAAE;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KAAK,IAAI,EACV,UAAU,EAAE,MAAM,IAAI,EACtB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqCf;CACF"}
|
|
@@ -19,6 +19,7 @@ import { getOllamaRuntimeConfig } from '../platform/ollamaRuntimeConfig.js';
|
|
|
19
19
|
import { getErrorMessage, } from '../types/index.js';
|
|
20
20
|
import { createLogger } from '../utils/logger.js';
|
|
21
21
|
import { parseOllamaModelDefaults, } from '../utils/ollamaModelDefaults.js';
|
|
22
|
+
import { isThinkingLevel, ollamaSupportsThinkingLevels, splitThinkingOption, } from '../utils/thinkingOptions.js';
|
|
22
23
|
import pluginUsageService from './pluginUsageService.js';
|
|
23
24
|
const logger = createLogger('ollama');
|
|
24
25
|
/**
|
|
@@ -37,7 +38,10 @@ export function isCloudModel(model) {
|
|
|
37
38
|
* unlimited), but the cloud backend maps num_predict -> max_tokens, which must
|
|
38
39
|
* be positive, so for cloud we omit it and let the host apply its default.
|
|
39
40
|
*/
|
|
40
|
-
export function sanitizeOptionsForModel(model,
|
|
41
|
+
export function sanitizeOptionsForModel(model, rawOptions) {
|
|
42
|
+
// `think` rides along with the generation options so a chat can carry it,
|
|
43
|
+
// but Ollama takes it beside them, not inside.
|
|
44
|
+
const { options } = splitThinkingOption(rawOptions);
|
|
41
45
|
if (!options)
|
|
42
46
|
return options;
|
|
43
47
|
const isInvalid = (value) => typeof value === 'number' && value <= 0;
|
|
@@ -501,16 +505,56 @@ export class OllamaService {
|
|
|
501
505
|
: undefined,
|
|
502
506
|
});
|
|
503
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* The thinking setting a request should actually be sent with.
|
|
510
|
+
*
|
|
511
|
+
* A model that does not reason answers a `think` request with a 400, and the
|
|
512
|
+
* setting can arrive from global preferences that were never written with
|
|
513
|
+
* this model in mind. Where Ollama says what the model can do, that answer
|
|
514
|
+
* is respected; where it says nothing, the request is left alone.
|
|
515
|
+
*/
|
|
516
|
+
async resolveThinking(model, think, signal) {
|
|
517
|
+
if (think === undefined || think === false)
|
|
518
|
+
return think;
|
|
519
|
+
const { supportsThinking } = await this.getModelDefaults(model, signal);
|
|
520
|
+
if (supportsThinking === false) {
|
|
521
|
+
logger.debug(`${model} does not reason; sending the request without it.`);
|
|
522
|
+
return undefined;
|
|
523
|
+
}
|
|
524
|
+
// A named level on a model that only understands a boolean degrades to
|
|
525
|
+
// "on" instead of erroring — levels exist for the gpt-oss family only.
|
|
526
|
+
if (isThinkingLevel(think) && !ollamaSupportsThinkingLevels(model)) {
|
|
527
|
+
return true;
|
|
528
|
+
}
|
|
529
|
+
return think;
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* The wire form of a chat request: messages Ollama can parse, options it
|
|
533
|
+
* accepts, and `think` where it belongs, in the body rather than the
|
|
534
|
+
* options.
|
|
535
|
+
*/
|
|
536
|
+
async buildChatRequestBody(request, stream, signal) {
|
|
537
|
+
const { think: optionThink } = splitThinkingOption(request.options);
|
|
538
|
+
const think = await this.resolveThinking(request.model, request.think ?? optionThink, signal);
|
|
539
|
+
const body = {
|
|
540
|
+
...request,
|
|
541
|
+
messages: normalizeChatMessagesForOllama(request.messages),
|
|
542
|
+
options: sanitizeOptionsForModel(request.model, request.options),
|
|
543
|
+
stream,
|
|
544
|
+
};
|
|
545
|
+
if (think === undefined) {
|
|
546
|
+
delete body.think;
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
body.think = think;
|
|
550
|
+
}
|
|
551
|
+
return body;
|
|
552
|
+
}
|
|
504
553
|
async generateChatResponse(request, signal, usage) {
|
|
505
554
|
const startedAt = Date.now();
|
|
506
555
|
try {
|
|
507
556
|
// Use long operation client for chat generation as it may need to load model on first use
|
|
508
|
-
const response = await this.longOperationClient.post('/api/chat', {
|
|
509
|
-
...request,
|
|
510
|
-
messages: normalizeChatMessagesForOllama(request.messages),
|
|
511
|
-
options: sanitizeOptionsForModel(request.model, request.options),
|
|
512
|
-
stream: false,
|
|
513
|
-
}, { signal });
|
|
557
|
+
const response = await this.longOperationClient.post('/api/chat', await this.buildChatRequestBody(request, false, signal), { signal });
|
|
514
558
|
this.recordChatUsage(request.model, 'success', startedAt, usage?.userId, response.data);
|
|
515
559
|
return response.data;
|
|
516
560
|
}
|
|
@@ -531,12 +575,7 @@ export class OllamaService {
|
|
|
531
575
|
};
|
|
532
576
|
try {
|
|
533
577
|
// Use long operation client for chat streaming as it may need to load model on first use
|
|
534
|
-
const response = await this.longOperationClient.post('/api/chat', {
|
|
535
|
-
...request,
|
|
536
|
-
messages: normalizeChatMessagesForOllama(request.messages),
|
|
537
|
-
options: sanitizeOptionsForModel(request.model, request.options),
|
|
538
|
-
stream: true,
|
|
539
|
-
}, {
|
|
578
|
+
const response = await this.longOperationClient.post('/api/chat', await this.buildChatRequestBody(request, true, signal), {
|
|
540
579
|
responseType: 'stream',
|
|
541
580
|
signal,
|
|
542
581
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,12 @@ export declare class PluginService {
|
|
|
25
25
|
private historicalPluginConflictDirs;
|
|
26
26
|
private pluginReadDirs;
|
|
27
27
|
private discoveredModelsCache;
|
|
28
|
+
/** Context windows the provider reported for its own models. */
|
|
29
|
+
private discoveredModelContextCache;
|
|
30
|
+
/** Whether each discovered model reasons, where the listing or its name says. */
|
|
31
|
+
private discoveredModelReasoningCache;
|
|
32
|
+
/** Catalogs stored before context windows were captured. */
|
|
33
|
+
private discoveredCatalogIsLegacy;
|
|
28
34
|
private discoveredModelsUpdatedAt;
|
|
29
35
|
private discoveryAttemptedAt;
|
|
30
36
|
private inflightDiscovery;
|
|
@@ -70,6 +76,14 @@ export declare class PluginService {
|
|
|
70
76
|
clearDiscoveredModels(pluginId: string, userId?: string): Promise<void>;
|
|
71
77
|
private clearDiscoveredCapabilityModels;
|
|
72
78
|
private applyDiscoveredModels;
|
|
79
|
+
/**
|
|
80
|
+
* The provider-side twin of Ollama's capability gate: a thinking setting
|
|
81
|
+
* never reaches a model that is known not to reason, where "known" is the
|
|
82
|
+
* discovered catalog's answer or, for manually configured model maps, what
|
|
83
|
+
* the model's name says. An unknown model keeps the setting — offered and
|
|
84
|
+
* fail-open, exactly like an Ollama model that reports no capabilities.
|
|
85
|
+
*/
|
|
86
|
+
private stripUnsupportedThinking;
|
|
73
87
|
private ensurePluginsDirectory;
|
|
74
88
|
private bundledPluginPath;
|
|
75
89
|
private isAnchoredBundledDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,cAAc,EACf,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAIjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ import { PluginSTTService } from './pluginSTTService.js';
|
|
|
33
33
|
import { PluginTTSService } from './pluginTTSService.js';
|
|
34
34
|
import { PluginVideoGenerationService } from './pluginVideoGenerationService.js';
|
|
35
35
|
import { applyPluginDefinitionPolicy, buildPluginChatPayload, convertProviderResponse, getOpenAICompatibleSamplingParameters, resolvePluginChatParameters, toOpenAICompatibleMessages, } from '../utils/pluginChatAdapter.js';
|
|
36
|
+
import { inferReasoningFromModelId, parseDiscoveredCatalog, readModelContextMap, readModelReasoningMap, serializeDiscoveredCatalog, } from '../utils/pluginModelCatalog.js';
|
|
36
37
|
import { streamAnthropicResponse, streamOpenAICompatibleResponse, streamOpenAIResponsesResponse, } from '../utils/pluginStreamAdapter.js';
|
|
37
38
|
import { applyModelEndpointTemplate, assertSafePluginEndpoint, buildPluginAuthHeaders, buildPluginModelDiscoveryHeaders, pluginRequiresApiKey, resolvePluginApiConfig, resolvePluginEndpoint, resolvePluginModelsEndpoint, validatePluginModel, } from '../utils/pluginValidation.js';
|
|
38
39
|
import { createLogger } from '../utils/logger.js';
|
|
@@ -46,6 +47,32 @@ import pluginUsageService from './pluginUsageService.js';
|
|
|
46
47
|
import { getPluginDefinitionFingerprint, matchesBundledPluginTrustAnchor, } from '../utils/pluginDefinitionTrust.js';
|
|
47
48
|
import { encryptionService } from './encryptionService.js';
|
|
48
49
|
const logger = createLogger('plugins');
|
|
50
|
+
/**
|
|
51
|
+
* Server-reported generation timings. llama.cpp (and servers that copy its
|
|
52
|
+
* shape) return this next to `usage` on the OpenAI-compatible endpoint; it is
|
|
53
|
+
* not part of the OpenAI schema, so it arrives untyped.
|
|
54
|
+
*/
|
|
55
|
+
const readProviderTimings = (payload) => {
|
|
56
|
+
const timings = payload?.timings;
|
|
57
|
+
if (!timings || typeof timings !== 'object')
|
|
58
|
+
return undefined;
|
|
59
|
+
const record = timings;
|
|
60
|
+
const numeric = (key) => typeof record[key] === 'number' && Number.isFinite(record[key])
|
|
61
|
+
? record[key]
|
|
62
|
+
: undefined;
|
|
63
|
+
const result = {
|
|
64
|
+
...(numeric('prompt_ms') !== undefined
|
|
65
|
+
? { promptMs: numeric('prompt_ms') }
|
|
66
|
+
: {}),
|
|
67
|
+
...(numeric('predicted_ms') !== undefined
|
|
68
|
+
? { predictedMs: numeric('predicted_ms') }
|
|
69
|
+
: {}),
|
|
70
|
+
...(numeric('predicted_per_second') !== undefined
|
|
71
|
+
? { predictedPerSecond: numeric('predicted_per_second') }
|
|
72
|
+
: {}),
|
|
73
|
+
};
|
|
74
|
+
return Object.keys(result).length > 0 ? result : undefined;
|
|
75
|
+
};
|
|
49
76
|
const hasSymlinkPathComponentFromRoot = (root, target) => {
|
|
50
77
|
const resolvedRoot = path.resolve(root);
|
|
51
78
|
const resolvedTarget = path.resolve(target);
|
|
@@ -197,6 +224,12 @@ function getPluginRoutingAuthProjection(plugin) {
|
|
|
197
224
|
export class PluginService {
|
|
198
225
|
constructor(options = {}) {
|
|
199
226
|
this.discoveredModelsCache = new Map();
|
|
227
|
+
/** Context windows the provider reported for its own models. */
|
|
228
|
+
this.discoveredModelContextCache = new Map();
|
|
229
|
+
/** Whether each discovered model reasons, where the listing or its name says. */
|
|
230
|
+
this.discoveredModelReasoningCache = new Map();
|
|
231
|
+
/** Catalogs stored before context windows were captured. */
|
|
232
|
+
this.discoveredCatalogIsLegacy = new Map();
|
|
200
233
|
this.discoveredModelsUpdatedAt = new Map();
|
|
201
234
|
this.discoveryAttemptedAt = new Map();
|
|
202
235
|
this.inflightDiscovery = new Map();
|
|
@@ -301,6 +334,8 @@ export class PluginService {
|
|
|
301
334
|
invalidateRuntimeCaches(invalidation) {
|
|
302
335
|
const completionKeys = new Set([
|
|
303
336
|
...this.discoveredModelsCache.keys(),
|
|
337
|
+
...this.discoveredModelContextCache.keys(),
|
|
338
|
+
...this.discoveredModelReasoningCache.keys(),
|
|
304
339
|
...this.discoveredModelsUpdatedAt.keys(),
|
|
305
340
|
...this.discoveryAttemptedAt.keys(),
|
|
306
341
|
...this.inflightDiscovery.keys(),
|
|
@@ -336,6 +371,9 @@ export class PluginService {
|
|
|
336
371
|
if (!completionMatches(key))
|
|
337
372
|
continue;
|
|
338
373
|
this.discoveredModelsCache.delete(key);
|
|
374
|
+
this.discoveredModelContextCache.delete(key);
|
|
375
|
+
this.discoveredModelReasoningCache.delete(key);
|
|
376
|
+
this.discoveredCatalogIsLegacy.delete(key);
|
|
339
377
|
this.discoveredModelsUpdatedAt.delete(key);
|
|
340
378
|
this.discoveryAttemptedAt.delete(key);
|
|
341
379
|
this.inflightDiscovery.delete(key);
|
|
@@ -483,17 +521,21 @@ export class PluginService {
|
|
|
483
521
|
const row = await this.repositories().pluginDiscovery.get(pluginId, effectiveUserId);
|
|
484
522
|
if (!row) {
|
|
485
523
|
this.discoveredModelsCache.set(cacheKey, null);
|
|
524
|
+
this.discoveredModelContextCache.set(cacheKey, null);
|
|
525
|
+
this.discoveredModelReasoningCache.set(cacheKey, null);
|
|
486
526
|
return undefined;
|
|
487
527
|
}
|
|
488
|
-
const
|
|
489
|
-
|
|
490
|
-
? Array.from(new Set(parsed.filter((model) => typeof model === 'string' && model.length > 0)))
|
|
491
|
-
: [];
|
|
528
|
+
const { models, modelContext, modelReasoning, legacy } = parseDiscoveredCatalog(row.models_json);
|
|
529
|
+
this.discoveredCatalogIsLegacy.set(cacheKey, legacy === true);
|
|
492
530
|
if (models.length === 0) {
|
|
493
531
|
this.discoveredModelsCache.set(cacheKey, null);
|
|
532
|
+
this.discoveredModelContextCache.set(cacheKey, null);
|
|
533
|
+
this.discoveredModelReasoningCache.set(cacheKey, null);
|
|
494
534
|
return undefined;
|
|
495
535
|
}
|
|
496
536
|
this.discoveredModelsCache.set(cacheKey, models);
|
|
537
|
+
this.discoveredModelContextCache.set(cacheKey, modelContext ?? null);
|
|
538
|
+
this.discoveredModelReasoningCache.set(cacheKey, modelReasoning ?? null);
|
|
497
539
|
if (typeof row.updated_at === 'number') {
|
|
498
540
|
this.discoveredModelsUpdatedAt.set(cacheKey, row.updated_at);
|
|
499
541
|
}
|
|
@@ -502,10 +544,12 @@ export class PluginService {
|
|
|
502
544
|
catch (error) {
|
|
503
545
|
logger.warn('Failed to read discovered models for plugin %s:', pluginId, error);
|
|
504
546
|
this.discoveredModelsCache.set(cacheKey, null);
|
|
547
|
+
this.discoveredModelContextCache.set(cacheKey, null);
|
|
548
|
+
this.discoveredModelReasoningCache.set(cacheKey, null);
|
|
505
549
|
return undefined;
|
|
506
550
|
}
|
|
507
551
|
}
|
|
508
|
-
async storeDiscoveredModels(pluginId, models, userId) {
|
|
552
|
+
async storeDiscoveredModels(pluginId, models, userId, modelContext, modelReasoning) {
|
|
509
553
|
await this.ensureCacheInvalidation();
|
|
510
554
|
const effectiveUserId = userId || 'default';
|
|
511
555
|
const uniqueModels = Array.from(new Set(models));
|
|
@@ -515,10 +559,17 @@ export class PluginService {
|
|
|
515
559
|
await this.repositories().pluginDiscovery.upsert({
|
|
516
560
|
user_id: effectiveUserId,
|
|
517
561
|
plugin_id: pluginId,
|
|
518
|
-
models_json:
|
|
562
|
+
models_json: serializeDiscoveredCatalog({
|
|
563
|
+
models: uniqueModels,
|
|
564
|
+
modelContext,
|
|
565
|
+
modelReasoning,
|
|
566
|
+
}),
|
|
519
567
|
updated_at: discoveredAt,
|
|
520
568
|
});
|
|
521
569
|
this.discoveredModelsCache.set(cacheKey, uniqueModels);
|
|
570
|
+
this.discoveredModelContextCache.set(cacheKey, modelContext ?? null);
|
|
571
|
+
this.discoveredModelReasoningCache.set(cacheKey, modelReasoning ?? null);
|
|
572
|
+
this.discoveredCatalogIsLegacy.set(cacheKey, false);
|
|
522
573
|
this.discoveredModelsUpdatedAt.set(cacheKey, discoveredAt);
|
|
523
574
|
await publishPluginCacheInvalidation({
|
|
524
575
|
version: 1,
|
|
@@ -627,12 +678,38 @@ export class PluginService {
|
|
|
627
678
|
}
|
|
628
679
|
}
|
|
629
680
|
}
|
|
681
|
+
// Context windows and reasoning support travel with the catalog they were
|
|
682
|
+
// discovered from, so a model list and what each model can do never
|
|
683
|
+
// disagree.
|
|
684
|
+
const catalogKey = this.discoveredModelsCacheKey(plugin.id, userId || 'default');
|
|
685
|
+
const modelContext = this.discoveredModelContextCache.get(catalogKey);
|
|
686
|
+
const modelReasoning = this.discoveredModelReasoningCache.get(catalogKey);
|
|
630
687
|
return {
|
|
631
688
|
...plugin,
|
|
632
689
|
...(models ? { model_map: [...models] } : {}),
|
|
633
690
|
...(capabilities ? { capabilities } : {}),
|
|
691
|
+
...(modelContext ? { model_context: { ...modelContext } } : {}),
|
|
692
|
+
...(modelReasoning ? { model_reasoning: { ...modelReasoning } } : {}),
|
|
634
693
|
};
|
|
635
694
|
}
|
|
695
|
+
/**
|
|
696
|
+
* The provider-side twin of Ollama's capability gate: a thinking setting
|
|
697
|
+
* never reaches a model that is known not to reason, where "known" is the
|
|
698
|
+
* discovered catalog's answer or, for manually configured model maps, what
|
|
699
|
+
* the model's name says. An unknown model keeps the setting — offered and
|
|
700
|
+
* fail-open, exactly like an Ollama model that reports no capabilities.
|
|
701
|
+
*/
|
|
702
|
+
stripUnsupportedThinking(pluginId, model, options, userId) {
|
|
703
|
+
if (!('think' in options))
|
|
704
|
+
return options;
|
|
705
|
+
const catalog = this.discoveredModelReasoningCache.get(this.discoveredModelsCacheKey(pluginId, userId || 'default'));
|
|
706
|
+
const support = catalog?.[model] ?? inferReasoningFromModelId(model);
|
|
707
|
+
if (support !== false)
|
|
708
|
+
return options;
|
|
709
|
+
logger.debug('%s does not reason; sending the request to %s without the setting.', model, pluginId);
|
|
710
|
+
const { think: _think, ...rest } = options;
|
|
711
|
+
return rest;
|
|
712
|
+
}
|
|
636
713
|
ensurePluginsDirectory() {
|
|
637
714
|
const dataDirectory = resolveDataDirectory();
|
|
638
715
|
const configuredRelativeToData = path.relative(dataDirectory, this.pluginsDir);
|
|
@@ -1010,6 +1087,11 @@ export class PluginService {
|
|
|
1010
1087
|
const updatedAt = this.discoveredModelsUpdatedAt.get(cacheKey);
|
|
1011
1088
|
if (!models || !updatedAt)
|
|
1012
1089
|
return true;
|
|
1090
|
+
// A catalog stored before context windows were captured has none of them.
|
|
1091
|
+
// Waiting out the whole refresh interval would leave every provider model
|
|
1092
|
+
// without a window for hours after an upgrade, so it is refreshed once.
|
|
1093
|
+
if (this.discoveredCatalogIsLegacy.get(cacheKey))
|
|
1094
|
+
return true;
|
|
1013
1095
|
return Date.now() - updatedAt >= modelDiscoveryTtlMs();
|
|
1014
1096
|
}
|
|
1015
1097
|
/**
|
|
@@ -1201,6 +1283,10 @@ export class PluginService {
|
|
|
1201
1283
|
const models = response.data.data
|
|
1202
1284
|
.map((m) => m.id)
|
|
1203
1285
|
.filter((id) => typeof id === 'string');
|
|
1286
|
+
// Providers that publish a context window are worth remembering: it is
|
|
1287
|
+
// the only way the application can say how full a conversation is.
|
|
1288
|
+
const modelContext = readModelContextMap(response.data.data);
|
|
1289
|
+
const modelReasoning = readModelReasoningMap(response.data.data);
|
|
1204
1290
|
if (models.length > 0) {
|
|
1205
1291
|
logger.debug('[Plugin] Auto-discovered %d models for %s:', models.length, pluginId, models);
|
|
1206
1292
|
const previousModels = plugin.model_map;
|
|
@@ -1213,7 +1299,7 @@ export class PluginService {
|
|
|
1213
1299
|
reason: 'Provider configuration changed during discovery',
|
|
1214
1300
|
};
|
|
1215
1301
|
}
|
|
1216
|
-
await this.storeDiscoveredModels(pluginId, models, userId);
|
|
1302
|
+
await this.storeDiscoveredModels(pluginId, models, userId, modelContext, modelReasoning);
|
|
1217
1303
|
const stored = (await this.getDiscoveredModels(pluginId, userId)) || models;
|
|
1218
1304
|
return {
|
|
1219
1305
|
models: stored,
|
|
@@ -1657,6 +1743,7 @@ export class PluginService {
|
|
|
1657
1743
|
if (!activePlugin.model_map.includes(model)) {
|
|
1658
1744
|
throw new Error(`Model ${model} is not supported by plugin ${activePlugin.id}`);
|
|
1659
1745
|
}
|
|
1746
|
+
options = this.stripUnsupportedThinking(activePlugin.id, model, options, userId);
|
|
1660
1747
|
if (activePlugin.id === CODEX_OAUTH_PLUGIN_ID) {
|
|
1661
1748
|
await codexOAuthService.ensureFreshToken(signal);
|
|
1662
1749
|
// The codex endpoint only answers as an SSE stream; aggregate it here
|
|
@@ -1757,6 +1844,7 @@ export class PluginService {
|
|
|
1757
1844
|
if (!activePlugin.model_map.includes(model)) {
|
|
1758
1845
|
throw new Error(`Model ${model} is not supported by plugin ${activePlugin.id}`);
|
|
1759
1846
|
}
|
|
1847
|
+
options = this.stripUnsupportedThinking(activePlugin.id, model, options, userId);
|
|
1760
1848
|
if (activePlugin.id === CODEX_OAUTH_PLUGIN_ID) {
|
|
1761
1849
|
await codexOAuthService.ensureFreshToken(signal);
|
|
1762
1850
|
}
|
|
@@ -1789,6 +1877,10 @@ export class PluginService {
|
|
|
1789
1877
|
max_tokens: params.maxTokens,
|
|
1790
1878
|
stop: options.stop,
|
|
1791
1879
|
stream: true,
|
|
1880
|
+
// OpenAI-compatible servers omit token counts from a stream unless
|
|
1881
|
+
// they are asked for, which is why provider-backed replies used to
|
|
1882
|
+
// report zero tokens.
|
|
1883
|
+
stream_options: { include_usage: true },
|
|
1792
1884
|
};
|
|
1793
1885
|
}
|
|
1794
1886
|
const startedAt = Date.now();
|
|
@@ -1863,14 +1955,20 @@ export class PluginService {
|
|
|
1863
1955
|
},
|
|
1864
1956
|
};
|
|
1865
1957
|
}
|
|
1866
|
-
|
|
1958
|
+
const providerTimings = readProviderTimings(normalized);
|
|
1959
|
+
if (normalized.usage || providerTimings) {
|
|
1867
1960
|
const usageChunk = {
|
|
1868
1961
|
type: 'usage',
|
|
1869
|
-
usage
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1962
|
+
...(normalized.usage
|
|
1963
|
+
? {
|
|
1964
|
+
usage: {
|
|
1965
|
+
promptTokens: normalized.usage.prompt_tokens,
|
|
1966
|
+
completionTokens: normalized.usage.completion_tokens,
|
|
1967
|
+
totalTokens: normalized.usage.total_tokens,
|
|
1968
|
+
},
|
|
1969
|
+
}
|
|
1970
|
+
: {}),
|
|
1971
|
+
...(providerTimings ? { timings: providerTimings } : {}),
|
|
1874
1972
|
};
|
|
1875
1973
|
captureUsage(usageChunk);
|
|
1876
1974
|
yield usageChunk;
|