@pentoshi/clai 4.11.21 → 4.11.23

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 (218) hide show
  1. package/dist/agent/evidence/task-selection.d.ts +0 -15
  2. package/dist/agent/evidence/task-selection.js +1 -33
  3. package/dist/agent/evidence/task-selection.js.map +1 -1
  4. package/dist/agent/plan/actions/plan-clear.js.map +1 -1
  5. package/dist/agent/plan/actions/plan-create.js.map +1 -1
  6. package/dist/agent/plan/actions/task-add.js.map +1 -1
  7. package/dist/agent/plan/actions/task-move.js.map +1 -1
  8. package/dist/agent/plan/handle-plan-tool.js +5 -154
  9. package/dist/agent/plan/handle-plan-tool.js.map +1 -1
  10. package/dist/agent/runner.js +1 -13
  11. package/dist/agent/runner.js.map +1 -1
  12. package/dist/agent/session-policy.d.ts +0 -6
  13. package/dist/agent/session-policy.js +0 -2
  14. package/dist/agent/session-policy.js.map +1 -1
  15. package/dist/agent/task-evidence.d.ts +2 -2
  16. package/dist/agent/task-evidence.js +1 -1
  17. package/dist/agent/task-evidence.js.map +1 -1
  18. package/dist/agent/turn/compaction-admission.d.ts +5 -0
  19. package/dist/agent/turn/compaction-admission.js +24 -0
  20. package/dist/agent/turn/compaction-admission.js.map +1 -1
  21. package/dist/agent/turn/compaction-coordinator.d.ts +1 -0
  22. package/dist/agent/turn/compaction-coordinator.js +2 -0
  23. package/dist/agent/turn/compaction-coordinator.js.map +1 -1
  24. package/dist/agent/turn/loop/run-rounds.js +17 -24
  25. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  26. package/dist/agent/turn/loop/state.d.ts +1 -2
  27. package/dist/agent/turn/loop/state.js +1 -2
  28. package/dist/agent/turn/loop/state.js.map +1 -1
  29. package/dist/agent/turn/setup/compaction-services.d.ts +1 -0
  30. package/dist/agent/turn/setup/compaction-services.js +1 -0
  31. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  32. package/dist/agent/turn/setup/task-gate-setup.d.ts +1 -11
  33. package/dist/agent/turn/setup/task-gate-setup.js +4 -19
  34. package/dist/agent/turn/setup/task-gate-setup.js.map +1 -1
  35. package/dist/agent/turn/tool-execution/deps.d.ts +1 -5
  36. package/dist/agent/turn/tool-execution/guards.d.ts +0 -4
  37. package/dist/agent/turn/tool-execution/guards.js +3 -12
  38. package/dist/agent/turn/tool-execution/guards.js.map +1 -1
  39. package/dist/agent/turn/tool-execution/meta-tools.d.ts +0 -2
  40. package/dist/agent/turn/tool-execution/meta-tools.js +0 -17
  41. package/dist/agent/turn/tool-execution/meta-tools.js.map +1 -1
  42. package/dist/agent/turn/tool-execution/single-tool.js +0 -14
  43. package/dist/agent/turn/tool-execution/single-tool.js.map +1 -1
  44. package/dist/app/commands/catalog.js +32 -1
  45. package/dist/app/commands/catalog.js.map +1 -1
  46. package/dist/classic/panels/keys-panel.js +8 -1
  47. package/dist/classic/panels/keys-panel.js.map +1 -1
  48. package/dist/classic/panels/pager-panel.d.ts +2 -2
  49. package/dist/classic/panels/pager-panel.js +10 -7
  50. package/dist/classic/panels/pager-panel.js.map +1 -1
  51. package/dist/classic/panels/panel-host.js +1 -1
  52. package/dist/classic/panels/panel-host.js.map +1 -1
  53. package/dist/commands/providers.d.ts +17 -0
  54. package/dist/commands/providers.js +317 -28
  55. package/dist/commands/providers.js.map +1 -1
  56. package/dist/index.js +31 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/llm/agentrouter.js +1 -1
  59. package/dist/llm/anthropic.d.ts +4 -2
  60. package/dist/llm/anthropic.js +186 -178
  61. package/dist/llm/anthropic.js.map +1 -1
  62. package/dist/llm/bynara.js +1 -1
  63. package/dist/llm/capability/state.d.ts +1 -1
  64. package/dist/llm/capability/tool-dialect.js +3 -0
  65. package/dist/llm/capability/tool-dialect.js.map +1 -1
  66. package/dist/llm/capability/vision-patterns.js +3 -0
  67. package/dist/llm/capability/vision-patterns.js.map +1 -1
  68. package/dist/llm/catalog-facts.js +50 -2
  69. package/dist/llm/catalog-facts.js.map +1 -1
  70. package/dist/llm/catalog-prefetch.js +1 -1
  71. package/dist/llm/cline-auth.d.ts +34 -0
  72. package/dist/llm/cline-auth.js +248 -0
  73. package/dist/llm/cline-auth.js.map +1 -0
  74. package/dist/llm/cline.d.ts +2 -0
  75. package/dist/llm/cline.js +147 -0
  76. package/dist/llm/cline.js.map +1 -0
  77. package/dist/llm/codex-auth.d.ts +53 -0
  78. package/dist/llm/codex-auth.js +512 -0
  79. package/dist/llm/codex-auth.js.map +1 -0
  80. package/dist/llm/codex.d.ts +4 -0
  81. package/dist/llm/codex.js +239 -0
  82. package/dist/llm/codex.js.map +1 -0
  83. package/dist/llm/copilot-auth.d.ts +38 -0
  84. package/dist/llm/copilot-auth.js +258 -0
  85. package/dist/llm/copilot-auth.js.map +1 -0
  86. package/dist/llm/copilot.d.ts +4 -0
  87. package/dist/llm/copilot.js +226 -0
  88. package/dist/llm/copilot.js.map +1 -0
  89. package/dist/llm/custom-providers.js +1 -1
  90. package/dist/llm/deepseek.js +1 -1
  91. package/dist/llm/explabs.js +1 -1
  92. package/dist/llm/fireworks.js +1 -1
  93. package/dist/llm/free-default-model.js +9 -4
  94. package/dist/llm/free-default-model.js.map +1 -1
  95. package/dist/llm/free.d.ts +1 -0
  96. package/dist/llm/free.js +44 -36
  97. package/dist/llm/free.js.map +1 -1
  98. package/dist/llm/glm.js +1 -1
  99. package/dist/llm/hetzner.js +1 -1
  100. package/dist/llm/key-rotation.js +1 -1
  101. package/dist/llm/key-rotation.js.map +1 -1
  102. package/dist/llm/kimi.js +1 -1
  103. package/dist/llm/lightning.js +1 -1
  104. package/dist/llm/merge-gateway.js +1 -1
  105. package/dist/llm/meta.js +1 -1
  106. package/dist/llm/minimax.js +1 -1
  107. package/dist/llm/model-families.js +1 -1
  108. package/dist/llm/model-families.js.map +1 -1
  109. package/dist/llm/model-layers/model-rules.js +6 -0
  110. package/dist/llm/model-layers/model-rules.js.map +1 -1
  111. package/dist/llm/nvidia.js +1 -1
  112. package/dist/llm/openrouter.js +1 -1
  113. package/dist/llm/orcarouter.js +1 -1
  114. package/dist/llm/provider-identity.d.ts +2 -0
  115. package/dist/llm/provider-identity.js +35 -0
  116. package/dist/llm/provider-identity.js.map +1 -1
  117. package/dist/llm/provider-info-text.js +115 -13
  118. package/dist/llm/provider-info-text.js.map +1 -1
  119. package/dist/llm/provider-profile-layers.js +101 -0
  120. package/dist/llm/provider-profile-layers.js.map +1 -1
  121. package/dist/llm/provider-profiles.js +2 -1
  122. package/dist/llm/provider-profiles.js.map +1 -1
  123. package/dist/llm/provider.d.ts +6 -4
  124. package/dist/llm/provider.js +2 -2
  125. package/dist/llm/provider.js.map +1 -1
  126. package/dist/llm/qwen-cloud.js +1 -1
  127. package/dist/llm/reasoning-capability.js +14 -0
  128. package/dist/llm/reasoning-capability.js.map +1 -1
  129. package/dist/llm/responses/item-events.js +10 -0
  130. package/dist/llm/responses/item-events.js.map +1 -1
  131. package/dist/llm/responses-config.d.ts +4 -0
  132. package/dist/llm/responses-config.js.map +1 -1
  133. package/dist/llm/responses-parse.js +23 -11
  134. package/dist/llm/responses-parse.js.map +1 -1
  135. package/dist/llm/responses-request.js +31 -8
  136. package/dist/llm/responses-request.js.map +1 -1
  137. package/dist/llm/responses-stream-events.js +21 -5
  138. package/dist/llm/responses-stream-events.js.map +1 -1
  139. package/dist/llm/routing/attempt-complete.js +1 -1
  140. package/dist/llm/routing/attempt-complete.js.map +1 -1
  141. package/dist/llm/routing/attempt-request.js +1 -1
  142. package/dist/llm/routing/attempt-request.js.map +1 -1
  143. package/dist/llm/routing/attempt-stream.js +2 -2
  144. package/dist/llm/routing/attempt-stream.js.map +1 -1
  145. package/dist/llm/routing/failure-report.js +1 -1
  146. package/dist/llm/routing/failure-report.js.map +1 -1
  147. package/dist/llm/routing/key-rotation.js +9 -4
  148. package/dist/llm/routing/key-rotation.js.map +1 -1
  149. package/dist/llm/routing/provider-selection.d.ts +2 -1
  150. package/dist/llm/routing/provider-selection.js +18 -4
  151. package/dist/llm/routing/provider-selection.js.map +1 -1
  152. package/dist/llm/tokenrouter.js +1 -1
  153. package/dist/llm/vercel.js +1 -1
  154. package/dist/llm/wire/chat-body.js +5 -3
  155. package/dist/llm/wire/chat-body.js.map +1 -1
  156. package/dist/llm/wire/openai-complete.d.ts +1 -0
  157. package/dist/llm/wire/openai-complete.js +9 -0
  158. package/dist/llm/wire/openai-complete.js.map +1 -1
  159. package/dist/store/config.js +3 -0
  160. package/dist/store/config.js.map +1 -1
  161. package/dist/store/keys/search-providers.d.ts +2 -0
  162. package/dist/store/keys/search-providers.js +6 -0
  163. package/dist/store/keys/search-providers.js.map +1 -1
  164. package/dist/store/keys.d.ts +6 -1
  165. package/dist/store/keys.js +46 -17
  166. package/dist/store/keys.js.map +1 -1
  167. package/dist/store/plan/mutation.d.ts +0 -1
  168. package/dist/store/plan/mutation.js +1 -22
  169. package/dist/store/plan/mutation.js.map +1 -1
  170. package/dist/store/plan.d.ts +1 -1
  171. package/dist/store/plan.js +1 -4
  172. package/dist/store/plan.js.map +1 -1
  173. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +5 -0
  174. package/dist/tui-v2/components/modal/keys-modal-pick.js +13 -0
  175. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -1
  176. package/dist/tui-v2/components/modal/keys-modal.js +15 -13
  177. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  178. package/dist/types.d.ts +1 -1
  179. package/dist/types.js +3 -0
  180. package/dist/types.js.map +1 -1
  181. package/dist/ui-core/bootstrap/capabilities.d.ts +1 -0
  182. package/dist/ui-core/bootstrap/capabilities.js +14 -0
  183. package/dist/ui-core/bootstrap/capabilities.js.map +1 -1
  184. package/dist/ui-core/commands/key-commands.d.ts +6 -3
  185. package/dist/ui-core/commands/key-commands.js +506 -15
  186. package/dist/ui-core/commands/key-commands.js.map +1 -1
  187. package/dist/ui-core/commands/keys/editors.js +10 -4
  188. package/dist/ui-core/commands/keys/editors.js.map +1 -1
  189. package/dist/ui-core/commands/picker-commands.js +86 -32
  190. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  191. package/dist/ui-core/commands/subagent-models-editor.js +12 -4
  192. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -1
  193. package/dist/ui-core/controllers/overlay-controller.d.ts +4 -0
  194. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  195. package/dist/ui-core/rendering/format-keys.js +4 -2
  196. package/dist/ui-core/rendering/format-keys.js.map +1 -1
  197. package/dist/ui-core/rendering/format-usage.js +3 -1
  198. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  199. package/dist/ui-core/rendering/intro-header.js +4 -1
  200. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  201. package/dist/version.generated.d.ts +2 -2
  202. package/dist/version.generated.js +2 -2
  203. package/package.json +1 -1
  204. package/dist/agent/task-sync.d.ts +0 -40
  205. package/dist/agent/task-sync.js +0 -105
  206. package/dist/agent/task-sync.js.map +0 -1
  207. package/dist/agent/turn/task-batch-guard.d.ts +0 -18
  208. package/dist/agent/turn/task-batch-guard.js +0 -83
  209. package/dist/agent/turn/task-batch-guard.js.map +0 -1
  210. package/dist/agent/turn/task-gate.d.ts +0 -13
  211. package/dist/agent/turn/task-gate.js +0 -34
  212. package/dist/agent/turn/task-gate.js.map +0 -1
  213. package/dist/agent/turn/task-update-gate.d.ts +0 -13
  214. package/dist/agent/turn/task-update-gate.js +0 -40
  215. package/dist/agent/turn/task-update-gate.js.map +0 -1
  216. package/dist/store/task-transitions.d.ts +0 -12
  217. package/dist/store/task-transitions.js +0 -40
  218. package/dist/store/task-transitions.js.map +0 -1
@@ -0,0 +1,226 @@
1
+ import { GITHUB_COPILOT_DISPLAY_NAME, defaultModels, } from "./provider.js";
2
+ import { openAiCompatibleComplete, openAiCompatibleStream, toCompletionResult, readJson, ingestModelCatalogEntries, ProviderError, } from "./http.js";
3
+ import { COPILOT_REQUEST_HEADERS, copilotRequestHeaders, copilotInitiator, invalidateCopilotApiToken, isCopilotOAuthToken, resolveCopilotApiToken, } from "./copilot-auth.js";
4
+ import { currentRequestPurpose } from "./request-purpose.js";
5
+ import { executeAnthropicComplete, executeAnthropicStream } from "./anthropic.js";
6
+ export const copilotFallbackModels = [
7
+ "gpt-4o",
8
+ "gpt-4o-mini",
9
+ "claude-sonnet-4.5",
10
+ "claude-3.5-sonnet",
11
+ "o1",
12
+ "o3-mini",
13
+ ];
14
+ let cachedModels = null;
15
+ let lastFetchTime = 0;
16
+ const CACHE_TTL_MS = 30 * 60 * 1000;
17
+ export function resetCopilotModelCache() {
18
+ cachedModels = null;
19
+ lastFetchTime = 0;
20
+ }
21
+ function requireKey(auth) {
22
+ if (!auth.apiKey) {
23
+ throw new Error(`${GITHUB_COPILOT_DISPLAY_NAME} authentication required. Run \`clai auth copilot\` (device sign-in) or add a key with \`clai set copilot <github-token>\`.`);
24
+ }
25
+ return auth.apiKey;
26
+ }
27
+ async function withCopilotApiToken(auth, run) {
28
+ const githubToken = requireKey(auth);
29
+ const api = await resolveCopilotApiToken(githubToken);
30
+ try {
31
+ return await run(api.token, api.baseUrl);
32
+ }
33
+ catch (error) {
34
+ const status = error instanceof ProviderError ? error.status : undefined;
35
+ const renewable = status === 401 && currentRequestPurpose() === undefined;
36
+ if (!renewable)
37
+ throw error;
38
+ invalidateCopilotApiToken(githubToken);
39
+ const renewed = await resolveCopilotApiToken(githubToken);
40
+ if (!renewed.token || renewed.token === api.token)
41
+ throw error;
42
+ return run(renewed.token, renewed.baseUrl);
43
+ }
44
+ }
45
+ function copilotHeaders(messages) {
46
+ return copilotRequestHeaders({
47
+ "X-Initiator": copilotInitiator(messages),
48
+ });
49
+ }
50
+ function isAnthropicModel(model) {
51
+ return /(?:^|[./-])(?:anthropic|claude)(?:[./-]|$)/i.test(model);
52
+ }
53
+ function filterCopilotEntries(entries) {
54
+ const usable = entries.filter((raw) => {
55
+ if (!raw || typeof raw !== "object")
56
+ return false;
57
+ const item = raw;
58
+ const policy = item.policy;
59
+ return policy?.state !== "disabled";
60
+ });
61
+ const pickerEnabled = usable.filter((raw) => {
62
+ const item = raw;
63
+ return item.model_picker_enabled === true;
64
+ });
65
+ return pickerEnabled.length > 0 ? pickerEnabled : usable;
66
+ }
67
+ export const copilotProvider = {
68
+ id: "copilot",
69
+ displayName: GITHUB_COPILOT_DISPLAY_NAME,
70
+ reasoningStyle: "openai",
71
+ defaultModel: defaultModels.copilot,
72
+ envVar: "COPILOT_API_KEY",
73
+ validateKey: (key) => isCopilotOAuthToken(key.trim()),
74
+ async listModels(auth) {
75
+ const now = Date.now();
76
+ if (cachedModels && now - lastFetchTime < CACHE_TTL_MS) {
77
+ return cachedModels;
78
+ }
79
+ const githubToken = requireKey(auth);
80
+ const api = await resolveCopilotApiToken(githubToken);
81
+ const response = await fetch(`${api.baseUrl}/models`, {
82
+ headers: {
83
+ authorization: `Bearer ${api.token}`,
84
+ accept: "application/json",
85
+ ...COPILOT_REQUEST_HEADERS,
86
+ },
87
+ });
88
+ const payload = await readJson(response);
89
+ const entries = Array.isArray(payload.data) ? payload.data : [];
90
+ const filtered = filterCopilotEntries(entries);
91
+ const models = ingestModelCatalogEntries("copilot", filtered);
92
+ const result = models.length > 0 ? models : [...copilotFallbackModels];
93
+ if (result.length > 0) {
94
+ cachedModels = result;
95
+ lastFetchTime = now;
96
+ }
97
+ return result;
98
+ },
99
+ async ping(auth) {
100
+ const githubToken = requireKey(auth);
101
+ const api = await resolveCopilotApiToken(githubToken);
102
+ const response = await fetch(`${api.baseUrl}/models`, {
103
+ headers: {
104
+ authorization: `Bearer ${api.token}`,
105
+ accept: "application/json",
106
+ ...COPILOT_REQUEST_HEADERS,
107
+ },
108
+ });
109
+ if (!response.ok) {
110
+ throw new ProviderError(`${GITHUB_COPILOT_DISPLAY_NAME} authentication failed (HTTP ${response.status}). Run \`clai auth copilot\` to sign in.`, response.status);
111
+ }
112
+ },
113
+ async complete(request, auth) {
114
+ const model = await resolveCopilotModel(auth, request.model);
115
+ if (isAnthropicModel(model)) {
116
+ return withCopilotApiToken(auth, async (token, baseUrl) => {
117
+ const headers = {
118
+ "content-type": "application/json",
119
+ authorization: `Bearer ${token}`,
120
+ "anthropic-version": "2023-06-01",
121
+ ...copilotHeaders(request.messages),
122
+ };
123
+ return executeAnthropicComplete({ ...request, provider: "copilot", model }, { apiKey: token, baseUrl: `${baseUrl}/v1` }, headers);
124
+ });
125
+ }
126
+ return withCopilotApiToken(auth, async (token, baseUrl) => {
127
+ const isGpt = /(?:^|[./-])(?:gpt|o\d)(?:[./-]|$)/i.test(model);
128
+ const payload = await openAiCompatibleComplete({
129
+ provider: GITHUB_COPILOT_DISPLAY_NAME,
130
+ providerId: "copilot",
131
+ baseUrl,
132
+ apiKey: token,
133
+ model,
134
+ messages: request.messages,
135
+ maxTokens: isGpt ? undefined : request.maxTokens,
136
+ temperature: request.temperature,
137
+ headers: copilotHeaders(request.messages),
138
+ signal: request.signal,
139
+ reasoning: request.thinking,
140
+ reasoningStyle: "openai",
141
+ tools: request.tools,
142
+ toolChoice: request.toolChoice,
143
+ parallelToolCalls: request.parallelToolCalls,
144
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
145
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
146
+ });
147
+ return toCompletionResult("copilot", model, payload);
148
+ });
149
+ },
150
+ async stream(request, auth, onToken) {
151
+ const model = await resolveCopilotModel(auth, request.model);
152
+ if (isAnthropicModel(model)) {
153
+ return withCopilotApiToken(auth, async (token, baseUrl) => {
154
+ const headers = {
155
+ "content-type": "application/json",
156
+ authorization: `Bearer ${token}`,
157
+ "anthropic-version": "2023-06-01",
158
+ ...copilotHeaders(request.messages),
159
+ };
160
+ return executeAnthropicStream({ ...request, provider: "copilot", model }, { apiKey: token, baseUrl: `${baseUrl}/v1` }, onToken, headers);
161
+ });
162
+ }
163
+ return withCopilotApiToken(auth, async (token, baseUrl) => {
164
+ const isGpt = /(?:^|[./-])(?:gpt|o\d)(?:[./-]|$)/i.test(model);
165
+ const payload = await openAiCompatibleStream({
166
+ provider: GITHUB_COPILOT_DISPLAY_NAME,
167
+ providerId: "copilot",
168
+ baseUrl,
169
+ apiKey: token,
170
+ model,
171
+ messages: request.messages,
172
+ maxTokens: isGpt ? undefined : request.maxTokens,
173
+ temperature: request.temperature,
174
+ headers: copilotHeaders(request.messages),
175
+ signal: request.signal,
176
+ onToken,
177
+ onToolCallDelta: request.onToolCallDelta,
178
+ onStreamEvent: request.onStreamEvent,
179
+ reasoning: request.thinking,
180
+ reasoningStyle: "openai",
181
+ tools: request.tools,
182
+ toolChoice: request.toolChoice,
183
+ parallelToolCalls: request.parallelToolCalls,
184
+ reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
185
+ ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
186
+ });
187
+ return toCompletionResult("copilot", model, payload);
188
+ });
189
+ },
190
+ };
191
+ async function resolveCopilotModel(auth, requestedModel) {
192
+ let available = [];
193
+ try {
194
+ available = await copilotProvider.listModels(auth);
195
+ }
196
+ catch {
197
+ available = cachedModels ?? [...copilotFallbackModels];
198
+ }
199
+ if (!available.length) {
200
+ return requestedModel ?? defaultModels.copilot;
201
+ }
202
+ if (requestedModel && available.includes(requestedModel)) {
203
+ return requestedModel;
204
+ }
205
+ if (requestedModel) {
206
+ const normalized = requestedModel.trim().toLowerCase();
207
+ const match = available.find((m) => m.trim().toLowerCase() === normalized);
208
+ if (match)
209
+ return match;
210
+ }
211
+ const preferred = [
212
+ "gpt-4o-mini",
213
+ "gpt-4.1-mini",
214
+ "gpt-4o",
215
+ "gpt-4.1",
216
+ "claude-3.5-sonnet",
217
+ "claude-sonnet-4.5",
218
+ ];
219
+ for (const candidate of preferred) {
220
+ if (available.includes(candidate)) {
221
+ return candidate;
222
+ }
223
+ }
224
+ return available[0] ?? defaultModels.copilot;
225
+ }
226
+ //# sourceMappingURL=copilot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../src/llm/copilot.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ function responsesConfig(def, baseUrl) {
73
73
  export function buildCustomProvider(def) {
74
74
  const providerId = def.id;
75
75
  const modelCache = new Map();
76
- const CACHE_TTL_MS = 60 * 60 * 1000;
76
+ const CACHE_TTL_MS = 30 * 60 * 1000;
77
77
  const keyless = def.profile?.authType === "none-keyless" ||
78
78
  def.profile?.authType === "custom-headers";
79
79
  const declaredStreamOptions = def.profile?.streamOptions;
@@ -3,7 +3,7 @@ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream,
3
3
  const baseUrl = "https://api.deepseek.com";
4
4
  let cachedModels = null;
5
5
  let lastFetchTime = 0;
6
- const CACHE_TTL_MS = 60 * 60 * 1000;
6
+ const CACHE_TTL_MS = 30 * 60 * 1000;
7
7
  export const deepseekProvider = {
8
8
  id: "deepseek",
9
9
  reasoningStyle: "openai",
@@ -155,7 +155,7 @@ export function explabsCatalogIndex(rows) {
155
155
  }
156
156
  let cachedModels = null;
157
157
  let lastFetchTime = 0;
158
- const CACHE_TTL_MS = 60 * 60 * 1000;
158
+ const CACHE_TTL_MS = 30 * 60 * 1000;
159
159
  export function resetExplabsCatalogCache() {
160
160
  cachedModels = null;
161
161
  lastFetchTime = 0;
@@ -12,7 +12,7 @@ export const fireworksFallbackModels = [
12
12
  ];
13
13
  let cachedModels = null;
14
14
  let lastFetchTime = 0;
15
- const CACHE_TTL_MS = 60 * 60 * 1000;
15
+ const CACHE_TTL_MS = 30 * 60 * 1000;
16
16
  export const fireworksProvider = {
17
17
  id: "fireworks",
18
18
  reasoningStyle: "openai",
@@ -1,6 +1,7 @@
1
1
  import { defaultModels } from "./provider.js";
2
2
  import { freeProvider } from "./free.js";
3
3
  const CATALOG_TIMEOUT_MS = 2_500;
4
+ const DEFAULT_PICK_TTL_MS = 30 * 60 * 1000;
4
5
  function withTimeout(work, timeoutMs) {
5
6
  return new Promise((resolve) => {
6
7
  const timer = setTimeout(() => resolve(undefined), timeoutMs);
@@ -28,14 +29,18 @@ export function resetFreeDefaultModelCache() {
28
29
  cachedPick = undefined;
29
30
  }
30
31
  export async function resolveFreeDefaultModel(deps = {}) {
31
- if (cachedPick !== undefined && deps.listModels === undefined)
32
- return cachedPick;
32
+ if (cachedPick !== undefined &&
33
+ deps.listModels === undefined &&
34
+ Date.now() - cachedPick.pickedAt < DEFAULT_PICK_TTL_MS) {
35
+ return cachedPick.value;
36
+ }
33
37
  const list = deps.listModels ??
34
38
  (() => freeProvider.listModels?.({ apiKey: undefined }) ?? Promise.resolve([]));
35
39
  const catalog = await withTimeout(Promise.resolve().then(() => list()), deps.timeoutMs ?? CATALOG_TIMEOUT_MS);
36
40
  const picked = pickFreeModel(catalog ?? []);
37
- if (deps.listModels === undefined)
38
- cachedPick = picked;
41
+ if (deps.listModels === undefined) {
42
+ cachedPick = { value: picked, pickedAt: Date.now() };
43
+ }
39
44
  return picked;
40
45
  }
41
46
  //# sourceMappingURL=free-default-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"free-default-model.js","sourceRoot":"","sources":["../../src/llm/free-default-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAOjC,SAAS,WAAW,CAClB,IAAuB,EACvB,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,GAAG,EAAE;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACnE,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,CACnB,CAAC;AACJ,CAAC;AAED,IAAI,UAA8B,CAAC;AAEnC,MAAM,UAAU,0BAA0B;IACxC,UAAU,GAAG,SAAS,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAA6B,EAAE;IAE/B,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IACjF,MAAM,IAAI,GACR,IAAI,CAAC,UAAU;QACf,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EACpC,IAAI,CAAC,SAAS,IAAI,kBAAkB,CACrC,CAAC;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;QAAE,UAAU,GAAG,MAAM,CAAC;IACvD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"free-default-model.js","sourceRoot":"","sources":["../../src/llm/free-default-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAO3C,SAAS,WAAW,CAClB,IAAuB,EACvB,SAAiB;IAEjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CACP,CAAC,KAAK,EAAE,EAAE;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,GAAG,EAAE;YACH,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,SAAS,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACnD,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC;IACnE,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,CACnB,CAAC;AACJ,CAAC;AAED,IAAI,UAA2D,CAAC;AAEhE,MAAM,UAAU,0BAA0B;IACxC,UAAU,GAAG,SAAS,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAA6B,EAAE;IAE/B,IACE,UAAU,KAAK,SAAS;QACxB,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,GAAG,mBAAmB,EACtD,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,MAAM,IAAI,GACR,IAAI,CAAC,UAAU;QACf,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EACpC,IAAI,CAAC,SAAS,IAAI,kBAAkB,CACrC,CAAC;IACF,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -5,6 +5,7 @@ interface FreeSource {
5
5
  baseUrl: string;
6
6
  curated: readonly string[];
7
7
  responsesApi: boolean;
8
+ requiredTools?: boolean;
8
9
  requestHeaders(apiKey?: string): Record<string, string>;
9
10
  catalogFreeIds(payload: unknown): string[];
10
11
  keylessId(id: string): boolean;
package/dist/llm/free.js CHANGED
@@ -13,17 +13,12 @@ const CURATED_ZEN_MODELS = [
13
13
  "deepseek-v4-flash-free",
14
14
  "big-pickle",
15
15
  "mimo-v2.5-free",
16
- "hy3-free",
17
16
  "nemotron-3-ultra-free",
18
- "north-mini-code-free",
19
17
  ];
20
18
  const CURATED_KILO_MODELS = [
21
19
  "kilo-auto/free",
22
- "deepseek/deepseek-v4-flash-0731:free",
23
20
  "stepfun/step-3.7-flash:free",
24
21
  "poolside/laguna-s-2.1:free",
25
- "tencent/hy3:free",
26
- "inclusionai/ling-3.0-tiny:free",
27
22
  "poolside/laguna-xs-2.1:free",
28
23
  "cohere/north-mini-code:free",
29
24
  "nvidia/nemotron-3.5-content-safety:free",
@@ -106,6 +101,7 @@ const zenSource = {
106
101
  baseUrl: ZEN_BASE_URL,
107
102
  curated: CURATED_ZEN_MODELS,
108
103
  responsesApi: false,
104
+ requiredTools: true,
109
105
  requestHeaders: zenClientHeaders,
110
106
  catalogFreeIds(payload) {
111
107
  return ingestModelCatalogEntries("free", catalogEntries(payload)).filter((id) => /free/i.test(id));
@@ -164,13 +160,11 @@ export function isKeylessModel(model) {
164
160
  function assertModelAllowed(model, apiKey) {
165
161
  if (apiKey || isKeylessModel(model))
166
162
  return;
167
- const { source } = resolveFreeSource(model);
168
- throw new ProviderError(`Free (${source.name}): model "${model}" is premium and requires an API key (402). ` +
163
+ throw new ProviderError(`Free (model=${model}): this model is premium and requires an API key (402). ` +
169
164
  `Pick a free model from /model (free-1/… or free-2/… ids) or set a key with: clai set free <key>`, 402);
170
165
  }
171
- const RESPONSES_DIALECT_PATTERN = /muse-spark/i;
172
166
  function usesResponsesDialect(source, model) {
173
- return source.id === "free-1" && RESPONSES_DIALECT_PATTERN.test(model);
167
+ return source.id === "free-1" && /muse-spark/i.test(model);
174
168
  }
175
169
  function zenResponsesHeaders(auth, accept) {
176
170
  return {
@@ -179,7 +173,7 @@ function zenResponsesHeaders(auth, accept) {
179
173
  ...zenClientHeaders(auth.apiKey),
180
174
  };
181
175
  }
182
- function ensureZenRequiredTools(request) {
176
+ function ensureRequiredTools(request, dialect) {
183
177
  const existingTools = request.tools ?? [];
184
178
  const hasRead = existingTools.some((t) => t.name === "read" || t.wireName === "read");
185
179
  const hasShell = existingTools.some((t) => t.name === "shell" || t.wireName === "shell");
@@ -203,8 +197,16 @@ function ensureZenRequiredTools(request) {
203
197
  });
204
198
  }
205
199
  }
206
- const toolChoice = request.toolChoice === "auto" ? "auto" : undefined;
207
200
  const suppressTools = !request.tools?.length || request.toolChoice === "none";
201
+ if (dialect === "chat") {
202
+ return {
203
+ ...request,
204
+ tools,
205
+ toolChoice: suppressTools ? undefined : (request.toolChoice ?? "auto"),
206
+ ...(suppressTools ? { onToolCallDelta: undefined } : {}),
207
+ };
208
+ }
209
+ const toolChoice = request.toolChoice === "auto" ? "auto" : undefined;
208
210
  return {
209
211
  ...request,
210
212
  tools,
@@ -221,7 +223,7 @@ function zenReasoningPayload(reasoning) {
221
223
  const ZEN_RESPONSES_CONFIG = {
222
224
  baseUrl: ZEN_BASE_URL,
223
225
  providerId: "free",
224
- displayName: "Free (opencode zen)",
226
+ displayName: "Free",
225
227
  artifactDialect: "openai-compatible",
226
228
  terminalPolicy: META_STREAM_TERMINAL,
227
229
  buildHeaders: zenResponsesHeaders,
@@ -232,7 +234,7 @@ const ZEN_RESPONSES_CONFIG = {
232
234
  }),
233
235
  };
234
236
  const modelCache = new Map();
235
- const CACHE_TTL_MS = 60 * 60 * 1000;
237
+ const CACHE_TTL_MS = 30 * 60 * 1000;
236
238
  async function listSourceModels(source, key) {
237
239
  const cacheKey = `${source.id}:${key}`;
238
240
  const now = Date.now();
@@ -258,7 +260,7 @@ async function listSourceModels(source, key) {
258
260
  export const freeProvider = {
259
261
  id: "free",
260
262
  reasoningStyle: "openai",
261
- displayName: "Free (zen + kilo)",
263
+ displayName: "Free",
262
264
  defaultModel: defaultModels.free,
263
265
  envVar: "FREE_API_KEY",
264
266
  validateKey: (key) => key.trim().length >= 8,
@@ -286,12 +288,15 @@ export const freeProvider = {
286
288
  assertModelAllowed(requested, apiKey);
287
289
  const { source, model } = resolveFreeSource(requested);
288
290
  if (usesResponsesDialect(source, model)) {
289
- const zenRequest = ensureZenRequiredTools(request);
291
+ const zenRequest = ensureRequiredTools(request, "responses");
290
292
  const result = await responsesStream(ZEN_RESPONSES_CONFIG, zenRequest, auth, () => undefined, model);
291
293
  const suppressTools = !request.tools?.length || request.toolChoice === "none";
292
294
  const toolCalls = suppressTools ? undefined : result.toolCalls;
293
295
  return { ...result, model: requested, toolCalls };
294
296
  }
297
+ const effective = source.requiredTools
298
+ ? ensureRequiredTools(request, "chat")
299
+ : request;
295
300
  const payload = await openAiCompatibleComplete({
296
301
  responsesFirst: source.responsesApi,
297
302
  headers: source.requestHeaders(apiKey),
@@ -300,15 +305,15 @@ export const freeProvider = {
300
305
  baseUrl: source.baseUrl,
301
306
  apiKey,
302
307
  model,
303
- messages: request.messages,
304
- maxTokens: request.maxTokens,
305
- temperature: request.temperature,
306
- signal: request.signal,
307
- reasoning: request.thinking,
308
+ messages: effective.messages,
309
+ maxTokens: effective.maxTokens,
310
+ temperature: effective.temperature,
311
+ signal: effective.signal,
312
+ reasoning: effective.thinking,
308
313
  reasoningStyle: FREE_REASONING_STYLE,
309
- tools: request.tools,
310
- toolChoice: request.toolChoice,
311
- parallelToolCalls: request.parallelToolCalls,
314
+ tools: effective.tools,
315
+ toolChoice: effective.toolChoice,
316
+ parallelToolCalls: effective.parallelToolCalls,
312
317
  reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
313
318
  ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
314
319
  });
@@ -327,13 +332,16 @@ export const freeProvider = {
327
332
  assertModelAllowed(requested, apiKey);
328
333
  const { source, model } = resolveFreeSource(requested);
329
334
  if (usesResponsesDialect(source, model)) {
330
- const zenRequest = ensureZenRequiredTools(request);
335
+ const zenRequest = ensureRequiredTools(request, "responses");
331
336
  const result = await responsesStream(ZEN_RESPONSES_CONFIG, zenRequest, auth, onToken, model);
332
337
  const suppressTools = !request.tools?.length || request.toolChoice === "none";
333
338
  const toolCalls = suppressTools ? undefined : result.toolCalls;
334
339
  return { ...result, model: requested, toolCalls };
335
340
  }
336
- const budgets = streamIdleBudgets(Boolean(request.thinking?.enabled));
341
+ const effective = source.requiredTools
342
+ ? ensureRequiredTools(request, "chat")
343
+ : request;
344
+ const budgets = streamIdleBudgets(Boolean(effective.thinking?.enabled));
337
345
  const payload = await openAiCompatibleStream({
338
346
  responsesFirst: source.responsesApi,
339
347
  headers: source.requestHeaders(apiKey),
@@ -342,23 +350,23 @@ export const freeProvider = {
342
350
  baseUrl: source.baseUrl,
343
351
  apiKey,
344
352
  model,
345
- messages: request.messages,
346
- maxTokens: request.maxTokens,
347
- temperature: request.temperature,
348
- signal: request.signal,
353
+ messages: effective.messages,
354
+ maxTokens: effective.maxTokens,
355
+ temperature: effective.temperature,
356
+ signal: effective.signal,
349
357
  onToken,
350
- onToolCallDelta: request.onToolCallDelta,
351
- onStreamEvent: request.onStreamEvent,
352
- reasoning: request.thinking,
358
+ onToolCallDelta: effective.onToolCallDelta,
359
+ onStreamEvent: effective.onStreamEvent,
360
+ reasoning: effective.thinking,
353
361
  reasoningStyle: FREE_REASONING_STYLE,
354
362
  idleTimeoutMs: budgets.idleTimeoutMs,
355
- initialIdleTimeoutMs: request.thinking?.enabled
363
+ initialIdleTimeoutMs: effective.thinking?.enabled
356
364
  ? THINKING_STREAM_INITIAL_IDLE_TIMEOUT_MS
357
365
  : 60_000,
358
366
  outputIdleTimeoutMs: budgets.outputIdleTimeoutMs,
359
- tools: request.tools,
360
- toolChoice: request.toolChoice,
361
- parallelToolCalls: request.parallelToolCalls,
367
+ tools: effective.tools,
368
+ toolChoice: effective.toolChoice,
369
+ parallelToolCalls: effective.parallelToolCalls,
362
370
  reasoningArtifactReplayObserver: request.onReasoningArtifactReplayDecision,
363
371
  ...(request.forceReasoningReplay ? { forceReasoningReplay: true } : {}),
364
372
  });
@@ -1 +1 @@
1
- {"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/llm/free.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"free.js","sourceRoot":"","sources":["../../src/llm/free.ts"],"names":[],"mappings":"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"}
package/dist/llm/glm.js CHANGED
@@ -3,7 +3,7 @@ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream,
3
3
  const baseUrl = "https://api.z.ai/api/paas/v4";
4
4
  let cachedModels = null;
5
5
  let lastFetchTime = 0;
6
- const CACHE_TTL_MS = 60 * 60 * 1000;
6
+ const CACHE_TTL_MS = 30 * 60 * 1000;
7
7
  export const glmProvider = {
8
8
  id: "glm",
9
9
  reasoningStyle: "openai",
@@ -7,7 +7,7 @@ export const hetznerFallbackModels = [
7
7
  ];
8
8
  let cachedModels = null;
9
9
  let lastFetchTime = 0;
10
- const CACHE_TTL_MS = 60 * 60 * 1000;
10
+ const CACHE_TTL_MS = 30 * 60 * 1000;
11
11
  export const hetznerProvider = {
12
12
  id: "hetzner",
13
13
  reasoningStyle: "stepfun",
@@ -2,7 +2,7 @@ import { mentionsQuotaExhaustion } from "./quota-signals.js";
2
2
  export const MAX_PROVIDER_KEYS = 10;
3
3
  export const MULTI_KEY_ATTEMPTS = 2;
4
4
  export const RATE_LIMIT_RETRY_WAIT_MS = [
5
- 5_000, 10_000, 15_000, 20_000,
5
+ 5_000, 8_000, 10_000, 15_000,
6
6
  ];
7
7
  export function rateLimitRetryWaitMs(attempt, maxMs = Number.POSITIVE_INFINITY) {
8
8
  const index = Math.min(Math.max(0, attempt), RATE_LIMIT_RETRY_WAIT_MS.length - 1);