@pentoshi/clai 4.11.17 → 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 (94) hide show
  1. package/dist/commands/providers.js +8 -0
  2. package/dist/commands/providers.js.map +1 -1
  3. package/dist/llm/anthropic.js +29 -1
  4. package/dist/llm/anthropic.js.map +1 -1
  5. package/dist/llm/capabilities.d.ts +1 -0
  6. package/dist/llm/capabilities.js +1 -0
  7. package/dist/llm/capabilities.js.map +1 -1
  8. package/dist/llm/capability/state.d.ts +1 -1
  9. package/dist/llm/capability/state.js +16 -2
  10. package/dist/llm/capability/state.js.map +1 -1
  11. package/dist/llm/capability/tool-dialect.js +4 -0
  12. package/dist/llm/capability/tool-dialect.js.map +1 -1
  13. package/dist/llm/capability/vision-patterns.d.ts +1 -0
  14. package/dist/llm/capability/vision-patterns.js +31 -1
  15. package/dist/llm/capability/vision-patterns.js.map +1 -1
  16. package/dist/llm/capability/vision-registry.js +8 -2
  17. package/dist/llm/capability/vision-registry.js.map +1 -1
  18. package/dist/llm/context-windows.js +1 -0
  19. package/dist/llm/context-windows.js.map +1 -1
  20. package/dist/llm/deepseek.d.ts +2 -0
  21. package/dist/llm/deepseek.js +91 -0
  22. package/dist/llm/deepseek.js.map +1 -0
  23. package/dist/llm/glm.d.ts +2 -0
  24. package/dist/llm/glm.js +91 -0
  25. package/dist/llm/glm.js.map +1 -0
  26. package/dist/llm/kimi.d.ts +2 -0
  27. package/dist/llm/kimi.js +91 -0
  28. package/dist/llm/kimi.js.map +1 -0
  29. package/dist/llm/minimax.d.ts +2 -0
  30. package/dist/llm/minimax.js +91 -0
  31. package/dist/llm/minimax.js.map +1 -0
  32. package/dist/llm/model-layers/model-rules.js +24 -0
  33. package/dist/llm/model-layers/model-rules.js.map +1 -1
  34. package/dist/llm/ollama.js +26 -1
  35. package/dist/llm/ollama.js.map +1 -1
  36. package/dist/llm/provider-identity.js +25 -0
  37. package/dist/llm/provider-identity.js.map +1 -1
  38. package/dist/llm/provider-info-text.js +118 -0
  39. package/dist/llm/provider-info-text.js.map +1 -1
  40. package/dist/llm/provider-profile-layers.js +118 -0
  41. package/dist/llm/provider-profile-layers.js.map +1 -1
  42. package/dist/llm/provider.js +14 -2
  43. package/dist/llm/provider.js.map +1 -1
  44. package/dist/llm/reasoning-capability.js +4 -0
  45. package/dist/llm/reasoning-capability.js.map +1 -1
  46. package/dist/llm/responses-config.d.ts +1 -0
  47. package/dist/llm/responses-config.js +6 -0
  48. package/dist/llm/responses-config.js.map +1 -1
  49. package/dist/llm/responses-http.d.ts +1 -1
  50. package/dist/llm/responses-http.js +2 -1
  51. package/dist/llm/responses-http.js.map +1 -1
  52. package/dist/llm/responses-stream.d.ts +2 -2
  53. package/dist/llm/responses-stream.js +3 -2
  54. package/dist/llm/responses-stream.js.map +1 -1
  55. package/dist/llm/routing/attempt-complete.js +4 -2
  56. package/dist/llm/routing/attempt-complete.js.map +1 -1
  57. package/dist/llm/routing/attempt-request.js +5 -3
  58. package/dist/llm/routing/attempt-request.js.map +1 -1
  59. package/dist/llm/routing/attempt-stream.js +4 -2
  60. package/dist/llm/routing/attempt-stream.js.map +1 -1
  61. package/dist/llm/routing/provider-selection.js +12 -0
  62. package/dist/llm/routing/provider-selection.js.map +1 -1
  63. package/dist/llm/wire/image-payloads.d.ts +2 -0
  64. package/dist/llm/wire/image-payloads.js +34 -0
  65. package/dist/llm/wire/image-payloads.js.map +1 -0
  66. package/dist/llm/wire/openai-complete.d.ts +1 -0
  67. package/dist/llm/wire/openai-complete.js +4 -1
  68. package/dist/llm/wire/openai-complete.js.map +1 -1
  69. package/dist/llm/wire/openai-stream.d.ts +1 -0
  70. package/dist/llm/wire/openai-stream.js +4 -1
  71. package/dist/llm/wire/openai-stream.js.map +1 -1
  72. package/dist/llm/wire/responses-first.d.ts +1 -0
  73. package/dist/llm/wire/responses-first.js +3 -0
  74. package/dist/llm/wire/responses-first.js.map +1 -1
  75. package/dist/store/config.js +4 -0
  76. package/dist/store/config.js.map +1 -1
  77. package/dist/store/keys.js +8 -1
  78. package/dist/store/keys.js.map +1 -1
  79. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +1 -0
  80. package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
  81. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  82. package/dist/tui-v2/bootstrap/shrink-resize-guard.d.ts +27 -0
  83. package/dist/tui-v2/bootstrap/shrink-resize-guard.js +118 -0
  84. package/dist/tui-v2/bootstrap/shrink-resize-guard.js.map +1 -0
  85. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  86. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  87. package/dist/types.d.ts +1 -1
  88. package/dist/types.js +4 -0
  89. package/dist/types.js.map +1 -1
  90. package/dist/ui-core/commands/picker-commands.js +7 -3
  91. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  92. package/dist/version.generated.d.ts +2 -2
  93. package/dist/version.generated.js +2 -2
  94. package/package.json +1 -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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"}
@@ -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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"}
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { defaultModels, } from "./provider.js";
2
- import { imageCapableMessages, readJson, readStreamLines, streamIdleBudgets, } from "./http.js";
2
+ import { imageCapableMessages, ingestOpenAiModelCatalog, readJson, readStreamLines, streamIdleBudgets, } from "./http.js";
3
3
  import { generationFetch } from "./operation-usage.js";
4
4
  import { parseOllamaToolCalls, toOllamaToolMessages, toOllamaTools, } from "./adapters/ollama-tools.js";
5
5
  import { modelContextWindow, parseOllamaUsage } from "./token-usage.js";
@@ -55,12 +55,37 @@ function ollamaChatBody(request, auth, stream) {
55
55
  }
56
56
  return { model, body };
57
57
  }
58
+ let cachedOllamaModels = null;
59
+ let cachedOllamaBase = "";
60
+ let lastOllamaFetchTime = 0;
61
+ const OLLAMA_CACHE_TTL_MS = 60 * 1000;
58
62
  export const ollamaProvider = {
59
63
  id: "ollama",
60
64
  displayName: "Ollama",
61
65
  defaultModel: defaultModels.ollama,
62
66
  envVar: "OLLAMA_HOST",
63
67
  validateKey: (key) => /^https?:\/\/.+/.test(key),
68
+ async listModels(auth) {
69
+ const endpoint = base(auth);
70
+ const now = Date.now();
71
+ if (cachedOllamaModels &&
72
+ cachedOllamaBase === endpoint &&
73
+ now - lastOllamaFetchTime < OLLAMA_CACHE_TTL_MS) {
74
+ return cachedOllamaModels;
75
+ }
76
+ const response = await fetch(`${endpoint}/api/tags`);
77
+ if (!response.ok) {
78
+ throw new Error(`Failed to list Ollama models: HTTP ${response.status}`);
79
+ }
80
+ const data = await readJson(response);
81
+ const models = ingestOpenAiModelCatalog("ollama", data);
82
+ if (models.length > 0) {
83
+ cachedOllamaModels = models;
84
+ cachedOllamaBase = endpoint;
85
+ lastOllamaFetchTime = now;
86
+ }
87
+ return models;
88
+ },
64
89
  async ping(auth) {
65
90
  const response = await fetch(`${base(auth)}/api/tags`);
66
91
  await readJson(response);
@@ -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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"}
@@ -65,6 +65,23 @@ export const providerAliases = {
65
65
  "ai-gateway": "vercel",
66
66
  "vercel-ai-gateway": "vercel",
67
67
  gateway: "vercel",
68
+ deepseek: "deepseek",
69
+ "deepseek-ai": "deepseek",
70
+ "deep-seek": "deepseek",
71
+ kimi: "kimi",
72
+ moonshot: "kimi",
73
+ moonshotai: "kimi",
74
+ "moonshot-ai": "kimi",
75
+ glm: "glm",
76
+ zhipu: "glm",
77
+ zhipuai: "glm",
78
+ "zhipu-ai": "glm",
79
+ "z.ai": "glm",
80
+ zai: "glm",
81
+ bigmodel: "glm",
82
+ minimax: "minimax",
83
+ minimaxi: "minimax",
84
+ "minimax-ai": "minimax",
68
85
  };
69
86
  export const defaultModels = {
70
87
  free: "free-2/kilo-auto/free",
@@ -88,6 +105,10 @@ export const defaultModels = {
88
105
  "merge-gateway": "openai/gpt-5.2",
89
106
  explabs: "claude-fable-5.1",
90
107
  vercel: "openai/gpt-5.4-mini",
108
+ deepseek: "deepseek-chat",
109
+ kimi: "kimi-k3",
110
+ glm: "glm-4-plus",
111
+ minimax: "MiniMax-Text-01",
91
112
  };
92
113
  export const retiredModelReplacements = {
93
114
  gemini: {
@@ -139,5 +160,9 @@ export const envVars = {
139
160
  "merge-gateway": "MERGE_GATEWAY_API_KEY",
140
161
  explabs: "EXPLABS_API_KEY",
141
162
  vercel: "AI_GATEWAY_API_KEY",
163
+ deepseek: "DEEPSEEK_API_KEY",
164
+ kimi: "KIMI_API_KEY",
165
+ glm: "GLM_API_KEY",
166
+ minimax: "MINIMAX_API_KEY",
142
167
  };
143
168
  //# sourceMappingURL=provider-identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-identity.js","sourceRoot":"","sources":["../../src/llm/provider-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-identity.js","sourceRoot":"","sources":["../../src/llm/provider-identity.ts"],"names":[],"mappings":"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"}