Commit Graph

149886 Commits

Author SHA1 Message Date
Bryan Chen
eac55d867e Merge pull request #306586 from microsoft/copilot/fix-null-reference-error
Fix null crash in task schema fixReferences
2026-03-31 18:16:33 -07:00
Bryan Chen
2f602bd55a Merge branch 'main' into copilot/fix-null-reference-error 2026-03-31 17:56:57 -07:00
Dmitriy Vasyura
fd76bd131a Added setting and command to control post-update info tooltip (#306950)
* Added setting and command to control post-update info tooltip

* PR feedback, enable passing markdown to the test command
2026-04-01 00:09:04 +00:00
Josh Spicer
fcbabe4c73 Merge extension-provided policy (#306874)
* Add merge script for extension configuration policies from distro

Adds build/lib/policies/mergeExtensionPolicies.ts which fetches the
distro's product.json (at the commit pinned in package.json) and merges
extensionConfigurationPolicy entries into policyData.jsonc.

The --export-policy-data step only captures policies from the OSS
configuration registry. Extension policies (e.g., Copilot settings)
are defined in vscode-distro's product.json and are not available in
the OSS dev build. This merge script bridges that gap.

Workflow: ./scripts/code.sh --export-policy-data && node build/lib/policies/mergeExtensionPolicies.ts

Also updates:
- policyExport integration test to run the merge step
- add-policy skill documentation with extension policy lifecycle

* Simplify extension policy format: drop localization block from distro

- mergeExtensionPolicies.ts now reads only description/category from
  the distro and synthesizes localization key/value pairs internally
- Integration test gracefully skips merge step when distro is unavailable
- Updated SKILL.md to document the simplified distro format

* docs: use gh auth token in policy export command

* Handle old distro format missing description/category fields

* docs: add troubleshooting section for merge step in policy skill

* Require description and category fields in extension policy entries

* Add extension configuration policies to policyData.jsonc

* Address PR feedback: fix disclaimer, log targetPath, strip GITHUB_TOKEN from test

* fix: revert extension policies from policyData.jsonc, remove console.log from test

Extension policies should only be added after the distro PR merges.
Test runner disallows console output in tests.

* Add mock distro test for mergeExtensionPolicies, remove merge from export test

- mergeExtensionPolicies.ts: add DISTRO_PRODUCT_JSON env var to
  override the distro path (for testing without private repo access)
- New test: creates a mock product.json, runs the merge script,
  verifies policies are added correctly and idempotently
- Export test: no longer runs the merge step (avoids needing
  distro access or GITHUB_TOKEN in CI)

* Update distro and regenerate policyData.jsonc with extension policies

* Fix CI: add extension policy fixture for export test

The export test now runs mergeExtensionPolicies using a checked-in
fixture file instead of requiring distro access or GITHUB_TOKEN.
When extension policies change in the distro, regenerate both
policyData.jsonc and the fixture file.

* Integrate extension policy merge into --export-policy-data

- Removed mergeExtensionPolicies.ts — no separate CLI tool needed
- --export-policy-data now reads build/lib/policies/extensionPolicies.json
  and merges extension policies into the output automatically
- Single command workflow: ./scripts/code.sh --export-policy-data
- Simplified test — no merge step, no GITHUB_TOKEN, no distro access
- Updated SKILL.md to document the simplified workflow

* Dynamic distro reading: --export-policy-data fetches from distro directly

- policyExport.contribution.ts reads distro product.json dynamically:
  1. DISTRO_PRODUCT_JSON env var (for testing)
  2. .build/distro/mixin/stable/product.json (local checkout)
  3. GitHub API with GITHUB_TOKEN (remote fetch)
- New scripts/export-policy-data.sh wrapper: sets up GITHUB_TOKEN
  via gh CLI and runs the export
- Deleted build/lib/policies/extensionPolicies.json (no static copy)
- Test uses DISTRO_PRODUCT_JSON with a fixture file
- Uses sandbox process.env and VSBuffer (renderer-safe)

* Replace bash wrapper with cross-platform TS script

- New build/lib/policies/exportPolicyData.ts: handles transpilation,
  GITHUB_TOKEN setup via gh CLI, and runs --export-policy-data
- Added 'npm run export-policy-data' script to package.json
- Removed scripts/export-policy-data.sh
- Updated SKILL.md and test error message

* Use OAuth device flow for GitHub token acquisition

exportPolicyData.ts now acquires tokens via:
1. GITHUB_TOKEN env var (if set)
2. gh CLI (fast, non-interactive)
3. GitHub OAuth device flow (interactive, no dependencies)

Based on vscode-copilot-chat's getToken.mts pattern.

* Fix error messages to reference npm run export-policy-data

* Fix disclaimer to reference npm run export-policy-data, clean up stale refs

* Clarify test fixture is static and not expected to track distro changes

* Add inline comment in test clarifying fixture is static

* SKILL.md: add step to update distro commit hash in package.json

* Remove inline comment per PR feedback

* Remove local .build/distro/ fallback path per PR feedback
2026-04-01 00:07:47 +00:00
Josh Spicer
4eab4042e5 Harness fixes (#306978)
* feat: hide hardcoded CLI/Claude harnesses when providerApi is enabled

When `chat.customizations.providerApi.enabled` is true, the browser
harness service now only registers the Local (VS Code) harness statically.
All additional harnesses are expected to come from extensions via the
provider API rather than the hardcoded built-ins.

- CustomizationHarnessService reads the providerApi setting at construction
  time and only includes CLI/Claude harnesses when the setting is off
- Simplify _getAllHarnesses(): external harnesses no longer shadow static
  ones with the same id (the overlap case can't happen when providerApi is
  on and only Local is registered)
- Simplify registerExternalHarness dispose: drop the 'restored static
  harness' fallback guard — always fall back to first available harness
- Remove tests that verified the now-deleted external-overrides-static
  behaviour

* fix: extension menu contributions now evaluated for the hooks section

buildCreateActions() had an early 'return actions' for the hooks code
path that exited before the extension menu contribution check. This meant
extensions contributing to chat/customizations/create with a
'aiCustomizationManagementSection == hooks' when-clause were silently
ignored.

Move the AICustomizationManagementCreateMenuId evaluation (and its
'if (extensionCreateActions.length > 0) return extensionCreateActions'
short-circuit) to immediately after the commandId override check and
before the hooks-specific block, so extension-contributed actions take
precedence for all section types including hooks.
2026-04-01 00:07:00 +00:00
dileepyavan
9ed1e07930 chat: use display commands in response stringification (#306977) 2026-03-31 16:53:45 -07:00
Kyle Cutler
e52f1d1fe0 Encourage browser tab reuse in open tools (#306973) 2026-03-31 23:37:54 +00:00
Connor Peet
231f8d745c Merge pull request #305372 from microsoft/connor4312/customizations
agenthost: customization syncing data flow
2026-03-31 16:09:10 -07:00
Kyle Cutler
59c23c3a71 Add readable element labels in browser tool calls (#306954)
* Add readable element labels in browser tool calls

* feedback

* detail

* browser
2026-03-31 23:01:19 +00:00
Osvaldo Ortega
521587c246 Sessions: Add Copilot status indicator to sidebar footer (#306953)
* Sessions: Add Copilot status indicator to sidebar footer

Add a Copilot status button to the AccountWidget in the sessions app
sidebar footer. The button shows the current Copilot status icon and
opens a ChatStatusDashboard hover popup on click.

- Add per-section disable options to ChatStatusDashboard to control
  which sections render (disableInlineSuggestionsSettings,
  disableModelSelection, disableProviderOptions,
  disableCompletionsSnooze, disableContributions)
- Copilot status button is hidden when the update button is visible
- Status icon updates based on entitlement, sessions, and quota state
- Scoped CSS overrides for dashboard popup in sessions context

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix Copilot status button accessibility and disposable leak

- Set aria-label on the Copilot status button so screen readers
  announce the current status tooltip
- Track dashboard DisposableStore via MutableDisposable registered
  on the widget, ensuring cleanup on widget disposal or re-click

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove native tooltip from Copilot status button

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-31 22:54:07 +00:00
Connor Peet
81cb0e5f0c fix compile 2026-03-31 15:42:00 -07:00
Connor Peet
c0e8607507 Merge remote-tracking branch 'origin/main' into connor4312/customizations 2026-03-31 15:34:48 -07:00
Connor Peet
12fa930036 comments and tests 2026-03-31 15:33:59 -07:00
Ladislau Szomoru
b37b15b44d Sessions - move more code into the view model (#306951)
* Sessions - move more code into the view model

* Hide the path in the tree
2026-03-31 22:20:10 +00:00
Martin Aeschlimann
f7c3f8d5fd promptService: cache IHookDiscoveryInfo (#306734)
* promptService: cache IHookDiscoveryInfo

* Update src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paul <paul_wang347@hotmail.com>
2026-03-31 22:08:48 +00:00
Connor Peet
bf954f4ebd test and cleanup 2026-03-31 14:54:15 -07:00
Megan Rogge
20bd08c7aa share auto approval logic bw runInTerminal and sendToTerminal (#306940)
share auto approval logic bw runInTerminal and
2026-03-31 14:43:17 -07:00
Kyle Cutler
48ebd97f97 Render URI-based icons in editor quick access (#306402)
* Show browser tab icons in editor quick access pickers

* feedback
2026-03-31 14:37:47 -07:00
Kyle Cutler
3111b55ca4 Link to browser editors in tool calls (#306909)
* Link to browser editors in tool calls

* a11y, feedback
2026-03-31 14:37:23 -07:00
Megan Rogge
6c3a002c90 remove shell integration none tests (#306932) 2026-03-31 14:30:41 -07:00
Ladislau Szomoru
64ea63952b Sessions - do not show changes when until there is no git repository (#306941) 2026-03-31 14:09:12 -07:00
Connor Peet
2d91fa2e5e Merge remote-tracking branch 'origin/main' into connor4312/customizations 2026-03-31 14:03:48 -07:00
Connor Peet
54caaaf394 finally works v.v 2026-03-31 14:02:04 -07:00
Aaron Munger
26bd211592 track disposable (#306933) 2026-03-31 13:47:44 -07:00
vs-code-engineering[bot]
54493e6c24 Update distro commit (main) (#306927)
* Update distro commit to 1992012c

* Update distro commit to 084798d4

---------

Co-authored-by: vs-code-engineering[bot] <122617954+vs-code-engineering[bot]@users.noreply.github.com>
2026-03-31 20:40:31 +00:00
Benjamin Pasero
20e37ff188 sessions - more renames (#306937) 2026-03-31 13:32:08 -07:00
Megan Rogge
79a97517fb Add send_to_terminal tool for sending commands to background terminals (#306875) 2026-03-31 20:09:02 +00:00
Benjamin Pasero
17faef0d3c Sessions: Update naming (fix #306461) (#306922)
* Sessions: Update naming (fix #306461)

* .
2026-03-31 20:02:26 +00:00
Logan Ramos
fa38b10ac3 Reduce request to entitlement endpoints (#306914) 2026-04-01 06:35:13 +11:00
Lee Murray
c27cf4f84a Sessions: Adjust header height and refine button styles (#306902)
Adjust header height and padding in CIStatusWidget; refine button styles in changes view

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
2026-04-01 06:34:19 +11:00
Lee Murray
ef8b671c06 Sessions: Update agent feedback widget styles for improved clarity and consistency (#306858)
* style: update agent feedback widget styles for code review and adjust border radius

* style: adjust agent feedback widget colors for better visibility and consistency

* style: update agent feedback widget suggestion styles for improved layout and visual clarity

* style: enhance suggestion border for code review items with color-mix for better visibility

* style: update agent feedback widget suggestion header for improved clarity and consistency

Co-authored-by: Copilot <copilot@github.com>

* style: refactor suggestion rendering and improve CSS for consistency and clarity

Co-authored-by: Copilot <copilot@github.com>

* Update src/vs/sessions/contrib/agentFeedback/browser/media/agentFeedbackEditorWidget.css

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Michael Lively <12552271+Yoyokrazy@users.noreply.github.com>
2026-03-31 19:28:47 +00:00
Justin Chen
dc93e83a60 show 'ran subagent' when finishing subagents without descriptions (#306903) 2026-03-31 12:19:41 -07:00
Matt Bierner
d171568737 Merge pull request #306789 from microsoft/dev/mjbvz/liable-firefly
Bump distro
2026-03-31 12:08:43 -07:00
Lee Murray
78f4c2471e Sessions: Refactor AI Customization Management styles (#306873)
* Refactor padding and line-height in AI Customization Management styles for improved layout

Co-authored-by: Copilot <copilot@github.com>

* Update src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: mrleemurray <mrleemurray@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Michael Lively <12552271+Yoyokrazy@users.noreply.github.com>
2026-03-31 18:49:07 +00:00
Justin Chen
213b27d7c3 make sure to cancel current request on restore checkpoints (#306901) 2026-03-31 18:41:40 +00:00
Rob Lourens
1c1dc9f684 Fix "Select {0}" in workspace picker (#306829) 2026-03-31 18:41:03 +00:00
Rob Lourens
3bc94239ff Add chat model reference inspection (#306596)
* Add chat model reference inspection (Written by Copilot)

* Add archive state and age to chat model inspection (Written by Copilot)

* fix import

* Cleanups

* test
2026-03-31 18:41:00 +00:00
Ben Villalobos
50458373e0 Merge branch 'main' into dev/mjbvz/liable-firefly 2026-03-31 11:39:15 -07:00
Rob Lourens
a5cc6f3c5d agentHost: Fix CopilotAgent finding ripgrep (#306831) 2026-03-31 18:26:42 +00:00
Osvaldo Ortega
00844ccb8b Sessions: remove weird description (#306880)
* Sessions: remove weird description
2026-03-31 11:22:04 -07:00
Bryan Chen
728c2466e4 Merge branch 'main' into copilot/fix-null-reference-error 2026-03-31 10:22:47 -07:00
Connor Peet
99fa904288 Merge remote-tracking branch 'origin/main' into connor4312/customizations 2026-03-31 09:17:14 -07:00
Connor Peet
b7e5e30020 wip 2026-03-31 09:14:16 -07:00
Lee Murray
fc23f2d266 Merge pull request #306701 from microsoft/mrleemurray/front-tomato-hornet
Update CI status widget labels and styles for improved clarity
2026-03-31 17:13:42 +01:00
Lee Murray
ab0ec1106f Merge pull request #306709 from microsoft/mrleemurray/temporary-turquoise-impala
Refactor button configuration and improve layout
2026-03-31 16:27:47 +01:00
Lee Murray
fa427ad49a Merge pull request #306760 from microsoft/mrleemurray/zany-purple-manatee
Enhance CI Status Widget with collapsible functionality and improved styles
2026-03-31 16:26:51 +01:00
Christof Marti
9ee53b40bd Log recovery after timeout (#306751) 2026-03-31 15:15:59 +00:00
mrleemurray
bf320ea287 Enhance button styling in ChangesViewPane for better layout and overflow handling 2026-03-31 16:07:44 +01:00
Matt Bierner
4162f5e97a Bump distro 2026-03-31 07:55:36 -07:00
mrleemurray
9341e572cf Hide status counts on hover and focus for improved UI clarity
Co-authored-by: Copilot <copilot@github.com>
2026-03-31 15:54:07 +01:00