libre-webui 0.24.0 → 0.25.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 (244) hide show
  1. package/README.md +26 -15
  2. package/backend/dist/index.d.ts.map +1 -1
  3. package/backend/dist/index.js +9 -0
  4. package/backend/dist/index.js.map +1 -1
  5. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  6. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  7. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  8. package/backend/dist/persistence/postgresPersonalAutomationsMigration.d.ts +8 -0
  9. package/backend/dist/persistence/postgresPersonalAutomationsMigration.d.ts.map +1 -0
  10. package/backend/dist/persistence/postgresPersonalAutomationsMigration.js +98 -0
  11. package/backend/dist/persistence/postgresPersonalAutomationsMigration.js.map +1 -0
  12. package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
  13. package/backend/dist/persistence/postgresResourceRepositories.js +274 -0
  14. package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
  15. package/backend/dist/persistence/resourceTypes.d.ts +83 -2
  16. package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
  17. package/backend/dist/persistence/resourceTypes.js.map +1 -1
  18. package/backend/dist/persistence/sqliteMigrations.d.ts +1 -0
  19. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  20. package/backend/dist/persistence/sqliteMigrations.js +181 -0
  21. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  22. package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
  23. package/backend/dist/persistence/sqliteResourceRepositories.js +233 -0
  24. package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
  25. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  26. package/backend/dist/persistence/sqliteToPostgresMigration.js +41 -0
  27. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  28. package/backend/dist/platform/jobs/domainJobContracts.d.ts +3 -0
  29. package/backend/dist/platform/jobs/domainJobContracts.d.ts.map +1 -1
  30. package/backend/dist/platform/jobs/domainJobContracts.js +3 -0
  31. package/backend/dist/platform/jobs/domainJobContracts.js.map +1 -1
  32. package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
  33. package/backend/dist/platform/jobs/domainJobHandlers.js +101 -1
  34. package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
  35. package/backend/dist/routes/automations.d.ts +3 -0
  36. package/backend/dist/routes/automations.d.ts.map +1 -0
  37. package/backend/dist/routes/automations.js +232 -0
  38. package/backend/dist/routes/automations.js.map +1 -0
  39. package/backend/dist/routes/calendar.d.ts +3 -0
  40. package/backend/dist/routes/calendar.d.ts.map +1 -0
  41. package/backend/dist/routes/calendar.js +206 -0
  42. package/backend/dist/routes/calendar.js.map +1 -0
  43. package/backend/dist/routes/chat.d.ts.map +1 -1
  44. package/backend/dist/routes/chat.js +99 -7
  45. package/backend/dist/routes/chat.js.map +1 -1
  46. package/backend/dist/routes/ollama.d.ts.map +1 -1
  47. package/backend/dist/routes/ollama.js +4 -1
  48. package/backend/dist/routes/ollama.js.map +1 -1
  49. package/backend/dist/routes/search.d.ts.map +1 -1
  50. package/backend/dist/routes/search.js +5 -3
  51. package/backend/dist/routes/search.js.map +1 -1
  52. package/backend/dist/services/automationSchedulerService.d.ts +28 -0
  53. package/backend/dist/services/automationSchedulerService.d.ts.map +1 -0
  54. package/backend/dist/services/automationSchedulerService.js +191 -0
  55. package/backend/dist/services/automationSchedulerService.js.map +1 -0
  56. package/backend/dist/services/automationService.d.ts +53 -0
  57. package/backend/dist/services/automationService.d.ts.map +1 -0
  58. package/backend/dist/services/automationService.js +224 -0
  59. package/backend/dist/services/automationService.js.map +1 -0
  60. package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
  61. package/backend/dist/services/chatGenerationService.js +7 -1
  62. package/backend/dist/services/chatGenerationService.js.map +1 -1
  63. package/backend/dist/services/chatService.d.ts +9 -1
  64. package/backend/dist/services/chatService.d.ts.map +1 -1
  65. package/backend/dist/services/chatService.js +91 -13
  66. package/backend/dist/services/chatService.js.map +1 -1
  67. package/backend/dist/services/contextCompactionService.d.ts +11 -6
  68. package/backend/dist/services/contextCompactionService.d.ts.map +1 -1
  69. package/backend/dist/services/contextCompactionService.js +127 -27
  70. package/backend/dist/services/contextCompactionService.js.map +1 -1
  71. package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
  72. package/backend/dist/services/durableChatGenerationService.js +15 -3
  73. package/backend/dist/services/durableChatGenerationService.js.map +1 -1
  74. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  75. package/backend/dist/services/ollamaService.js +9 -2
  76. package/backend/dist/services/ollamaService.js.map +1 -1
  77. package/backend/dist/services/pluginService.d.ts +10 -0
  78. package/backend/dist/services/pluginService.d.ts.map +1 -1
  79. package/backend/dist/services/pluginService.js +42 -7
  80. package/backend/dist/services/pluginService.js.map +1 -1
  81. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  82. package/backend/dist/services/preferencesService.js +3 -0
  83. package/backend/dist/services/preferencesService.js.map +1 -1
  84. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  85. package/backend/dist/services/titleGenerationService.js +5 -1
  86. package/backend/dist/services/titleGenerationService.js.map +1 -1
  87. package/backend/dist/services/webSearchPlanService.d.ts +18 -0
  88. package/backend/dist/services/webSearchPlanService.d.ts.map +1 -0
  89. package/backend/dist/services/webSearchPlanService.js +160 -0
  90. package/backend/dist/services/webSearchPlanService.js.map +1 -0
  91. package/backend/dist/services/webSearchService.d.ts +9 -3
  92. package/backend/dist/services/webSearchService.d.ts.map +1 -1
  93. package/backend/dist/services/webSearchService.js +8 -2
  94. package/backend/dist/services/webSearchService.js.map +1 -1
  95. package/backend/dist/storage.d.ts +7 -1
  96. package/backend/dist/storage.d.ts.map +1 -1
  97. package/backend/dist/storage.js +65 -1
  98. package/backend/dist/storage.js.map +1 -1
  99. package/backend/dist/types/index.d.ts +79 -0
  100. package/backend/dist/types/index.d.ts.map +1 -1
  101. package/backend/dist/types/index.js.map +1 -1
  102. package/backend/dist/utils/automationSchedule.d.ts +26 -0
  103. package/backend/dist/utils/automationSchedule.d.ts.map +1 -0
  104. package/backend/dist/utils/automationSchedule.js +231 -0
  105. package/backend/dist/utils/automationSchedule.js.map +1 -0
  106. package/backend/dist/utils/chatContext.d.ts +7 -0
  107. package/backend/dist/utils/chatContext.d.ts.map +1 -1
  108. package/backend/dist/utils/chatContext.js +13 -2
  109. package/backend/dist/utils/chatContext.js.map +1 -1
  110. package/backend/dist/utils/openAIResponsesAdapter.d.ts.map +1 -1
  111. package/backend/dist/utils/openAIResponsesAdapter.js +3 -1
  112. package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
  113. package/backend/dist/utils/pluginChatAdapter.d.ts +1 -0
  114. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  115. package/backend/dist/utils/pluginChatAdapter.js +82 -19
  116. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  117. package/backend/dist/utils/pluginModelCatalog.d.ts +20 -0
  118. package/backend/dist/utils/pluginModelCatalog.d.ts.map +1 -1
  119. package/backend/dist/utils/pluginModelCatalog.js +101 -9
  120. package/backend/dist/utils/pluginModelCatalog.js.map +1 -1
  121. package/backend/dist/utils/resourceLimits.d.ts +7 -0
  122. package/backend/dist/utils/resourceLimits.d.ts.map +1 -1
  123. package/backend/dist/utils/resourceLimits.js +7 -0
  124. package/backend/dist/utils/resourceLimits.js.map +1 -1
  125. package/backend/dist/utils/thinkingOptions.d.ts +23 -3
  126. package/backend/dist/utils/thinkingOptions.d.ts.map +1 -1
  127. package/backend/dist/utils/thinkingOptions.js +35 -9
  128. package/backend/dist/utils/thinkingOptions.js.map +1 -1
  129. package/backend/dist/websocketServer.d.ts.map +1 -1
  130. package/backend/dist/websocketServer.js +9 -3
  131. package/backend/dist/websocketServer.js.map +1 -1
  132. package/backend/package.json +1 -1
  133. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  134. package/frontend/dist/assets/index-6o-Hc2wS.js +41 -0
  135. package/frontend/dist/assets/index-D-pM957b.css +1 -0
  136. package/frontend/dist/index.html +12 -12
  137. package/frontend/dist/js/ArtifactContainer-CpUi6ekF.js +1 -0
  138. package/frontend/dist/js/{ArtifactDemoPage-TONeQvof.js → ArtifactDemoPage-BeNs3gHp.js} +1 -1
  139. package/frontend/dist/js/{ArtifactSandboxFrame-CV2XXu_t.js → ArtifactSandboxFrame-qsj_Y3LV.js} +2 -2
  140. package/frontend/dist/js/ArtifactSlideOutPanel-CSFRluWA.js +1 -0
  141. package/frontend/dist/js/AutomationsPage-KUeWoZNv.js +1 -0
  142. package/frontend/dist/js/CalendarPage-D9I972w8.js +1 -0
  143. package/frontend/dist/js/ChatPage-CmBx4oAL.js +16 -0
  144. package/frontend/dist/js/{FirstTimeSetup-smhj0X6o.js → FirstTimeSetup-Df0YJni3.js} +1 -1
  145. package/frontend/dist/js/GalleryPage-bLCrdJN_.js +1 -0
  146. package/frontend/dist/js/HomePage-Uc6PEg-U.js +1 -0
  147. package/frontend/dist/js/{LibreClawPage-CRKei1MM.js → LibreClawPage-CG63DHg1.js} +1 -1
  148. package/frontend/dist/js/{ModelManagerModals-D0amaOnl.js → ModelManagerModals-DcLGYN3l.js} +1 -1
  149. package/frontend/dist/js/ModelSelector-yxJC64rM.js +1 -0
  150. package/frontend/dist/js/ModelsPage-1R_TxgmJ.js +2 -0
  151. package/frontend/dist/js/NotesPage-L65j5HoW.js +1 -0
  152. package/frontend/dist/js/PersonasPage-CKeBpHIH.js +13 -0
  153. package/frontend/dist/js/PluginUsagePage-BX1SKMbW.js +1 -0
  154. package/frontend/dist/js/{RichMessageContent-Bxi_u0gC.js → RichMessageContent-DiySVYGB.js} +1 -1
  155. package/frontend/dist/js/SettingsModal-68SG1uZ2.js +1 -0
  156. package/frontend/dist/js/SystemPage-CytpZiQV.js +1 -0
  157. package/frontend/dist/js/UserManagementPage-BzJBvZiS.js +1 -0
  158. package/frontend/dist/js/WorkPage-C8gr0QJe.js +6 -0
  159. package/frontend/dist/js/api-BDtqBtqw.js +14 -0
  160. package/frontend/dist/js/{appStore-CJtomipz.js → appStore-0JnCUlEq.js} +2 -2
  161. package/frontend/dist/js/ar-CSpi37Gr.js +2 -0
  162. package/frontend/dist/js/{authStore-BckFDL70.js → authStore-DbMdvNgJ.js} +3 -3
  163. package/frontend/dist/js/{babel-D24oDI9y.js → babel-BsYoxD-7.js} +1 -1
  164. package/frontend/dist/js/bn-CyH1BeDD.js +2 -0
  165. package/frontend/dist/js/calendarDates-Co3o_05Y.js +1 -0
  166. package/frontend/dist/js/chatStore-CHQ2uINS.js +3 -0
  167. package/frontend/dist/js/{config-CNVNpf_q.js → config-DSOYQ9a3.js} +1 -1
  168. package/frontend/dist/js/cs-Cv2NfRK5.js +2 -0
  169. package/frontend/dist/js/da-D6D6IvPK.js +2 -0
  170. package/frontend/dist/js/de-BNoJJTrT.js +2 -0
  171. package/frontend/dist/js/es-kzo9C7q_.js +2 -0
  172. package/frontend/dist/js/{estree-D1TYSBcf.js → estree-BcnBcOAx.js} +7 -7
  173. package/frontend/dist/js/fr-CjHYvJRp.js +2 -0
  174. package/frontend/dist/js/hi-BU98AdCQ.js +2 -0
  175. package/frontend/dist/js/{html-Dmddj0zf.js → html-DkY55Jys.js} +10 -10
  176. package/frontend/dist/js/id-CpdedejX.js +2 -0
  177. package/frontend/dist/js/is-Cp5dDWBH.js +2 -0
  178. package/frontend/dist/js/it-CuH_cK4U.js +2 -0
  179. package/frontend/dist/js/ja-BWXXXiHn.js +2 -0
  180. package/frontend/dist/js/ko-DQgv2M1t.js +2 -0
  181. package/frontend/dist/js/{markdown-Bl_LsHEk.js → markdown-IZSI9DXw.js} +6 -6
  182. package/frontend/dist/js/{messageCodeStyles-CgKxn4tN.js → messageCodeStyles-BFNR9Wv6.js} +2 -2
  183. package/frontend/dist/js/ms-DCcRoIcX.js +2 -0
  184. package/frontend/dist/js/nl-CbKR1_EU.js +2 -0
  185. package/frontend/dist/js/pl-CRyJZccn.js +2 -0
  186. package/frontend/dist/js/{postcss-Bx9CTcIc.js → postcss-BJ0okz7n.js} +1 -1
  187. package/frontend/dist/js/pt-BXYmHFGH.js +2 -0
  188. package/frontend/dist/js/{router-vendor-CbPDks39.js → router-vendor-DGFGM3EP.js} +1 -1
  189. package/frontend/dist/js/ru-M9SyZG4b.js +2 -0
  190. package/frontend/dist/js/{standalone-BWau8hEE.js → standalone-Csw3jfJ_.js} +5 -5
  191. package/frontend/dist/js/sv-DJ486LTU.js +2 -0
  192. package/frontend/dist/js/th-Ch7gKtZv.js +2 -0
  193. package/frontend/dist/js/tr-ClehWhSC.js +2 -0
  194. package/frontend/dist/js/{typescript-DxGn3Yn-.js → typescript-CnF4UVx7.js} +2 -2
  195. package/frontend/dist/js/{ui-jlx9WA5A.js → ui-CC-K19wO.js} +2 -2
  196. package/frontend/dist/js/ui-vendor-B1UgO3vd.js +177 -0
  197. package/frontend/dist/js/uk-BqAd5zHF.js +2 -0
  198. package/frontend/dist/js/{vi-BgRaIrQC.js → vi-D9gjlDVB.js} +2 -2
  199. package/frontend/dist/js/{workApi-DWRpZ_cq.js → workApi-C3uy9EDT.js} +3 -3
  200. package/frontend/dist/js/{yaml-DioTxVLA.js → yaml-DzT5hBSH.js} +5 -5
  201. package/frontend/dist/js/zh-DKTyHkiR.js +2 -0
  202. package/package.json +2 -2
  203. package/frontend/dist/assets/index-BlTbxYPP.js +0 -33
  204. package/frontend/dist/assets/index-CbiWSGOj.css +0 -1
  205. package/frontend/dist/js/ArtifactContainer-C-n1vPsA.js +0 -1
  206. package/frontend/dist/js/ArtifactSlideOutPanel-2exw7YqL.js +0 -1
  207. package/frontend/dist/js/ChatPage-wnyG_TyC.js +0 -23
  208. package/frontend/dist/js/GalleryPage-BZfeWlBg.js +0 -1
  209. package/frontend/dist/js/HomePage-gf4GgI6z.js +0 -1
  210. package/frontend/dist/js/ModelSelector-C5Tn6y0p.js +0 -1
  211. package/frontend/dist/js/ModelsPage-Rbags4Xq.js +0 -2
  212. package/frontend/dist/js/NotesPage-9NR9HZZ8.js +0 -1
  213. package/frontend/dist/js/PersonasPage-DYP67Qiy.js +0 -13
  214. package/frontend/dist/js/PluginUsagePage-QtCgymRu.js +0 -1
  215. package/frontend/dist/js/SettingsModal-B4RelkLP.js +0 -1
  216. package/frontend/dist/js/SystemPage-xFSTYdBS.js +0 -1
  217. package/frontend/dist/js/UserManagementPage-Cp430WCP.js +0 -1
  218. package/frontend/dist/js/WorkPage-DFES41Qm.js +0 -6
  219. package/frontend/dist/js/api-DUUxxx_B.js +0 -14
  220. package/frontend/dist/js/ar-DMH3qbt6.js +0 -2
  221. package/frontend/dist/js/bn-CGDX8khx.js +0 -2
  222. package/frontend/dist/js/chatStore-DK-_wd-j.js +0 -3
  223. package/frontend/dist/js/cs-CJLgUk3m.js +0 -2
  224. package/frontend/dist/js/da-DnZMnCVM.js +0 -2
  225. package/frontend/dist/js/de-CWpguVQ5.js +0 -2
  226. package/frontend/dist/js/es-DVU1vjm0.js +0 -2
  227. package/frontend/dist/js/fr-pWnSnypD.js +0 -2
  228. package/frontend/dist/js/hi-B6xDfxA5.js +0 -2
  229. package/frontend/dist/js/id-BThSTUAG.js +0 -2
  230. package/frontend/dist/js/is-BOohDFie.js +0 -2
  231. package/frontend/dist/js/it-BdRArcCC.js +0 -2
  232. package/frontend/dist/js/ja-5Cq35sMr.js +0 -2
  233. package/frontend/dist/js/ko-BlzNRtpQ.js +0 -2
  234. package/frontend/dist/js/ms-CtGeurkZ.js +0 -2
  235. package/frontend/dist/js/nl-MKPHGjVF.js +0 -2
  236. package/frontend/dist/js/pl-BwBrqCey.js +0 -2
  237. package/frontend/dist/js/pt-CKzoHWBB.js +0 -2
  238. package/frontend/dist/js/ru-BQC4jh0Y.js +0 -2
  239. package/frontend/dist/js/sv-Cm0qXxzM.js +0 -2
  240. package/frontend/dist/js/th-DUPbiRI2.js +0 -2
  241. package/frontend/dist/js/tr-AsFu_Br5.js +0 -2
  242. package/frontend/dist/js/ui-vendor-54SgntkX.js +0 -177
  243. package/frontend/dist/js/uk-DrMMOZ17.js +0 -2
  244. package/frontend/dist/js/zh-B4rcgcAy.js +0 -2
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import { buildOpenAIResponsesPayload, normalizeOpenAIResponsesResponse, } from './openAIResponsesAdapter.js';
18
- import { maxTokensForBudget, thinkingBudgetTokens, thinkingEffort, } from './thinkingOptions.js';
18
+ import { fitThinkingBudget, thinkingBudgetTokens, thinkingEffort, } from './thinkingOptions.js';
19
19
  const KIMI_CODE_FIXED_SAMPLING_VARIABLES = new Set([
20
20
  'temperature',
21
21
  'top_p',
@@ -34,6 +34,32 @@ const ANTHROPIC_LEGACY_SAMPLING_MODELS = new Set([
34
34
  'claude-sonnet-4-5-20250929',
35
35
  'claude-sonnet-4-6',
36
36
  ]);
37
+ /**
38
+ * Documented max_tokens ceilings by model family, longest prefix first. A
39
+ * thinking budget raised max_tokens past what the model accepts — 17,408 on
40
+ * a model that stops at 8,192 is a 400 the user could not predict — so the
41
+ * request is clamped to the ceiling and the budget shrinks with it. Unknown
42
+ * families are not clamped: a wrong ceiling would truncate real replies.
43
+ */
44
+ const ANTHROPIC_MAX_OUTPUT_TOKENS = [
45
+ ['claude-3-7-sonnet', 64000],
46
+ ['claude-3-5-sonnet', 8192],
47
+ ['claude-3-5-haiku', 8192],
48
+ ['claude-3-haiku', 4096],
49
+ ['claude-3-opus', 4096],
50
+ ['claude-3-sonnet', 4096],
51
+ ['claude-sonnet-4', 64000],
52
+ ['claude-haiku-4', 64000],
53
+ ['claude-opus-4', 32000],
54
+ ];
55
+ export function anthropicMaxOutputTokens(model) {
56
+ const name = model.toLowerCase();
57
+ for (const [prefix, ceiling] of ANTHROPIC_MAX_OUTPUT_TOKENS) {
58
+ if (name.startsWith(prefix))
59
+ return ceiling;
60
+ }
61
+ return undefined;
62
+ }
37
63
  export function resolvePluginChatParameters(options = {}, pluginVars = {}) {
38
64
  return {
39
65
  temperature: options.temperature ??
@@ -157,11 +183,22 @@ function buildAnthropicChatPayload(model, messages, options, params) {
157
183
  const systemMessages = messages.filter(message => message.role === 'system');
158
184
  const nonSystemMessages = messages.filter(message => message.role !== 'system');
159
185
  // Anthropic prices thinking in tokens and takes it as its own block. The
160
- // budget has to fit inside max_tokens with room left for the answer.
161
- const budgetTokens = thinkingBudgetTokens(options.think);
162
- const maxTokens = budgetTokens === undefined
163
- ? (params.maxTokens ?? 1024)
164
- : maxTokensForBudget(params.maxTokens ?? 1024, budgetTokens);
186
+ // budget has to fit inside max_tokens with room left for the answer; an
187
+ // explicit user ceiling shrinks the budget rather than being raised, and
188
+ // the model's own documented ceiling bounds them both.
189
+ const levelBudget = thinkingBudgetTokens(options.think);
190
+ const fitted = levelBudget === undefined
191
+ ? undefined
192
+ : fitThinkingBudget(params.maxTokens, levelBudget);
193
+ const modelCeiling = anthropicMaxOutputTokens(model);
194
+ let budgetTokens = fitted?.budgetTokens;
195
+ let maxTokens = fitted?.maxTokens ?? params.maxTokens ?? 1024;
196
+ if (modelCeiling !== undefined && maxTokens > modelCeiling) {
197
+ maxTokens = modelCeiling;
198
+ if (budgetTokens !== undefined) {
199
+ budgetTokens = Math.max(1024, Math.min(budgetTokens, modelCeiling - 1024));
200
+ }
201
+ }
165
202
  const payload = {
166
203
  model,
167
204
  messages: toAnthropicMessages(nonSystemMessages),
@@ -216,18 +253,29 @@ function buildGeminiChatPayload(model, messages, options, params) {
216
253
  }
217
254
  // Gemini takes a thinking budget too, inside the generation config. Only an
218
255
  // enabled setting is sent: a zero budget is rejected by the models that
219
- // always reason, so switching thinking off is left to the model.
220
- const budgetTokens = thinkingBudgetTokens(options.think);
256
+ // always reason, so switching thinking off is left to the model. Thinking
257
+ // tokens count against maxOutputTokens, so the ceiling has to hold the
258
+ // budget plus the answer or the reply arrives empty at MAX_TOKENS.
259
+ const levelBudget = thinkingBudgetTokens(options.think);
260
+ const fitted = levelBudget === undefined
261
+ ? undefined
262
+ : fitThinkingBudget(params.maxTokens, levelBudget);
221
263
  return {
222
264
  payload: {
223
265
  contents: [{ parts }],
224
266
  generationConfig: {
225
267
  temperature: params.temperature,
226
- maxOutputTokens: params.maxTokens ?? 1024,
268
+ maxOutputTokens: fitted?.maxTokens ?? params.maxTokens ?? 1024,
227
269
  topP: params.topP,
228
270
  stopSequences: options.stop,
229
- ...(budgetTokens !== undefined
230
- ? { thinkingConfig: { thinkingBudget: budgetTokens } }
271
+ ...(fitted !== undefined
272
+ ? {
273
+ thinkingConfig: {
274
+ thinkingBudget: fitted.budgetTokens,
275
+ // Without this the user pays for thinking and sees none.
276
+ includeThoughts: true,
277
+ },
278
+ }
231
279
  : {}),
232
280
  },
233
281
  },
@@ -300,15 +348,20 @@ export function convertAnthropicResponse(anthropicResponse, model) {
300
348
  ? stopReasonMap[anthropicResponse.stop_reason] || 'stop'
301
349
  : 'stop';
302
350
  let content = '';
351
+ let reasoning = '';
303
352
  if (Array.isArray(anthropicResponse.content)) {
304
353
  for (const block of anthropicResponse.content) {
305
- if (block &&
306
- typeof block === 'object' &&
307
- 'type' in block &&
308
- block.type === 'text' &&
309
- 'text' in block &&
310
- typeof block.text === 'string') {
311
- content += block.text;
354
+ if (!block || typeof block !== 'object' || !('type' in block))
355
+ continue;
356
+ if (block.type === 'text' && 'text' in block) {
357
+ if (typeof block.text === 'string')
358
+ content += block.text;
359
+ }
360
+ else if (block.type === 'thinking' && 'thinking' in block) {
361
+ // The streaming path renders these; a non-streaming reply must not
362
+ // silently drop the reasoning the user paid for.
363
+ if (typeof block.thinking === 'string')
364
+ reasoning += block.thinking;
312
365
  }
313
366
  }
314
367
  }
@@ -336,6 +389,7 @@ export function convertAnthropicResponse(anthropicResponse, model) {
336
389
  message: {
337
390
  role: 'assistant',
338
391
  content,
392
+ ...(reasoning ? { reasoning_content: reasoning } : {}),
339
393
  },
340
394
  finish_reason: stopReason,
341
395
  },
@@ -346,6 +400,7 @@ export function convertAnthropicResponse(anthropicResponse, model) {
346
400
  export function convertGeminiResponse(geminiResponse, model) {
347
401
  const id = `chatcmpl-${Date.now()}`;
348
402
  let content = '';
403
+ let reasoning = '';
349
404
  let finishReason = 'stop';
350
405
  if (Array.isArray(geminiResponse.candidates)) {
351
406
  const candidate = geminiResponse.candidates[0];
@@ -359,7 +414,14 @@ export function convertGeminiResponse(geminiResponse, model) {
359
414
  typeof part === 'object' &&
360
415
  'text' in part &&
361
416
  typeof part.text === 'string') {
362
- content += part.text;
417
+ // Thought summaries arrive as parts flagged `thought`; they are
418
+ // reasoning, not answer text.
419
+ if ('thought' in part && part.thought === true) {
420
+ reasoning += part.text;
421
+ }
422
+ else {
423
+ content += part.text;
424
+ }
363
425
  }
364
426
  }
365
427
  }
@@ -403,6 +465,7 @@ export function convertGeminiResponse(geminiResponse, model) {
403
465
  message: {
404
466
  role: 'assistant',
405
467
  content,
468
+ ...(reasoning ? { reasoning_content: reasoning } : {}),
406
469
  },
407
470
  finish_reason: finishReason,
408
471
  },
@@ -1 +1 @@
1
- {"version":3,"file":"pluginChatAdapter.js","sourceRoot":"","sources":["../../src/utils/pluginChatAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginChatAdapter.js","sourceRoot":"","sources":["../../src/utils/pluginChatAdapter.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,30 @@
6
6
  export declare function readModelContextLength(entry: Record<string, unknown> | undefined): number | undefined;
7
7
  /** Context windows by model id, for the models that report one. */
8
8
  export type PluginModelContextMap = Record<string, number>;
9
+ /** Reasoning support by model id, for the models where it is knowable. */
10
+ export type PluginModelReasoningMap = Record<string, boolean>;
11
+ /**
12
+ * Whether one listing entry says its model can reason. OpenRouter publishes
13
+ * `supported_parameters` for every model, so on entries that carry the array
14
+ * its silence is a real "no"; other providers say nothing, and nothing is
15
+ * recorded rather than guessed here — the name heuristic below is the
16
+ * fallback, kept separate because a listing's own answer must win.
17
+ */
18
+ export declare function readModelReasoningSupport(entry: Record<string, unknown> | undefined): boolean | undefined;
19
+ /**
20
+ * What a model's name says about reasoning, for the providers whose listings
21
+ * say nothing. This is a maintained table of the major families: a wrong
22
+ * "true" costs a provider error the user can act on, a wrong "false" hides a
23
+ * working control, and an unknown name stays undefined — offered, like an
24
+ * Ollama model that reports no capabilities.
25
+ */
26
+ export declare function inferReasoningFromModelId(id: string): boolean | undefined;
27
+ export declare function readModelReasoningMap(entries: readonly unknown[]): PluginModelReasoningMap;
9
28
  export declare function readModelContextMap(entries: readonly unknown[]): PluginModelContextMap;
10
29
  export interface DiscoveredPluginCatalog {
11
30
  models: string[];
12
31
  modelContext?: PluginModelContextMap;
32
+ modelReasoning?: PluginModelReasoningMap;
13
33
  /**
14
34
  * Whether the catalog was written before context windows were captured. Such
15
35
  * a catalog cannot be told apart from a provider that simply publishes none,
@@ -1 +1 @@
1
- {"version":3,"file":"pluginModelCatalog.d.ts","sourceRoot":"","sources":["../../src/utils/pluginModelCatalog.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,MAAM,GAAG,SAAS,CAiBpB;AAED,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,qBAAqB,CAavB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAMR;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAyCzB"}
1
+ {"version":3,"file":"pluginModelCatalog.d.ts","sourceRoot":"","sources":["../../src/utils/pluginModelCatalog.ts"],"names":[],"mappings":"AAsDA;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,MAAM,GAAG,SAAS,CAiBpB;AAED,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3D,0EAA0E;AAC1E,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9D;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACzC,OAAO,GAAG,SAAS,CA0BrB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CA4BzE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,uBAAuB,CAczB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,qBAAqB,CAavB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAOR;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,GACjB,uBAAuB,CA0DzB"}
@@ -69,6 +69,82 @@ export function readModelContextLength(entry) {
69
69
  }
70
70
  return undefined;
71
71
  }
72
+ /**
73
+ * Whether one listing entry says its model can reason. OpenRouter publishes
74
+ * `supported_parameters` for every model, so on entries that carry the array
75
+ * its silence is a real "no"; other providers say nothing, and nothing is
76
+ * recorded rather than guessed here — the name heuristic below is the
77
+ * fallback, kept separate because a listing's own answer must win.
78
+ */
79
+ export function readModelReasoningSupport(entry) {
80
+ if (!entry)
81
+ return undefined;
82
+ const supportedParameters = entry.supported_parameters;
83
+ if (Array.isArray(supportedParameters)) {
84
+ return supportedParameters.some(parameter => parameter === 'reasoning' ||
85
+ parameter === 'include_reasoning' ||
86
+ parameter === 'reasoning_effort');
87
+ }
88
+ const capabilities = entry.capabilities;
89
+ if (Array.isArray(capabilities) &&
90
+ capabilities.some(capability => capability === 'reasoning' || capability === 'thinking')) {
91
+ return true;
92
+ }
93
+ if (entry.reasoning === true)
94
+ return true;
95
+ return undefined;
96
+ }
97
+ /**
98
+ * What a model's name says about reasoning, for the providers whose listings
99
+ * say nothing. This is a maintained table of the major families: a wrong
100
+ * "true" costs a provider error the user can act on, a wrong "false" hides a
101
+ * working control, and an unknown name stays undefined — offered, like an
102
+ * Ollama model that reports no capabilities.
103
+ */
104
+ export function inferReasoningFromModelId(id) {
105
+ const name = id.toLowerCase();
106
+ const tail = name.split('/').pop() ?? name;
107
+ // OpenAI: the o-series, gpt-5 family, and gpt-oss reason; the gpt-4/4o and
108
+ // earlier chat families do not.
109
+ if (/^o[134](-|$)/.test(tail) || tail.startsWith('gpt-5'))
110
+ return true;
111
+ if (tail.includes('gpt-oss'))
112
+ return true;
113
+ if (/^(chatgpt-|gpt-4|gpt-3)/.test(tail))
114
+ return false;
115
+ // Anthropic: extended thinking exists from Claude 3.7 on. Everything older
116
+ // — Claude 3.x, Claude 2, Instant — predates it.
117
+ if (tail.includes('claude')) {
118
+ return !/claude-(3-[05]|3-(haiku|sonnet|opus)|2|instant)/.test(tail);
119
+ }
120
+ // Gemini: thinking arrived with 2.5; 2.0 only in the models that carry
121
+ // "thinking" in the name.
122
+ if (tail.includes('gemini')) {
123
+ if (tail.includes('thinking'))
124
+ return true;
125
+ const generation = /gemini-(\d+(?:\.\d+)?)/.exec(tail);
126
+ return generation ? Number(generation[1]) >= 2.5 : undefined;
127
+ }
128
+ // Open reasoning families served through providers.
129
+ if (/(^|[^a-z])r1([^a-z]|$)/.test(tail) || tail.includes('qwq'))
130
+ return true;
131
+ return undefined;
132
+ }
133
+ export function readModelReasoningMap(entries) {
134
+ const reasoning = {};
135
+ for (const entry of entries) {
136
+ if (!entry || typeof entry !== 'object')
137
+ continue;
138
+ const record = entry;
139
+ const id = record.id;
140
+ if (typeof id !== 'string' || id.length === 0)
141
+ continue;
142
+ const support = readModelReasoningSupport(record) ?? inferReasoningFromModelId(id);
143
+ if (support !== undefined)
144
+ reasoning[id] = support;
145
+ }
146
+ return reasoning;
147
+ }
72
148
  export function readModelContextMap(entries) {
73
149
  const contexts = {};
74
150
  for (const entry of entries) {
@@ -96,6 +172,7 @@ export function serializeDiscoveredCatalog(catalog) {
96
172
  version: 1,
97
173
  models: catalog.models,
98
174
  context: catalog.modelContext ?? {},
175
+ reasoning: catalog.modelReasoning ?? {},
99
176
  });
100
177
  }
101
178
  export function parseDiscoveredCatalog(serialized) {
@@ -104,6 +181,8 @@ export function parseDiscoveredCatalog(serialized) {
104
181
  if (Array.isArray(parsed)) {
105
182
  return { models: uniqueModels(parsed), legacy: true };
106
183
  }
184
+ // An object catalog missing the reasoning key was written before reasoning
185
+ // support was captured; like the plain-array form it earns one refresh.
107
186
  if (!parsed || typeof parsed !== 'object') {
108
187
  return { models: [] };
109
188
  }
@@ -114,16 +193,29 @@ export function parseDiscoveredCatalog(serialized) {
114
193
  const context = record.context && typeof record.context === 'object'
115
194
  ? record.context
116
195
  : undefined;
117
- if (!context)
118
- return { models };
119
196
  const modelContext = {};
120
- for (const [model, length] of Object.entries(context)) {
121
- const contextLength = asContextLength(length);
122
- if (contextLength !== undefined)
123
- modelContext[model] = contextLength;
197
+ if (context) {
198
+ for (const [model, length] of Object.entries(context)) {
199
+ const contextLength = asContextLength(length);
200
+ if (contextLength !== undefined)
201
+ modelContext[model] = contextLength;
202
+ }
203
+ }
204
+ const reasoning = record.reasoning && typeof record.reasoning === 'object'
205
+ ? record.reasoning
206
+ : undefined;
207
+ const modelReasoning = {};
208
+ if (reasoning) {
209
+ for (const [model, support] of Object.entries(reasoning)) {
210
+ if (typeof support === 'boolean')
211
+ modelReasoning[model] = support;
212
+ }
124
213
  }
125
- return Object.keys(modelContext).length > 0
126
- ? { models, modelContext }
127
- : { models };
214
+ return {
215
+ models,
216
+ ...(Object.keys(modelContext).length > 0 ? { modelContext } : {}),
217
+ ...(Object.keys(modelReasoning).length > 0 ? { modelReasoning } : {}),
218
+ ...('reasoning' in record ? {} : { legacy: true }),
219
+ };
128
220
  }
129
221
  //# sourceMappingURL=pluginModelCatalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pluginModelCatalog.js","sourceRoot":"","sources":["../../src/utils/pluginModelCatalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginModelCatalog.js","sourceRoot":"","sources":["../../src/utils/pluginModelCatalog.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,13 @@ export declare const MAX_NOTE_TITLE_LENGTH = 200;
3
3
  export declare const MAX_NOTE_CONTENT_LENGTH = 200000;
4
4
  export declare const MAX_SESSION_FOLDERS_PER_USER = 100;
5
5
  export declare const MAX_SESSION_FOLDER_NAME_LENGTH = 120;
6
+ export declare const MAX_CALENDAR_EVENTS_PER_USER = 2000;
7
+ export declare const MAX_CALENDAR_EVENT_TITLE_LENGTH = 200;
8
+ export declare const MAX_CALENDAR_EVENT_NOTES_LENGTH = 10000;
9
+ export declare const MAX_AUTOMATIONS_PER_USER = 50;
10
+ export declare const MAX_AUTOMATION_NAME_LENGTH = 200;
11
+ export declare const MAX_AUTOMATION_INSTRUCTIONS_LENGTH = 20000;
12
+ export declare const MAX_AUTOMATION_TRIGGERS = 5;
6
13
  export declare class ResourcePolicyError extends Error {
7
14
  readonly statusCode: 400 | 409;
8
15
  constructor(message: string, statusCode: 400 | 409);
@@ -1 +1 @@
1
- {"version":3,"file":"resourceLimits.d.ts","sourceRoot":"","sources":["../../src/utils/resourceLimits.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAC/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG;IAFhC,YACE,OAAO,EAAE,MAAM,EACN,UAAU,EAAE,GAAG,GAAG,GAAG,EAI/B;CACF"}
1
+ {"version":3,"file":"resourceLimits.d.ts","sourceRoot":"","sources":["../../src/utils/resourceLimits.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAC/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,+BAA+B,QAAS,CAAC;AACtD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,kCAAkC,QAAS,CAAC;AACzD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,qBAAa,mBAAoB,SAAQ,KAAK;IAG1C,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG;IAFhC,YACE,OAAO,EAAE,MAAM,EACN,UAAU,EAAE,GAAG,GAAG,GAAG,EAI/B;CACF"}
@@ -19,6 +19,13 @@ export const MAX_NOTE_TITLE_LENGTH = 200;
19
19
  export const MAX_NOTE_CONTENT_LENGTH = 200000;
20
20
  export const MAX_SESSION_FOLDERS_PER_USER = 100;
21
21
  export const MAX_SESSION_FOLDER_NAME_LENGTH = 120;
22
+ export const MAX_CALENDAR_EVENTS_PER_USER = 2000;
23
+ export const MAX_CALENDAR_EVENT_TITLE_LENGTH = 200;
24
+ export const MAX_CALENDAR_EVENT_NOTES_LENGTH = 10000;
25
+ export const MAX_AUTOMATIONS_PER_USER = 50;
26
+ export const MAX_AUTOMATION_NAME_LENGTH = 200;
27
+ export const MAX_AUTOMATION_INSTRUCTIONS_LENGTH = 20000;
28
+ export const MAX_AUTOMATION_TRIGGERS = 5;
22
29
  export class ResourcePolicyError extends Error {
23
30
  constructor(message, statusCode) {
24
31
  super(message);
@@ -1 +1 @@
1
- {"version":3,"file":"resourceLimits.js","sourceRoot":"","sources":["../../src/utils/resourceLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAO,CAAC;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YACE,OAAe,EACN,UAAqB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;0BAFN,UAAU;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"resourceLimits.js","sourceRoot":"","sources":["../../src/utils/resourceLimits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAO,CAAC;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAM,CAAC;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAM,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YACE,OAAe,EACN,UAAqB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;0BAFN,UAAU;QAGnB,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF"}
@@ -27,9 +27,10 @@ export declare function normalizeThinkingPreference(value: unknown): ThinkingPre
27
27
  * it beside `options`, and the other providers take their own field entirely.
28
28
  * This lifts it back out at the request boundary.
29
29
  */
30
+ type WithoutThink<T> = T extends Record<string, unknown> ? Omit<T, 'think'> : T;
30
31
  export declare function splitThinkingOption<T extends Record<string, unknown> | undefined>(options: T): {
31
32
  think: ThinkingPreference | undefined;
32
- options: T;
33
+ options: WithoutThink<T>;
33
34
  };
34
35
  /**
35
36
  * OpenAI-style reasoning effort. `true` means "think, but I have no opinion
@@ -41,8 +42,27 @@ export declare function thinkingEffort(think: unknown): ThinkingLevel | undefine
41
42
  export declare function thinkingBudgetTokens(think: unknown): number | undefined;
42
43
  /**
43
44
  * A reply has to fit beside the reasoning it took: Anthropic rejects a budget
44
- * that is not smaller than `max_tokens`, and a budget that eats the whole
45
- * allowance leaves the answer truncated.
45
+ * that is not smaller than `max_tokens`, Gemini counts thinking against
46
+ * `maxOutputTokens`, and a budget that eats the whole allowance leaves the
47
+ * answer truncated.
46
48
  */
47
49
  export declare function maxTokensForBudget(maxTokens: number | undefined, budgetTokens: number): number;
50
+ /**
51
+ * Fit a thinking budget and an output ceiling together. An explicit user
52
+ * ceiling is respected by shrinking the budget into it rather than silently
53
+ * raising a cap the user chose; only a ceiling too small to hold any
54
+ * thinking at all is raised, and by the minimum that makes the request
55
+ * valid.
56
+ */
57
+ export declare function fitThinkingBudget(maxTokens: number | undefined, budgetTokens: number): {
58
+ maxTokens: number;
59
+ budgetTokens: number;
60
+ };
61
+ /**
62
+ * The only Ollama family that understands named thinking levels. Every other
63
+ * reasoning model takes `think` as a boolean, so a level from a chat that
64
+ * moved between models degrades to "on" instead of erroring.
65
+ */
66
+ export declare function ollamaSupportsThinkingLevels(model: string): boolean;
67
+ export {};
48
68
  //# sourceMappingURL=thinkingOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinkingOptions.d.ts","sourceRoot":"","sources":["../../src/utils/thinkingOptions.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,eAAe,YAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,aAAa,CAAC;AAiBzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAKtE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAMhC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAE7C,OAAO,EAAE,CAAC,GACT;IACD,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC;CACZ,CAUA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAIxE;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR"}
1
+ {"version":3,"file":"thinkingOptions.d.ts","sourceRoot":"","sources":["../../src/utils/thinkingOptions.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,eAAe,YAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,aAAa,CAAC;AAiBzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAKtE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,kBAAkB,GAAG,SAAS,CAMhC;AAED;;;;;GAKG;AACH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAEhF,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAE7C,OAAO,EAAE,CAAC,GACT;IACD,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;CAC1B,CAUA;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAIxE;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,MAAM,GACnB,MAAM,CAGR;AAKD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,YAAY,EAAE,MAAM,GACnB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAmB7C;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnE"}
@@ -60,15 +60,9 @@ export function normalizeThinkingPreference(value) {
60
60
  return true;
61
61
  return undefined;
62
62
  }
63
- /**
64
- * `think` travels with the generation options because that is how a chat
65
- * carries its own settings, but it is never a sampling parameter: Ollama takes
66
- * it beside `options`, and the other providers take their own field entirely.
67
- * This lifts it back out at the request boundary.
68
- */
69
63
  export function splitThinkingOption(options) {
70
64
  if (!options || !('think' in options)) {
71
- return { think: undefined, options };
65
+ return { think: undefined, options: options };
72
66
  }
73
67
  const { think, ...rest } = options;
74
68
  return {
@@ -94,11 +88,43 @@ export function thinkingBudgetTokens(think) {
94
88
  }
95
89
  /**
96
90
  * A reply has to fit beside the reasoning it took: Anthropic rejects a budget
97
- * that is not smaller than `max_tokens`, and a budget that eats the whole
98
- * allowance leaves the answer truncated.
91
+ * that is not smaller than `max_tokens`, Gemini counts thinking against
92
+ * `maxOutputTokens`, and a budget that eats the whole allowance leaves the
93
+ * answer truncated.
99
94
  */
100
95
  export function maxTokensForBudget(maxTokens, budgetTokens) {
101
96
  const minimum = budgetTokens + ANSWER_HEADROOM_TOKENS;
102
97
  return maxTokens === undefined ? minimum : Math.max(maxTokens, minimum);
103
98
  }
99
+ /** Providers require at least this much budget for thinking to mean anything. */
100
+ const MINIMUM_THINKING_BUDGET_TOKENS = 1024;
101
+ /**
102
+ * Fit a thinking budget and an output ceiling together. An explicit user
103
+ * ceiling is respected by shrinking the budget into it rather than silently
104
+ * raising a cap the user chose; only a ceiling too small to hold any
105
+ * thinking at all is raised, and by the minimum that makes the request
106
+ * valid.
107
+ */
108
+ export function fitThinkingBudget(maxTokens, budgetTokens) {
109
+ if (maxTokens === undefined ||
110
+ maxTokens >= budgetTokens + ANSWER_HEADROOM_TOKENS) {
111
+ return {
112
+ maxTokens: maxTokensForBudget(maxTokens, budgetTokens),
113
+ budgetTokens,
114
+ };
115
+ }
116
+ const shrunk = Math.max(MINIMUM_THINKING_BUDGET_TOKENS, maxTokens - ANSWER_HEADROOM_TOKENS);
117
+ return {
118
+ maxTokens: maxTokensForBudget(maxTokens, shrunk),
119
+ budgetTokens: shrunk,
120
+ };
121
+ }
122
+ /**
123
+ * The only Ollama family that understands named thinking levels. Every other
124
+ * reasoning model takes `think` as a boolean, so a level from a chat that
125
+ * moved between models degrades to "on" instead of erroring.
126
+ */
127
+ export function ollamaSupportsThinkingLevels(model) {
128
+ return model.toLowerCase().includes('gpt-oss');
129
+ }
104
130
  //# sourceMappingURL=thinkingOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thinkingOptions.js","sourceRoot":"","sources":["../../src/utils/thinkingOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAOlE;;;;;GAKG;AACH,MAAM,gBAAgB,GAAkC;IACtD,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,qEAAqE;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAGjC,OAAU;IAKV,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnC,OAAO;QACL,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC;QACzC,OAAO,EAAE,IAAS;KACnB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;AACrD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA6B,EAC7B,YAAoB;IAEpB,MAAM,OAAO,GAAG,YAAY,GAAG,sBAAsB,CAAC;IACtD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"thinkingOptions.js","sourceRoot":"","sources":["../../src/utils/thinkingOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;GAWG;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAOlE;;;;;GAKG;AACH,MAAM,gBAAgB,GAAkC;IACtD,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF,qEAAqE;AACrE,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,eAAqC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAUD,MAAM,UAAU,mBAAmB,CAGjC,OAAU;IAKV,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAA0B,EAAE,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACnC,OAAO;QACL,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC;QACzC,OAAO,EAAE,IAAuB;KACjC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,UAAU,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;AACrD,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAA6B,EAC7B,YAAoB;IAEpB,MAAM,OAAO,GAAG,YAAY,GAAG,sBAAsB,CAAC;IACtD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,iFAAiF;AACjF,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAA6B,EAC7B,YAAoB;IAEpB,IACE,SAAS,KAAK,SAAS;QACvB,SAAS,IAAI,YAAY,GAAG,sBAAsB,EAClD,CAAC;QACD,OAAO;YACL,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,YAAY,CAAC;YACtD,YAAY;SACb,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,8BAA8B,EAC9B,SAAS,GAAG,sBAAsB,CACnC,CAAC;IACF,OAAO;QACL,SAAS,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC;QAChD,YAAY,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocketServer.d.ts","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,MAAM,CAAC;AA2GpD,eAAO,MAAM,wBAAwB,WAC3B,MAAM,GAAG,SAAS,iDAEzB,OAqBF,CAAC;AAuDF,MAAM,WAAW,0BAA0B;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GACb,0BAA0B,CA+5B5B"}
1
+ {"version":3,"file":"websocketServer.d.ts","sourceRoot":"","sources":["../src/websocketServer.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAmB,MAAM,EAAE,MAAM,MAAM,CAAC;AA2GpD,eAAO,MAAM,wBAAwB,WAC3B,MAAM,GAAG,SAAS,iDAEzB,OAqBF,CAAC;AAuDF,MAAM,WAAW,0BAA0B;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AASD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GACb,0BAA0B,CAq6B5B"}