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.
Files changed (287) hide show
  1. package/README.md +1 -0
  2. package/backend/dist/persistence/extensionTypes.d.ts +2 -0
  3. package/backend/dist/persistence/extensionTypes.d.ts.map +1 -1
  4. package/backend/dist/persistence/extensionTypes.js.map +1 -1
  5. package/backend/dist/persistence/postgresExtensionRepositories.d.ts.map +1 -1
  6. package/backend/dist/persistence/postgresExtensionRepositories.js +6 -0
  7. package/backend/dist/persistence/postgresExtensionRepositories.js.map +1 -1
  8. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  9. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  10. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  11. package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts +9 -0
  12. package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts.map +1 -0
  13. package/backend/dist/persistence/postgresWorkRunThinkMigration.js +39 -0
  14. package/backend/dist/persistence/postgresWorkRunThinkMigration.js.map +1 -0
  15. package/backend/dist/persistence/sqliteExtensionRepositories.d.ts.map +1 -1
  16. package/backend/dist/persistence/sqliteExtensionRepositories.js +7 -0
  17. package/backend/dist/persistence/sqliteExtensionRepositories.js.map +1 -1
  18. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  19. package/backend/dist/persistence/sqliteMigrations.js +20 -0
  20. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  21. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  22. package/backend/dist/persistence/sqliteToPostgresMigration.js +1 -0
  23. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  24. package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
  25. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +3 -2
  26. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
  27. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
  28. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +3 -3
  29. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
  30. package/backend/dist/platform/workPersistence/types.d.ts +5 -0
  31. package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
  32. package/backend/dist/platform/workPersistence/types.js.map +1 -1
  33. package/backend/dist/routes/email.d.ts.map +1 -1
  34. package/backend/dist/routes/email.js +51 -1
  35. package/backend/dist/routes/email.js.map +1 -1
  36. package/backend/dist/routes/tts.d.ts.map +1 -1
  37. package/backend/dist/routes/tts.js +6 -1
  38. package/backend/dist/routes/tts.js.map +1 -1
  39. package/backend/dist/routes/work.d.ts.map +1 -1
  40. package/backend/dist/routes/work.js +17 -2
  41. package/backend/dist/routes/work.js.map +1 -1
  42. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  43. package/backend/dist/services/agentCliService.js +2 -0
  44. package/backend/dist/services/agentCliService.js.map +1 -1
  45. package/backend/dist/services/emailService.d.ts +17 -3
  46. package/backend/dist/services/emailService.d.ts.map +1 -1
  47. package/backend/dist/services/emailService.js +73 -11
  48. package/backend/dist/services/emailService.js.map +1 -1
  49. package/backend/dist/services/followUpService.d.ts +4 -1
  50. package/backend/dist/services/followUpService.d.ts.map +1 -1
  51. package/backend/dist/services/followUpService.js +23 -2
  52. package/backend/dist/services/followUpService.js.map +1 -1
  53. package/backend/dist/services/pluginCredentialsService.d.ts +3 -0
  54. package/backend/dist/services/pluginCredentialsService.d.ts.map +1 -1
  55. package/backend/dist/services/pluginCredentialsService.js +18 -5
  56. package/backend/dist/services/pluginCredentialsService.js.map +1 -1
  57. package/backend/dist/services/pluginService.d.ts +9 -0
  58. package/backend/dist/services/pluginService.d.ts.map +1 -1
  59. package/backend/dist/services/pluginService.js +41 -20
  60. package/backend/dist/services/pluginService.js.map +1 -1
  61. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  62. package/backend/dist/services/workAgentService.js +3 -0
  63. package/backend/dist/services/workAgentService.js.map +1 -1
  64. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  65. package/backend/dist/services/workModelProviderService.js +43 -13
  66. package/backend/dist/services/workModelProviderService.js.map +1 -1
  67. package/backend/dist/services/workRuntimeService.d.ts +5 -0
  68. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  69. package/backend/dist/services/workRuntimeService.js +243 -84
  70. package/backend/dist/services/workRuntimeService.js.map +1 -1
  71. package/backend/dist/services/workTaskService.d.ts +3 -2
  72. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  73. package/backend/dist/services/workTaskService.js +10 -6
  74. package/backend/dist/services/workTaskService.js.map +1 -1
  75. package/backend/dist/types/work.d.ts +3 -0
  76. package/backend/dist/types/work.d.ts.map +1 -1
  77. package/backend/dist/types/work.js.map +1 -1
  78. package/backend/dist/utils/bedrockMantle.d.ts +46 -0
  79. package/backend/dist/utils/bedrockMantle.d.ts.map +1 -0
  80. package/backend/dist/utils/bedrockMantle.js +206 -0
  81. package/backend/dist/utils/bedrockMantle.js.map +1 -0
  82. package/backend/dist/utils/emailMarkdown.js +3 -3
  83. package/backend/dist/utils/emailMarkdown.js.map +1 -1
  84. package/backend/dist/utils/pluginChatAdapter.d.ts +36 -0
  85. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  86. package/backend/dist/utils/pluginChatAdapter.js +122 -47
  87. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  88. package/backend/dist/utils/pluginDefinitionTrust.d.ts +7 -0
  89. package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
  90. package/backend/dist/utils/pluginDefinitionTrust.js +52 -3
  91. package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
  92. package/backend/dist/utils/pluginValidation.d.ts +1 -1
  93. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  94. package/backend/dist/utils/pluginValidation.js +11 -0
  95. package/backend/dist/utils/pluginValidation.js.map +1 -1
  96. package/backend/package.json +3 -3
  97. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  98. package/frontend/dist/artifact-runtime/babel.js +170 -170
  99. package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
  100. package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
  101. package/frontend/dist/artifact-runtime/mathjs.js +1 -1
  102. package/frontend/dist/artifact-runtime/mermaid.js +366 -366
  103. package/frontend/dist/artifact-runtime/plotly.js +1 -1
  104. package/frontend/dist/artifact-runtime/react.js +3 -3
  105. package/frontend/dist/assets/index-DLfU_qNT.js +75 -0
  106. package/frontend/dist/assets/index-DtS3qhdq.css +2 -0
  107. package/frontend/dist/assets/{markdown-math-D1Bj3pDB.css → markdown-math-DzFXvcrH.css} +1 -1
  108. package/frontend/dist/assets/xterm-B1njb2Cr.css +1 -0
  109. package/frontend/dist/index.html +36 -35
  110. package/frontend/dist/js/ArtifactContainer-BjzltfdU.js +1 -0
  111. package/frontend/dist/js/{ArtifactDemoPage-CCh7lQEw.js → ArtifactDemoPage-DWua6xj9.js} +1 -1
  112. package/frontend/dist/js/{ArtifactSandboxFrame-D1ntMsqe.js → ArtifactSandboxFrame-CR9ghP0A.js} +1 -1
  113. package/frontend/dist/js/ArtifactSlideOutPanel-DX2nL3AS.js +1 -0
  114. package/frontend/dist/js/AutomationModal-DZe-C2jN.js +1 -0
  115. package/frontend/dist/js/AutomationsPage-CrCcnTyk.js +1 -0
  116. package/frontend/dist/js/AvatarUpload-nPS0QHod.js +1 -0
  117. package/frontend/dist/js/Button-Dh2UJA-B.js +1 -0
  118. package/frontend/dist/js/CalendarPage-D2WiWglM.js +1 -0
  119. package/frontend/dist/js/ChannelsPage-COp2T8FQ.js +1 -0
  120. package/frontend/dist/js/ChatPage-CUfAlpdt.js +14 -0
  121. package/frontend/dist/js/ConnectModels-emc3dv4A.js +1 -0
  122. package/frontend/dist/js/EvaluationsPage-CbyeDkz_.js +2 -0
  123. package/frontend/dist/js/FirstTimeSetup-C4ffQRMN.js +1 -0
  124. package/frontend/dist/js/GalleryPage-D4Ci_3dv.js +1 -0
  125. package/frontend/dist/js/HomePage-C3IhEERN.js +1 -0
  126. package/frontend/dist/js/LanguageSwitcher-BQqDJPwm.js +1 -0
  127. package/frontend/dist/js/{Logo-D1o5k_wt.js → Logo-DnfVtjgj.js} +1 -1
  128. package/frontend/dist/js/{LogoMark-lnmc98jv.js → LogoMark-BzObGdA9.js} +1 -1
  129. package/frontend/dist/js/ModelManagerModals-DhY8Rme6.js +1 -0
  130. package/frontend/dist/js/NotesPage-j812I1BN.js +3 -0
  131. package/frontend/dist/js/{OptimizedSyntaxHighlighter-CzzV6ONG.js → OptimizedSyntaxHighlighter-B0g8cxZQ.js} +1 -1
  132. package/frontend/dist/js/OptimizedSyntaxHighlighter-B_BbHeO1.js +1 -0
  133. package/frontend/dist/js/PasswordStrengthMeter-BSEtQBJp.js +1 -0
  134. package/frontend/dist/js/PersonasPage--YWoThqF.js +13 -0
  135. package/frontend/dist/js/PluginUsagePage-CZiMdmjI.js +1 -0
  136. package/frontend/dist/js/{RichMessageContent-OGBLO64L.js → RichMessageContent-BLI0hhzR.js} +3 -3
  137. package/frontend/dist/js/RichMessageContent-BXv5baJ_.js +1 -0
  138. package/frontend/dist/js/SettingsModal-C6aVzSI-.js +19 -0
  139. package/frontend/dist/js/SettingsToggle-CkLLtFbz.js +1 -0
  140. package/frontend/dist/js/ShareDialog-DQskc17d.js +1 -0
  141. package/frontend/dist/js/StrandsPage-DENhVKcz.js +1 -0
  142. package/frontend/dist/js/SystemPage-C86ypXG4.js +1 -0
  143. package/frontend/dist/js/{TurnstileWidget-CVepEMEQ.js → TurnstileWidget-tI50c7Kc.js} +1 -1
  144. package/frontend/dist/js/{UserManagementPage-2yHv89ZA.js → UserManagementPage-UvPjA9RP.js} +1 -1
  145. package/frontend/dist/js/UserManagementPanel-D1CS0KPn.js +1 -0
  146. package/frontend/dist/js/WhatsNewModal-B31A_UQY.js +1 -0
  147. package/frontend/dist/js/WorkPage-DEXBL5J7.js +7 -0
  148. package/frontend/dist/js/api-DRAKhdz7.js +1 -0
  149. package/frontend/dist/js/{api-CnJYEbRz.js → api-Dcz1G4Ib.js} +4 -2
  150. package/frontend/dist/js/{appNavigation-BXNRwrN-.js → appNavigation-C5A9BF_G.js} +1 -1
  151. package/frontend/dist/js/appStore-0_qlwS8f.js +2 -0
  152. package/frontend/dist/js/appVersion-D5lk_2zb.js +1 -0
  153. package/frontend/dist/js/ar-BZntyucf.js +2 -0
  154. package/frontend/dist/js/authStore-C4dzH1NY.js +1 -0
  155. package/frontend/dist/js/{authStore-DwaPsICv.js → authStore-COgKeTRv.js} +3 -3
  156. package/frontend/dist/js/bn-BDCaFQu-.js +2 -0
  157. package/frontend/dist/js/chatStore-CVTbkZyb.js +3 -0
  158. package/frontend/dist/js/{client-DQy1iGRM.js → client-jaxZzn-I.js} +2 -2
  159. package/frontend/dist/js/{composerStyles-C83jssgZ.js → composerStyles-BEx0XAp6.js} +1 -1
  160. package/frontend/dist/js/{config-BbrsmDn2.js → config-Da1yh9sC.js} +1 -1
  161. package/frontend/dist/js/confirmStore-CKkUtP9c.js +1 -0
  162. package/frontend/dist/js/cs-BCmN--jQ.js +2 -0
  163. package/frontend/dist/js/da-B895dAyV.js +2 -0
  164. package/frontend/dist/js/de-B0ZhC0dm.js +2 -0
  165. package/frontend/dist/js/es-D7eaw4_W.js +2 -0
  166. package/frontend/dist/js/{evaluationsApi-KVsH7yXe.js → evaluationsApi-BwaxBVpl.js} +1 -1
  167. package/frontend/dist/js/fr-DsB0gLW4.js +2 -0
  168. package/frontend/dist/js/hi-CLeU3ung.js +2 -0
  169. package/frontend/dist/js/id-Cdq6tOTi.js +2 -0
  170. package/frontend/dist/js/is-DJ1tHaAT.js +2 -0
  171. package/frontend/dist/js/it-9K1R4CeT.js +2 -0
  172. package/frontend/dist/js/ja-BYP_3M5M.js +2 -0
  173. package/frontend/dist/js/ko-CNtjlaDm.js +2 -0
  174. package/frontend/dist/js/liveAnnouncerStore-B6mS-JWC.js +1 -0
  175. package/frontend/dist/js/{markdown-CZ1tYEW8.js → markdown-DU84620G.js} +1 -1
  176. package/frontend/dist/js/{markdown-core-KjS96SYW.js → markdown-core-Cyql92Hg.js} +1 -1
  177. package/frontend/dist/js/{markdown-html-DQEwrWcf.js → markdown-html-CUc2fCgY.js} +1 -1
  178. package/frontend/dist/js/{markdown-math-CKi32S5d.js → markdown-math-DxPfMKvO.js} +1 -1
  179. package/frontend/dist/js/{markdownHtml-lrXhxBhK.js → markdownHtml-KhS0cFNH.js} +1 -1
  180. package/frontend/dist/js/markdownMath-CsfRQAcz.js +1 -0
  181. package/frontend/dist/js/messageCodeStyles-D3cWF9XO.js +2 -0
  182. package/frontend/dist/js/ms-A_IVO_qt.js +2 -0
  183. package/frontend/dist/js/nl-CrKWO3ea.js +2 -0
  184. package/frontend/dist/js/pl-BrpSuyDP.js +2 -0
  185. package/frontend/dist/js/pt-BHbpB5BM.js +2 -0
  186. package/frontend/dist/js/react-vendor-CR5VJ85Q.js +9 -0
  187. package/frontend/dist/js/{router-vendor-HZm4FR0A.js → router-vendor-DqMnEJWK.js} +1 -1
  188. package/frontend/dist/js/ru-DzLsS9zY.js +2 -0
  189. package/frontend/dist/js/{standalone-DbyFjvTU.js → standalone-D_lg5NC9.js} +1 -1
  190. package/frontend/dist/js/{strandsApi-SeoX_IsY.js → strandsApi-COxSPh_5.js} +1 -1
  191. package/frontend/dist/js/sv-VU2CjzNj.js +2 -0
  192. package/frontend/dist/js/{syntax-highlight-DNc3FFCa.js → syntax-highlight-D7dQ5s5-.js} +1 -1
  193. package/frontend/dist/js/{teamEventStream-CZYdpbVw.js → teamEventStream-RNJYm84u.js} +1 -1
  194. package/frontend/dist/js/th-DV2hNXXc.js +2 -0
  195. package/frontend/dist/js/tr-DvVZ9jxF.js +2 -0
  196. package/frontend/dist/js/ui-CI0OdG9q.js +2 -0
  197. package/frontend/dist/js/ui-vendor-6S05F84J.js +1 -0
  198. package/frontend/dist/js/uk-MFFDRo2m.js +2 -0
  199. package/frontend/dist/js/useChat-BSkqxHnH.js +13 -0
  200. package/frontend/dist/js/{useDialogFocus-DbW0oA9H.js → useDialogFocus-zSGHkpE4.js} +1 -1
  201. package/frontend/dist/js/useDictation-D9whH12W.js +1 -0
  202. package/frontend/dist/js/{useQuery-hWmQjdLu.js → useQuery-BTKpXudI.js} +1 -1
  203. package/frontend/dist/js/{useTranslation-UHEMTEHd.js → useTranslation-Boi0fB1B.js} +1 -1
  204. package/frontend/dist/js/{utils-DaXuqmQm.js → utils-B-Bhh1pF.js} +1 -1
  205. package/frontend/dist/js/{utils-vendor-CvhktdS_.js → utils-vendor-DPJG-EG_.js} +1 -1
  206. package/frontend/dist/js/vi-CfZ-U8Cw.js +2 -0
  207. package/frontend/dist/js/{work-CdbmBok5.js → work-C7MYlv5S.js} +1 -1
  208. package/frontend/dist/js/{workModels-BM2Zyiba.js → workAnnouncements-CAsI8P7c.js} +1 -1
  209. package/frontend/dist/js/workApi-BJfbaV6k.js +1 -0
  210. package/frontend/dist/js/{workApi-BqkCbCLQ.js → workApi-Ck8nTlJn.js} +1 -1
  211. package/frontend/dist/js/zh-CTl_raYa.js +2 -0
  212. package/package.json +5 -4
  213. package/plugins/anthropic.json +3 -1
  214. package/plugins/bedrock.json +86 -0
  215. package/plugins/codex-oauth.json +1 -0
  216. package/plugins/openrouter.json +2 -0
  217. package/frontend/dist/assets/index-CJHJxwjA.js +0 -68
  218. package/frontend/dist/assets/index-DSHdOZRK.css +0 -1
  219. package/frontend/dist/assets/xterm-B8QFf3JU.css +0 -1
  220. package/frontend/dist/js/ArtifactContainer-BWTN4QSW.js +0 -1
  221. package/frontend/dist/js/ArtifactSlideOutPanel-zPEBPoMh.js +0 -1
  222. package/frontend/dist/js/AutomationModal-DN98Eyym.js +0 -1
  223. package/frontend/dist/js/AutomationsPage-3DBwRKME.js +0 -1
  224. package/frontend/dist/js/AvatarUpload-D5_wGUb5.js +0 -1
  225. package/frontend/dist/js/Button-CTwi9N3d.js +0 -1
  226. package/frontend/dist/js/CalendarPage-CUbGH3Tl.js +0 -1
  227. package/frontend/dist/js/ChannelsPage-B1hC1rRS.js +0 -1
  228. package/frontend/dist/js/ChatPage-B7mEg5z2.js +0 -14
  229. package/frontend/dist/js/ConnectModels-Cby89_Mc.js +0 -1
  230. package/frontend/dist/js/EvaluationsPage-BaND2qQM.js +0 -2
  231. package/frontend/dist/js/FirstTimeSetup-D8ktLJKO.js +0 -1
  232. package/frontend/dist/js/GalleryPage-DXQLoU0l.js +0 -1
  233. package/frontend/dist/js/HomePage-WVug1vWc.js +0 -1
  234. package/frontend/dist/js/LanguageSwitcher-DHHTrDBR.js +0 -1
  235. package/frontend/dist/js/ModelManagerModals-BPALNMDH.js +0 -1
  236. package/frontend/dist/js/NotesPage-CRzX2Wa8.js +0 -3
  237. package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +0 -1
  238. package/frontend/dist/js/PasswordStrengthMeter-BGrHWG0B.js +0 -1
  239. package/frontend/dist/js/PersonasPage-BRU9151f.js +0 -13
  240. package/frontend/dist/js/PluginUsagePage-BlhYZq1l.js +0 -1
  241. package/frontend/dist/js/RichMessageContent-FiuPwDG7.js +0 -1
  242. package/frontend/dist/js/SettingsModal-sLkxG-lW.js +0 -19
  243. package/frontend/dist/js/SettingsToggle-Du2FSUPO.js +0 -1
  244. package/frontend/dist/js/ShareDialog-DEhxnLfn.js +0 -1
  245. package/frontend/dist/js/StrandsPage-DWnUKSb0.js +0 -1
  246. package/frontend/dist/js/SystemPage-cqq8lSxB.js +0 -1
  247. package/frontend/dist/js/UserManagementPanel-NZmoTk6V.js +0 -1
  248. package/frontend/dist/js/WhatsNewModal-5SwIdmU1.js +0 -1
  249. package/frontend/dist/js/WorkPage-BIuaVNEC.js +0 -8
  250. package/frontend/dist/js/api-C2k0OqEk.js +0 -1
  251. package/frontend/dist/js/appStore-DULGAJnH.js +0 -2
  252. package/frontend/dist/js/appVersion-DooVk4c_.js +0 -1
  253. package/frontend/dist/js/ar-Bp843BgG.js +0 -2
  254. package/frontend/dist/js/authStore-CaLdzyAr.js +0 -1
  255. package/frontend/dist/js/bn-DmSGkklY.js +0 -2
  256. package/frontend/dist/js/chatStore-j8bGpkeT.js +0 -3
  257. package/frontend/dist/js/cs-BcauIRyG.js +0 -2
  258. package/frontend/dist/js/da-CJ14DPJ_.js +0 -2
  259. package/frontend/dist/js/de-ajswyAhq.js +0 -2
  260. package/frontend/dist/js/es-rlf8FsMZ.js +0 -2
  261. package/frontend/dist/js/fr-BwkM1wie.js +0 -2
  262. package/frontend/dist/js/goober.modern-BaHbaW3_.js +0 -1
  263. package/frontend/dist/js/hi-B3eId9-I.js +0 -2
  264. package/frontend/dist/js/id-BcgPFJh2.js +0 -2
  265. package/frontend/dist/js/is-Crvd3K7f.js +0 -2
  266. package/frontend/dist/js/it-DrLx24hb.js +0 -2
  267. package/frontend/dist/js/ja-DZMcf-oB.js +0 -2
  268. package/frontend/dist/js/ko-Cm0NiOE8.js +0 -2
  269. package/frontend/dist/js/markdownMath-B0BpyFBS.js +0 -1
  270. package/frontend/dist/js/messageCodeStyles-CDnMKLgo.js +0 -2
  271. package/frontend/dist/js/ms-ymaG59hx.js +0 -2
  272. package/frontend/dist/js/nl-CdIdeA9d.js +0 -2
  273. package/frontend/dist/js/pl-CuO0b605.js +0 -2
  274. package/frontend/dist/js/pt-Vy413FG5.js +0 -2
  275. package/frontend/dist/js/react-vendor-wiHys0m2.js +0 -9
  276. package/frontend/dist/js/ru-D0zOEVrL.js +0 -2
  277. package/frontend/dist/js/sv-JoS4krpk.js +0 -2
  278. package/frontend/dist/js/th-afhelaqR.js +0 -2
  279. package/frontend/dist/js/tr-BhSy9UrR.js +0 -2
  280. package/frontend/dist/js/ui-CW3gJ4Kl.js +0 -2
  281. package/frontend/dist/js/ui-vendor-_fvLnmDx.js +0 -1
  282. package/frontend/dist/js/uk-CibXypnZ.js +0 -2
  283. package/frontend/dist/js/useChat-CBySqLqR.js +0 -10
  284. package/frontend/dist/js/useDictation-DEAp64eu.js +0 -1
  285. package/frontend/dist/js/vi-Cg0WKHtb.js +0 -2
  286. package/frontend/dist/js/workApi-gpxrWwCm.js +0 -1
  287. 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;AAEnF,MAAM,4BAA4B,GAAsB;IACtD,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;CACjB,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,gBAAwB;IAExB,OAAO,oDAAoD,eAAe;;SAEnE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;;cAE9B,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;;aAEzC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI;aACjB,IAAI,EAAE;aACN,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;aACvC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;aACzB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;aAC/B,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB;YAAE,SAAS;QACjE,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,WAAW,CAAC,MAAM,IAAI,eAAe;YAAE,MAAM;IACnD,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AA4CD,MAAM,OAAO,eAAe;IAQ1B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,GAAG,GAAG,IAAI,CAAC,GAAG,EACd,MAAM,GAAG,OAAO,GACY;QAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,2BAA2B,CAC/B,SAAiB,EACjB,MAAM,GAAG,SAAS;QAElB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,CACtC,CAAC;QACF,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,CAAC;aACtC,OAAO,EAAE;aACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC;aACjC,OAAO,EAAE;aACT,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtC,SAAS,EACT,OAAO,EACP,QAAQ,CAAC,OAAO,EAChB,aAAa,CAAC,OAAO,EACrB,MAAM,CACP,CAAC;YACF,OAAO,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,SAAiB,EACjB,OAAoB,EACpB,WAAmB,EACnB,gBAAwB,EACxB,MAAc;QAEd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CACrE,OAAO,CAAC,KAAK,EACb,MAAM,EACN,4BAA4B,EAC5B,8BAA8B,CAAC,OAAO,CAAC,CACxC,CAAC;QACF,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAClE,MAAM,CAAC,eAAe,EACtB;gBACE;oBACE,EAAE,EAAE,aAAa,SAAS,EAAE;oBAC5B,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;aACF;YACD,gEAAgE;YAChE,2CAA2C;YAC3C,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EACzC,MAAM,EACN,MAAM,CAAC,YAAY,CAAC,EAAE,CACvB,CAAC;YAEF,OAAO,IAAI,CAAC,qBAAqB,CAAC,6BAA6B,CAC7D,cAAc,CACf,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC;YACzD,KAAK,EAAE,MAAM,CAAC,eAAe;YAC7B,MAAM;YACN,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE;gBACP,GAAG,aAAa;gBAChB,WAAW,EAAE,4BAA4B,CAAC,WAAW;gBACrD,WAAW,EAAE,4BAA4B,CAAC,WAAW;aACtD;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;CACF"}
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,CAoCxB;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,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"}
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 bindingMatches = row.routing_auth_fingerprint ===
32
- options.expectedRoutingAuthFingerprint;
33
- const trustedLegacyCredential = row.routing_auth_fingerprint === null &&
34
- options.allowLegacyUnboundCredential;
35
- if (!bindingMatches && !trustedLegacyCredential) {
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":"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"}
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,OAKC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACpE,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;gBACjB,MAAM,aAAa,GAAG,GAAG,CAAC,wBAAwB,CAAC;gBACnD,MAAM,cAAc,GAClB,aAAa,KAAK,OAAO,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,eAAe,GACnB,CAAC,cAAc;oBACf,aAAa,KAAK,IAAI;oBACtB,aAAa,KAAK,OAAO,CAAC,8BAA8B,CAAC;gBAC3D,MAAM,uBAAuB,GAC3B,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC,4BAA4B,CAAC;gBACjE,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACpE,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,eAAe,EAAE,CAAC;oBACpB,8DAA8D;oBAC9D,gEAAgE;oBAChE,kEAAkE;oBAClE,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAC5B,GAAG,CAAC,EAAE,EACN,aAAa,EACb,OAAO,CAAC,8BAA8B,CACvC,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,IAAI,CACT,4CAA4C,EAC5C,QAAQ,EACR,KAAK,CACN,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,UAAU,CAClC,GAAG,CAAC,EAAE,EACN,OAAO,CAAC,8BAA8B,CACvC,CAAC,EACF,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,sBAAsB;gBACtB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5D,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,YAAY,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,MAAc,EACd,MAA0B,EAC1B,OAKC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,YAAY;YAAE,OAAO,YAAY,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,wBAAwB;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAe;QAOlC,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAEjE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBACjC,UAAU,EAAE,GAAG,CAAC,UAAU;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,MAAc,EACd,MAA0B,EAC1B,sBAA8B;QAE9B,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAC5C,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;gBAC7B,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,UAAU,EAAE;gBAChC,OAAO,EAAE,eAAe;gBACxB,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,YAAY;gBACrB,wBAAwB,EAAE,sBAAsB;gBAChD,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,GAAG;gBACvC,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,CACV,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,eAAe,QAAQ,WAAW,eAAe,GAAG,CAC5F,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,MAAe;QAClD,MAAM,eAAe,GAAG,MAAM,IAAI,SAAS,CAAC;QAE5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC1E,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CACV,8BAA8B,QAAQ,WAAW,eAAe,GAAG,CACpE,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,MAAc;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,6CAA6C,MAAM,GAAG,EACtD,KAAK,CACN,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAAC,QAAgB;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,sCAAsC,QAAQ,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,+CAA+C,QAAQ,GAAG,EAC1D,KAAK,CACN,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,OAAO,cAAc,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,UAAU;aAC7D,iBAAiB,CAAC;IACvB,CAAC;CACF;AAED,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAChE,eAAe,wBAAwB,CAAC"}
@@ -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":"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"}
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: await this.getCredentialRoutingAuthFingerprint(plugin, userId),
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 effectiveDefinitionFingerprint = getPluginDefinitionFingerprint(plugin);
993
+ let effectiveDefinition = plugin;
982
994
  if (effectivePath) {
983
995
  try {
984
- const effectiveDefinition = JSON.parse(readRegularPluginDefinition(effectivePath));
985
- if (this.validatePlugin(effectiveDefinition) &&
986
- effectiveDefinition.id === plugin.id) {
987
- effectiveDefinitionFingerprint =
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 fingerprint. A missing/invalid source is already
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 fingerprintInput = JSON.stringify({
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: this.usesTrustedBundledRouting(plugin),
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: getPluginRoutingAuthProjection(plugin),
1020
+ routing_auth_projection: routingAuthProjection,
1007
1021
  effective_connection_values: effectiveConnectionValues,
1008
- });
1009
- return createHash('sha256').update(fingerprintInput).digest('hex');
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: processedEndpoint,
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.id !== 'anthropic' && apiMode !== 'responses') {
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 fetch(processedEndpoint, {
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.id === 'anthropic') {
1928
+ if (pluginChatProtocol(activePlugin, model) === 'anthropic') {
1908
1929
  yield* forward(streamAnthropicResponse(response));
1909
1930
  }
1910
1931
  else if (apiMode === 'responses') {