*/
clearPendingToolCalls(logService: ILogService): void {
}
}
Frontier kind: Code frontier
unlabeled · c_a2615ea668d3
92 tests · 24160 LOC · 107 files · introduces 0 tests · 37 LOC · 1 file
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.
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.
Every exact file and test below is linked only from the concept that introduces it.
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeAgent on a peer chat persists to its overlay so a later resume picks it up|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats.changeAgent on a peer persists to its overlay so a later resume picks it up (parity with legacy changeAgent)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeAgent on a materialized session triggers a rebind with the new Options.agent on the rebuilt Query|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeAgent(undefined) clears the selection: rebind, Options.agent omitted|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats.fork forks the source chat; chats.sendMessage resumes the peer chat's own forked SDK session|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createChat({ fork }) forks the source chat; the peer chat resumes its own forked SDK session|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations sendMessage to a peer chat targets a chat distinct from the parent session|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent multiple text blocks each get a distinct partId; deltas route correctly|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent text content_block emits ChatResponsePart(Markdown) before ChatDelta|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) intermediate result during steering does NOT complete the in-flight sendMessage or fire ChatTurnComplete|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent (Phase 9 — runtime mutation surface) intermediate result during steering does NOT settle the original sendMessage promise (regression for C1)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent (Phase 8 — file edit tracking via SDK message stream) Options carries enableFileCheckpointing on and no SDK hooks (file-edit tracking is observed off the message stream, not via user-bypassable hooks)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent (Phase 8 — file edit tracking via SDK message stream) Options carries forwardSubagentText: true so live subagent text + thinking flow through (Phase 12 step 1)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent first sendMessage on a provisional session materializes it (single startup, single materialize event)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent materialize event payload shape — { session, workingDirectory, project: undefined }|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent result emits ChatUsage immediately before ChatTurnComplete|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent sendMessage tags SDKUserMessage.uuid with the effective turn id (M1 / Turn.id ↔ uuid invariant)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeMapSessionEvents.test|title=claudeMapSessionEvents — direct mapper tests result success does not derive credits from total_cost_usd|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeMapSessionEvents.test|title=claudeMapSessionEvents — direct mapper tests result success emits ChatUsage (with model); ChatTurnComplete now lives on the pipeline, not the mapper|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeMapSessionEvents.test|title=claudeMapSessionEvents — direct mapper tests result success without modelUsage omits the model field on ChatUsage|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication creates new entry when none exists|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication duplicate IDs with existing entry - fixed version reuses existing|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication duplicate status IDs - buggy version leaks entry|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication duplicate status IDs - fixed version reuses entry from current update|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication mixed unique and duplicate IDs|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/workbench/contrib/languageStatus/test/common/languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication reuses existing entry from previous update|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/charCode.test|title=CharCode has good values|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/path.test|title=Paths (Node Implementation) path|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI File paths containing apostrophes break URI parsing and cannot be opened #276075|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/base/test/common/uri.test|title=URI URI#file, win-speciale|occurrence=1Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 37 introduced LOC across 7 ranges. Expand a file to inspect source; the > gutter marks introduced lines.
*/
clearPendingToolCalls(logService: ILogService): void {
}
}
);
case 'result':
return mapResult(message, chat, turnId, turnDuration, state, logService, registry);
claudeMapSessionEvents.ts
case 'assistant':
return tagWithParent(
}
message: Extract<SDKMessage, { type: 'result' }>,
session: URI,
turnId: string,
turnDuration: number | undefined,
state: ClaudeMapperState,
logService: ILogService,
registry: SubagentRegistry,
): AgentSignal[] {
const signals: AgentSignal[] = [];
if (message.subtype === 'success') {
// `modelUsage` is keyed by model name; pick the first key as the
// reported model. Phase 6 turns are single-model; multi-model
});
}
// Surface execution errors (e.g. an upstream CAPI failure relayed by the
// proxy) as a ChatError so the turn renders an error instead of
// completing empty. Mirrors the Copilot Chat extension's
// `handleResultMessage`. The proxy embeds a `VSCODE_PROXY_ERROR` marker in
// the error text, which we decode into `_meta` for rich, localized
// messaging (rate limit, quota + upgrade affordance, etc.).
const errorText = getResultErrorText(message);
if (errorText !== undefined) {
signals.push({
kind: 'action',
});
}
// `ClaudeSdkPipeline.onTurnComplete`, NOT here. The pipeline knows
// when the protocol Turn is truly done (queue fully drained vs an
// intermediate result during a steering preempt — CONTEXT.md M10);
// the mapper does not have that state.
state.clearPendingToolCalls(logService);
// Phase 12 — drain orphaned subagent-spawning entries (foreground
// only; background entries survive across turns by design). The
// registry owns this state; the mapper drives the drain at turn end.
for (const orphan of registry.drainForegroundSpawns()) {
logService.warn(`[claudeMapSessionEvents] turn ended with pending subagent-spawning tool_use ${orphan.toolUseId} (agentId=${orphan.agentId ?? '<unresolved>'}); dropping cross-message state`);
}
}
/**
* `getResultErrorText`.
*/
function getResultErrorText(message: Extract<SDKMessage, { type: 'result' }>): string | undefined {
claudeMapSessionEvents.ts
if (message.subtype === 'success') {
return message.is_error ? message.result : undefined;
}