claudeModelId.ts ×2
Frontier kind: Code frontier
unlabeled · c_233f98fa20a7
59 tests · 3506 LOC · 19 files · introduces 0 tests · 4 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
2 ranges 4 lines · 1 files
Tests
0 tests
Contains — complete concept membership
Neighbourhood graph
The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.
Focus concept
Ancestors (broader)
Descendants (narrower)
Introduced files
Introduced tests
Introduced files, introduced tests, and structurally relevant concept specialization
In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.
Graph controls are ready.
Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.
JavaScript is disabled; use the native relationship evidence on this page to explore the same evidence.
Native relationship evidence
Every exact file and test below is linked only from the concept that introduces it.
claudeModelId.ts ×2 — Focused concept
Introduced files:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createChat({ sideChat }) forks hidden context and filters inherited turns|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.ts ×7 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeModel on a peer chat persists in the catalog so a later resume picks it up|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) abortSession denies any parked permission requests so the SDK canUseTool callback unwinds with deny instead of leaving stale UI behind|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent createSession({ fork }) with a create-config model override persists it on the fork|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent resume keeps the existing overlay model (materialize does not clobber on isResume)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) rebind re-applies bijective state (model + effort) on the new Query|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) abortSession on a materialized session cancels the in-flight turn and leaves the session reusable|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeMapSessionEvents.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeSdkPipeline.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) changeModel with `max` effort passes `max` through on the runtime path|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) subprocess crash mid-stream rejects the in-flight turn and the next sendMessage rebinds via resume|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) changeModel with same id and unchanged effort skips the SDK setters|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) steering_consumed fires when the iterable hands the steering message to the SDK|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSdkPipeline.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) changeModel on a provisional session mutates the pending model bag (no SDK contact)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.ts ×2 — Ancestor (broader)
Introduced files:
claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) setPendingMessages with empty steering and non-empty queued is a no-op|occurrence=1 — Ancestor (broader)
Introduced tests:
Phase 6.1 C2)|occurrence=1 — Ancestor (broader)
Introduced tests:
Phase 6.1 C2)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeSdkPipeline.ts ×2 — Ancestor (broader)
Introduced files:
claudeAgentSession.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.test|title=ClaudeProxyService Credits reporting streaming: copilot_usage.total_nano_aiu fires onDidReportCredits with the session id|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.test|title=ClaudeProxyService Credits reporting non-streaming: copilot_usage.total_nano_aiu fires onDidReportCredits|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
claudeProxyService.test|title=ClaudeProxyService Streaming pre-stream CopilotApiError with streaming sentinel coerces to 502 but preserves envelope|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.test|title=ClaudeProxyService Streaming pre-stream CopilotApiError → JSON error response with original status|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.test|title=ClaudeProxyService Credits reporting no copilot_usage in the response → no credits report|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
claudeProxyService.test|title=ClaudeProxyService Streaming thinking_delta events pass through|occurrence=1, claudeProxyService.test|title=ClaudeProxyService Streaming tool-use input_json_delta events pass through|occurrence=1, +2 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×4 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×10 — Ancestor (broader)
Introduced files:
claudeProxyService.test|title=ClaudeProxyService Header passthrough drops x-request-id and arbitrary headers|occurrence=1 — Ancestor (broader)
Introduced tests:
messages model translation SDK ID inbound is translated to endpoint ID upstream|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
messages model translation endpoint ID inbound is also accepted|occurrence=1 — Ancestor (broader)
Introduced tests:
messages model translation non-streaming response model is rewritten to SDK format|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×3 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×4 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×3 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×4 — Ancestor (broader)
Introduced files:
claudeProxyService.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeProxyService.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toSdkModelId (standalone) normalizes endpoint-format Claude IDs to SDK format; passes through SDK-format and non-Claude IDs unchanged|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toEndpointModelId produces single-digit version when no minor|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m on non-opus model is not included in SDK model ID|occurrence=1, claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m on non-opus model is not included in endpoint model ID|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m on opus converts to correct SDK model ID|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m with date suffix on opus keeps only 1m in SDK model ID|occurrence=1, claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m with date suffix on opus keeps only 1m in endpoint model ID|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toSdkModelId strips date suffix from SDK IDs|occurrence=1, claudeModelId.test|title=parseClaudeModelId toEndpointModelId produces dot-separated version for major.minor|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toEndpointModelId normalizes old-format SDK IDs|occurrence=1, claudeModelId.test|title=parseClaudeModelId toSdkModelId normalizes old-format SDK IDs to new format|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toSdkModelId produces single-digit version when no minor|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId modifiers (non-date suffixes) 1m on opus converts to correct endpoint model ID|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.test|title=parseClaudeModelId toEndpointModelId is identity for endpoint-format IDs|occurrence=1, claudeModelId.test|title=parseClaudeModelId toSdkModelId produces dash-separated version for major.minor|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeModelId.ts ×1 — Ancestor (broader)
Introduced files:
claudeModelId.ts ×1 — Ancestor (broader)
Introduced files:
claudeModelId.ts ×4 — Descendant (narrower)
Introduced files:
claudeModelId.ts ×9 — Descendant (narrower)
Introduced files:
claudeModelId.ts ×9 — Descendant (narrower)
Introduced files:
uri.test|title=URI URI#file, win-speciale|occurrence=1, charCode.test|title=CharCode has good values|occurrence=1, +2 — Descendant (narrower)
Introduced tests:
utils.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
map.ts ×97 — Descendant (narrower)
Introduced files:
Introduced tests
Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Introduced code
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 4 introduced LOC across 2 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/node/claude/claudeModelId.ts 4 introduced LOC · 2 ranges
Open complete file
149
}
150
151
>
function formatModelId ( name : string , major : string , minor : string | undefined , versionSep : string , validSuffix : string ) : string {
claudeModelId.ts
152
>
const base = minor !== undefined
153
? `claude- ${ name } - ${ major }${ versionSep }${ minor } `
154
: `claude- ${ name } - ${ major } ` ;
156
>
}
157
158
function makeBareResult ( name : string ) : ParsedClaudeModelId {