| app:hideaibutton <VersionBadge version="v0.14" /> | bool | Set to true
to hide the AI button in the tab bar (defaults to false) |
| app:disablectrlshiftarrows <VersionBadge version="v0.14" /> | bool |
Set to true to disable Ctrl+Shift+Arrow keybindings for block navigation
(defaults to false) |
| app:disablectrlshiftdisplay <VersionBadge version="v0.14" /> | bool |
Set to true to disable the Ctrl+Shift visual indicator display (defaults
to false) |
* Track wave version when job was created (for future backward compat)
* New Flyover Menu off of "shell durability" icon. Help + Actions + UX
* Bug with conn typeahead not closing when clicking disconnect
* Auto-reconnect jobs that have been disconnected (check for "gone"
state)
* Disable tab indicator stuff (only indicates tab not block)
* Fix bug with dev logging path on connserver
* Fix bugs with restarting blockcontrollers on startup
* Fix bugs with getting HasExited status from job manager
* Fix startup files, quoting, tilde, etc in start job flow
* ...
Working on bug fixes and UX. Streams restarting, fixed lots of bugs,
timing issues, concurrency bugs. Get status shipped to the FE to drive
"shield" state display. Deal with stale streams.
Also big UX changes to the block headers. Specialize the terminal
headers to prioritize the connection (sense of place), remove old
terminal icon and word "Terminal" from the header. Also drop "Web" and
"Preview" labels on web/preview blocks.
Added `wsh focusblock` command.
The original `ai:model` name for xAI's models in the example didn't work
as advertised (resulting a 404 error in practice). After some trial and
error I've been able to sort out the correct model slug and have updated
the documentation accordingly.
* Adds a Confirm on Quit dialog (and new config to disable it)
* New MacOS keybinding for Cmd:ArrowLeft/Cmd:ArrowRight to send Ctrl-A
and Ctrl-E respectively
* Fix Ctrl-V regression on windows to allow config setting to override
* Remove questionnaire in bug template
* Full featured tab indicators -- icon, color, priority, clear features.
Can be manipulated by new `wsh tabindicator` command
* Hook up BEL to new tab indicator system. BEL can now play a sound
and/or set an indicator (controlled by two new config options)
Added instructions for using OpenAI compatible API provider, including
required parameters and a JSON example.
It took me a while to notice that, unlike most the common usage of a
baseurl, waveterm needs the full endpoint.
Bumps the dev-dependencies-patch group with 2 updates:
[prettier](https://github.com/prettier/prettier) and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Updates `prettier` from 3.8.0 to 3.8.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/releases">prettier's
releases</a>.</em></p>
<blockquote>
<h2>3.8.1</h2>
<ul>
<li>Include available <code>printers</code> in plugin type declarations
(<a
href="https://redirect.github.com/prettier/prettier/pull/18706">#18706</a>
by <a href="https://github.com/porada"><code>@porada</code></a>)</li>
</ul>
<p>🔗 <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md#381">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's
changelog</a>.</em></p>
<blockquote>
<h1>3.8.1</h1>
<p><a
href="https://github.com/prettier/prettier/compare/3.8.0...3.8.1">diff</a></p>
<h4>Include available <code>printers</code> in plugin type declarations
(<a
href="https://redirect.github.com/prettier/prettier/pull/18706">#18706</a>
by <a href="https://github.com/porada"><code>@porada</code></a>)</h4>
<!-- raw HTML omitted -->
<pre lang="ts"><code>// Input
import * as prettierPluginEstree from
"prettier/plugins/estree";
<p>// Prettier 3.8.0
// Property 'printers' does not exist on type 'typeof
import("prettier/plugins/estree")'. ts(2339)
prettierPluginEstree.printers.estree; //=> any</p>
<p>// Prettier 3.8.1
prettierPluginEstree.printers.estree; //=> Printer
prettierPluginEstree.printers["estree-json"]; //=> Printer
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="90983f40dc"><code>90983f4</code></a>
Release 3.8.1</li>
<li><a
href="57f702f765"><code>57f702f</code></a>
Include available <code>printers</code> in plugin type declarations (<a
href="https://redirect.github.com/prettier/prettier/issues/18706">#18706</a>)</li>
<li><a
href="bece827851"><code>bece827</code></a>
Revert change in release script</li>
<li><a
href="82a4ab26f1"><code>82a4ab2</code></a>
Bump Prettier dependency to 3.8.0</li>
<li><a
href="5213ee463c"><code>5213ee4</code></a>
Clean changelog_unreleased</li>
<li><a
href="f95ad0f8e1"><code>f95ad0f</code></a>
Comment out finished steps</li>
<li><a
href="b2034e819a"><code>b2034e8</code></a>
Fix release script</li>
<li><a
href="5824b15189"><code>5824b15</code></a>
Release 3.8.0</li>
<li><a
href="04336012b3"><code>0433601</code></a>
Add blog post for v3.8.0 (<a
href="https://redirect.github.com/prettier/prettier/issues/18639">#18639</a>)</li>
<li><a
href="c45fef106e"><code>c45fef1</code></a>
Fix LWC attribute with <code>--embedded-language-formatting off</code>
(<a
href="https://redirect.github.com/prettier/prettier/issues/18383">#18383</a>)</li>
<li>See full diff in <a
href="https://github.com/prettier/prettier/compare/3.8.0...3.8.1">compare
view</a></li>
</ul>
</details>
<br />
Updates `typescript-eslint` from 8.53.0 to 8.53.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.53.1</h2>
<h2>8.53.1 (2026-01-19)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>eslint-plugin:</strong> [consistent-indexed-object-style]
skip fixer if interface is a default export (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11951">#11951</a>)</li>
<li><strong>utils:</strong> make RuleCreator root defaultOptions
optional (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11956">#11956</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Cameron</li>
<li>Yukihiro Hasegawa <a
href="https://github.com/y-hsgw"><code>@y-hsgw</code></a></li>
</ul>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's
changelog</a>.</em></p>
<blockquote>
<h2>8.53.1 (2026-01-19)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9940e53a15"><code>9940e53</code></a>
chore(release): publish 8.53.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.53.1/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Big simplification. Remove the FileShare interface that abstracted
wsh://, s3://, and wavefile:// files.
It produced a lot of complexity for very little usage. We're just going
to focus on the wsh:// implementation since that's core to our remote
workflows.
* remove s3 implementation (and connections, and picker items for
preview)
* remove capabilities for FE
* remove wavefile backend impl as well
* simplify wsh file remote backend
* remove ability to copy/move/ls recursively
* limit file transfers to 32m
the longer term fix here is to use the new streaming RPC primitives.
they have full end-to-end flow-control built in and will not create
pipeline stalls, blocking other requests, and OOM issues.
these other impls had to be removed (or fixed) because transferring
large files could cause stalls or crashes with the new router
infrastructure.
Bumps the dev-dependencies-minor group with 2 updates:
[prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc)
and
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).
Updates `prettier-plugin-jsdoc` from 1.7.0 to 1.8.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/blob/master/CHANGELOG.md">prettier-plugin-jsdoc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.7.1...v1.8.0">1.8.0</a>
(2025-12-07)</h2>
<h3>Features</h3>
<ul>
<li>add jsdocBracketSpacing (<a
href="01c13e1e1b">01c13e1</a>)</li>
</ul>
<h3><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.7.0...v1.7.1">1.7.1</a>
(2025-12-07)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>prevent preprocess again (<a
href="c0d77bf3e0">c0d77bf</a>)</li>
</ul>
<h2><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.5.0...v1.6.0">1.6.0</a>
(2025-11-28)</h2>
<h3>Features</h3>
<ul>
<li>add balance to jsdocLineWrappingStyle (<a
href="7fd51824ab">7fd5182</a>)</li>
<li>add jsdocEmptyCommentStrategy option to handle empty JSDoc comments
("keep"| "remove") "remove" is default (<a
href="86e7ebb11f">86e7ebb</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>async plugin like tailwind (<a
href="48d56aaa64">48d56aa</a>)</li>
<li>printWidth (<a
href="d84dcc596d">d84dcc5</a>)</li>
<li>support <a href="https://github.com/this"><code>@this</code></a>
tag (<a
href="666338444c">6663384</a>)</li>
</ul>
<h2><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.3.3...v1.4.0">1.4.0</a>
(2025-10-29)</h2>
<h3>Features</h3>
<ul>
<li>add support for import tags (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/252">#252</a>)
(<a
href="ab5c488b2d">ab5c488</a>)</li>
</ul>
<h3><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.3.2...v1.3.3">1.3.3</a>
(2025-07-01)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>add compatibility with prettier v3.6.0 (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/246">#246</a>)
(<a
href="a50b62e931">a50b62e</a>)</li>
</ul>
<h3><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.3.0...v1.3.1">1.3.1</a>
(2025-01-03)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>add package manager (<a
href="ffafd40cde">ffafd40</a>)</li>
<li>provide correct types path in conditional exports (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/222">#222</a>)
(<a
href="7a884b6d51">7a884b6</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/commits">compare
view</a></li>
</ul>
</details>
<br />
Updates `typescript-eslint` from 8.48.1 to 8.49.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.49.0</h2>
<h2>8.49.0 (2025-12-08)</h2>
<h3>🚀 Features</h3>
<ul>
<li><strong>eslint-plugin:</strong> use <code>Intl.Segmenter</code>
instead of <code>graphemer</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11804">#11804</a>)</li>
</ul>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>deps:</strong> update dependency prettier to v3.7.2 (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11820">#11820</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Justin McBride</li>
<li>Kirk Waiblinger <a
href="https://github.com/kirkwaiblinger"><code>@kirkwaiblinger</code></a></li>
</ul>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's
changelog</a>.</em></p>
<blockquote>
<h2>8.49.0 (2025-12-08)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="864595a44b"><code>864595a</code></a>
chore(release): publish 8.49.0</li>
<li><a
href="32b7e891bd"><code>32b7e89</code></a>
chore(deps): update dependency <code>@vitest/eslint-plugin</code> to
v1.5.1 (<a
href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint/issues/11816">#11816</a>)</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.49.0/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- [x] Add new API type constant for Google Gemini in uctypes.go
- [x] Create gemini directory under pkg/aiusechat/
- [x] Implement gemini-backend.go with streaming chat support
- [x] Implement gemini-convertmessage.go for message conversion
- [x] Implement gemini-types.go for Google-specific types
- [x] Add gemini backend to usechat-backend.go
- [x] Support tool calling with structured arguments
- [x] Support image upload (base64 inline data)
- [x] Support PDF upload (base64 inline data)
- [x] Support file upload (text files, directory listings)
- [x] Build verification passed
- [x] Add documentation for Gemini backend usage
- [x] Security scan passed (CodeQL found 0 issues)
- [x] Code review passed with no comments
- [x] Revert tsunami demo go.mod/go.sum files (per feedback - twice)
- [x] Add `--gemini` flag to main-testai.go for testing
- [x] Fix schema validation for tool calling (clean unsupported fields)
- [x] Preserve non-map property values in schema cleaning
## Summary
Successfully implemented a complete Google Gemini backend for WaveTerm's
AI chat system. The implementation:
- **Follows existing patterns**: Matches the structure of OpenAI and
Anthropic backends
- **Fully featured**: Supports all required capabilities including tool
calling, images, PDFs, and files
- **Properly tested**: Builds successfully with no errors or warnings
- **Secure**: Passed CodeQL security scanning with 0 issues
- **Well documented**: Includes comprehensive package documentation with
usage examples
- **Minimal changes**: Only affects backend code under pkg/aiusechat
(tsunami demo files reverted twice)
- **Testable**: Added `--gemini` flag to main-testai.go for easy testing
with SSE output
- **Schema compatible**: Cleans JSON schemas to remove fields
unsupported by Gemini API while preserving valid structure
## Testing
To test the Gemini backend using main-testai.go:
```bash
export GOOGLE_APIKEY="your-api-key"
cd cmd/testai
go run main-testai.go --gemini 'What is 2+2?'
go run main-testai.go --gemini --model gemini-1.5-pro 'Explain quantum computing'
go run main-testai.go --gemini --tools 'Help me configure GitHub Actions monitoring'
```
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Removes the embedded Docusaurus build from the application. The help
view now always loads from https://docs.waveterm.dev/ instead of serving
a locally bundled copy. This eliminates package size constraints on
documentation content (e.g., videos) and removes unnecessary
build/packaging overhead.
**Backend changes:**
- Deleted `pkg/docsite` package entirely
- Removed docsite handler from `pkg/web/web.go`
- Simplified `emain/docsite.ts` to return constant URL instead of
probing for embedded docs
**Frontend changes:**
- Removed embedded URL translation logic from `helpview.tsx`
- Homepage URL now uses constant instead of IPC call
**Build configuration:**
- Removed `docsite:build:embedded` task and all references
- Removed `dist/docsite/**/*` from electron-builder asarUnpack
- Removed `build-embedded` script from docs package.json
Net result: -141 lines, +9 lines across 8 files.
<!-- START COPILOT CODING AGENT SUFFIX -->
<details>
<summary>Original prompt</summary>
> right now we build a docusaurus project to run both the online docs at
docs.waveterm.dev AND to embed into the application. but this limits
what we can show in the docs (especially large things like videos etc.)
>
> the internal docs already fall back to the website when it cannot find
the embedded docs.
>
> i'd like to update the build and packaging etc to no longer build the
embedded doc site. i'd also like to have the "help" view always render
the live doc site at https://docs.waveterm.dev.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
💡 You can make Copilot smarter by setting up custom instructions,
customizing its development environment and configuring Model Context
Protocol (MCP) servers. Learn more [Copilot coding agent
tips](https://gh.io/copilot-coding-agent-tips) in the docs.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Bumps the dev-dependencies-minor group with 3 updates in the /
directory:
[@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react-swc),
[node-abi](https://github.com/electron/node-abi) and
[prettier-plugin-jsdoc](https://github.com/hosseinmd/prettier-plugin-jsdoc).
Updates `@vitejs/plugin-react-swc` from 4.1.0 to 4.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/releases"><code>@vitejs/plugin-react-swc</code>'s
releases</a>.</em></p>
<blockquote>
<h2>plugin-react@4.2.0</h2>
<h3>Update peer dependency range to target Vite 5</h3>
<p>There were no breaking change that impacted this plugin, so any
combination of React plugins and Vite core version will work.</p>
<h3>Align jsx runtime for optimized dependencies</h3>
<p>This will only affect people using internal libraries that contains
untranspiled JSX. This change aligns the optimizer with the source code
and avoid issues when the published source don't have <code>React</code>
in the scope.</p>
<p>Reminder: While being partially supported in Vite, publishing TS
& JSX outside of internal libraries is highly discouraged.</p>
<h2>plugin-react-swc@4.2.0</h2>
<h3>Add <code>@vitejs/plugin-react-swc/preamble</code> virtual module
for SSR HMR (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/890">#890</a>)</h3>
<p>SSR applications can now initialize HMR runtime by importing
<code>@vitejs/plugin-react-swc/preamble</code> at the top of their
client entry instead of manually calling
<code>transformIndexHtml</code>. This simplifies SSR setup for
applications that don't use the <code>transformIndexHtml</code> API.</p>
<h3>Use SWC when useAtYourOwnRisk_mutateSwcOptions is provided (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/951">#951</a>)</h3>
<p>Previously, this plugin did not use SWC if plugins were not provided
even if <code>useAtYourOwnRisk_mutateSwcOptions</code> was provided.
This is now fixed.</p>
<h2>plugin-react@4.1.1</h2>
<ul>
<li>Enable retainLines to get correct line numbers for jsxDev (fix <a
href="https://redirect.github.com/vitejs/vite-plugin-react/issues/235">#235</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc/CHANGELOG.md"><code>@vitejs/plugin-react-swc</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>4.2.0 (2025-10-24)</h2>
<h3>Add <code>@vitejs/plugin-react-swc/preamble</code> virtual module
for SSR HMR (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/890">#890</a>)</h3>
<p>SSR applications can now initialize HMR runtime by importing
<code>@vitejs/plugin-react-swc/preamble</code> at the top of their
client entry instead of manually calling
<code>transformIndexHtml</code>. This simplifies SSR setup for
applications that don't use the <code>transformIndexHtml</code> API.</p>
<h3>Use SWC when useAtYourOwnRisk_mutateSwcOptions is provided (<a
href="https://redirect.github.com/vitejs/vite-plugin-react/pull/951">#951</a>)</h3>
<p>Previously, this plugin did not use SWC if plugins were not provided
even if <code>useAtYourOwnRisk_mutateSwcOptions</code> was provided.
This is now fixed.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/vitejs/vite-plugin-react/commits/v4.2.0/packages/plugin-react-swc">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for <code>@vitejs/plugin-react-swc</code>
since your current version.</p>
</details>
<br />
Updates `node-abi` from 4.14.0 to 4.17.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/electron/node-abi/releases">node-abi's
releases</a>.</em></p>
<blockquote>
<h2>v4.17.0</h2>
<h1><a
href="https://github.com/electron/node-abi/compare/v4.16.0...v4.17.0">4.17.0</a>
(2025-10-30)</h1>
<h3>Features</h3>
<ul>
<li>update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/243">#243</a>)
(<a
href="e1fbdddb1c">e1fbddd</a>)</li>
</ul>
<h2>v4.16.0</h2>
<h1><a
href="https://github.com/electron/node-abi/compare/v4.15.0...v4.16.0">4.16.0</a>
(2025-10-28)</h1>
<h3>Features</h3>
<ul>
<li>update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/233">#233</a>)
(<a
href="4614b6b467">4614b6b</a>)</li>
</ul>
<h2>v4.15.0</h2>
<h1><a
href="https://github.com/electron/node-abi/compare/v4.14.0...v4.15.0">4.15.0</a>
(2025-10-23)</h1>
<h3>Features</h3>
<ul>
<li>update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/227">#227</a>)
(<a
href="a0b95e07af">a0b95e0</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e1fbdddb1c"><code>e1fbddd</code></a>
feat: update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/243">#243</a>)</li>
<li><a
href="5e7b041ed8"><code>5e7b041</code></a>
ci: quick sleep before waiting on automated PR checks (<a
href="https://redirect.github.com/electron/node-abi/issues/240">#240</a>)</li>
<li><a
href="a0eb6a1b64"><code>a0eb6a1</code></a>
ci: tweak automated docs PR merging (<a
href="https://redirect.github.com/electron/node-abi/issues/239">#239</a>)</li>
<li><a
href="4614b6b467"><code>4614b6b</code></a>
feat: update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/233">#233</a>)</li>
<li><a
href="91c9478e5c"><code>91c9478</code></a>
ci: fix outputs syntax in release workflow (<a
href="https://redirect.github.com/electron/node-abi/issues/237">#237</a>)</li>
<li><a
href="7b12648e7c"><code>7b12648</code></a>
ci: update release environment name (<a
href="https://redirect.github.com/electron/node-abi/issues/236">#236</a>)</li>
<li><a
href="2e36924728"><code>2e36924</code></a>
ci: use new electron/secret-service-action (<a
href="https://redirect.github.com/electron/node-abi/issues/235">#235</a>)</li>
<li><a
href="e0c3ff071d"><code>e0c3ff0</code></a>
ci: use electron/secret-service action (<a
href="https://redirect.github.com/electron/node-abi/issues/234">#234</a>)</li>
<li><a
href="a0b95e07af"><code>a0b95e0</code></a>
feat: update ABI registry (<a
href="https://redirect.github.com/electron/node-abi/issues/227">#227</a>)</li>
<li><a
href="0683be1d61"><code>0683be1</code></a>
ci: bump electron/semantic-trusted-release to v1.0.1 (<a
href="https://redirect.github.com/electron/node-abi/issues/230">#230</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/electron/node-abi/compare/v4.14.0...v4.17.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `prettier-plugin-jsdoc` from 1.3.3 to 1.5.0
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/blob/master/CHANGELOG.md">prettier-plugin-jsdoc's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file.
See <a
href="https://github.com/conventional-changelog/standard-version">standard-version</a>
for commit guidelines.</p>
<h2><a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.3.3...v1.4.0">1.4.0</a>
(2025-10-29)</h2>
<h3>Features</h3>
<ul>
<li>add support for import tags (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/252">#252</a>)
(<a
href="ab5c488b2d">ab5c488</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0260abfd71"><code>0260abf</code></a>
v1.5.0</li>
<li><a
href="4887997f86"><code>4887997</code></a>
chore(release): 1.4.0</li>
<li><a
href="ab5c488b2d"><code>ab5c488</code></a>
feat: add support for import tags (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/252">#252</a>)</li>
<li><a
href="2c6d363f7f"><code>2c6d363</code></a>
test: prettier version bump into 3.6 (<a
href="https://redirect.github.com/hosseinmd/prettier-plugin-jsdoc/issues/248">#248</a>)</li>
<li>See full diff in <a
href="https://github.com/hosseinmd/prettier-plugin-jsdoc/compare/v1.3.3...v1.5.0">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
also updates ROADMAP.md, and fixes a node pruning bug on the FE, and
adds a new diff viewer that we can view the write_text_file and
edit_text_file diffs in. adds a backup file system that can be used to restore AI edited files back to their original states.
Fix for https://github.com/wavetermdev/waveterm/issues/2385 for Wave AI.
Also update privacy information to say we send the chats to OpenAI for
processing.
Also modify the system prompt to say that file editing + command execution is coming soon.
Bumps the dev-dependencies-patch group with 3 updates:
[@rollup/plugin-node-resolve](https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve),
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
and
[vite-plugin-static-copy](https://github.com/sapphi-red/vite-plugin-static-copy).
Updates `@rollup/plugin-node-resolve` from 16.0.2 to 16.0.3
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rollup/plugins/blob/master/packages/node-resolve/CHANGELOG.md"><code>@rollup/plugin-node-resolve</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>v16.0.3</h2>
<p><em>2025-10-13</em></p>
<h3>Bugfixes</h3>
<ul>
<li>fix: resolve bare targets of package "imports" using
export maps; avoid fileURLToPath(null) (<a
href="https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve/issues/1908">#1908</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="764910a09d"><code>764910a</code></a>
chore(release): node-resolve v16.0.3</li>
<li><a
href="35697207a4"><code>3569720</code></a>
fix(node-resolve): resolve bare targets of package "imports"
using export map...</li>
<li>See full diff in <a
href="https://github.com/rollup/plugins/commits/node-resolve-v16.0.3/packages/node-resolve">compare
view</a></li>
</ul>
</details>
<br />
Updates `typescript-eslint` from 8.46.0 to 8.46.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's
releases</a>.</em></p>
<blockquote>
<h2>v8.46.1</h2>
<h2>8.46.1 (2025-10-13)</h2>
<h3>🩹 Fixes</h3>
<ul>
<li><strong>ast-spec:</strong> cleanup <code>TSLiteralType</code> (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11624">#11624</a>)</li>
<li><strong>eslint-plugin:</strong> [prefer-optional-chain] include
mixed "nullish comparison style" chains in checks (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11533">#11533</a>)</li>
<li><strong>eslint-plugin:</strong> [no-misused-promises] special-case
<code>.finally</code> not to report when a promise returning function is
provided as an argument (<a
href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/11667">#11667</a>)</li>
</ul>
<h3>❤️ Thank You</h3>
<ul>
<li>Abraham Guo</li>
<li>mdm317</li>
<li>Ronen Amiel</li>
</ul>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's
changelog</a>.</em></p>
<blockquote>
<h2>8.46.1 (2025-10-13)</h2>
<p>This was a version bump only for typescript-eslint to align it with
other projects, there were no code changes.</p>
<p>You can read about our <a
href="https://typescript-eslint.io/users/versioning">versioning
strategy</a> and <a
href="https://typescript-eslint.io/users/releases">releases</a> on our
website.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3f5fbf698e"><code>3f5fbf6</code></a>
chore(release): publish 8.46.1</li>
<li>See full diff in <a
href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.1/packages/typescript-eslint">compare
view</a></li>
</ul>
</details>
<br />
Updates `vite-plugin-static-copy` from 3.1.3 to 3.1.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sapphi-red/vite-plugin-static-copy/releases">vite-plugin-static-copy's
releases</a>.</em></p>
<blockquote>
<h2>vite-plugin-static-copy@3.1.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/sapphi-red/vite-plugin-static-copy/pull/204">#204</a>
<a
href="d0b5370352"><code>d0b5370</code></a>
Thanks <a
href="https://github.com/stianjensen"><code>@stianjensen</code></a>! -
Removed <code>fs-extra</code> dependency in favor of
<code>node:fs</code>. This should not affect the behavior.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/sapphi-red/vite-plugin-static-copy/blob/main/CHANGELOG.md">vite-plugin-static-copy's
changelog</a>.</em></p>
<blockquote>
<h2>3.1.4</h2>
<h3>Patch Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/sapphi-red/vite-plugin-static-copy/pull/204">#204</a>
<a
href="d0b5370352"><code>d0b5370</code></a>
Thanks <a
href="https://github.com/stianjensen"><code>@stianjensen</code></a>! -
Removed <code>fs-extra</code> dependency in favor of
<code>node:fs</code>. This should not affect the behavior.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a7e8639783"><code>a7e8639</code></a>
chore: update versions (<a
href="https://redirect.github.com/sapphi-red/vite-plugin-static-copy/issues/206">#206</a>)</li>
<li><a
href="d0b5370352"><code>d0b5370</code></a>
refactor: replace <code>fs-extra</code> with <code>node:fs</code> (<a
href="https://redirect.github.com/sapphi-red/vite-plugin-static-copy/issues/204">#204</a>)</li>
<li>See full diff in <a
href="https://github.com/sapphi-red/vite-plugin-static-copy/compare/vite-plugin-static-copy@3.1.3...vite-plugin-static-copy@3.1.4">compare
view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>