libre-webui 0.23.0 → 0.24.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 (192) hide show
  1. package/backend/dist/index.d.ts.map +1 -1
  2. package/backend/dist/index.js +2 -0
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/routes/auth.d.ts.map +1 -1
  5. package/backend/dist/routes/auth.js +20 -3
  6. package/backend/dist/routes/auth.js.map +1 -1
  7. package/backend/dist/routes/chat.d.ts.map +1 -1
  8. package/backend/dist/routes/chat.js +93 -1
  9. package/backend/dist/routes/chat.js.map +1 -1
  10. package/backend/dist/routes/ollama.d.ts.map +1 -1
  11. package/backend/dist/routes/ollama.js +48 -1
  12. package/backend/dist/routes/ollama.js.map +1 -1
  13. package/backend/dist/services/apiTokenService.d.ts.map +1 -1
  14. package/backend/dist/services/apiTokenService.js +1 -0
  15. package/backend/dist/services/apiTokenService.js.map +1 -1
  16. package/backend/dist/services/chatGenerationService.d.ts +11 -1
  17. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  18. package/backend/dist/services/chatGenerationService.js +22 -2
  19. package/backend/dist/services/chatGenerationService.js.map +1 -1
  20. package/backend/dist/services/chatService.d.ts +6 -0
  21. package/backend/dist/services/chatService.d.ts.map +1 -1
  22. package/backend/dist/services/chatService.js +51 -1
  23. package/backend/dist/services/chatService.js.map +1 -1
  24. package/backend/dist/services/contextCompactionService.d.ts +31 -0
  25. package/backend/dist/services/contextCompactionService.d.ts.map +1 -0
  26. package/backend/dist/services/contextCompactionService.js +185 -0
  27. package/backend/dist/services/contextCompactionService.js.map +1 -0
  28. package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
  29. package/backend/dist/services/durableChatGenerationService.js +114 -10
  30. package/backend/dist/services/durableChatGenerationService.js.map +1 -1
  31. package/backend/dist/services/followUpService.d.ts.map +1 -1
  32. package/backend/dist/services/followUpService.js +8 -2
  33. package/backend/dist/services/followUpService.js.map +1 -1
  34. package/backend/dist/services/modelVisibilityService.d.ts +45 -0
  35. package/backend/dist/services/modelVisibilityService.d.ts.map +1 -0
  36. package/backend/dist/services/modelVisibilityService.js +215 -0
  37. package/backend/dist/services/modelVisibilityService.js.map +1 -0
  38. package/backend/dist/services/ollamaService.d.ts +16 -1
  39. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  40. package/backend/dist/services/ollamaService.js +47 -13
  41. package/backend/dist/services/ollamaService.js.map +1 -1
  42. package/backend/dist/services/pluginService.d.ts +4 -0
  43. package/backend/dist/services/pluginService.d.ts.map +1 -1
  44. package/backend/dist/services/pluginService.js +76 -13
  45. package/backend/dist/services/pluginService.js.map +1 -1
  46. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  47. package/backend/dist/services/titleGenerationService.js +20 -2
  48. package/backend/dist/services/titleGenerationService.js.map +1 -1
  49. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  50. package/backend/dist/services/workAgentService.js +22 -0
  51. package/backend/dist/services/workAgentService.js.map +1 -1
  52. package/backend/dist/services/workRuntimeService.d.ts +11 -0
  53. package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
  54. package/backend/dist/services/workRuntimeService.js +59 -22
  55. package/backend/dist/services/workRuntimeService.js.map +1 -1
  56. package/backend/dist/types/index.d.ts +16 -2
  57. package/backend/dist/types/index.d.ts.map +1 -1
  58. package/backend/dist/types/index.js.map +1 -1
  59. package/backend/dist/utils/ollamaModelDefaults.d.ts +10 -0
  60. package/backend/dist/utils/ollamaModelDefaults.d.ts.map +1 -1
  61. package/backend/dist/utils/ollamaModelDefaults.js +19 -1
  62. package/backend/dist/utils/ollamaModelDefaults.js.map +1 -1
  63. package/backend/dist/utils/openAIResponsesAdapter.d.ts +2 -0
  64. package/backend/dist/utils/openAIResponsesAdapter.d.ts.map +1 -1
  65. package/backend/dist/utils/openAIResponsesAdapter.js +3 -0
  66. package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
  67. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  68. package/backend/dist/utils/pluginChatAdapter.js +29 -2
  69. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  70. package/backend/dist/utils/pluginModelCatalog.d.ts +30 -0
  71. package/backend/dist/utils/pluginModelCatalog.d.ts.map +1 -0
  72. package/backend/dist/utils/pluginModelCatalog.js +129 -0
  73. package/backend/dist/utils/pluginModelCatalog.js.map +1 -0
  74. package/backend/dist/utils/pluginStreamAdapter.d.ts +12 -1
  75. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
  76. package/backend/dist/utils/pluginStreamAdapter.js +32 -2
  77. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
  78. package/backend/dist/utils/pluginStreaming.d.ts +10 -0
  79. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
  80. package/backend/dist/utils/pluginStreaming.js.map +1 -1
  81. package/backend/dist/utils/thinkingOptions.d.ts +48 -0
  82. package/backend/dist/utils/thinkingOptions.d.ts.map +1 -0
  83. package/backend/dist/utils/thinkingOptions.js +104 -0
  84. package/backend/dist/utils/thinkingOptions.js.map +1 -0
  85. package/backend/package.json +3 -3
  86. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  87. package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
  88. package/frontend/dist/artifact-runtime/papaparse.js +5 -5
  89. package/frontend/dist/assets/index-BlTbxYPP.js +33 -0
  90. package/frontend/dist/assets/index-CbiWSGOj.css +1 -0
  91. package/frontend/dist/assets/{markdown-math-ClTedVi7.css → markdown-math-Ddr6Z9Sf.css} +1 -1
  92. package/frontend/dist/index.html +14 -14
  93. package/frontend/dist/js/{ArtifactContainer-CigyGLnW.js → ArtifactContainer-C-n1vPsA.js} +1 -1
  94. package/frontend/dist/js/{ArtifactDemoPage-CITpRQXa.js → ArtifactDemoPage-TONeQvof.js} +1 -1
  95. package/frontend/dist/js/{ArtifactSandboxFrame-C8_7sKm1.js → ArtifactSandboxFrame-CV2XXu_t.js} +2 -2
  96. package/frontend/dist/js/{ArtifactSlideOutPanel-D1f9zUZN.js → ArtifactSlideOutPanel-2exw7YqL.js} +1 -1
  97. package/frontend/dist/js/{Button-BV44cTnj.js → Button-BPf_pOxH.js} +1 -1
  98. package/frontend/dist/js/ChatPage-wnyG_TyC.js +23 -0
  99. package/frontend/dist/js/{FirstTimeSetup-DwvqU8Jk.js → FirstTimeSetup-smhj0X6o.js} +1 -1
  100. package/frontend/dist/js/{GalleryPage-CFU6YW9r.js → GalleryPage-BZfeWlBg.js} +1 -1
  101. package/frontend/dist/js/{HomePage-CEoZABYG.js → HomePage-gf4GgI6z.js} +1 -1
  102. package/frontend/dist/js/{LibreClawPage-VV4sD4-v.js → LibreClawPage-CRKei1MM.js} +1 -1
  103. package/frontend/dist/js/{ModelManagerModals-CZAWUxjI.js → ModelManagerModals-D0amaOnl.js} +1 -1
  104. package/frontend/dist/js/ModelSelector-C5Tn6y0p.js +1 -0
  105. package/frontend/dist/js/{ModelsPage-Ce41crA_.js → ModelsPage-Rbags4Xq.js} +2 -2
  106. package/frontend/dist/js/{NotesPage-BV08Gh2X.js → NotesPage-9NR9HZZ8.js} +1 -1
  107. package/frontend/dist/js/{OptimizedSyntaxHighlighter-XwqZEoTf.js → OptimizedSyntaxHighlighter-Dz7D1LPB.js} +1 -1
  108. package/frontend/dist/js/{PersonasPage-CSpK5FvR.js → PersonasPage-DYP67Qiy.js} +1 -1
  109. package/frontend/dist/js/{PluginUsagePage-B9YPhusn.js → PluginUsagePage-QtCgymRu.js} +1 -1
  110. package/frontend/dist/js/RichMessageContent-Bxi_u0gC.js +3 -0
  111. package/frontend/dist/js/SettingsModal-B4RelkLP.js +1 -0
  112. package/frontend/dist/js/{SettingsToggle-WTa0rgvY.js → SettingsToggle-woG_WebF.js} +1 -1
  113. package/frontend/dist/js/{SystemPage-7KbZlMb_.js → SystemPage-xFSTYdBS.js} +1 -1
  114. package/frontend/dist/js/UserManagementPage-Cp430WCP.js +1 -0
  115. package/frontend/dist/js/{WorkPage-B3cuSSwH.js → WorkPage-DFES41Qm.js} +4 -4
  116. package/frontend/dist/js/{api-DSzsasYT.js → api-DUUxxx_B.js} +2 -2
  117. package/frontend/dist/js/{appStore-CYhqdjge.js → appStore-CJtomipz.js} +2 -2
  118. package/frontend/dist/js/ar-DMH3qbt6.js +2 -0
  119. package/frontend/dist/js/authStore-BckFDL70.js +4 -0
  120. package/frontend/dist/js/bn-CGDX8khx.js +2 -0
  121. package/frontend/dist/js/chatStore-DK-_wd-j.js +3 -0
  122. package/frontend/dist/js/{config-EEx_rELa.js → config-CNVNpf_q.js} +1 -1
  123. package/frontend/dist/js/cs-CJLgUk3m.js +2 -0
  124. package/frontend/dist/js/da-DnZMnCVM.js +2 -0
  125. package/frontend/dist/js/de-CWpguVQ5.js +2 -0
  126. package/frontend/dist/js/es-DVU1vjm0.js +2 -0
  127. package/frontend/dist/js/{estree-Dc6SMAYy.js → estree-D1TYSBcf.js} +1 -1
  128. package/frontend/dist/js/fr-pWnSnypD.js +2 -0
  129. package/frontend/dist/js/hi-B6xDfxA5.js +2 -0
  130. package/frontend/dist/js/{html-Bax5_Bzw.js → html-Dmddj0zf.js} +1 -1
  131. package/frontend/dist/js/id-BThSTUAG.js +2 -0
  132. package/frontend/dist/js/is-BOohDFie.js +2 -0
  133. package/frontend/dist/js/it-BdRArcCC.js +2 -0
  134. package/frontend/dist/js/ja-5Cq35sMr.js +2 -0
  135. package/frontend/dist/js/ko-BlzNRtpQ.js +2 -0
  136. package/frontend/dist/js/{markdown-DxaneQad.js → markdown-Bl_LsHEk.js} +1 -1
  137. package/frontend/dist/js/{messageCodeStyles-CxXrl4jD.js → messageCodeStyles-CgKxn4tN.js} +1 -1
  138. package/frontend/dist/js/ms-CtGeurkZ.js +2 -0
  139. package/frontend/dist/js/nl-MKPHGjVF.js +2 -0
  140. package/frontend/dist/js/pl-BwBrqCey.js +2 -0
  141. package/frontend/dist/js/pt-CKzoHWBB.js +2 -0
  142. package/frontend/dist/js/ru-BQC4jh0Y.js +2 -0
  143. package/frontend/dist/js/{standalone-CCpjftAD.js → standalone-BWau8hEE.js} +1 -1
  144. package/frontend/dist/js/sv-Cm0qXxzM.js +2 -0
  145. package/frontend/dist/js/th-DUPbiRI2.js +2 -0
  146. package/frontend/dist/js/thinking-DwlkTfPX.js +1 -0
  147. package/frontend/dist/js/tr-AsFu_Br5.js +2 -0
  148. package/frontend/dist/js/{typescript-DtQEF6kq.js → typescript-DxGn3Yn-.js} +1 -1
  149. package/frontend/dist/js/ui-jlx9WA5A.js +2 -0
  150. package/frontend/dist/js/uk-DrMMOZ17.js +2 -0
  151. package/frontend/dist/js/{useTranslation-C3ei3mJq.js → useTranslation-Bho4HCyg.js} +1 -1
  152. package/frontend/dist/js/{utils-CuC1beTY.js → utils-D9W1Lnkn.js} +1 -1
  153. package/frontend/dist/js/{utils-vendor-BBa8OxtB.js → utils-vendor-DWh39_3x.js} +1 -1
  154. package/frontend/dist/js/vi-BgRaIrQC.js +2 -0
  155. package/frontend/dist/js/{workApi-vRuNfpEf.js → workApi-DWRpZ_cq.js} +2 -2
  156. package/frontend/dist/js/zh-B4rcgcAy.js +2 -0
  157. package/package.json +3 -3
  158. package/frontend/dist/assets/index-CudKJ5Bs.js +0 -27
  159. package/frontend/dist/assets/index-DBaj1DRj.css +0 -1
  160. package/frontend/dist/js/ChatPage-D-Q1SGlI.js +0 -23
  161. package/frontend/dist/js/ModelSelector-DVN9nTCB.js +0 -1
  162. package/frontend/dist/js/RichMessageContent-C3qddYMx.js +0 -3
  163. package/frontend/dist/js/SettingsModal-CQSumlFr.js +0 -1
  164. package/frontend/dist/js/UserManagementPage-DnyW0Wmx.js +0 -1
  165. package/frontend/dist/js/ar-D0z0P4rC.js +0 -2
  166. package/frontend/dist/js/authStore-CnSn5zM7.js +0 -4
  167. package/frontend/dist/js/bn-BYYU41A7.js +0 -2
  168. package/frontend/dist/js/chatStore-P1aGCgiF.js +0 -3
  169. package/frontend/dist/js/cs-BFx6KNZe.js +0 -2
  170. package/frontend/dist/js/da-DSDuY5Du.js +0 -2
  171. package/frontend/dist/js/de-YqhP0FmX.js +0 -2
  172. package/frontend/dist/js/es-Dpr_y1cN.js +0 -2
  173. package/frontend/dist/js/fr-nVg_iAEC.js +0 -2
  174. package/frontend/dist/js/hi-gHKYCgkP.js +0 -2
  175. package/frontend/dist/js/id-C_yID1Zk.js +0 -2
  176. package/frontend/dist/js/is-MoRPLbOM.js +0 -2
  177. package/frontend/dist/js/it-BZTscLxR.js +0 -2
  178. package/frontend/dist/js/ja-DpIbtmZq.js +0 -2
  179. package/frontend/dist/js/ko-LkWggmjU.js +0 -2
  180. package/frontend/dist/js/ms-p3XiQSAo.js +0 -2
  181. package/frontend/dist/js/nl-sEHHO2Kb.js +0 -2
  182. package/frontend/dist/js/pl-D2GD6PDW.js +0 -2
  183. package/frontend/dist/js/pt-DPkn3GUn.js +0 -2
  184. package/frontend/dist/js/ru-C42iHrEd.js +0 -2
  185. package/frontend/dist/js/sv-CGvHo4os.js +0 -2
  186. package/frontend/dist/js/th-BaDNpCdY.js +0 -2
  187. package/frontend/dist/js/tr-BHQvi1cN.js +0 -2
  188. package/frontend/dist/js/ui-CUMAcARd.js +0 -2
  189. package/frontend/dist/js/uk-7pNGS1b2.js +0 -2
  190. package/frontend/dist/js/vi-DgAfh6mo.js +0 -2
  191. package/frontend/dist/js/zh-FRTz6ZqA.js +0 -2
  192. /package/frontend/dist/js/{markdown-math-mH7AZ_mb.js → markdown-math-DK846gXU.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"durableChatGenerationService.js","sourceRoot":"","sources":["../../src/services/durableChatGenerationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GAEV,MAAM,uBAAuB,CAAC;AAe/B,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;IAC5C,qBAAqB;IACrB,cAAc;IACd,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,QAAQ,SAAS,EAAE,CAAC;AAEpE,MAAM,MAAM,GAAG,KAAK,EAClB,KAAiC,EACjC,SAAiB,EACjB,OAAgC,EAChC,YAAoB,EACL,EAAE;IACjB,MAAM,sBAAsB,EAAE,CAAC,MAAM,CAAC;QACpC,OAAO,EAAE,cAAc,CACrB,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,YAAY,CACb;QACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,kBAAkB;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,KAAK,EACtC,KAAiC,EACf,EAAE;IACpB,MAAM,eAAe,GAAG,cAAc,CACpC,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,MAAM,CACP,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,gCAAgC,CAAC,KAAK,EAAE;QACtC,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAQF,MAAM,wBAAwB,GAAG,KAAK,EACpC,KAAiC,EACjC,QAA6E,EAC7E,OAGC,EAC4B,EAAE;IAC/B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,gBAAqD,CAAC;IAC1D,IAAI,aAA6C,CAAC;IAClD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,2EAA2E;IAC3E,0EAA0E;IAC1E,4DAA4D;IAC5D,MAAM,OAAO,GAAG,KAAK,EAAE,KAGtB,EAAiB,EAAE;QAClB,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACxC,MAAM,MAAM,CACV,KAAK,EACL,gBAAgB,EAChB;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK,CAAC,kBAAkB;YACnC,OAAO,EAAE,KAAK,CAAC,YAAY;YAC3B,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,IAAI,EAAE,KAAK;SACZ,EACD,WAAW,OAAO,CAAC,YAAY,WAAW,EAAE,mBAAmB,EAAE,CAClE,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAQ,EAAE;QACnE,eAAe,CAAC,KAAK,CAAC;YACpB,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3E,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,CAAC,yBAAyB,CACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAC1B,QAAQ,CAAC,cAAc,EACvB,KAAK,CAAC,WAAW,EACjB,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACnE,EAAE,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC3D,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,wBAAwB,CACtD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,OAAO,EACP,QAAQ,IAAI,SAAS,EACrB,gBAAgB,CACjB;YACD,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAChE,MAAM,SAAS,GAIV,EAAE,CAAC;QACR,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,CAAC,0BAA0B,CAChE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,MAAM,CAAC,aAAa,EAC7B,KAAK,CAAC,WAAW,EACjB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAC/B,OAAO,CAAC,MAAM,CACf,EAAE,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBAChD,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,CAC1G,CAAC;oBACJ,CAAC;oBACD,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,CAAC;YACvB,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,wBAAwB,CACtD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,OAAO,EACP,QAAQ,IAAI,SAAS,EACrB,gBAAgB,CACjB;YACD,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC;YAChE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,oBAAoB,EAAE,OAAO;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACrC,QAAQ,GAAG,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC;YACZ,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,WAA8B,CAAC;IACnC,MAAM,aAAa,CAAC,0BAA0B,CAC5C;QACE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QACtC,QAAQ,EAAE,QAAQ,CAAC,cAAc;QACjC,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAwC;KAClE,EACD,KAAK,CAAC,EAAE;QACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,YAAY,CAAC;QACxB,QAAQ,IAAI,aAAa,CAAC;QAC1B,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YAClC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,EACD,KAAK,CAAC,EAAE;QACN,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC,EACD,GAAG,EAAE,CAAC,SAAS,EACf,OAAO,CAAC,MAAM,EACd,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAC9B,CAAC;IACF,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,WAAW;QAAE,MAAM,WAAW,CAAC;IACnC,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5E,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,aAAa;YAChB,OAAO,EAAE;gBACP,GAAG,aAAa,CAAC,OAAO;gBACxB,OAAO;gBACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC;SACF;QACD,OAAO;QACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B;IAChC,KAAK,CAAC,OAAO,CACX,KAAiC,EACjC,OAGC;QAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAC1C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,kBAAkB,CACnD,CAAC;QACF,MAAM,mBAAmB,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,8BAA8B,EAC9B,oDAAoD,CACrD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC;QACd,CAAC;YACC,IAAI,eAAe,GAAG,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,wBAAwB,CAC9C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,KAAK,CAAC;YAC1C,CAAC;YACD,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;YACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC;YAC5D,IAAI,gBAAmE,CAAC;YACxE,IACE,KAAK,CAAC,SAAS;gBACf,CAAC,MAAM,oBAAoB,EAAE,CAAC;gBAC9B,CAAC,MAAM,mBAAmB,CACxB,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/C,CAAC,EACF,CAAC;gBACD,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAsB,MAAM,SAAS,CAChD,KAAK,CAAC,OAAO,EACb,SAAS,EACT,OAAO,CAAC,MAAM,CACf,CAAC;oBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,eAAe,GAAG,6BAA6B,CAC7C,eAAe,EACf,OAAO,EACP,KAAK,CAAC,OAAO,CACd,CAAC;wBACF,kBAAkB,GAAG,IAAI,CAAC;wBAC1B,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;4BAClD,KAAK;4BACL,GAAG;yBACJ,CAAC,CAAC,CAAC;oBACN,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM,KAAK,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC;gBAC7D,OAAO;gBACP,MAAM,EAAE,KAAK,CAAC,WAAW;gBACzB,OAAO,EAAE,KAAK,CAAC,OAA4B;gBAC3C,iBAAiB,EAAE,CACjB,MAAM,WAAW,CAAC,qBAAqB,CACrC,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CACF,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACjB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAC;oBAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACpC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CACtD,CAAC;oBACF,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBAC/D,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;gBAClE,CAAC,CAAC;gBACF,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,kBAAkB;gBAClB,eAAe;gBACf,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACxC,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;YACF,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAChD,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC7C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,kBAAkB,CACnD,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;YACJ,CAAC;YACD,SAAS,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,kBAAkB;gBAC5B,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACjD,gBAAgB,EACd,gBAAgB,EAAE,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBAC5D,CAAC,CAAC;wBACE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;wBACtD,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzD,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BACpC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,OAAO,EAAE;4BACzC,CAAC,CAAC,EAAE,CAAC;qBACR;oBACH,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB;gBACjD,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,iBAAiB;oBAC7C,CAAC,CAAC,CAAC,GAAG,EAAE;wBACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC1C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAClD,CAAC;wBACF,OAAO;4BACL,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB;4BACvD,QAAQ,EAAE,IAAI;yBACf,CAAC;oBACJ,CAAC,CAAC,EAAE;oBACN,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;YAC5D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,eAAe,EAAE,sBAAsB;YACvC,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc,CACrB,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,MAAM,CACP;gBACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACnC,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,KAAK,CAAC,kBAAkB;gBACnC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,KAAK,CAAC,kBAAkB;wBACnC,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,GAAG,CAAC,SAAS,CAAC,UAAU;4BACtB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,SAAS,CAAC,gBAAgB;4BAC5B,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE;4BAClD,CAAC,CAAC,EAAE,CAAC;qBACR;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,sBAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF;AAED,eAAe,IAAI,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"durableChatGenerationService.js","sourceRoot":"","sources":["../../src/services/durableChatGenerationService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGhF,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GAEV,MAAM,uBAAuB,CAAC;AAe/B,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAAC;IAC5C,qBAAqB;IACrB,cAAc;IACd,kBAAkB;CACnB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,CAAC,KAO/B,EAA2B,EAAE;IAC5B,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,SAAkB,EAAU,EAAE,CAC1C,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY;QAAE,OAAO,KAAK,CAAC;IAE9C,sEAAsE;IACtE,sCAAsC;IACtC,MAAM,eAAe,GAA4B;QAC/C,GAAG,KAAK;QACR,SAAS,EAAE,IAAI;KAChB,CAAC;IACF,OAAO,eAAe,CAAC,QAAQ,CAAC;IAChC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,YAAY;QAAE,OAAO,eAAe,CAAC;IAElE,OAAO,EAAE,GAAG,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAY,EAAE;IAChE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,YAAY,GAAG,KAAK,GAAG,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,SAAS,CAAC;QACrB,YAAY,IAAI,KAAK,CAAC;IACxB,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,QAAQ,SAAS,EAAE,CAAC;AAEpE,MAAM,MAAM,GAAG,KAAK,EAClB,KAAiC,EACjC,SAAiB,EACjB,OAAgC,EAChC,YAAoB,EACL,EAAE;IACjB,MAAM,sBAAsB,EAAE,CAAC,MAAM,CAAC;QACpC,OAAO,EAAE,cAAc,CACrB,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,YAAY,CACb;QACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QACnC,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,kBAAkB;QACnC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,KAAK,EACtC,KAAiC,EACf,EAAE;IACpB,MAAM,eAAe,GAAG,cAAc,CACpC,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,MAAM,CACP,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,oBAAoB,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,gCAAgC,CAAC,KAAK,EAAE;QACtC,OAAO,EAAE,eAAe;QACxB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;QAC5C,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAQF,MAAM,wBAAwB,GAAG,KAAK,EACpC,KAAiC,EACjC,QAA6E,EAC7E,OAGC,EAC4B,EAAE;IAC/B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,gBAAqD,CAAC;IAC1D,IAAI,aAA6C,CAAC;IAClD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,2EAA2E;IAC3E,0EAA0E;IAC1E,4DAA4D;IAC5D,yEAAyE;IACzE,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,EAAE,KAGtB,EAAiB,EAAE;QAClB,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,EAAE,OAAe,EAAE,QAAiB,EAAiB,EAAE;YACvE,MAAM,MAAM,CACV,KAAK,EACL,gBAAgB,EAChB;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,KAAK,CAAC,kBAAkB;gBACnC,OAAO;gBACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,IAAI,EAAE,KAAK;aACZ,EACD,WAAW,OAAO,CAAC,YAAY,WAAW,EAAE,mBAAmB,EAAE,CAClE,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAClB,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC;YAC3C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC;YAChD,eAAe,CAAC;QAClB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,oDAAoD;QACpD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,eAAe,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,CAAC,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAQ,EAAE;QACnE,eAAe,CAAC,KAAK,CAAC;YACpB,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC3E,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,eAAe,CAAC,yBAAyB,CACjE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAC1B,QAAQ,CAAC,cAAc,EACvB,KAAK,CAAC,WAAW,EACjB,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CACnE,EAAE,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC3D,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,wBAAwB,CACtD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,OAAO,EACP,QAAQ,IAAI,SAAS,EACrB,gBAAgB,CACjB;YACD,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAChE,MAAM,SAAS,GAIV,EAAE,CAAC;QACR,wEAAwE;QACxE,6CAA6C;QAC7C,IAAI,KAAuE,CAAC;QAC5E,IAAI,eACqD,CAAC;QAC1D,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,CAAC,0BAA0B,CAChE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,MAAM,CAAC,aAAa,EAC7B,KAAK,CAAC,WAAW,EACjB,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,EAC/B,OAAO,CAAC,MAAM,CACf,EAAE,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9C,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;oBACzB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;oBAC1B,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACjC,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,IAAI,KAAK,CAAC,KAAK;wBAAE,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;oBACtD,IAAI,KAAK,CAAC,OAAO;wBACf,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC/D,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBAChD,MAAM,IAAI,KAAK,CACb,6CAA6C,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,CAC1G,CAAC;oBACJ,CAAC;oBACD,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,WAAW,CAAC;YACvB,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,qBAAqB,CAAC,wBAAwB,CACtD,QAAQ,CAAC,MAAM,CAAC,eAAe,EAC/B,OAAO,EACP,QAAQ,IAAI,SAAS,EACrB,gBAAgB,EAChB;gBACE,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS;oBACnC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,gBAAgB,EAAE;oBAC/C,CAAC,CAAC,EAAE,CAAC;aACR;YACD,8DAA8D;YAC9D,gCAAgC;YAChC,eAAe;gBACb,CAAC,CAAC;oBACE,GAAG,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;wBACxC,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,QAAQ,GAAG,GAAG,EAAE;wBAClD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,eAAe,CAAC,WAAW,KAAK,SAAS;wBAC3C,CAAC,CAAC,EAAE,YAAY,EAAE,eAAe,CAAC,WAAW,GAAG,GAAG,EAAE;wBACrD,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS;wBAC1C,eAAe,CAAC,WAAW,KAAK,SAAS;wBACvC,CAAC,CAAC;4BACE,OAAO,EACL,CAAC,eAAe,CAAC,QAAQ,GAAG,eAAe,CAAC,WAAW,CAAC;gCACxD,GAAG;yBACN;wBACH,CAAC,CAAC,EAAE,CAAC;iBACR;gBACH,CAAC,CAAC,SAAS,CACd;YACD,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC;YAChE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,oBAAoB,EAAE,OAAO;YAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC;QACrC,QAAQ,GAAG,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC;YACZ,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,WAA8B,CAAC;IACnC,MAAM,aAAa,CAAC,0BAA0B,CAC5C;QACE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe;QACtC,QAAQ,EAAE,QAAQ,CAAC,cAAc;QACjC,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAwC;KAClE,EACD,KAAK,CAAC,EAAE;QACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,YAAY,CAAC;QACxB,QAAQ,IAAI,aAAa,CAAC;QAC1B,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YAClC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,EACD,KAAK,CAAC,EAAE;QACN,WAAW,GAAG,KAAK,CAAC;IACtB,CAAC,EACD,GAAG,EAAE,CAAC,SAAS,EACf,OAAO,CAAC,MAAM,EACd,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAC9B,CAAC;IACF,MAAM,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,WAAW;QAAE,MAAM,WAAW,CAAC;IACnC,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC5E,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,aAAa;YAChB,OAAO,EAAE;gBACP,GAAG,aAAa,CAAC,OAAO;gBACxB,OAAO;gBACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC;SACF;QACD,OAAO;QACP,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4BAA4B;IAChC,KAAK,CAAC,OAAO,CACX,KAAiC,EACjC,OAGC;QAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAC1C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,kBAAkB,CACnD,CAAC;QACF,MAAM,mBAAmB,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,8BAA8B,EAC9B,oDAAoD,CACrD,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC;QACd,CAAC;YACC,IAAI,eAAe,GAAG,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,wBAAwB,CAC9C,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,KAAK,CAAC;YAC1C,CAAC;YACD,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;YACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC;YAC5D,IAAI,gBAAmE,CAAC;YACxE,IACE,KAAK,CAAC,SAAS;gBACf,CAAC,MAAM,oBAAoB,EAAE,CAAC;gBAC9B,CAAC,MAAM,mBAAmB,CACxB,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAC/C,CAAC,EACF,CAAC;gBACD,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAsB,MAAM,SAAS,CAChD,KAAK,CAAC,OAAO,EACb,SAAS,EACT,OAAO,CAAC,MAAM,CACf,CAAC;oBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,eAAe,GAAG,6BAA6B,CAC7C,eAAe,EACf,OAAO,EACP,KAAK,CAAC,OAAO,CACd,CAAC;wBACF,kBAAkB,GAAG,IAAI,CAAC;wBAC1B,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;4BAClD,KAAK;4BACL,GAAG;yBACJ,CAAC,CAAC,CAAC;oBACN,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM,KAAK,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC;gBAC7D,OAAO;gBACP,MAAM,EAAE,KAAK,CAAC,WAAW;gBACzB,OAAO,EAAE,KAAK,CAAC,OAA4B;gBAC3C,iBAAiB,EAAE,CACjB,MAAM,WAAW,CAAC,qBAAqB,CACrC,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CACF,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACjB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,iBAAiB;wBAAE,OAAO,IAAI,CAAC;oBAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACpC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CACtD,CAAC;oBACF,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB,CAAC;oBAC/D,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;gBAClE,CAAC,CAAC;gBACF,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,kBAAkB;gBAClB,eAAe;gBACf,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACxC,sEAAsE;YACtE,uEAAuE;YACvE,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,KAAK,EACL,QAAQ,EACR,OAAO,CACR,CAAC;YACF,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAChD,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,WAAW,CAClB,CAAC;YACF,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC7C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,kBAAkB,CACnD,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,wBAAwB,CAChC,KAAK,EACL,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;YACJ,CAAC;YACD,SAAS,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,kBAAkB;gBAC5B,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACjD,gBAAgB,EACd,gBAAgB,EAAE,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;oBAC5D,CAAC,CAAC;wBACE,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC;wBACtD,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzD,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BACpC,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,OAAO,EAAE;4BACzC,CAAC,CAAC,EAAE,CAAC;qBACR;oBACH,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB;gBACjD,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,iBAAiB;oBAC7C,CAAC,CAAC,CAAC,GAAG,EAAE;wBACJ,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAC1C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAClD,CAAC;wBACF,OAAO;4BACL,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,KAAK,CAAC,iBAAiB;4BACvD,QAAQ,EAAE,IAAI;yBACf,CAAC;oBACJ,CAAC,CAAC,EAAE;oBACN,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;YAC5D,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,eAAe,EAAE,sBAAsB;YACvC,KAAK,EAAE;gBACL,OAAO,EAAE,cAAc,CACrB,MAAM,EACN,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,kBAAkB,EACxB,MAAM,CACP;gBACD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBACnC,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,KAAK,CAAC,kBAAkB;gBACnC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,sBAAsB,CAAC;wBAC5B,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,KAAK,CAAC,kBAAkB;wBACnC,OAAO,EAAE,SAAS,CAAC,OAAO;wBAC1B,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/D,GAAG,CAAC,SAAS,CAAC,UAAU;4BACtB,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,SAAS,CAAC,gBAAgB;4BAC5B,CAAC,CAAC,EAAE,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAAE;4BAClD,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;iBACH;aACF;SACF,CAAC,CAAC;QACH,MAAM,sBAAsB,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF;AAED,eAAe,IAAI,4BAA4B,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"followUpService.d.ts","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB9D;AAED,UAAU,qBAAqB;IAC7B,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,UAAU,+BAA+B;IACvC,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,EAC3B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GACpE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,6BAA6B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,CACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,CAAC;IACnC,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,aAAa,EAAE,uBAAuB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IAEvC,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,GAAc,EACd,MAAgB,GACjB,EAAE,2BAA2B,EAO7B;IAED;;;;OAIG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,SAAY,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAiC1B;YAEa,iBAAiB;CAkDhC"}
1
+ {"version":3,"file":"followUpService.d.ts","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB9D;AAED,UAAU,qBAAqB;IAC7B,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,UAAU,+BAA+B;IACvC,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,EAC3B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GACpE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,6BAA6B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,CACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,CAAC;IACnC,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,aAAa,EAAE,uBAAuB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IAEvC,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,GAAc,EACd,MAAgB,GACjB,EAAE,2BAA2B,EAO7B;IAED;;;;OAIG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,SAAY,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAiC1B;YAEa,iBAAiB;CAwDhC"}
@@ -103,16 +103,22 @@ export class FollowUpService {
103
103
  content: prompt,
104
104
  timestamp: this.now(),
105
105
  },
106
- ], target.mergedOptions, userId, target.activePlugin.id);
106
+ ],
107
+ // Suggestions are a side task; they should not spend the chat's
108
+ // reasoning budget, whatever it is set to.
109
+ { ...target.mergedOptions, think: false }, userId, target.activePlugin.id);
107
110
  return this.chatGenerationService.extractPluginAssistantContent(pluginResponse);
108
111
  }
112
+ // Ollama takes the thinking setting beside the options, never inside
113
+ // them, and this call answers it for itself below.
114
+ const { think: _think, ...ollamaOptions } = target.mergedOptions;
109
115
  const response = await this.ollamaService.generateResponse({
110
116
  model: target.actualModelName,
111
117
  prompt,
112
118
  stream: false,
113
119
  think: false,
114
120
  options: {
115
- ...target.mergedOptions,
121
+ ...ollamaOptions,
116
122
  temperature: FOLLOW_UP_GENERATION_OPTIONS.temperature,
117
123
  num_predict: FOLLOW_UP_GENERATION_OPTIONS.num_predict,
118
124
  },
@@ -1 +1 @@
1
- {"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export declare const MODEL_VISIBILITY_KEY = "model_visibility";
2
+ /** Upper bound on stored hidden keys, keeping the setting row bounded. */
3
+ export declare const MODEL_VISIBILITY_MAX_KEYS = 5000;
4
+ /**
5
+ * The hidden model keys, or [] when nothing is hidden. Fails open: an
6
+ * unreadable or corrupted setting must never blank every model picker.
7
+ */
8
+ export declare function getHiddenModels(): Promise<string[]>;
9
+ /** Validates and dedupes a hidden-model list; throws on invalid input. */
10
+ export declare function normalizeHiddenModels(keys: unknown): string[];
11
+ /** Persists the hidden-model set and returns the normalized list. */
12
+ export declare function setHiddenModels(keys: string[]): Promise<string[]>;
13
+ export declare const MODEL_ORDER_KEY = "model_order";
14
+ export declare const MODEL_METADATA_KEY = "model_metadata";
15
+ /** Presentation an administrator set for one model. */
16
+ export interface ModelMetadata {
17
+ /** Shown instead of the raw model id. Empty means use the id. */
18
+ label?: string;
19
+ /** Data URL for the model's picture. Empty means the provider default. */
20
+ avatar?: string;
21
+ }
22
+ /**
23
+ * The administrator-chosen model order, most important first. Models missing
24
+ * from the list keep their provider order after the ones listed here.
25
+ */
26
+ export declare function getModelOrder(): Promise<string[]>;
27
+ export declare function normalizeModelOrder(keys: unknown): string[];
28
+ export declare function setModelOrder(keys: string[]): Promise<string[]>;
29
+ /** Labels and pictures administrators set, keyed the same way as visibility. */
30
+ export declare function getModelMetadata(): Promise<Record<string, ModelMetadata>>;
31
+ export declare function normalizeModelMetadata(value: unknown): Record<string, ModelMetadata>;
32
+ export declare function setModelMetadata(value: Record<string, ModelMetadata>): Promise<Record<string, ModelMetadata>>;
33
+ declare const _default: {
34
+ getHiddenModels: typeof getHiddenModels;
35
+ setHiddenModels: typeof setHiddenModels;
36
+ normalizeHiddenModels: typeof normalizeHiddenModels;
37
+ getModelOrder: typeof getModelOrder;
38
+ setModelOrder: typeof setModelOrder;
39
+ normalizeModelOrder: typeof normalizeModelOrder;
40
+ getModelMetadata: typeof getModelMetadata;
41
+ setModelMetadata: typeof setModelMetadata;
42
+ normalizeModelMetadata: typeof normalizeModelMetadata;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=modelVisibilityService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelVisibilityService.d.ts","sourceRoot":"","sources":["../../src/services/modelVisibilityService.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAK9C;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBzD;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CA0B7D;AAED,qEAAqE;AACrE,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvE;AAED,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAOnD,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAavD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAsB3D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIrE;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAC9B,CAaA;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAyD/B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAIxC"}
@@ -0,0 +1,215 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at:
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Which models administrators removed from the shared model pickers. The set
19
+ * is a persisted system setting holding hidden model keys: an Ollama model is
20
+ * keyed by its plain name, a plugin model by `${pluginId}/${modelName}`.
21
+ *
22
+ * Visibility is a listing refinement, not an authorization gate: hidden
23
+ * models drop out of the pickers non-administrators see, while administrators
24
+ * always keep the full list.
25
+ */
26
+ import { createLogger } from '../utils/logger.js';
27
+ import { getSystemSetting, setSystemSetting } from './systemSettingsService.js';
28
+ const logger = createLogger('services:model-visibility');
29
+ export const MODEL_VISIBILITY_KEY = 'model_visibility';
30
+ /** Upper bound on stored hidden keys, keeping the setting row bounded. */
31
+ export const MODEL_VISIBILITY_MAX_KEYS = 5000;
32
+ /** Longer than any real model key; guards the row against garbage input. */
33
+ const MODEL_KEY_MAX_CHARS = 512;
34
+ /**
35
+ * The hidden model keys, or [] when nothing is hidden. Fails open: an
36
+ * unreadable or corrupted setting must never blank every model picker.
37
+ */
38
+ export async function getHiddenModels() {
39
+ try {
40
+ const raw = await getSystemSetting(MODEL_VISIBILITY_KEY);
41
+ if (!raw)
42
+ return [];
43
+ const parsed = JSON.parse(raw);
44
+ if (!Array.isArray(parsed))
45
+ return [];
46
+ return parsed.filter((key) => typeof key === 'string' && key.length > 0);
47
+ }
48
+ catch (error) {
49
+ logger.warn('Could not read model visibility; treating every model as visible:', error);
50
+ return [];
51
+ }
52
+ }
53
+ /** Validates and dedupes a hidden-model list; throws on invalid input. */
54
+ export function normalizeHiddenModels(keys) {
55
+ if (!Array.isArray(keys)) {
56
+ throw new Error('hidden must be an array of model keys.');
57
+ }
58
+ if (keys.length > MODEL_VISIBILITY_MAX_KEYS) {
59
+ throw new Error(`At most ${MODEL_VISIBILITY_MAX_KEYS} models can be hidden.`);
60
+ }
61
+ const deduped = new Set();
62
+ for (const key of keys) {
63
+ if (typeof key !== 'string') {
64
+ throw new Error('Every hidden model key must be a string.');
65
+ }
66
+ const trimmed = key.trim();
67
+ if (!trimmed) {
68
+ throw new Error('Hidden model keys must be non-empty.');
69
+ }
70
+ if (trimmed.length > MODEL_KEY_MAX_CHARS) {
71
+ throw new Error(`Hidden model keys are limited to ${MODEL_KEY_MAX_CHARS} characters.`);
72
+ }
73
+ deduped.add(trimmed);
74
+ }
75
+ return [...deduped];
76
+ }
77
+ /** Persists the hidden-model set and returns the normalized list. */
78
+ export async function setHiddenModels(keys) {
79
+ const normalized = normalizeHiddenModels(keys);
80
+ await setSystemSetting(MODEL_VISIBILITY_KEY, JSON.stringify(normalized));
81
+ return normalized;
82
+ }
83
+ export const MODEL_ORDER_KEY = 'model_order';
84
+ export const MODEL_METADATA_KEY = 'model_metadata';
85
+ /** Data URLs are stored inline, so each one stays small enough to serve. */
86
+ const MODEL_AVATAR_MAX_CHARS = 256000;
87
+ const MODEL_LABEL_MAX_CHARS = 128;
88
+ const MODEL_METADATA_MAX_ENTRIES = 2000;
89
+ /**
90
+ * The administrator-chosen model order, most important first. Models missing
91
+ * from the list keep their provider order after the ones listed here.
92
+ */
93
+ export async function getModelOrder() {
94
+ try {
95
+ const raw = await getSystemSetting(MODEL_ORDER_KEY);
96
+ if (!raw)
97
+ return [];
98
+ const parsed = JSON.parse(raw);
99
+ if (!Array.isArray(parsed))
100
+ return [];
101
+ return parsed.filter((key) => typeof key === 'string' && key.length > 0);
102
+ }
103
+ catch (error) {
104
+ logger.warn('Could not read model order; using provider order:', error);
105
+ return [];
106
+ }
107
+ }
108
+ export function normalizeModelOrder(keys) {
109
+ if (!Array.isArray(keys)) {
110
+ throw new Error('order must be an array of model keys.');
111
+ }
112
+ if (keys.length > MODEL_VISIBILITY_MAX_KEYS) {
113
+ throw new Error(`At most ${MODEL_VISIBILITY_MAX_KEYS} models can be ordered.`);
114
+ }
115
+ const deduped = new Set();
116
+ for (const key of keys) {
117
+ if (typeof key !== 'string' || !key.trim()) {
118
+ throw new Error('Every ordered model key must be a non-empty string.');
119
+ }
120
+ if (key.trim().length > MODEL_KEY_MAX_CHARS) {
121
+ throw new Error(`Model keys are limited to ${MODEL_KEY_MAX_CHARS} characters.`);
122
+ }
123
+ deduped.add(key.trim());
124
+ }
125
+ return [...deduped];
126
+ }
127
+ export async function setModelOrder(keys) {
128
+ const normalized = normalizeModelOrder(keys);
129
+ await setSystemSetting(MODEL_ORDER_KEY, JSON.stringify(normalized));
130
+ return normalized;
131
+ }
132
+ /** Labels and pictures administrators set, keyed the same way as visibility. */
133
+ export async function getModelMetadata() {
134
+ try {
135
+ const raw = await getSystemSetting(MODEL_METADATA_KEY);
136
+ if (!raw)
137
+ return {};
138
+ const parsed = JSON.parse(raw);
139
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
140
+ return {};
141
+ }
142
+ return parsed;
143
+ }
144
+ catch (error) {
145
+ logger.warn('Could not read model metadata; using provider names:', error);
146
+ return {};
147
+ }
148
+ }
149
+ export function normalizeModelMetadata(value) {
150
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
151
+ throw new Error('metadata must be an object keyed by model.');
152
+ }
153
+ const entries = Object.entries(value);
154
+ if (entries.length > MODEL_METADATA_MAX_ENTRIES) {
155
+ throw new Error(`At most ${MODEL_METADATA_MAX_ENTRIES} models can carry metadata.`);
156
+ }
157
+ const normalized = {};
158
+ for (const [key, raw] of entries) {
159
+ if (!key.trim() || key.length > MODEL_KEY_MAX_CHARS) {
160
+ throw new Error('Model metadata keys must be short, non-empty strings.');
161
+ }
162
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
163
+ throw new Error(`Metadata for ${key} must be an object.`);
164
+ }
165
+ const { label, avatar } = raw;
166
+ const entry = {};
167
+ if (label !== undefined) {
168
+ if (typeof label !== 'string') {
169
+ throw new Error(`Label for ${key} must be a string.`);
170
+ }
171
+ const trimmed = label.trim();
172
+ if (trimmed.length > MODEL_LABEL_MAX_CHARS) {
173
+ throw new Error(`Labels are limited to ${MODEL_LABEL_MAX_CHARS} characters.`);
174
+ }
175
+ if (trimmed)
176
+ entry.label = trimmed;
177
+ }
178
+ if (avatar !== undefined) {
179
+ if (typeof avatar !== 'string') {
180
+ throw new Error(`Picture for ${key} must be a string.`);
181
+ }
182
+ const trimmed = avatar.trim();
183
+ if (trimmed) {
184
+ if (trimmed.length > MODEL_AVATAR_MAX_CHARS) {
185
+ throw new Error(`Model pictures are limited to ${Math.floor(MODEL_AVATAR_MAX_CHARS / 1000)} KB.`);
186
+ }
187
+ if (!/^data:image\/(png|jpeg|jpg|gif|webp|svg\+xml);base64,/i.test(trimmed)) {
188
+ throw new Error(`Picture for ${key} must be an image data URL.`);
189
+ }
190
+ entry.avatar = trimmed;
191
+ }
192
+ }
193
+ // An entry stripped back to nothing is a reset, not a stored blank.
194
+ if (entry.label || entry.avatar)
195
+ normalized[key.trim()] = entry;
196
+ }
197
+ return normalized;
198
+ }
199
+ export async function setModelMetadata(value) {
200
+ const normalized = normalizeModelMetadata(value);
201
+ await setSystemSetting(MODEL_METADATA_KEY, JSON.stringify(normalized));
202
+ return normalized;
203
+ }
204
+ export default {
205
+ getHiddenModels,
206
+ setHiddenModels,
207
+ normalizeHiddenModels,
208
+ getModelOrder,
209
+ setModelOrder,
210
+ normalizeModelOrder,
211
+ getModelMetadata,
212
+ setModelMetadata,
213
+ normalizeModelMetadata,
214
+ };
215
+ //# sourceMappingURL=modelVisibilityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelVisibilityService.js","sourceRoot":"","sources":["../../src/services/modelVisibilityService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEhF,MAAM,MAAM,GAAG,YAAY,CAAC,2BAA2B,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CACT,mEAAmE,EACnE,KAAK,CACN,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,WAAW,yBAAyB,wBAAwB,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,oCAAoC,mBAAmB,cAAc,CACtE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAc;IAClD,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,sBAAsB,GAAG,MAAO,CAAC;AACvC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAClC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAUxC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,GAAG,EAAiB,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,WAAW,yBAAyB,yBAAyB,CAC9D,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,6BAA6B,mBAAmB,cAAc,CAC/D,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAc;IAChD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAGpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAuC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,WAAW,0BAA0B,6BAA6B,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAkC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAA4C,CAAC;QACvE,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,oBAAoB,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,yBAAyB,qBAAqB,cAAc,CAC7D,CAAC;YACJ,CAAC;YACD,IAAI,OAAO;gBAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QACrC,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,oBAAoB,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CACjF,CAAC;gBACJ,CAAC;gBACD,IACE,CAAC,wDAAwD,CAAC,IAAI,CAC5D,OAAO,CACR,EACD,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,6BAA6B,CAAC,CAAC;gBACnE,CAAC;gBACD,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACzB,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAoC;IAEpC,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,eAAe;IACb,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;CACvB,CAAC"}
@@ -12,7 +12,7 @@ export declare function isCloudModel(model: string | undefined): boolean;
12
12
  * unlimited), but the cloud backend maps num_predict -> max_tokens, which must
13
13
  * be positive, so for cloud we omit it and let the host apply its default.
14
14
  */
15
- export declare function sanitizeOptionsForModel(model: string, options: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
15
+ export declare function sanitizeOptionsForModel(model: string, rawOptions: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
16
16
  /**
17
17
  * Ollama's native /api/chat requires tool_call function arguments to be an
18
18
  * object; a JSON string there fails its request parser with a 400 ("Value
@@ -64,6 +64,21 @@ export declare class OllamaService {
64
64
  }>;
65
65
  /** Meter a chat call into the usage analytics shown on the Usage page. */
66
66
  private recordChatUsage;
67
+ /**
68
+ * The thinking setting a request should actually be sent with.
69
+ *
70
+ * A model that does not reason answers a `think` request with a 400, and the
71
+ * setting can arrive from global preferences that were never written with
72
+ * this model in mind. Where Ollama says what the model can do, that answer
73
+ * is respected; where it says nothing, the request is left alone.
74
+ */
75
+ private resolveThinking;
76
+ /**
77
+ * The wire form of a chat request: messages Ollama can parse, options it
78
+ * accepts, and `think` where it belongs, in the body rather than the
79
+ * options.
80
+ */
81
+ private buildChatRequestBody;
67
82
  generateChatResponse(request: OllamaChatRequest, signal?: AbortSignal, usage?: {
68
83
  userId?: string;
69
84
  }): Promise<OllamaChatResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
@@ -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 { 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, options) {
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,51 @@ 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
+ return think;
525
+ }
526
+ /**
527
+ * The wire form of a chat request: messages Ollama can parse, options it
528
+ * accepts, and `think` where it belongs, in the body rather than the
529
+ * options.
530
+ */
531
+ async buildChatRequestBody(request, stream, signal) {
532
+ const { think: optionThink } = splitThinkingOption(request.options);
533
+ const think = await this.resolveThinking(request.model, request.think ?? optionThink, signal);
534
+ const body = {
535
+ ...request,
536
+ messages: normalizeChatMessagesForOllama(request.messages),
537
+ options: sanitizeOptionsForModel(request.model, request.options),
538
+ stream,
539
+ };
540
+ if (think === undefined) {
541
+ delete body.think;
542
+ }
543
+ else {
544
+ body.think = think;
545
+ }
546
+ return body;
547
+ }
504
548
  async generateChatResponse(request, signal, usage) {
505
549
  const startedAt = Date.now();
506
550
  try {
507
551
  // 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 });
552
+ const response = await this.longOperationClient.post('/api/chat', await this.buildChatRequestBody(request, false, signal), { signal });
514
553
  this.recordChatUsage(request.model, 'success', startedAt, usage?.userId, response.data);
515
554
  return response.data;
516
555
  }
@@ -531,12 +570,7 @@ export class OllamaService {
531
570
  };
532
571
  try {
533
572
  // 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
- }, {
573
+ const response = await this.longOperationClient.post('/api/chat', await this.buildChatRequestBody(request, true, signal), {
540
574
  responseType: 'stream',
541
575
  signal,
542
576
  });