copilotGitProject.ts ×3
Frontier kind: Code frontier
unlabeled · c_a3769201e00c
179 tests · 5372 LOC · 28 files · introduces 0 tests · 5 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
3 ranges 5 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.
copilotGitProject.ts ×3 — Focused concept
Introduced files:
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeSdkPipeline.ts ×5 — Ancestor (broader)
Introduced files:
Introduced tests:
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:
Introduced tests:
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:
Introduced tests:
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:
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:
Introduced tests:
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:
Introduced tests:
copilotAgent.ts ×2 — Ancestor (broader)
Introduced files:
claudeAgent.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
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:
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:
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 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.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 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:
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:
claudeAgent.ts ×4 — 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:
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:
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:
Introduced tests:
claudeSdkMessageRouter.ts ×1 — Ancestor (broader)
Introduced files:
Phase 6.1 C2)|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:
Introduced tests:
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:
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:
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:
claudeAgent.test|title=ClaudeAgent createSession({ fork }) at the last turn anchors on that turn's assistant|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgent.ts ×2 — 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:
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:
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:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×7 — Ancestor (broader)
Introduced files:
mcpCustomizationController.ts ×1 — Ancestor (broader)
Introduced files:
copilotGitProject.ts ×2 — Ancestor (broader)
Introduced files:
copilotGitProject.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotGitProject.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotGitProject.test|title=Copilot Git Project returns undefined outside a git working tree|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotGitProject.ts ×1 — Ancestor (broader)
Introduced files:
copilotGitProject.ts ×1 — Ancestor (broader)
Introduced files:
copilotGitProject.ts ×3 — Ancestor (broader)
Introduced files:
copilotGitProject.ts ×3 — Descendant (narrower)
Introduced files:
network.ts ×20 — Descendant (narrower)
Introduced files:
strings.ts ×101 — Descendant (narrower)
Introduced files:
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:
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 ×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:
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: 5 introduced LOC across 3 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/node/copilot/copilotGitProject.ts 5 introduced LOC · 3 ranges
Open complete file
16
}
17
18
>
export async function resolveGitProject ( workingDirectory : URI | undefined , gitService : IAgentHostGitService ) : Promise < IAgentSessionProjectInfo | undefined > {
copilotGitProject.ts
19
>
if ( ! workingDirectory || workingDirectory . scheme !== Schemas . file ) {
20
return undefined ;
21
}
27
28
const uri = ( await gitService . getWorktreeRoots ( workingDirectory ))[ 0 ] ?? repositoryRoot ;
30
return undefined ;
31
}
33
>
}
34
35
export function projectFromRepository ( repository : string ) : IAgentSessionProjectInfo | undefined {