* eng: allow css nesting via postcss plugin
CSS nesting has landed in most browsers at this point, but we don't want
to break users who are still stuck on old browser (mainly older iOS
devices.) This PR adds a postcss plugin to the build process that
de-nests nested CSS.
The plugin required a newer version of postcss as well, so I have
updated that and a couple other modules to their latest versions.
* update build's package.json versions too
* 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>
* 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
on Windows, my files are checked out with LF. the script which generates extensionApiProposals.ts always uses os.EOL, so it always is dirty on my repo every time I compile
transpile-only tasks for client and extensions
* extract transpile into its own file
* add transpile-client task, polish transpiler
* add transpile-extensions, improve transpile logic
* move declaration of "const enum" above it usage so that it can be used with const-enum-inlining
* (ugly) make d.ts transpilation configurable because it is needed for extensions but a problem for client
* hack my way around so that `getOwnEmitOutputFilePath` is reusable by our transpile
* honor `noEmit` flag