@pentoshi/clai 4.2.2 → 4.4.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 (204) hide show
  1. package/README.md +15 -17
  2. package/dist/agent/compaction-summary.d.ts +1 -1
  3. package/dist/agent/compaction-summary.js +1 -1
  4. package/dist/agent/compaction-summary.js.map +1 -1
  5. package/dist/agent/runner.js +12 -13
  6. package/dist/agent/runner.js.map +1 -1
  7. package/dist/agent/tool-output-formatting.d.ts +6 -0
  8. package/dist/agent/tool-output-formatting.js +126 -40
  9. package/dist/agent/tool-output-formatting.js.map +1 -1
  10. package/dist/app/adapters/agent-event-adapter.d.ts +4 -0
  11. package/dist/app/adapters/agent-event-adapter.js +28 -3
  12. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  13. package/dist/app/commands/catalog.js +8 -26
  14. package/dist/app/commands/catalog.js.map +1 -1
  15. package/dist/app/commands/registry.js +0 -1
  16. package/dist/app/commands/registry.js.map +1 -1
  17. package/dist/app/controllers/session-controller.d.ts +3 -0
  18. package/dist/app/controllers/session-controller.js +18 -25
  19. package/dist/app/controllers/session-controller.js.map +1 -1
  20. package/dist/app/controllers/session-persistence.d.ts +4 -1
  21. package/dist/app/controllers/session-persistence.js +23 -5
  22. package/dist/app/controllers/session-persistence.js.map +1 -1
  23. package/dist/app/controllers/session-responder.d.ts +1 -0
  24. package/dist/app/controllers/session-responder.js +8 -0
  25. package/dist/app/controllers/session-responder.js.map +1 -1
  26. package/dist/app/controllers/session-usage-ledger.d.ts +63 -0
  27. package/dist/app/controllers/session-usage-ledger.js +232 -0
  28. package/dist/app/controllers/session-usage-ledger.js.map +1 -0
  29. package/dist/app/events/app-event.d.ts +2 -0
  30. package/dist/app/events/app-event.js.map +1 -1
  31. package/dist/classic/app/ClassicApp.js +2 -1
  32. package/dist/classic/app/ClassicApp.js.map +1 -1
  33. package/dist/classic/app/use-feed.js +2 -1
  34. package/dist/classic/app/use-feed.js.map +1 -1
  35. package/dist/classic/chrome/toast-rows.d.ts +1 -0
  36. package/dist/classic/chrome/toast-rows.js +18 -0
  37. package/dist/classic/chrome/toast-rows.js.map +1 -1
  38. package/dist/commands/providers.js +0 -4
  39. package/dist/commands/providers.js.map +1 -1
  40. package/dist/index.js +6 -4
  41. package/dist/index.js.map +1 -1
  42. package/dist/llm/adapters/openai-tools.d.ts +1 -0
  43. package/dist/llm/adapters/openai-tools.js +4 -1
  44. package/dist/llm/adapters/openai-tools.js.map +1 -1
  45. package/dist/llm/agentrouter.js +2 -0
  46. package/dist/llm/agentrouter.js.map +1 -1
  47. package/dist/llm/aws-mantle.js +2 -0
  48. package/dist/llm/aws-mantle.js.map +1 -1
  49. package/dist/llm/bynara.js +2 -0
  50. package/dist/llm/bynara.js.map +1 -1
  51. package/dist/llm/capabilities.d.ts +19 -0
  52. package/dist/llm/capabilities.js +165 -79
  53. package/dist/llm/capabilities.js.map +1 -1
  54. package/dist/llm/catalog-facts.d.ts +23 -0
  55. package/dist/llm/catalog-facts.js +253 -0
  56. package/dist/llm/catalog-facts.js.map +1 -0
  57. package/dist/llm/catalog-prefetch.d.ts +5 -0
  58. package/dist/llm/catalog-prefetch.js +38 -0
  59. package/dist/llm/catalog-prefetch.js.map +1 -0
  60. package/dist/llm/context-windows.d.ts +2 -0
  61. package/dist/llm/context-windows.js +20 -6
  62. package/dist/llm/context-windows.js.map +1 -1
  63. package/dist/llm/custom-profile-resolver.d.ts +5 -0
  64. package/dist/llm/custom-profile-resolver.js +8 -0
  65. package/dist/llm/custom-profile-resolver.js.map +1 -0
  66. package/dist/llm/custom-provider-profile.d.ts +7 -2
  67. package/dist/llm/custom-provider-profile.js +40 -10
  68. package/dist/llm/custom-provider-profile.js.map +1 -1
  69. package/dist/llm/custom-providers.js +2 -0
  70. package/dist/llm/custom-providers.js.map +1 -1
  71. package/dist/llm/effort-fallback.js +3 -0
  72. package/dist/llm/effort-fallback.js.map +1 -1
  73. package/dist/llm/fireworks.js +2 -0
  74. package/dist/llm/fireworks.js.map +1 -1
  75. package/dist/llm/free.js +2 -0
  76. package/dist/llm/free.js.map +1 -1
  77. package/dist/llm/hetzner.js +2 -0
  78. package/dist/llm/hetzner.js.map +1 -1
  79. package/dist/llm/http.d.ts +21 -2
  80. package/dist/llm/http.js +133 -141
  81. package/dist/llm/http.js.map +1 -1
  82. package/dist/llm/key-rotation.d.ts +1 -0
  83. package/dist/llm/key-rotation.js +8 -0
  84. package/dist/llm/key-rotation.js.map +1 -1
  85. package/dist/llm/learned-capabilities.d.ts +22 -0
  86. package/dist/llm/learned-capabilities.js +147 -0
  87. package/dist/llm/learned-capabilities.js.map +1 -0
  88. package/dist/llm/lightning.js +2 -0
  89. package/dist/llm/lightning.js.map +1 -1
  90. package/dist/llm/modal.js +2 -0
  91. package/dist/llm/modal.js.map +1 -1
  92. package/dist/llm/model-families.d.ts +20 -0
  93. package/dist/llm/model-families.js +227 -19
  94. package/dist/llm/model-families.js.map +1 -1
  95. package/dist/llm/nvidia.js +2 -0
  96. package/dist/llm/nvidia.js.map +1 -1
  97. package/dist/llm/openai.js +2 -0
  98. package/dist/llm/openai.js.map +1 -1
  99. package/dist/llm/openrouter.js +2 -0
  100. package/dist/llm/openrouter.js.map +1 -1
  101. package/dist/llm/orcarouter.js +2 -0
  102. package/dist/llm/orcarouter.js.map +1 -1
  103. package/dist/llm/provider-model-layers.d.ts +3 -0
  104. package/dist/llm/provider-model-layers.js +522 -0
  105. package/dist/llm/provider-model-layers.js.map +1 -0
  106. package/dist/llm/provider-profile-layers.d.ts +4 -1
  107. package/dist/llm/provider-profile-layers.js +22 -536
  108. package/dist/llm/provider-profile-layers.js.map +1 -1
  109. package/dist/llm/provider-profile.d.ts +14 -1
  110. package/dist/llm/provider-profile.js +23 -0
  111. package/dist/llm/provider-profile.js.map +1 -1
  112. package/dist/llm/provider-profiles.d.ts +5 -1
  113. package/dist/llm/provider-profiles.js +178 -5
  114. package/dist/llm/provider-profiles.js.map +1 -1
  115. package/dist/llm/provider.js +0 -15
  116. package/dist/llm/provider.js.map +1 -1
  117. package/dist/llm/qwen-cloud.js +2 -0
  118. package/dist/llm/qwen-cloud.js.map +1 -1
  119. package/dist/llm/reasoning-artifacts.d.ts +1 -0
  120. package/dist/llm/reasoning-artifacts.js +7 -5
  121. package/dist/llm/reasoning-artifacts.js.map +1 -1
  122. package/dist/llm/reasoning-controls.d.ts +16 -0
  123. package/dist/llm/reasoning-controls.js +210 -0
  124. package/dist/llm/reasoning-controls.js.map +1 -0
  125. package/dist/llm/reasoning-errors.d.ts +4 -0
  126. package/dist/llm/reasoning-errors.js +45 -0
  127. package/dist/llm/reasoning-errors.js.map +1 -0
  128. package/dist/llm/request-plan.d.ts +8 -6
  129. package/dist/llm/request-plan.js +47 -13
  130. package/dist/llm/request-plan.js.map +1 -1
  131. package/dist/llm/route-dialect-registry.d.ts +8 -0
  132. package/dist/llm/route-dialect-registry.js +33 -0
  133. package/dist/llm/route-dialect-registry.js.map +1 -0
  134. package/dist/llm/route-vocabulary.d.ts +2 -0
  135. package/dist/llm/route-vocabulary.js +23 -0
  136. package/dist/llm/route-vocabulary.js.map +1 -0
  137. package/dist/llm/router.d.ts +2 -0
  138. package/dist/llm/router.js +70 -20
  139. package/dist/llm/router.js.map +1 -1
  140. package/dist/llm/stream-terminal.js +2 -1
  141. package/dist/llm/stream-terminal.js.map +1 -1
  142. package/dist/llm/tokenrouter.js +2 -0
  143. package/dist/llm/tokenrouter.js.map +1 -1
  144. package/dist/store/config.d.ts +11 -0
  145. package/dist/store/config.js +21 -3
  146. package/dist/store/config.js.map +1 -1
  147. package/dist/store/history.d.ts +1 -0
  148. package/dist/store/history.js +7 -0
  149. package/dist/store/history.js.map +1 -1
  150. package/dist/store/keys.d.ts +1 -1
  151. package/dist/store/keys.js +1 -1
  152. package/dist/store/scope.d.ts +8 -0
  153. package/dist/store/scope.js +138 -1
  154. package/dist/store/scope.js.map +1 -1
  155. package/dist/store/session-workspace.d.ts +1 -0
  156. package/dist/store/session-workspace.js +21 -1
  157. package/dist/store/session-workspace.js.map +1 -1
  158. package/dist/tools/definitions.js +5 -10
  159. package/dist/tools/definitions.js.map +1 -1
  160. package/dist/tools/interactive-session-tools.js +5 -5
  161. package/dist/tools/interactive-session-tools.js.map +1 -1
  162. package/dist/tools/output-selection.js +47 -3
  163. package/dist/tools/output-selection.js.map +1 -1
  164. package/dist/tools/registry.js +2 -2
  165. package/dist/tools/registry.js.map +1 -1
  166. package/dist/tools/web/content-encoding.d.ts +6 -0
  167. package/dist/tools/web/content-encoding.js +57 -0
  168. package/dist/tools/web/content-encoding.js.map +1 -0
  169. package/dist/tools/web/fetch-core.js +23 -1
  170. package/dist/tools/web/fetch-core.js.map +1 -1
  171. package/dist/tui-v2/components/picker/picker.js +1 -1
  172. package/dist/tui-v2/components/picker/picker.js.map +1 -1
  173. package/dist/types.d.ts +2 -1
  174. package/dist/types.js +0 -2
  175. package/dist/types.js.map +1 -1
  176. package/dist/ui-core/bootstrap/composition-root.js +8 -2
  177. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  178. package/dist/ui-core/commands/command-handlers.js +3 -3
  179. package/dist/ui-core/commands/command-handlers.js.map +1 -1
  180. package/dist/ui-core/commands/config-commands.js +17 -14
  181. package/dist/ui-core/commands/config-commands.js.map +1 -1
  182. package/dist/ui-core/commands/picker-commands.js +34 -11
  183. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  184. package/dist/ui-core/commands/session-commands.d.ts +3 -3
  185. package/dist/ui-core/commands/session-commands.js +64 -17
  186. package/dist/ui-core/commands/session-commands.js.map +1 -1
  187. package/dist/ui-core/rendering/format-help.js +2 -2
  188. package/dist/ui-core/rendering/format-help.js.map +1 -1
  189. package/dist/ui-core/rendering/format-usage.d.ts +6 -0
  190. package/dist/ui-core/rendering/format-usage.js +116 -0
  191. package/dist/ui-core/rendering/format-usage.js.map +1 -0
  192. package/dist/ui-core/state/transcript-reducer.js +78 -19
  193. package/dist/ui-core/state/transcript-reducer.js.map +1 -1
  194. package/dist/ui-core/state/transcript-types.d.ts +1 -0
  195. package/dist/ui-core/state/transcript-types.js.map +1 -1
  196. package/dist/version.generated.d.ts +2 -2
  197. package/dist/version.generated.js +2 -2
  198. package/package.json +1 -2
  199. package/dist/llm/groq.d.ts +0 -24
  200. package/dist/llm/groq.js +0 -155
  201. package/dist/llm/groq.js.map +0 -1
  202. package/dist/llm/kimchi.d.ts +0 -2
  203. package/dist/llm/kimchi.js +0 -96
  204. package/dist/llm/kimchi.js.map +0 -1
@@ -0,0 +1,8 @@
1
+ import type { ReasoningEffort } from "../types.js";
2
+ export declare function setRouteControlDialect(key: string, dialect: string): void;
3
+ export declare function routeControlDialect(key: string): string | undefined;
4
+ export declare function setNegativeControlDialect(key: string, dialect: string): void;
5
+ export declare function forgetNegativeControlDialect(key: string): void;
6
+ export declare function negativeLearnedUnderAnotherDialect(key: string): boolean;
7
+ export declare function clearRouteDialectRegistry(): void;
8
+ export declare function clampEffortToRoute(requested: ReasoningEffort, accepted: readonly string[] | undefined): ReasoningEffort;
@@ -0,0 +1,33 @@
1
+ import { EFFORT_SCALE, nearestAcceptedEffort } from "./reasoning-controls.js";
2
+ const routeControlDialects = new Map();
3
+ const negativeControlDialects = new Map();
4
+ export function setRouteControlDialect(key, dialect) {
5
+ routeControlDialects.set(key, dialect);
6
+ }
7
+ export function routeControlDialect(key) {
8
+ return routeControlDialects.get(key);
9
+ }
10
+ export function setNegativeControlDialect(key, dialect) {
11
+ negativeControlDialects.set(key, dialect);
12
+ }
13
+ export function forgetNegativeControlDialect(key) {
14
+ negativeControlDialects.delete(key);
15
+ }
16
+ export function negativeLearnedUnderAnotherDialect(key) {
17
+ const learnedUnder = negativeControlDialects.get(key);
18
+ const current = routeControlDialects.get(key);
19
+ return (learnedUnder !== undefined && current !== undefined && learnedUnder !== current);
20
+ }
21
+ export function clearRouteDialectRegistry() {
22
+ routeControlDialects.clear();
23
+ negativeControlDialects.clear();
24
+ }
25
+ export function clampEffortToRoute(requested, accepted) {
26
+ if (!accepted || accepted.length === 0)
27
+ return requested;
28
+ if (accepted.includes(requested))
29
+ return requested;
30
+ const nearest = nearestAcceptedEffort(requested, accepted);
31
+ return EFFORT_SCALE.find((value) => value === nearest) ?? requested;
32
+ }
33
+ //# sourceMappingURL=route-dialect-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-dialect-registry.js","sourceRoot":"","sources":["../../src/llm/route-dialect-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE9E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACvD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE1D,MAAM,UAAU,sBAAsB,CAAC,GAAW,EAAE,OAAe;IACjE,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,OAAe;IACpE,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW;IACtD,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,GAAW;IAC5D,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,CACL,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,YAAY,KAAK,OAAO,CAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAC7B,uBAAuB,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAA0B,EAC1B,QAAuC;IAEvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,SAAS,CAAC;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ProviderId } from "../types.js";
2
+ export declare function publishRouteReasoningVocabulary(provider: ProviderId | undefined, model: string | undefined): void;
@@ -0,0 +1,23 @@
1
+ import { getProviderModel } from "../store/config.js";
2
+ import { registerModelReasoningSupport, registerRouteAcceptedEfforts, registerRouteControlDialect, } from "./capabilities.js";
3
+ import { isBuiltInProviderId } from "./provider-profile.js";
4
+ import { resolveBuiltInProfile } from "./provider-profiles.js";
5
+ export function publishRouteReasoningVocabulary(provider, model) {
6
+ if (!provider || !isBuiltInProviderId(provider))
7
+ return;
8
+ const resolved = model?.trim() ? model : getProviderModel(provider);
9
+ if (!resolved?.trim())
10
+ return;
11
+ const profile = resolveBuiltInProfile({ provider, model: resolved });
12
+ registerRouteAcceptedEfforts(provider, resolved, profile.reasoning.acceptedEfforts);
13
+ registerRouteControlDialect(provider, resolved, profile.reasoning.control.dialect);
14
+ const status = profile.reasoning.control.status;
15
+ const generation = profile.reasoning.generation;
16
+ if (status === "supported" || generation === "default-on" || generation === "mandatory") {
17
+ registerModelReasoningSupport(provider, resolved, true);
18
+ }
19
+ else if (status === "unsupported" || generation === "none") {
20
+ registerModelReasoningSupport(provider, resolved, false);
21
+ }
22
+ }
23
+ //# sourceMappingURL=route-vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-vocabulary.js","sourceRoot":"","sources":["../../src/llm/route-vocabulary.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,+BAA+B,CAC7C,QAAgC,EAChC,KAAyB;IAEzB,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;QAAE,OAAO;IACxD,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;QAAE,OAAO;IAC9B,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACpF,2BAA2B,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAChD,IAAI,MAAM,KAAK,WAAW,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;QACxF,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,MAAM,KAAK,aAAa,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC7D,6BAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { CompletionRequest, CompletionResult, ProviderId, SuccessfulRequestSnapshot } from "../types.js";
2
2
  import { ProviderError } from "./http.js";
3
+ import type { ReasoningEffort } from "../types.js";
3
4
  import { type ProviderStreamEventSink } from "./stream-events.js";
4
5
  import { type ProviderKeyEvent } from "./key-rotation.js";
5
6
  import type { LlmProvider, ProviderAuth } from "./provider.js";
@@ -29,6 +30,7 @@ export interface StreamWithProviderOptions {
29
30
  readonly singleDispatch?: boolean | undefined;
30
31
  readonly onSuccessfulRequest?: ((snapshot: SuccessfulRequestSnapshot) => void) | undefined;
31
32
  }
33
+ export declare function effortCandidatesFor(providerId: ProviderId, model: string, requested: ReasoningEffort): readonly ReasoningEffort[];
32
34
  /**
33
35
  * User-facing classification of provider failures (auth, capacity, disconnect,
34
36
  * empty admission, context limit). Used by the fallback table and tests.
@@ -2,18 +2,19 @@ import { getActiveProviderEndpoint, getCustomProviders, getProviderEndpoints, ge
2
2
  import { getProviderKeys, getProviderSecret, markProviderKeySuccess, } from "../store/keys.js";
3
3
  import { anthropicProvider } from "./anthropic.js";
4
4
  import { geminiProvider } from "./gemini.js";
5
- import { groqProvider } from "./groq.js";
6
5
  import { ProviderError, bodyAddsInformation, buildReasoningPayload, collapseWhitespace, isImageInputUnsupportedError, isReasoningUnsupportedError, stripImagesFromMessages, MAX_ERROR_BODY_IN_MESSAGE_CHARS, STREAM_STALL_MARKER, } from "./http.js";
7
6
  import { isReasoningUnsupported, learnModelVisionCapability, markModelUnavailable, markReasoningUnsupported, modelAcceptsImages, modelSupportsVision, visionSubstitutionOrigin, } from "./capabilities.js";
8
7
  import { applyImageViewAvailability } from "../prompts/index.js";
9
8
  import { fallbackEffortsFor } from "./effort-fallback.js";
9
+ import { isMissingReasoningContentError, isUnattributableRequestBodyError, mentionsReasoning, } from "./reasoning-errors.js";
10
+ import { EFFORT_SCALE, nearestAcceptedEffort } from "./reasoning-controls.js";
11
+ import { resolveBuiltInProfile } from "./provider-profiles.js";
10
12
  import { markStreamEmittedBytes, streamAlreadyEmitted, streamEmittedBytes, } from "./stream-progress.js";
11
13
  import { createStreamEventGuard, isSemanticStreamOutputEvent, } from "./stream-events.js";
12
14
  import { attemptsPerKey, buildKeyAttemptPlan, formatKeyEventStatus, isImmediateKeySwitchError, isKeyCircleStopError, isKeyRotatableError, isQuotaKeyError, } from "./key-rotation.js";
13
15
  import { freeProvider } from "./free.js";
14
16
  import { nvidiaProvider } from "./nvidia.js";
15
17
  import { agentrouterProvider } from "./agentrouter.js";
16
- import { kimchiProvider } from "./kimchi.js";
17
18
  import { bynaraProvider } from "./bynara.js";
18
19
  import { mantleProvider } from "./aws-mantle.js";
19
20
  import { ollamaProvider } from "./ollama.js";
@@ -103,18 +104,24 @@ function isServerError(error) {
103
104
  const status = error.status ?? 0;
104
105
  return status >= 500 && status <= 504;
105
106
  }
106
- function isReasoningRelatedServerError(error, providerId) {
107
+ function isReasoningRelatedServerError(error) {
107
108
  if (!isServerError(error))
108
109
  return false;
109
- if (providerId === "tokenrouter")
110
- return true;
111
- const message = error instanceof Error ? error.message : String(error);
112
- const body = error instanceof ProviderError ? (error.body ?? "") : "";
113
- return /reasoning|effort|thinking/i.test(`${message} ${body}`);
110
+ return mentionsReasoning(error);
111
+ }
112
+ function shouldContinueEffortLadder(error) {
113
+ return isReasoningUnsupportedError(error) || isReasoningRelatedServerError(error);
114
114
  }
115
- function shouldContinueEffortLadder(error, providerId) {
116
- return (isReasoningUnsupportedError(error) ||
117
- isReasoningRelatedServerError(error, providerId));
115
+ export function effortCandidatesFor(providerId, model, requested) {
116
+ const declared = resolveBuiltInProfile({ provider: providerId, model }).reasoning
117
+ .acceptedEfforts;
118
+ if (declared.length === 0)
119
+ return fallbackEffortsFor(requested);
120
+ const nearest = nearestAcceptedEffort(requested, declared);
121
+ if (nearest === undefined || nearest === requested)
122
+ return [];
123
+ const scaled = EFFORT_SCALE.find((effort) => effort === nearest);
124
+ return scaled ? [scaled] : [];
118
125
  }
119
126
  function shouldEnterEffortLadder(error, thinking, providerId, model, singleDispatch) {
120
127
  if (isReasoningUnsupportedError(error))
@@ -125,7 +132,7 @@ function shouldEnterEffortLadder(error, thinking, providerId, model, singleDispa
125
132
  return false;
126
133
  if (isReasoningUnsupported(providerId, model))
127
134
  return false;
128
- return isReasoningRelatedServerError(error, providerId);
135
+ return isReasoningRelatedServerError(error);
129
136
  }
130
137
  function isCacheOnlyColdError(error) {
131
138
  const message = error instanceof Error ? error.message : String(error);
@@ -351,14 +358,12 @@ export function isEmptyCompletionError(error) {
351
358
  }
352
359
  export const providers = {
353
360
  free: freeProvider,
354
- groq: groqProvider,
355
361
  gemini: geminiProvider,
356
362
  openrouter: openrouterProvider,
357
363
  openai: openaiProvider,
358
364
  anthropic: anthropicProvider,
359
365
  nvidia: nvidiaProvider,
360
366
  agentrouter: agentrouterProvider,
361
- kimchi: kimchiProvider,
362
367
  "aws-mantle": mantleProvider,
363
368
  ollama: ollamaProvider,
364
369
  bynara: bynaraProvider,
@@ -374,11 +379,9 @@ export const providers = {
374
379
  const fallbackOrder = [
375
380
  "free",
376
381
  "nvidia",
377
- "groq",
378
382
  "gemini",
379
383
  "openrouter",
380
384
  "agentrouter",
381
- "kimchi",
382
385
  "bynara",
383
386
  "openai",
384
387
  "anthropic",
@@ -534,6 +537,19 @@ async function tryCompleteOnce(provider, providerId, request, model, auth, reaso
534
537
  };
535
538
  return await runAttempt(textRequest, "adaptation");
536
539
  }
540
+ if (isMissingReasoningContentError(error) && !activeRequest.forceReasoningReplay) {
541
+ if (singleDispatch)
542
+ throw error;
543
+ onStatus?.(`ℹ ${providerId}/${model} needs its reasoning replayed — retrying with it attached`);
544
+ try {
545
+ return await runAttempt({ ...activeRequest, forceReasoningReplay: true }, "adaptation");
546
+ }
547
+ catch (retryError) {
548
+ if (!isMissingReasoningContentError(retryError))
549
+ throw retryError;
550
+ return await runAttempt(withoutReasoning(activeRequest), "adaptation");
551
+ }
552
+ }
537
553
  if (shouldEnterEffortLadder(error, activeRequest.thinking, providerId, model, singleDispatch)) {
538
554
  if (singleDispatch) {
539
555
  markReasoningUnsupported(providerId, model);
@@ -545,7 +561,7 @@ async function tryCompleteOnce(provider, providerId, request, model, auth, reaso
545
561
  const seen = new Set([
546
562
  reasoningWireKey(thinking, style, model, providerId),
547
563
  ]);
548
- for (const effort of fallbackEffortsFor(thinking.effort)) {
564
+ for (const effort of effortCandidatesFor(providerId, model, thinking.effort)) {
549
565
  const candidate = { ...thinking, effort };
550
566
  const key = reasoningWireKey(candidate, style, model, providerId);
551
567
  if (seen.has(key))
@@ -560,7 +576,7 @@ async function tryCompleteOnce(provider, providerId, request, model, auth, reaso
560
576
  return await runAttempt(retryRequest, "adaptation");
561
577
  }
562
578
  catch (retryError) {
563
- if (!shouldContinueEffortLadder(retryError, providerId))
579
+ if (!shouldContinueEffortLadder(retryError))
564
580
  throw retryError;
565
581
  }
566
582
  }
@@ -569,6 +585,12 @@ async function tryCompleteOnce(provider, providerId, request, model, auth, reaso
569
585
  onStatus?.(`ℹ ${providerId}/${model} rejected reasoning options — retrying without them`);
570
586
  return await runAttempt(withoutReasoning(activeRequest), "adaptation");
571
587
  }
588
+ if (!singleDispatch &&
589
+ activeRequest.thinking?.enabled &&
590
+ isUnattributableRequestBodyError(error)) {
591
+ onStatus?.(`ℹ ${providerId}/${model} rejected the request body — retrying without reasoning options`);
592
+ return await runAttempt(withoutReasoning(activeRequest), "adaptation");
593
+ }
572
594
  if (hasImageInput(activeRequest) && isImageInputUnsupportedError(error)) {
573
595
  learnModelVisionCapability(providerId, model, false);
574
596
  if (singleDispatch)
@@ -793,6 +815,22 @@ async function tryStreamOnce(provider, providerId, request, model, auth, onToken
793
815
  // Walk down the effort ladder first (max → xhigh → high → medium → low) so
794
816
  // a model that merely rejects the highest requested depth keeps reasoning;
795
817
  // only strip reasoning entirely once every candidate has been rejected.
818
+ if (emittedBytes === 0 &&
819
+ isMissingReasoningContentError(error) &&
820
+ !activeRequest.forceReasoningReplay) {
821
+ if (singleDispatch)
822
+ throw markStreamEmittedBytes(error, emittedBytes);
823
+ onStatus?.(`ℹ ${providerId}/${model} needs its reasoning replayed — retrying with it attached`);
824
+ try {
825
+ return await runAttempt({ ...activeRequest, forceReasoningReplay: true }, "adaptation");
826
+ }
827
+ catch (retryError) {
828
+ if (!isMissingReasoningContentError(retryError)) {
829
+ throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
830
+ }
831
+ return await runAttempt(withoutReasoning(activeRequest), "adaptation");
832
+ }
833
+ }
796
834
  if (emittedBytes === 0 && shouldEnterEffortLadder(error, activeRequest.thinking, providerId, model, singleDispatch)) {
797
835
  if (singleDispatch) {
798
836
  markReasoningUnsupported(providerId, model);
@@ -804,7 +842,7 @@ async function tryStreamOnce(provider, providerId, request, model, auth, onToken
804
842
  const seen = new Set([
805
843
  reasoningWireKey(thinking, style, model, providerId),
806
844
  ]);
807
- for (const effort of fallbackEffortsFor(thinking.effort)) {
845
+ for (const effort of effortCandidatesFor(providerId, model, thinking.effort)) {
808
846
  const candidate = { ...thinking, effort };
809
847
  const key = reasoningWireKey(candidate, style, model, providerId);
810
848
  if (seen.has(key))
@@ -819,7 +857,7 @@ async function tryStreamOnce(provider, providerId, request, model, auth, onToken
819
857
  return await runAttempt(retryRequest, "adaptation");
820
858
  }
821
859
  catch (retryError) {
822
- if (!shouldContinueEffortLadder(retryError, providerId)) {
860
+ if (!shouldContinueEffortLadder(retryError)) {
823
861
  throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
824
862
  }
825
863
  }
@@ -835,6 +873,18 @@ async function tryStreamOnce(provider, providerId, request, model, auth, onToken
835
873
  throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
836
874
  }
837
875
  }
876
+ if (emittedBytes === 0 &&
877
+ !singleDispatch &&
878
+ activeRequest.thinking?.enabled &&
879
+ isUnattributableRequestBodyError(error)) {
880
+ onStatus?.(`ℹ ${providerId}/${model} rejected the request body — retrying without reasoning options`);
881
+ try {
882
+ return await runAttempt(withoutReasoning(activeRequest), "adaptation");
883
+ }
884
+ catch (retryError) {
885
+ throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
886
+ }
887
+ }
838
888
  if (emittedBytes === 0 &&
839
889
  hasImageInput(activeRequest) &&
840
890
  isImageInputUnsupportedError(error)) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/llm/router.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { CHAT_COMPLETIONS_TERMINAL_PROOFS } from "./provider-profile.js";
1
2
  export const CHAT_COMPLETIONS_STREAM_TERMINAL = {
2
- proofs: ["done-sentinel", "finish-reason"],
3
+ proofs: CHAT_COMPLETIONS_TERMINAL_PROOFS,
3
4
  naturalEofAccepted: false,
4
5
  };
5
6
  export const ANTHROPIC_STREAM_TERMINAL = {
@@ -1 +1 @@
1
- {"version":3,"file":"stream-terminal.js","sourceRoot":"","sources":["../../src/llm/stream-terminal.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,gCAAgC,GAAyB;IACpE,MAAM,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,MAAM,EAAE,CAAC,cAAc,CAAC;IACxB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,CAAC,eAAe,CAAC;IACzB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,MAAM,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,WAAW,CAAS;IACpB,cAAc,CAAS;IACvB,iBAAiB,CAAS;IAEnC,YACE,QAAgB,EAChB,QAAwC,EACxC,MAA+B;QAE/B,KAAK,CACH,GAAG,QAAQ,yCAAyC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7E,kEAAkE;YAClE,qCAAqC,MAAM,CAAC,WAAW,KAAK;YAC5D,aAAa,MAAM,CAAC,cAAc,qBAAqB,MAAM,CAAC,iBAAiB,KAAK,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACpD,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAc;IAEd,OAAO,KAAK,YAAY,kBAAkB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAOpC;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB;QAAE,OAAO;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAChE,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"stream-terminal.js","sourceRoot":"","sources":["../../src/llm/stream-terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAazE,MAAM,CAAC,MAAM,gCAAgC,GAAyB;IACpE,MAAM,EAAE,gCAAgC;IACxC,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAyB;IAC7D,MAAM,EAAE,CAAC,cAAc,CAAC;IACxB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,CAAC,eAAe,CAAC;IACzB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,MAAM,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrD,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,MAAM,EAAE,CAAC,WAAW,CAAC;IACrB,kBAAkB,EAAE,KAAK;CAC1B,CAAC;AAEF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,WAAW,CAAS;IACpB,cAAc,CAAS;IACvB,iBAAiB,CAAS;IAEnC,YACE,QAAgB,EAChB,QAAwC,EACxC,MAA+B;QAE/B,KAAK,CACH,GAAG,QAAQ,yCAAyC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7E,kEAAkE;YAClE,qCAAqC,MAAM,CAAC,WAAW,KAAK;YAC5D,aAAa,MAAM,CAAC,cAAc,qBAAqB,MAAM,CAAC,iBAAiB,KAAK,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACpD,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAc;IAEd,OAAO,KAAK,YAAY,kBAAkB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAOpC;IACC,IAAI,KAAK,CAAC,MAAM,CAAC,kBAAkB;QAAE,OAAO;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;QAChE,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;AACL,CAAC"}
@@ -80,6 +80,7 @@ export const tokenrouterProvider = {
80
80
  toolChoice: request.toolChoice,
81
81
  parallelToolCalls: request.parallelToolCalls,
82
82
  reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
83
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
83
84
  });
84
85
  return toCompletionResult("tokenrouter", model, payload);
85
86
  },
@@ -106,6 +107,7 @@ export const tokenrouterProvider = {
106
107
  toolChoice: request.toolChoice,
107
108
  parallelToolCalls: request.parallelToolCalls,
108
109
  reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
110
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
109
111
  });
110
112
  return toCompletionResult("tokenrouter", model, payload);
111
113
  },
@@ -1 +1 @@
1
- {"version":3,"file":"tokenrouter.js","sourceRoot":"","sources":["../../src/llm/tokenrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenrouter.js","sourceRoot":"","sources":["../../src/llm/tokenrouter.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,16 @@ export type LearnedVisionEntry = boolean | {
21
21
  vision: boolean;
22
22
  at: string;
23
23
  };
24
+ export interface LearnedRouteEntry {
25
+ readonly at: string;
26
+ readonly controlDialect?: string | undefined;
27
+ readonly vision?: boolean | undefined;
28
+ readonly reasoning?: boolean | undefined;
29
+ readonly acceptedEfforts?: readonly string[] | undefined;
30
+ readonly rejectedFields?: readonly string[] | undefined;
31
+ readonly contextTokens?: number | undefined;
32
+ readonly maxOutputTokens?: number | undefined;
33
+ }
24
34
  export interface ClaiConfig {
25
35
  defaultProvider: ProviderId;
26
36
  defaultModel: string;
@@ -68,6 +78,7 @@ export interface ClaiConfig {
68
78
  /** Permissions mode for auto-confirming tool calls ("default" or "allow-all"). */
69
79
  permissions?: "default" | "allow-all";
70
80
  learnedVisionCapabilities: Record<string, LearnedVisionEntry>;
81
+ learnedRouteCapabilities?: Record<string, LearnedRouteEntry>;
71
82
  /**
72
83
  * Tool calling protocol:
73
84
  * - auto (default): native when dialect supports it, text fallback otherwise