sessionDatabase.ts ×1
Frontier kind: Code frontier
unlabeled · c_7b28f99382ca
80 tests · 13954 LOC · 48 files · introduces 0 tests · 6 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
1 range 6 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.
sessionDatabase.ts ×1 — Focused concept
Introduced files:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotSessionLauncher.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.test|title=CopilotAgent contextSize to contextTier mapping uses long_context when model has no surcharge, no explicit selection and preferLongContext is enabled|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.test|title=CopilotAgent contextSize to contextTier mapping leaves the SDK on its default tier when model has no surcharge and no explicit selection|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.test|title=CopilotAgent contextSize to contextTier mapping maps the default numeric context size to default|occurrence=1, copilotAgent.test|title=CopilotAgent contextSize to contextTier mapping maps the largest numeric context size to long_context|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotSessionLauncher.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotSessionLauncher.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotSessionLauncher.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×2 — Ancestor (broader)
Introduced files:
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:
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:
copilotAgent.ts ×7 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) session config persistence createSession + restoreSession round-trip restores initial config without any mid-session changes|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) session config persistence restoreSession overlays persisted config values onto the resolved config|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×2 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) session config persistence createSession persists initial config values to the session DB|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) session config persistence createSession does not write configValues when there are no values|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) aggregation listSessions overlays the AH-owned workspaceless marker for any agent|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) aggregation listSessions overlays custom title from session database|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSideEffects.test|title=AgentSideEffects title persistence handleListSessions returns persisted custom title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentHostChangesetService.ts ×6 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×3 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
copilotAgent.ts ×8 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSideEffects.test|title=AgentSideEffects title persistence SessionConfigChanged persists merged config values to the database|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSideEffects.test|title=AgentSideEffects title persistence SessionConfigChanged notifies the agent with the post-reducer merged values|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.test|title=CopilotAgent listSessions only returns sessions with a database|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.test|title=CopilotAgent listSessions reads stored metadata from sessions with a database|occurrence=1, copilotAgent.test|title=CopilotAgent listSessions does not itself re-emit the workspaceless tag (AgentService overlays it centrally)|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSideEffects.test|title=AgentSideEffects title persistence SessionTitleChanged persists to the database|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.test|title=CopilotAgent returns empty models and lists sessions before authentication|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×9 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×1 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×8 — Ancestor (broader)
Introduced files:
copilotAgent.ts ×5 — Ancestor (broader)
Introduced files:
historyRecordFixtures.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
historyRecordFixtures.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
historyRecordFixtures.ts ×5 — Ancestor (broader)
Introduced files:
fileEditTracker.test|title=FileEditTracker tracks edit for newly created file (no before content)|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
fileEditTracker.ts ×1 — Ancestor (broader)
Introduced files:
fileEditTracker.test|title=FileEditTracker tracks edit start and complete for existing file|occurrence=1 — Ancestor (broader)
Introduced tests:
fileEditTracker.test|title=FileEditTracker before and after content can be read from database|occurrence=1 — Ancestor (broader)
Introduced tests:
fileEditTracker.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDataService.test|title=SessionDataService — openDatabase ref-counting returns a functional database reference|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDataService.test|title=SessionDataService — openDatabase ref-counting new reference after all disposed gets a fresh database|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDataService.test|title=SessionDataService — openDatabase ref-counting database remains usable until last reference is disposed|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.test|title=SessionDatabase chat drafts setChatDraft and getChatDraft round-trip|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.test|title=SessionDatabase reviewed files getReviewedFiles returns all entries in insertion order|occurrence=1, sessionDatabase.test|title=SessionDatabase reviewed files marking the same (uri, nonce) twice keeps a single entry|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.test|title=SessionDatabase file edits replace on conflict (same toolCallId + filePath)|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase turns deleteTurn cascades to file edits|occurrence=1, sessionDatabase.test|title=SessionDatabase turns deleteTurn only removes its own edits|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase file edits store and retrieve a file edit|occurrence=1, sessionDatabase.test|title=SessionDatabase file edits retrieve edits across multiple tool calls|occurrence=1, +1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase file edits auto-creates turn if it does not exist|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase file edits persists binary content correctly|occurrence=1, sessionDatabase.test|title=SessionDatabase file edits readFileEditContent returns content on demand|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase lazy open first async call opens and migrates the database|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.test|title=SessionDatabase lazy open multiple concurrent calls share the same open promise|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.test|title=SessionDatabase initialization retries after a transient initialization failure|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase session metadata metadata persists across reopen|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase session metadata setMetadata overwrites existing value|occurrence=1, sessionDatabase.test|title=SessionDatabase session metadata setMetadata and getMetadata round-trip|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.test|title=SessionDatabase turns createTurn is idempotent|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.test|title=SessionDatabase dispose methods throw after dispose|occurrence=1 — Ancestor (broader)
Introduced tests:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×2 — Ancestor (broader)
Introduced files:
sessionDatabase.ts ×2 — Descendant (narrower)
Introduced files:
sessionDatabase.ts ×2 — Descendant (narrower)
Introduced files:
sessionDatabase.ts ×50 — Descendant (narrower)
Introduced files:
buffer.test|title=Buffer Performance issue with VSBuffer#slice #76076|occurrence=1 — Descendant (narrower)
Introduced tests:
async.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×202 — Descendant (narrower)
Introduced files:
resources.ts ×23 — Descendant (narrower)
Introduced files:
network.ts ×20 — Descendant (narrower)
Introduced files:
strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower)
Introduced tests:
extpath.ts ×17 — Descendant (narrower)
Introduced files:
strings.ts ×101 — Descendant (narrower)
Introduced files:
sessionState.ts ×57 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
cancellation.ts ×18 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×93 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
commands.ts ×1 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
state.ts ×1 — Descendant (narrower)
Introduced files:
uri.test|title=URI URI#file, win-speciale|occurrence=1, charCode.test|title=CharCode has good values|occurrence=1, +2 — Descendant (narrower)
Introduced tests:
utils.ts ×3 — Descendant (narrower)
Introduced files:
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:
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: 6 introduced LOC across 1 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/node/sessionDatabase.ts 6 introduced LOC · 1 range
Open complete file
745
*/
746
private _track < T >( fn : () => Promise < T >) : Promise < T > {
748
>
this . _pendingWrites . add ( p );
749
>
const untrack = () => { this . _pendingWrites . delete ( p ); };
750
>
p . then ( untrack , untrack );
751
>
return p ;
752
>
}
753
754
async close() {