vskill 0.5.103 → 0.5.105
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 +147 -4
- package/agents.json +1 -1
- package/dist/agents/agents-registry.d.ts +13 -3
- package/dist/agents/agents-registry.js +100 -57
- package/dist/agents/agents-registry.js.map +1 -1
- package/dist/api/client.d.ts +21 -0
- package/dist/api/client.js +39 -5
- package/dist/api/client.js.map +1 -1
- package/dist/commands/diff.d.ts +6 -0
- package/dist/commands/diff.js +104 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/eval/serve.js +29 -83
- package/dist/commands/eval/serve.js.map +1 -1
- package/dist/commands/keys.d.ts +14 -0
- package/dist/commands/keys.js +166 -0
- package/dist/commands/keys.js.map +1 -0
- package/dist/commands/masked-stdin.d.ts +14 -0
- package/dist/commands/masked-stdin.js +79 -0
- package/dist/commands/masked-stdin.js.map +1 -0
- package/dist/commands/skill.d.ts +6 -0
- package/dist/commands/skill.js +366 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/update.js +15 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/core/skill-emitter.d.ts +37 -0
- package/dist/core/skill-emitter.js +333 -0
- package/dist/core/skill-emitter.js.map +1 -0
- package/dist/core/skill-generator.d.ts +27 -0
- package/dist/core/skill-generator.js +100 -0
- package/dist/core/skill-generator.js.map +1 -0
- package/dist/eval/anthropic-catalog.d.ts +49 -0
- package/dist/eval/anthropic-catalog.js +238 -0
- package/dist/eval/anthropic-catalog.js.map +1 -0
- package/dist/eval/llm.d.ts +1 -1
- package/dist/eval/llm.js +68 -10
- package/dist/eval/llm.js.map +1 -1
- package/dist/eval/mcp-detector.js +24 -3
- package/dist/eval/mcp-detector.js.map +1 -1
- package/dist/eval/model-resolver.d.ts +39 -0
- package/dist/eval/model-resolver.js +94 -0
- package/dist/eval/model-resolver.js.map +1 -0
- package/dist/eval/pricing.js +42 -16
- package/dist/eval/pricing.js.map +1 -1
- package/dist/eval/skill-scanner.d.ts +0 -5
- package/dist/eval/skill-scanner.js +0 -12
- package/dist/eval/skill-scanner.js.map +1 -1
- package/dist/eval-server/api-routes.d.ts +1 -0
- package/dist/eval-server/api-routes.js +191 -63
- package/dist/eval-server/api-routes.js.map +1 -1
- package/dist/eval-server/authoring-routes.js +21 -1
- package/dist/eval-server/authoring-routes.js.map +1 -1
- package/dist/eval-server/boot-preflight.js +8 -10
- package/dist/eval-server/boot-preflight.js.map +1 -1
- package/dist/eval-server/darwin-migrator.d.ts +57 -0
- package/dist/eval-server/darwin-migrator.js +169 -0
- package/dist/eval-server/darwin-migrator.js.map +1 -0
- package/dist/eval-server/eval-server.d.ts +1 -0
- package/dist/eval-server/eval-server.js +10 -0
- package/dist/eval-server/eval-server.js.map +1 -1
- package/dist/eval-server/providers.d.ts +7 -12
- package/dist/eval-server/providers.js +13 -15
- package/dist/eval-server/providers.js.map +1 -1
- package/dist/eval-server/settings-store.d.ts +17 -19
- package/dist/eval-server/settings-store.js +192 -189
- package/dist/eval-server/settings-store.js.map +1 -1
- package/dist/eval-server/skill-create-routes.d.ts +62 -0
- package/dist/eval-server/skill-create-routes.js +97 -132
- package/dist/eval-server/skill-create-routes.js.map +1 -1
- package/dist/eval-ui/assets/{CommandPalette-6cLEufX0.js → CommandPalette-DAWyTgXL.js} +1 -1
- package/dist/eval-ui/assets/CreateSkillPage-D5xmvnzV.js +12 -0
- package/dist/eval-ui/assets/UpdateDropdown-6bfwsX0-.js +1 -0
- package/dist/eval-ui/assets/index-C_-YXE6O.js +102 -0
- package/dist/eval-ui/index.html +1 -1
- package/dist/first-run-onboarding.d.ts +19 -0
- package/dist/first-run-onboarding.js +104 -0
- package/dist/first-run-onboarding.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/installer/canonical.d.ts +2 -0
- package/dist/installer/canonical.js +33 -3
- package/dist/installer/canonical.js.map +1 -1
- package/dist/studio/lib/ops-log.js +1 -4
- package/dist/studio/lib/ops-log.js.map +1 -1
- package/dist/studio/lib/scope-transfer.d.ts +0 -10
- package/dist/studio/lib/scope-transfer.js +13 -116
- package/dist/studio/lib/scope-transfer.js.map +1 -1
- package/dist/studio/routes/ops.js +3 -26
- package/dist/studio/routes/ops.js.map +1 -1
- package/dist/studio/routes/promote.js +15 -9
- package/dist/studio/routes/promote.js.map +1 -1
- package/dist/studio/routes/test-install.js +11 -4
- package/dist/studio/routes/test-install.js.map +1 -1
- package/dist/utils/agent-filter.js +5 -4
- package/dist/utils/agent-filter.js.map +1 -1
- package/dist/utils/resolve-binary.d.ts +22 -0
- package/dist/utils/resolve-binary.js +44 -1
- package/dist/utils/resolve-binary.js.map +1 -1
- package/package.json +3 -1
- package/scripts/preuninstall.cjs +2 -9
- package/dist/eval-ui/assets/CreateSkillPage-kn7xDaAP.js +0 -12
- package/dist/eval-ui/assets/UpdateDropdown-9qR5NxTi.js +0 -1
- package/dist/eval-ui/assets/index-4LdVR3Lo.js +0 -102
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// 0711: Anthropic model catalog — dated snapshot fixture
|
|
3
|
+
//
|
|
4
|
+
// Source-of-truth replacement for the scattered hardcoded model IDs that
|
|
5
|
+
// `ANTHROPIC_NORMALIZE` (llm.ts), `pricing.ts`, and `PROVIDER_MODELS`
|
|
6
|
+
// (api-routes.ts) used to maintain independently. Each release of this file
|
|
7
|
+
// MUST bump `snapshotDate`; CI fails if the date is older than 6 months
|
|
8
|
+
// (see `pricing-staleness.test.ts`). The picker UI surfaces a soft warning
|
|
9
|
+
// once the snapshot is older than 90 days.
|
|
10
|
+
//
|
|
11
|
+
// At runtime, `model-resolver.ts` prefers (in order):
|
|
12
|
+
// 1. ENV override — VSKILL_DEFAULT_MODEL_ANTHROPIC
|
|
13
|
+
// 2. Live `/v1/models` fetch (cached 24h) — only on the server, only if an
|
|
14
|
+
// ANTHROPIC_API_KEY is present
|
|
15
|
+
// 3. This dated snapshot
|
|
16
|
+
//
|
|
17
|
+
// Source URLs (verified 2026-04-24):
|
|
18
|
+
// - https://platform.claude.com/docs/en/about-claude/models/overview
|
|
19
|
+
// - https://platform.claude.com/docs/en/about-claude/model-deprecations
|
|
20
|
+
// - https://claude.com/pricing
|
|
21
|
+
// - https://platform.claude.com/docs/en/api/models-list
|
|
22
|
+
// - https://code.claude.com/docs/en/model-config (CLI alias rules)
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// 0711 — Anthropic catalog snapshot
|
|
25
|
+
// Last refreshed: 2026-04-24
|
|
26
|
+
// Cadence: refresh every <=6 months. CI fails if snapshotDate is older.
|
|
27
|
+
export const ANTHROPIC_CATALOG_SNAPSHOT = {
|
|
28
|
+
snapshotDate: "2026-04-24",
|
|
29
|
+
sources: [
|
|
30
|
+
"https://platform.claude.com/docs/en/about-claude/models/overview",
|
|
31
|
+
"https://platform.claude.com/docs/en/about-claude/model-deprecations",
|
|
32
|
+
"https://claude.com/pricing",
|
|
33
|
+
"https://platform.claude.com/docs/en/api/models-list",
|
|
34
|
+
"https://code.claude.com/docs/en/model-config",
|
|
35
|
+
],
|
|
36
|
+
models: [
|
|
37
|
+
{
|
|
38
|
+
id: "claude-opus-4-7",
|
|
39
|
+
aliases: ["opus", "opus[1m]", "best", "claude-opus-4-7[1m]"],
|
|
40
|
+
displayName: "Claude Opus 4.7",
|
|
41
|
+
contextWindow: 1_000_000,
|
|
42
|
+
maxOutputTokens: 128_000,
|
|
43
|
+
pricing: {
|
|
44
|
+
promptUsdPer1M: 5.0,
|
|
45
|
+
completionUsdPer1M: 25.0,
|
|
46
|
+
cacheReadUsdPer1M: 0.5,
|
|
47
|
+
cacheWriteUsdPer1M: 6.25,
|
|
48
|
+
},
|
|
49
|
+
status: "active",
|
|
50
|
+
releaseDate: "2026-04-16",
|
|
51
|
+
sunsetDate: null,
|
|
52
|
+
capabilities: [
|
|
53
|
+
"adaptive_thinking",
|
|
54
|
+
"vision_highres",
|
|
55
|
+
"pdf",
|
|
56
|
+
"code_execution",
|
|
57
|
+
"batch",
|
|
58
|
+
"citations",
|
|
59
|
+
"structured_outputs",
|
|
60
|
+
"1m_context",
|
|
61
|
+
"effort_xhigh",
|
|
62
|
+
"task_budgets_beta",
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: "claude-opus-4-6",
|
|
67
|
+
aliases: [],
|
|
68
|
+
displayName: "Claude Opus 4.6",
|
|
69
|
+
contextWindow: 1_000_000,
|
|
70
|
+
maxOutputTokens: 128_000,
|
|
71
|
+
pricing: {
|
|
72
|
+
promptUsdPer1M: 5.0,
|
|
73
|
+
completionUsdPer1M: 25.0,
|
|
74
|
+
cacheReadUsdPer1M: 0.5,
|
|
75
|
+
cacheWriteUsdPer1M: 6.25,
|
|
76
|
+
},
|
|
77
|
+
status: "active",
|
|
78
|
+
releaseDate: "2026-02-05",
|
|
79
|
+
sunsetDate: null,
|
|
80
|
+
capabilities: [
|
|
81
|
+
"extended_thinking",
|
|
82
|
+
"adaptive_thinking",
|
|
83
|
+
"vision",
|
|
84
|
+
"1m_context",
|
|
85
|
+
"effort_max",
|
|
86
|
+
],
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
id: "claude-opus-4-5-20251101",
|
|
90
|
+
aliases: ["claude-opus-4-5"],
|
|
91
|
+
displayName: "Claude Opus 4.5",
|
|
92
|
+
contextWindow: 200_000,
|
|
93
|
+
maxOutputTokens: 64_000,
|
|
94
|
+
pricing: {
|
|
95
|
+
promptUsdPer1M: 5.0,
|
|
96
|
+
completionUsdPer1M: 25.0,
|
|
97
|
+
cacheReadUsdPer1M: 0.5,
|
|
98
|
+
cacheWriteUsdPer1M: 6.25,
|
|
99
|
+
},
|
|
100
|
+
status: "active",
|
|
101
|
+
releaseDate: "2025-11-01",
|
|
102
|
+
sunsetDate: "2026-11-24",
|
|
103
|
+
capabilities: ["extended_thinking", "vision"],
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: "claude-opus-4-1-20250805",
|
|
107
|
+
aliases: ["claude-opus-4-1"],
|
|
108
|
+
displayName: "Claude Opus 4.1",
|
|
109
|
+
contextWindow: 200_000,
|
|
110
|
+
maxOutputTokens: 32_000,
|
|
111
|
+
pricing: {
|
|
112
|
+
promptUsdPer1M: 15.0,
|
|
113
|
+
completionUsdPer1M: 75.0,
|
|
114
|
+
cacheReadUsdPer1M: 1.5,
|
|
115
|
+
cacheWriteUsdPer1M: 18.75,
|
|
116
|
+
},
|
|
117
|
+
status: "active",
|
|
118
|
+
releaseDate: "2025-08-05",
|
|
119
|
+
sunsetDate: "2026-08-05",
|
|
120
|
+
capabilities: ["extended_thinking", "vision"],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
id: "claude-opus-4-20250514",
|
|
124
|
+
aliases: ["claude-opus-4-0"],
|
|
125
|
+
displayName: "Claude Opus 4",
|
|
126
|
+
contextWindow: 200_000,
|
|
127
|
+
maxOutputTokens: 32_000,
|
|
128
|
+
pricing: {
|
|
129
|
+
promptUsdPer1M: 15.0,
|
|
130
|
+
completionUsdPer1M: 75.0,
|
|
131
|
+
cacheReadUsdPer1M: 1.5,
|
|
132
|
+
cacheWriteUsdPer1M: 18.75,
|
|
133
|
+
},
|
|
134
|
+
status: "deprecated",
|
|
135
|
+
releaseDate: "2025-05-14",
|
|
136
|
+
sunsetDate: "2026-06-15",
|
|
137
|
+
capabilities: ["extended_thinking", "vision"],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "claude-sonnet-4-6",
|
|
141
|
+
aliases: ["sonnet", "sonnet[1m]", "claude-sonnet-4-6[1m]"],
|
|
142
|
+
displayName: "Claude Sonnet 4.6",
|
|
143
|
+
contextWindow: 1_000_000,
|
|
144
|
+
maxOutputTokens: 64_000,
|
|
145
|
+
pricing: {
|
|
146
|
+
promptUsdPer1M: 3.0,
|
|
147
|
+
completionUsdPer1M: 15.0,
|
|
148
|
+
cacheReadUsdPer1M: 0.3,
|
|
149
|
+
cacheWriteUsdPer1M: 3.75,
|
|
150
|
+
},
|
|
151
|
+
status: "active",
|
|
152
|
+
releaseDate: "2026-02-17",
|
|
153
|
+
sunsetDate: null,
|
|
154
|
+
capabilities: [
|
|
155
|
+
"extended_thinking",
|
|
156
|
+
"adaptive_thinking",
|
|
157
|
+
"vision",
|
|
158
|
+
"1m_context",
|
|
159
|
+
"effort_max",
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: "claude-sonnet-4-5-20250929",
|
|
164
|
+
aliases: ["claude-sonnet-4-5"],
|
|
165
|
+
displayName: "Claude Sonnet 4.5",
|
|
166
|
+
contextWindow: 200_000,
|
|
167
|
+
maxOutputTokens: 64_000,
|
|
168
|
+
pricing: {
|
|
169
|
+
promptUsdPer1M: 3.0,
|
|
170
|
+
completionUsdPer1M: 15.0,
|
|
171
|
+
cacheReadUsdPer1M: 0.3,
|
|
172
|
+
cacheWriteUsdPer1M: 3.75,
|
|
173
|
+
},
|
|
174
|
+
status: "active",
|
|
175
|
+
releaseDate: "2025-09-29",
|
|
176
|
+
sunsetDate: "2026-09-29",
|
|
177
|
+
capabilities: ["extended_thinking", "vision"],
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: "claude-sonnet-4-20250514",
|
|
181
|
+
aliases: ["claude-sonnet-4-0"],
|
|
182
|
+
displayName: "Claude Sonnet 4",
|
|
183
|
+
contextWindow: 200_000,
|
|
184
|
+
maxOutputTokens: 64_000,
|
|
185
|
+
pricing: {
|
|
186
|
+
promptUsdPer1M: 3.0,
|
|
187
|
+
completionUsdPer1M: 15.0,
|
|
188
|
+
cacheReadUsdPer1M: 0.3,
|
|
189
|
+
cacheWriteUsdPer1M: 3.75,
|
|
190
|
+
},
|
|
191
|
+
status: "deprecated",
|
|
192
|
+
releaseDate: "2025-05-14",
|
|
193
|
+
sunsetDate: "2026-06-15",
|
|
194
|
+
capabilities: ["extended_thinking", "vision"],
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: "claude-haiku-4-5-20251001",
|
|
198
|
+
aliases: ["claude-haiku-4-5", "haiku"],
|
|
199
|
+
displayName: "Claude Haiku 4.5",
|
|
200
|
+
contextWindow: 200_000,
|
|
201
|
+
maxOutputTokens: 64_000,
|
|
202
|
+
pricing: {
|
|
203
|
+
promptUsdPer1M: 1.0,
|
|
204
|
+
completionUsdPer1M: 5.0,
|
|
205
|
+
cacheReadUsdPer1M: 0.1,
|
|
206
|
+
cacheWriteUsdPer1M: 1.25,
|
|
207
|
+
},
|
|
208
|
+
status: "active",
|
|
209
|
+
releaseDate: "2025-10-01",
|
|
210
|
+
sunsetDate: "2026-10-15",
|
|
211
|
+
capabilities: ["extended_thinking", "vision"],
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Look up a model entry by id-or-alias.
|
|
217
|
+
*
|
|
218
|
+
* Returns the canonical entry whose `id` matches (case-insensitive) or whose
|
|
219
|
+
* `aliases` includes the input. Returns `null` for unknown inputs (callers
|
|
220
|
+
* decide whether to fall back to the alias as the resolved ID).
|
|
221
|
+
*
|
|
222
|
+
* Pure function — testable in isolation. Used by `model-resolver.ts`.
|
|
223
|
+
*/
|
|
224
|
+
export function findAnthropicModel(idOrAlias, catalog = ANTHROPIC_CATALOG_SNAPSHOT) {
|
|
225
|
+
const needle = idOrAlias.trim().toLowerCase();
|
|
226
|
+
if (!needle)
|
|
227
|
+
return null;
|
|
228
|
+
for (const m of catalog.models) {
|
|
229
|
+
if (m.id.toLowerCase() === needle)
|
|
230
|
+
return m;
|
|
231
|
+
for (const a of m.aliases) {
|
|
232
|
+
if (a.toLowerCase() === needle)
|
|
233
|
+
return m;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=anthropic-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic-catalog.js","sourceRoot":"","sources":["../../src/eval/anthropic-catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/eval/llm.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface LlmClient {
|
|
|
11
11
|
generate(systemPrompt: string, userPrompt: string): Promise<GenerateResult>;
|
|
12
12
|
readonly model: string;
|
|
13
13
|
}
|
|
14
|
-
export type ProviderName = "anthropic" | "claude-cli" | "codex-cli" | "gemini-cli" | "lm-studio" | "ollama" | "openrouter";
|
|
14
|
+
export type ProviderName = "anthropic" | "claude-cli" | "codex-cli" | "gemini-cli" | "lm-studio" | "ollama" | "openai" | "openrouter";
|
|
15
15
|
export interface LlmOverrides {
|
|
16
16
|
provider?: ProviderName;
|
|
17
17
|
model?: string;
|
package/dist/eval/llm.js
CHANGED
|
@@ -29,6 +29,7 @@ import { spawn } from "node:child_process";
|
|
|
29
29
|
import { resolveCliBinary, enhancedPath } from "../utils/resolve-binary.js";
|
|
30
30
|
import { calculateCost, getBillingMode } from "./pricing.js";
|
|
31
31
|
import { resolveOllamaBaseUrl } from "./env.js";
|
|
32
|
+
import { resolveAnthropicModel } from "./model-resolver.js";
|
|
32
33
|
function detectProvider() {
|
|
33
34
|
return "claude-cli";
|
|
34
35
|
}
|
|
@@ -55,6 +56,7 @@ export function estimateDurationSec(provider, totalCases, totalAssertions) {
|
|
|
55
56
|
"gemini-cli": [8, 20],
|
|
56
57
|
"ollama": [5, 30],
|
|
57
58
|
"lm-studio": [5, 30],
|
|
59
|
+
"openai": [4, 15],
|
|
58
60
|
"openrouter": [4, 15],
|
|
59
61
|
};
|
|
60
62
|
const [lo, hi] = perCall[provider] ?? [5, 20];
|
|
@@ -81,10 +83,12 @@ export function createLlmClient(overrides) {
|
|
|
81
83
|
return createOllamaClient(modelOverride);
|
|
82
84
|
case "lm-studio":
|
|
83
85
|
return createLmStudioClient(modelOverride);
|
|
86
|
+
case "openai":
|
|
87
|
+
return createOpenAIClient(modelOverride);
|
|
84
88
|
case "openrouter":
|
|
85
89
|
return createOpenRouterClient(modelOverride);
|
|
86
90
|
default:
|
|
87
|
-
throw new Error(`Unknown VSKILL_EVAL_PROVIDER: "${provider}". Use "claude-cli", "codex-cli", "gemini-cli", "anthropic", "ollama", "lm-studio", or "openrouter".`);
|
|
91
|
+
throw new Error(`Unknown VSKILL_EVAL_PROVIDER: "${provider}". Use "claude-cli", "codex-cli", "gemini-cli", "anthropic", "openai", "ollama", "lm-studio", or "openrouter".`);
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
// ---------------------------------------------------------------------------
|
|
@@ -103,19 +107,19 @@ const CLAUDE_CLI_NORMALIZE = {
|
|
|
103
107
|
"claude-opus-4-20250514": "opus",
|
|
104
108
|
"claude-haiku-4-5-20251001": "haiku",
|
|
105
109
|
};
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
// 0711: ANTHROPIC_NORMALIZE used to be a hand-maintained map keyed to specific
|
|
111
|
+
// Sonnet/Opus/Haiku versions, which silently rotted whenever Anthropic shipped
|
|
112
|
+
// a new model. The dated catalog at `anthropic-catalog.ts` is now the source
|
|
113
|
+
// of truth — `resolveAnthropicModel(...)` does the alias / id / env-override
|
|
114
|
+
// dance and surfaces provenance (snapshotDate, status) for callers that want
|
|
115
|
+
// to record what actually ran. The single-line wrapper below preserves the
|
|
116
|
+
// old `(input) → string` signature so we can swap it in without touching
|
|
117
|
+
// every call site at once.
|
|
114
118
|
function normalizeClaudeCliModel(model) {
|
|
115
119
|
return CLAUDE_CLI_NORMALIZE[model] || model;
|
|
116
120
|
}
|
|
117
121
|
function normalizeAnthropicModel(model) {
|
|
118
|
-
return
|
|
122
|
+
return resolveAnthropicModel(model).resolvedId || model;
|
|
119
123
|
}
|
|
120
124
|
// ---------------------------------------------------------------------------
|
|
121
125
|
// Provider: Anthropic API
|
|
@@ -166,6 +170,60 @@ function createAnthropicClient(modelOverride) {
|
|
|
166
170
|
},
|
|
167
171
|
};
|
|
168
172
|
}
|
|
173
|
+
// ---------------------------------------------------------------------------
|
|
174
|
+
// Provider: OpenAI API (0702 T-022)
|
|
175
|
+
//
|
|
176
|
+
// Mirrors createAnthropicClient. Env var: OPENAI_API_KEY. Default model
|
|
177
|
+
// gpt-4o-mini (cheap). Override via VSKILL_EVAL_MODEL or modelOverride arg.
|
|
178
|
+
// OPENAI_BASE_URL is honored by the openai SDK natively (used by tests).
|
|
179
|
+
// ---------------------------------------------------------------------------
|
|
180
|
+
function createOpenAIClient(modelOverride) {
|
|
181
|
+
const DEFAULT_MODEL = "gpt-4o-mini";
|
|
182
|
+
const apiKey = process.env.OPENAI_API_KEY;
|
|
183
|
+
if (!apiKey) {
|
|
184
|
+
throw new Error("OPENAI_API_KEY is not set. Visit https://platform.openai.com/api-keys to get your key, then run:\n export OPENAI_API_KEY=sk-proj-...\n\nOr use a different provider:\n export VSKILL_EVAL_PROVIDER=claude-cli");
|
|
185
|
+
}
|
|
186
|
+
const model = modelOverride || process.env.VSKILL_EVAL_MODEL || DEFAULT_MODEL;
|
|
187
|
+
let clientInstance = null;
|
|
188
|
+
return {
|
|
189
|
+
model,
|
|
190
|
+
async generate(systemPrompt, userPrompt) {
|
|
191
|
+
if (!clientInstance) {
|
|
192
|
+
const { default: OpenAI } = await import("openai");
|
|
193
|
+
const baseURL = process.env.OPENAI_BASE_URL;
|
|
194
|
+
clientInstance = new OpenAI(baseURL ? { apiKey, baseURL } : { apiKey });
|
|
195
|
+
}
|
|
196
|
+
const controller = new AbortController();
|
|
197
|
+
const timeout = setTimeout(() => controller.abort(), getTimeoutMs());
|
|
198
|
+
const start = Date.now();
|
|
199
|
+
try {
|
|
200
|
+
const response = await clientInstance.chat.completions.create({
|
|
201
|
+
model,
|
|
202
|
+
messages: [
|
|
203
|
+
{ role: "system", content: systemPrompt },
|
|
204
|
+
{ role: "user", content: userPrompt },
|
|
205
|
+
],
|
|
206
|
+
max_tokens: 4096,
|
|
207
|
+
}, { signal: controller.signal });
|
|
208
|
+
const durationMs = Date.now() - start;
|
|
209
|
+
const text = response.choices?.[0]?.message?.content ?? "";
|
|
210
|
+
const inputTokens = response.usage?.prompt_tokens ?? null;
|
|
211
|
+
const outputTokens = response.usage?.completion_tokens ?? null;
|
|
212
|
+
return {
|
|
213
|
+
text,
|
|
214
|
+
durationMs,
|
|
215
|
+
inputTokens,
|
|
216
|
+
outputTokens,
|
|
217
|
+
cost: calculateCost("openai", model, inputTokens, outputTokens),
|
|
218
|
+
billingMode: getBillingMode("openai"),
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
finally {
|
|
222
|
+
clearTimeout(timeout);
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
}
|
|
169
227
|
function createCliClient(config) {
|
|
170
228
|
// Resolve binary path once at client creation time (cached internally)
|
|
171
229
|
const resolvedBinary = resolveCliBinary(config.binary);
|
package/dist/eval/llm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/eval/llm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/eval/llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,9 +56,30 @@ const MCP_REGISTRY = [
|
|
|
56
56
|
url: "https://mcp.sentry.dev/mcp",
|
|
57
57
|
transport: "http",
|
|
58
58
|
},
|
|
59
|
+
{
|
|
60
|
+
// Custom showcase MCP (US-005): demonstrates how a non-HTTP, user-owned
|
|
61
|
+
// MCP server plugs into the registry. Launched via npx over stdio with
|
|
62
|
+
// an API-key env var — copied into the user's Claude config verbatim
|
|
63
|
+
// from `configSnippet`.
|
|
64
|
+
server: "EasyChamp",
|
|
65
|
+
prefixes: ["easychamp_"],
|
|
66
|
+
url: "https://easychamp.com/mcp",
|
|
67
|
+
transport: "stdio",
|
|
68
|
+
configSnippet: {
|
|
69
|
+
command: "npx",
|
|
70
|
+
args: ["-y", "easychamp-mcp"],
|
|
71
|
+
env: { EASYCHAMP_API_KEY: "${EASYCHAMP_API_KEY}" },
|
|
72
|
+
},
|
|
73
|
+
},
|
|
59
74
|
];
|
|
60
|
-
function buildConfigSnippet(
|
|
61
|
-
|
|
75
|
+
function buildConfigSnippet(entry) {
|
|
76
|
+
const key = entry.server.toLowerCase().replace(/\s+/g, "-");
|
|
77
|
+
// Custom stdio MCPs (e.g. EasyChamp) carry a pre-authored config block.
|
|
78
|
+
if (entry.transport === "stdio" && entry.configSnippet) {
|
|
79
|
+
return JSON.stringify({ mcpServers: { [key]: entry.configSnippet } }, null, 2);
|
|
80
|
+
}
|
|
81
|
+
// Default HTTP shape used by the built-in hosted MCPs.
|
|
82
|
+
return JSON.stringify({ mcpServers: { [key]: { type: "http", url: entry.url } } }, null, 2);
|
|
62
83
|
}
|
|
63
84
|
function parseFrontmatterField(content, field) {
|
|
64
85
|
const fmMatch = content.match(/^---\n([\s\S]*?)\n---/);
|
|
@@ -114,7 +135,7 @@ export function detectMcpDependencies(content) {
|
|
|
114
135
|
url: entry.url,
|
|
115
136
|
transport: entry.transport,
|
|
116
137
|
matchedTools: [...new Set(matched)],
|
|
117
|
-
configSnippet: buildConfigSnippet(entry
|
|
138
|
+
configSnippet: buildConfigSnippet(entry),
|
|
118
139
|
});
|
|
119
140
|
}
|
|
120
141
|
return deps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-detector.js","sourceRoot":"","sources":["../../src/eval/mcp-detector.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oFAAoF;AACpF,8EAA8E;
|
|
1
|
+
{"version":3,"file":"mcp-detector.js","sourceRoot":"","sources":["../../src/eval/mcp-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type AnthropicCatalog, type AnthropicModelEntry, type AnthropicPricing } from "./anthropic-catalog.js";
|
|
2
|
+
export type ModelResolutionSource = "snapshot" | "env-override" | "passthrough";
|
|
3
|
+
export interface ResolvedAnthropicModel {
|
|
4
|
+
/** What the caller asked for, verbatim — useful for forensic logging. */
|
|
5
|
+
requestedAlias: string;
|
|
6
|
+
/** Canonical Anthropic API ID after resolution. */
|
|
7
|
+
resolvedId: string;
|
|
8
|
+
/** Marketing display name, or empty when source === "passthrough". */
|
|
9
|
+
displayName: string;
|
|
10
|
+
/** Pricing block when known; null when source === "passthrough". */
|
|
11
|
+
pricing: AnthropicPricing | null;
|
|
12
|
+
/** Where this answer came from. */
|
|
13
|
+
source: ModelResolutionSource;
|
|
14
|
+
/** ISO date of the catalog snapshot used. Always populated. */
|
|
15
|
+
snapshotDate: string;
|
|
16
|
+
/** Status from the catalog (active/deprecated/retired) when known. */
|
|
17
|
+
status: AnthropicModelEntry["status"] | null;
|
|
18
|
+
/** Sunset date from the catalog when known. */
|
|
19
|
+
sunsetDate: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface ResolveOptions {
|
|
22
|
+
/** Inject a custom catalog (for tests). Defaults to the dated snapshot. */
|
|
23
|
+
catalog?: AnthropicCatalog;
|
|
24
|
+
/** Inject a custom env getter (for tests). Defaults to `process.env`. */
|
|
25
|
+
env?: NodeJS.ProcessEnv | Record<string, string | undefined>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolve an Anthropic alias / canonical ID into a provenance-rich record.
|
|
29
|
+
*
|
|
30
|
+
* Precedence:
|
|
31
|
+
* 1. ENV override `VSKILL_DEFAULT_MODEL_ANTHROPIC` — only when the input is
|
|
32
|
+
* a plain alias (`opus|sonnet|haiku|best`) so explicit canonical IDs
|
|
33
|
+
* always win over a tuned default.
|
|
34
|
+
* 2. Catalog lookup — alias OR canonical ID, case-insensitive.
|
|
35
|
+
* 3. Passthrough — unknown future ID; keep the input as `resolvedId`,
|
|
36
|
+
* record `source: "passthrough"` so the UI can warn about pricing
|
|
37
|
+
* and the test suite can flag missing entries.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveAnthropicModel(input: string, opts?: ResolveOptions): ResolvedAnthropicModel;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// 0711 — model-resolver
|
|
3
|
+
//
|
|
4
|
+
// Single chokepoint that turns an alias / canonical id / env override into a
|
|
5
|
+
// fully-resolved record with provenance. Replaces the scattered
|
|
6
|
+
// `ANTHROPIC_NORMALIZE` lookups in llm.ts so that:
|
|
7
|
+
// - `aiMeta.model` now records the concrete ID rather than the alias,
|
|
8
|
+
// making "regenerated on Opus 4.6 vs 4.7" diffable.
|
|
9
|
+
// - Pricing + display name come from a SINGLE catalog file; fixing one
|
|
10
|
+
// stale ref no longer means hunting through three modules.
|
|
11
|
+
// - ENV override (`VSKILL_DEFAULT_MODEL_ANTHROPIC`) lets early-access users
|
|
12
|
+
// route plain `opus`/`sonnet`/`haiku` aliases to a not-yet-shipped model
|
|
13
|
+
// without code changes.
|
|
14
|
+
//
|
|
15
|
+
// Pure function. Server + browser safe (no node:* imports). Server-side
|
|
16
|
+
// runtime catalog refresh lives in `catalog-fetcher.ts` (separate file) and
|
|
17
|
+
// is OPTIONAL — when offline, the dated snapshot is the source of truth.
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
import { ANTHROPIC_CATALOG_SNAPSHOT, findAnthropicModel, } from "./anthropic-catalog.js";
|
|
20
|
+
const PLAIN_ALIASES = new Set(["opus", "sonnet", "haiku", "best"]);
|
|
21
|
+
function passthrough(requestedAlias, catalog) {
|
|
22
|
+
return {
|
|
23
|
+
requestedAlias,
|
|
24
|
+
resolvedId: requestedAlias,
|
|
25
|
+
displayName: "",
|
|
26
|
+
pricing: null,
|
|
27
|
+
source: "passthrough",
|
|
28
|
+
snapshotDate: catalog.snapshotDate,
|
|
29
|
+
status: null,
|
|
30
|
+
sunsetDate: null,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function fromCatalog(requestedAlias, entry, source, catalog) {
|
|
34
|
+
return {
|
|
35
|
+
requestedAlias,
|
|
36
|
+
resolvedId: entry.id,
|
|
37
|
+
displayName: entry.displayName,
|
|
38
|
+
pricing: entry.pricing,
|
|
39
|
+
source,
|
|
40
|
+
snapshotDate: catalog.snapshotDate,
|
|
41
|
+
status: entry.status,
|
|
42
|
+
sunsetDate: entry.sunsetDate,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Resolve an Anthropic alias / canonical ID into a provenance-rich record.
|
|
47
|
+
*
|
|
48
|
+
* Precedence:
|
|
49
|
+
* 1. ENV override `VSKILL_DEFAULT_MODEL_ANTHROPIC` — only when the input is
|
|
50
|
+
* a plain alias (`opus|sonnet|haiku|best`) so explicit canonical IDs
|
|
51
|
+
* always win over a tuned default.
|
|
52
|
+
* 2. Catalog lookup — alias OR canonical ID, case-insensitive.
|
|
53
|
+
* 3. Passthrough — unknown future ID; keep the input as `resolvedId`,
|
|
54
|
+
* record `source: "passthrough"` so the UI can warn about pricing
|
|
55
|
+
* and the test suite can flag missing entries.
|
|
56
|
+
*/
|
|
57
|
+
export function resolveAnthropicModel(input, opts = {}) {
|
|
58
|
+
const catalog = opts.catalog ?? ANTHROPIC_CATALOG_SNAPSHOT;
|
|
59
|
+
const env = opts.env ?? process.env;
|
|
60
|
+
const requestedAlias = input ?? "";
|
|
61
|
+
const trimmed = requestedAlias.trim();
|
|
62
|
+
if (!trimmed)
|
|
63
|
+
return passthrough(requestedAlias, catalog);
|
|
64
|
+
// 1. ENV override only kicks in for plain aliases — explicit canonical IDs
|
|
65
|
+
// are honoured exactly as the caller wrote them.
|
|
66
|
+
const isPlainAlias = PLAIN_ALIASES.has(trimmed.toLowerCase());
|
|
67
|
+
const overrideRaw = env.VSKILL_DEFAULT_MODEL_ANTHROPIC;
|
|
68
|
+
const override = typeof overrideRaw === "string" ? overrideRaw.trim() : "";
|
|
69
|
+
if (isPlainAlias && override) {
|
|
70
|
+
const overrideEntry = findAnthropicModel(override, catalog);
|
|
71
|
+
if (overrideEntry) {
|
|
72
|
+
return fromCatalog(requestedAlias, overrideEntry, "env-override", catalog);
|
|
73
|
+
}
|
|
74
|
+
// Override is a future ID we do not know yet — preserve provenance and
|
|
75
|
+
// signal that the snapshot is stale.
|
|
76
|
+
return {
|
|
77
|
+
requestedAlias,
|
|
78
|
+
resolvedId: override,
|
|
79
|
+
displayName: "",
|
|
80
|
+
pricing: null,
|
|
81
|
+
source: "env-override",
|
|
82
|
+
snapshotDate: catalog.snapshotDate,
|
|
83
|
+
status: null,
|
|
84
|
+
sunsetDate: null,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// 2. Catalog lookup.
|
|
88
|
+
const entry = findAnthropicModel(trimmed, catalog);
|
|
89
|
+
if (entry)
|
|
90
|
+
return fromCatalog(requestedAlias, entry, "snapshot", catalog);
|
|
91
|
+
// 3. Passthrough.
|
|
92
|
+
return passthrough(trimmed, catalog);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=model-resolver.js.map
|