libre-webui 0.38.0 → 0.40.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.
- package/README.md +1 -0
- 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 +6 -0
- package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.js +39 -0
- package/backend/dist/persistence/postgresWorkRunThinkMigration.js.map +1 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteExtensionRepositories.js +7 -0
- package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +20 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteToPostgresMigration.js +1 -0
- package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +3 -2
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +3 -3
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/types.d.ts +5 -0
- package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/types.js.map +1 -1
- package/backend/dist/routes/email.d.ts.map +1 -1
- package/backend/dist/routes/email.js +51 -1
- package/backend/dist/routes/email.js.map +1 -1
- package/backend/dist/routes/tts.d.ts.map +1 -1
- package/backend/dist/routes/tts.js +6 -1
- package/backend/dist/routes/tts.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +17 -2
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/agentCliService.d.ts.map +1 -1
- package/backend/dist/services/agentCliService.js +2 -0
- package/backend/dist/services/agentCliService.js.map +1 -1
- package/backend/dist/services/emailService.d.ts +17 -3
- package/backend/dist/services/emailService.d.ts.map +1 -1
- package/backend/dist/services/emailService.js +73 -11
- package/backend/dist/services/emailService.js.map +1 -1
- package/backend/dist/services/followUpService.d.ts +4 -1
- package/backend/dist/services/followUpService.d.ts.map +1 -1
- package/backend/dist/services/followUpService.js +23 -2
- package/backend/dist/services/followUpService.js.map +1 -1
- package/backend/dist/services/pluginCredentialsService.d.ts +3 -0
- package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
- package/backend/dist/services/pluginCredentialsService.js +18 -5
- package/backend/dist/services/pluginCredentialsService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts +9 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +41 -20
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +3 -0
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +43 -13
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workRuntimeService.d.ts +5 -0
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +243 -84
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workTaskService.d.ts +3 -2
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +10 -6
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/types/work.d.ts +3 -0
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/types/work.js.map +1 -1
- package/backend/dist/utils/bedrockMantle.d.ts +46 -0
- package/backend/dist/utils/bedrockMantle.d.ts.map +1 -0
- package/backend/dist/utils/bedrockMantle.js +206 -0
- package/backend/dist/utils/bedrockMantle.js.map +1 -0
- package/backend/dist/utils/emailMarkdown.js +3 -3
- package/backend/dist/utils/emailMarkdown.js.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.d.ts +36 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +122 -47
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.d.ts +7 -0
- package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
- package/backend/dist/utils/pluginDefinitionTrust.js +52 -3
- package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
- package/backend/dist/utils/pluginValidation.d.ts +1 -1
- package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
- package/backend/dist/utils/pluginValidation.js +11 -0
- package/backend/dist/utils/pluginValidation.js.map +1 -1
- package/backend/package.json +3 -3
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/babel.js +170 -170
- 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/mathjs.js +1 -1
- package/frontend/dist/artifact-runtime/mermaid.js +366 -366
- package/frontend/dist/artifact-runtime/plotly.js +1 -1
- package/frontend/dist/artifact-runtime/react.js +3 -3
- package/frontend/dist/assets/index-DLfU_qNT.js +75 -0
- package/frontend/dist/assets/index-DtS3qhdq.css +2 -0
- package/frontend/dist/assets/{markdown-math-D1Bj3pDB.css → markdown-math-DzFXvcrH.css} +1 -1
- package/frontend/dist/assets/xterm-B1njb2Cr.css +1 -0
- package/frontend/dist/index.html +36 -35
- package/frontend/dist/js/ArtifactContainer-BjzltfdU.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-CCh7lQEw.js → ArtifactDemoPage-DWua6xj9.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-D1ntMsqe.js → ArtifactSandboxFrame-CR9ghP0A.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-DX2nL3AS.js +1 -0
- package/frontend/dist/js/AutomationModal-DZe-C2jN.js +1 -0
- package/frontend/dist/js/AutomationsPage-CrCcnTyk.js +1 -0
- package/frontend/dist/js/AvatarUpload-nPS0QHod.js +1 -0
- package/frontend/dist/js/Button-Dh2UJA-B.js +1 -0
- package/frontend/dist/js/CalendarPage-D2WiWglM.js +1 -0
- package/frontend/dist/js/ChannelsPage-COp2T8FQ.js +1 -0
- package/frontend/dist/js/ChatPage-CUfAlpdt.js +14 -0
- package/frontend/dist/js/ConnectModels-emc3dv4A.js +1 -0
- package/frontend/dist/js/EvaluationsPage-CbyeDkz_.js +2 -0
- package/frontend/dist/js/FirstTimeSetup-C4ffQRMN.js +1 -0
- package/frontend/dist/js/GalleryPage-D4Ci_3dv.js +1 -0
- package/frontend/dist/js/HomePage-C3IhEERN.js +1 -0
- package/frontend/dist/js/LanguageSwitcher-BQqDJPwm.js +1 -0
- package/frontend/dist/js/{Logo-D1o5k_wt.js → Logo-DnfVtjgj.js} +1 -1
- package/frontend/dist/js/{LogoMark-lnmc98jv.js → LogoMark-BzObGdA9.js} +1 -1
- package/frontend/dist/js/ModelManagerModals-DhY8Rme6.js +1 -0
- package/frontend/dist/js/NotesPage-j812I1BN.js +3 -0
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-CzzV6ONG.js → OptimizedSyntaxHighlighter-B0g8cxZQ.js} +1 -1
- package/frontend/dist/js/OptimizedSyntaxHighlighter-B_BbHeO1.js +1 -0
- package/frontend/dist/js/PasswordStrengthMeter-BSEtQBJp.js +1 -0
- package/frontend/dist/js/PersonasPage--YWoThqF.js +13 -0
- package/frontend/dist/js/PluginUsagePage-CZiMdmjI.js +1 -0
- package/frontend/dist/js/{RichMessageContent-OGBLO64L.js → RichMessageContent-BLI0hhzR.js} +3 -3
- package/frontend/dist/js/RichMessageContent-BXv5baJ_.js +1 -0
- package/frontend/dist/js/SettingsModal-C6aVzSI-.js +19 -0
- package/frontend/dist/js/SettingsToggle-CkLLtFbz.js +1 -0
- package/frontend/dist/js/ShareDialog-DQskc17d.js +1 -0
- package/frontend/dist/js/StrandsPage-DENhVKcz.js +1 -0
- package/frontend/dist/js/SystemPage-C86ypXG4.js +1 -0
- package/frontend/dist/js/{TurnstileWidget-CVepEMEQ.js → TurnstileWidget-tI50c7Kc.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-2yHv89ZA.js → UserManagementPage-UvPjA9RP.js} +1 -1
- package/frontend/dist/js/UserManagementPanel-D1CS0KPn.js +1 -0
- package/frontend/dist/js/WhatsNewModal-B31A_UQY.js +1 -0
- package/frontend/dist/js/WorkPage-DEXBL5J7.js +7 -0
- package/frontend/dist/js/api-DRAKhdz7.js +1 -0
- package/frontend/dist/js/{api-CnJYEbRz.js → api-Dcz1G4Ib.js} +4 -2
- package/frontend/dist/js/{appNavigation-BXNRwrN-.js → appNavigation-C5A9BF_G.js} +1 -1
- package/frontend/dist/js/appStore-0_qlwS8f.js +2 -0
- package/frontend/dist/js/appVersion-D5lk_2zb.js +1 -0
- package/frontend/dist/js/ar-BZntyucf.js +2 -0
- package/frontend/dist/js/authStore-C4dzH1NY.js +1 -0
- package/frontend/dist/js/{authStore-DwaPsICv.js → authStore-COgKeTRv.js} +3 -3
- package/frontend/dist/js/bn-BDCaFQu-.js +2 -0
- package/frontend/dist/js/chatStore-CVTbkZyb.js +3 -0
- package/frontend/dist/js/{client-DQy1iGRM.js → client-jaxZzn-I.js} +2 -2
- package/frontend/dist/js/{composerStyles-C83jssgZ.js → composerStyles-BEx0XAp6.js} +1 -1
- package/frontend/dist/js/{config-BbrsmDn2.js → config-Da1yh9sC.js} +1 -1
- package/frontend/dist/js/confirmStore-CKkUtP9c.js +1 -0
- package/frontend/dist/js/cs-BCmN--jQ.js +2 -0
- package/frontend/dist/js/da-B895dAyV.js +2 -0
- package/frontend/dist/js/de-B0ZhC0dm.js +2 -0
- package/frontend/dist/js/es-D7eaw4_W.js +2 -0
- package/frontend/dist/js/{evaluationsApi-KVsH7yXe.js → evaluationsApi-BwaxBVpl.js} +1 -1
- package/frontend/dist/js/fr-DsB0gLW4.js +2 -0
- package/frontend/dist/js/hi-CLeU3ung.js +2 -0
- package/frontend/dist/js/id-Cdq6tOTi.js +2 -0
- package/frontend/dist/js/is-DJ1tHaAT.js +2 -0
- package/frontend/dist/js/it-9K1R4CeT.js +2 -0
- package/frontend/dist/js/ja-BYP_3M5M.js +2 -0
- package/frontend/dist/js/ko-CNtjlaDm.js +2 -0
- package/frontend/dist/js/liveAnnouncerStore-B6mS-JWC.js +1 -0
- package/frontend/dist/js/{markdown-CZ1tYEW8.js → markdown-DU84620G.js} +1 -1
- package/frontend/dist/js/{markdown-core-KjS96SYW.js → markdown-core-Cyql92Hg.js} +1 -1
- package/frontend/dist/js/{markdown-html-DQEwrWcf.js → markdown-html-CUc2fCgY.js} +1 -1
- package/frontend/dist/js/{markdown-math-CKi32S5d.js → markdown-math-DxPfMKvO.js} +1 -1
- package/frontend/dist/js/{markdownHtml-lrXhxBhK.js → markdownHtml-KhS0cFNH.js} +1 -1
- package/frontend/dist/js/markdownMath-CsfRQAcz.js +1 -0
- package/frontend/dist/js/messageCodeStyles-D3cWF9XO.js +2 -0
- package/frontend/dist/js/ms-A_IVO_qt.js +2 -0
- package/frontend/dist/js/nl-CrKWO3ea.js +2 -0
- package/frontend/dist/js/pl-BrpSuyDP.js +2 -0
- package/frontend/dist/js/pt-BHbpB5BM.js +2 -0
- package/frontend/dist/js/react-vendor-CR5VJ85Q.js +9 -0
- package/frontend/dist/js/{router-vendor-HZm4FR0A.js → router-vendor-DqMnEJWK.js} +1 -1
- package/frontend/dist/js/ru-DzLsS9zY.js +2 -0
- package/frontend/dist/js/{standalone-DbyFjvTU.js → standalone-D_lg5NC9.js} +1 -1
- package/frontend/dist/js/{strandsApi-SeoX_IsY.js → strandsApi-COxSPh_5.js} +1 -1
- package/frontend/dist/js/sv-VU2CjzNj.js +2 -0
- package/frontend/dist/js/{syntax-highlight-DNc3FFCa.js → syntax-highlight-D7dQ5s5-.js} +1 -1
- package/frontend/dist/js/{teamEventStream-CZYdpbVw.js → teamEventStream-RNJYm84u.js} +1 -1
- package/frontend/dist/js/th-DV2hNXXc.js +2 -0
- package/frontend/dist/js/tr-DvVZ9jxF.js +2 -0
- package/frontend/dist/js/ui-CI0OdG9q.js +2 -0
- package/frontend/dist/js/ui-vendor-6S05F84J.js +1 -0
- package/frontend/dist/js/uk-MFFDRo2m.js +2 -0
- package/frontend/dist/js/useChat-BSkqxHnH.js +13 -0
- package/frontend/dist/js/{useDialogFocus-DbW0oA9H.js → useDialogFocus-zSGHkpE4.js} +1 -1
- package/frontend/dist/js/useDictation-D9whH12W.js +1 -0
- package/frontend/dist/js/{useQuery-hWmQjdLu.js → useQuery-BTKpXudI.js} +1 -1
- package/frontend/dist/js/{useTranslation-UHEMTEHd.js → useTranslation-Boi0fB1B.js} +1 -1
- package/frontend/dist/js/{utils-DaXuqmQm.js → utils-B-Bhh1pF.js} +1 -1
- package/frontend/dist/js/{utils-vendor-CvhktdS_.js → utils-vendor-DPJG-EG_.js} +1 -1
- package/frontend/dist/js/vi-CfZ-U8Cw.js +2 -0
- package/frontend/dist/js/{work-CdbmBok5.js → work-C7MYlv5S.js} +1 -1
- package/frontend/dist/js/{workModels-BM2Zyiba.js → workAnnouncements-CAsI8P7c.js} +1 -1
- package/frontend/dist/js/workApi-BJfbaV6k.js +1 -0
- package/frontend/dist/js/{workApi-BqkCbCLQ.js → workApi-Ck8nTlJn.js} +1 -1
- package/frontend/dist/js/zh-CTl_raYa.js +2 -0
- package/package.json +5 -4
- package/plugins/anthropic.json +3 -1
- package/plugins/bedrock.json +86 -0
- package/plugins/codex-oauth.json +1 -0
- package/plugins/openrouter.json +2 -0
- package/frontend/dist/assets/index-CJHJxwjA.js +0 -68
- package/frontend/dist/assets/index-DSHdOZRK.css +0 -1
- package/frontend/dist/assets/xterm-B8QFf3JU.css +0 -1
- package/frontend/dist/js/ArtifactContainer-BWTN4QSW.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-zPEBPoMh.js +0 -1
- package/frontend/dist/js/AutomationModal-DN98Eyym.js +0 -1
- package/frontend/dist/js/AutomationsPage-3DBwRKME.js +0 -1
- package/frontend/dist/js/AvatarUpload-D5_wGUb5.js +0 -1
- package/frontend/dist/js/Button-CTwi9N3d.js +0 -1
- package/frontend/dist/js/CalendarPage-CUbGH3Tl.js +0 -1
- package/frontend/dist/js/ChannelsPage-B1hC1rRS.js +0 -1
- package/frontend/dist/js/ChatPage-B7mEg5z2.js +0 -14
- package/frontend/dist/js/ConnectModels-Cby89_Mc.js +0 -1
- package/frontend/dist/js/EvaluationsPage-BaND2qQM.js +0 -2
- package/frontend/dist/js/FirstTimeSetup-D8ktLJKO.js +0 -1
- package/frontend/dist/js/GalleryPage-DXQLoU0l.js +0 -1
- package/frontend/dist/js/HomePage-WVug1vWc.js +0 -1
- package/frontend/dist/js/LanguageSwitcher-DHHTrDBR.js +0 -1
- package/frontend/dist/js/ModelManagerModals-BPALNMDH.js +0 -1
- package/frontend/dist/js/NotesPage-CRzX2Wa8.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +0 -1
- package/frontend/dist/js/PasswordStrengthMeter-BGrHWG0B.js +0 -1
- package/frontend/dist/js/PersonasPage-BRU9151f.js +0 -13
- package/frontend/dist/js/PluginUsagePage-BlhYZq1l.js +0 -1
- package/frontend/dist/js/RichMessageContent-FiuPwDG7.js +0 -1
- package/frontend/dist/js/SettingsModal-sLkxG-lW.js +0 -19
- package/frontend/dist/js/SettingsToggle-Du2FSUPO.js +0 -1
- package/frontend/dist/js/ShareDialog-DEhxnLfn.js +0 -1
- package/frontend/dist/js/StrandsPage-DWnUKSb0.js +0 -1
- package/frontend/dist/js/SystemPage-cqq8lSxB.js +0 -1
- package/frontend/dist/js/UserManagementPanel-NZmoTk6V.js +0 -1
- package/frontend/dist/js/WhatsNewModal-5SwIdmU1.js +0 -1
- package/frontend/dist/js/WorkPage-BIuaVNEC.js +0 -8
- package/frontend/dist/js/api-C2k0OqEk.js +0 -1
- package/frontend/dist/js/appStore-DULGAJnH.js +0 -2
- package/frontend/dist/js/appVersion-DooVk4c_.js +0 -1
- package/frontend/dist/js/ar-Bp843BgG.js +0 -2
- package/frontend/dist/js/authStore-CaLdzyAr.js +0 -1
- package/frontend/dist/js/bn-DmSGkklY.js +0 -2
- package/frontend/dist/js/chatStore-j8bGpkeT.js +0 -3
- package/frontend/dist/js/cs-BcauIRyG.js +0 -2
- package/frontend/dist/js/da-CJ14DPJ_.js +0 -2
- package/frontend/dist/js/de-ajswyAhq.js +0 -2
- package/frontend/dist/js/es-rlf8FsMZ.js +0 -2
- package/frontend/dist/js/fr-BwkM1wie.js +0 -2
- package/frontend/dist/js/goober.modern-BaHbaW3_.js +0 -1
- package/frontend/dist/js/hi-B3eId9-I.js +0 -2
- package/frontend/dist/js/id-BcgPFJh2.js +0 -2
- package/frontend/dist/js/is-Crvd3K7f.js +0 -2
- package/frontend/dist/js/it-DrLx24hb.js +0 -2
- package/frontend/dist/js/ja-DZMcf-oB.js +0 -2
- package/frontend/dist/js/ko-Cm0NiOE8.js +0 -2
- package/frontend/dist/js/markdownMath-B0BpyFBS.js +0 -1
- package/frontend/dist/js/messageCodeStyles-CDnMKLgo.js +0 -2
- package/frontend/dist/js/ms-ymaG59hx.js +0 -2
- package/frontend/dist/js/nl-CdIdeA9d.js +0 -2
- package/frontend/dist/js/pl-CuO0b605.js +0 -2
- package/frontend/dist/js/pt-Vy413FG5.js +0 -2
- package/frontend/dist/js/react-vendor-wiHys0m2.js +0 -9
- package/frontend/dist/js/ru-D0zOEVrL.js +0 -2
- package/frontend/dist/js/sv-JoS4krpk.js +0 -2
- package/frontend/dist/js/th-afhelaqR.js +0 -2
- package/frontend/dist/js/tr-BhSy9UrR.js +0 -2
- package/frontend/dist/js/ui-CW3gJ4Kl.js +0 -2
- package/frontend/dist/js/ui-vendor-_fvLnmDx.js +0 -1
- package/frontend/dist/js/uk-CibXypnZ.js +0 -2
- package/frontend/dist/js/useChat-CBySqLqR.js +0 -10
- package/frontend/dist/js/useDictation-DEAp64eu.js +0 -1
- package/frontend/dist/js/vi-Cg0WKHtb.js +0 -2
- package/frontend/dist/js/workApi-gpxrWwCm.js +0 -1
- package/frontend/dist/js/zh-DTqys9TE.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ declare class PluginCredentialsService {
|
|
|
12
12
|
*/
|
|
13
13
|
getStoredApiKey(pluginId: string, userId: string | undefined, options: {
|
|
14
14
|
expectedRoutingAuthFingerprint: string;
|
|
15
|
+
/** The same route under the earlier binding formula. */
|
|
16
|
+
previousRoutingAuthFingerprint?: string;
|
|
15
17
|
allowLegacyUnboundCredential: boolean;
|
|
16
18
|
}): Promise<string | null>;
|
|
17
19
|
/**
|
|
@@ -22,6 +24,7 @@ declare class PluginCredentialsService {
|
|
|
22
24
|
getApiKey(pluginId: string, keyEnv: string, userId: string | undefined, options: {
|
|
23
25
|
allowEnvironmentFallback: boolean;
|
|
24
26
|
expectedRoutingAuthFingerprint: string;
|
|
27
|
+
previousRoutingAuthFingerprint?: string;
|
|
25
28
|
allowLegacyUnboundCredential: boolean;
|
|
26
29
|
}): Promise<string | null>;
|
|
27
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginCredentialsService.d.ts","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,cAAM,wBAAwB;IAC5B;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE;QACP,8BAA8B,EAAE,MAAM,CAAC;QACvC,4BAA4B,EAAE,OAAO,CAAC;KACvC,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pluginCredentialsService.d.ts","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,cAAM,wBAAwB;IAC5B;;OAEG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE;QACP,8BAA8B,EAAE,MAAM,CAAC;QACvC,wDAAwD;QACxD,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,4BAA4B,EAAE,OAAO,CAAC;KACvC,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyDxB;IAED;;;;OAIG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE;QACP,wBAAwB,EAAE,OAAO,CAAC;QAClC,8BAA8B,EAAE,MAAM,CAAC;QACvC,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,4BAA4B,EAAE,OAAO,CAAC;KACvC,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB;IAED;;OAEG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAC5C,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CACH,CAeA;IAED;;OAEG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,OAAO,CAAC,CA8BlB;IAED;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBtE;IAED;;OAEG;IACG,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY/D;IAED;;OAEG;IACG,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnE;IAED,OAAO,CAAC,UAAU;CAInB;AAED,QAAA,MAAM,wBAAwB,0BAAiC,CAAC;eACjD,wBAAwB"}
|
|
@@ -28,13 +28,26 @@ class PluginCredentialsService {
|
|
|
28
28
|
try {
|
|
29
29
|
const row = await this.repository().find(pluginId, effectiveUserId);
|
|
30
30
|
if (row?.api_key) {
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
const storedBinding = row.routing_auth_fingerprint;
|
|
32
|
+
const bindingMatches = storedBinding === options.expectedRoutingAuthFingerprint;
|
|
33
|
+
const previousBinding = !bindingMatches &&
|
|
34
|
+
storedBinding !== null &&
|
|
35
|
+
storedBinding === options.previousRoutingAuthFingerprint;
|
|
36
|
+
const trustedLegacyCredential = storedBinding === null && options.allowLegacyUnboundCredential;
|
|
37
|
+
if (!bindingMatches && !previousBinding && !trustedLegacyCredential) {
|
|
36
38
|
return null;
|
|
37
39
|
}
|
|
40
|
+
if (previousBinding) {
|
|
41
|
+
// Same route, older formula: move it forward so a later model
|
|
42
|
+
// catalog change cannot strand the key. The match above already
|
|
43
|
+
// proved the route, so a failed rebind does not withhold the key.
|
|
44
|
+
try {
|
|
45
|
+
await this.repository().rebind(row.id, storedBinding, options.expectedRoutingAuthFingerprint);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
logger.warn('Failed to rebind credential for plugin %s:', pluginId, error);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
38
51
|
if (trustedLegacyCredential) {
|
|
39
52
|
if (!(await this.repository().bindLegacy(row.id, options.expectedRoutingAuthFingerprint))) {
|
|
40
53
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginCredentialsService.js","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,qCAAqC,CAAC,CAAC;AAWnE,MAAM,wBAAwB;IAC5B;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,MAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"pluginCredentialsService.js","sourceRoot":"","sources":["../../src/services/pluginCredentialsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -110,6 +110,15 @@ export declare class PluginService {
|
|
|
110
110
|
* effect when they save it. Generation controls are intentionally excluded.
|
|
111
111
|
*/
|
|
112
112
|
getCredentialRoutingAuthFingerprint(plugin: Plugin, userId?: string): Promise<string>;
|
|
113
|
+
/**
|
|
114
|
+
* `current` leaves the model catalog out, so adding a model keeps saved
|
|
115
|
+
* keys. `previous` is the earlier binding that hashed the whole definition;
|
|
116
|
+
* credentials saved under it stay valid for the same route.
|
|
117
|
+
*/
|
|
118
|
+
getCredentialRoutingAuthFingerprints(plugin: Plugin, userId?: string): Promise<{
|
|
119
|
+
current: string;
|
|
120
|
+
previous: string;
|
|
121
|
+
}>;
|
|
113
122
|
/**
|
|
114
123
|
* Get resolved variable values for a plugin (decrypted, typed).
|
|
115
124
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import { fetchPluginChat, pluginChatProtocol, requestPluginChat, } from '../utils/bedrockMantle.js';
|
|
17
18
|
import fs from 'fs';
|
|
18
19
|
import path from 'path';
|
|
19
20
|
import { createHash } from 'crypto';
|
|
@@ -44,7 +45,7 @@ import { getPersistence } from '../persistence/index.js';
|
|
|
44
45
|
import { createOpenAIResponsesStateScope, createPluginCredentialFingerprint, OPENAI_RESPONSES_INCOMPLETE_REASON_METADATA_KEY, } from '../utils/openAIResponsesAdapter.js';
|
|
45
46
|
import { getPluginConnectionVariableNames } from '../utils/pluginConnectionVariables.js';
|
|
46
47
|
import pluginUsageService from './pluginUsageService.js';
|
|
47
|
-
import { getPluginDefinitionFingerprint, matchesBundledPluginTrustAnchor, } from '../utils/pluginDefinitionTrust.js';
|
|
48
|
+
import { getCredentialBindingDefinitionFingerprint, getPluginDefinitionFingerprint, matchesBundledPluginTrustAnchor, } from '../utils/pluginDefinitionTrust.js';
|
|
48
49
|
import { encryptionService } from './encryptionService.js';
|
|
49
50
|
const logger = createLogger('plugins');
|
|
50
51
|
/**
|
|
@@ -949,9 +950,11 @@ export class PluginService {
|
|
|
949
950
|
(await pluginVariablesService.hasStoredConnectionOverride(plugin.id, userId, plugin.variables, getPluginConnectionVariableNames(plugin)));
|
|
950
951
|
const usesTrustedBundledRouting = this.usesTrustedBundledRouting(plugin);
|
|
951
952
|
const allowTrustedFallback = usesTrustedBundledRouting && !hasHonoredConnectionOverride;
|
|
953
|
+
const bindings = await this.getCredentialRoutingAuthFingerprints(plugin, userId);
|
|
952
954
|
return pluginCredentialsService.getApiKey(plugin.id, plugin.auth.key_env, userId, {
|
|
953
955
|
allowEnvironmentFallback: allowTrustedFallback,
|
|
954
|
-
expectedRoutingAuthFingerprint:
|
|
956
|
+
expectedRoutingAuthFingerprint: bindings.current,
|
|
957
|
+
previousRoutingAuthFingerprint: bindings.previous,
|
|
955
958
|
allowLegacyUnboundCredential: allowTrustedFallback,
|
|
956
959
|
});
|
|
957
960
|
}
|
|
@@ -960,6 +963,15 @@ export class PluginService {
|
|
|
960
963
|
* effect when they save it. Generation controls are intentionally excluded.
|
|
961
964
|
*/
|
|
962
965
|
async getCredentialRoutingAuthFingerprint(plugin, userId) {
|
|
966
|
+
return (await this.getCredentialRoutingAuthFingerprints(plugin, userId))
|
|
967
|
+
.current;
|
|
968
|
+
}
|
|
969
|
+
/**
|
|
970
|
+
* `current` leaves the model catalog out, so adding a model keeps saved
|
|
971
|
+
* keys. `previous` is the earlier binding that hashed the whole definition;
|
|
972
|
+
* credentials saved under it stay valid for the same route.
|
|
973
|
+
*/
|
|
974
|
+
async getCredentialRoutingAuthFingerprints(plugin, userId) {
|
|
963
975
|
const variables = await this.getPluginVariables(plugin, userId);
|
|
964
976
|
const effectiveConnectionValues = Array.from(getPluginConnectionVariableNames(plugin), name => {
|
|
965
977
|
const definition = plugin.variables?.find(candidate => candidate.name === name);
|
|
@@ -978,35 +990,41 @@ export class PluginService {
|
|
|
978
990
|
const effectivePath = sharedDefinition
|
|
979
991
|
? null
|
|
980
992
|
: this.resolveEffectivePluginFilePath(plugin.id);
|
|
981
|
-
let
|
|
993
|
+
let effectiveDefinition = plugin;
|
|
982
994
|
if (effectivePath) {
|
|
983
995
|
try {
|
|
984
|
-
const
|
|
985
|
-
if (this.validatePlugin(
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
getPluginDefinitionFingerprint(effectiveDefinition);
|
|
996
|
+
const sourceDefinition = JSON.parse(readRegularPluginDefinition(effectivePath));
|
|
997
|
+
if (this.validatePlugin(sourceDefinition) &&
|
|
998
|
+
sourceDefinition.id === plugin.id) {
|
|
999
|
+
effectiveDefinition = sourceDefinition;
|
|
989
1000
|
}
|
|
990
1001
|
}
|
|
991
1002
|
catch {
|
|
992
|
-
// Keep the in-memory
|
|
1003
|
+
// Keep the in-memory definition. A missing/invalid source is already
|
|
993
1004
|
// excluded from normal plugin loading and cannot gain trust here.
|
|
994
1005
|
}
|
|
995
1006
|
}
|
|
996
|
-
const
|
|
1007
|
+
const trustedBundledSource = this.usesTrustedBundledRouting(plugin);
|
|
1008
|
+
const routingAuthProjection = getPluginRoutingAuthProjection(plugin);
|
|
1009
|
+
const binding = (effectiveDefinitionFingerprint) => createHash('sha256')
|
|
1010
|
+
.update(JSON.stringify({
|
|
997
1011
|
plugin_id: plugin.id,
|
|
998
1012
|
plugin_type: plugin.type,
|
|
999
|
-
trusted_bundled_source:
|
|
1013
|
+
trusted_bundled_source: trustedBundledSource,
|
|
1000
1014
|
effective_source_path: sharedDefinition
|
|
1001
1015
|
? 'database:plugin_definitions'
|
|
1002
1016
|
: effectivePath
|
|
1003
1017
|
? path.resolve(effectivePath)
|
|
1004
1018
|
: null,
|
|
1005
1019
|
effective_definition_fingerprint: effectiveDefinitionFingerprint,
|
|
1006
|
-
routing_auth_projection:
|
|
1020
|
+
routing_auth_projection: routingAuthProjection,
|
|
1007
1021
|
effective_connection_values: effectiveConnectionValues,
|
|
1008
|
-
})
|
|
1009
|
-
|
|
1022
|
+
}))
|
|
1023
|
+
.digest('hex');
|
|
1024
|
+
return {
|
|
1025
|
+
current: binding(getCredentialBindingDefinitionFingerprint(effectiveDefinition, effectiveConnectionValues)),
|
|
1026
|
+
previous: binding(getPluginDefinitionFingerprint(effectiveDefinition)),
|
|
1027
|
+
};
|
|
1010
1028
|
}
|
|
1011
1029
|
/**
|
|
1012
1030
|
* Get resolved variable values for a plugin (decrypted, typed).
|
|
@@ -1282,6 +1300,8 @@ export class PluginService {
|
|
|
1282
1300
|
const entries = response.data?.data;
|
|
1283
1301
|
if (entries && Array.isArray(entries)) {
|
|
1284
1302
|
const models = entries
|
|
1303
|
+
// Bedrock lists models the account cannot call, marked unavailable.
|
|
1304
|
+
.filter((m) => m?.status !== 'unavailable')
|
|
1285
1305
|
.map((m) => m.id)
|
|
1286
1306
|
.filter((id) => typeof id === 'string');
|
|
1287
1307
|
// Providers that publish a context window are worth remembering: it is
|
|
@@ -1775,14 +1795,14 @@ export class PluginService {
|
|
|
1775
1795
|
Object.assign(headers, payloadHeaders);
|
|
1776
1796
|
const startedAt = Date.now();
|
|
1777
1797
|
try {
|
|
1778
|
-
const response = await providerRequest({
|
|
1779
|
-
url
|
|
1798
|
+
const response = await requestPluginChat(activePlugin, processedEndpoint, model, url => providerRequest({
|
|
1799
|
+
url,
|
|
1780
1800
|
method: 'POST',
|
|
1781
1801
|
json: payload,
|
|
1782
1802
|
headers,
|
|
1783
1803
|
timeoutMs: 60000, // 60 second timeout
|
|
1784
1804
|
signal,
|
|
1785
|
-
});
|
|
1805
|
+
}));
|
|
1786
1806
|
const normalized = convertProviderResponse(activePlugin, response.data, model, apiMode, providerStateScope);
|
|
1787
1807
|
pluginUsageService.record({
|
|
1788
1808
|
userId,
|
|
@@ -1866,7 +1886,8 @@ export class PluginService {
|
|
|
1866
1886
|
const pluginRequest = buildPluginChatPayload(activePlugin, model, messages, options, pluginVars, true, apiMode, providerStateScope);
|
|
1867
1887
|
const payload = pluginRequest.payload;
|
|
1868
1888
|
Object.assign(headers, pluginRequest.headers);
|
|
1869
|
-
if (activePlugin
|
|
1889
|
+
if (pluginChatProtocol(activePlugin, model) !== 'anthropic' &&
|
|
1890
|
+
apiMode !== 'responses') {
|
|
1870
1891
|
// Completion streams otherwise omit usage on OpenAI-compatible servers.
|
|
1871
1892
|
payload.stream_options = { include_usage: true };
|
|
1872
1893
|
}
|
|
@@ -1897,14 +1918,14 @@ export class PluginService {
|
|
|
1897
1918
|
}
|
|
1898
1919
|
};
|
|
1899
1920
|
try {
|
|
1900
|
-
const response = await
|
|
1921
|
+
const response = await fetchPluginChat(activePlugin, processedEndpoint, model, {
|
|
1901
1922
|
method: 'POST',
|
|
1902
1923
|
headers,
|
|
1903
1924
|
body: JSON.stringify(payload),
|
|
1904
1925
|
redirect: 'error',
|
|
1905
1926
|
signal,
|
|
1906
1927
|
});
|
|
1907
|
-
if (activePlugin
|
|
1928
|
+
if (pluginChatProtocol(activePlugin, model) === 'anthropic') {
|
|
1908
1929
|
yield* forward(streamAnthropicResponse(response));
|
|
1909
1930
|
}
|
|
1910
1931
|
else if (apiMode === 'responses') {
|