claudeAgent.ts ×6
Frontier kind: Code frontier
unlabeled · c_82d657ddec68
2 tests · 56993 LOC · 346 files · introduces 0 tests · 17 LOC · 3 files
Introduces — evidence that enters the hierarchy at this concept
Code
8 ranges 17 lines · 3 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.
claudeAgent.ts ×6 — 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.test|title=ClaudeAgent — Phase 11 customizations createChat({ sideChat }) preserves a local source turn id while forking from the concrete provider anchor|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×10 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×5 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×3 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×3 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×2 — Descendant (narrower)
Introduced files:
claudePromptResolver.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×4 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×2 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×4 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×6 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×12 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×4 — Descendant (narrower)
Introduced files:
agentConfigurationService.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×5 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×14 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×2 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×2 — Descendant (narrower)
Introduced files:
claudeAgentSession.ts ×2 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×3 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×3 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×2 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×1 — Descendant (narrower)
Introduced files:
claudeAgent.ts ×7 — Descendant (narrower)
Introduced files:
claudePromptResolver.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×2 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentService.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×3 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×17 — Descendant (narrower)
Introduced files:
claudeSdkPipeline.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkMessageRouter.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkMessageRouter.ts ×2 — Descendant (narrower)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×3 — Descendant (narrower)
Introduced files:
claudeMapSessionEvents.test|title=claudeMapSessionEvents — direct mapper tests result success does not derive credits from total_cost_usd|occurrence=1, claudeMapSessionEvents.test|title=claudeMapSessionEvents — direct mapper tests result success without modelUsage omits the model field on ChatUsage|occurrence=1, +1 — Descendant (narrower)
Introduced tests:
claudeMapSessionEvents.ts ×2 — Descendant (narrower)
Introduced files:
agentConfigurationService.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionCustomizationDiscovery.ts ×9 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
claudeMcpScan.ts ×4 — Descendant (narrower)
Introduced files:
claudeRuleScan.ts ×3 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
agentHostStateManager.ts ×1 — Descendant (narrower)
Introduced files:
agentHostStateManager.ts ×3 — Descendant (narrower)
Introduced files:
agentHostStateManager.ts ×4 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×20 — Descendant (narrower)
Introduced files:
sessionTestHelpers.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
claudeReplayMapper.test|title=claudeReplayMapper Fixture 1: single text turn|occurrence=1, claudeReplayMapper.test|title=claudeReplayMapper Fixture 3: multi-turn produces ordered Turns|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeReplayMapper.ts ×1 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×1 — Descendant (narrower)
Introduced files:
instantiationService.ts ×1 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×1 — Descendant (narrower)
Introduced files:
claudeReplayMapper.test|title=resolveForkAnchorUuid fork at turn 0 → last assistant uuid of turn 0|occurrence=1, claudeReplayMapper.test|title=resolveForkAnchorUuid fork at turn 1 → last assistant uuid of turn 1|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeReplayMapper.test|title=resolveForkAnchorUuid fork at the last turn → last assistant uuid of that turn|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeReplayMapper.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×2 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×1 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×6 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×3 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
claudePromptQueue.ts ×2 — Descendant (narrower)
Introduced files:
Introduced tests:
claudePromptQueue.ts ×3 — Descendant (narrower)
Introduced files:
claudeReplayMapper.ts ×22 — Descendant (narrower)
Introduced files:
claudePromptQueue.test|title=ClaudePromptQueue non-steering entries do not fire the steering callback|occurrence=1 — Descendant (narrower)
Introduced tests:
claudePromptQueue.test|title=ClaudePromptQueue notifyAborted wakes a parked next() so it can re-check the abort signal|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeToolCallRegistry.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
inMemoryFilesystemProvider.ts ×7 — Descendant (narrower)
Introduced files:
claudePromptQueue.ts ×1 — Descendant (narrower)
Introduced files:
claudePromptQueue.ts ×2 — Descendant (narrower)
Introduced files:
testGitHubEndpointService.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionMetadataStore.test|title=ClaudeSessionMetadataStore write skips undefined fields (only-write-on-defined)|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeSessionMetadataStore.test|title=ClaudeSessionMetadataStore read narrows malformed permissionMode to undefined|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeSessionMetadataStore.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionMetadataStore.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionConfigKeys.ts ×1 — Descendant (narrower)
Introduced files:
log.ts ×1 — Descendant (narrower)
Introduced files:
claudeSessionClientCustomizationsModel.ts ×2 — Descendant (narrower)
Introduced files:
claudeSessionClientCustomizationsModel.ts ×1 — Descendant (narrower)
Introduced files:
claudeToolDisplay.test|title=claudeToolDisplay — §4 mapping table INTERACTIVE_CLAUDE_TOOLS contains exactly the user-input round-trip tools|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer issue #71993 - VSBuffer#toString returns numbers|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer slice|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer fromString|occurrence=1, buffer.test|title=Buffer issue #251527 - VSBuffer#toString preserves BOM character in filenames|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer wrap|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer Performance issue with VSBuffer#slice #76076|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeSessionClientToolsModel.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
async.ts ×1 — Descendant (narrower)
Introduced files:
sessionTestHelpers.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×202 — Descendant (narrower)
Introduced files:
sessionTestHelpers.ts ×1 — Descendant (narrower)
Introduced files:
observableValue.ts ×2 — Descendant (narrower)
Introduced files:
sessionState.ts ×3 — Descendant (narrower)
Introduced files:
sessionState.ts ×3 — Descendant (narrower)
Introduced files:
agentService.ts ×1 — Descendant (narrower)
Introduced files:
githubEndpoints.ts ×1 — Descendant (narrower)
Introduced files:
agentService.ts ×15 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×41 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×60 — Descendant (narrower)
Introduced files:
arrays.ts ×1 — Descendant (narrower)
Introduced files:
arrays.ts ×1 — Descendant (narrower)
Introduced files:
network.ts ×20 — Descendant (narrower)
Introduced files:
strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower)
Introduced tests:
agentPeerChats.ts ×3 — Descendant (narrower)
Introduced files:
Introduced tests:
agentPeerChats.ts ×5 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×3 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×1 — Descendant (narrower)
Introduced files:
agentPeerChats.ts ×25 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
agentHostConversationContext.ts ×3 — Descendant (narrower)
Introduced files:
claudeBuiltinCommands.ts ×3 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
arrays.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×5 — Descendant (narrower)
Introduced files:
buildOptions resumeSessionAt projection resume without resumeSessionAt omits Options.resumeSessionAt|occurrence=1, buildOptions resumeSessionAt projection resume + resumeSessionAt projects onto Options.resume and Options.resumeSessionAt|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeSdkOptions.ts ×1 — Descendant (narrower)
Introduced files:
claudeModelId.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkOptions.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkOptions.ts ×1 — Descendant (narrower)
Introduced files:
claudeSdkOptions.ts ×4 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×3 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×4 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×3 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
claudeSubagentRegistry.ts ×2 — Descendant (narrower)
Introduced files:
ripgrep.ts ×2 — Descendant (narrower)
Introduced files:
claudeSdkOptions.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
claudeSdkOptions.ts ×3 — Descendant (narrower)
Introduced files:
claudeSubagentRegistry.ts ×2 — Descendant (narrower)
Introduced files:
claudeSubagentRegistry.ts ×4 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×4 — Descendant (narrower)
Introduced files:
claudeSubagentRegistry.ts ×2 — Descendant (narrower)
Introduced files:
claudeSubagentRegistry.test|title=SUBAGENT_ID_SUFFIX_REGEX + scanTranscriptForAgentIds regex matches canonical and drifted formats; rejects unrelated text|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeSubagentRegistry.ts ×16 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
claudeModelId.ts ×2 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication disposes entries no longer in model|occurrence=1 — Descendant (narrower)
Introduced tests:
claudeModelConfig.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
claudeModelConfig.ts ×3 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication mixed unique and duplicate IDs|occurrence=1, languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication creates new entry when none exists|occurrence=1, +4 — Descendant (narrower)
Introduced tests:
path.ts ×2 — Descendant (narrower)
Introduced files:
utils.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
uri.ts ×3 — 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:
uri.ts ×3 — Descendant (narrower)
Introduced files:
utils.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
instantiation.ts ×5 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — 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:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uuid.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — 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.
3 files ranked by introduced lines: 17 introduced LOC across 8 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/node/claude/claudeAgent.ts 13 introduced LOC · 6 ranges
Open complete file
357
*/
358
private _findChat ( session : URI , chat : URI | undefined ) : ClaudeAgentSession | undefined {
359
>
const entry = this . _sessions . get ( AgentSession . id ( session ));
claudeAgent.ts
360
>
if ( ! entry ) {
361
return undefined ;
362
}
363
>
return entry . getChat (( chat ?? URI . parse ( buildDefaultChatUri ( session ))). toString ());
claudeAgent.ts
364
>
}
365
366
private _getChatContext ( chatOrSession : URI ) : { session : URI ; sessionId : string ; chatKey : string ; target : ClaudeAgentSession | undefined ; isPeerChat : boolean } {
1443
return AgentSession . id ( session );
1444
}
1445
>
const inMemory = this . _findChat ( session , chatUri ) ? . sessionId ;
claudeAgent.ts
1446
if ( inMemory ) {
1448
>
}
1449
return this . _resolveChatBacking ( chatUri ) ? . sdkSessionId ;
1450
}
1693
const context = this . _getChatContext ( chat );
1694
if ( context . isPeerChat ) {
1695
>
const sdkId = await this . _resolveChatSdkId ( parentSessionUri , chat );
claudeAgent.ts
1696
>
if ( ! sdkId ) {
1697
return [];
1698
}
1699
>
const turns = await this . _reconstructTurns ( sdkId , chat , context . target );
claudeAgent.ts
1700
>
const sideChat = this . _resolveChatBacking ( chat ) ? . sideChat ;
1701
>
return stripSideChatContext ( turns . slice ( sideChat ? . inheritedTurnCount ?? 0 ), sideChat );
1702
>
}
1703
1704
const sess = context . target ;
src/vs/platform/agentHost/node/agentPeerChats.ts 2 introduced LOC · 1 range
Open complete file
292
/** Uniform lookup: the chat's session (default OR peer) by its chat-URI key. */
293
getChat ( chatKey : string ) : TSession | undefined {
295
>
}
296
297
/** Uniform lookup with default-vs-peer identity from the entry that resolved the chat. */
src/vs/platform/agentHost/node/claude/claudeSubagentRegistry.ts 2 introduced LOC · 1 range
Open complete file
245
function extractAgentIdPair ( part : ResponsePart ) : { toolCallId : string ; agentId : string } | undefined {
246
if ( part . kind !== ResponsePartKind . ToolCall ) {
248
>
}
249
const state = part . toolCall ;
250
if ( ! SUBAGENT_TOOL_NAMES . has ( state . toolName )) {