* observale map/set
* adds tool sets, let mcp contribute tool set, update commands
* add `languageModelToolSets` contribution point that allows extensions to define set of tools
* only homogenous tool sets hide the tools they contain (that is set and all its tools are from the same source)
* make sure checking/unchecking buckets works
* make it more clear that the action is about tool configuration (not selecting/attaching)
* simplify `IToolSet#tools`
* support `*.toolset.json` files
* one bucket for all MCP servers
* use mcp icon
* use `.toolsets.json` suffix
* [tools config-pick] keep parents, peek sort order
* * add "Configure Tool Sets" actions
* make it `toolsets.jsonc` and register schema etc pp
* fix some tools picker issues
* add tool sets validation
* * tools completions
* Add ToolDataSource.Internal constant
* add missing return
* make tool set a class
* allow a tool set to contain other tool sets
* use dynamic schema for `toolsets.jsonc` language features
* fix tests
NDJSON is a specification that is essentially the same thing as JSON
lines. The spec can be found on https://github.com/ndjson/ndjson-spec.
The NDJSON website is down. The project seems pretty much dead. The
status is best described by this comment:
https://github.com/ndjson/ndjson-spec/issues/35#issuecomment-1285673417
However, this doesn’t mean there aren’t any `.ndjson` files out there.
This changes adds `.ndjson` to the list of `jsonl` file extensions.
Bun added support for a new lockfile format using the jsonc language. It
uses an unconventional file extension, but it would be nice if VSCode
understands it by default anyway.
See https://github.com/oven-sh/bun/pull/15705
* add decrease and increase indent patterns for cpp
* adding new line with line comment on next line from within languages that use double slash for line comment
* 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