@pentoshi/clai 4.0.3 → 4.2.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 (314) hide show
  1. package/README.md +45 -9
  2. package/dist/agent/compaction-executor.d.ts +68 -0
  3. package/dist/agent/compaction-executor.js +343 -0
  4. package/dist/agent/compaction-executor.js.map +1 -0
  5. package/dist/agent/confirm-port.js +6 -3
  6. package/dist/agent/confirm-port.js.map +1 -1
  7. package/dist/agent/context-breakdown.js +2 -0
  8. package/dist/agent/context-breakdown.js.map +1 -1
  9. package/dist/agent/context-manager.d.ts +23 -9
  10. package/dist/agent/context-manager.js +72 -43
  11. package/dist/agent/context-manager.js.map +1 -1
  12. package/dist/agent/events.d.ts +3 -0
  13. package/dist/agent/loop-guard.d.ts +2 -0
  14. package/dist/agent/loop-guard.js +48 -3
  15. package/dist/agent/loop-guard.js.map +1 -1
  16. package/dist/agent/prompt-composer.js +6 -6
  17. package/dist/agent/prompt-composer.js.map +1 -1
  18. package/dist/agent/reliability-policy.d.ts +1 -0
  19. package/dist/agent/reliability-policy.js +6 -3
  20. package/dist/agent/reliability-policy.js.map +1 -1
  21. package/dist/agent/request-accounting.d.ts +97 -0
  22. package/dist/agent/request-accounting.js +207 -0
  23. package/dist/agent/request-accounting.js.map +1 -0
  24. package/dist/agent/request-budget.d.ts +2 -2
  25. package/dist/agent/request-budget.js +2 -4
  26. package/dist/agent/request-budget.js.map +1 -1
  27. package/dist/agent/runner.d.ts +8 -2
  28. package/dist/agent/runner.js +412 -181
  29. package/dist/agent/runner.js.map +1 -1
  30. package/dist/agent/session-title.d.ts +0 -26
  31. package/dist/agent/session-title.js +0 -80
  32. package/dist/agent/session-title.js.map +1 -1
  33. package/dist/agent/tool-history.d.ts +2 -2
  34. package/dist/agent/tool-history.js +19 -6
  35. package/dist/agent/tool-history.js.map +1 -1
  36. package/dist/agent/turn-outcome.d.ts +1 -1
  37. package/dist/agent/turn-outcome.js +2 -12
  38. package/dist/agent/turn-outcome.js.map +1 -1
  39. package/dist/app/adapters/agent-event-adapter.js +19 -0
  40. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  41. package/dist/app/adapters/current-agent-adapter.js +4 -0
  42. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  43. package/dist/app/commands/catalog.js +23 -16
  44. package/dist/app/commands/catalog.js.map +1 -1
  45. package/dist/app/controllers/cancel-coordinator.d.ts +51 -0
  46. package/dist/app/controllers/cancel-coordinator.js +48 -0
  47. package/dist/app/controllers/cancel-coordinator.js.map +1 -0
  48. package/dist/app/controllers/session-compact-helper.d.ts +19 -2
  49. package/dist/app/controllers/session-compact-helper.js +100 -127
  50. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  51. package/dist/app/controllers/session-context-usage.d.ts +32 -15
  52. package/dist/app/controllers/session-context-usage.js +186 -51
  53. package/dist/app/controllers/session-context-usage.js.map +1 -1
  54. package/dist/app/controllers/session-controller.d.ts +22 -11
  55. package/dist/app/controllers/session-controller.js +137 -92
  56. package/dist/app/controllers/session-controller.js.map +1 -1
  57. package/dist/app/controllers/session-naming.d.ts +31 -0
  58. package/dist/app/controllers/session-naming.js +173 -0
  59. package/dist/app/controllers/session-naming.js.map +1 -0
  60. package/dist/app/controllers/session-persistence.d.ts +2 -2
  61. package/dist/app/controllers/session-persistence.js +3 -6
  62. package/dist/app/controllers/session-persistence.js.map +1 -1
  63. package/dist/app/controllers/session-turn-request.d.ts +2 -1
  64. package/dist/app/controllers/session-turn-request.js +3 -0
  65. package/dist/app/controllers/session-turn-request.js.map +1 -1
  66. package/dist/app/controllers/turn-continuation.d.ts +0 -6
  67. package/dist/app/controllers/turn-continuation.js +4 -21
  68. package/dist/app/controllers/turn-continuation.js.map +1 -1
  69. package/dist/app/controllers/turn-controller.d.ts +2 -1
  70. package/dist/app/controllers/turn-controller.js +1 -0
  71. package/dist/app/controllers/turn-controller.js.map +1 -1
  72. package/dist/app/events/app-event.d.ts +9 -0
  73. package/dist/app/events/app-event.js.map +1 -1
  74. package/dist/app/ports/agent-port.d.ts +8 -1
  75. package/dist/app/ports/transcript-item.d.ts +9 -1
  76. package/dist/classic/app/ClassicApp.js +3 -3
  77. package/dist/classic/app/ClassicApp.js.map +1 -1
  78. package/dist/classic/app/app-wiring.js +1 -2
  79. package/dist/classic/app/app-wiring.js.map +1 -1
  80. package/dist/classic/app/wiring-interactions.js +4 -9
  81. package/dist/classic/app/wiring-interactions.js.map +1 -1
  82. package/dist/classic/blocks/TurnSummaryBlock.d.ts +3 -0
  83. package/dist/classic/blocks/TurnSummaryBlock.js +6 -0
  84. package/dist/classic/blocks/TurnSummaryBlock.js.map +1 -0
  85. package/dist/classic/blocks/tool-lines.js +2 -1
  86. package/dist/classic/blocks/tool-lines.js.map +1 -1
  87. package/dist/classic/blocks/turn-summary-lines.d.ts +3 -0
  88. package/dist/classic/blocks/turn-summary-lines.js +7 -0
  89. package/dist/classic/blocks/turn-summary-lines.js.map +1 -0
  90. package/dist/classic/chrome/status-rows.d.ts +0 -1
  91. package/dist/classic/chrome/status-rows.js +0 -12
  92. package/dist/classic/chrome/status-rows.js.map +1 -1
  93. package/dist/classic/feed/Feed.js +2 -0
  94. package/dist/classic/feed/Feed.js.map +1 -1
  95. package/dist/classic/feed/feed-blocks.d.ts +1 -1
  96. package/dist/classic/feed/feed-blocks.js +3 -0
  97. package/dist/classic/feed/feed-blocks.js.map +1 -1
  98. package/dist/classic/input/cancel-ladder.d.ts +2 -19
  99. package/dist/classic/input/cancel-ladder.js +13 -20
  100. package/dist/classic/input/cancel-ladder.js.map +1 -1
  101. package/dist/commands/providers.js +2 -0
  102. package/dist/commands/providers.js.map +1 -1
  103. package/dist/llm/adapters/anthropic-tools.d.ts +31 -14
  104. package/dist/llm/adapters/anthropic-tools.js +124 -29
  105. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  106. package/dist/llm/adapters/gemini-tools.d.ts +16 -4
  107. package/dist/llm/adapters/gemini-tools.js +117 -16
  108. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  109. package/dist/llm/adapters/openai-tools.d.ts +13 -2
  110. package/dist/llm/adapters/openai-tools.js +58 -11
  111. package/dist/llm/adapters/openai-tools.js.map +1 -1
  112. package/dist/llm/agentrouter.js +68 -45
  113. package/dist/llm/agentrouter.js.map +1 -1
  114. package/dist/llm/anthropic.js +69 -36
  115. package/dist/llm/anthropic.js.map +1 -1
  116. package/dist/llm/aws-mantle.js +70 -32
  117. package/dist/llm/aws-mantle.js.map +1 -1
  118. package/dist/llm/bynara.js +26 -69
  119. package/dist/llm/bynara.js.map +1 -1
  120. package/dist/llm/capabilities.d.ts +2 -1
  121. package/dist/llm/capabilities.js +56 -1
  122. package/dist/llm/capabilities.js.map +1 -1
  123. package/dist/llm/context-snapshot.d.ts +100 -0
  124. package/dist/llm/context-snapshot.js +277 -0
  125. package/dist/llm/context-snapshot.js.map +1 -0
  126. package/dist/llm/context-windows.d.ts +10 -0
  127. package/dist/llm/context-windows.js +129 -0
  128. package/dist/llm/context-windows.js.map +1 -0
  129. package/dist/llm/custom-provider-profile.d.ts +75 -0
  130. package/dist/llm/custom-provider-profile.js +558 -0
  131. package/dist/llm/custom-provider-profile.js.map +1 -0
  132. package/dist/llm/custom-providers.d.ts +13 -1
  133. package/dist/llm/custom-providers.js +77 -25
  134. package/dist/llm/custom-providers.js.map +1 -1
  135. package/dist/llm/effort-fallback.d.ts +44 -0
  136. package/dist/llm/effort-fallback.js +101 -0
  137. package/dist/llm/effort-fallback.js.map +1 -0
  138. package/dist/llm/fireworks.d.ts +3 -0
  139. package/dist/llm/fireworks.js +103 -0
  140. package/dist/llm/fireworks.js.map +1 -0
  141. package/dist/llm/free.js +4 -0
  142. package/dist/llm/free.js.map +1 -1
  143. package/dist/llm/gemini.d.ts +1 -1
  144. package/dist/llm/gemini.js +89 -51
  145. package/dist/llm/gemini.js.map +1 -1
  146. package/dist/llm/groq.js +4 -0
  147. package/dist/llm/groq.js.map +1 -1
  148. package/dist/llm/hetzner.d.ts +3 -0
  149. package/dist/llm/hetzner.js +98 -0
  150. package/dist/llm/hetzner.js.map +1 -0
  151. package/dist/llm/http.d.ts +60 -10
  152. package/dist/llm/http.js +465 -156
  153. package/dist/llm/http.js.map +1 -1
  154. package/dist/llm/kimchi.js +4 -0
  155. package/dist/llm/kimchi.js.map +1 -1
  156. package/dist/llm/lightning.js +4 -0
  157. package/dist/llm/lightning.js.map +1 -1
  158. package/dist/llm/meta.d.ts +2 -0
  159. package/dist/llm/meta.js +839 -624
  160. package/dist/llm/meta.js.map +1 -1
  161. package/dist/llm/modal.js +4 -0
  162. package/dist/llm/modal.js.map +1 -1
  163. package/dist/llm/model-families.d.ts +9 -0
  164. package/dist/llm/model-families.js +39 -0
  165. package/dist/llm/model-families.js.map +1 -0
  166. package/dist/llm/nvidia.js +4 -0
  167. package/dist/llm/nvidia.js.map +1 -1
  168. package/dist/llm/ollama.js +44 -40
  169. package/dist/llm/ollama.js.map +1 -1
  170. package/dist/llm/openai.js +4 -0
  171. package/dist/llm/openai.js.map +1 -1
  172. package/dist/llm/openrouter.js +4 -0
  173. package/dist/llm/openrouter.js.map +1 -1
  174. package/dist/llm/operation-ledger.d.ts +60 -0
  175. package/dist/llm/operation-ledger.js +136 -0
  176. package/dist/llm/operation-ledger.js.map +1 -0
  177. package/dist/llm/operation-usage.d.ts +32 -0
  178. package/dist/llm/operation-usage.js +172 -0
  179. package/dist/llm/operation-usage.js.map +1 -0
  180. package/dist/llm/orcarouter.d.ts +7 -0
  181. package/dist/llm/orcarouter.js +166 -0
  182. package/dist/llm/orcarouter.js.map +1 -0
  183. package/dist/llm/provider-profile-layers.d.ts +7 -0
  184. package/dist/llm/provider-profile-layers.js +961 -0
  185. package/dist/llm/provider-profile-layers.js.map +1 -0
  186. package/dist/llm/provider-profile.d.ts +181 -0
  187. package/dist/llm/provider-profile.js +329 -0
  188. package/dist/llm/provider-profile.js.map +1 -0
  189. package/dist/llm/provider-profiles.d.ts +13 -0
  190. package/dist/llm/provider-profiles.js +86 -0
  191. package/dist/llm/provider-profiles.js.map +1 -0
  192. package/dist/llm/provider.d.ts +2 -0
  193. package/dist/llm/provider.js +198 -21
  194. package/dist/llm/provider.js.map +1 -1
  195. package/dist/llm/qwen-cloud.js +4 -0
  196. package/dist/llm/qwen-cloud.js.map +1 -1
  197. package/dist/llm/reasoning-artifacts.d.ts +101 -0
  198. package/dist/llm/reasoning-artifacts.js +440 -0
  199. package/dist/llm/reasoning-artifacts.js.map +1 -0
  200. package/dist/llm/request-fingerprint.d.ts +10 -0
  201. package/dist/llm/request-fingerprint.js +313 -0
  202. package/dist/llm/request-fingerprint.js.map +1 -0
  203. package/dist/llm/request-plan.d.ts +119 -0
  204. package/dist/llm/request-plan.js +279 -0
  205. package/dist/llm/request-plan.js.map +1 -0
  206. package/dist/llm/router.d.ts +19 -1
  207. package/dist/llm/router.js +504 -102
  208. package/dist/llm/router.js.map +1 -1
  209. package/dist/llm/stream-events.d.ts +47 -0
  210. package/dist/llm/stream-events.js +55 -0
  211. package/dist/llm/stream-events.js.map +1 -0
  212. package/dist/llm/stream-terminal.d.ts +30 -0
  213. package/dist/llm/stream-terminal.js +51 -0
  214. package/dist/llm/stream-terminal.js.map +1 -0
  215. package/dist/llm/token-estimate-calibration.d.ts +23 -0
  216. package/dist/llm/token-estimate-calibration.js +140 -0
  217. package/dist/llm/token-estimate-calibration.js.map +1 -0
  218. package/dist/llm/token-usage.d.ts +35 -5
  219. package/dist/llm/token-usage.js +212 -162
  220. package/dist/llm/token-usage.js.map +1 -1
  221. package/dist/llm/tokenrouter.js +13 -6
  222. package/dist/llm/tokenrouter.js.map +1 -1
  223. package/dist/modes/ask.js +11 -5
  224. package/dist/modes/ask.js.map +1 -1
  225. package/dist/noninteractive/start-noninteractive.js +31 -2
  226. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  227. package/dist/noninteractive/stream-blocks.js +15 -4
  228. package/dist/noninteractive/stream-blocks.js.map +1 -1
  229. package/dist/prompts/embedded.js +1 -1
  230. package/dist/prompts/embedded.js.map +1 -1
  231. package/dist/prompts/system.agent.md +6 -0
  232. package/dist/store/config.js +7 -1
  233. package/dist/store/config.js.map +1 -1
  234. package/dist/store/history.d.ts +2 -0
  235. package/dist/store/history.js +19 -10
  236. package/dist/store/history.js.map +1 -1
  237. package/dist/store/plan.js +20 -14
  238. package/dist/store/plan.js.map +1 -1
  239. package/dist/tools/elevated-shell.d.ts +1 -1
  240. package/dist/tools/elevated-shell.js +24 -72
  241. package/dist/tools/elevated-shell.js.map +1 -1
  242. package/dist/tools/fs.d.ts +5 -3
  243. package/dist/tools/fs.js +8 -5
  244. package/dist/tools/fs.js.map +1 -1
  245. package/dist/tools/nmap-runner.js +30 -36
  246. package/dist/tools/nmap-runner.js.map +1 -1
  247. package/dist/tools/sudo-session.d.ts +83 -0
  248. package/dist/tools/sudo-session.js +124 -0
  249. package/dist/tools/sudo-session.js.map +1 -0
  250. package/dist/tui-v2/app/App.js +9 -24
  251. package/dist/tui-v2/app/App.js.map +1 -1
  252. package/dist/tui-v2/components/plan/plan-view.js +5 -3
  253. package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
  254. package/dist/tui-v2/components/status/context-limit-chip.js +2 -2
  255. package/dist/tui-v2/components/status/context-limit-chip.js.map +1 -1
  256. package/dist/tui-v2/components/status/status-line.js +1 -14
  257. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  258. package/dist/tui-v2/components/transcript/intro-card.js +2 -1
  259. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  260. package/dist/tui-v2/components/transcript/notice-row.d.ts +3 -1
  261. package/dist/tui-v2/components/transcript/notice-row.js +28 -3
  262. package/dist/tui-v2/components/transcript/notice-row.js.map +1 -1
  263. package/dist/tui-v2/components/transcript/thinking-block.d.ts +0 -5
  264. package/dist/tui-v2/components/transcript/thinking-block.js +3 -8
  265. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  266. package/dist/tui-v2/components/transcript/tool-card.js +16 -7
  267. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  268. package/dist/tui-v2/components/transcript/transcript-row.d.ts +0 -2
  269. package/dist/tui-v2/components/transcript/transcript-row.js +7 -3
  270. package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
  271. package/dist/tui-v2/components/transcript/transcript-view.js +1 -3
  272. package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
  273. package/dist/tui-v2/composer/composer-editor.js +2 -1
  274. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  275. package/dist/types.d.ts +156 -1
  276. package/dist/types.js +3 -0
  277. package/dist/types.js.map +1 -1
  278. package/dist/ui-core/bootstrap/composition-root.d.ts +2 -0
  279. package/dist/ui-core/bootstrap/composition-root.js +26 -3
  280. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  281. package/dist/ui-core/commands/picker-commands.js +11 -5
  282. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  283. package/dist/ui-core/commands/session-commands.js +41 -5
  284. package/dist/ui-core/commands/session-commands.js.map +1 -1
  285. package/dist/ui-core/plan/plan-lifecycle.js +3 -2
  286. package/dist/ui-core/plan/plan-lifecycle.js.map +1 -1
  287. package/dist/ui-core/rendering/context-limit.js +4 -1
  288. package/dist/ui-core/rendering/context-limit.js.map +1 -1
  289. package/dist/ui-core/rendering/duration.d.ts +5 -0
  290. package/dist/ui-core/rendering/duration.js +43 -0
  291. package/dist/ui-core/rendering/duration.js.map +1 -0
  292. package/dist/ui-core/rendering/intro-header.js +2 -2
  293. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  294. package/dist/ui-core/rendering/theme.d.ts +1 -0
  295. package/dist/ui-core/rendering/theme.js +2 -0
  296. package/dist/ui-core/rendering/theme.js.map +1 -1
  297. package/dist/ui-core/rendering/transcript-semantic.js +2 -0
  298. package/dist/ui-core/rendering/transcript-semantic.js.map +1 -1
  299. package/dist/ui-core/state/transcript-compaction.js +2 -0
  300. package/dist/ui-core/state/transcript-compaction.js.map +1 -1
  301. package/dist/ui-core/state/transcript-hydrate.js +34 -4
  302. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  303. package/dist/ui-core/state/transcript-reducer.d.ts +5 -0
  304. package/dist/ui-core/state/transcript-reducer.js +96 -8
  305. package/dist/ui-core/state/transcript-reducer.js.map +1 -1
  306. package/dist/ui-core/state/transcript-store.d.ts +10 -1
  307. package/dist/ui-core/state/transcript-store.js +22 -1
  308. package/dist/ui-core/state/transcript-store.js.map +1 -1
  309. package/dist/ui-core/state/transcript-types.d.ts +9 -1
  310. package/dist/ui-core/state/transcript-types.js +3 -1
  311. package/dist/ui-core/state/transcript-types.js.map +1 -1
  312. package/dist/version.generated.d.ts +2 -2
  313. package/dist/version.generated.js +2 -2
  314. package/package.json +6 -1
@@ -1,76 +1,14 @@
1
+ import { runGenerationAttempt } from "./operation-usage.js";
1
2
  import { defaultModels, } from "./provider.js";
2
3
  import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, streamIdleBudgets, THINKING_STREAM_INITIAL_IDLE_TIMEOUT_MS, ProviderError, } from "./http.js";
4
+ import { withEffortFallback } from "./effort-fallback.js";
3
5
  const baseUrl = "https://router.bynara.id/v1";
4
6
  const BYNARA_REASONING_STYLE = "bynara";
5
- function isEffortRejectedError(error) {
6
- const status = error && typeof error === "object" && "status" in error
7
- ? Number(error.status)
8
- : undefined;
9
- if (status !== 400 && status !== 422)
10
- return false;
11
- const body = error && typeof error === "object" && "body" in error
12
- ? String(error.body ?? "")
13
- : "";
14
- const message = error instanceof Error ? error.message : String(error);
15
- const hay = `${message}\n${body}`.toLowerCase();
16
- if (!/reasoning_effort|\beffort\b|chat_template_kwargs|\bthinking\b/.test(hay)) {
17
- return false;
18
- }
19
- return /must be one of|invalid|unsupported|not support|unknown|unrecognized|not a valid|not allowed|expected one of/.test(hay);
20
- }
21
- const EFFORT_LADDER = ["high", "medium", "low"];
22
- function fallbackEffortsFor(requested) {
23
- const normalized = requested.toLowerCase();
24
- const nearest = {
25
- none: ["low", "medium", "high"],
26
- minimal: ["low", "medium", "high"],
27
- low: ["medium", "high"],
28
- medium: ["high", "low"],
29
- high: ["medium", "low"],
30
- xhigh: ["high", "medium", "low"],
31
- max: ["high", "medium", "low"],
32
- };
33
- const order = nearest[normalized] ?? EFFORT_LADDER;
34
- return order.filter((effort) => effort !== normalized);
35
- }
36
- function effortCandidates(thinking) {
37
- const requested = thinking?.effort ?? "medium";
38
- const seen = new Set();
39
- const candidates = [];
40
- for (const effort of [requested, ...fallbackEffortsFor(requested)]) {
41
- const key = effort.toLowerCase();
42
- if (seen.has(key))
43
- continue;
44
- seen.add(key);
45
- candidates.push(effort);
46
- }
47
- return candidates;
48
- }
49
- async function withEffortFallback(request, attempt, onExhausted) {
50
- if (!request.thinking?.enabled)
51
- return await attempt(request.thinking);
52
- const candidates = effortCandidates(request.thinking);
53
- let lastError;
54
- for (let index = 0; index < candidates.length; index += 1) {
55
- try {
56
- return await attempt({ ...request.thinking, effort: candidates[index] });
57
- }
58
- catch (error) {
59
- if (!isEffortRejectedError(error))
60
- throw error;
61
- lastError = error;
62
- if (index === candidates.length - 1)
63
- throw error;
64
- }
65
- }
66
- if (lastError)
67
- throw lastError;
68
- onExhausted();
69
- }
70
7
  const modelCache = new Map();
71
8
  const CACHE_TTL_MS = 60 * 60 * 1000;
72
9
  export const bynaraProvider = {
73
10
  id: "bynara",
11
+ reasoningStyle: "bynara",
74
12
  displayName: "Bynara",
75
13
  defaultModel: defaultModels.bynara,
76
14
  envVar: "BYNARA_API_KEY",
@@ -107,7 +45,15 @@ export const bynaraProvider = {
107
45
  if (!apiKey)
108
46
  throw new Error("Bynara API key is required");
109
47
  const model = request.model ?? defaultModels.bynara;
110
- return await withEffortFallback(request, async (thinking) => {
48
+ let attemptIndex = 0;
49
+ return await withEffortFallback(request, async (thinking) => runGenerationAttempt(request, {
50
+ provider: "bynara",
51
+ model,
52
+ mode: "complete",
53
+ reason: attemptIndex++ === 0
54
+ ? (request.attemptReason ?? "initial")
55
+ : "provider-retry",
56
+ }, async () => {
111
57
  const payload = await openAiCompatibleComplete({
112
58
  provider: "Bynara",
113
59
  providerId: "bynara",
@@ -123,9 +69,10 @@ export const bynaraProvider = {
123
69
  tools: request.tools,
124
70
  toolChoice: request.toolChoice,
125
71
  parallelToolCalls: request.parallelToolCalls,
72
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
126
73
  });
127
74
  return toCompletionResult("bynara", model, payload);
128
- }, () => {
75
+ }), () => {
129
76
  throw new ProviderError(`Bynara returned no completion text (model=${model}).`);
130
77
  });
131
78
  },
@@ -134,7 +81,15 @@ export const bynaraProvider = {
134
81
  if (!apiKey)
135
82
  throw new Error("Bynara API key is required");
136
83
  const model = request.model ?? defaultModels.bynara;
137
- return await withEffortFallback(request, async (thinking) => {
84
+ let attemptIndex = 0;
85
+ return await withEffortFallback(request, async (thinking) => runGenerationAttempt(request, {
86
+ provider: "bynara",
87
+ model,
88
+ mode: "stream",
89
+ reason: attemptIndex++ === 0
90
+ ? (request.attemptReason ?? "initial")
91
+ : "provider-retry",
92
+ }, async () => {
138
93
  const budgets = streamIdleBudgets(Boolean(thinking?.enabled));
139
94
  const payload = await openAiCompatibleStream({
140
95
  provider: "Bynara",
@@ -148,6 +103,7 @@ export const bynaraProvider = {
148
103
  signal: request.signal,
149
104
  onToken,
150
105
  onToolCallDelta: request.onToolCallDelta,
106
+ onStreamEvent: request.onStreamEvent,
151
107
  reasoning: thinking,
152
108
  reasoningStyle: BYNARA_REASONING_STYLE,
153
109
  idleTimeoutMs: budgets.idleTimeoutMs,
@@ -158,9 +114,10 @@ export const bynaraProvider = {
158
114
  tools: request.tools,
159
115
  toolChoice: request.toolChoice,
160
116
  parallelToolCalls: request.parallelToolCalls,
117
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
161
118
  });
162
119
  return toCompletionResult("bynara", model, payload);
163
- }, () => {
120
+ }), () => {
164
121
  throw new ProviderError(`Bynara stream failed (model=${model}).`);
165
122
  });
166
123
  },
@@ -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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"}
@@ -1,10 +1,11 @@
1
- import type { ProviderId } from "../types.js";
1
+ import type { ProviderId, ReasoningEffort, ReasoningPreference } from "../types.js";
2
2
  import type { ToolDialect, ToolCallingMode } from "./tool-protocol.js";
3
3
  /** Mark a model as having rejected reasoning options so we stop sending them. */
4
4
  export declare function markReasoningUnsupported(provider: ProviderId, model: string): void;
5
5
  /** Whether a model was observed to reject reasoning options this session. */
6
6
  export declare function isReasoningUnsupported(provider: ProviderId, model: string): boolean;
7
7
  export declare function clearReasoningUnsupported(): void;
8
+ export declare function effectiveThinkingEffort(provider: ProviderId, model: string, thinking: ReasoningPreference | undefined): ReasoningEffort | undefined;
8
9
  export declare function registerModelReasoningSupport(provider: ProviderId, model: string, supported: boolean): void;
9
10
  export declare function learnModelEmitsReasoning(provider: ProviderId, model: string): void;
10
11
  export type ReasoningEvidence = "rejected" | "observed" | "catalog" | "pattern" | "unknown";
@@ -77,6 +77,21 @@ const reasoningPatterns = {
77
77
  /minimax/i,
78
78
  ],
79
79
  meta: [/muse-spark/i],
80
+ fireworks: [/kimi/i, /deepseek/i, /qwen3/i, /glm-?5/i, /gpt-oss/i, /nemotron/i, /minimax/i, /mimo/i],
81
+ hetzner: [/qwen3/i, /qwen/i],
82
+ // OrcaRouter exposes one unified reasoning_effort knob across every routed
83
+ // upstream; match the reasoning families its catalog publishes.
84
+ orcarouter: [
85
+ /o[134]/i,
86
+ /gpt-5/i,
87
+ /claude-(?:opus|sonnet)/i,
88
+ /gemini-2\.5|gemini-3/i,
89
+ /deepseek-reasoner/i,
90
+ /grok.*reason/i,
91
+ /qwen3/i,
92
+ /kimi/i,
93
+ /glm/i,
94
+ ],
80
95
  };
81
96
  // Session-sticky set of provider/model routes that rejected our
82
97
  // reasoning/thinking options at runtime. Populated by the router when a
@@ -94,6 +109,13 @@ export function isReasoningUnsupported(provider, model) {
94
109
  export function clearReasoningUnsupported() {
95
110
  reasoningUnsupportedModels.clear();
96
111
  }
112
+ export function effectiveThinkingEffort(provider, model, thinking) {
113
+ if (!thinking?.enabled)
114
+ return undefined;
115
+ if (isReasoningUnsupported(provider, model))
116
+ return undefined;
117
+ return thinking.effort;
118
+ }
97
119
  const catalogReasoningSupport = new Map();
98
120
  const observedReasoningModels = new Set();
99
121
  export function registerModelReasoningSupport(provider, model, supported) {
@@ -279,6 +301,22 @@ const visionPatterns = {
279
301
  /gemma-4/i,
280
302
  ],
281
303
  meta: [/muse-spark/i],
304
+ fireworks: [/kimi-k2/i, /qwen3.*vl/i, /qwen.*vl/i, /vision/i, /vl$/i, /llama-4/i, /pixtral/i, /glm-4.*v/i],
305
+ hetzner: [/qwen/i, /vision/i, /vl/i],
306
+ // Vision-capable ids per OrcaRouter's capability table: gpt-4o family,
307
+ // gemini-2.5/3.x, grok-4, plus the routed Claude/Qwen-VL/Kimi families.
308
+ orcarouter: [
309
+ /gpt-4o/i,
310
+ /gpt-4\.1/i,
311
+ /gpt-5/i,
312
+ /claude-(?:opus|sonnet|haiku)/i,
313
+ /gemini-/i,
314
+ /grok-/i,
315
+ /qwen.*vl/i,
316
+ /kimi/i,
317
+ /vision/i,
318
+ /vl$/i,
319
+ ],
282
320
  };
283
321
  const visionCapabilityCache = new Map();
284
322
  const capabilityKey = (provider, model) => `${provider}:${model.trim().toLowerCase()}`;
@@ -531,8 +569,11 @@ const preferredVisionModels = {
531
569
  bynara: "mimo-v2.5-free",
532
570
  "qwen-cloud": "qwen3.7-plus",
533
571
  lightning: "google/gemini-3.5-flash",
534
- tokenrouter: "kimi-k2p6",
572
+ tokenrouter: "moonshotai/kimi-k2.7-code",
535
573
  meta: "muse-spark-1.2",
574
+ fireworks: "accounts/fireworks/models/kimi-k2p6",
575
+ hetzner: "Qwen/Qwen3.6-35B-A3B-FP8",
576
+ orcarouter: "openai/gpt-4o-mini",
536
577
  };
537
578
  function isSelectableModel(provider, model) {
538
579
  if (isModelUnavailable(provider, model))
@@ -574,6 +615,9 @@ const providerToolDialect = {
574
615
  lightning: "openai",
575
616
  tokenrouter: "openai",
576
617
  meta: "openai",
618
+ fireworks: "openai",
619
+ hetzner: "openai",
620
+ orcarouter: "openai",
577
621
  anthropic: "anthropic",
578
622
  "aws-mantle": "openai", // refined by model below
579
623
  gemini: "gemini",
@@ -608,6 +652,11 @@ const ollamaToolFamilies = [
608
652
  function isAwsMantleAnthropicModel(model) {
609
653
  return /(?:^|[./-])(?:anthropic|claude)(?:[./-]|$)/i.test(model);
610
654
  }
655
+ /** Tool capability a custom provider declared in its validated profile. */
656
+ function customToolCapability(provider) {
657
+ const def = (getConfig().customProviders ?? []).find((definition) => definition.id === provider);
658
+ return def?.profile?.tools ?? "unknown";
659
+ }
611
660
  export function resolveToolDialect(provider, model, toolCalling) {
612
661
  const mode = toolCalling ?? getConfig().toolCalling ?? "auto";
613
662
  if (mode === "text")
@@ -627,6 +676,12 @@ export function resolveToolDialect(provider, model, toolCalling) {
627
676
  return "ollama";
628
677
  return "none";
629
678
  }
679
+ if (providerToolDialect[provider] === undefined) {
680
+ // Custom routes serialize native tools only when declared supported;
681
+ // unknown stays conservative so an undeclared server never receives
682
+ // optional tool fields it may reject.
683
+ return customToolCapability(provider) === "supported" ? "openai" : "none";
684
+ }
630
685
  return providerToolDialect[provider] ?? "none";
631
686
  }
632
687
  export function modelSupportsNativeTools(provider, model, toolCalling) {
@@ -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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"}
@@ -0,0 +1,100 @@
1
+ import { type GenerationAttemptMode, type GenerationAttemptOutcome, type GenerationAttemptReason, type ProviderId } from "../types.js";
2
+ import type { OperationUsageSnapshot } from "./operation-usage.js";
3
+ import type { ContextUsageSnapshot } from "./token-usage.js";
4
+ /** Versioned runtime representation for one observed context measurement. */
5
+ export declare const CONTEXT_SNAPSHOT_VERSION: 1;
6
+ export type ContextSnapshotScope = "provider-request" | "assembled-request" | "message-history" | "unknown";
7
+ export type ContextSnapshotPrecision = "provider-exact" | "estimate" | "unknown";
8
+ export type ContextLimitSource = "session-override" | "model-catalog" | "configured-trigger" | "provider-reported" | "unknown";
9
+ export interface ContextSnapshotLimit {
10
+ readonly source: ContextLimitSource;
11
+ readonly tokens?: number | undefined;
12
+ }
13
+ export type ContextSnapshotHeadroom = {
14
+ readonly kind: "known";
15
+ /** Remaining tokens in the same scope as contextTokens. */
16
+ readonly remainingTokens: number;
17
+ /** Optional future request-budget metadata; T110 leaves it unknown. */
18
+ readonly effectiveTriggerTokens?: number | undefined;
19
+ readonly outputReserveTokens?: number | undefined;
20
+ readonly safetyMarginTokens?: number | undefined;
21
+ } | {
22
+ readonly kind: "unknown";
23
+ };
24
+ /** Provider-reported cache outcomes; absence is explicitly unknown, never zero. */
25
+ export type ContextSnapshotCache = {
26
+ readonly kind: "unknown";
27
+ } | {
28
+ readonly kind: "reported";
29
+ readonly readTokens?: number | undefined;
30
+ readonly creationTokens?: number | undefined;
31
+ /** Input tokens explicitly not served from the provider cache. */
32
+ readonly uncachedTokens?: number | undefined;
33
+ };
34
+ /** Provider-reported reasoning usage; absence is explicitly unknown, never zero. */
35
+ export type ContextSnapshotReasoning = {
36
+ readonly kind: "unknown";
37
+ } | {
38
+ readonly kind: "reported";
39
+ readonly outputTokens?: number | undefined;
40
+ readonly inputArtifactTokens?: number | undefined;
41
+ };
42
+ /**
43
+ * A T100 record sequence is scoped to one logical provider operation. It is
44
+ * exposed only when that operation snapshot actually reached the caller.
45
+ */
46
+ export type ContextAttemptReference = {
47
+ readonly kind: "unavailable";
48
+ } | {
49
+ readonly kind: "generation";
50
+ readonly sequence: number;
51
+ readonly provider: ProviderId;
52
+ readonly model: string;
53
+ readonly mode: GenerationAttemptMode;
54
+ readonly reason: GenerationAttemptReason;
55
+ readonly outcome: GenerationAttemptOutcome;
56
+ };
57
+ export interface ContextSnapshotV1 {
58
+ readonly version: typeof CONTEXT_SNAPSHOT_VERSION;
59
+ /** The observed context fill in the declared scope. */
60
+ readonly contextTokens: number;
61
+ readonly lastCompletionTokens: number;
62
+ readonly sessionPromptTokens: number;
63
+ readonly sessionCompletionTokens: number;
64
+ readonly scope: ContextSnapshotScope;
65
+ readonly precision: ContextSnapshotPrecision;
66
+ readonly limit: ContextSnapshotLimit;
67
+ readonly headroom: ContextSnapshotHeadroom;
68
+ readonly cache: ContextSnapshotCache;
69
+ readonly reasoning: ContextSnapshotReasoning;
70
+ readonly attempt: ContextAttemptReference;
71
+ /** Epoch milliseconds captured at measurement time, never at projection time. */
72
+ readonly observedAt: number;
73
+ }
74
+ export interface CreateContextSnapshotInput {
75
+ readonly contextTokens: number;
76
+ readonly lastCompletionTokens?: number | undefined;
77
+ readonly sessionPromptTokens?: number | undefined;
78
+ readonly sessionCompletionTokens?: number | undefined;
79
+ readonly scope: ContextSnapshotScope;
80
+ readonly precision: ContextSnapshotPrecision;
81
+ readonly limit?: ContextSnapshotLimit | undefined;
82
+ readonly headroom?: ContextSnapshotHeadroom | undefined;
83
+ readonly cache?: ContextSnapshotCache | undefined;
84
+ readonly reasoning?: ContextSnapshotReasoning | undefined;
85
+ readonly attempt?: ContextAttemptReference | undefined;
86
+ readonly observedAt?: number | undefined;
87
+ }
88
+ /** Build one immutable, versioned observation without synthesizing telemetry. */
89
+ export declare function createContextSnapshot(input: CreateContextSnapshotInput): ContextSnapshotV1;
90
+ /** The only legacy projection consumed by existing renderers and old history. */
91
+ export declare function toLegacyContextUsage(snapshot: ContextSnapshotV1): ContextUsageSnapshot;
92
+ export declare function contextLimitFromSessionOverride(tokens: number | undefined): ContextSnapshotLimit;
93
+ /** Rebind only live limit metadata; measurements retain their original time. */
94
+ export declare function withContextSnapshotLimit(snapshot: ContextSnapshotV1, limit: ContextSnapshotLimit): ContextSnapshotV1;
95
+ /** Convert an unversioned six-field persisted/rendering snapshot once. */
96
+ export declare function contextSnapshotFromLegacy(snapshot: ContextUsageSnapshot, limit: ContextSnapshotLimit, observedAt?: number | undefined): ContextSnapshotV1;
97
+ /** Narrow persisted JSON before treating it as the current schema. */
98
+ export declare function isContextSnapshotV1(value: unknown): value is ContextSnapshotV1;
99
+ /** Return the final physical T100 attempt only when it really exists. */
100
+ export declare function contextAttemptFromOperationUsage(operationUsage: OperationUsageSnapshot | undefined): ContextAttemptReference;