@pentoshi/clai 4.11.16 → 4.11.18

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 (279) hide show
  1. package/README.md +31 -22
  2. package/dist/agent/compaction/summary-execution.d.ts +1 -0
  3. package/dist/agent/compaction/summary-execution.js +25 -16
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/context/compact-with-summary.js +18 -0
  6. package/dist/agent/context/compact-with-summary.js.map +1 -1
  7. package/dist/agent/context/compaction-source-prefix.d.ts +8 -0
  8. package/dist/agent/context/compaction-source-prefix.js +26 -0
  9. package/dist/agent/context/compaction-source-prefix.js.map +1 -0
  10. package/dist/agent/plan-decision.js +5 -1
  11. package/dist/agent/plan-decision.js.map +1 -1
  12. package/dist/agent/runner.js +3 -0
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/agent/subagents/manager.d.ts +5 -0
  15. package/dist/agent/subagents/manager.js +52 -5
  16. package/dist/agent/subagents/manager.js.map +1 -1
  17. package/dist/agent/subagents/model-chain.d.ts +31 -0
  18. package/dist/agent/subagents/model-chain.js +146 -0
  19. package/dist/agent/subagents/model-chain.js.map +1 -0
  20. package/dist/agent/subagents/read-only-tools.js +362 -54
  21. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  22. package/dist/agent/subagents/tools.js +21 -1
  23. package/dist/agent/subagents/tools.js.map +1 -1
  24. package/dist/agent/subagents/types.d.ts +5 -0
  25. package/dist/agent/subagents/worker.js +106 -45
  26. package/dist/agent/subagents/worker.js.map +1 -1
  27. package/dist/agent/turn/compaction-summarizer.d.ts +1 -0
  28. package/dist/agent/turn/compaction-summarizer.js +2 -0
  29. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  30. package/dist/agent/turn/loop/run-rounds.js +2 -0
  31. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  32. package/dist/agent/turn/loop/stream-request.js +1 -0
  33. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  34. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  35. package/dist/agent/turn/setup/compaction-services.js +14 -0
  36. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  37. package/dist/agent/turn/setup/turn-budget.js +1 -9
  38. package/dist/agent/turn/setup/turn-budget.js.map +1 -1
  39. package/dist/agent/turn/subagent-inbox.d.ts +1 -0
  40. package/dist/agent/turn/subagent-inbox.js +12 -1
  41. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  42. package/dist/app/commands/catalog.js +2 -1
  43. package/dist/app/commands/catalog.js.map +1 -1
  44. package/dist/app/controllers/session-compact-helper.d.ts +2 -0
  45. package/dist/app/controllers/session-compact-helper.js +7 -3
  46. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  47. package/dist/app/controllers/session-context-usage.d.ts +2 -5
  48. package/dist/app/controllers/session-context-usage.js +28 -101
  49. package/dist/app/controllers/session-context-usage.js.map +1 -1
  50. package/dist/app/controllers/session-controller.d.ts +8 -1
  51. package/dist/app/controllers/session-controller.js +14 -11
  52. package/dist/app/controllers/session-controller.js.map +1 -1
  53. package/dist/app/controllers/session-subagents.d.ts +1 -0
  54. package/dist/app/controllers/session-subagents.js +7 -1
  55. package/dist/app/controllers/session-subagents.js.map +1 -1
  56. package/dist/classic/app/ClassicApp.js +4 -0
  57. package/dist/classic/app/ClassicApp.js.map +1 -1
  58. package/dist/classic/chrome/Chrome.d.ts +1 -1
  59. package/dist/classic/chrome/Chrome.js +1 -0
  60. package/dist/classic/chrome/Chrome.js.map +1 -1
  61. package/dist/classic/chrome/SubagentsStrip.d.ts +3 -0
  62. package/dist/classic/chrome/SubagentsStrip.js +9 -0
  63. package/dist/classic/chrome/SubagentsStrip.js.map +1 -0
  64. package/dist/classic/chrome/row-budget.d.ts +2 -0
  65. package/dist/classic/chrome/row-budget.js +4 -1
  66. package/dist/classic/chrome/row-budget.js.map +1 -1
  67. package/dist/classic/chrome/subagents-row.d.ts +9 -0
  68. package/dist/classic/chrome/subagents-row.js +13 -0
  69. package/dist/classic/chrome/subagents-row.js.map +1 -0
  70. package/dist/classic/panels/keys-panel.d.ts +2 -2
  71. package/dist/classic/panels/keys-panel.js +24 -8
  72. package/dist/classic/panels/keys-panel.js.map +1 -1
  73. package/dist/classic/panels/pager-panel.d.ts +2 -2
  74. package/dist/classic/panels/pager-panel.js +7 -6
  75. package/dist/classic/panels/pager-panel.js.map +1 -1
  76. package/dist/classic/panels/panel-host.js +7 -2
  77. package/dist/classic/panels/panel-host.js.map +1 -1
  78. package/dist/commands/providers.js +8 -0
  79. package/dist/commands/providers.js.map +1 -1
  80. package/dist/llm/anthropic.js +29 -1
  81. package/dist/llm/anthropic.js.map +1 -1
  82. package/dist/llm/bynara.js +9 -20
  83. package/dist/llm/bynara.js.map +1 -1
  84. package/dist/llm/capabilities.d.ts +6 -1
  85. package/dist/llm/capabilities.js +130 -6
  86. package/dist/llm/capabilities.js.map +1 -1
  87. package/dist/llm/capability/state.d.ts +1 -1
  88. package/dist/llm/capability/state.js +16 -2
  89. package/dist/llm/capability/state.js.map +1 -1
  90. package/dist/llm/capability/tool-dialect.js +4 -0
  91. package/dist/llm/capability/tool-dialect.js.map +1 -1
  92. package/dist/llm/capability/vision-patterns.d.ts +1 -0
  93. package/dist/llm/capability/vision-patterns.js +31 -1
  94. package/dist/llm/capability/vision-patterns.js.map +1 -1
  95. package/dist/llm/capability/vision-registry.js +8 -2
  96. package/dist/llm/capability/vision-registry.js.map +1 -1
  97. package/dist/llm/context-windows.js +1 -0
  98. package/dist/llm/context-windows.js.map +1 -1
  99. package/dist/llm/deepseek.d.ts +2 -0
  100. package/dist/llm/deepseek.js +91 -0
  101. package/dist/llm/deepseek.js.map +1 -0
  102. package/dist/llm/glm.d.ts +2 -0
  103. package/dist/llm/glm.js +91 -0
  104. package/dist/llm/glm.js.map +1 -0
  105. package/dist/llm/kimi.d.ts +2 -0
  106. package/dist/llm/kimi.js +91 -0
  107. package/dist/llm/kimi.js.map +1 -0
  108. package/dist/llm/learned-capabilities.js +9 -3
  109. package/dist/llm/learned-capabilities.js.map +1 -1
  110. package/dist/llm/lowest-reasoning.js +20 -7
  111. package/dist/llm/lowest-reasoning.js.map +1 -1
  112. package/dist/llm/minimax.d.ts +2 -0
  113. package/dist/llm/minimax.js +91 -0
  114. package/dist/llm/minimax.js.map +1 -0
  115. package/dist/llm/modal.js +5 -0
  116. package/dist/llm/modal.js.map +1 -1
  117. package/dist/llm/model-layers/model-rules.js +24 -0
  118. package/dist/llm/model-layers/model-rules.js.map +1 -1
  119. package/dist/llm/ollama.js +26 -1
  120. package/dist/llm/ollama.js.map +1 -1
  121. package/dist/llm/provider-identity.js +25 -0
  122. package/dist/llm/provider-identity.js.map +1 -1
  123. package/dist/llm/provider-info-text.js +121 -3
  124. package/dist/llm/provider-info-text.js.map +1 -1
  125. package/dist/llm/provider-profile-layers.js +118 -0
  126. package/dist/llm/provider-profile-layers.js.map +1 -1
  127. package/dist/llm/provider.js +14 -2
  128. package/dist/llm/provider.js.map +1 -1
  129. package/dist/llm/reasoning-capability.js +4 -0
  130. package/dist/llm/reasoning-capability.js.map +1 -1
  131. package/dist/llm/reasoning-errors.js +1 -1
  132. package/dist/llm/reasoning-errors.js.map +1 -1
  133. package/dist/llm/request-purpose.d.ts +3 -0
  134. package/dist/llm/request-purpose.js +11 -0
  135. package/dist/llm/request-purpose.js.map +1 -0
  136. package/dist/llm/responses-config.d.ts +1 -0
  137. package/dist/llm/responses-config.js +6 -0
  138. package/dist/llm/responses-config.js.map +1 -1
  139. package/dist/llm/responses-http.d.ts +1 -1
  140. package/dist/llm/responses-http.js +2 -1
  141. package/dist/llm/responses-http.js.map +1 -1
  142. package/dist/llm/responses-stream.d.ts +2 -2
  143. package/dist/llm/responses-stream.js +3 -2
  144. package/dist/llm/responses-stream.js.map +1 -1
  145. package/dist/llm/routing/attempt-complete.js +15 -3
  146. package/dist/llm/routing/attempt-complete.js.map +1 -1
  147. package/dist/llm/routing/attempt-request.d.ts +11 -0
  148. package/dist/llm/routing/attempt-request.js +56 -5
  149. package/dist/llm/routing/attempt-request.js.map +1 -1
  150. package/dist/llm/routing/attempt-stream.js +15 -3
  151. package/dist/llm/routing/attempt-stream.js.map +1 -1
  152. package/dist/llm/routing/error-classification.d.ts +2 -0
  153. package/dist/llm/routing/error-classification.js +26 -6
  154. package/dist/llm/routing/error-classification.js.map +1 -1
  155. package/dist/llm/routing/key-rotation.js +26 -11
  156. package/dist/llm/routing/key-rotation.js.map +1 -1
  157. package/dist/llm/routing/provider-selection.js +12 -0
  158. package/dist/llm/routing/provider-selection.js.map +1 -1
  159. package/dist/llm/session-affinity.d.ts +1 -0
  160. package/dist/llm/session-affinity.js +4 -0
  161. package/dist/llm/session-affinity.js.map +1 -1
  162. package/dist/llm/session-route.d.ts +7 -0
  163. package/dist/llm/session-route.js +16 -0
  164. package/dist/llm/session-route.js.map +1 -0
  165. package/dist/llm/wire/capability-errors.js +4 -4
  166. package/dist/llm/wire/capability-errors.js.map +1 -1
  167. package/dist/llm/wire/chat-body.js +5 -4
  168. package/dist/llm/wire/chat-body.js.map +1 -1
  169. package/dist/llm/wire/effort-preflight.d.ts +15 -0
  170. package/dist/llm/wire/effort-preflight.js +141 -0
  171. package/dist/llm/wire/effort-preflight.js.map +1 -0
  172. package/dist/llm/wire/image-payloads.d.ts +2 -0
  173. package/dist/llm/wire/image-payloads.js +34 -0
  174. package/dist/llm/wire/image-payloads.js.map +1 -0
  175. package/dist/llm/wire/openai-complete.d.ts +4 -1
  176. package/dist/llm/wire/openai-complete.js +11 -3
  177. package/dist/llm/wire/openai-complete.js.map +1 -1
  178. package/dist/llm/wire/openai-stream.d.ts +5 -2
  179. package/dist/llm/wire/openai-stream.js +17 -8
  180. package/dist/llm/wire/openai-stream.js.map +1 -1
  181. package/dist/llm/wire/responses-first.d.ts +4 -1
  182. package/dist/llm/wire/responses-first.js +11 -7
  183. package/dist/llm/wire/responses-first.js.map +1 -1
  184. package/dist/llm/wire/responses-preflight.js +29 -12
  185. package/dist/llm/wire/responses-preflight.js.map +1 -1
  186. package/dist/prompts/embedded.js +1 -1
  187. package/dist/prompts/embedded.js.map +1 -1
  188. package/dist/prompts/index.js +42 -21
  189. package/dist/prompts/index.js.map +1 -1
  190. package/dist/prompts/system.agent.md +3 -3
  191. package/dist/store/config/endpoints.d.ts +11 -0
  192. package/dist/store/config/endpoints.js +19 -1
  193. package/dist/store/config/endpoints.js.map +1 -1
  194. package/dist/store/config/subagent-models.d.ts +7 -0
  195. package/dist/store/config/subagent-models.js +73 -0
  196. package/dist/store/config/subagent-models.js.map +1 -0
  197. package/dist/store/config.d.ts +4 -3
  198. package/dist/store/config.js +7 -2
  199. package/dist/store/config.js.map +1 -1
  200. package/dist/store/keys.js +8 -1
  201. package/dist/store/keys.js.map +1 -1
  202. package/dist/store/subagents.js +8 -1
  203. package/dist/store/subagents.js.map +1 -1
  204. package/dist/tools/definitions/subagents.d.ts +1 -1
  205. package/dist/tools/definitions/subagents.js +15 -6
  206. package/dist/tools/definitions/subagents.js.map +1 -1
  207. package/dist/tui-v2/app/App.js +4 -0
  208. package/dist/tui-v2/app/App.js.map +1 -1
  209. package/dist/tui-v2/bootstrap/patch-opentui-text.js +14 -13
  210. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -1
  211. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +1 -0
  212. package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
  213. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  214. package/dist/tui-v2/bootstrap/shrink-resize-guard.d.ts +27 -0
  215. package/dist/tui-v2/bootstrap/shrink-resize-guard.js +118 -0
  216. package/dist/tui-v2/bootstrap/shrink-resize-guard.js.map +1 -0
  217. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  218. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  219. package/dist/tui-v2/components/jobs/subagents-panel.d.ts +11 -0
  220. package/dist/tui-v2/components/jobs/subagents-panel.js +80 -0
  221. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -0
  222. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +9 -0
  223. package/dist/tui-v2/components/modal/keys-modal-pick.js +15 -0
  224. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -0
  225. package/dist/tui-v2/components/modal/keys-modal.js +46 -12
  226. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  227. package/dist/tui-v2/components/pager/pager-line.js +3 -2
  228. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  229. package/dist/tui-v2/components/pager/pager.js +47 -35
  230. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  231. package/dist/tui-v2/components/transcript/thinking-block.js +1 -3
  232. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  233. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +0 -1
  234. package/dist/tui-v2/components/transcript/thinking-presentation.js +1 -3
  235. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
  236. package/dist/tui-v2/rendering/pager-markdown.d.ts +2 -0
  237. package/dist/tui-v2/rendering/pager-markdown.js +10 -6
  238. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  239. package/dist/tui-v2/rendering/subagent-ansi.d.ts +4 -0
  240. package/dist/tui-v2/rendering/subagent-ansi.js +10 -0
  241. package/dist/tui-v2/rendering/subagent-ansi.js.map +1 -0
  242. package/dist/types.d.ts +2 -1
  243. package/dist/types.js +4 -0
  244. package/dist/types.js.map +1 -1
  245. package/dist/ui-core/commands/picker-commands.d.ts +12 -0
  246. package/dist/ui-core/commands/picker-commands.js +9 -5
  247. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  248. package/dist/ui-core/commands/session-commands.js +5 -3
  249. package/dist/ui-core/commands/session-commands.js.map +1 -1
  250. package/dist/ui-core/commands/subagent-commands.d.ts +8 -0
  251. package/dist/ui-core/commands/subagent-commands.js +81 -21
  252. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  253. package/dist/ui-core/commands/subagent-models-editor.d.ts +2 -0
  254. package/dist/ui-core/commands/subagent-models-editor.js +123 -0
  255. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -0
  256. package/dist/ui-core/controllers/overlay-controller.d.ts +10 -0
  257. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  258. package/dist/ui-core/rendering/format-usage.js +5 -0
  259. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  260. package/dist/ui-core/rendering/markdown.d.ts +2 -0
  261. package/dist/ui-core/rendering/markdown.js +1 -1
  262. package/dist/ui-core/rendering/markdown.js.map +1 -1
  263. package/dist/ui-core/rendering/sanitize-display.d.ts +3 -0
  264. package/dist/ui-core/rendering/sanitize-display.js +33 -2
  265. package/dist/ui-core/rendering/sanitize-display.js.map +1 -1
  266. package/dist/ui-core/rendering/status-segments.js +3 -1
  267. package/dist/ui-core/rendering/status-segments.js.map +1 -1
  268. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  269. package/dist/ui-core/rendering/subagent-presentation.js +9 -0
  270. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  271. package/dist/ui-core/rendering/subagent-source.d.ts +2 -0
  272. package/dist/ui-core/rendering/subagent-source.js +10 -1
  273. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  274. package/dist/version.generated.d.ts +2 -2
  275. package/dist/version.generated.js +2 -2
  276. package/package.json +1 -1
  277. package/dist/llm/effort-fallback.d.ts +0 -6
  278. package/dist/llm/effort-fallback.js +0 -67
  279. package/dist/llm/effort-fallback.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
3
+ const baseUrl = "https://api.deepseek.com";
4
+ let cachedModels = null;
5
+ let lastFetchTime = 0;
6
+ const CACHE_TTL_MS = 60 * 60 * 1000;
7
+ export const deepseekProvider = {
8
+ id: "deepseek",
9
+ reasoningStyle: "openai",
10
+ displayName: "DeepSeek",
11
+ defaultModel: defaultModels.deepseek,
12
+ envVar: "DEEPSEEK_API_KEY",
13
+ validateKey: (key) => /^sk-[A-Za-z0-9_-]{16,}$/.test(key),
14
+ async listModels(auth) {
15
+ if (!auth.apiKey)
16
+ throw new Error("DeepSeek API key is required");
17
+ const now = Date.now();
18
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
19
+ return cachedModels;
20
+ }
21
+ const response = await fetch(`${baseUrl}/models`, {
22
+ headers: { authorization: `Bearer ${auth.apiKey}` },
23
+ });
24
+ const data = await readJson(response);
25
+ const models = ingestOpenAiModelCatalog("deepseek", data);
26
+ if (models.length > 0) {
27
+ cachedModels = models;
28
+ lastFetchTime = now;
29
+ }
30
+ return models;
31
+ },
32
+ async ping(auth) {
33
+ if (!auth.apiKey)
34
+ throw new Error("DeepSeek API key is required");
35
+ await openAiCompatiblePing(baseUrl, auth.apiKey);
36
+ },
37
+ async complete(request, auth) {
38
+ if (!auth.apiKey)
39
+ throw new Error("DeepSeek API key is required");
40
+ const model = request.model ?? defaultModels.deepseek;
41
+ const payload = await openAiCompatibleComplete({
42
+ responsesFirst: true,
43
+ provider: "DeepSeek",
44
+ providerId: "deepseek",
45
+ baseUrl,
46
+ apiKey: auth.apiKey,
47
+ model,
48
+ messages: request.messages,
49
+ maxTokens: request.maxTokens,
50
+ temperature: request.temperature,
51
+ signal: request.signal,
52
+ reasoning: request.thinking,
53
+ reasoningStyle: "openai",
54
+ tools: request.tools,
55
+ toolChoice: request.toolChoice,
56
+ parallelToolCalls: request.parallelToolCalls,
57
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
58
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
59
+ });
60
+ return toCompletionResult("deepseek", model, payload);
61
+ },
62
+ async stream(request, auth, onToken) {
63
+ if (!auth.apiKey)
64
+ throw new Error("DeepSeek API key is required");
65
+ const model = request.model ?? defaultModels.deepseek;
66
+ const payload = await openAiCompatibleStream({
67
+ responsesFirst: true,
68
+ provider: "DeepSeek",
69
+ providerId: "deepseek",
70
+ baseUrl,
71
+ apiKey: auth.apiKey,
72
+ model,
73
+ messages: request.messages,
74
+ maxTokens: request.maxTokens,
75
+ temperature: request.temperature,
76
+ signal: request.signal,
77
+ onToken,
78
+ onToolCallDelta: request.onToolCallDelta,
79
+ onStreamEvent: request.onStreamEvent,
80
+ reasoning: request.thinking,
81
+ reasoningStyle: "openai",
82
+ tools: request.tools,
83
+ toolChoice: request.toolChoice,
84
+ parallelToolCalls: request.parallelToolCalls,
85
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
86
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
87
+ });
88
+ return toCompletionResult("deepseek", model, payload);
89
+ },
90
+ };
91
+ //# sourceMappingURL=deepseek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../src/llm/deepseek.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type LlmProvider } from "./provider.js";
2
+ export declare const glmProvider: LlmProvider;
@@ -0,0 +1,91 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
3
+ const baseUrl = "https://api.z.ai/api/paas/v4";
4
+ let cachedModels = null;
5
+ let lastFetchTime = 0;
6
+ const CACHE_TTL_MS = 60 * 60 * 1000;
7
+ export const glmProvider = {
8
+ id: "glm",
9
+ reasoningStyle: "openai",
10
+ displayName: "GLM",
11
+ defaultModel: defaultModels.glm,
12
+ envVar: "GLM_API_KEY",
13
+ validateKey: (key) => /^[A-Za-z0-9._-]{16,}$/.test(key),
14
+ async listModels(auth) {
15
+ if (!auth.apiKey)
16
+ throw new Error("GLM API key is required");
17
+ const now = Date.now();
18
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
19
+ return cachedModels;
20
+ }
21
+ const response = await fetch(`${baseUrl}/models`, {
22
+ headers: { authorization: `Bearer ${auth.apiKey}` },
23
+ });
24
+ const data = await readJson(response);
25
+ const models = ingestOpenAiModelCatalog("glm", data);
26
+ if (models.length > 0) {
27
+ cachedModels = models;
28
+ lastFetchTime = now;
29
+ }
30
+ return models;
31
+ },
32
+ async ping(auth) {
33
+ if (!auth.apiKey)
34
+ throw new Error("GLM API key is required");
35
+ await openAiCompatiblePing(baseUrl, auth.apiKey);
36
+ },
37
+ async complete(request, auth) {
38
+ if (!auth.apiKey)
39
+ throw new Error("GLM API key is required");
40
+ const model = request.model ?? defaultModels.glm;
41
+ const payload = await openAiCompatibleComplete({
42
+ responsesFirst: false,
43
+ provider: "GLM",
44
+ providerId: "glm",
45
+ baseUrl,
46
+ apiKey: auth.apiKey,
47
+ model,
48
+ messages: request.messages,
49
+ maxTokens: request.maxTokens,
50
+ temperature: request.temperature,
51
+ signal: request.signal,
52
+ reasoning: request.thinking,
53
+ reasoningStyle: "openai",
54
+ tools: request.tools,
55
+ toolChoice: request.toolChoice,
56
+ parallelToolCalls: request.parallelToolCalls,
57
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
58
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
59
+ });
60
+ return toCompletionResult("glm", model, payload);
61
+ },
62
+ async stream(request, auth, onToken) {
63
+ if (!auth.apiKey)
64
+ throw new Error("GLM API key is required");
65
+ const model = request.model ?? defaultModels.glm;
66
+ const payload = await openAiCompatibleStream({
67
+ responsesFirst: false,
68
+ provider: "GLM",
69
+ providerId: "glm",
70
+ baseUrl,
71
+ apiKey: auth.apiKey,
72
+ model,
73
+ messages: request.messages,
74
+ maxTokens: request.maxTokens,
75
+ temperature: request.temperature,
76
+ signal: request.signal,
77
+ onToken,
78
+ onToolCallDelta: request.onToolCallDelta,
79
+ onStreamEvent: request.onStreamEvent,
80
+ reasoning: request.thinking,
81
+ reasoningStyle: "openai",
82
+ tools: request.tools,
83
+ toolChoice: request.toolChoice,
84
+ parallelToolCalls: request.parallelToolCalls,
85
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
86
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
87
+ });
88
+ return toCompletionResult("glm", model, payload);
89
+ },
90
+ };
91
+ //# sourceMappingURL=glm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glm.js","sourceRoot":"","sources":["../../src/llm/glm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type LlmProvider } from "./provider.js";
2
+ export declare const kimiProvider: LlmProvider;
@@ -0,0 +1,91 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
3
+ const baseUrl = "https://api.moonshot.ai/v1";
4
+ let cachedModels = null;
5
+ let lastFetchTime = 0;
6
+ const CACHE_TTL_MS = 60 * 60 * 1000;
7
+ export const kimiProvider = {
8
+ id: "kimi",
9
+ reasoningStyle: "openai",
10
+ displayName: "Kimi",
11
+ defaultModel: defaultModels.kimi,
12
+ envVar: "KIMI_API_KEY",
13
+ validateKey: (key) => /^sk-[A-Za-z0-9_-]{16,}$/.test(key),
14
+ async listModels(auth) {
15
+ if (!auth.apiKey)
16
+ throw new Error("Kimi API key is required");
17
+ const now = Date.now();
18
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
19
+ return cachedModels;
20
+ }
21
+ const response = await fetch(`${baseUrl}/models`, {
22
+ headers: { authorization: `Bearer ${auth.apiKey}` },
23
+ });
24
+ const data = await readJson(response);
25
+ const models = ingestOpenAiModelCatalog("kimi", data);
26
+ if (models.length > 0) {
27
+ cachedModels = models;
28
+ lastFetchTime = now;
29
+ }
30
+ return models;
31
+ },
32
+ async ping(auth) {
33
+ if (!auth.apiKey)
34
+ throw new Error("Kimi API key is required");
35
+ await openAiCompatiblePing(baseUrl, auth.apiKey);
36
+ },
37
+ async complete(request, auth) {
38
+ if (!auth.apiKey)
39
+ throw new Error("Kimi API key is required");
40
+ const model = request.model ?? defaultModels.kimi;
41
+ const payload = await openAiCompatibleComplete({
42
+ responsesFirst: true,
43
+ provider: "Kimi",
44
+ providerId: "kimi",
45
+ baseUrl,
46
+ apiKey: auth.apiKey,
47
+ model,
48
+ messages: request.messages,
49
+ maxTokens: request.maxTokens,
50
+ temperature: request.temperature,
51
+ signal: request.signal,
52
+ reasoning: request.thinking,
53
+ reasoningStyle: "openai",
54
+ tools: request.tools,
55
+ toolChoice: request.toolChoice,
56
+ parallelToolCalls: request.parallelToolCalls,
57
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
58
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
59
+ });
60
+ return toCompletionResult("kimi", model, payload);
61
+ },
62
+ async stream(request, auth, onToken) {
63
+ if (!auth.apiKey)
64
+ throw new Error("Kimi API key is required");
65
+ const model = request.model ?? defaultModels.kimi;
66
+ const payload = await openAiCompatibleStream({
67
+ responsesFirst: true,
68
+ provider: "Kimi",
69
+ providerId: "kimi",
70
+ baseUrl,
71
+ apiKey: auth.apiKey,
72
+ model,
73
+ messages: request.messages,
74
+ maxTokens: request.maxTokens,
75
+ temperature: request.temperature,
76
+ signal: request.signal,
77
+ onToken,
78
+ onToolCallDelta: request.onToolCallDelta,
79
+ onStreamEvent: request.onStreamEvent,
80
+ reasoning: request.thinking,
81
+ reasoningStyle: "openai",
82
+ tools: request.tools,
83
+ toolChoice: request.toolChoice,
84
+ parallelToolCalls: request.parallelToolCalls,
85
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
86
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
87
+ });
88
+ return toCompletionResult("kimi", model, payload);
89
+ },
90
+ };
91
+ //# sourceMappingURL=kimi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.js","sourceRoot":"","sources":["../../src/llm/kimi.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getConfig, updateConfig, } from "../store/config.js";
2
+ import { currentIsolatedSessionAffinity } from "./session-affinity.js";
2
3
  export const UNATTRIBUTED_CONTROL_DIALECT = "unattributed";
3
4
  export const NEGATIVE_CAPABILITY_TTL_MS = 14 * 24 * 60 * 60 * 1000;
4
5
  export const MAX_LEARNED_CAPABILITIES = 400;
@@ -88,14 +89,19 @@ export function persistLearnedRoute(key, update) {
88
89
  }
89
90
  }
90
91
  const sessionRejectedFields = new Map();
92
+ function scopedRejectedFieldsKey(key) {
93
+ const scope = currentIsolatedSessionAffinity();
94
+ return scope ? `${scope}\u0000${key}` : key;
95
+ }
91
96
  export function learnSessionRejectedField(key, field) {
92
97
  const name = field.trim().toLowerCase();
93
98
  if (!name)
94
99
  return;
95
- const existing = sessionRejectedFields.get(key) ?? [];
100
+ const scopedKey = scopedRejectedFieldsKey(key);
101
+ const existing = sessionRejectedFields.get(scopedKey) ?? [];
96
102
  if (existing.includes(name))
97
103
  return;
98
- sessionRejectedFields.set(key, [...existing, name]);
104
+ sessionRejectedFields.set(scopedKey, [...existing, name]);
99
105
  }
100
106
  export function clearSessionRejectedFields() {
101
107
  sessionRejectedFields.clear();
@@ -160,7 +166,7 @@ export function clearPersistedLearnedRoutes() {
160
166
  }
161
167
  }
162
168
  export function learnedRouteRejectedFields(provider, model) {
163
- return sessionRejectedFields.get(sessionRejectedFieldsKey(provider, model)) ?? [];
169
+ return sessionRejectedFields.get(scopedRejectedFieldsKey(sessionRejectedFieldsKey(provider, model))) ?? [];
164
170
  }
165
171
  function sessionRejectedFieldsKey(provider, model) {
166
172
  return `${provider}:${model
@@ -1 +1 @@
1
- {"version":3,"file":"learned-capabilities.js","sourceRoot":"","sources":["../../src/llm/learned-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,4BAA4B,GAAG,cAAc,CAAC;AAE3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IAChE,OAAO,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC1D,OAAO,GAAG,GAAG,EAAE,GAAG,0BAA0B,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAqC;IAErC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAChE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAwB;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC;QACH,OAAO,SAAS,EAAE,CAAC,yBAAyB,IAAI,EAAE,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,IAAI,CAAC;QACH,OAAO,SAAS,EAAE,CAAC,wBAAwB,IAAI,EAAE,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,OAAO,wBAAwB,EAAE,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IAClD,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,CACL,KAAK,CAAC,MAAM,KAAK,IAAI;QACrB,KAAK,CAAC,SAAS,KAAK,IAAI;QACxB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC;QACtC,KAAK,CAAC,aAAa,KAAK,SAAS;QACjC,KAAK,CAAC,eAAe,KAAK,SAAS,CACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAyC;IAEzC,MAAM,IAAI,GAAsC,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;YAAE,SAAS;QACrD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAAE,SAAS;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAqD;IAErD,MAAM,EACJ,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EAC/B,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;IACV,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;QACpD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAW,EACX,MAAqC;IAErC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,GAAG,wBAAwB,EAAE,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtB,GAAG,MAAM;YACT,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,CAAC;QACH,YAAY,CAAC,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEnE,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,KAAa;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO;IACpC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,qBAAqB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAA2C;IAE3C,MAAM,IAAI,GAAuC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YAAE,SAAS;QACzD,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,wBAAwB;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,MAAe;IAEf,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,GAAG,yBAAyB,EAAE,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACxD,YAAY,CAAC,EAAE,yBAAyB,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC;QACH,YAAY,CAAC,EAAE,yBAAyB,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,GAAW;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,GAAG,wBAAwB,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,EACJ,SAAS,EAAE,UAAU,EACrB,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EAC/B,GAAG,IAAI,EACR,GAAG,KAAK,CAAC;QACV,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACxC,YAAY,CAAC,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC;QACH,YAAY,CAAC,EAAE,wBAAwB,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;IACT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,KAAa;IAEb,OAAO,qBAAqB,CAAC,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgB,EAAE,KAAa;IAC/D,OAAO,GAAG,QAAQ,IAAI,KAAK;SACxB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"learned-capabilities.js","sourceRoot":"","sources":["../../src/llm/learned-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,30 @@
1
1
  import { EFFORT_SCALE } from "./reasoning-controls.js";
2
- import { learnedRouteEfforts } from "./capabilities.js";
2
+ import { displayReasoningEfforts, learnedRouteEfforts, } from "./capabilities.js";
3
3
  import { resolveBuiltInProfile } from "./provider-profiles.js";
4
4
  export function lowestReasoningPreference(provider, model) {
5
5
  const { reasoning } = resolveBuiltInProfile({ provider, model });
6
6
  const learned = learnedRouteEfforts(provider, model);
7
- if (reasoning.control.status === "unsupported" ||
8
- (reasoning.generation !== "mandatory" &&
9
- reasoning.disable === "supported" &&
10
- (!learned?.length || learned.includes("none")))) {
7
+ const declared = displayReasoningEfforts(provider, model);
8
+ let accepted = reasoning.acceptedEfforts;
9
+ if (declared?.length)
10
+ accepted = declared;
11
+ if (learned?.length)
12
+ accepted = learned;
13
+ const disableByOmission = reasoning.disableForm === undefined ||
14
+ reasoning.disableForm === "omit-control";
15
+ const disableAllowed = reasoning.generation !== "mandatory" &&
16
+ reasoning.disable === "supported" &&
17
+ (disableByOmission ||
18
+ accepted.length === 0 ||
19
+ accepted.includes("none"));
20
+ if (reasoning.control.status === "unsupported" || disableAllowed) {
11
21
  return { enabled: false, effort: "none" };
12
22
  }
13
- const effort = EFFORT_SCALE.find((candidate) => (candidate !== "none" || reasoning.generation !== "mandatory") &&
14
- reasoning.acceptedEfforts.includes(candidate)) ?? (reasoning.generation === "mandatory" ? "minimal" : "none");
23
+ const selectable = reasoning.generation === "mandatory"
24
+ ? accepted.filter((effort) => effort !== "none")
25
+ : accepted;
26
+ const least = EFFORT_SCALE.find((effort) => selectable.includes(effort));
27
+ const effort = least ?? (reasoning.generation === "mandatory" ? "minimal" : "none");
15
28
  return { enabled: effort !== "none", effort };
16
29
  }
17
30
  export function withLowestReasoning(request, provider, model) {
@@ -1 +1 @@
1
- {"version":3,"file":"lowest-reasoning.js","sourceRoot":"","sources":["../../src/llm/lowest-reasoning.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CACvC,QAAoB,EACpB,KAAa;IAEb,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,IACE,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa;QAC1C,CAAC,SAAS,CAAC,UAAU,KAAK,WAAW;YACnC,SAAS,CAAC,OAAO,KAAK,WAAW;YACjC,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EACjD,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAC9B,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QAC9D,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAChD,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,QAAoB,EACpB,KAAa;IAEb,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"lowest-reasoning.js","sourceRoot":"","sources":["../../src/llm/lowest-reasoning.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,UAAU,yBAAyB,CACvC,QAAoB,EACpB,KAAa;IAEb,MAAM,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1D,IAAI,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC;IACzC,IAAI,QAAQ,EAAE,MAAM;QAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1C,IAAI,OAAO,EAAE,MAAM;QAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,MAAM,iBAAiB,GACrB,SAAS,CAAC,WAAW,KAAK,SAAS;QACnC,SAAS,CAAC,WAAW,KAAK,cAAc,CAAC;IAC3C,MAAM,cAAc,GAClB,SAAS,CAAC,UAAU,KAAK,WAAW;QACpC,SAAS,CAAC,OAAO,KAAK,WAAW;QACjC,CAAC,iBAAiB;YAChB,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,IAAI,cAAc,EAAE,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,UAAU,GACd,SAAS,CAAC,UAAU,KAAK,WAAW;QAClC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC;QAChD,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GACV,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,QAAoB,EACpB,KAAa;IAEb,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type LlmProvider } from "./provider.js";
2
+ export declare const minimaxProvider: LlmProvider;
@@ -0,0 +1,91 @@
1
+ import { defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
3
+ const baseUrl = "https://api.minimaxi.chat/v1";
4
+ let cachedModels = null;
5
+ let lastFetchTime = 0;
6
+ const CACHE_TTL_MS = 60 * 60 * 1000;
7
+ export const minimaxProvider = {
8
+ id: "minimax",
9
+ reasoningStyle: "openai",
10
+ displayName: "MiniMax",
11
+ defaultModel: defaultModels.minimax,
12
+ envVar: "MINIMAX_API_KEY",
13
+ validateKey: (key) => /^[A-Za-z0-9._-]{16,}$/.test(key),
14
+ async listModels(auth) {
15
+ if (!auth.apiKey)
16
+ throw new Error("MiniMax API key is required");
17
+ const now = Date.now();
18
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
19
+ return cachedModels;
20
+ }
21
+ const response = await fetch(`${baseUrl}/models`, {
22
+ headers: { authorization: `Bearer ${auth.apiKey}` },
23
+ });
24
+ const data = await readJson(response);
25
+ const models = ingestOpenAiModelCatalog("minimax", data);
26
+ if (models.length > 0) {
27
+ cachedModels = models;
28
+ lastFetchTime = now;
29
+ }
30
+ return models;
31
+ },
32
+ async ping(auth) {
33
+ if (!auth.apiKey)
34
+ throw new Error("MiniMax API key is required");
35
+ await openAiCompatiblePing(baseUrl, auth.apiKey);
36
+ },
37
+ async complete(request, auth) {
38
+ if (!auth.apiKey)
39
+ throw new Error("MiniMax API key is required");
40
+ const model = request.model ?? defaultModels.minimax;
41
+ const payload = await openAiCompatibleComplete({
42
+ responsesFirst: false,
43
+ provider: "MiniMax",
44
+ providerId: "minimax",
45
+ baseUrl,
46
+ apiKey: auth.apiKey,
47
+ model,
48
+ messages: request.messages,
49
+ maxTokens: request.maxTokens,
50
+ temperature: request.temperature,
51
+ signal: request.signal,
52
+ reasoning: request.thinking,
53
+ reasoningStyle: "openai",
54
+ tools: request.tools,
55
+ toolChoice: request.toolChoice,
56
+ parallelToolCalls: request.parallelToolCalls,
57
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
58
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
59
+ });
60
+ return toCompletionResult("minimax", model, payload);
61
+ },
62
+ async stream(request, auth, onToken) {
63
+ if (!auth.apiKey)
64
+ throw new Error("MiniMax API key is required");
65
+ const model = request.model ?? defaultModels.minimax;
66
+ const payload = await openAiCompatibleStream({
67
+ responsesFirst: false,
68
+ provider: "MiniMax",
69
+ providerId: "minimax",
70
+ baseUrl,
71
+ apiKey: auth.apiKey,
72
+ model,
73
+ messages: request.messages,
74
+ maxTokens: request.maxTokens,
75
+ temperature: request.temperature,
76
+ signal: request.signal,
77
+ onToken,
78
+ onToolCallDelta: request.onToolCallDelta,
79
+ onStreamEvent: request.onStreamEvent,
80
+ reasoning: request.thinking,
81
+ reasoningStyle: "openai",
82
+ tools: request.tools,
83
+ toolChoice: request.toolChoice,
84
+ parallelToolCalls: request.parallelToolCalls,
85
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
86
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
87
+ });
88
+ return toCompletionResult("minimax", model, payload);
89
+ },
90
+ };
91
+ //# sourceMappingURL=minimax.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax.js","sourceRoot":"","sources":["../../src/llm/minimax.ts"],"names":[],"mappings":"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"}
package/dist/llm/modal.js CHANGED
@@ -1,6 +1,8 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { defaultModels, normalizeEndpointUrl, } from "./provider.js";
3
3
  import { singleLeadingSystemMessages } from "./system-messages.js";
4
+ import { currentSessionAffinity } from "./session-affinity.js";
5
+ import { sessionCacheAffinityKey } from "./cache-affinity.js";
4
6
  import { ProviderError, openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, streamIdleBudgets, readJson, ingestOpenAiModelCatalog, } from "./http.js";
5
7
  /**
6
8
  * Modal Endpoints (https://modal.com/docs/guide/endpoints) serve the OpenAI
@@ -49,6 +51,9 @@ export function parseModalToken(raw) {
49
51
  let generatedSessionId;
50
52
  export function modalSessionId() {
51
53
  const configured = process.env.MODAL_SESSION_ID?.trim();
54
+ const affinity = currentSessionAffinity();
55
+ if (affinity)
56
+ return sessionCacheAffinityKey(configured ? `${configured}\0${affinity}` : affinity);
52
57
  if (configured)
53
58
  return configured;
54
59
  generatedSessionId ??= `clai-${randomUUID()}`;
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/llm/modal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/llm/modal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,oBAAoB,GAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,wBAAwB,GACzB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,UAAU,GACd,2HAA2H,CAAC;AAO9H;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAuB;IACrD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACxB,CAAC;AAID,IAAI,kBAAsC,CAAC;AAE3C,MAAM,UAAU,cAAc;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,IAAI,QAAQ;QAAE,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnG,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,kBAAkB,KAAK,QAAQ,UAAU,EAAE,EAAE,CAAC;IAC9C,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,GAAG,SAAS,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,IAAkB;IACxC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,aAAa,CACrB,0CAA0C,UAAU,GAAG,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,IAAkB;IACtC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CACrB,kFAAkF;YAChF,+DAA+D;YAC/D,8BAA8B,CACjC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,EAAE;QACrB,cAAc,EAAE,KAAK,CAAC,MAAM;QAC5B,kBAAkB,EAAE,cAAc,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,IAAI,YAAkF,CAAC;AACvF,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,EAAE,EAAE,OAAO;IACX,cAAc,EAAE,OAAO;IACvB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,aAAa,CAAC,KAAK;IACjC,MAAM,EAAE,sBAAsB;IAC9B,WAAW,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS;IAChE,KAAK,CAAC,UAAU,CAAC,IAAkB;QACjC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IACE,YAAY;YACZ,YAAY,CAAC,OAAO,KAAK,OAAO;YAChC,GAAG,GAAG,YAAY,CAAC,SAAS,GAAG,YAAY,EAC3C,CAAC;YACD,OAAO,YAAY,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE;gBAChD,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;aAC7B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAmC,QAAQ,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,YAAY,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACrD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAkB;QAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,CAAC,QAAQ,CACZ,OAA0B,EAC1B,IAAkB;QAElB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,wBAAwB,CAAC;YAC7C,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,OAAO;YACnB,OAAO;YACP,MAAM,EAAE,aAAa;YACrB,KAAK;YACL,QAAQ,EAAE,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,OAAO;YACvB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;YAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,MAAM,CACV,OAA0B,EAC1B,IAAkB,EAClB,OAAgC;QAEhC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;YAC3C,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,OAAO;YACnB,OAAO;YACP,MAAM,EAAE,aAAa;YACrB,KAAK;YACL,QAAQ,EAAE,2BAA2B,CAAC,OAAO,CAAC,QAAQ,CAAC;YACvD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,cAAc,EAAE,OAAO;YACvB,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAC5B,OAAO,EACP,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CACpE;YACD,aAAa,EAAE,IAAI,CAAC,GAAG,CACrB,OAAO,EACP,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CACpE;YACD,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,+BAA+B,EAAE,OAAO,CAAC,iCAAiC;YAC1E,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE,CAAC,CAAC;QACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;CACF,CAAC"}
@@ -224,5 +224,29 @@ export const MODEL_RULES = {
224
224
  ],
225
225
  free: [{ pattern: /deepseek/i, layer: deepseekV4DefaultOn }],
226
226
  openrouter: [],
227
+ deepseek: [{ pattern: /reasoner|r1|v4/i, layer: deepseekV4DefaultOn }],
228
+ kimi: [
229
+ { pattern: /kimi-k3|kimi-k2\.7/i, layer: kimiMandatoryLayer },
230
+ { pattern: /kimi-k2\.6/i, layer: kimiConfigurableLayer },
231
+ { pattern: /kimi/i, layer: kimiNoPreservationLayer },
232
+ ],
233
+ glm: [
234
+ {
235
+ pattern: /glm/i,
236
+ layer: {
237
+ evidence: providerDoc("glm-thinking"),
238
+ reasoning: { generation: "default-on" },
239
+ },
240
+ },
241
+ ],
242
+ minimax: [
243
+ {
244
+ pattern: /minimax/i,
245
+ layer: {
246
+ evidence: providerDoc("minimax-thinking"),
247
+ reasoning: { generation: "optional" },
248
+ },
249
+ },
250
+ ],
227
251
  };
228
252
  //# sourceMappingURL=model-rules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-rules.js","sourceRoot":"","sources":["../../../src/llm/model-layers/model-rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-rules.js","sourceRoot":"","sources":["../../../src/llm/model-layers/model-rules.ts"],"names":[],"mappings":"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"}