mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-19 14:22:19 +01:00
* Add prompt timeline rail to the Agents window Introduce a right-edge "prompt timeline" rail in the Agents window that lets users scan and jump between the prompts they have sent in a chat session, adapted from GitHub's "jump to your messages" affordance. - Self-contained contrib under src/vs/sessions/contrib/promptTimeline, attached per-widget via IChatWidgetContrib (no vs/workbench changes). - Recency-bucketed ticks (pure, unit-tested budgetBucketPrompts) capped so each tick keeps a >=24px hit target (WCAG 2.5.8). - Dense marks at rest that expand on hover/focus, with green/red per-turn diff magnitude and a solid-blue active mark. - Interactive hover card: prompt text, clickable +/- diff stats that open the per-request diff, and per-file drill-down rows. - Per-request diffs via provider-agnostic IChatResponseFileChangesService (agent-host server-computed turn changeset) with editing-session fallback; diff sides are probed so missing checkpoint blobs render as a pure add/delete instead of crashing the multi-diff editor. - Keyboard-first commands: Go to Next/Previous Prompt, Go to Prompt... (quick pick), Review Changes for Prompt, with ARIA announcements. - Gated behind the new sessions.promptTimeline.enabled setting and ChatContextKeys.enabled; rail is created/disposed reactively. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: quiet gray-dense rail with single-mark accordion Replace the whole-rail expand-on-engage behavior with a per-mark accordion. The rail now stays quiet, gray and dense at all times; only the mark under the pointer (or keyboard focus) expands to a >=24px pill and reveals its green/red diff, so the rail no longer becomes a column of slim pills with large gaps when interacted with. - CSS: drop the `.engaged` whole-rail slot expansion and the transform fisheye; expand only `:hover`/`:focus-visible` marks (8px -> 24px slot, fat pill, diff colors). Active mark stays solid blue in every state. - Rail: remove the fisheye magnify, the engaged-state tracking, and the magnitude width buckets; capacity now reserves headroom for a single expanded mark over the dense 8px rhythm, so more prompts fit. - Drop the now-unused --tick-scale/--tick-scale-y custom properties. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: open per-file diff inside the multi-diff, revealed at that file Clicking a file row in the hover card previously opened a standalone single-file diff. Route it through the same multi-file diff we already build for "Review Changes", passing viewState.revealData so it opens revealed at the clicked file. Per-file and whole-prompt review now share one multi-diff experience (and open in the modal editor when enabled), reusing the existing MultiDiffEditorInput without any new UI. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: show per-turn diffs against the frozen after-turn snapshot The per-prompt diff was rendering before-turn vs the live working file, so it showed the combined changes of all later turns. The per-turn changeset already carries a frozen "after" snapshot; surface it and diff against it. - Add optional `modifiedContentURI` to IEditSessionEntryDiff: the frozen after-state RHS content, distinct from `modifiedURI` (the live file used for identity / go-to-file). Opt-in, so existing consumers (e.g. the chat "Changed N files" summary) keep their current behavior unchanged. - Populate it in AgentHostResponseFileChangesProvider from the changeset's after-content; extend its test to assert the mapping. - PromptTimelineModel now diffs originalURI (frozen before) against the frozen after snapshot, so review shows only that turn's changes, while go-to-file still opens the live working file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: add an overview-ruler style selectable by setting Introduce a second rail style and let users choose via the new sessions.promptTimeline.style setting ('compact' | 'overview'). - Extract IPromptTimelineRail as the seam the contrib consumes, and a shared PromptTimelineCard (hover preview) used by both styles. - Rename the existing rail to PromptTimelinePillRail (dense pills). - Add PromptTimelineRulerRail: the session compressed into the rail like the editor overview ruler — proportional marks at their transcript scroll positions, a scrollbar-slider you-are-here thumb, one green "changed code" signal (editorOverviewRuler.addedForeground), focusBorder active, >=24px hit targets. Detail stays in the shared hover card. - Model exposes getScrollLayout()/onDidChangeScrollLayout for proportional positions (per-request offsets via currentRenderedHeight + scrollTop). - Contrib picks the rail class reactively and reuses the enablement swap pattern, wiring setScrollLayout only for rails that support it. All colors come from real theme tokens. Validated: typecheck, eslint, layers, hygiene, unit tests (12 passing). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: position overview-ruler marks from the list layout model The overview-ruler rail placed each mark by accumulating chat items' `currentRenderedHeight`, which the virtualized tree only sets for rows it has actually rendered. Off-screen prompts reported `undefined` (treated as 0), so every not-yet-rendered mark collapsed onto the same position and only spread out as the user scrolled and rows rendered. Read each prompt's top from the list's layout height model instead, the same virtualization-safe source the scrollbar uses (all items have a height via the delegate's `currentRenderedHeight ?? defaultElementHeight`). Threaded a read-only accessor through the layers, all in the list's content-pixel space so the viewport thumb stays aligned: - AbstractTree.getElementTop(location): absolute top (works off-screen), sibling of getRelativeTop. - ChatListWidget.getElementTop / ChatWidget.getElementTop + ChatWidget.scrollHeight. - PromptTimelineModel.getScrollLayout() and _updateActive() now use these instead of accumulating currentRenderedHeight. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: color ruler marks by the turn's add/remove split Ruler marks were a single green "edited" signal, so a delete-heavy turn still showed green. Render the mark as a two-tone bar instead (a green added segment and a red removed segment sized by flexGrow from the turn's diff stat), reusing the pill rail's seg-add/seg-del pattern. Only the non-zero side is appended, so a pure-add turn is fully green and a pure-delete turn fully red, and a 1px min-width keeps the minority color visible on a lopsided split. Segments go transparent while the mark is active so the focusBorder you-are-here color wins. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: fall back to the live file when a turn snapshot is unreadable Per-turn review diffed the frozen before/after turn-checkpoint snapshots so only that turn's changes show. But those checkpoint blobs can be absent (an added file's original, or a pruned/restored session where whole turn checkpoints are gone). When both sides were unreadable every item was dropped and reviewChanges opened nothing at all. _readableSides now still prefers the frozen snapshots but falls back to the live working file for the modified side when the checkpoint blob is unreadable, so review always opens with the best available fidelity. An unreadable side is still dropped so the file renders as a clean add/delete instead of crashing the diff editor. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: drop the pill style, keep only the overview ruler The rail shipped with two selectable styles (dense pills vs overview ruler) behind sessions.promptTimeline.style. We're standardizing on the overview-ruler UX, so remove the pill style and the setting entirely (the on/off sessions.promptTimeline.enabled setting stays). - Delete promptTimelinePillRail.ts and the PROMPT_TIMELINE_STYLE_SETTING / PromptTimelineStyle enum. - The contribution always builds the ruler rail; drop the style-based swap, the capacity->display-budget wiring, and the optional setScrollLayout indirection (now required on the interface). - Model no longer tracks a dynamic display budget; ticks bucket against the constant MAX_TICKS (still caps very long sessions). - Remove the pill-only CSS; the overflow rule now hides the ruler marks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: address review feedback on grouped-tick diffs and read probes Two fixes from a council review: - getRequestFiles: when a grouped tick edits the same file in more than one prompt, advance the merged entry's diffModifiedURI to the later prompt's after-snapshot (keeping the earliest originalURI) so the opened multi-diff spans the whole tick instead of only the first edit. - _canRead: probe availability with readFile(resource, { length: 1 }) instead of reading whole (potentially large) file contents just to test whether a diff side is readable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: refresh comments left over from earlier iterations Comment-only cleanup after removing the pill style and the display-budget mechanism: drop the stale "or budget", "(like the pill rail)", and "visual density" references so the docs match the single overview-ruler implementation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: gate the enabled setting behind an experiment Put sessions.promptTimeline.enabled behind the experimentation service via the `experiment: { mode: 'startup' }` property (the sanctioned way for core TS-registered settings; the registry auto-adds the onExP tag). Default is now false so the rail is off until the experiment (or the user) turns it on. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: address PR review feedback and fix class-field init order Review fixes: - Remove the redundant GoToNext/GoToPrevious commands: they duplicated and collided with the built-in chat nextUserPrompt/previousUserPrompt keybindings (same chord, weight, when). Drop the two actions, their command ids, contrib.navigate(), and model.getSiblingTick(). GoToPrompt and ReviewChanges stay. - Fix the active-mark fallback: when scrolled above the oldest prompt, highlight the oldest tick (ticks.at(0)), not the newest (ticks.at(-1)). - Replace the getComputedStyle probe + unreverted host `position` mutation with a lifecycle-scoped `.prompt-timeline-host` class removed on teardown. - Give the overview-ruler toolbar a proper keyboard model: aria-orientation, roving tabindex (a single Tab stop) and Arrow/Home/End navigation between marks. Also assign `_sessionResource` in the constructor instead of a field initializer: it reads `this.widget`, which under useDefineForClassFields is not yet assigned when field initializers run (fixes the define-class-fields-check / TS2729). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: stop showing the unreliable per-prompt timestamp Agent-host sessions don't record per-turn timestamps; the transcript is reconstructed via ChatModel.addRequest(), which stamps Date.now(), so every prompt showed ~the current time. Since the real send times aren't available to recover, drop the absolute time from the hover card and the "Go to Prompt" picker. Grouped ticks still show their prompt count; the prompt text and diff stats (both reliable) are unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Prompt timeline: act on PR review (remove ReviewChanges action; rename modifiedContentURI) - Remove the ReviewPromptChangesAction command: per-prompt review is already available from the hover card, so the palette/keyboard entry point was redundant. Drops the command id and the now-unused contrib.getActiveTick() / contrib.reviewChanges() bridge (model.reviewChanges stays, wired to the card). - Rename IEditSessionEntryDiff.modifiedContentURI -> modifiedSnapshotURI: it's the frozen after-turn snapshot content, and "snapshot" reads clearer next to modifiedURI (the live file) than "content". - Clarify in comments that this field is distinct from the agent-host checkpoint- ref readability fix (#323932): that made the snapshot blobs readable; this carries which snapshot to diff against so a per-turn review shows only that turn's changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
773 lines
16 KiB
JSON
773 lines
16 KiB
JSON
{
|
|
"editor": [
|
|
{
|
|
"name": "vs/platform",
|
|
"project": "vscode-editor"
|
|
},
|
|
{
|
|
"name": "vs/editor/contrib",
|
|
"project": "vscode-editor"
|
|
},
|
|
{
|
|
"name": "vs/editor",
|
|
"project": "vscode-editor"
|
|
},
|
|
{
|
|
"name": "vs/base",
|
|
"project": "vscode-editor"
|
|
}
|
|
],
|
|
"workbench": [
|
|
{
|
|
"name": "vs/code",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/api/common",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/bulkEdit",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/cli",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/codeEditor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/callHierarchy",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/typeHierarchy",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/codeActions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/commands",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/markdown",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/comments",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/debug",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/dialogs",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/multiDiffEditor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/emmet",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/assignment",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/auxiliaryWindow",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/extensions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/externalTerminal",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/files",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/folding",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/html",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/issue",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/inlayHints",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/interactive",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/languageStatus",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/limitIndicator",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/keybindings",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/markers",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/mergeEditor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/localization",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/logs",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/output",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/performance",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/preferences",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/notebook",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/inlineChat",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/imageCarousel",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/agentsVoice",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/chat",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/quickaccess",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/userData",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/remote",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/relauncher",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/sash",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/scm",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/search",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/searchEditor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/snippets",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/format",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/tags",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/speech",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/styleOverrides",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/surveys",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/tasks",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/testing",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/terminal",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/terminalContrib",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/themes",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/trust",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/update",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/url",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/watermark",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/webview",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/webviewPanel",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/workspace",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/workspaces",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/customEditor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/externalUriOpener",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeGettingStarted",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeOnboarding",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/onboarding",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomePage",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeViews",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeWalkthrough",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeDialog",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/outline",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/userDataSync",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/editSessions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/views",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/languageDetection",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/accessibilitySignals",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/bracketPairColorizer2Telemetry",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/scrollLocking",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/remoteTunnel",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/actions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/authToken",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/backup",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/bulkEdit",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/clipboard",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/commands",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/configuration",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/configurationResolver",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/dialogs",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/editor",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/extensions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/extensionManagement",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/files",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/filesConfiguration",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/history",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/hover",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/log",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/integrity",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/keybinding",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/lifecycle",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/language",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/policies",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/progress",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/remote",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/search",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/suggest",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/textfile",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/themes",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/textMate",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/workingCopy",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/workspaces",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/decorations",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/label",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/preferences",
|
|
"project": "vscode-preferences"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/notification",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/userData",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/userDataSync",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/editSessions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/views",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/timeline",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/localHistory",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/authentication",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/extensionRecommendations",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/gettingStarted",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/host",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/userDataProfile",
|
|
"project": "vscode-profiles"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/userDataProfile",
|
|
"project": "vscode-profiles"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/localization",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/share",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/accessibility",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/issue",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/secrets",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/accountEntitlements",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/authentication",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/replNotebook",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/list",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/browserView",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/dropOrPasteInto",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/editTelemetry",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/inlineCompletions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/mcp",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/meteredConnection",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/processExplorer",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/remoteCodingAgents",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/telemetry",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/contrib/welcomeAgentSessions",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/accounts",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/chat",
|
|
"project": "vscode-workbench"
|
|
},
|
|
{
|
|
"name": "vs/workbench/services/request",
|
|
"project": "vscode-workbench"
|
|
}
|
|
],
|
|
"sessions": [
|
|
{
|
|
"name": "vs/sessions",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/automations",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/accountMenu",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/agentFeedback",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/providers",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/providers/agentHost",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/aiCustomizationTreeView",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/applyCommitsToParentRepo",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/changes",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/chat",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/promptTimeline",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/providers/copilotChatSessions",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/configuration",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/codeReview",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/fileTreeView",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/files",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/search",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/policyBlocked",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/git",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/github",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/layout",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/logs",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/providers/remoteAgentHost",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/sessions",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/sessionInputBanners",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/terminal",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/welcome",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/aquarium",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/chatDebug",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/tunnelHost",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/editor",
|
|
"project": "vscode-sessions"
|
|
},
|
|
{
|
|
"name": "vs/sessions/contrib/onboardingTours",
|
|
"project": "vscode-sessions"
|
|
}
|
|
]
|
|
}
|