@pentoshi/clai 4.11.26 → 4.11.27

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 (276) hide show
  1. package/dist/agent/compaction/summary-execution.js +11 -1
  2. package/dist/agent/compaction/summary-execution.js.map +1 -1
  3. package/dist/agent/context-manager.d.ts +0 -1
  4. package/dist/agent/context-manager.js +0 -1
  5. package/dist/agent/context-manager.js.map +1 -1
  6. package/dist/agent/events.d.ts +1 -5
  7. package/dist/agent/plan/actions/plan-clear.js +1 -1
  8. package/dist/agent/plan/actions/plan-clear.js.map +1 -1
  9. package/dist/agent/plan/actions/plan-create.js +38 -17
  10. package/dist/agent/plan/actions/plan-create.js.map +1 -1
  11. package/dist/agent/plan/actions/task-add.js +15 -4
  12. package/dist/agent/plan/actions/task-add.js.map +1 -1
  13. package/dist/agent/plan/actions/task-move.js +16 -5
  14. package/dist/agent/plan/actions/task-move.js.map +1 -1
  15. package/dist/agent/plan/handle-plan-tool.js +20 -6
  16. package/dist/agent/plan/handle-plan-tool.js.map +1 -1
  17. package/dist/agent/reliability-policy.d.ts +0 -10
  18. package/dist/agent/reliability-policy.js +0 -23
  19. package/dist/agent/reliability-policy.js.map +1 -1
  20. package/dist/agent/request-accounting.js +10 -10
  21. package/dist/agent/request-accounting.js.map +1 -1
  22. package/dist/agent/request-budget.d.ts +11 -18
  23. package/dist/agent/request-budget.js +14 -53
  24. package/dist/agent/request-budget.js.map +1 -1
  25. package/dist/agent/runner.js +16 -12
  26. package/dist/agent/runner.js.map +1 -1
  27. package/dist/agent/stream-recovery.d.ts +1 -2
  28. package/dist/agent/stream-recovery.js +5 -10
  29. package/dist/agent/stream-recovery.js.map +1 -1
  30. package/dist/agent/subagents/worker.js +3 -2
  31. package/dist/agent/subagents/worker.js.map +1 -1
  32. package/dist/agent/turn/automatic-compaction-execution.js +2 -2
  33. package/dist/agent/turn/automatic-compaction-execution.js.map +1 -1
  34. package/dist/agent/turn/compaction-admission.d.ts +2 -2
  35. package/dist/agent/turn/compaction-admission.js +14 -17
  36. package/dist/agent/turn/compaction-admission.js.map +1 -1
  37. package/dist/agent/turn/compaction-coordinator.d.ts +2 -1
  38. package/dist/agent/turn/compaction-coordinator.js +12 -7
  39. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  40. package/dist/agent/turn/compaction-durable-envelope.js +1 -1
  41. package/dist/agent/turn/compaction-durable-envelope.js.map +1 -1
  42. package/dist/agent/turn/compaction-replay-selection.js +2 -3
  43. package/dist/agent/turn/compaction-replay-selection.js.map +1 -1
  44. package/dist/agent/turn/compaction-summarizer.js +1 -1
  45. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  46. package/dist/agent/turn/loop/answer-path.js +2 -2
  47. package/dist/agent/turn/loop/answer-path.js.map +1 -1
  48. package/dist/agent/turn/loop/completion-interpretation.d.ts +0 -1
  49. package/dist/agent/turn/loop/completion-interpretation.js +2 -7
  50. package/dist/agent/turn/loop/completion-interpretation.js.map +1 -1
  51. package/dist/agent/turn/loop/deps.d.ts +1 -0
  52. package/dist/agent/turn/loop/empty-response.d.ts +1 -1
  53. package/dist/agent/turn/loop/empty-response.js +2 -4
  54. package/dist/agent/turn/loop/empty-response.js.map +1 -1
  55. package/dist/agent/turn/loop/output-budget.d.ts +0 -1
  56. package/dist/agent/turn/loop/output-budget.js +4 -9
  57. package/dist/agent/turn/loop/output-budget.js.map +1 -1
  58. package/dist/agent/turn/loop/request-assembly.d.ts +1 -3
  59. package/dist/agent/turn/loop/request-assembly.js +15 -15
  60. package/dist/agent/turn/loop/request-assembly.js.map +1 -1
  61. package/dist/agent/turn/loop/round-request.js +1 -6
  62. package/dist/agent/turn/loop/round-request.js.map +1 -1
  63. package/dist/agent/turn/loop/run-rounds.js +9 -15
  64. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  65. package/dist/agent/turn/loop/state.d.ts +2 -3
  66. package/dist/agent/turn/loop/state.js +1 -2
  67. package/dist/agent/turn/loop/state.js.map +1 -1
  68. package/dist/agent/turn/loop/stream-failure.d.ts +0 -1
  69. package/dist/agent/turn/loop/stream-failure.js +5 -5
  70. package/dist/agent/turn/loop/stream-failure.js.map +1 -1
  71. package/dist/agent/turn/loop/stream-request.d.ts +0 -1
  72. package/dist/agent/turn/loop/stream-request.js +1 -3
  73. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  74. package/dist/agent/turn/plan-persistence.d.ts +4 -5
  75. package/dist/agent/turn/plan-persistence.js +13 -4
  76. package/dist/agent/turn/plan-persistence.js.map +1 -1
  77. package/dist/agent/turn/provider-measurement.d.ts +6 -0
  78. package/dist/agent/turn/provider-measurement.js +19 -0
  79. package/dist/agent/turn/provider-measurement.js.map +1 -0
  80. package/dist/agent/turn/responder-job-linkage.js +2 -2
  81. package/dist/agent/turn/responder-job-linkage.js.map +1 -1
  82. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  83. package/dist/agent/turn/setup/compaction-services.js +2 -1
  84. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  85. package/dist/agent/turn/setup/task-gate-setup.d.ts +3 -3
  86. package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
  87. package/dist/agent/turn/task-autostart.d.ts +2 -2
  88. package/dist/agent/turn/task-autostart.js +7 -9
  89. package/dist/agent/turn/task-autostart.js.map +1 -1
  90. package/dist/agent/turn/task-credit.d.ts +2 -2
  91. package/dist/agent/turn/task-credit.js +8 -5
  92. package/dist/agent/turn/task-credit.js.map +1 -1
  93. package/dist/agent/turn/tool-execution/deps.d.ts +3 -3
  94. package/dist/agent/turn/tool-execution/dispatch.js +3 -5
  95. package/dist/agent/turn/tool-execution/dispatch.js.map +1 -1
  96. package/dist/agent/turn/tool-execution/meta-tools.d.ts +1 -1
  97. package/dist/agent/turn/tool-execution/meta-tools.js +13 -11
  98. package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
  99. package/dist/agent/turn/tool-execution/plan-tool-ledger.d.ts +2 -2
  100. package/dist/agent/turn/tool-execution/plan-tool-ledger.js +6 -6
  101. package/dist/agent/turn/tool-execution/plan-tool-ledger.js.map +1 -1
  102. package/dist/agent/turn/tool-execution/result-framing.d.ts +1 -1
  103. package/dist/agent/turn/tool-execution/result-framing.js +1 -2
  104. package/dist/agent/turn/tool-execution/result-framing.js.map +1 -1
  105. package/dist/agent/turn/tool-execution/single-tool.js +28 -16
  106. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  107. package/dist/app/adapters/agent-event-adapter.js +7 -7
  108. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  109. package/dist/app/controllers/plan-controller.js +4 -1
  110. package/dist/app/controllers/plan-controller.js.map +1 -1
  111. package/dist/app/controllers/session-compact-helper.js +11 -8
  112. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  113. package/dist/app/controllers/session-context-usage.d.ts +6 -4
  114. package/dist/app/controllers/session-context-usage.js +94 -33
  115. package/dist/app/controllers/session-context-usage.js.map +1 -1
  116. package/dist/app/controllers/session-controller.d.ts +5 -6
  117. package/dist/app/controllers/session-controller.js +48 -40
  118. package/dist/app/controllers/session-controller.js.map +1 -1
  119. package/dist/app/controllers/session-responder.d.ts +2 -0
  120. package/dist/app/controllers/session-responder.js +18 -0
  121. package/dist/app/controllers/session-responder.js.map +1 -1
  122. package/dist/app/events/app-event.d.ts +3 -5
  123. package/dist/app/events/app-event.js.map +1 -1
  124. package/dist/classic/panels/pager-panel.js +3 -2
  125. package/dist/classic/panels/pager-panel.js.map +1 -1
  126. package/dist/commands/providers.d.ts +2 -0
  127. package/dist/commands/providers.js +49 -7
  128. package/dist/commands/providers.js.map +1 -1
  129. package/dist/llm/anthropic.d.ts +1 -0
  130. package/dist/llm/anthropic.js +20 -21
  131. package/dist/llm/anthropic.js.map +1 -1
  132. package/dist/llm/capabilities.d.ts +1 -4
  133. package/dist/llm/capabilities.js +24 -19
  134. package/dist/llm/capabilities.js.map +1 -1
  135. package/dist/llm/capability/state.js +0 -17
  136. package/dist/llm/capability/state.js.map +1 -1
  137. package/dist/llm/catalog-facts.js +40 -11
  138. package/dist/llm/catalog-facts.js.map +1 -1
  139. package/dist/llm/catalog-prefetch.js +9 -6
  140. package/dist/llm/catalog-prefetch.js.map +1 -1
  141. package/dist/llm/context-snapshot.d.ts +7 -3
  142. package/dist/llm/context-snapshot.js +35 -14
  143. package/dist/llm/context-snapshot.js.map +1 -1
  144. package/dist/llm/context-windows.d.ts +16 -0
  145. package/dist/llm/context-windows.js +54 -19
  146. package/dist/llm/context-windows.js.map +1 -1
  147. package/dist/llm/custom-providers.js +5 -4
  148. package/dist/llm/custom-providers.js.map +1 -1
  149. package/dist/llm/explabs.js +35 -26
  150. package/dist/llm/explabs.js.map +1 -1
  151. package/dist/llm/free.d.ts +1 -1
  152. package/dist/llm/free.js +26 -18
  153. package/dist/llm/free.js.map +1 -1
  154. package/dist/llm/gemini.js +25 -12
  155. package/dist/llm/gemini.js.map +1 -1
  156. package/dist/llm/kiro-auth.d.ts +34 -3
  157. package/dist/llm/kiro-auth.js +315 -144
  158. package/dist/llm/kiro-auth.js.map +1 -1
  159. package/dist/llm/kiro-import-sources.d.ts +10 -0
  160. package/dist/llm/kiro-import-sources.js +117 -0
  161. package/dist/llm/kiro-import-sources.js.map +1 -0
  162. package/dist/llm/kiro-reasoning.d.ts +28 -0
  163. package/dist/llm/kiro-reasoning.js +150 -0
  164. package/dist/llm/kiro-reasoning.js.map +1 -0
  165. package/dist/llm/kiro-social-device.d.ts +21 -0
  166. package/dist/llm/kiro-social-device.js +101 -0
  167. package/dist/llm/kiro-social-device.js.map +1 -0
  168. package/dist/llm/kiro.d.ts +3 -1
  169. package/dist/llm/kiro.js +653 -187
  170. package/dist/llm/kiro.js.map +1 -1
  171. package/dist/llm/learned-capabilities.js +1 -3
  172. package/dist/llm/learned-capabilities.js.map +1 -1
  173. package/dist/llm/merge-gateway.js +18 -13
  174. package/dist/llm/merge-gateway.js.map +1 -1
  175. package/dist/llm/model-limit-store.d.ts +15 -0
  176. package/dist/llm/model-limit-store.js +121 -0
  177. package/dist/llm/model-limit-store.js.map +1 -0
  178. package/dist/llm/nvidia.d.ts +1 -0
  179. package/dist/llm/nvidia.js +15 -17
  180. package/dist/llm/nvidia.js.map +1 -1
  181. package/dist/llm/ollama-model-limits.d.ts +4 -0
  182. package/dist/llm/ollama-model-limits.js +91 -0
  183. package/dist/llm/ollama-model-limits.js.map +1 -0
  184. package/dist/llm/ollama.js +2 -1
  185. package/dist/llm/ollama.js.map +1 -1
  186. package/dist/llm/orcarouter.d.ts +1 -0
  187. package/dist/llm/orcarouter.js +8 -1
  188. package/dist/llm/orcarouter.js.map +1 -1
  189. package/dist/llm/provider-context-usage.d.ts +9 -0
  190. package/dist/llm/provider-context-usage.js +39 -0
  191. package/dist/llm/provider-context-usage.js.map +1 -0
  192. package/dist/llm/qwen-cloud.d.ts +1 -0
  193. package/dist/llm/qwen-cloud.js +44 -9
  194. package/dist/llm/qwen-cloud.js.map +1 -1
  195. package/dist/llm/reasoning-errors.d.ts +1 -0
  196. package/dist/llm/reasoning-errors.js +6 -0
  197. package/dist/llm/reasoning-errors.js.map +1 -1
  198. package/dist/llm/routing/attempt-complete.js +9 -2
  199. package/dist/llm/routing/attempt-complete.js.map +1 -1
  200. package/dist/llm/routing/attempt-request.d.ts +1 -0
  201. package/dist/llm/routing/attempt-request.js +23 -0
  202. package/dist/llm/routing/attempt-request.js.map +1 -1
  203. package/dist/llm/routing/attempt-stream.js +15 -2
  204. package/dist/llm/routing/attempt-stream.js.map +1 -1
  205. package/dist/llm/token-estimate-calibration.js +1 -2
  206. package/dist/llm/token-estimate-calibration.js.map +1 -1
  207. package/dist/llm/token-usage.d.ts +2 -0
  208. package/dist/llm/token-usage.js +1 -1
  209. package/dist/llm/token-usage.js.map +1 -1
  210. package/dist/llm/wire/anthropic-model-catalog.d.ts +1 -0
  211. package/dist/llm/wire/anthropic-model-catalog.js +30 -0
  212. package/dist/llm/wire/anthropic-model-catalog.js.map +1 -0
  213. package/dist/llm/wire/dashscope-model-catalog.d.ts +1 -0
  214. package/dist/llm/wire/dashscope-model-catalog.js +53 -0
  215. package/dist/llm/wire/dashscope-model-catalog.js.map +1 -0
  216. package/dist/llm/wire/orcarouter-model-catalog.d.ts +2 -0
  217. package/dist/llm/wire/orcarouter-model-catalog.js +91 -0
  218. package/dist/llm/wire/orcarouter-model-catalog.js.map +1 -0
  219. package/dist/noninteractive/stream-blocks.d.ts +0 -3
  220. package/dist/noninteractive/stream-blocks.js +0 -9
  221. package/dist/noninteractive/stream-blocks.js.map +1 -1
  222. package/dist/noninteractive/stream-renderer.js +1 -4
  223. package/dist/noninteractive/stream-renderer.js.map +1 -1
  224. package/dist/store/config/endpoints.d.ts +0 -6
  225. package/dist/store/config/endpoints.js +1 -35
  226. package/dist/store/config/endpoints.js.map +1 -1
  227. package/dist/store/context-limits.d.ts +4 -0
  228. package/dist/store/context-limits.js +29 -0
  229. package/dist/store/context-limits.js.map +1 -0
  230. package/dist/store/plan/jsonl-backend.js +1 -4
  231. package/dist/store/plan/jsonl-backend.js.map +1 -1
  232. package/dist/store/plan/mutation.js +31 -1
  233. package/dist/store/plan/mutation.js.map +1 -1
  234. package/dist/store/plan/sqlite-backend.js +27 -9
  235. package/dist/store/plan/sqlite-backend.js.map +1 -1
  236. package/dist/tui-v2/components/pager/pager-line.d.ts +2 -0
  237. package/dist/tui-v2/components/pager/pager-line.js +1 -2
  238. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  239. package/dist/tui-v2/components/pager/pager.js +5 -2
  240. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  241. package/dist/tui-v2/components/transcript/tool-card.js +1 -1
  242. package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
  243. package/dist/types.d.ts +3 -1
  244. package/dist/types.js.map +1 -1
  245. package/dist/ui-core/bootstrap/composition-root.js +8 -5
  246. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  247. package/dist/ui-core/bootstrap/session-resume.js +1 -2
  248. package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
  249. package/dist/ui-core/commands/key-commands.d.ts +2 -0
  250. package/dist/ui-core/commands/key-commands.js +76 -20
  251. package/dist/ui-core/commands/key-commands.js.map +1 -1
  252. package/dist/ui-core/commands/session-commands.js +33 -9
  253. package/dist/ui-core/commands/session-commands.js.map +1 -1
  254. package/dist/ui-core/rendering/batch-sections.js +10 -1
  255. package/dist/ui-core/rendering/batch-sections.js.map +1 -1
  256. package/dist/ui-core/rendering/context-limit.d.ts +0 -1
  257. package/dist/ui-core/rendering/context-limit.js +2 -2
  258. package/dist/ui-core/rendering/context-limit.js.map +1 -1
  259. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  260. package/dist/ui-core/rendering/subagent-presentation.js +20 -7
  261. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  262. package/dist/ui-core/rendering/subagent-source.js +15 -8
  263. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  264. package/dist/ui-core/state/transcript/apply-app-event.js +0 -1
  265. package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
  266. package/dist/ui-core/state/transcript-types.js +1 -1
  267. package/dist/ui-core/state/transcript-types.js.map +1 -1
  268. package/dist/version.generated.d.ts +2 -2
  269. package/dist/version.generated.js +2 -2
  270. package/package.json +1 -1
  271. package/dist/app/controllers/session-context-limits.d.ts +0 -8
  272. package/dist/app/controllers/session-context-limits.js +0 -35
  273. package/dist/app/controllers/session-context-limits.js.map +0 -1
  274. package/dist/store/config/compaction.d.ts +0 -1
  275. package/dist/store/config/compaction.js +0 -2
  276. package/dist/store/config/compaction.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ import { modelCatalogFacts, registerModelCatalogLimits } from "./capabilities.js";
2
+ export const OLLAMA_MAX_NUM_CTX = 32_768;
3
+ const SHOW_TIMEOUT_MS = 4_000;
4
+ const SHOW_CONCURRENCY = 4;
5
+ const modelContextByDigest = new Map();
6
+ function asRecord(value) {
7
+ return value && typeof value === "object" && !Array.isArray(value)
8
+ ? value
9
+ : undefined;
10
+ }
11
+ function positiveInteger(value) {
12
+ if (typeof value !== "number" || !Number.isFinite(value))
13
+ return undefined;
14
+ const floored = Math.floor(value);
15
+ return floored > 0 ? floored : undefined;
16
+ }
17
+ function listedTags(payload) {
18
+ const models = asRecord(payload)?.models;
19
+ if (!Array.isArray(models))
20
+ return [];
21
+ return models.flatMap((entry) => {
22
+ const record = asRecord(entry);
23
+ const name = typeof record?.name === "string" ? record.name.trim() : "";
24
+ if (!name)
25
+ return [];
26
+ return [{ name, digest: typeof record?.digest === "string" ? record.digest : "" }];
27
+ });
28
+ }
29
+ export function ollamaTrainedContextLength(payload) {
30
+ const info = asRecord(asRecord(payload)?.model_info);
31
+ if (!info)
32
+ return undefined;
33
+ for (const [key, value] of Object.entries(info)) {
34
+ if (!key.endsWith(".context_length"))
35
+ continue;
36
+ const tokens = positiveInteger(value);
37
+ if (tokens !== undefined)
38
+ return tokens;
39
+ }
40
+ return undefined;
41
+ }
42
+ async function fetchTrainedContextLength(endpoint, model) {
43
+ try {
44
+ const response = await fetch(`${endpoint}/api/show`, {
45
+ method: "POST",
46
+ headers: { "content-type": "application/json" },
47
+ body: JSON.stringify({ model }),
48
+ signal: AbortSignal.timeout(SHOW_TIMEOUT_MS),
49
+ });
50
+ if (!response.ok)
51
+ return undefined;
52
+ return ollamaTrainedContextLength(await response.json());
53
+ }
54
+ catch {
55
+ return undefined;
56
+ }
57
+ }
58
+ async function trainedContextLength(endpoint, tag) {
59
+ const key = `${endpoint}\u0000${tag.name}\u0000${tag.digest}`;
60
+ const cached = modelContextByDigest.get(key);
61
+ if (cached !== undefined)
62
+ return cached ?? undefined;
63
+ const tokens = await fetchTrainedContextLength(endpoint, tag.name);
64
+ if (tag.digest)
65
+ modelContextByDigest.set(key, tokens ?? null);
66
+ return tokens;
67
+ }
68
+ function servedLimits(model, trained) {
69
+ return {
70
+ ...modelCatalogFacts("ollama", model),
71
+ id: model,
72
+ contextTokens: Math.min(trained ?? OLLAMA_MAX_NUM_CTX, OLLAMA_MAX_NUM_CTX),
73
+ ...(trained !== undefined ? { nominalContextTokens: trained } : {}),
74
+ };
75
+ }
76
+ export async function registerOllamaModelLimits(endpoint, tagsPayload) {
77
+ const pending = listedTags(tagsPayload);
78
+ const facts = [];
79
+ const worker = async () => {
80
+ for (let tag = pending.shift(); tag; tag = pending.shift()) {
81
+ facts.push(servedLimits(tag.name, await trainedContextLength(endpoint, tag)));
82
+ }
83
+ };
84
+ await Promise.all(Array.from({ length: SHOW_CONCURRENCY }, worker));
85
+ if (facts.length > 0)
86
+ registerModelCatalogLimits("ollama", facts);
87
+ }
88
+ export function resetOllamaModelLimitsForTesting() {
89
+ modelContextByDigest.clear();
90
+ }
91
+ //# sourceMappingURL=ollama-model-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama-model-limits.js","sourceRoot":"","sources":["../../src/llm/ollama-model-limits.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { modelContextWindow, parseOllamaUsage } from "./token-usage.js";
6
6
  import { resolveSampling } from "./sampling.js";
7
7
  import { compileRequestPlan } from "./request-plan.js";
8
8
  import { OLLAMA_STREAM_TERMINAL, PartialStreamError } from "./stream-terminal.js";
9
- const OLLAMA_MAX_NUM_CTX = 32_768;
9
+ import { OLLAMA_MAX_NUM_CTX, registerOllamaModelLimits } from "./ollama-model-limits.js";
10
10
  const OLLAMA_DEFAULT_NUM_PREDICT = 4_096;
11
11
  const OLLAMA_KEEP_ALIVE = "5m";
12
12
  export function ollamaOptions(model, request) {
@@ -79,6 +79,7 @@ export const ollamaProvider = {
79
79
  }
80
80
  const data = await readJson(response);
81
81
  const models = ingestOpenAiModelCatalog("ollama", data);
82
+ await registerOllamaModelLimits(endpoint, data);
82
83
  if (models.length > 0) {
83
84
  cachedOllamaModels = models;
84
85
  cachedOllamaBase = endpoint;
@@ -1 +1 @@
1
- {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/llm/ollama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/llm/ollama.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import { type LlmProvider } from "./provider.js";
2
2
  export declare const orcarouterFallbackModels: string[];
3
+ export declare function resetOrcaRouterModelCatalogCache(): void;
3
4
  export declare const orcarouterProvider: LlmProvider;
@@ -1,6 +1,7 @@
1
1
  import { defaultModels, } from "./provider.js";
2
2
  import { singleLeadingSystemMessages } from "./system-messages.js";
3
3
  import { ingestOpenAiModelCatalog, openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, readJson, toCompletionResult, } from "./http.js";
4
+ import { enrichOrcaRouterModelEntries, resetOrcaRouterModelMetadataCache, } from "./wire/orcarouter-model-catalog.js";
4
5
  const baseUrl = "https://api.orcarouter.ai/v1";
5
6
  export const orcarouterFallbackModels = [
6
7
  "orcarouter/auto",
@@ -49,6 +50,11 @@ function chatModelsFromCatalog(payload) {
49
50
  let cachedModels = null;
50
51
  let lastFetchTime = 0;
51
52
  const CACHE_TTL_MS = 30 * 60 * 1000;
53
+ export function resetOrcaRouterModelCatalogCache() {
54
+ cachedModels = null;
55
+ lastFetchTime = 0;
56
+ resetOrcaRouterModelMetadataCache();
57
+ }
52
58
  export const orcarouterProvider = {
53
59
  id: "orcarouter",
54
60
  reasoningStyle: "openai",
@@ -71,7 +77,8 @@ export const orcarouterProvider = {
71
77
  if (!response.ok)
72
78
  throw new Error(`HTTP ${response.status}`);
73
79
  const data = await readJson(response);
74
- const models = ingestOpenAiModelCatalog("orcarouter", chatModelsFromCatalog(data));
80
+ const entries = await enrichOrcaRouterModelEntries(chatModelsFromCatalog(data));
81
+ const models = ingestOpenAiModelCatalog("orcarouter", entries);
75
82
  if (models.length > 0) {
76
83
  cachedModels = models;
77
84
  lastFetchTime = now;
@@ -1 +1 @@
1
- {"version":3,"file":"orcarouter.js","sourceRoot":"","sources":["../../src/llm/orcarouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orcarouter.js","sourceRoot":"","sources":["../../src/llm/orcarouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { TokenUsage } from "../types.js";
2
+ export declare const PROVIDER_RATIO_SOURCE: "provider-ratio";
3
+ export declare function providerRatioPromptTokens(percentUsed: unknown, windowTokens: number | undefined): number | undefined;
4
+ export declare function providerRatioUsage(input: {
5
+ readonly percentUsed: unknown;
6
+ readonly windowTokens: number | undefined;
7
+ readonly completionTokens?: number | undefined;
8
+ }): TokenUsage | undefined;
9
+ export declare function isProviderMeasuredPrompt(usage: TokenUsage): boolean;
@@ -0,0 +1,39 @@
1
+ export const PROVIDER_RATIO_SOURCE = "provider-ratio";
2
+ export function providerRatioPromptTokens(percentUsed, windowTokens) {
3
+ if (typeof percentUsed !== "number" || !Number.isFinite(percentUsed))
4
+ return undefined;
5
+ if (percentUsed <= 0)
6
+ return undefined;
7
+ if (windowTokens === undefined ||
8
+ !Number.isFinite(windowTokens) ||
9
+ windowTokens <= 0) {
10
+ return undefined;
11
+ }
12
+ const window = Math.floor(windowTokens);
13
+ const ratio = Math.min(percentUsed, 100) / 100;
14
+ return Math.min(window, Math.max(1, Math.round(ratio * window)));
15
+ }
16
+ export function providerRatioUsage(input) {
17
+ const promptTokens = providerRatioPromptTokens(input.percentUsed, input.windowTokens);
18
+ if (promptTokens === undefined)
19
+ return undefined;
20
+ const completionTokens = input.completionTokens !== undefined &&
21
+ Number.isFinite(input.completionTokens) &&
22
+ input.completionTokens > 0
23
+ ? Math.floor(input.completionTokens)
24
+ : 0;
25
+ return {
26
+ promptTokens,
27
+ completionTokens,
28
+ totalTokens: promptTokens + completionTokens,
29
+ exact: false,
30
+ promptTokensSource: PROVIDER_RATIO_SOURCE,
31
+ contextWindowTokens: Math.floor(input.windowTokens),
32
+ };
33
+ }
34
+ export function isProviderMeasuredPrompt(usage) {
35
+ if (usage.promptTokensKnown === false || usage.promptTokens <= 0)
36
+ return false;
37
+ return usage.exact || usage.promptTokensSource === PROVIDER_RATIO_SOURCE;
38
+ }
39
+ //# sourceMappingURL=provider-context-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-context-usage.js","sourceRoot":"","sources":["../../src/llm/provider-context-usage.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAyB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CACvC,WAAoB,EACpB,YAAgC;IAEhC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACvF,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IACE,YAAY,KAAK,SAAS;QAC1B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9B,YAAY,IAAI,CAAC,EACjB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAIlC;IACC,MAAM,YAAY,GAAG,yBAAyB,CAC5C,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,gBAAgB,GACpB,KAAK,CAAC,gBAAgB,KAAK,SAAS;QACpC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACvC,KAAK,CAAC,gBAAgB,GAAG,CAAC;QACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,CAAC,CAAC;IACR,OAAO;QACL,YAAY;QACZ,gBAAgB;QAChB,WAAW,EAAE,YAAY,GAAG,gBAAgB;QAC5C,KAAK,EAAE,KAAK;QACZ,kBAAkB,EAAE,qBAAqB;QACzC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAa,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAiB;IACxD,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/E,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,kBAAkB,KAAK,qBAAqB,CAAC;AAC3E,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { type LlmProvider } from "./provider.js";
2
+ export declare function resetQwenCloudModelCatalogCache(): void;
2
3
  export declare const qwenCloudProvider: LlmProvider;
@@ -1,9 +1,37 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { defaultModels, } from "./provider.js";
2
- import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
3
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestModelCatalogEntries, } from "./http.js";
4
+ import { fetchDashScopeModelCatalog } from "./wire/dashscope-model-catalog.js";
3
5
  const baseUrl = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
4
- let cachedModels = null;
5
- let lastFetchTime = 0;
6
+ const modelCache = new Map();
6
7
  const CACHE_TTL_MS = 30 * 60 * 1000;
8
+ function modelId(value) {
9
+ if (typeof value === "string")
10
+ return value.trim();
11
+ if (!value || typeof value !== "object" || Array.isArray(value))
12
+ return "";
13
+ const id = value.id;
14
+ return typeof id === "string" ? id.trim() : "";
15
+ }
16
+ function mergeModelMetadata(models, metadata) {
17
+ const availableIds = new Set(models.map(modelId).filter(Boolean).map((id) => id.toLowerCase()));
18
+ const metadataById = new Map(metadata
19
+ .filter((entry) => availableIds.has(modelId(entry).toLowerCase()))
20
+ .map((entry) => [modelId(entry).toLowerCase(), entry]));
21
+ return models.map((entry) => {
22
+ const id = modelId(entry);
23
+ const facts = metadataById.get(id.toLowerCase());
24
+ if (!facts)
25
+ return entry;
26
+ const raw = entry && typeof entry === "object" && !Array.isArray(entry)
27
+ ? entry
28
+ : {};
29
+ return { ...raw, ...facts, id };
30
+ });
31
+ }
32
+ export function resetQwenCloudModelCatalogCache() {
33
+ modelCache.clear();
34
+ }
7
35
  export const qwenCloudProvider = {
8
36
  id: "qwen-cloud",
9
37
  reasoningStyle: "openai",
@@ -14,18 +42,25 @@ export const qwenCloudProvider = {
14
42
  async listModels(auth) {
15
43
  if (!auth.apiKey)
16
44
  throw new Error("Qwen Cloud API key is required");
45
+ const cacheKey = createHash("sha256").update(auth.apiKey).digest("hex");
17
46
  const now = Date.now();
18
- if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
19
- return cachedModels;
20
- }
47
+ const cached = modelCache.get(cacheKey);
48
+ if (cached && now - cached.fetchedAt < CACHE_TTL_MS)
49
+ return cached.models;
21
50
  const response = await fetch(`${baseUrl}/models`, {
22
51
  headers: { authorization: `Bearer ${auth.apiKey}` },
23
52
  });
24
53
  const data = await readJson(response);
25
- const models = ingestOpenAiModelCatalog("qwen-cloud", data);
54
+ const listedModels = data.data ?? [];
55
+ let metadata = [];
56
+ try {
57
+ metadata = await fetchDashScopeModelCatalog(auth.apiKey);
58
+ }
59
+ catch {
60
+ }
61
+ const models = ingestModelCatalogEntries("qwen-cloud", mergeModelMetadata(listedModels, metadata));
26
62
  if (models.length > 0) {
27
- cachedModels = models;
28
- lastFetchTime = now;
63
+ modelCache.set(cacheKey, { models, fetchedAt: Date.now() });
29
64
  }
30
65
  return models;
31
66
  },
@@ -1 +1 @@
1
- {"version":3,"file":"qwen-cloud.js","sourceRoot":"","sources":["../../src/llm/qwen-cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qwen-cloud.js","sourceRoot":"","sources":["../../src/llm/qwen-cloud.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare function isContentPolicyError(error: unknown): boolean;
1
2
  export declare function isMissingReasoningContentError(error: unknown): boolean;
2
3
  export declare function isInvalidReasoningContentError(error: unknown): boolean;
3
4
  export declare function mentionsReasoning(error: unknown): boolean;
@@ -13,6 +13,10 @@ function errorHaystack(error) {
13
13
  const message = error instanceof Error ? error.message : String(error);
14
14
  return `${message}\n${body}`;
15
15
  }
16
+ const CONTENT_POLICY_RE = /content[_ -]?(?:filter(?:ed|ing)?|moderation)|(?:safety|content)[_ -]?(?:policy|guardrail)[^\n]{0,40}(?:block|filter|refus|violat)|(?:block|filter|refus|violat)[^\n]{0,40}(?:safety|content)[_ -]?(?:policy|guardrail)|(?:non-success stop reason|finish reason):\s*refusal/i;
17
+ export function isContentPolicyError(error) {
18
+ return CONTENT_POLICY_RE.test(errorHaystack(error));
19
+ }
16
20
  export function isMissingReasoningContentError(error) {
17
21
  const status = errorStatus(error);
18
22
  if (status !== undefined && status !== 400 && status !== 422)
@@ -41,6 +45,8 @@ export function isUnattributableRequestBodyError(error) {
41
45
  const status = errorStatus(error);
42
46
  if (status !== 400 && status !== 422)
43
47
  return false;
48
+ if (isContentPolicyError(error))
49
+ return false;
44
50
  if (isReasoningKnobRejection(error))
45
51
  return true;
46
52
  return !mentionsReasoning(error);
@@ -1 +1 @@
1
- {"version":3,"file":"reasoning-errors.js","sourceRoot":"","sources":["../../src/llm/reasoning-errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reasoning-errors.js","sourceRoot":"","sources":["../../src/llm/reasoning-errors.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { isKnownPatternVisionModel, learnModelVisionCapability, learnRejectedEffort, markReasoningMandatory, markReasoningUnsupported, registerWireRejectionEfforts, settleRouteEfforts, } from "../capabilities.js";
2
2
  import { isImageInputUnsupportedError, reasoningRejectionAdvice, isReasoningUnsupportedError, } from "../http.js";
3
3
  import { withRequestOptionFallback } from "./request-option-fallback.js";
4
- import { isMissingReasoningContentError, isUnattributableRequestBodyError, } from "../reasoning-errors.js";
4
+ import { isInvalidReasoningContentError, isMissingReasoningContentError, isUnattributableRequestBodyError, } from "../reasoning-errors.js";
5
5
  import { isToolsUnsupportedError, markTextOnlyModel, } from "../tool-protocol.js";
6
- import { hasImageInput, preflightEffort, reasoningWireKey, requestForRoute, revertVisionSubstitution, runRecordedProviderAttempt, withoutImages, withoutReasoning, } from "./attempt-request.js";
6
+ import { hasImageInput, preflightEffort, reasoningWireKey, requestForRoute, revertVisionSubstitution, runRecordedProviderAttempt, withoutImages, withoutReasoning, withoutReasoningReplay, } from "./attempt-request.js";
7
7
  import { effortCandidatesFor, isReasoningRelatedServerError, shouldContinueEffortLadder, shouldEnterEffortLadder, } from "./error-classification.js";
8
8
  export async function tryCompleteOnce(provider, providerId, request, model, auth, reason, onStatus, singleDispatch = false) {
9
9
  const activeRequest = {
@@ -62,6 +62,13 @@ export async function tryCompleteOnce(provider, providerId, request, model, auth
62
62
  };
63
63
  return await runAttempt(textRequest, "adaptation");
64
64
  }
65
+ if (isInvalidReasoningContentError(error) &&
66
+ activeRequest.forceReasoningReplay !== false) {
67
+ if (singleDispatch)
68
+ throw error;
69
+ onStatus?.(`ℹ ${providerId}/${model} rejected replayed reasoning — retrying without it`);
70
+ return await runAttempt(withoutReasoningReplay(activeRequest), "adaptation");
71
+ }
65
72
  if (isMissingReasoningContentError(error) &&
66
73
  !activeRequest.forceReasoningReplay) {
67
74
  if (singleDispatch)
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-complete.js","sourceRoot":"","sources":["../../../src/llm/routing/attempt-complete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attempt-complete.js","sourceRoot":"","sources":["../../../src/llm/routing/attempt-complete.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { LlmProvider, ProviderAuth } from "../provider.js";
4
4
  export declare function successfulRequestSnapshot(provider: ProviderId, model: string, request: CompletionRequest): SuccessfulRequestSnapshot;
5
5
  export declare function preservedFailure(recoveryError: unknown, originalError: unknown): unknown;
6
6
  export declare function withoutReasoning(request: CompletionRequest): CompletionRequest;
7
+ export declare function withoutReasoningReplay(request: CompletionRequest): CompletionRequest;
7
8
  export declare function reasoningWireKey(thinking: CompletionRequest["thinking"], style: ReasoningStyle, model: string, providerId: ProviderId): string;
8
9
  export declare function runRecordedProviderAttempt(input: {
9
10
  providerId: ProviderId;
@@ -35,6 +35,29 @@ export function preservedFailure(recoveryError, originalError) {
35
35
  export function withoutReasoning(request) {
36
36
  return { ...request, thinking: undefined };
37
37
  }
38
+ export function withoutReasoningReplay(request) {
39
+ return {
40
+ ...request,
41
+ forceReasoningReplay: false,
42
+ messages: request.messages.map((message) => {
43
+ const hasToolSignatures = message.toolCalls?.some((call) => call.thoughtSignature !== undefined);
44
+ if (!message.reasoningArtifacts?.length &&
45
+ !message.reasoningBlock &&
46
+ !hasToolSignatures) {
47
+ return message;
48
+ }
49
+ const { reasoningArtifacts: _reasoningArtifacts, reasoningBlock: _reasoningBlock, ...rest } = message;
50
+ const toolCalls = message.toolCalls?.map((call) => {
51
+ const { thoughtSignature: _thoughtSignature, ...unsignedCall } = call;
52
+ return unsignedCall;
53
+ });
54
+ return {
55
+ ...rest,
56
+ ...(toolCalls ? { toolCalls } : {}),
57
+ };
58
+ }),
59
+ };
60
+ }
38
61
  export function reasoningWireKey(thinking, style, model, providerId) {
39
62
  const profile = isBuiltInProviderId(providerId)
40
63
  ? resolveBuiltInProfile({ provider: providerId, model })
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-request.js","sourceRoot":"","sources":["../../../src/llm/routing/attempt-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attempt-request.js","sourceRoot":"","sources":["../../../src/llm/routing/attempt-request.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { isKnownPatternVisionModel, learnModelVisionCapability, learnRejectedEffort, markReasoningMandatory, markReasoningUnsupported, registerWireRejectionEfforts, settleRouteEfforts, } from "../capabilities.js";
2
2
  import { isImageInputUnsupportedError, reasoningRejectionAdvice, isReasoningUnsupportedError, } from "../http.js";
3
3
  import { withRequestOptionFallback } from "./request-option-fallback.js";
4
- import { isMissingReasoningContentError, isUnattributableRequestBodyError, } from "../reasoning-errors.js";
4
+ import { isInvalidReasoningContentError, isMissingReasoningContentError, isUnattributableRequestBodyError, } from "../reasoning-errors.js";
5
5
  import { createStreamEventGuard } from "../stream-events.js";
6
6
  import { markStreamEmittedBytes } from "../stream-progress.js";
7
7
  import { isToolsUnsupportedError, markTextOnlyModel, } from "../tool-protocol.js";
8
- import { hasImageInput, preflightEffort, preservedFailure, reasoningWireKey, requestForRoute, revertVisionSubstitution, runRecordedProviderAttempt, successfulRequestSnapshot, withoutImages, withoutReasoning, } from "./attempt-request.js";
8
+ import { hasImageInput, preflightEffort, preservedFailure, reasoningWireKey, requestForRoute, revertVisionSubstitution, runRecordedProviderAttempt, successfulRequestSnapshot, withoutImages, withoutReasoning, withoutReasoningReplay, } from "./attempt-request.js";
9
9
  import { effortCandidatesFor, isReasoningRelatedServerError, shouldContinueEffortLadder, shouldEnterEffortLadder, } from "./error-classification.js";
10
10
  export async function tryStreamOnce(provider, providerId, request, model, auth, onToken, onStatus, reason, singleDispatch = false, onSuccessfulRequest) {
11
11
  let emittedBytes = 0;
@@ -171,6 +171,19 @@ export async function tryStreamOnce(provider, providerId, request, model, auth,
171
171
  throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
172
172
  }
173
173
  }
174
+ if (emittedBytes === 0 &&
175
+ isInvalidReasoningContentError(error) &&
176
+ activeRequest.forceReasoningReplay !== false) {
177
+ if (singleDispatch)
178
+ throw markStreamEmittedBytes(error, emittedBytes);
179
+ onStatus?.(`ℹ ${providerId}/${model} rejected replayed reasoning — retrying without it`);
180
+ try {
181
+ return await runAttempt(withoutReasoningReplay(activeRequest), "adaptation");
182
+ }
183
+ catch (retryError) {
184
+ throw markStreamEmittedBytes(preservedFailure(retryError, error), emittedBytes);
185
+ }
186
+ }
174
187
  if (emittedBytes === 0 &&
175
188
  isMissingReasoningContentError(error) &&
176
189
  !activeRequest.forceReasoningReplay) {