Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@
},
"dependencies": {
"@blockrun/llm": "^3.19.1",
"@blockrun/model-catalog": "https://codeload.github.com/BlockRunAI/model-catalog/tar.gz/465c45941fb8ea9d6858fe8402abc8ba8934be90",
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/65a92c85ea1f187a64e7611302ef6add236b0cba",
"@blockrun/model-catalog": "https://codeload.github.com/BlockRunAI/model-catalog/tar.gz/fd635936832b414e40f8fe6c91fc1ad57347cd63",
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/2cd5a1026f755cd39a3f0d6e61cab23a5ad391a9",
"@colbymchenry/codegraph": "^1.5.0",
"@modelcontextprotocol/sdk": "^1.29.0",
"@polymarket/builder-relayer-client": "^0.0.10",
Expand Down
1 change: 1 addition & 0 deletions src/agent/optimize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ const MODEL_MAX_OUTPUT: Record<string, number> = {
'deepseek/deepseek-chat': 65_536,
'deepseek/deepseek-reasoner': 65_536,
'deepseek/deepseek-v4-pro': 65_536,
'deepseek/deepseek-v4.1-flash': 65_536,
// Kimi K3 (flagship, 2026-07) supports 65K output per the BlockRun gateway
// model entry (max_output: 65536). Without this entry the default 16K cap
// left users with 4× headroom on the table for long-form coding outputs
Expand Down
1 change: 1 addition & 0 deletions src/agent/tokens.ts
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ const MODEL_CONTEXT_WINDOWS: Record<string, number> = {
'deepseek/deepseek-chat': 1_000_000,
'deepseek/deepseek-reasoner': 1_000_000,
'deepseek/deepseek-v4-pro': 1_000_000,
'deepseek/deepseek-v4.1-flash': 1_000_000,
// xAI. grok-4.5 / 4.3 / build were missing until 2026-08-20: neither matches
// any inference pattern below, so a cold catalog cache fell through to the
// blind 128k default and compacted a 500K–1M window ~4-8x too early.
Expand Down
14 changes: 6 additions & 8 deletions src/ui/model-picker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -155,19 +155,17 @@ const LEGACY_SHORTCUTS: Record<string, string> = {
'grok-4.1': 'xai/grok-4.3',
// DeepSeek — paid SKUs route through deepseek/* (gateway aliases serve V4
// Flash modes upstream); free tier routes through nvidia/*.
deepseek: 'deepseek/deepseek-chat', // V4 Flash Chat (paid, $0.20/$0.40)
deepseek: 'deepseek/deepseek-v4.1-flash', // V4.1 Flash (paid, $0.14/$0.28)
r1: 'deepseek/deepseek-reasoner', // V4 Flash Reasoner (paid)
// V4 Pro: paid flagship, 1.6T MoE / 49B active, 1M ctx, $1.32/$3.96 (live 2026-10-02).
'deepseek-v4-pro': 'deepseek/deepseek-v4-pro',
'dsv4-pro': 'deepseek/deepseek-v4-pro',
'v4-pro': 'deepseek/deepseek-v4-pro',
// V4.1 Flash (live on Base 2026-10-20, $0.14/$0.28): the gateway's own name
// for the model deepseek-chat already serves — same upstream, same price,
// same non-thinking default. `deepseek` deliberately stays on deepseek-chat:
// sol.blockrun.ai does not list v4.1-flash yet, and a bare alias has to
// resolve on both chains (the `glm` rule). Explicit pins only until Solana
// lists it. NOTE `deepseek-v4-flash` / `dsv4` are FREE aliases (below) and
// must not move to this paid id.
// V4.1 Flash (live on Base and Solana 2026-10-20, $0.14/$0.28): the
// gateway's own name for the model deepseek-chat also serves — same
// upstream, same price, same non-thinking default. `deepseek` points here
// now that both chains list it (the `glm` rule). NOTE `deepseek-v4-flash` /
// `dsv4` are FREE aliases (below) and must not move to this paid id.
'deepseek-v4.1-flash': 'deepseek/deepseek-v4.1-flash',
'deepseek-v4.1': 'deepseek/deepseek-v4.1-flash',
'v4.1-flash': 'deepseek/deepseek-v4.1-flash',
Expand Down
5 changes: 3 additions & 2 deletions test/local.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12549,8 +12549,9 @@ test('2026-10-20: deepseek-v4.1-flash is priced and pinnable; the dead nvidia De
assert.deepEqual(MODEL_PRICING['deepseek/deepseek-v4.1-flash'], { input: 0.14, output: 0.28 });
assert.equal(resolveModel('deepseek-v4.1-flash'), 'deepseek/deepseek-v4.1-flash');
assert.equal(resolveModel('v4.1-flash'), 'deepseek/deepseek-v4.1-flash');
// Base-only for now, so the bare alias stays on the both-chains twin.
assert.equal(resolveModel('deepseek'), 'deepseek/deepseek-chat');
// Both chains list it (sol.blockrun.ai since 2026-10-20), so the bare alias
// takes the canonical id.
assert.equal(resolveModel('deepseek'), 'deepseek/deepseek-v4.1-flash');
// Free aliases never move to a paid model.
assert.notEqual(resolveModel('deepseek-v4-flash'), 'deepseek/deepseek-v4.1-flash');
assert.equal(MODEL_PRICING[resolveModel('deepseek-v4-flash')].input, 0);
Expand Down
Loading