* speech - scaffold a basic core service for registration
* speech - scaffold a basic extension API for speech providers
* cleanup
* speech - improve API to work with events
* simplify
* better api
* cleanup
* Add notes on chat agent API
* Add request ID to context
* variables
* Add partial implementation for another option for a chat agent API
* update
* Notes from api sync
* More notes
* Can invoke an agent and get the response
* Provide a real request
* Notes
* add `slashCommandProvider` - not yet hooked up
* add metadata properties inline, some comments
* some more notes
* Put the new API side-by-side with the old one
* Fix agent title in response
* Fix agent display
* Send slashCommand to request
* Hook up variables
* Get rid of package.json registration option
* Start to implement followups provider
* Add comment
* make it `slashCommandProvider` all the way, use updateAgent for updates icon, fullName, description
* update docs
* only ask for slash command completions when completing a slash-word
* use complex completion item label for command/agent completions
* add `promptText` to `IParsedChatRequestPart` so that some parts don't make it into the prompt (like agent and slash commands)
* only allow agent and slash command at the beginning of the prompt
* remove unused method
* some jsdoc, many renames so that stuff starts with `ChatAgent...`
* reduce `createChatAgent` to the minimum, let the rest be set via setters
* in the renderer know if an agent has slash command and follow ups, safes IPC calls
* use `iconPath` to align with other APIs
* more jsdoc and more obvious TODOs
* fix chat parser with "late" command
* handle error so that the request stops. where is the rendering tho?
* Show error message in response properly
* Don't blow up global / list
* Change proposal name
* Inline followup types
* fix type
* Remove brace in error msg
---------
Co-authored-by: Johannes <johannes.rieken@gmail.com>
* cli: use terrapin for cli builds
* update rust to 1.70 to allow ado artifacts feed on windows
* apparently manaul cargo login is required
* use msrustup
* rustup is no longer user
* update to 1.73
* add rust oss install
* Test using nvmrc in CI
* Force run yarn
* fix
* Bump nvmrc to latest
* Revert "Force run yarn"
This reverts commit af741f37d5.
* Make all jobs use node from nvmrc
And install node-gyp where needed
* Introduce `localize2` function
This is syntax sugar around:
```
{ value localize('id', "Hello"), original: 'Hello' }
```
That will now be returned when you do:
```
localize2('id', "Hello");
```
* fix merge conflic
* new source map due to updated deps
* Experiment with adding ata using `@types` packages shipped in an extension
* Use own file system instead of `https`
* JS/TS type support on web
* Tsconfig needs esModuleInterop not module:nodenext
We actually want webpack to emit commonjs, but need to write ES default
imports to use node-maintainer
* fix package.json indentation
* Adding setting to disable web type acquisition
* Fix merge of yarn lock
* Fixing merge errors
* Fixing errors
* Pick up package externally
* Fixing conflicts
* Bump version
---------
Co-authored-by: Kat Marchán <kzm@zkat.tech>
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
* eng: add support for snapshot tests
This adds Jest-like support for snapshot testing.
Developers can do something like:
```js
await assertSnapshot(myComplexObject)
```
The first time this is run, the snapshot expectation file is written
to a `__snapshots__` directory beside the test file. Subsequent runs
will compare the object to the snapshot, and fail if it doesn't match.
You can see an example of this in the test for snapshots themselves!
After a successful run, any unused snapshots are cleaned up. On a failed
run, a gitignored `.actual` snapshot file is created beside the
snapshot for easy processing and inspection.
Shortly I will do some integration with the selfhost test extension to
allow developers to easily update snapshots from the vscode UI.
For #189680
cc @ulugbekna @hediet
* fix async stacktraces getting clobbered
* random fixes
* comment out leak detector, for now
* add option to snapshot file extension
- Remove the `prepare` script entirely
- Variables are now populated from the product.json during build. Most
variables are mapped automatically, with some special handling in a
few cases. `build.rs` is now much more self-contained.
- Look for the `product.overrides.json` for vscode developers instead of
looking for a peer `vscode-distro` folder
Fixes#178691
* forwarding: add built-in tunnel forwarding extension
- Support public/private ports, which accounts for most of the work in
the CLI. Previously ports were only privat.
- Make the extension built-in. Ported from the remote-containers
extension with some tweaks for privacy and durability.
- This also removes the opt-in flag, by not reimplementing it 😛
Fixes https://github.com/microsoft/vscode/issues/189677
Fixes https://github.com/microsoft/vscode/issues/189678
* fixup! comments
---------
Co-authored-by: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
* work in progress make it scrollabel
* adding changes
* adding changes
* cleaning the code
* cleaning the code
* not usnig a vertical scrollbar
* scanning the dom node only on mouse over
* requires tweaking
* now the scrollbar can be used alongside the hovering on the sticky scroll
* setting handle mouse wheel to false in order not to scroll vertically inside of the scrollable element with wheel
* separated the line numbers and the actual line in order to be able to just move one of the scrollbars, the editor one and the line numbers remain the same
* cleanin the code
* we are able to make the full line appear
* the width is correctly updated on the width layout change of the editor
* only rendering when top scroll changed, not when horizontal scroll changed
* using the correct editor layout info, not the one saved in the constructor
* setting the linehtml node style width to 100% so that the whole line is covered, but still not covered after the end of the viewport
* changing the total width after rendering
* placing the color into sticky line number
* removing the direct setting of the colors
* adding the background color inside of sticky line number
* using the view zone in order to increase the scroll width of the editor
* placing the view zone at the very bottom of the file
* limiting the scrollable dom height to the height of the sticky widget lines node inside, so now the sticky widget works as before
* cleaning the code
* cleaning the code
* removing useless variable
* adding 100 pixels in order to see the end of the line
* removing the console logs
* putting back the check to what it was
* using the same string convention
* adding inheritance properties in order for the background color to be propagated
* cleaning the code
* cleaning the code
* using or instead of and in the zone accessos
* cleaning the code
* cleaning the code
* cleaning the CSS
* chaning the order of the CSS properties
* cleaning the code
* Improve rendering
* No need to resize the widget from the outside, the widget resizes itself
* placing the focus method inside of the sticky widget
* céeanig the code
* Minor tweaks
* Also update widget width when the scroll width changes
* Allow overlay widgets to pass in a minimum content width
* Also update the min content width if the position doesn't change
* defining method for mi content width in px
* updating the minimum content width
* adding setting in order to be able to control whether sticky scroll scrolling should be influenced by editor horizontal scrolling
* removing redundant new line
* Fix typo
* Extract code in a function
---------
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
* Remove vscode-encrypt from node.js side
Now that we've had a version of the product that has done the migration logic, we no longer need vscode-encrypt on the node side.
This removes all references of vscode-encrypt from the node side. I will also remove it from the package.jsons in distro.
* remove machineId
* combinging the setting of max dimensions on the container and on the contents dom node
* adding the css variable in order to be able to specify the max width of the content inside
* cleaning the code
* changing the name of the variable
* cleaning the code
* placing the hover max width variable into the others category of vscode-known-variables json file
* defining a fall back value of 500 pixels
* inlinging the code
---------
Co-authored-by: Alexandru Dima <alexdima@microsoft.com>
* ci: use container only in yarn step
* chore: invalidate cache
* chore: install missing deps for packaging
* chore: remove duplicate package installations
* fix: oss build
* chore: separate deb and rpm package preparation
* chore: mount out folder when packaging
* ci: switch to official docker image
this fixes a rare issue in which the second Generate SBOM
task will fail, so a second attempt at running the pipeline will
fail when publishing the first Publish SBOM task, since it
would already have been published
* Drop support for windows versions prior to windows
10
* Prepare for windows 8 eol
* fix typo
* Revert "Prepare for windows 8 eol"
This reverts commit f65a7107280da4328014d4964ba432f3d7462de0.
* build: add watch/compile tasks for CLI
I spent time this morning working on the 'developer experience' of the
CLI in vscode, mainly getting the CLI to cross-compile chasing our
initial idea of having it auto-build in a devcontainer.
After some effort and disabling tunnels connections (to avoid having to
pull in OpenSSL which is a huge pain to cross compile), I was able to
get it to cross-compile from Linux to Windows, using the mingw linker.
I could probably figure out how to get macOS working as well with more
effort. However, I'm not a big fan of this, effectively it's one more
'platform' of build we need to support and test.
I think a better approach is downloading the latest compiled CLI from
the update server instead, as needed. That's what this PR does. It just
places the CLI where it _would_ normally get compiled to by cargo; so
far we don't need to do anything special outside of that.
A notice is shown to users if this fallback happens.
* update from review
* untested wip
* cli: fix error starting remote tunnels
Fixes#185585
Output was prefixed which prevented the lines from being split to detect the tunnel status.
* feat: use custom tag instead of custom version for MS electron releases
* chore: bump @vscode/gulp-electron
* chore: move build id to .yarnrc
* chore: rename enableUNCAccessChecks => restrictUNCAccess
* chore: update electron@22.3.11
* chore: add build info to about dialog
* chore: simplify helper function
* chore: remove unused node.js checksums
* chore: bump nodejs internal version
* chore: bump distro
* fix: revert changes to sign.ts
* chore: bump distro
* eng - add `checksum` validation support to `remote`
* eng - wire in more `checksum` support
* eng - renames for remote fetching
* eng - renames for remote fetching
* eng - disable verbose
* eng - always fetch verbose in CI
* eng - 💄
* eng - add checksums for node
* eng - report checksum matches
* eng - fix build
* eng - warn when not being able to check sum
* eng - support checksums for built in extensions
* eng - clear todo
* eng - add nodejs metadata to product.json
* 🆙 version
* 🆙 distro
* update distro
* eng - switch to checksum file
* cleanup alpine
* fix alpine
* fix bug
* eng - fetch all from remote
* eng - 💄
* eng - print checksums
* eng - fix missing import
* 🆙 distro
* undo version change
* Mangle exported functions
For #180461
This prototype tries to mangle exported functions, saving a further 440kb from the bundle size
* Fix missing call
* Also try mangling top level exported consts too
* Fixing errors
* Don't run on build files
* Skip a few more manglings and revert change to namespace
* Skip a few more monaco files
* Also mangle consts that shadow types
This increases savings up to 3325
* Also mangle exported classes
* Skip mangling more localization functions for now
* Opt out pfs
* Update build script
* Run find locations task in parallel
This should speed up compile
* Cleanup before close
* Limit workers to avoid hitting memory limit
* Limit pool size
* Skip one more mangling
* Exclude entrypoints from mangling
* Try to fix web build and clean up code
* Exempt a few more projects
* Exempt another file
* Also exempt html
* Skip mangling ext entrypoints
* Use prefix that can't be confused with rpc calls
* Fix max call stack error
* Switch prefixes
* Don't mangle ambient declarations
* Use correct way of checking modifier flags
* Workaround getCombinedModifierFlags not doing what I'd expect
Maybe needs the checker to be enabled too? Just check parent chain instead for now
* Clean up code and add logic showing how enum mangling could work
* Remove a few more skipMangles
Use entrypoints instead
* Fix entrypoint name