Don't allow tabs with active Wave AI sessions to get closed when we
close the last block. Have Cmd-W close Wave AI if it is focused (rather
than a random node). Also fixes some lurking bugs with the pinned tab
functionality (and adds some nice visual feedback when we try to close a
pinned tab).
- [x] Explore repository structure and understand existing tools pattern
- [x] Create tools_readdir.go file with read_dir tool implementation
- [x] Add GetReadDirToolDefinition() function following the pattern of
read_text_file
- [x] Register the new tool in tools.go GenerateTabStateAndTools
function
- [x] Create comprehensive tests in tools_readdir_test.go
- [x] Test the implementation manually with various scenarios
- [x] Run Go tests to ensure no regressions
- [x] Run security check with CodeQL - No vulnerabilities found
- [x] Revert unintended changes to tsunami demo go.mod and go.sum files
- [x] Fix sorting to happen before truncation and preserve real total
count
## Summary
Successfully implemented a new `read_dir` AI tool that reads and lists
directory contents, following the same pattern as the existing
`read_text_file` tool.
**Key Features:**
- Supports path expansion (including ~)
- Sorts directories first, then files (sorting happens BEFORE
truncation)
- Truncates output to prevent overwhelming responses (default 1000
entries)
- Preserves the real total count even when truncated
- Requires user approval for security
- Provides detailed file/directory information (name, type, size,
permissions, modification time)
- Returns both structured data and formatted listing
**Files Changed:**
- `pkg/aiusechat/tools_readdir.go` - Main implementation (189 lines)
- `pkg/aiusechat/tools_readdir_test.go` - Comprehensive tests (211
lines)
- `pkg/aiusechat/tools.go` - Tool registration (1 line)
**Testing:**
- ✅ All 6 unit tests passing (including new test for
sort-before-truncate)
- ✅ Manual testing with real directories successful
- ✅ CodeQL security scan passed with no vulnerabilities
- ✅ Go build and vet successful
<!-- START COPILOT CODING AGENT SUFFIX -->
<details>
<summary>Original prompt</summary>
> Right now we have AI tools in go at pkg/aichat ... see tools.go,
tools_readfile.go. i'd like to add a new tool to read directories in the
style of readfile.
</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>
Co-authored-by: sawka <mike@commandline.dev>
### What This Does
Adds a new `wsh blocks list` subcommand that lists all blocks in all or
specified workspace, window, or tab. Includes filtering options and JSON
output for automation.
### Motivation
Wave users had no simple way to programmatically discover block IDs for
scripting and automation. This feature:
- Enables workflows like syncing Preview widgets with `cd` changes.
- Simplifies debugging and introspection.
- Provides a foundation for future CLI enhancements (focus/close
blocks).
### Usage
```wsh blocks [list|ls|get] [--workspace=<workspace-id>] [--window=<window-id>] [--tab=<tab-id>] [--view=<view-type>] [--json]```
Where `<view-type>` can be one of: term, terminal, shell, console, web, browser, url, preview, edit, sysinfo, sys, system, waveai, ai, or assistant.
### Notes
- Fully backward compatible.
- Code follows existing CLI patterns.
Bumps
[github.com/sashabaranov/go-openai](https://github.com/sashabaranov/go-openai)
from 1.41.1 to 1.41.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sashabaranov/go-openai/releases">github.com/sashabaranov/go-openai's
releases</a>.</em></p>
<blockquote>
<h2>v1.41.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Add Verbosity parameter to Chat Completion Request by <a
href="https://github.com/azdaev"><code>@azdaev</code></a> in <a
href="https://redirect.github.com/sashabaranov/go-openai/pull/1064">sashabaranov/go-openai#1064</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/azdaev"><code>@azdaev</code></a> made
their first contribution in <a
href="https://redirect.github.com/sashabaranov/go-openai/pull/1064">sashabaranov/go-openai#1064</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/sashabaranov/go-openai/compare/v1.41.1...v1.41.2">https://github.com/sashabaranov/go-openai/compare/v1.41.1...v1.41.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8e5611cc5e"><code>8e5611c</code></a>
Add Verbosity parameter to Chat Completion Request (<a
href="https://redirect.github.com/sashabaranov/go-openai/issues/1064">#1064</a>)</li>
<li>See full diff in <a
href="https://github.com/sashabaranov/go-openai/compare/v1.41.1...v1.41.2">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the electron-patch group with 1 update:
[electron-vite](https://github.com/alex8088/electron-vite).
Updates `electron-vite` from 4.0.0 to 4.0.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/alex8088/electron-vite/releases">electron-vite's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.1</h2>
<p>Please refer to <a
href="https://github.com/alex8088/electron-vite/blob/v4.0.1/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/alex8088/electron-vite/blob/master/CHANGELOG.md">electron-vite's
changelog</a>.</em></p>
<blockquote>
<h3>v4.0.1 (<em>2025-09-21</em>)</h3>
<ul>
<li>perf: build compatibility target for Electron 38</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ad50cba495"><code>ad50cba</code></a>
release: 4.0.1</li>
<li><a
href="b55eb725c4"><code>b55eb72</code></a>
perf: build compatibility target for Electron 38</li>
<li>See full diff in <a
href="https://github.com/alex8088/electron-vite/compare/v4.0.0...v4.0.1">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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>
Massive PR, over 13k LOC updated, 128 commits to implement the first pass at the new Wave AI panel. Two backend adapters (OpenAI and Anthropic), layout changes to support the panel, keyboard shortcuts, and a huge focus/layout change to integrate the panel seamlessly into the UI.
Also fixes some small issues found during the Wave AI journey (zoom fixes, documentation, more scss removal, circular dependency issues, settings, etc)
The current layout system uses a complex bidirectional atom architecture
that forces every layout change to round-trip through the backend
WaveObject, even though **the backend never reads this data** - it only
queues actions via `PendingBackendActions`. By switching to a "write
cache" pattern where local atoms are the source of truth and backend
writes are fire-and-forget, we can eliminate ~70% of the complexity
while maintaining full persistence.
----
Every layout change (split, close, focus, magnify) currently follows
this flow:
```
User action
↓
treeReducer() mutates layoutState
↓
layoutState.generation++ ← Only purpose: trigger the write
↓
Bidirectional atom setter (checks generation)
↓
Write to WaveObject {rootnode, focusednodeid, magnifiednodeid}
↓
WaveObject update notification
↓
Bidirectional atom getter runs
↓
ALL dependent atoms recalculate (every isFocused, etc.)
↓
React re-renders with updated state
```
---
## Proposed "Write Cache" Architecture
### Core Concept
```
User action
↓
Update LOCAL atom (immediate, synchronous)
↓
React re-renders (single tick, all atoms see new state)
↓
[async, fire-and-forget] Persist to WaveObject
```
### Key Principles
1. **Local atoms are source of truth** during runtime
2. **WaveObject is persistence layer** only (read on init, write async)
3. **Backend actions still work** via `PendingBackendActions`
4. **No generation tracking needed** (no need to trigger writes)
Bumps
[github.com/openai/openai-go/v2](https://github.com/openai/openai-go)
from 2.1.1 to 2.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-go/releases">github.com/openai/openai-go/v2's
releases</a>.</em></p>
<blockquote>
<h2>v2.5.0</h2>
<h2>2.5.0 (2025-09-17)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-%5Bgo/compare/v2.4.3...v2.5.0%5D(https://www.golinks.io/compare/v2.4.3...v2.5.0?trackSource=github)">v2.4.3...v2.5.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> type updates for conversations,
reasoning_effort and results for evals (<a
href="3e68a60d76)">3e68a60</a>)</li>
</ul>
<h2>v2.4.3</h2>
<h2>2.4.3 (2025-09-15)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-%5Bgo/compare/v2.4.2...v2.4.3%5D(https://www.golinks.io/compare/v2.4.2...v2.4.3?trackSource=github)">v2.4.2...v2.4.3</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> docs and spec refactoring (<a
href="e67af66b35)">e67af66</a>)</li>
</ul>
<h2>v2.4.2</h2>
<h2>2.4.2 (2025-09-12)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.4.1...v2.4.2">v2.4.1...v2.4.2</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> Minor docs and type updates for realtime (<a
href="d92ea4850f">d92ea48</a>)</li>
</ul>
<h2>v2.4.1</h2>
<h2>2.4.1 (2025-09-10)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-%5Bgo/compare/v2.4.0...v2.4.1%5D(https://www.golinks.io/compare/v2.4.0...v2.4.1?trackSource=github)">v2.4.0...v2.4.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> fix realtime GA types (<a
href="012b83e3fa)">012b83e</a>)</li>
</ul>
<h2>v2.4.0</h2>
<h2>2.4.0 (2025-09-08)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.3.1...v2.4.0">v2.3.1...v2.4.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> ship the RealtimeGA API shape (<a
href="2b6c6db63e">2b6c6db</a>)</li>
</ul>
<h2>v2.3.1</h2>
<h2>2.3.1 (2025-09-05)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-%5Bgo/compare/v2.3.0...v2.3.1%5D(https://www.golinks.io/compare/v2.3.0...v2.3.1?trackSource=github)">v2.3.0...v2.3.1</a></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openai/openai-go/blob/main/CHANGELOG.md">github.com/openai/openai-go/v2's
changelog</a>.</em></p>
<blockquote>
<h2>2.5.0 (2025-09-17)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.4.3...v2.5.0">v2.4.3...v2.5.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> type updates for conversations,
reasoning_effort and results for evals (<a
href="3e68a60d76">3e68a60</a>)</li>
</ul>
<h2>2.4.3 (2025-09-15)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.4.2...v2.4.3">v2.4.2...v2.4.3</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> docs and spec refactoring (<a
href="e67af66b35">e67af66</a>)</li>
</ul>
<h2>2.4.2 (2025-09-12)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.4.1...v2.4.2">v2.4.1...v2.4.2</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> Minor docs and type updates for realtime (<a
href="d92ea4850f">d92ea48</a>)</li>
</ul>
<h2>2.4.1 (2025-09-10)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.4.0...v2.4.1">v2.4.0...v2.4.1</a></p>
<h3>Chores</h3>
<ul>
<li><strong>api:</strong> fix realtime GA types (<a
href="012b83e3fa">012b83e</a>)</li>
</ul>
<h2>2.4.0 (2025-09-08)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.3.1...v2.4.0">v2.3.1...v2.4.0</a></p>
<h3>Features</h3>
<ul>
<li><strong>api:</strong> ship the RealtimeGA API shape (<a
href="2b6c6db63e">2b6c6db</a>)</li>
</ul>
<h2>2.3.1 (2025-09-05)</h2>
<p>Full Changelog: <a
href="https://github.com/openai/openai-go/compare/v2.3.0...v2.3.1">v2.3.0...v2.3.1</a></p>
<h3>Bug Fixes</h3>
<ul>
<li><strong>internal:</strong> unmarshal correctly when there are
multiple discriminators (<a
href="98596b2183">98596b2</a>)</li>
</ul>
<h2>2.3.0 (2025-09-03)</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="881da8d352"><code>881da8d</code></a>
release: 2.5.0</li>
<li><a
href="ba04b41aaf"><code>ba04b41</code></a>
feat(api): type updates for conversations, reasoning_effort and results
for e...</li>
<li><a
href="39405a5cdd"><code>39405a5</code></a>
release: 2.4.3</li>
<li><a
href="55cb510eed"><code>55cb510</code></a>
chore(api): docs and spec refactoring</li>
<li><a
href="75e14993d4"><code>75e1499</code></a>
Merge pull request <a
href="https://redirect.github.com/openai/openai-go/issues/511">#511</a>
from openai/release-please--branches--main--changes--...</li>
<li><a
href="3eeb1f482e"><code>3eeb1f4</code></a>
release: 2.4.2</li>
<li><a
href="ac63d11e90"><code>ac63d11</code></a>
codegen metadata</li>
<li><a
href="d92ea4850f"><code>d92ea48</code></a>
chore(api): Minor docs and type updates for realtime</li>
<li><a
href="f03535ac39"><code>f03535a</code></a>
Merge pull request <a
href="https://redirect.github.com/openai/openai-go/issues/510">#510</a>
from openai/release-please--branches--main--changes--...</li>
<li><a
href="5b4af26609"><code>5b4af26</code></a>
release: 2.4.1</li>
<li>Additional commits viewable in <a
href="https://github.com/openai/openai-go/compare/v2.1.1...v2.5.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2)
from 1.87.3 to 1.88.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="70e9f3d91a"><code>70e9f3d</code></a>
Release 2025-09-10</li>
<li><a
href="e620ecbfcf"><code>e620ecb</code></a>
Regenerated Clients</li>
<li><a
href="b412203666"><code>b412203</code></a>
Update endpoints model</li>
<li><a
href="89f42ef760"><code>89f42ef</code></a>
Update API model</li>
<li><a
href="d71b109a75"><code>d71b109</code></a>
Bump smithy go version to allow unused required parameter in endpoint
rule se...</li>
<li><a
href="f68827f172"><code>f68827f</code></a>
Release 2025-09-09</li>
<li><a
href="d1748bf983"><code>d1748bf</code></a>
Regenerated Clients</li>
<li><a
href="00307c01f6"><code>00307c0</code></a>
Update endpoints model</li>
<li><a
href="424be9309a"><code>424be93</code></a>
Update API model</li>
<li><a
href="648027edb8"><code>648027e</code></a>
Release 2025-09-08</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.87.3...service/s3/v1.88.1">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the prod-dependencies-patch group with 1 update:
[debug](https://github.com/debug-js/debug).
Updates `debug` from 4.4.1 to 4.4.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/debug-js/debug/releases">debug's
releases</a>.</em></p>
<blockquote>
<h2>4.4.3</h2>
<p>Functionally identical release to <code>4.4.1</code>.</p>
<p>Version <code>4.4.2</code> is <strong>compromised</strong>. Please
see <a
href="https://redirect.github.com/debug-js/debug/issues/1005">debug-js/debug#1005</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6b2c5fbdb7"><code>6b2c5fb</code></a>
4.4.3</li>
<li>See full diff in <a
href="https://github.com/debug-js/debug/compare/4.4.1...4.4.3">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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>
Bumps the electron-patch group with 1 update:
[electron](https://github.com/electron/electron).
Updates `electron` from 38.1.0 to 38.1.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/electron/electron/releases">electron's
releases</a>.</em></p>
<blockquote>
<h2>electron v38.1.2</h2>
<h1>Release Notes for v38.1.2</h1>
<h2>Other Changes</h2>
<ul>
<li>Use Local Execution, Remote Caching (LERC) for fork PRs [(<a
href="https://redirect.github.com/electron/electron/issues/48324">#48324</a>)](<a
href="https://redirect.github.com/electron/electron/pull/48324">electron/electron#48324</a>)</li>
<li>Updated v8 [(<a
href="https://redirect.github.com/electron/electron/issues/48338">#48338</a>)](<a
href="https://redirect.github.com/electron/electron/pull/48338">electron/electron#48338</a>)</li>
</ul>
<h2>electron v38.1.1</h2>
<h1>Release Notes for v38.1.1</h1>
<h2>Other Changes</h2>
<ul>
<li>Updated Chromium to 140.0.7339.133. <a
href="https://redirect.github.com/electron/electron/pull/48287">#48287</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d60ae17998"><code>d60ae17</code></a>
chore: cherry-pick ec6c18478382 from v8 (<a
href="https://redirect.github.com/electron/electron/issues/48337">#48337</a>)</li>
<li><a
href="f43348e75c"><code>f43348e</code></a>
ci: Use Local Execution, Remote Caching (LERC) for fork PRS (<a
href="https://redirect.github.com/electron/electron/issues/48323">#48323</a>)</li>
<li><a
href="5e51c882ee"><code>5e51c88</code></a>
chore: bump chromium to 140.0.7339.133 (38-x-y) (<a
href="https://redirect.github.com/electron/electron/issues/48287">#48287</a>)</li>
<li>See full diff in <a
href="https://github.com/electron/electron/compare/v38.1.0...v38.1.2">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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>
the primary purpose of this PR is to fix a showstopper bug in the
CodeEditor component by setting "path" to a stable UUID. the bug was
that it started as empty string, so it created a shared model between
all of the codeeditor components. now each will get their own monaco
model.
also took this opportunity to do more more preview view refactoring,
splitting up code, and more tailwind migrations.
checkpoint. good to merge. we have a working tsunami view inside of wave (with lots of caveats). but enough for some dev testing. merge so we dont drift too far from main and while we're at a stable point.
no need for yarn anymore in 2025 (especially yarn berry which is just an AI + githubactions nightmare). switch to the more standard npm. update go version to 1.24 across the board. cleanup some vite stuff, and deps. all-around improvements.
Working on AI SDK compatible backends for OpenAI and Anthropic. Thinking + ToolUse etc. For use with AI SDK useChat on frontend. Still needs more testing, WIP, but this is a good start. Want to get this committed to so I can work on more integrations.
Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.27.0 to
0.28.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1759e969da"><code>1759e96</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="f060e16ef6"><code>f060e16</code></a>
all: upgrade go directive to at least 1.24.0 [generated]</li>
<li>See full diff in <a
href="https://github.com/golang/mod/compare/v0.27.0...v0.28.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from
0.41.0 to 0.42.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5307a0ce6d"><code>5307a0c</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="9d779377cf"><code>9d77937</code></a>
acme: include order problem in OrderError</li>
<li><a
href="8f580defa0"><code>8f580de</code></a>
ssh: remove Go 1.24 build tag for ML-KEM kex</li>
<li><a
href="a4d1237429"><code>a4d1237</code></a>
ssh/knownhosts: improve IPv6 support in Normalize</li>
<li><a
href="b8d8dae13d"><code>b8d8dae</code></a>
curve25519: include potential fips140=only error in panic message</li>
<li><a
href="f5a2eabcab"><code>f5a2eab</code></a>
ssh: use curve25519.X25519 instead of curve25519.ScalarMult</li>
<li><a
href="44ecf3af99"><code>44ecf3a</code></a>
all: upgrade go directive to at least 1.24.0 [generated]</li>
<li>See full diff in <a
href="https://github.com/golang/crypto/compare/v0.41.0...v0.42.0">compare
view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>