Commit Graph

252 Commits

Author SHA1 Message Date
dependabot[bot]
dcea9a598c Bump dompurify from 3.2.7 to 3.3.2 in /extensions/markdown-language-features (#299899)
Bump dompurify in /extensions/markdown-language-features

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.7 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.7...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 10:48:14 -07:00
Sandeep Somavarapu
2b32258b0e merge to main (#299794)
* sessions - fix chat input shrinking at narrow widths (#299498)

style - set width to 100% for `interactive-input-part`

* modal - force focus into first modal editor always

* fix: update precondition for FixDiagnosticsAction and hide input widget on command execution (#299499)

fixes https://github.com/microsoft/vscode/issues/299251

* refactor: remove workspace context service dependency from FolderPicker

* Add logging for agent feedback actions

* modal - some fixes to actions and layout

* modal - surface some editor actions in a new toolbar (#299582)

* modal - surface some editor actions in a new toolbar

* ccr

* keybindings - remove "Edit as JSON" as its now available from the title menu

* settings - remove "Edit as JSON" as its now available from the title menu

* update hover fixes

* terminal fixes

* terminal improvements

* Sessions: fix auth scopes of gh FSP

* sessions customizations: make it easier to scan mcp/plugin marketplac… (#299636)

sessions customizations: make it easier to scan mcp/plugin marketplace list

* sessions: add built-in prompt files with override support (#299629)

* sessions: add built-in prompt files with override support

Ship bundled .prompt.md files with the Sessions app that appear as
slash commands out of the box. Built-in prompts use a BUILTIN_STORAGE
constant (cast as PromptsStorage) defined in the aiCustomization layer,
avoiding changes to the core PromptsStorage enum and prompt service types.

- AgenticPromptsService discovers prompts from vs/sessions/prompts/
  at runtime via FileAccess and injects them into the listing pipeline
- Override logic: user/workspace prompts with matching names take
  precedence over built-in ones
- Built-in prompts open as read-only in the management editor
- Sessions tree view, workspace service, and counts handle BUILTIN_STORAGE
- Add /create-pr as the first built-in prompt
- Bundle prompt files via gulpfile resource includes

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

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

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

* sessions: use AICustomizationPromptsStorage type for builtin storage

Adopt the new AICustomizationPromptsStorage union type in the sessions
tree view method signature. Use string-keyed Records and targeted casts
at the PromptsStorage boundary to stay type-safe.

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

* sessions: remove PromptsStorage casts, widen IStorageSourceFilter

Use AICustomizationPromptsStorage in sessions-local interfaces
(IAICustomizationGroupItem, IAICustomizationFileItem) and widen
IStorageSourceFilter.sources to readonly string[] so BUILTIN_STORAGE
flows through without casts. The only remaining cast is at the
IPromptPath creation boundary in AgenticPromptsService.

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

* sessions: move BUILTIN_STORAGE to sessions common layer

Move AICustomizationPromptsStorage type and BUILTIN_STORAGE constant
from the workbench browser UI module to sessions/contrib/chat/common
so that AgenticPromptsService (a service) does not depend on UI code.

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

---------

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

* sessions: fix ESLint dangerous type assertion in builtin prompts (#299663)

Replace the `as IPromptPath` cast in discoverBuiltinPrompts with a
createBuiltinPromptPath factory function that contains the type
narrowing in one place, satisfying the code-no-dangerous-type-assertions
ESLint rule.

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

* Enhance Agent Sessions Control and Renderer with observable active session resource

* fix terminal

* Enable model management in NewChatWidget

* review feedback

* different competion settings for copilot markdown and plaintext

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
Co-authored-by: BeniBenj <besimmonds@microsoft.com>
Co-authored-by: Osvaldo Ortega <osortega@microsoft.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-06 09:09:01 -08:00
Raymond Zhao
e987c5242e chore: bump extension versions (#295040) 2026-02-13 04:15:03 +05:00
Matt Bierner
37cdd0eb43 Fixing errors 2026-02-12 12:43:36 -08:00
Matt Bierner
5d33f345e1 Merge branch 'main' into dev/mjbvz/legitimate-squirrel 2026-02-12 12:37:14 -08:00
Matt Bierner
03561955b7 Clean up esbuilding of extensions
- Make sure we still always type check using `tsgo --noEmit`
- Align names of esbuild files
- Convert all esbuild files to typescript. We use the `.mts` extension to avoid annoying node warnings about using pacakges
2026-02-11 14:57:16 -08:00
Paul
12bce8da5a Agent skills management UX and file support (#287201) 2026-01-16 05:46:36 +11:00
Martin Aeschlimann
42434d7c15 Can't preview custom agents' markdown files (#286331) 2026-01-07 10:46:21 +00:00
Matt Bierner
c679b20148 Merge branch 'main' into dev/mjbvz/legitimate-squirrel 2025-11-17 16:32:38 -08:00
Matt Bierner
723aa849c9 Convert gulpfiles to modules
Makes a pass through our top level gulpfiles to convert them to modules
2025-11-11 15:28:50 -08:00
Raymond Zhao
351866ef1a chore: use dompurify 3.2.7 (#271538) 2025-10-15 09:58:39 -07:00
Matt Bierner
1cc342a089 Merge branch 'main' into dev/mjbvz/legitimate-squirrel 2025-10-14 23:01:21 -07:00
Matt Bierner
98ad0f55db Proper fix for missing node types in web build
Using `path` in web for these cases is ok (but not ideal) because webpack shims it out
2025-10-14 12:14:28 -07:00
Matt Bierner
98b069c041 Work towards getting isolated built-in extension compiles
For #271167

This makes it so our built-in extensions can mostly be built using `tsc` on the command line. Previously the extensions were picking up a lot of typing info from the root `node_modules` that meant they weren't truly independent
2025-10-13 11:03:20 -07:00
Martin Aeschlimann
cf1a93be3f Markdown: Open Preview - doesn't work for *.prompt.md files (#270417) 2025-10-08 20:09:33 +00:00
Matt Bierner
2de481e6cc Also update watch script 2025-10-03 14:18:29 -07:00
Matt Bierner
a8101c12b5 Fix any cases in md extension
For #269213
2025-10-03 14:15:39 -07:00
Matt Bierner
f272e51947 Convert esbuild scripts to modules
Planning to convert to typescript but want to do it in a few smaller steps
2025-08-07 20:04:44 -07:00
Matt Bierner
4b9b99ba7a Pick up latest md language server
For #248467
2025-07-25 16:07:10 -07:00
Martin Aeschlimann
25a8dd4f0b enable markdown language server for prompt files (#252656) 2025-06-30 14:19:00 -07:00
Matt Bierner
d4d2f93bf7 Pick up latest vscode-markdown-languageserver 2025-05-20 19:28:34 -07:00
Matt Bierner
dd74e0494a Pick up latest md language server 2025-03-24 15:03:03 -07:00
Matt Bierner
23812e0d8f Make sure scripts in md preview are properly evaluated
Fixes #243454

This restores the previous behavior. If the default security settings are used, scripts will still block blocked by the CSP. If you fully disable the security settings, then we'll try to run them
2025-03-17 11:45:49 -07:00
Seong Min Park
7c7d37ea8d revert markdown.trace.server 2025-02-20 22:09:42 +09:00
Seong Min Park
690caf2e14 logger 2025-02-19 22:36:54 +09:00
dependabot[bot]
d37a30e600 Bump dompurify from 3.1.7 to 3.2.4 in /extensions/markdown-language-features (#240973)
Bump dompurify in /extensions/markdown-language-features

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.1.7 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.1.7...3.2.4)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 11:31:27 +01:00
João Moreno
f6ec9aa2e6 bump katex (#238271) 2025-01-20 10:39:21 +01:00
Matt Bierner
4daea74ba9 Finalize paste api and drop api tweaks
Fixes #30066

This finalizes the documentPaste api. This api allows extensions to attach metadata on text copy and change how content is pasted. Some examples:

- Updating imports for pasted code
- Inserting an image as an attachment in notebooks
- Pasting files converts them to relative text paths
2025-01-07 14:57:16 -08:00
Matt Bierner
4559089128 Merge pull request #234649 from notoriousmango/feat-open-image
Add 'open image' context in markdown preview
2024-12-17 11:55:25 -08:00
Logan Ramos
e689b912ba Update telemetry package (#236378) 2024-12-17 20:12:49 +01:00
notoriousmango
0b243279cc open image 2024-11-26 19:53:31 +09:00
Matt Bierner
002c12c922 Pick up latest markdown language server (#232634) 2024-10-30 10:34:40 -07:00
Matt Bierner
759c92ba74 Bump dompurify versions (#230250) 2024-10-18 11:53:18 -07:00
dependabot[bot]
2e4877af7c Bump dompurify from 3.0.5 to 3.1.3 in /extensions/markdown-language-features (#228773)
Bump dompurify in /extensions/markdown-language-features

Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.5 to 3.1.3.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.5...3.1.3)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 16:33:30 -07:00
Robo
b5a6aa14a8 feat: switch to npm as default package manager (#226927)
* feat: move from yarn to npm

* chore: skip yarn.lock files

* fix: playwright download

* chore: fix compile and hygiene

* chore: bump vsce@2.17.0

Refs 8b49e9dfdf

* test: update results for bat and sh colorizer tests

* fix: add missing lock files for windows

* fix: switch to legacy-peer-deps

* chore: update markdown-it@14.1.0

Refs 737c95a129

esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.

* ci: increase pr timeout for windows integration tests

* chore: fix product build

* build: ignore extension dev dependency for rcedit

* build: fix working directory inside container

* build: fix dependency generation

* npm: update dependencies

* ci: use global npmrc

* ci: update cache

* ci: setup global npmrc for private npm auth

* build: fix extension bundling

* chore: sync npm dependencies

* ci: debug env variables for container

* ci: fix win32 cli pipeline

* build: fix npmrc config usage for build/ and remote/ dirs

* fix: windows build

* fix: container builds

* fix: markdown-language-features tests and bundling

```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds userland package based on beed9aee2c

* fix: container builds for distro

* chore: update yarn occurrences

* fixup! chore: bump vsce@2.17.0

Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: throw error when yarn is used for installation

* chore: add review feedback

* chore: switch exec => run where needed

* chore: npm sync dependencies

* fix: markdown-language-features bundling

```
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0

* ci: rename no-yarn-lock-changes.yml

* chore: sync npm dependencies

* ci: restore no-yarn-lock-changes.yml

We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.

* chore: sync npm dependencies

* ci: rebuild cache

* ci: fix no-package-lock-changes.yml

* chore: bump distro

* chore: rm yarn.lock files

* chore: rm yarn.lock files without dependencies

* chore: add vscode-selfhost-import-aid to postinstall dirs

* chore: bump distro
2024-09-06 22:18:02 +09:00
Matt Bierner
caa558b764 Pick up latest Markdown language server (#224020) 2024-07-26 16:55:33 -07:00
Matt Bierner
b832b859e8 Finalize markdown update links on paste setting (#221760)
Fixes #209318

Enables this new feature by default (but as an option, not the default way to paste)
2024-07-22 09:52:01 -07:00
Matt Bierner
7174171947 Move MD server into own package (#212387)
* Move MD server into own package

* Remove a few more refs

* Try glob

* Move glob

* More glob

* Add logging

* Tweak glob again

* Use webpack to copy over files

* Remove a few more refs to server

* Fix debug check
2024-07-12 14:04:42 -07:00
Matt Bierner
98785f537e Fix setting type (#210408)
Fixes #210400
2024-04-15 18:51:02 +02:00
Matt Bierner
8c363b460b Merge and cleanup drop and paste proposal (#209591)
These two proposals overlap a lot and will be finalized together
2024-04-05 13:03:10 -07:00
Matt Bierner
7a623b31fb Fix frontmatter line map (#209556)
Fixes #209267
2024-04-04 19:39:21 +02:00
Matt Bierner
998047ca2f Add experimental support for updating markdown links on copy/paste (#209319)
* Add experimental support for updating markdown links on copy/paste

For #209318

* Remove log
2024-04-02 17:15:12 +02:00
Matt Bierner
e5f5e91423 Make paste resource respect paste location (#207635)
Fixes #207186
2024-03-13 22:27:44 +01:00
Matt Bierner
c72ffc8cd8 Use published markdown-katex typings (#202284) 2024-01-11 13:42:24 -08:00
Matt Bierner
8f32885359 Use markdown engine to enable/disable smart paste (#202192)
Fixes #188863
Fixes #188958
Fixes #188868

This is more reliable than using the regular expressions. However the regular expressions are still needed for inline elements
2024-01-10 14:32:58 -08:00
Matt Bierner
0bb69da87c Add new smartWithSelection option for markdown links (#202183)
This becomes the new default while `smart` always smartly pastes, even with no selection
2024-01-10 20:01:52 +01:00
Matt Bierner
26ef59c6a7 Rework markdown paste resource (#201838)
Fixes #184980

This refactors much of the logic around markdown paste/drop. PR got a little large but the main highlights are:

- Allow using a custom snippet for inserted audio/video
- Merge the drop/paste resource provider classes since these are so similar
- Enable smart pasting of url text by default
- Refactor url paste logic
- For now, disable the behavior where url paste could paste a combination of markdown and plain uris. In practice this is confusing, especially because our labels for this were wrong. We can always reintroduce this later if multicursor users find it useful
2024-01-04 15:59:14 -08:00
Matt Bierner
ff9fc384d3 Clean up and fix markdown url pasting (#198706)
Fixes #192568
2023-11-20 14:37:00 -08:00
Logan Ramos
9bea1fc96a Bump telemetry package (#197168) 2023-11-01 20:51:03 +01:00
Matt Bierner
d6f3707465 Use markdown for markdown.preview.breaks (#194641) 2023-10-02 19:43:00 +01:00