tarsk 0.2.5 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -7
- package/dist/index.d.ts +3 -0
- package/dist/index.js +92 -32
- package/dist/lib/response-builder.d.ts +50 -0
- package/dist/lib/response-builder.js +56 -0
- package/dist/lib/stream-helper.d.ts +39 -0
- package/dist/lib/stream-helper.js +43 -0
- package/dist/managers/ConversationManager.d.ts +83 -0
- package/dist/managers/ConversationManager.js +129 -0
- package/dist/managers/GitManager.d.ts +133 -0
- package/dist/managers/GitManager.js +330 -0
- package/dist/managers/MetadataManager.d.ts +139 -0
- package/dist/managers/MetadataManager.js +309 -0
- package/dist/managers/ModelManager.d.ts +57 -0
- package/dist/managers/ModelManager.js +129 -0
- package/dist/managers/NeovateExecutor.d.ts +40 -0
- package/dist/managers/NeovateExecutor.js +138 -0
- package/dist/managers/ProjectManager.d.ts +162 -0
- package/dist/managers/ProjectManager.js +353 -0
- package/dist/managers/ThreadManager.d.ts +181 -0
- package/dist/managers/ThreadManager.js +325 -0
- package/dist/managers/conversation-manager.d.ts +83 -0
- package/dist/managers/conversation-manager.js +129 -0
- package/dist/managers/git-manager.d.ts +133 -0
- package/dist/managers/git-manager.js +330 -0
- package/dist/managers/metadata-manager.d.ts +139 -0
- package/dist/managers/metadata-manager.js +305 -0
- package/dist/managers/model-manager.d.ts +59 -0
- package/dist/managers/model-manager.js +144 -0
- package/dist/managers/neovate-executor.d.ts +43 -0
- package/dist/managers/neovate-executor.js +205 -0
- package/dist/managers/processing-state-manager.d.ts +40 -0
- package/dist/managers/processing-state-manager.js +27 -0
- package/dist/managers/project-manager.d.ts +199 -0
- package/dist/managers/project-manager.js +465 -0
- package/dist/managers/thread-manager.d.ts +193 -0
- package/dist/managers/thread-manager.js +368 -0
- package/dist/model-info-aihubmix.d.ts +25 -0
- package/dist/model-info-aihubmix.js +117 -0
- package/dist/model-info-openai.d.ts +17 -0
- package/dist/model-info-openai.js +59 -0
- package/dist/model-info-openrouter.d.ts +25 -0
- package/dist/model-info-openrouter.js +101 -0
- package/dist/model-info.d.ts +37 -0
- package/dist/model-info.js +39 -0
- package/dist/provider-data.d.ts +101 -0
- package/dist/provider-data.js +471 -0
- package/dist/provider.d.ts +10 -0
- package/dist/provider.js +192 -0
- package/dist/public/android-chrome-192x192.png +0 -0
- package/dist/public/android-chrome-512x512.png +0 -0
- package/dist/public/apple-touch-icon.png +0 -0
- package/dist/public/assets/index-B443aj9k.js +8506 -0
- package/dist/public/assets/index-CjXGVbI7.css +1 -0
- package/dist/public/assets/index-DJC-p914.js +8506 -0
- package/dist/public/favicon-16x16.png +0 -0
- package/dist/public/favicon-32x32.png +0 -0
- package/dist/public/favicon.ico +0 -0
- package/dist/public/index.html +28 -0
- package/dist/public/manifest.json +82 -0
- package/dist/public/placeholder-logo.svg +1 -0
- package/dist/public/placeholder.svg +1 -0
- package/dist/public/snpro.woff2 +0 -0
- package/dist/public/tarsk-color.svg +12 -0
- package/dist/public/tarsk.png +0 -0
- package/dist/public/tarsk.svg +12 -0
- package/dist/public/zalando-sans.woff2 +0 -0
- package/dist/routes/chat-old.d.ts +21 -0
- package/dist/routes/chat-old.js +251 -0
- package/dist/routes/chat.d.ts +21 -0
- package/dist/routes/chat.js +217 -0
- package/dist/routes/git.d.ts +4 -0
- package/dist/routes/git.js +668 -0
- package/dist/routes/models.d.ts +18 -0
- package/dist/routes/models.js +128 -0
- package/dist/routes/projects-old.d.ts +20 -0
- package/dist/routes/projects-old.js +297 -0
- package/dist/routes/projects.d.ts +20 -0
- package/dist/routes/projects.js +365 -0
- package/dist/routes/providers.d.ts +15 -0
- package/dist/routes/providers.js +130 -0
- package/dist/routes/threads-old.d.ts +14 -0
- package/dist/routes/threads-old.js +393 -0
- package/dist/routes/threads.d.ts +14 -0
- package/dist/routes/threads.js +352 -0
- package/dist/types/models.d.ts +315 -0
- package/dist/types/models.js +11 -0
- package/dist/utils/env-manager.d.ts +3 -0
- package/dist/utils/env-manager.js +60 -0
- package/dist/utils/open-router-models.d.ts +45 -0
- package/dist/utils/open-router-models.js +103 -0
- package/dist/utils/openai-models.d.ts +63 -0
- package/dist/utils/openai-models.js +152 -0
- package/dist/utils/openai-pricing-scraper.d.ts +17 -0
- package/dist/utils/openai-pricing-scraper.js +185 -0
- package/dist/utils/validation.d.ts +10 -0
- package/dist/utils/validation.js +20 -0
- package/dist/utils.d.ts +10 -0
- package/dist/utils.js +12 -0
- package/package.json +36 -22
- package/LICENSE.md +0 -7
- package/dist/agent/agent.js +0 -131
- package/dist/agent/interfaces.js +0 -1
- package/dist/api/encryption.js +0 -41
- package/dist/api/models.js +0 -169
- package/dist/api/prompt.js +0 -12
- package/dist/api/settings.js +0 -43
- package/dist/api/test.js +0 -29
- package/dist/api/tools.js +0 -287
- package/dist/api/utils.js +0 -18
- package/dist/interfaces/meta.js +0 -1
- package/dist/interfaces/model.js +0 -1
- package/dist/interfaces/settings.js +0 -1
- package/dist/log/log.js +0 -33
- package/dist/prompt.js +0 -49
- package/dist/tools.js +0 -84
- package/dist/utils/files.js +0 -14
- package/dist/utils/json-file.js +0 -28
- package/dist/utils/strip-markdown.js +0 -5
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenRouter model info and pricing
|
|
3
|
+
*
|
|
4
|
+
* Fetches model information (name, description, pricing) from the OpenRouter API.
|
|
5
|
+
* OpenRouter API: https://openrouter.ai/docs/api/api-reference/models/get-models
|
|
6
|
+
*/
|
|
7
|
+
const OPENROUTER_MODELS_URL = 'https://openrouter.ai/api/v1/models';
|
|
8
|
+
/** Parse OpenRouter price string (per-token USD) to number */
|
|
9
|
+
function parsePrice(value) {
|
|
10
|
+
if (typeof value === 'number' && !Number.isNaN(value))
|
|
11
|
+
return value;
|
|
12
|
+
if (typeof value === 'string') {
|
|
13
|
+
const n = Number.parseFloat(value);
|
|
14
|
+
return Number.isNaN(n) ? 0 : n;
|
|
15
|
+
}
|
|
16
|
+
return 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Fetch model info and pricing from OpenRouter API
|
|
20
|
+
*
|
|
21
|
+
* @param modelIds - List of model IDs to fetch info for
|
|
22
|
+
* @param apiKey - OpenRouter API key
|
|
23
|
+
* @returns Map of model ID -> ModelInfo (with pricing and metadata)
|
|
24
|
+
*/
|
|
25
|
+
export async function getOpenRouterModelInfo(modelIds, apiKey) {
|
|
26
|
+
const result = new Map();
|
|
27
|
+
const emptyInfo = () => ({});
|
|
28
|
+
try {
|
|
29
|
+
const response = await fetch(OPENROUTER_MODELS_URL, {
|
|
30
|
+
method: 'GET',
|
|
31
|
+
headers: {
|
|
32
|
+
Authorization: `Bearer ${apiKey}`,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (!response.ok) {
|
|
36
|
+
// Pricing unknown when API call fails; still return entries for all IDs
|
|
37
|
+
for (const id of modelIds) {
|
|
38
|
+
result.set(id, emptyInfo());
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
const body = (await response.json());
|
|
43
|
+
const models = body.data ?? [];
|
|
44
|
+
const byId = new Map();
|
|
45
|
+
for (const m of models) {
|
|
46
|
+
if (m.id)
|
|
47
|
+
byId.set(m.id, m);
|
|
48
|
+
}
|
|
49
|
+
for (const id of modelIds) {
|
|
50
|
+
const remote = byId.get(id);
|
|
51
|
+
const hasPricing = Boolean(remote?.pricing) &&
|
|
52
|
+
(remote?.pricing?.prompt !== undefined || remote?.pricing?.completion !== undefined);
|
|
53
|
+
const pricing = hasPricing
|
|
54
|
+
? {
|
|
55
|
+
prompt: parsePrice(remote?.pricing?.prompt),
|
|
56
|
+
completion: parsePrice(remote?.pricing?.completion),
|
|
57
|
+
}
|
|
58
|
+
: undefined;
|
|
59
|
+
const hasTools = Array.isArray(remote?.supported_parameters) &&
|
|
60
|
+
remote.supported_parameters.includes('tools');
|
|
61
|
+
result.set(id, {
|
|
62
|
+
pricing,
|
|
63
|
+
name: remote?.name,
|
|
64
|
+
description: remote?.description,
|
|
65
|
+
supportedParameters: hasTools ? { tools: true } : undefined,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error('[OpenRouter Models API] Error fetching models:', error);
|
|
71
|
+
for (const id of modelIds) {
|
|
72
|
+
result.set(id, emptyInfo());
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Fetch account credits/balance for OpenRouter using a user's API key.
|
|
79
|
+
* Returns remaining balance as total_credits - total_usage (OpenRouter returns credits as a numeric unit).
|
|
80
|
+
*/
|
|
81
|
+
export async function getOpenRouterCredits(apiKey) {
|
|
82
|
+
try {
|
|
83
|
+
const response = await fetch('https://openrouter.ai/api/v1/credits', {
|
|
84
|
+
headers: {
|
|
85
|
+
Authorization: `Bearer ${apiKey}`,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
if (!response.ok) {
|
|
89
|
+
return { balance: null, status: 'unknown', reason: `API error: ${response.status}` };
|
|
90
|
+
}
|
|
91
|
+
const data = await response.json();
|
|
92
|
+
const totalCredits = data.data?.total_credits ?? 0;
|
|
93
|
+
const totalUsage = data.data?.total_usage ?? 0;
|
|
94
|
+
const remainingBalance = totalCredits - totalUsage;
|
|
95
|
+
return { balance: data.data ? remainingBalance : null, status: data.data ? 'success' : 'unknown' };
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
return { balance: null, status: 'unknown', reason: String(error) };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=model-info-openrouter.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model info and pricing by provider
|
|
3
|
+
*
|
|
4
|
+
* Fetches model information (name, description, pricing) for the list of
|
|
5
|
+
* supported models. OpenRouter and AIHubMix pricing are loaded from their APIs.
|
|
6
|
+
*
|
|
7
|
+
* OpenRouter API: https://openrouter.ai/docs/api/api-reference/models/get-models
|
|
8
|
+
* AIHubMix API: https://docs.aihubmix.com/api/models
|
|
9
|
+
*/
|
|
10
|
+
export interface ModelInfoPricing {
|
|
11
|
+
/** Cost per token in USD (input/prompt) */
|
|
12
|
+
prompt: number;
|
|
13
|
+
/** Cost per token in USD (output/completion) */
|
|
14
|
+
completion: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ModelInfo {
|
|
17
|
+
/** Pricing is omitted when unknown */
|
|
18
|
+
pricing?: ModelInfoPricing;
|
|
19
|
+
name?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
supportedParameters?: {
|
|
22
|
+
tools?: boolean;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Fetch model info and pricing for a provider.
|
|
27
|
+
* - OpenRouter: calls GET https://openrouter.ai/api/v1/models and maps pricing for supported model IDs (requires apiKey).
|
|
28
|
+
* - AIHubMix: calls GET https://aihubmix.com/api/v1/models and maps pricing for supported model IDs (requires apiKey).
|
|
29
|
+
* - Other providers: returns empty info for each model ID.
|
|
30
|
+
*
|
|
31
|
+
* @param provider - Provider id (e.g. "openrouter", "aihubmix")
|
|
32
|
+
* @param modelIds - List of supported model IDs to return info for
|
|
33
|
+
* @param apiKey - Optional API key; required for OpenRouter and AIHubMix
|
|
34
|
+
* @returns Map of model ID -> ModelInfo (pricing, optional name/description)
|
|
35
|
+
*/
|
|
36
|
+
export declare function getModelInfoForProvider(provider: string, modelIds: string[], apiKey?: string): Promise<Map<string, ModelInfo>>;
|
|
37
|
+
//# sourceMappingURL=model-info.d.ts.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model info and pricing by provider
|
|
3
|
+
*
|
|
4
|
+
* Fetches model information (name, description, pricing) for the list of
|
|
5
|
+
* supported models. OpenRouter and AIHubMix pricing are loaded from their APIs.
|
|
6
|
+
*
|
|
7
|
+
* OpenRouter API: https://openrouter.ai/docs/api/api-reference/models/get-models
|
|
8
|
+
* AIHubMix API: https://docs.aihubmix.com/api/models
|
|
9
|
+
*/
|
|
10
|
+
import { getOpenRouterModelInfo } from './model-info-openrouter.js';
|
|
11
|
+
import { getAIHubMixModelInfo } from './model-info-aihubmix.js';
|
|
12
|
+
/**
|
|
13
|
+
* Fetch model info and pricing for a provider.
|
|
14
|
+
* - OpenRouter: calls GET https://openrouter.ai/api/v1/models and maps pricing for supported model IDs (requires apiKey).
|
|
15
|
+
* - AIHubMix: calls GET https://aihubmix.com/api/v1/models and maps pricing for supported model IDs (requires apiKey).
|
|
16
|
+
* - Other providers: returns empty info for each model ID.
|
|
17
|
+
*
|
|
18
|
+
* @param provider - Provider id (e.g. "openrouter", "aihubmix")
|
|
19
|
+
* @param modelIds - List of supported model IDs to return info for
|
|
20
|
+
* @param apiKey - Optional API key; required for OpenRouter and AIHubMix
|
|
21
|
+
* @returns Map of model ID -> ModelInfo (pricing, optional name/description)
|
|
22
|
+
*/
|
|
23
|
+
export async function getModelInfoForProvider(provider, modelIds, apiKey) {
|
|
24
|
+
const result = new Map();
|
|
25
|
+
const emptyInfo = () => ({});
|
|
26
|
+
const providerLower = provider.toLowerCase();
|
|
27
|
+
if (providerLower === 'openrouter' && apiKey && apiKey.trim().length > 0) {
|
|
28
|
+
return getOpenRouterModelInfo(modelIds, apiKey);
|
|
29
|
+
}
|
|
30
|
+
if (providerLower === 'aihubmix' && apiKey && apiKey.trim().length > 0) {
|
|
31
|
+
return getAIHubMixModelInfo(modelIds, apiKey);
|
|
32
|
+
}
|
|
33
|
+
// Other providers: pricing unknown (to be filled later)
|
|
34
|
+
for (const id of modelIds) {
|
|
35
|
+
result.set(id, emptyInfo());
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=model-info.js.map
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export declare const PROVIDER_DATA: readonly [{
|
|
2
|
+
readonly id: "aihubmix";
|
|
3
|
+
readonly models: readonly ["DeepSeek-R1", "DeepSeek-V3", "claude-3-5-sonnet-20241022", "claude-3-7-sonnet-20250219", "claude-opus-4-1", "claude-opus-4-20250514", "claude-sonnet-4-20250514", "claude-sonnet-4-5", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.5-pro", "glm-4.6", "gpt-4", "gpt-4.1", "gpt-4o", "gpt-5", "gpt-5-mini", "kimi-k2-thinking", "kimi-k2-turbo-preview", "o3-mini", "o4-mini"];
|
|
4
|
+
}, {
|
|
5
|
+
readonly id: "anthropic";
|
|
6
|
+
readonly models: readonly ["claude-3-5-sonnet-20241022", "claude-3-7-sonnet-20250219", "claude-3-7-sonnet-20250219-thinking", "claude-haiku-4-5", "claude-opus-4-1-20250805", "claude-opus-4-20250514", "claude-opus-4-5", "claude-opus-4-6", "claude-sonnet-4-20250514", "claude-sonnet-4-5-20250929"];
|
|
7
|
+
}, {
|
|
8
|
+
readonly id: "canopywave";
|
|
9
|
+
readonly models: readonly ["deepseek/deepseek-chat-v3.2", "minimax/minimax-m2.1", "moonshotai/kimi-k2-thinking", "moonshotai/kimi-k2.5", "openai/gpt-oss-120b", "xiaomimimo/mimo-v2-flash", "zai/glm-4.7"];
|
|
10
|
+
}, {
|
|
11
|
+
readonly id: "cerebras";
|
|
12
|
+
readonly models: readonly ["gpt-oss-120b", "zai-glm-4.7"];
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "codex";
|
|
15
|
+
readonly models: readonly ["gpt-5.1-codex", "gpt-5.1-codex-max", "gpt-5.1-codex-mini", "gpt-5.2", "gpt-5.2-codex", "gpt-5.3-codex"];
|
|
16
|
+
}, {
|
|
17
|
+
readonly id: "deepseek";
|
|
18
|
+
readonly models: readonly ["deepseek-chat", "deepseek-reasoner"];
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: "github-copilot";
|
|
21
|
+
readonly models: readonly ["claude-3.5-sonnet", "claude-3.7-sonnet", "claude-3.7-sonnet-thought", "claude-opus-4", "claude-opus-4-5", "claude-opus-41", "claude-sonnet-4", "claude-sonnet-4.5", "gemini-2.5-pro", "gemini-3-pro-preview", "gpt-4.1", "gpt-4o", "gpt-5", "gpt-5-codex", "gpt-5-mini", "gpt-5.1", "gpt-5.1-codex", "gpt-5.1-codex-mini", "gpt-5.2", "grok-code-fast-1", "o3-mini", "o4-mini"];
|
|
22
|
+
}, {
|
|
23
|
+
readonly id: "google";
|
|
24
|
+
readonly models: readonly ["gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.5-flash-preview-09-2025", "gemini-2.5-pro", "gemini-3-flash-preview", "gemini-3-pro-preview"];
|
|
25
|
+
}, {
|
|
26
|
+
readonly id: "groq";
|
|
27
|
+
readonly models: readonly ["moonshotai/kimi-k2-instruct-0905", "openai/gpt-oss-120b"];
|
|
28
|
+
}, {
|
|
29
|
+
readonly id: "huggingface";
|
|
30
|
+
readonly models: readonly ["Qwen/Qwen3-Coder-480B-A35B-Instruct", "XiaomiMiMo/MiMo-V2-Flash", "moonshotai/Kimi-K2.5", "zai-org/GLM-4.7"];
|
|
31
|
+
}, {
|
|
32
|
+
readonly id: "iflow";
|
|
33
|
+
readonly models: readonly ["deepseek-r1", "deepseek-v3", "deepseek-v3.2", "glm-4.6", "glm-4.7", "kimi-k2", "kimi-k2-0905", "kimi-k2.5", "minimax-m2.1", "qwen3-coder-plus", "qwen3-max"];
|
|
34
|
+
}, {
|
|
35
|
+
readonly id: "kimi-coding-plan";
|
|
36
|
+
readonly models: readonly ["kimi-for-coding"];
|
|
37
|
+
}, {
|
|
38
|
+
readonly id: "minimax";
|
|
39
|
+
readonly models: readonly ["minimax-m2", "minimax-m2.1"];
|
|
40
|
+
}, {
|
|
41
|
+
readonly id: "minimax-cn";
|
|
42
|
+
readonly models: readonly ["minimax-m2", "minimax-m2.1"];
|
|
43
|
+
}, {
|
|
44
|
+
readonly id: "modelscope";
|
|
45
|
+
readonly models: readonly ["Qwen/Qwen3-235B-A22B-Instruct-2507", "Qwen/Qwen3-Coder-480B-A35B-Instruct", "ZhipuAI/GLM-4.5", "ZhipuAI/GLM-4.5V", "ZhipuAI/GLM-4.6", "deepseek-ai/DeepSeek-V3.2", "deepseek-ai/DeepSeek-V3.2-Speciale"];
|
|
46
|
+
}, {
|
|
47
|
+
readonly id: "modelwatch";
|
|
48
|
+
readonly models: readonly ["claude-4-5-sonnet", "claude-haiku-4-5", "claude-opus-4-5", "gemini-2.5-flash", "gemini-3-flash", "gemini-3-pro-preview", "glm-4.7", "gpt-5.1", "gpt-5.1-codex", "gpt-5.1-codex-max", "gpt-5.1-codex-mini", "gpt-5.2", "gpt-5.2-codex", "qwen3-coder-plus"];
|
|
49
|
+
}, {
|
|
50
|
+
readonly id: "moonshotai";
|
|
51
|
+
readonly models: readonly ["kimi-k2-0905-preview", "kimi-k2-thinking", "kimi-k2-thinking-turbo", "kimi-k2-turbo-preview", "kimi-k2.5"];
|
|
52
|
+
}, {
|
|
53
|
+
readonly id: "moonshotai-cn";
|
|
54
|
+
readonly models: readonly ["kimi-k2-0905-preview", "kimi-k2-thinking", "kimi-k2-thinking-turbo", "kimi-k2-turbo-preview", "kimi-k2.5"];
|
|
55
|
+
}, {
|
|
56
|
+
readonly id: "nvidia";
|
|
57
|
+
readonly models: readonly ["minimaxai/minimax-m2.1", "moonshotai/kimi-k2-thinking", "moonshotai/kimi-k2.5", "openai/gpt-oss-120b", "qwen/qwen3-coder-480b-a35b-instruct", "z-ai/glm4.7"];
|
|
58
|
+
}, {
|
|
59
|
+
readonly id: "openai";
|
|
60
|
+
readonly models: readonly ["gpt-4", "gpt-4.1", "gpt-4o", "gpt-5", "gpt-5-codex", "gpt-5-mini", "gpt-5.1", "gpt-5.1-codex", "gpt-5.1-codex-max", "gpt-5.1-codex-mini", "gpt-5.2", "gpt-5.2-codex", "gpt-5.2-pro", "gpt-5.3-codex", "o3-mini", "o4-mini"];
|
|
61
|
+
}, {
|
|
62
|
+
readonly id: "opencode";
|
|
63
|
+
readonly models: readonly ["claude-4-5-sonnet", "claude-4-sonnet", "claude-4.1-opus", "claude-haiku-4-5", "claude-opus-4-5", "gemini-3-flash", "gemini-3-pro", "glm-4.6", "glm-4.7", "glm-4.7-free", "gpt-5", "gpt-5-codex", "gpt-5.1", "gpt-5.1-codex", "gpt-5.1-codex-max", "gpt-5.1-codex-mini", "gpt-5.2", "gpt-5.2-codex", "kimi-k2", "kimi-k2-thinking", "kimi-k2.5", "kimi-k2.5-free", "minimax-m2.1", "minimax-m2.1-free", "qwen3-coder"];
|
|
64
|
+
}, {
|
|
65
|
+
readonly id: "openrouter";
|
|
66
|
+
readonly models: readonly ["anthropic/claude-3.5-sonnet", "anthropic/claude-3.7-sonnet", "anthropic/claude-haiku-4.5", "anthropic/claude-opus-4", "anthropic/claude-opus-4.1", "anthropic/claude-opus-4.5", "anthropic/claude-opus-4.6", "anthropic/claude-sonnet-4", "anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat-v3-0324", "deepseek/deepseek-chat-v3.1", "deepseek/deepseek-r1-0528", "deepseek/deepseek-v3.1-terminus", "deepseek/deepseek-v3.2", "deepseek/deepseek-v3.2-exp", "deepseek/deepseek-v3.2-speciale", "google/gemini-3-flash-preview", "google/gemini-3-pro-preview", "minimax/minimax-m2", "moonshotai/kimi-k2", "moonshotai/kimi-k2-0905", "moonshotai/kimi-k2-thinking", "moonshotai/kimi-k2.5", "openai/gpt-4", "openai/gpt-4.1", "openai/gpt-4o", "openai/gpt-5", "openai/gpt-5-codex", "openai/gpt-5-mini", "openai/gpt-5.1", "openai/gpt-5.1-codex", "openai/gpt-5.1-codex-max", "openai/gpt-5.1-codex-mini", "openai/gpt-5.2", "openai/gpt-5.2-codex", "openai/gpt-5.2-pro", "openai/gpt-oss-120b", "openai/o3", "openai/o3-mini", "openai/o3-pro", "openai/o4-mini", "qwen/qwen3-coder", "qwen/qwen3-max", "x-ai/grok-4", "x-ai/grok-4-fast", "x-ai/grok-4.1-fast", "x-ai/grok-code-fast-1", "z-ai/glm-4.5", "z-ai/glm-4.5v", "z-ai/glm-4.6", "z-ai/glm-4.6v", "z-ai/glm-4.7"];
|
|
67
|
+
}, {
|
|
68
|
+
readonly id: "poe";
|
|
69
|
+
readonly models: readonly ["Claude-Opus-4.5", "Claude-Opus-4.6", "Claude-Sonnet-4.5", "GPT-5.1", "GPT-5.1-Codex", "Gemini-2.5-Flash", "Gemini-2.5-Pro", "Gemini-3-Pro", "Grok-4.1-Fast"];
|
|
70
|
+
}, {
|
|
71
|
+
readonly id: "qwen";
|
|
72
|
+
readonly models: readonly ["coder-model"];
|
|
73
|
+
}, {
|
|
74
|
+
readonly id: "siliconflow";
|
|
75
|
+
readonly models: readonly ["Qwen/Qwen3-235B-A22B-Instruct-2507", "Qwen/Qwen3-Coder-480B-A35B-Instruct", "deepseek-ai/DeepSeek-R1", "deepseek-ai/DeepSeek-V3", "deepseek-ai/DeepSeek-V3.1", "moonshotai/Kimi-K2-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.5"];
|
|
76
|
+
}, {
|
|
77
|
+
readonly id: "siliconflow-cn";
|
|
78
|
+
readonly models: readonly ["Qwen/Qwen3-235B-A22B-Instruct-2507", "Qwen/Qwen3-Coder-480B-A35B-Instruct", "deepseek-ai/DeepSeek-R1", "deepseek-ai/DeepSeek-V3", "deepseek-ai/DeepSeek-V3.1", "moonshotai/Kimi-K2-Instruct", "moonshotai/Kimi-K2-Instruct-0905", "zai-org/GLM-4.5"];
|
|
79
|
+
}, {
|
|
80
|
+
readonly id: "volcengine";
|
|
81
|
+
readonly models: readonly ["deepseek-v3-1-250821", "deepseek-v3-1-terminus", "doubao-seed-1-6-250615", "kimi-k2-250905"];
|
|
82
|
+
}, {
|
|
83
|
+
readonly id: "xai";
|
|
84
|
+
readonly models: readonly ["grok-4", "grok-4-1-fast", "grok-4-1-fast-non-reasoning", "grok-4-fast", "grok-code-fast-1"];
|
|
85
|
+
}, {
|
|
86
|
+
readonly id: "xiaomi";
|
|
87
|
+
readonly models: readonly ["mimo-v2-flash"];
|
|
88
|
+
}, {
|
|
89
|
+
readonly id: "zai-coding-plan";
|
|
90
|
+
readonly models: readonly ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v", "glm-4.7"];
|
|
91
|
+
}, {
|
|
92
|
+
readonly id: "zenmux";
|
|
93
|
+
readonly models: readonly ["anthropic/claude-opus-4.5", "anthropic/claude-opus-4.6", "anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat", "deepseek/deepseek-reasoner", "google/gemini-3-flash-preview", "google/gemini-3-pro-preview", "moonshotai/kimi-k2.5", "openai/gpt-5.1", "openai/gpt-5.1-codex", "openai/gpt-5.1-codex-mini", "openai/gpt-5.2", "openai/gpt-5.2-pro", "z-ai/glm-4.6", "z-ai/glm-4.6v", "z-ai/glm-4.7"];
|
|
94
|
+
}, {
|
|
95
|
+
readonly id: "zhipuai";
|
|
96
|
+
readonly models: readonly ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v", "glm-4.7"];
|
|
97
|
+
}, {
|
|
98
|
+
readonly id: "zhipuai-coding-plan";
|
|
99
|
+
readonly models: readonly ["glm-4.5", "glm-4.5-air", "glm-4.5-flash", "glm-4.5v", "glm-4.6", "glm-4.6v", "glm-4.7"];
|
|
100
|
+
}];
|
|
101
|
+
//# sourceMappingURL=provider-data.d.ts.map
|