reducer.ts ×1
Frontier kind: Code frontier
unlabeled · c_303917769f66
68 tests · 12774 LOC · 56 files · introduces 0 tests · 1 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
1 range 1 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.
reducer.ts ×1 — Focused concept
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.test|title=AgentService (node dispatcher) subagent membership sequencing subscribe to a subagent chat announced via _meta.subagentChatUri waits for the resource instead of failing immediately|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
reducer.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.test|title=AgentService (node dispatcher) empty-session GC a session with at least one turn is not GC-disposed|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×3 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×4 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×6 — Ancestor (broader)
Introduced files:
agentService.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.test|title=AgentService (node dispatcher) user-message attachment rewriting snapshots EmbeddedResource attachments to disk and rewrites to a Resource URI under the session attachments folder|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) dispatchAction aborts pending AI title generation when session is disposed|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
agentService.ts ×6 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) subagent membership sequencing a subagent chat survives subagent_completed (stays live and subscribable, its turn completed)|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×5 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.test|title=AgentService (node dispatcher) createChat side chats creates a side chat from the current active turn|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) subscriber refcount eviction a session with an active turn is NOT evicted when its last subscriber drops|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) subagent membership sequencing membership stays a single entry when the agent also mirrors the subagent onto onDidSpawnChat, regardless of order|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) subagent membership sequencing a subagent_started signal yields exactly one catalog entry with the parent origin, title, and a started turn|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.test|title=AgentService (node dispatcher) subagent membership sequencing a subagent_started signal without a taskDescription falls back to the agent display name for the tab title|occurrence=1, agentService.test|title=AgentService (node dispatcher) subagent membership sequencing the spawned catalog chat is resolvable from the inline pill resource via parseChatUri (the Open-Subagent contract)|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) registerProvider maps progress events to protocol actions via onDidAction|occurrence=1 — Ancestor (broader)
Introduced tests:
_meta on rewrite|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) dispatchAction does not overwrite a manual rename with delayed AI title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×3 — Ancestor (broader)
Introduced files:
agentService.test|title=AgentService (node dispatcher) dispatchAction generates and persists an AI title after first-turn fallback title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentHostStateManager.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.test|title=AgentService (node dispatcher) dispatchAction leaves fallback title when AI title generation fails|occurrence=1 — Ancestor (broader)
Introduced tests:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
agentService.ts ×10 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.ts ×1 — Ancestor (broader)
Introduced files:
agentService.ts ×2 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
rename and drains the message queued behind it|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSideEffects.ts ×1 — Ancestor (broader)
Introduced files:
agentSideEffects.test|title=AgentSideEffects handleAction — ! terminal command seeds the session title from the ! command when the session is untitled|occurrence=1 — Ancestor (broader)
Introduced tests:
rename to a title change and completes the turn without calling the agent|occurrence=1 — Ancestor (broader)
Introduced tests:
renameLocalCommand.ts ×2 — Ancestor (broader)
Introduced files:
agentSideEffects.test|title=AgentSideEffects immediate title on first turn normalizes whitespace and truncates long messages|occurrence=1, agentSideEffects.test|title=AgentSideEffects immediate title on first turn dispatches titleChanged with user message on first turn|occurrence=1 — Ancestor (broader)
Introduced tests:
protocolServerHandler.test|title=ProtocolServerHandler reconnect replays missed actions|occurrence=1 — Ancestor (broader)
Introduced tests:
protocolServerHandler.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
protocolServerHandler.test|title=ProtocolServerHandler client disconnect cleans up|occurrence=1 — Ancestor (broader)
Introduced tests:
protocolServerHandler.test|title=ProtocolServerHandler actions are scoped to subscribed sessions|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostStateManager.test|title=AgentHostStateManager does not emit sessionSummaryChanged for deleted session|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostStateManager.test|title=AgentHostStateManager coalesces multiple summary changes into one notification|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostConversationContext.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
agentHostStateManager.test|title=AgentHostStateManager emits sessionSummaryChanged when summary changes|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedTitleFromFirstMessage replaces a provisional title with a generated title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController refineTitleFromFirstTurn does not clobber a title changed in the meantime|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedTitleFromFirstMessage persists its fallback when replacing a provisional title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController generateForkedTitle replaces the inherited title using the whole forked conversation|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedTitleFromFirstMessage applies fallback and persists generated title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController cancelTitleGeneration cancels delayed generated title application|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController generateForkedTitle does not clobber a title changed during generation|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedTitleFromFirstMessage does not clobber a changed title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.ts ×3 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×2 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×2 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×4 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×5 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedProvisionalTitle does not clobber a changed title|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedProvisionalTitle refreshes a provisional title with a later suggestion|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.test|title=AgentHostSessionTitleController seedProvisionalTitle titles the session from the suggestion without generating|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostSessionTitleController.ts ×2 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×2 — Ancestor (broader)
Introduced files:
agentHostSessionTitleController.ts ×1 — Ancestor (broader)
Introduced files:
agentHostStateManager.test|title=AgentHostStateManager serverSeq increments monotonically|occurrence=1 — Ancestor (broader)
Introduced tests:
agentHostStateManager.test|title=AgentHostStateManager multi-chat catalog session title and default chat title stay independent once multi-chat|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSubscription.test|title=SessionStateSubscription fires onDidChange on optimistic apply|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSubscription.test|title=SessionStateSubscription buffers envelopes before snapshot and replays after|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSubscription.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
agentSubscription.ts ×2 — Ancestor (broader)
Introduced files:
agentSubscription.ts ×3 — Ancestor (broader)
Introduced files:
agentSubscription.test|title=SessionStateSubscription clearPending resets optimistic state|occurrence=1 — Ancestor (broader)
Introduced tests:
agentSubscription.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
sessionReducers.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×1 — Descendant (narrower)
Introduced files:
reducer.ts ×29 — Descendant (narrower)
Introduced files:
reducer.ts ×14 — Descendant (narrower)
Introduced files:
sessionActions.ts ×6 — Descendant (narrower)
Introduced files:
sessionState.ts ×57 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×3 — Descendant (narrower)
Introduced files:
cancellation.ts ×18 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1, lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×93 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×4 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×8 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication disposes entries no longer in model|occurrence=1 — Descendant (narrower)
Introduced tests:
uri.ts ×10 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication mixed unique and duplicate IDs|occurrence=1, languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication creates new entry when none exists|occurrence=1, +4 — Descendant (narrower)
Introduced tests:
state.ts ×1 — Descendant (narrower)
Introduced files:
commands.ts ×1 — Descendant (narrower)
Introduced files:
equals.ts ×14 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
actions.ts ×1 — Descendant (narrower)
Introduced files:
actions.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:
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 ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lazy.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — 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:
iterator.ts ×1 — 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: 1 introduced LOC across 1 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentHost/common/state/protocol/channels-session/reducer.ts 1 introduced LOC · 1 range
Open complete file
155
156
case ActionType.SessionTitleChanged :
157
>
return { ... state , title : action.title };
reducer.ts
158
159
case ActionType.SessionIsReadChanged :