Skip to content

[pull] main from microsoft:main#1032

Merged
pull[bot] merged 17 commits intocode:mainfrom
microsoft:main
Mar 14, 2026
Merged

[pull] main from microsoft:main#1032
pull[bot] merged 17 commits intocode:mainfrom
microsoft:main

Conversation

@pull
Copy link

@pull pull bot commented Mar 14, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mjbvz and others added 17 commits March 13, 2026 11:35
Let's us use inline code elements on these
Make sure we pass these to callers in the new session flow too
Pass through the initial options on creation
- Updates js-debug extension from version 1.110.0 to 1.112.0
- Updates corresponding sha256 hash for verification

(Commit message generated by Copilot)
* sessions: add built-in skills infrastructure

Add a 'built-in skills' concept mirroring the existing 'built-in prompts'
pattern, so that skills bundled with the Sessions app are always available.

- Create src/vs/sessions/skills/ directory for bundled SKILL.md files
- Bundle vs/sessions/skills/**/SKILL.md in build config
- AgenticPromptsService: discover and parse built-in skills from the
  bundled directory, override findAgentSkills() to merge them at lowest
  priority (user/workspace skills override by name), extend listPromptFiles
  and listPromptFilesForStorage for skill type
- Tree view: handle BUILTIN_STORAGE group for skills category

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

* sessions: add built-in 'update-skills' skill

First built-in skill that guides the agent to capture major repository
learnings by creating or updating skills and instructions. Triggered
when the user says 'learn!' or when significant reusable knowledge is
discovered during a session.

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

* sessions: support edit-and-save-to-override for built-in skills

Extend the built-in prompt save-to-override flow to also work for
built-in skills. When editing a built-in skill, users can save it to
workspace or user location, which overrides the built-in version.

- Gate the in-memory editing session on both prompt and skill types
- Resolve save target directories using the actual prompt type
- Preserve skill directory structure ({name}/SKILL.md) when saving
- Generalize UI labels from 'prompt override' to 'override'

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

* sessions: address PR review feedback for built-in skills

- Sanitize built-in skill name/description (strip XML tags, truncate)
  to match the same safety applied to other skill sources
- Fix JSDoc: all sources override built-ins, not just user/workspace
- Remove unnecessary 'as unknown as PromptsStorage' cast in tree view

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

* sessions: refine editor options types for accessibility and font settings

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: add prompt for adding a run action to the current session

* feat: enhance run script action with Copilot assistance option

* feat: update Copilot prompt handling in run script action

* feat: update accessibility options and placeholder types in monaco editor

* feat: rename Copilot action label and description for clarity

* feat: add generate new action option via Copilot in run script action

* Fix 'Generate New Action...' on new session page

On the new session page, chatService.sendRequest() cannot be used because
the chat session hasn't been initialized yet. Detect isUntitled sessions and
route through NewChatViewPane.sendQuery() instead, which sets the editor
value and triggers the normal _send() flow (including slash command expansion).

Also adds prefillInput/sendQuery public methods to NewChatWidget and
NewChatViewPane, and injects IViewsService into RunScriptContribution.

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

* Rename slash command to /generate-run-commands and improve prompt

- Rename add-run-action.prompt.md → generate-run-commands.prompt.md
- Update runScriptAction.ts to send /generate-run-commands
- Rewrite prompt with:
  - Two task schema fields: inSessions (required) and
    runOptions.runOn: worktreeCreated (optional, for setup commands)
  - Smart inference: reads project files to determine commands;
    only asks the user if ambiguous
  - Modify mode: if run commands already exist, treat as an update
  - Merge-safe: always preserves existing tasks.json entries

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

* tidy

* Clear editor after successful send on new session page

After sendRequestForNewSession completes successfully, clear the editor
value so it doesn't persist when the user navigates back to a new session.

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

* Fix prompt not activating: use chatWidget.acceptInput() for active sessions

chatService.sendRequest() bypasses the chat widget's prompt file resolution
logic (_applyPromptFileIfSet). Use IChatWidgetService.getWidgetBySessionResource()
and call acceptInput('/generate-run-commands') instead, which goes through
the full input pipeline including slash command parsing and prompt file
attachment.

Also removes now-unused IChatService and ChatAgentLocation imports.

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

* Add new prompt for adding run actions

* Potential fix for pull request finding

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

* tidy

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Use markdownDescription for a few more settings
Trying to track down cases where we lose the todos or edits. These don't seem like the exact cause but are worth fixing too
…301587)

* Implement image carousel service and integrate with chat attachments

- Introduced `ChatImageCarouselService` to manage image carousels in chat.
- Updated `ImageAttachmentWidget` to utilize the new carousel service for image display.
- Enhanced image extraction logic to support inline references and tool invocations.
- Added tests for carousel service functionality and image extraction.

What's missing is pills rendered in other places like `pastTenseMessage` and `invocationMessage`... maybe more?

* Support past tense & invocation message

* feedback
Make sure we use `isEqual` to compare uris in chat
Bumps [undici](https://github.com/nodejs/undici) from 7.18.2 to 7.24.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.18.2...v7.24.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix delete action visibility for read-only customizations

- Add context key overlays (type, storage, URI) when rendering list
  items and context menus so when-clauses are properly evaluated
- Add when-clause to delete menu items: hide for extension, plugin,
  and built-in storage types
- Update delete action handler to also block BUILTIN_STORAGE items
- Move item context key constants to shared aiCustomizationManagement.ts
- Fixes Run Prompt and Reveal in OS actions that were also broken
  because the context keys were never set on the scoped service

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

* Fix delete failing when telemetry throws and trash is unsupported

Two issues caused the delete action to silently fail:

1. The telemetry call (publicLog2) was throwing an exception that
   propagated uncaught, preventing the fileService.del() call from
   ever executing. Wrap telemetry in try/catch so it cannot block
   deletion.

2. fileService.del() was called with useTrash: true unconditionally,
   but some file system providers don't support trash, causing an
   error. Check hasCapability() before choosing useTrash.

Fixes both the management editor and sessions tree view delete actions.

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

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Mar 14, 2026
@pull pull bot added the ⤵️ pull label Mar 14, 2026
@pull pull bot merged commit 09f4d8c into code:main Mar 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants