copilotGitProject.test|title=Copilot Git Project returns undefined outside a git working tree|occurrence=1
Frontier kind: Test frontier
unlabeled · c_19c6bc763a31
175 tests · 5395 LOC · 28 files · introduces 1 test · 0 LOC · 0 files
Introduces — evidence that enters the hierarchy at this concept
- Code
- 0 ranges0 lines · 0 files
- Tests
- 1 test
Contains — complete concept membership
- All code (extent)
- 778 ranges5395 lines · 28 files · Browse complete extent
- All tests (intent)
- 175 testsBrowse complete intent
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.
Native relationship evidence
Every exact file and test below is linked only from the concept that introduces it.
- copilotGitProject.test|title=Copilot Git Project returns undefined outside a git working tree|occurrence=1 — Focused concept Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
-
claudeSdkPipeline.ts ×5 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgentSession.ts
- src/vs/platform/agentHost/node/claude/claudeSdkPipeline.ts
- src/vs/platform/agentHost/node/claude/customizations/scan/claudeMcpScan.ts
- src/vs/platform/agentHost/node/shared/mcpCustomizationController.ts
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations surfaces a native plugin captured from the live SDK init.plugins (path filter)|occurrence=1 — Ancestor (broader) Introduced tests:
- copilotAgent.ts ×4 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent materialize resolves the SDK agent name from the file frontmatter, not the filename|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations mid-turn reducer toggle reconciles before the following send|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
-
claudeSessionMetadataStore.ts ×2 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeSessionMetadataStore.ts
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=1
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations derives the Built-in container from the live SDK command set post-materialize|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeSdkPipeline.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim getSessionCustomizations coalesces burst watcher changes into one discovered refresh publish|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeSdkPipeline.ts ×3 — Ancestor (broader) 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 ×1 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeAgentSession.ts
- copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim getSessionCustomizations publishes discovered files as Directory customizations|occurrence=1 — Ancestor (broader) Introduced tests:
-
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
mocha: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=1
- copilotAgent.test|title=CopilotAgent provisional sessions materialization skips managed shell tools when root config disables the custom terminal tool|occurrence=1 — Ancestor (broader) Introduced tests:
-
claudeAgentSession.ts ×3 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeAgentSession.ts
- copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim getSessionCustomizations clears discovered files when the root disappears|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×3 — Ancestor (broader) Introduced files:
-
sessionCustomizationDiscovery.ts ×3 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/copilot/copilotAgent.ts
- src/vs/platform/agentHost/node/copilot/sessionCustomizationDiscovery.ts
- copilotAgent.ts ×2 — Ancestor (broader) Introduced files:
-
claudeAgent.ts ×1 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeSdkPipeline.ts
- sessionCustomizationDiscovery.ts ×6 — Ancestor (broader) Introduced files:
-
copilotAgent.test|title=CopilotAgent provisional sessions materialization passes VS Code-specific system message to the SDK|occurrence=1, copilotAgent.test|title=CopilotAgent provisional sessions materialization forwards the GitHub token to the SDK at the session level (#318693)|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions materialization forwards the GitHub token to the SDK at the session level (#318693)|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions materialization passes VS Code-specific system message to the SDK|occurrence=1
-
copilotAgent.test|title=CopilotAgent provisional sessions sendMessage on the default chat materializes the parent provisional session|occurrence=1, copilotAgent.test|title=CopilotAgent customization anchoring materialization without a worktree keeps the anchor on the original folder|occurrence=1, +1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent customization anchoring materialization re-anchors customization discovery to the resolved worktree|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent customization anchoring materialization without a worktree keeps the anchor on the original folder|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions sendMessage on the default chat materializes the parent provisional session|occurrence=1
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×10 — Ancestor (broader) Introduced files:
- 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 — Phase 11 customizations reducer-backed customization enablement stays isolated per session|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations overlays the enablement state onto client-pushed entries|occurrence=1 — Ancestor (broader) Introduced tests:
- copilotAgent.ts ×7 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent (Phase 7 §3.4 — _handleCanUseTool) Test 2 — default mode parks, respondToPermissionRequest(false) → deny|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeCanUseTool.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent setClientTools with an equal snapshot does NOT restart|occurrence=1 — Ancestor (broader) Introduced tests:
- §3.8 — permissionMode propagation) Test 16 — live permissionMode update forwards via Query.setPermissionMode on the next sendMessage|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeCanUseTool.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent truncateSession() with no turnId awaits the live query teardown (subprocess exit) before deleteSession|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 truncateSession(turnId) resolves the anchor, restarts at it on the same id, and prunes the DB|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent createSession({ fork }) inherits the source permissionMode overlay|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent the truncation anchor is applied exactly once and not leaked to later rebuilds|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent rebind failure leaves the client-tool diff dirty so the next send retries|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 FakeQuery.setMcpServers stays unmodeled (Phase 10 never calls Query.setMcpServers for client tools)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent createSession({ fork }) forks at the anchor uuid, then materializes lazily on first sendMessage|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent setClientTools registers tools that flow into Options.mcpServers on first materialize|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent setClientTools after materialize triggers yield-restart on next sendMessage with the new tool set|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations send pre-flight: dirty customizations triggers a rebind (SDK plugin URI set is captured at startup, so any change must restart the Query)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- Cycle F)|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.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent setClientTools landing during the materialize gap is re-synced into the live session|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent thinking content_block emits ChatResponsePart(Reasoning) before ChatReasoning|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent (Phase 10.6 — MCP elicitation translation) form-mode elicitation surfaces ChatInputRequested and returns accepted content|occurrence=1 — Ancestor (broader) Introduced tests:
-
claudeAgent.test|title=ClaudeAgent text content_block emits ChatResponsePart(Markdown) before ChatDelta|occurrence=1, claudeAgent.test|title=ClaudeAgent multiple text blocks each get a distinct partId; deltas route correctly|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha: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=1
- claudeAgent.test|title=ClaudeAgent truncateSession() with no turnId on an UNLOADED session deletes + recreates fresh on the same id, preserving the overlay (cold remove-all)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeSdkMessageRouter.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent setClientTools landing during the resume bootstrap gap is re-synced into the live session|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:
- claudeAgent.test|title=ClaudeAgent truncateSession() with no turnId clears the session in place (deleteSession + fresh same id)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats addresses the default chat by the default chat URI (sendMessage routes to the default chat; getMessages mirrors getSessionMessages)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeMapSessionEvents.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeSdkPipeline.ts ×2 — Ancestor (broader) Introduced files:
- claudeCanUseTool.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×4 — Ancestor (broader) Introduced files:
- claudeCanUseTool.ts ×2 — Ancestor (broader) Introduced files:
- 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 a rebuild that fails after reading the anchor keeps it staged so the next send retries the truncation|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeCanUseTool.ts ×3 — Ancestor (broader) Introduced files:
- 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:
- claudeAgent.test|title=ClaudeAgent a pending truncation anchor reaches the next rebuild as Options.resumeSessionAt, consumed once|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations resolves against a provisional session|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
-
claudeSdkPipeline.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
mocha: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=1
- claudeAgent.test|title=ClaudeAgent canonical SDKAssistantMessage with tool_use content drops silently (partial stream owns ChatToolCallStart)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeSdkMessageRouter.ts ×1 — Ancestor (broader) Introduced files:
- 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:
- §3.8 — permissionMode propagation) Test 16b — live state seeded BEFORE first sendMessage flows into Options.permissionMode at materialize|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudePromptResolver.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- 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:
-
claudeAgent.ts ×4 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeAgentSession.ts
- claudeSdkMessageRouter.ts ×1 — Ancestor (broader) Introduced files:
- Phase 6.1 C2)|occurrence=1 — Ancestor (broader) Introduced tests:
- pruneAllTurns reach the session database|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent resumed session keeps overlay-derived permissionMode on turn 2 (no silent flip to default)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeCanUseTool.ts ×5 — Ancestor (broader) Introduced files:
- Phase 6.1 C2)|occurrence=1 — Ancestor (broader) Introduced tests:
-
claudeAgentSession.ts ×2 — Ancestor (broader)
Introduced files:
- src/vs/platform/agentHost/node/claude/claudeAgent.ts
- src/vs/platform/agentHost/node/claude/claudeAgentSession.ts
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent materialize resolves a built-in (claude-internal) agent selection to its name|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent two sendMessage calls reuse the materialized Query|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent _isResumed flips on first system:init|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeSdkPipeline.ts ×1 — Ancestor (broader) Introduced files:
- claudeSdkPipeline.ts ×2 — Ancestor (broader) Introduced files:
-
Turn.id ↔ uuid invariant)|occurrence=1, claudeAgent.test|title=ClaudeAgent result emits ChatUsage immediately before ChatTurnComplete|occurrence=1, +4 — Ancestor (broader)
Introduced tests:
mocha: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=1
- claudeAgentSession.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent sendMessage on a disk-only session (created in another window) resumes from disk|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeSdkPipeline.ts ×3 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×3 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeCanUseTool.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgentSession.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeCanUseTool.ts ×6 — Ancestor (broader) Introduced files:
- claudeElicitationBridge.ts ×1 — Ancestor (broader) Introduced files:
- claudeElicitationBridge.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×5 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×2 — Ancestor (broader) Introduced files:
- claudeCanUseTool.ts ×3 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×3 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent disposing a materialized session aborts the controller and rejects the in-flight send|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- claudeSdkPipeline.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent dispose racing _writeCustomizationDirectory does not orphan the materialized session (C1)|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent agent.dispose() during a racing first sendMessage aborts the provisional and disposes the WarmQuery|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×6 — Ancestor (broader) Introduced files:
-
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeModel on a peer chat fires onDidChangeChatData with the refreshed providerData|occurrence=1, claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats.changeModel on a peer fires onDidChangeChatData with the refreshed providerData (parity with legacy changeModel)|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations changeModel on a peer chat fires onDidChangeChatData with the refreshed providerData|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats.changeModel on a peer fires onDidChangeChatData with the refreshed providerData (parity with legacy changeModel)|occurrence=1
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- agentPeerChats.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations chats.createChat persists a peer chat; getChats lists it; chats.disposeChat removes it|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×6 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim getSessionCustomizations starts initial discovery without debounce|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×12 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createSession eager seeding suppresses orphan customization progress|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent disposing a provisional session never calls SDK startup and removes the record|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations setClientCustomizations forwards each item as a SessionCustomizationUpdated action|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createSession seeds the eager activeClient customizations to the plugin manager|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×4 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×4 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×4 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.test|title=ClaudeAgent disposeSession removes the wrapper but does NOT delete the SDK or DB session|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createSession mints a provisional session and disposeSession tears it down|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×2 — Ancestor (broader) Introduced files:
- <uuid> URI with provisional: true; no DB or SDK contact|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent createSession honors config.session when the workbench pre-mints the URI|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.test|title=ClaudeAgent — Phase 11 customizations createSession without an activeClient does not sync customizations|occurrence=1 — Ancestor (broader) Introduced tests:
- claudeAgent.ts ×3 — Ancestor (broader) Introduced files:
- claudeAgentSession.ts ×1 — Ancestor (broader) Introduced files:
- fileService.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×2 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files:
- claudeAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×12 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.test|title=CopilotAgent peer chat routing and lifecycle disposeSession disposes the session's peer chats|occurrence=1 — Ancestor (broader) Introduced tests:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files: Introduced tests:
- copilotAgent.ts ×2 — Ancestor (broader) Introduced files:
-
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions disposeSession on provisional session does not call client.deleteSession|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions disposeSession on provisional session does not touch SDK or worktree|occurrence=1
- copilotAgent.ts ×3 — Ancestor (broader) Introduced files: Introduced tests:
-
copilotAgent.test|title=CopilotAgent provisional sessions createSession does not call client.createSession or create worktrees|occurrence=1, copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim createSession without activeClient does not sync customizations|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent createSession activeClient eager-claim createSession without activeClient does not sync customizations|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent provisional sessions createSession does not call client.createSession or create worktrees|occurrence=1
- copilotAgent.ts ×8 — Ancestor (broader) Introduced files: Introduced tests:
- copilotAgent.test|title=CopilotAgent chat surface (IAgentChats) disposeSession tears down a provisional session|occurrence=1 — Ancestor (broader) Introduced tests:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files:
-
copilotAgent.test|title=CopilotAgent chat surface (IAgentChats) createSession mints a provisional session|occurrence=1, copilotAgent.test|title=CopilotAgent starts the client and creates a provisional session before authentication|occurrence=1 — Ancestor (broader)
Introduced tests:
mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent chat surface (IAgentChats) createSession mints a provisional session|occurrence=1mocha:v1|namespace=vscode@05c208e9e28d8c1c723fa08f85e2b7a96092e8e5|file=vs/platform/agentHost/test/node/copilotAgent.test|title=CopilotAgent starts the client and creates a provisional session before authentication|occurrence=1
- copilotAgent.ts ×1 — Ancestor (broader) Introduced files:
- copilotAgent.ts ×7 — Ancestor (broader) Introduced files:
- mcpCustomizationController.ts ×1 — Ancestor (broader) Introduced files:
- copilotGitProject.ts ×1 — Descendant (narrower) Introduced files:
- copilotGitProject.ts ×1 — Descendant (narrower) Introduced files:
- copilotGitProject.ts ×3 — Descendant (narrower) Introduced files:
- copilotGitProject.ts ×3 — Descendant (narrower) Introduced files:
- network.ts ×20 — Descendant (narrower) Introduced files:
- strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower) Introduced tests:
- strings.ts ×101 — Descendant (narrower) Introduced files:
- cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower) Introduced tests:
- cancellation.ts ×18 — Descendant (narrower) Introduced files:
- event.ts ×93 — Descendant (narrower) Introduced files:
- uri.ts ×3 — Descendant (narrower) Introduced files:
- uri.ts ×3 — 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:
mocha: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=1
- uri.ts ×2 — Descendant (narrower) Introduced files:
- utils.ts ×3 — Descendant (narrower) Introduced files:
- uri.ts ×1 — Descendant (narrower) Introduced files:
- uri.ts ×9 — Descendant (narrower) Introduced files:
- linkedList.ts ×13 — 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:
- lazy.ts ×1 — Descendant (narrower) Introduced files:
- lazy.ts ×3 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
- uint.ts ×2 — Descendant (narrower) Introduced files:
- lifecycle.ts ×1 — Descendant (narrower) Introduced files:
-
map.ts ×97 — Descendant (narrower)
Introduced files:
- src/vs/base/common/arrays.ts
- src/vs/base/common/arraysFind.ts
- src/vs/base/common/assert.ts
- src/vs/base/common/charCode.ts
- src/vs/base/common/collections.ts
- src/vs/base/common/errors.ts
- src/vs/base/common/functional.ts
- src/vs/base/common/iterator.ts
- src/vs/base/common/lifecycle.ts
- src/vs/base/common/map.ts
- src/vs/base/common/marshallingIds.ts
- src/vs/base/common/path.ts
- src/vs/base/common/platform.ts
- src/vs/base/common/process.ts
- src/vs/base/common/types.ts
- src/vs/base/common/uri.ts
- src/vs/base/test/common/utils.ts
- src/vs/nls.ts
Introduced tests
Every collected test enters the hierarchy at exactly one concept.
1 test introduced at this concept.
Introduced code
Every collected source range enters the hierarchy at exactly one concept.
No code is introduced at this concept. Its 778 extent ranges are introduced by other concepts.