@pentoshi/clai 3.9.2 → 3.9.4

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 (407) hide show
  1. package/dist/agent/compaction-attempt.d.ts +22 -0
  2. package/dist/agent/compaction-attempt.js +69 -0
  3. package/dist/agent/compaction-attempt.js.map +1 -0
  4. package/dist/agent/compaction-summary.d.ts +27 -0
  5. package/dist/agent/compaction-summary.js +62 -0
  6. package/dist/agent/compaction-summary.js.map +1 -1
  7. package/dist/agent/context-breakdown.d.ts +2 -0
  8. package/dist/agent/context-breakdown.js +37 -0
  9. package/dist/agent/context-breakdown.js.map +1 -1
  10. package/dist/agent/context-manager.d.ts +7 -1
  11. package/dist/agent/context-manager.js +64 -15
  12. package/dist/agent/context-manager.js.map +1 -1
  13. package/dist/agent/continue-orient.d.ts +8 -0
  14. package/dist/agent/continue-orient.js +26 -3
  15. package/dist/agent/continue-orient.js.map +1 -1
  16. package/dist/agent/durable-envelope.d.ts +39 -0
  17. package/dist/agent/durable-envelope.js +195 -0
  18. package/dist/agent/durable-envelope.js.map +1 -0
  19. package/dist/agent/events.d.ts +21 -0
  20. package/dist/agent/loop-guard.d.ts +13 -5
  21. package/dist/agent/loop-guard.js +114 -1
  22. package/dist/agent/loop-guard.js.map +1 -1
  23. package/dist/agent/outcomes.d.ts +29 -0
  24. package/dist/agent/outcomes.js +118 -3
  25. package/dist/agent/outcomes.js.map +1 -1
  26. package/dist/agent/plan-decision.js +8 -3
  27. package/dist/agent/plan-decision.js.map +1 -1
  28. package/dist/agent/plan-tool.d.ts +5 -0
  29. package/dist/agent/plan-tool.js +166 -6
  30. package/dist/agent/plan-tool.js.map +1 -1
  31. package/dist/agent/reliability-policy.d.ts +11 -6
  32. package/dist/agent/reliability-policy.js +19 -13
  33. package/dist/agent/reliability-policy.js.map +1 -1
  34. package/dist/agent/request-budget.d.ts +24 -0
  35. package/dist/agent/request-budget.js +59 -0
  36. package/dist/agent/request-budget.js.map +1 -0
  37. package/dist/agent/responder-context.js +2 -2
  38. package/dist/agent/responder-context.js.map +1 -1
  39. package/dist/agent/responder-parent.d.ts +30 -0
  40. package/dist/agent/responder-parent.js +82 -0
  41. package/dist/agent/responder-parent.js.map +1 -0
  42. package/dist/agent/runner.d.ts +15 -2
  43. package/dist/agent/runner.js +766 -213
  44. package/dist/agent/runner.js.map +1 -1
  45. package/dist/agent/scope-context.d.ts +5 -0
  46. package/dist/agent/scope-context.js +7 -1
  47. package/dist/agent/scope-context.js.map +1 -1
  48. package/dist/agent/session-policy.js +1 -0
  49. package/dist/agent/session-policy.js.map +1 -1
  50. package/dist/agent/stop-summary.js +13 -7
  51. package/dist/agent/stop-summary.js.map +1 -1
  52. package/dist/agent/task-analyzer.js +7 -3
  53. package/dist/agent/task-analyzer.js.map +1 -1
  54. package/dist/agent/task-evidence.js +2 -0
  55. package/dist/agent/task-evidence.js.map +1 -1
  56. package/dist/agent/task-sync.d.ts +11 -0
  57. package/dist/agent/task-sync.js +31 -0
  58. package/dist/agent/task-sync.js.map +1 -1
  59. package/dist/agent/tool-call-parser.d.ts +6 -13
  60. package/dist/agent/tool-call-parser.js +186 -82
  61. package/dist/agent/tool-call-parser.js.map +1 -1
  62. package/dist/agent/tool-history.d.ts +8 -2
  63. package/dist/agent/tool-history.js +8 -1
  64. package/dist/agent/tool-history.js.map +1 -1
  65. package/dist/agent/turn-outcome.d.ts +4 -1
  66. package/dist/agent/turn-outcome.js +16 -2
  67. package/dist/agent/turn-outcome.js.map +1 -1
  68. package/dist/app/adapters/agent-event-adapter.js +27 -0
  69. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  70. package/dist/app/adapters/current-agent-adapter.js +1 -0
  71. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  72. package/dist/app/adapters/current-interactive-sessions-adapter.d.ts +4 -0
  73. package/dist/app/adapters/current-interactive-sessions-adapter.js +11 -0
  74. package/dist/app/adapters/current-interactive-sessions-adapter.js.map +1 -0
  75. package/dist/app/adapters/current-jobs-adapter.js +4 -3
  76. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  77. package/dist/app/adapters/current-store-adapter.js +4 -3
  78. package/dist/app/adapters/current-store-adapter.js.map +1 -1
  79. package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
  80. package/dist/app/adapters/current-updates-adapter.js +34 -5
  81. package/dist/app/adapters/current-updates-adapter.js.map +1 -1
  82. package/dist/app/adapters/quiet-meta-tools.js +2 -1
  83. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  84. package/dist/app/controllers/cancel-all-result.d.ts +8 -0
  85. package/dist/app/controllers/cancel-all-result.js +32 -0
  86. package/dist/app/controllers/cancel-all-result.js.map +1 -0
  87. package/dist/app/controllers/job-controller.d.ts +4 -3
  88. package/dist/app/controllers/job-controller.js +9 -6
  89. package/dist/app/controllers/job-controller.js.map +1 -1
  90. package/dist/app/controllers/plan-controller.js +14 -0
  91. package/dist/app/controllers/plan-controller.js.map +1 -1
  92. package/dist/app/controllers/responder-settlement.js +2 -2
  93. package/dist/app/controllers/responder-settlement.js.map +1 -1
  94. package/dist/app/controllers/session-compact-helper.d.ts +23 -1
  95. package/dist/app/controllers/session-compact-helper.js +117 -7
  96. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  97. package/dist/app/controllers/session-context-usage.d.ts +24 -0
  98. package/dist/app/controllers/session-context-usage.js +89 -0
  99. package/dist/app/controllers/session-context-usage.js.map +1 -0
  100. package/dist/app/controllers/session-controller.d.ts +25 -17
  101. package/dist/app/controllers/session-controller.js +142 -128
  102. package/dist/app/controllers/session-controller.js.map +1 -1
  103. package/dist/app/controllers/session-prompt-queue.d.ts +3 -0
  104. package/dist/app/controllers/session-prompt-queue.js +20 -1
  105. package/dist/app/controllers/session-prompt-queue.js.map +1 -1
  106. package/dist/app/controllers/session-responder.js +16 -6
  107. package/dist/app/controllers/session-responder.js.map +1 -1
  108. package/dist/app/controllers/session-turn-request.d.ts +18 -0
  109. package/dist/app/controllers/session-turn-request.js +31 -0
  110. package/dist/app/controllers/session-turn-request.js.map +1 -0
  111. package/dist/app/controllers/turn-continuation.d.ts +14 -0
  112. package/dist/app/controllers/turn-continuation.js +46 -0
  113. package/dist/app/controllers/turn-continuation.js.map +1 -0
  114. package/dist/app/events/app-event.d.ts +21 -0
  115. package/dist/app/events/app-event.js +1 -0
  116. package/dist/app/events/app-event.js.map +1 -1
  117. package/dist/app/ports/agent-port.d.ts +7 -0
  118. package/dist/app/ports/interactive-sessions-port.d.ts +21 -0
  119. package/dist/app/ports/interactive-sessions-port.js +9 -0
  120. package/dist/app/ports/interactive-sessions-port.js.map +1 -0
  121. package/dist/app/ports/jobs-port.d.ts +4 -3
  122. package/dist/app/ports/persistence-port.d.ts +11 -0
  123. package/dist/app/ports/updates-port.d.ts +8 -0
  124. package/dist/attachments/service.js +13 -2
  125. package/dist/attachments/service.js.map +1 -1
  126. package/dist/commands/providers.js +13 -10
  127. package/dist/commands/providers.js.map +1 -1
  128. package/dist/commands/update.d.ts +4 -0
  129. package/dist/commands/update.js +14 -0
  130. package/dist/commands/update.js.map +1 -1
  131. package/dist/index.js +21 -8
  132. package/dist/index.js.map +1 -1
  133. package/dist/interactive-session/artifact-writer.d.ts +54 -0
  134. package/dist/interactive-session/artifact-writer.js +161 -0
  135. package/dist/interactive-session/artifact-writer.js.map +1 -0
  136. package/dist/interactive-session/cleanup.d.ts +36 -0
  137. package/dist/interactive-session/cleanup.js +157 -0
  138. package/dist/interactive-session/cleanup.js.map +1 -0
  139. package/dist/interactive-session/config.d.ts +118 -0
  140. package/dist/interactive-session/config.js +141 -0
  141. package/dist/interactive-session/config.js.map +1 -0
  142. package/dist/interactive-session/input-policy.d.ts +41 -0
  143. package/dist/interactive-session/input-policy.js +163 -0
  144. package/dist/interactive-session/input-policy.js.map +1 -0
  145. package/dist/interactive-session/manager.d.ts +107 -0
  146. package/dist/interactive-session/manager.js +927 -0
  147. package/dist/interactive-session/manager.js.map +1 -0
  148. package/dist/interactive-session/output-store.d.ts +81 -0
  149. package/dist/interactive-session/output-store.js +239 -0
  150. package/dist/interactive-session/output-store.js.map +1 -0
  151. package/dist/interactive-session/output-view.d.ts +20 -0
  152. package/dist/interactive-session/output-view.js +142 -0
  153. package/dist/interactive-session/output-view.js.map +1 -0
  154. package/dist/interactive-session/recovery-journal.d.ts +55 -0
  155. package/dist/interactive-session/recovery-journal.js +115 -0
  156. package/dist/interactive-session/recovery-journal.js.map +1 -0
  157. package/dist/interactive-session/registry.d.ts +59 -0
  158. package/dist/interactive-session/registry.js +170 -0
  159. package/dist/interactive-session/registry.js.map +1 -0
  160. package/dist/interactive-session/runtime.d.ts +107 -0
  161. package/dist/interactive-session/runtime.js +191 -0
  162. package/dist/interactive-session/runtime.js.map +1 -0
  163. package/dist/interactive-session/session-runtime.d.ts +50 -0
  164. package/dist/interactive-session/session-runtime.js +63 -0
  165. package/dist/interactive-session/session-runtime.js.map +1 -0
  166. package/dist/interactive-session/streaming-redactor.d.ts +53 -0
  167. package/dist/interactive-session/streaming-redactor.js +263 -0
  168. package/dist/interactive-session/streaming-redactor.js.map +1 -0
  169. package/dist/interactive-session/telemetry.d.ts +30 -0
  170. package/dist/interactive-session/telemetry.js +47 -0
  171. package/dist/interactive-session/telemetry.js.map +1 -0
  172. package/dist/interactive-session/transport-factory.d.ts +8 -0
  173. package/dist/interactive-session/transport-factory.js +16 -0
  174. package/dist/interactive-session/transport-factory.js.map +1 -0
  175. package/dist/interactive-session/transport-node-pty.d.ts +49 -0
  176. package/dist/interactive-session/transport-node-pty.js +219 -0
  177. package/dist/interactive-session/transport-node-pty.js.map +1 -0
  178. package/dist/interactive-session/transport-pipe.d.ts +9 -0
  179. package/dist/interactive-session/transport-pipe.js +215 -0
  180. package/dist/interactive-session/transport-pipe.js.map +1 -0
  181. package/dist/interactive-session/transport.d.ts +104 -0
  182. package/dist/interactive-session/transport.js +89 -0
  183. package/dist/interactive-session/transport.js.map +1 -0
  184. package/dist/interactive-session/types.d.ts +254 -0
  185. package/dist/interactive-session/types.js +191 -0
  186. package/dist/interactive-session/types.js.map +1 -0
  187. package/dist/llm/adapters/anthropic-tools.d.ts +14 -1
  188. package/dist/llm/adapters/anthropic-tools.js +36 -5
  189. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  190. package/dist/llm/adapters/gemini-tools.d.ts +3 -1
  191. package/dist/llm/adapters/gemini-tools.js +5 -2
  192. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  193. package/dist/llm/adapters/ollama-tools.js +8 -3
  194. package/dist/llm/adapters/ollama-tools.js.map +1 -1
  195. package/dist/llm/adapters/openai-tools.js +8 -1
  196. package/dist/llm/adapters/openai-tools.js.map +1 -1
  197. package/dist/llm/agentrouter.js +2 -0
  198. package/dist/llm/agentrouter.js.map +1 -1
  199. package/dist/llm/anthropic.d.ts +8 -0
  200. package/dist/llm/anthropic.js +68 -9
  201. package/dist/llm/anthropic.js.map +1 -1
  202. package/dist/llm/aws-mantle.js +60 -12
  203. package/dist/llm/aws-mantle.js.map +1 -1
  204. package/dist/llm/bynara.js +2 -0
  205. package/dist/llm/bynara.js.map +1 -1
  206. package/dist/llm/capabilities.d.ts +7 -0
  207. package/dist/llm/capabilities.js +22 -0
  208. package/dist/llm/capabilities.js.map +1 -1
  209. package/dist/llm/gemini.d.ts +3 -0
  210. package/dist/llm/gemini.js +71 -11
  211. package/dist/llm/gemini.js.map +1 -1
  212. package/dist/llm/groq.d.ts +20 -1
  213. package/dist/llm/groq.js +32 -4
  214. package/dist/llm/groq.js.map +1 -1
  215. package/dist/llm/http.d.ts +29 -0
  216. package/dist/llm/http.js +122 -29
  217. package/dist/llm/http.js.map +1 -1
  218. package/dist/llm/kimchi.js +2 -0
  219. package/dist/llm/kimchi.js.map +1 -1
  220. package/dist/llm/nvidia.js +2 -0
  221. package/dist/llm/nvidia.js.map +1 -1
  222. package/dist/llm/ollama.d.ts +5 -0
  223. package/dist/llm/ollama.js +53 -6
  224. package/dist/llm/ollama.js.map +1 -1
  225. package/dist/llm/openai.js +2 -0
  226. package/dist/llm/openai.js.map +1 -1
  227. package/dist/llm/openrouter.js +2 -0
  228. package/dist/llm/openrouter.js.map +1 -1
  229. package/dist/llm/qwen-cloud.js +2 -0
  230. package/dist/llm/qwen-cloud.js.map +1 -1
  231. package/dist/llm/router.d.ts +16 -0
  232. package/dist/llm/router.js +79 -23
  233. package/dist/llm/router.js.map +1 -1
  234. package/dist/llm/sampling.d.ts +32 -0
  235. package/dist/llm/sampling.js +48 -0
  236. package/dist/llm/sampling.js.map +1 -0
  237. package/dist/llm/stream-progress.d.ts +4 -0
  238. package/dist/llm/stream-progress.js +43 -0
  239. package/dist/llm/stream-progress.js.map +1 -0
  240. package/dist/llm/system-messages.d.ts +29 -0
  241. package/dist/llm/system-messages.js +51 -0
  242. package/dist/llm/system-messages.js.map +1 -0
  243. package/dist/llm/token-usage.d.ts +4 -1
  244. package/dist/llm/token-usage.js +56 -4
  245. package/dist/llm/token-usage.js.map +1 -1
  246. package/dist/llm/tool-protocol.js +30 -0
  247. package/dist/llm/tool-protocol.js.map +1 -1
  248. package/dist/os/process-identity.d.ts +46 -0
  249. package/dist/os/process-identity.js +147 -0
  250. package/dist/os/process-identity.js.map +1 -0
  251. package/dist/os/process-tree.d.ts +15 -0
  252. package/dist/os/process-tree.js +77 -0
  253. package/dist/os/process-tree.js.map +1 -0
  254. package/dist/prompts/embedded.js +1 -1
  255. package/dist/prompts/embedded.js.map +1 -1
  256. package/dist/prompts/system.agent.md +13 -12
  257. package/dist/repl/prompt-line.d.ts +5 -0
  258. package/dist/repl/prompt-line.js +7 -1
  259. package/dist/repl/prompt-line.js.map +1 -1
  260. package/dist/repl.js +71 -41
  261. package/dist/repl.js.map +1 -1
  262. package/dist/safety/classifier.js +98 -44
  263. package/dist/safety/classifier.js.map +1 -1
  264. package/dist/safety/engagement-policy.d.ts +8 -0
  265. package/dist/safety/engagement-policy.js +52 -7
  266. package/dist/safety/engagement-policy.js.map +1 -1
  267. package/dist/safety/patterns.d.ts +44 -0
  268. package/dist/safety/patterns.js +168 -37
  269. package/dist/safety/patterns.js.map +1 -1
  270. package/dist/store/config.d.ts +9 -1
  271. package/dist/store/config.js +51 -1
  272. package/dist/store/config.js.map +1 -1
  273. package/dist/store/history-index.d.ts +12 -0
  274. package/dist/store/history-index.js +47 -18
  275. package/dist/store/history-index.js.map +1 -1
  276. package/dist/store/history.d.ts +5 -2
  277. package/dist/store/history.js +153 -62
  278. package/dist/store/history.js.map +1 -1
  279. package/dist/store/plan.d.ts +81 -5
  280. package/dist/store/plan.js +406 -46
  281. package/dist/store/plan.js.map +1 -1
  282. package/dist/store/redaction-cache.d.ts +12 -0
  283. package/dist/store/redaction-cache.js +51 -0
  284. package/dist/store/redaction-cache.js.map +1 -0
  285. package/dist/store/responder-settlement.d.ts +5 -1
  286. package/dist/store/responder-settlement.js +42 -30
  287. package/dist/store/responder-settlement.js.map +1 -1
  288. package/dist/store/scope.js +36 -27
  289. package/dist/store/scope.js.map +1 -1
  290. package/dist/store/task-transitions.d.ts +19 -0
  291. package/dist/store/task-transitions.js +46 -0
  292. package/dist/store/task-transitions.js.map +1 -0
  293. package/dist/tools/capabilities.js +33 -18
  294. package/dist/tools/capabilities.js.map +1 -1
  295. package/dist/tools/command-intent.d.ts +24 -0
  296. package/dist/tools/command-intent.js +158 -4
  297. package/dist/tools/command-intent.js.map +1 -1
  298. package/dist/tools/definitions.d.ts +5 -1
  299. package/dist/tools/definitions.js +257 -21
  300. package/dist/tools/definitions.js.map +1 -1
  301. package/dist/tools/fs.d.ts +16 -0
  302. package/dist/tools/fs.js +122 -46
  303. package/dist/tools/fs.js.map +1 -1
  304. package/dist/tools/image.js +1 -1
  305. package/dist/tools/image.js.map +1 -1
  306. package/dist/tools/interactive-session-tools.d.ts +11 -0
  307. package/dist/tools/interactive-session-tools.js +261 -0
  308. package/dist/tools/interactive-session-tools.js.map +1 -0
  309. package/dist/tools/jobs.d.ts +78 -4
  310. package/dist/tools/jobs.js +486 -127
  311. package/dist/tools/jobs.js.map +1 -1
  312. package/dist/tools/net-ping-sweep.d.ts +3 -1
  313. package/dist/tools/net-ping-sweep.js +64 -26
  314. package/dist/tools/net-ping-sweep.js.map +1 -1
  315. package/dist/tools/nmap-runner.js +5 -2
  316. package/dist/tools/nmap-runner.js.map +1 -1
  317. package/dist/tools/pdf.js +50 -7
  318. package/dist/tools/pdf.js.map +1 -1
  319. package/dist/tools/registry.js +158 -96
  320. package/dist/tools/registry.js.map +1 -1
  321. package/dist/tools/shell.d.ts +24 -2
  322. package/dist/tools/shell.js +113 -28
  323. package/dist/tools/shell.js.map +1 -1
  324. package/dist/tools/tool-types.d.ts +2 -0
  325. package/dist/tools/validate.d.ts +8 -5
  326. package/dist/tools/validate.js +177 -7
  327. package/dist/tools/validate.js.map +1 -1
  328. package/dist/tools/wordlists.js +69 -17
  329. package/dist/tools/wordlists.js.map +1 -1
  330. package/dist/tui/state.d.ts +4 -0
  331. package/dist/tui/state.js +88 -2
  332. package/dist/tui/state.js.map +1 -1
  333. package/dist/tui-v2/actions/keymap.js +3 -8
  334. package/dist/tui-v2/actions/keymap.js.map +1 -1
  335. package/dist/tui-v2/app/App.js +52 -4
  336. package/dist/tui-v2/app/App.js.map +1 -1
  337. package/dist/tui-v2/app/commands/config-commands.js +5 -2
  338. package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
  339. package/dist/tui-v2/app/commands/picker-commands.js +3 -0
  340. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  341. package/dist/tui-v2/app/plan-lifecycle.d.ts +1 -1
  342. package/dist/tui-v2/app/plan-lifecycle.js +2 -1
  343. package/dist/tui-v2/app/plan-lifecycle.js.map +1 -1
  344. package/dist/tui-v2/bootstrap/composition-root.d.ts +3 -0
  345. package/dist/tui-v2/bootstrap/composition-root.js +3 -0
  346. package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
  347. package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -0
  348. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  349. package/dist/tui-v2/components/composer/composer-input-box.d.ts +1 -1
  350. package/dist/tui-v2/components/composer/composer-input-box.js +12 -3
  351. package/dist/tui-v2/components/composer/composer-input-box.js.map +1 -1
  352. package/dist/tui-v2/components/jobs/jobs-panel.js +19 -6
  353. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  354. package/dist/tui-v2/components/plan/plan-view.js +9 -6
  355. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  356. package/dist/tui-v2/components/status/status-line.d.ts +15 -0
  357. package/dist/tui-v2/components/status/status-line.js +33 -25
  358. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  359. package/dist/tui-v2/components/transcript/assistant-message.js +17 -9
  360. package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
  361. package/dist/tui-v2/components/transcript/compacted-row.js +49 -22
  362. package/dist/tui-v2/components/transcript/compacted-row.js.map +1 -1
  363. package/dist/tui-v2/components/transcript/intro-card.js +3 -0
  364. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  365. package/dist/tui-v2/components/transcript/thinking-block.js +2 -1
  366. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  367. package/dist/tui-v2/components/transcript/transcript-view.js +27 -2
  368. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  369. package/dist/tui-v2/components/transcript/use-transcript-selection.js +57 -6
  370. package/dist/tui-v2/components/transcript/use-transcript-selection.js.map +1 -1
  371. package/dist/tui-v2/composer/composer-editor.js +12 -6
  372. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  373. package/dist/tui-v2/rendering/incremental-strip.d.ts +11 -0
  374. package/dist/tui-v2/rendering/incremental-strip.js +89 -0
  375. package/dist/tui-v2/rendering/incremental-strip.js.map +1 -0
  376. package/dist/tui-v2/rendering/plan-view.d.ts +12 -0
  377. package/dist/tui-v2/rendering/plan-view.js +71 -2
  378. package/dist/tui-v2/rendering/plan-view.js.map +1 -1
  379. package/dist/tui-v2/rendering/streaming-markdown.d.ts +25 -0
  380. package/dist/tui-v2/rendering/streaming-markdown.js +108 -0
  381. package/dist/tui-v2/rendering/streaming-markdown.js.map +1 -0
  382. package/dist/tui-v2/rendering/thinking-tail.d.ts +5 -0
  383. package/dist/tui-v2/rendering/thinking-tail.js +26 -0
  384. package/dist/tui-v2/rendering/thinking-tail.js.map +1 -0
  385. package/dist/tui-v2/state/transcript-hydrate.js +6 -2
  386. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  387. package/dist/tui-v2/state/transcript-reducer.js +146 -25
  388. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  389. package/dist/tui-v2/state/transcript-types.d.ts +6 -0
  390. package/dist/tui-v2/state/transcript-types.js +17 -0
  391. package/dist/tui-v2/state/transcript-types.js.map +1 -1
  392. package/dist/types.d.ts +34 -0
  393. package/dist/types.js.map +1 -1
  394. package/dist/ui/intro-header.d.ts +1 -0
  395. package/dist/ui/intro-header.js +10 -13
  396. package/dist/ui/intro-header.js.map +1 -1
  397. package/dist/ui/markdown.js +9 -2
  398. package/dist/ui/markdown.js.map +1 -1
  399. package/dist/ui/mentions.d.ts +5 -0
  400. package/dist/ui/mentions.js +66 -7
  401. package/dist/ui/mentions.js.map +1 -1
  402. package/dist/ui/thinking.d.ts +5 -1
  403. package/dist/ui/thinking.js +3 -2
  404. package/dist/ui/thinking.js.map +1 -1
  405. package/dist/version.generated.d.ts +2 -2
  406. package/dist/version.generated.js +2 -2
  407. package/package.json +2 -1
@@ -45,6 +45,7 @@ export const bynaraProvider = {
45
45
  const model = request.model ?? defaultModels.bynara;
46
46
  const payload = await openAiCompatibleComplete({
47
47
  provider: "Bynara",
48
+ providerId: "bynara",
48
49
  baseUrl,
49
50
  apiKey: auth.apiKey,
50
51
  model,
@@ -66,6 +67,7 @@ export const bynaraProvider = {
66
67
  const model = request.model ?? defaultModels.bynara;
67
68
  const payload = await openAiCompatibleStream({
68
69
  provider: "Bynara",
70
+ providerId: "bynara",
69
71
  baseUrl,
70
72
  apiKey: auth.apiKey,
71
73
  model,
@@ -1 +1 @@
1
- {"version":3,"file":"bynara.js","sourceRoot":"","sources":["../../src/llm/bynara.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bynara.js","sourceRoot":"","sources":["../../src/llm/bynara.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,13 @@ export declare function markReasoningUnsupported(model: string): void;
6
6
  export declare function isReasoningUnsupported(model: string): boolean;
7
7
  export declare function clearReasoningUnsupported(): void;
8
8
  export declare function modelSupportsThinking(provider: ProviderId, model: string): boolean;
9
+ /**
10
+ * Capability lookups are keyed by canonical `ProviderId`. Passing a display
11
+ * label (`"NVIDIA NIM"`) used to silently resolve to "no capability", which
12
+ * Disabled vision while the rest of the app believed it was on.
13
+ * Fail loudly in dev/test and warn once per bad key in production.
14
+ */
15
+ export declare function warnOnUnknownProviderId(site: string, provider: string): void;
9
16
  /** Provider discovery/user overrides can refresh capability knowledge at runtime. */
10
17
  export declare function registerModelVisionCapability(input: {
11
18
  provider: ProviderId;
@@ -1,3 +1,4 @@
1
+ import { providerIds } from "../types.js";
1
2
  import { isTextOnlyModel } from "./tool-protocol.js";
2
3
  import { getConfig } from "../store/config.js";
3
4
  // Patterns of model names that support an explicit reasoning/thinking
@@ -149,6 +150,26 @@ const visionPatterns = {
149
150
  };
150
151
  const visionCapabilityCache = new Map();
151
152
  const capabilityKey = (provider, model) => `${provider}:${model.trim().toLowerCase()}`;
153
+ const knownProviderIds = new Set(providerIds);
154
+ const warnedUnknownProviders = new Set();
155
+ /**
156
+ * Capability lookups are keyed by canonical `ProviderId`. Passing a display
157
+ * label (`"NVIDIA NIM"`) used to silently resolve to "no capability", which
158
+ * Disabled vision while the rest of the app believed it was on.
159
+ * Fail loudly in dev/test and warn once per bad key in production.
160
+ */
161
+ export function warnOnUnknownProviderId(site, provider) {
162
+ if (knownProviderIds.has(provider))
163
+ return;
164
+ const message = `${site}: "${provider}" is not a canonical ProviderId — capability lookups will report no support. Pass the provider id, not the display label.`;
165
+ if (process.env.NODE_ENV === "test" || process.env.VITEST) {
166
+ throw new Error(message);
167
+ }
168
+ if (warnedUnknownProviders.has(provider))
169
+ return;
170
+ warnedUnknownProviders.add(provider);
171
+ console.warn(`[clai] ${message}`);
172
+ }
152
173
  function configuredVisionModel(provider) {
153
174
  const envKey = `CLAI_VISION_MODEL_${provider.toUpperCase().replace(/-/g, "_")}`;
154
175
  return process.env[envKey]?.trim() || undefined;
@@ -179,6 +200,7 @@ export function visionCapabilitySource(provider, model) {
179
200
  * back to a text note and OCR/inspection tools.
180
201
  */
181
202
  export function modelSupportsVision(provider, model) {
203
+ warnOnUnknownProviderId("modelSupportsVision", provider);
182
204
  const cached = visionCapabilityCache.get(capabilityKey(provider, model));
183
205
  if (cached)
184
206
  return cached.vision;
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/llm/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import type { CompletionRequest } from "../types.js";
2
2
  import { type LlmProvider } from "./provider.js";
3
+ /** Throws a named error for a finish reason that means "content was blocked". */
4
+ export declare function assertGeminiFinishReasonAllowed(finishReason: string | undefined): void;
5
+ export declare function clampGeminiThinkingBudget(thinkingConfig: Record<string, unknown> | undefined, maxOutputTokens: number): Record<string, unknown> | undefined;
3
6
  export declare function geminiBody(request: CompletionRequest): string;
4
7
  export declare const geminiProvider: LlmProvider;
@@ -1,14 +1,16 @@
1
1
  import { defaultModels, } from "./provider.js";
2
- import { ProviderError, readJson, readStreamLines } from "./http.js";
2
+ import { ProviderError, readJson, readStreamLines, createSseFrameAssembler } from "./http.js";
3
3
  import { geminiToolBodyFields, parseGeminiFunctionCalls, toGeminiToolContents, } from "./adapters/gemini-tools.js";
4
4
  import { fromWireName } from "./tool-protocol.js";
5
5
  import { parseGeminiUsage } from "./token-usage.js";
6
+ import { firstSystemPrompt } from "./system-messages.js";
7
+ import { resolveSampling } from "./sampling.js";
6
8
  function geminiContents(messages) {
7
9
  return toGeminiToolContents(messages);
8
10
  }
9
11
  function systemInstruction(messages) {
10
- const system = messages.find((message) => message.role === "system");
11
- return system ? { parts: [{ text: system.content }] } : undefined;
12
+ const system = firstSystemPrompt(messages);
13
+ return system === undefined ? undefined : { parts: [{ text: system }] };
12
14
  }
13
15
  function isGemini3Model(model) {
14
16
  return /gemini-3(?:[.-]|$)/i.test(model);
@@ -60,19 +62,73 @@ function geminiThinkingConfig(reasoning, model) {
60
62
  return { thinkingBudget: 4_096, includeThoughts: true };
61
63
  }
62
64
  }
65
+ /**
66
+ * Thinking tokens are billed against `maxOutputTokens` on Gemini 2.5,
67
+ * so a budget at or above the output cap guarantees a thought-only
68
+ * `MAX_TOKENS` finish with no visible answer. Clamp the budget to at most half
69
+ * the effective cap so a visible reserve always remains.
70
+ */
71
+ /**
72
+ * Gemini's default thresholds are `BLOCK_MEDIUM_AND_ABOVE`, which blocks a
73
+ * meaningful share of legitimate sysadmin/pentest turns (exploit discussion,
74
+ * credential handling, payload text). Blocked turns surfaced only as a generic
75
+ * empty completion. Ask for the least restrictive thresholds the account allows
76
+ * and name the cause when a block happens anyway.
77
+ */
78
+ const GEMINI_SAFETY_SETTINGS = [
79
+ "HARM_CATEGORY_HARASSMENT",
80
+ "HARM_CATEGORY_HATE_SPEECH",
81
+ "HARM_CATEGORY_SEXUALLY_EXPLICIT",
82
+ "HARM_CATEGORY_DANGEROUS_CONTENT",
83
+ ].map((category) => ({ category, threshold: "BLOCK_ONLY_HIGH" }));
84
+ const GEMINI_BLOCKING_FINISH_REASONS = new Set([
85
+ "SAFETY",
86
+ "RECITATION",
87
+ "BLOCKLIST",
88
+ "PROHIBITED_CONTENT",
89
+ "SPII",
90
+ ]);
91
+ /** Throws a named error for a finish reason that means "content was blocked". */
92
+ export function assertGeminiFinishReasonAllowed(finishReason) {
93
+ if (!finishReason)
94
+ return;
95
+ if (!GEMINI_BLOCKING_FINISH_REASONS.has(finishReason.toUpperCase()))
96
+ return;
97
+ throw new ProviderError(`Gemini blocked the response (finishReason=${finishReason}). Try another provider with /provider, or rephrase the request.`);
98
+ }
99
+ export function clampGeminiThinkingBudget(thinkingConfig, maxOutputTokens) {
100
+ if (!thinkingConfig)
101
+ return thinkingConfig;
102
+ const budget = thinkingConfig.thinkingBudget;
103
+ if (typeof budget !== "number" || budget <= 0)
104
+ return thinkingConfig;
105
+ const allowed = Math.max(1, Math.floor(maxOutputTokens / 2));
106
+ if (budget <= allowed)
107
+ return thinkingConfig;
108
+ return { ...thinkingConfig, thinkingBudget: allowed };
109
+ }
63
110
  export function geminiBody(request) {
64
111
  const model = request.model ?? defaultModels.gemini;
65
- const thinkingConfig = geminiThinkingConfig(request.thinking, model);
66
112
  const defaultMaxTokens = request.thinking?.enabled ? 8_192 : 4_096;
113
+ const maxOutputTokens = request.maxTokens ?? defaultMaxTokens;
114
+ const thinkingConfig = clampGeminiThinkingBudget(geminiThinkingConfig(request.thinking, model), maxOutputTokens);
115
+ const sampling = resolveSampling({
116
+ provider: "gemini",
117
+ model,
118
+ reasoningEnabled: Boolean(request.thinking?.enabled),
119
+ requestedTemperature: request.temperature,
120
+ });
67
121
  const body = {
68
122
  contents: geminiContents(request.messages),
69
123
  generationConfig: {
70
- temperature: request.temperature ?? 0.2,
71
- maxOutputTokens: request.maxTokens ?? defaultMaxTokens,
124
+ temperature: sampling.temperature,
125
+ ...(sampling.topP !== undefined ? { topP: sampling.topP } : {}),
126
+ maxOutputTokens,
72
127
  ...(thinkingConfig !== undefined
73
128
  ? { thinkingConfig }
74
129
  : {}),
75
130
  },
131
+ safetySettings: GEMINI_SAFETY_SETTINGS,
76
132
  ...geminiToolBodyFields({
77
133
  tools: request.tools,
78
134
  toolChoice: request.toolChoice,
@@ -130,6 +186,7 @@ export const geminiProvider = {
130
186
  .trim();
131
187
  const parsed = parseGeminiFunctionCalls(parts);
132
188
  if (!parsed.text && parsed.toolCalls.length === 0) {
189
+ assertGeminiFinishReasonAllowed(data.candidates?.[0]?.finishReason);
133
190
  throw new ProviderError("Gemini completed without a visible answer.");
134
191
  }
135
192
  const final = thought
@@ -185,13 +242,13 @@ export const geminiProvider = {
185
242
  full += "</think>";
186
243
  onToken("</think>");
187
244
  };
245
+ const sseFrames = createSseFrameAssembler();
188
246
  for await (const line of readStreamLines(response, {
189
247
  signal: request.signal,
190
248
  })) {
191
- const trimmed = line.trim();
192
- if (!trimmed.startsWith("data:"))
249
+ const payload = sseFrames.pushLine(line);
250
+ if (payload === undefined)
193
251
  continue;
194
- const payload = trimmed.slice(5).trim();
195
252
  if (payload === "[DONE]")
196
253
  break;
197
254
  try {
@@ -237,13 +294,16 @@ export const geminiProvider = {
237
294
  }
238
295
  }
239
296
  }
240
- catch {
241
- // Ignore malformed keepalive lines.
297
+ catch (frameError) {
298
+ // Only malformed JSON frames are ignorable.
299
+ if (!(frameError instanceof SyntaxError))
300
+ throw frameError;
242
301
  }
243
302
  }
244
303
  exitThought();
245
304
  const toolParsed = parseGeminiFunctionCalls(collectedParts);
246
305
  if (!visible.trim() && toolParsed.toolCalls.length === 0) {
306
+ assertGeminiFinishReasonAllowed(finishReason);
247
307
  throw new ProviderError("Gemini completed without a visible answer.");
248
308
  }
249
309
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,aAAa,GAGd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMpD,SAAS,cAAc,CACrB,QAAuB;IAEvB,OAAO,oBAAoB,CAAC,QAAQ,CAGlC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAuB;IAEvB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAA0C,EAC1C,KAAa;IAEb,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,sEAAsE;QACtE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,QAAQ,CAAC;QAC7C,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,CAAC;QACtF,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,YAAY;YAChC,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,MAAM,KAAK,KAAK;gBAChB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO;oBACvC,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,QAAQ,CAAC;QACjB,OAAO;YACL,aAAa;YACb,uEAAuE;YACvE,qEAAqE;YACrE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;QACxB,uEAAuE;QACvE,mEAAmE;QACnE,iBAAiB;QACjB,OAAO,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC;YACpD,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE;YACvB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IACD,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,KAAK;YACR,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAC3D;YACE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,CAAC;IACpD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,MAAM,IAAI,GAA4B;QACpC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1C,gBAAgB,EAAE;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,GAAG;YACvC,eAAe,EAAE,OAAO,CAAC,SAAS,IAAI,gBAAgB;YACtD,GAAG,CAAC,cAAc,KAAK,SAAS;gBAC9B,CAAC,CAAC,EAAE,cAAc,EAAE;gBACpB,CAAC,CAAC,EAAE,CAAC;SACR;QACD,GAAG,oBAAoB,CAAC;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;KACH,CAAC;IACF,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,GAAG;QAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,EAAE,EAAE,QAAQ;IACZ,WAAW,EAAE,eAAe;IAC5B,YAAY,EAAE,aAAa,CAAC,MAAM;IAClC,MAAM,EAAE,gBAAgB;IACxB,8EAA8E;IAC9E,gFAAgF;IAChF,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAC3B,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,+DAA+D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACjG,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAKxB,QAAQ,CAAC,CAAC;QACb,OAAO,CACL,IAAI,CAAC,MAAM;YACT,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,0BAA0B,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aACnF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;aAC5C,IAAI,EAAE,IAAI,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,+DAA+D,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACjG,CAAC;QACF,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2DAA2D,kBAAkB,CAAC,KAAK,CAAC,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAC7I;YACE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;SAC1B,CACF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAiBxB,QAAQ,CAAC,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,KAAK;aAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aAC9B,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,KAAK,GAAG,OAAO;YACnB,CAAC,CAAC,UAAU,OAAO,WAAW,MAAM,CAAC,IAAI,EAAE;YAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAChB,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,QAAQ;YAClB,KAAK;YACL,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY;gBACpC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;gBACnD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;oBACvB,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,2DAA2D,kBAAkB,CAAC,KAAK,CAAC,sCAAsC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAC3J;YACE,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;YAC9B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;SAC1B,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAU,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,cAAc,GASf,EAAE,CAAC;QACR,IAAI,YAAgC,CAAC;QACrC,IAAI,WAAmC,CAAC;QAExC,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,SAAS;gBAAE,OAAO;YACtB,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,IAAI,SAAS,CAAC;YAClB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,SAAS;gBAAE,OAAO;YACvB,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,IAAI,UAAU,CAAC;YACnB,OAAO,CAAC,UAAU,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,eAAe,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,EAAE,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,OAAO,KAAK,QAAQ;gBAAE,MAAM;YAChC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAiBhC,CAAC;gBACF,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACjD,IAAI,CAAC;oBAAE,WAAW,GAAG,CAAC,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,SAAS,EAAE,YAAY;oBAAE,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;gBACnE,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,IAAI,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;4BACtD,MAAM,GAAG,GACP,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;4BAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;4BACpC,OAAO,CAAC,eAAe,CAAC;gCACtB,KAAK,EAAE,GAAG;gCACV,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oCACtB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE;oCAC9B,CAAC,CAAC,EAAE,CAAC;gCACP,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI;gCAChC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;qCACzD,MAAM;6BACV,CAAC,CAAC;wBACL,CAAC;wBACD,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,YAAY,EAAE,CAAC;wBACf,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,IAAI,SAAS;4BAAE,WAAW,EAAE,CAAC;wBAC7B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;wBACrB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;wBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QACD,WAAW,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,aAAa,CAAC,4CAA4C,CAAC,CAAC;QACxE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ;YAClB,KAAK;YACL,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM;gBAC7B,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;gBACrC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,YAAY;gBACd,CAAC,CAAC,EAAE,YAAY,EAAE;gBAClB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM;oBAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE;oBAChC,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/llm/gemini.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,24 @@
1
1
  import { type LlmProvider } from "./provider.js";
2
2
  export declare const groqFallbackModels: string[];
3
3
  export declare function groqInputTokenBudget(model: string): number | undefined;
4
- export declare function groqMaxTokens(model: string, requested: number | undefined): number | undefined;
4
+ /**
5
+ * Smallest completion allowance that can still produce a visible answer or a
6
+ * closed tool-call JSON once reasoning tokens are billed against the same
7
+ * Budget. The TPM guard below may never drop under this on a step
8
+ * that carries tools or reasoning.
9
+ */
10
+ export declare const GROQ_VIABLE_COMPLETION_TOKENS = 8192;
11
+ /**
12
+ * Groq bills reasoning against the completion allowance, and the shipped
13
+ * per-model TPM guard (1024/2048) used to be applied with a hard `Math.min`
14
+ * against the caller's budget — so a tool step that asked for 24 576 tokens got
15
+ * 1024 and finished with `length` before the tool JSON closed.
16
+ *
17
+ * The guard is kept as the *default* for plain chat, but a step that attaches
18
+ * tools or enables reasoning is never clamped below a viable floor.
19
+ */
20
+ export declare function groqMaxTokens(model: string, requested: number | undefined, options?: {
21
+ toolsAttached?: boolean;
22
+ reasoningEnabled?: boolean;
23
+ }): number | undefined;
5
24
  export declare const groqProvider: LlmProvider;
package/dist/llm/groq.js CHANGED
@@ -23,7 +23,23 @@ export function groqInputTokenBudget(model) {
23
23
  let cachedModels = null;
24
24
  let lastFetchTime = 0;
25
25
  const CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour cache TTL
26
- export function groqMaxTokens(model, requested) {
26
+ /**
27
+ * Smallest completion allowance that can still produce a visible answer or a
28
+ * closed tool-call JSON once reasoning tokens are billed against the same
29
+ * Budget. The TPM guard below may never drop under this on a step
30
+ * that carries tools or reasoning.
31
+ */
32
+ export const GROQ_VIABLE_COMPLETION_TOKENS = 8_192;
33
+ /**
34
+ * Groq bills reasoning against the completion allowance, and the shipped
35
+ * per-model TPM guard (1024/2048) used to be applied with a hard `Math.min`
36
+ * against the caller's budget — so a tool step that asked for 24 576 tokens got
37
+ * 1024 and finished with `length` before the tool JSON closed.
38
+ *
39
+ * The guard is kept as the *default* for plain chat, but a step that attaches
40
+ * tools or enables reasoning is never clamped below a viable floor.
41
+ */
42
+ export function groqMaxTokens(model, requested, options) {
27
43
  const m = model.toLowerCase();
28
44
  const cap = /openai\/gpt-oss-120b/.test(m)
29
45
  ? 1_024
@@ -32,7 +48,11 @@ export function groqMaxTokens(model, requested) {
32
48
  : undefined;
33
49
  if (!cap)
34
50
  return requested;
35
- return Math.min(requested ?? cap, cap);
51
+ const needsViableFloor = Boolean(options?.toolsAttached || options?.reasoningEnabled);
52
+ const effectiveCap = needsViableFloor
53
+ ? Math.max(cap, GROQ_VIABLE_COMPLETION_TOKENS)
54
+ : cap;
55
+ return Math.min(requested ?? effectiveCap, effectiveCap);
36
56
  }
37
57
  export const groqProvider = {
38
58
  id: "groq",
@@ -81,11 +101,15 @@ export const groqProvider = {
81
101
  const model = request.model ?? defaultModels.groq;
82
102
  const payload = await openAiCompatibleComplete({
83
103
  provider: "Groq",
104
+ providerId: "groq",
84
105
  baseUrl,
85
106
  apiKey: auth.apiKey,
86
107
  model,
87
108
  messages: request.messages,
88
- maxTokens: groqMaxTokens(model, request.maxTokens),
109
+ maxTokens: groqMaxTokens(model, request.maxTokens, {
110
+ toolsAttached: Boolean(request.tools?.length),
111
+ reasoningEnabled: Boolean(request.thinking?.enabled),
112
+ }),
89
113
  temperature: request.temperature,
90
114
  signal: request.signal,
91
115
  reasoning: request.thinking,
@@ -102,11 +126,15 @@ export const groqProvider = {
102
126
  const model = request.model ?? defaultModels.groq;
103
127
  const payload = await openAiCompatibleStream({
104
128
  provider: "Groq",
129
+ providerId: "groq",
105
130
  baseUrl,
106
131
  apiKey: auth.apiKey,
107
132
  model,
108
133
  messages: request.messages,
109
- maxTokens: groqMaxTokens(model, request.maxTokens),
134
+ maxTokens: groqMaxTokens(model, request.maxTokens, {
135
+ toolsAttached: Boolean(request.tools?.length),
136
+ reasoningEnabled: Boolean(request.thinking?.enabled),
137
+ }),
110
138
  temperature: request.temperature,
111
139
  signal: request.signal,
112
140
  onToken,
@@ -1 +1 @@
1
- {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../src/llm/groq.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../src/llm/groq.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,25 @@ export interface OpenAiCompatibleResult {
39
39
  }
40
40
  /** Map shared OpenAI-compatible payload → CompletionResult (includes usage). */
41
41
  export declare function toCompletionResult(provider: ProviderId, model: string, payload: OpenAiCompatibleResult): import("../types.js").CompletionResult;
42
+ /**
43
+ * Reassembles SSE `data:` frames.
44
+ *
45
+ * Per the SSE spec a single event's payload may be split across several `data:`
46
+ * lines that the client must concatenate before parsing; each fragment was
47
+ * previously parsed on its own, failed `JSON.parse`, and was dropped as a
48
+ * malformed keepalive — losing content without a trace.
49
+ *
50
+ * A payload is released as soon as it is syntactically complete, so
51
+ * single-line frames behave exactly as before. A blank line (frame terminator)
52
+ * discards an incomplete remainder, and a runaway fragment is dropped rather
53
+ * than corrupting later frames.
54
+ */
55
+ export declare function createSseFrameAssembler(options?: {
56
+ maxBufferedBytes?: number;
57
+ }): {
58
+ /** Returns a complete payload, or undefined while still buffering. */
59
+ pushLine: (line: string) => string | undefined;
60
+ };
42
61
  export declare function toOpenAiMessages(messages: ChatMessage[], supportsVision?: boolean): Array<Record<string, unknown>>;
43
62
  export type ReasoningStyle = "openai" | "nvidia" | "groq" | "openrouter" | "agentrouter" | "none";
44
63
  export type NvidiaReasoningKind = "kimi-thinking" | "deepseek-v4" | "thinking" | "nemotron-3" | "glm-thinking" | "enable-thinking" | "effort-only" | "none";
@@ -65,6 +84,12 @@ export declare function isReasoningUnsupportedError(error: unknown): boolean;
65
84
  export declare function isOpenAiReasoningModel(model: string): boolean;
66
85
  export declare function buildChatBody(options: {
67
86
  model: string;
87
+ /**
88
+ * Canonical provider id. When given, the capability table is consulted so the
89
+ * wire payload and the UI cannot disagree about whether the model has a
90
+ * reasoning knob at all.
91
+ */
92
+ providerId?: ProviderId | undefined;
68
93
  messages: ChatMessage[];
69
94
  maxTokens?: number | undefined;
70
95
  temperature?: number | undefined;
@@ -78,6 +103,8 @@ export declare function buildChatBody(options: {
78
103
  }): string;
79
104
  export declare function openAiCompatibleComplete(options: {
80
105
  provider: string;
106
+ /** Canonical provider id used for capability lookups. */
107
+ providerId: ProviderId;
81
108
  baseUrl: string;
82
109
  apiKey: string;
83
110
  model: string;
@@ -94,6 +121,8 @@ export declare function openAiCompatibleComplete(options: {
94
121
  }): Promise<OpenAiCompatibleResult>;
95
122
  export declare function openAiCompatibleStream(options: {
96
123
  provider: string;
124
+ /** Canonical provider id used for capability lookups. */
125
+ providerId: ProviderId;
97
126
  baseUrl: string;
98
127
  apiKey: string;
99
128
  model: string;