Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2847 commits
Select commit Hold shift + click to select a range
4a55b7e
chore: bump package version to 0.14.5-beta.1
wave-builder[bot] Apr 16, 2026
158e404
Lots of fixes, big and small for processviewer (frontend and backend)…
sawka Apr 16, 2026
b52652f
chore: bump package version to 0.14.5-beta.2
wave-builder[bot] Apr 16, 2026
97e5600
chore: bump package version to 0.14.5
wave-builder[bot] Apr 16, 2026
80cb181
add waveenv to builder app (#3225)
sawka Apr 16, 2026
fb7bdec
Bump golang.org/x/term from 0.41.0 to 0.42.0 (#3228)
dependabot[bot] Apr 17, 2026
3d2c0d1
Bump golang.org/x/crypto from 0.49.0 to 0.50.0 (#3230)
dependabot[bot] Apr 17, 2026
4969ee1
tsunami / builder updates (jsfuncs, devtools, gpt-5.4, etc) (#3226)
sawka Apr 17, 2026
3e4fe8c
loosen up the requirements to show the File Browser in term context m…
sawka Apr 17, 2026
62dcbca
brand: rename waveterm to weft, isolate data dir, disable telemetry
s-zx Apr 18, 2026
78ebb75
brand: follow-up rename pass for TERM_PROGRAM, test paths, onboarding
s-zx Apr 18, 2026
d4f1e45
brand: point all user-visible URLs to s-zx/weft
s-zx Apr 18, 2026
598bb8a
cmdblock: new package for per-command lifecycle tracking
s-zx Apr 18, 2026
108d866
cmdblock: streaming OSC 16162 parser with offset tracking
s-zx Apr 18, 2026
13d6c1c
cmdblock: wire tracker into the terminal PTY read loop
s-zx Apr 18, 2026
7d3ad00
cmdblock: expose GetCmdBlocks via wshrpc, split types into cbtypes
s-zx Apr 18, 2026
5a7066e
cmdblock: drop empty-Enter prompts + add termblocks view
s-zx Apr 18, 2026
395b389
termblocks: render per-block output via new ReadBlockFileRange RPC
s-zx Apr 18, 2026
49cd92b
termblocks: auto-scroll to bottom + hide transient "prompt" rows
s-zx Apr 18, 2026
71fb8e1
cmdblock: live streaming via wps events, replacing blind polling
s-zx Apr 18, 2026
951d0e0
termblocks: Ctrl-C / SIGINT support
s-zx Apr 18, 2026
4a3e589
cmdblock: alt-screen pass-through for interactive TUIs
s-zx Apr 18, 2026
37fa5da
termblocks: fix hooks-order violation in alt-screen branch
s-zx Apr 18, 2026
f10f747
termblocks: send PTY resize when entering/fitting alt-screen
s-zx Apr 18, 2026
3cb8903
termblocks: hide block cursors + swap input for a Stop panel while ru…
s-zx Apr 18, 2026
f3344e5
termblocks: focus the running block for input, make termblocks the de…
s-zx Apr 18, 2026
ea553d0
termblocks: clear stale running rows + expose giveFocus
s-zx Apr 18, 2026
bd52895
termblocks: trigger ControllerResync on mount so the shell actually s…
s-zx Apr 18, 2026
462fb58
termblocks: Warp-style block styling — meta line, bold cmd, no card
s-zx Apr 18, 2026
3486314
termblocks: bottom status bar with cwd + git branch + diff pills
s-zx Apr 18, 2026
c56358f
termblocks: show git context (branch + diff) in each row's meta line
s-zx Apr 18, 2026
bc85da7
termblocks: OSC 7 -> cmd:cwd meta + wheel pass-through over blocks
s-zx Apr 18, 2026
1b2422a
termblocks: clear command, real shell history, inline ghost suggest
s-zx Apr 18, 2026
5f0e0bc
termblocks: drop empty-output xterm + make output background transparent
s-zx Apr 18, 2026
df9cbf2
termblocks: compact rows for no-output commands + tighter spacing
s-zx Apr 18, 2026
633cdc4
termblocks: size xterm to real visible lines, not just newline count
s-zx Apr 18, 2026
59b20dd
termblocks: drop redundant view header + empty-state placeholder
s-zx Apr 18, 2026
a750da8
termblocks: FontAwesome chips, status bar above input, syntax highlight
s-zx Apr 18, 2026
0ced9ad
termblocks: right-click context menu on every row
s-zx Apr 18, 2026
46072fb
config: default the tab bar to the left (vertical) like Warp
s-zx Apr 18, 2026
f550f4c
vtabs: show cwd, git branch, and diff counts under each tab name
s-zx Apr 18, 2026
da888de
workspace: swallow react-resizable-panels layout validation errors
s-zx Apr 18, 2026
12b19ac
vtabs: cwd replaces default T<n> name + glassier active highlight
s-zx Apr 18, 2026
0a2f91f
vtabs: simplify active highlight to match Warp's cleaner look
s-zx Apr 18, 2026
b05a333
vtabs: strengthen active tab border/fill to read more like Warp
s-zx Apr 18, 2026
58082f8
vtabs: hide the T<n> placeholder while cwd is pending
s-zx Apr 18, 2026
232fa82
vtabs: stabilize tab height so creating a new tab doesn't flicker
s-zx Apr 18, 2026
0539c63
termblocks: stop the status bar collapsing between empty and filled
s-zx Apr 18, 2026
259fc81
Revert "vtabs: hide T<n>" and "stabilize tab height" — kept triggering a
s-zx Apr 18, 2026
449387f
vtabs: drop '~'/'Terminal' fallback for T<n> (user keeps seeing flicker)
s-zx Apr 18, 2026
6bfabce
termblocks: drop hard-coded root background
s-zx Apr 18, 2026
bf1474c
emain: seed every tab's WebContentsView with the app background color
s-zx Apr 18, 2026
7f02e4e
index.html: inline dark bg so new tabs paint dark on the very first f…
s-zx Apr 18, 2026
01d69df
vtabs: drop cwd / git branch / diff enhancements — can't resolve flicker
s-zx Apr 18, 2026
3650950
Revert "index.html: inline dark bg so new tabs paint dark on the very…
s-zx Apr 18, 2026
f554133
Revert "emain: seed every tab's WebContentsView with the app backgrou…
s-zx Apr 18, 2026
14abf5d
Revert "termblocks: drop hard-coded root background"
s-zx Apr 18, 2026
737cec7
Revert "Revert "termblocks: drop hard-coded root background""
s-zx Apr 18, 2026
fc85290
Revert "Revert "emain: seed every tab's WebContentsView with the app …
s-zx Apr 18, 2026
11cf0e6
Revert "Revert "index.html: inline dark bg so new tabs paint dark on …
s-zx Apr 18, 2026
d388116
Revert "vtabs: drop cwd / git branch / diff enhancements — can't reso…
s-zx Apr 18, 2026
067372f
vtabs: never show T<n> — stand in with ~ / Terminal until cwd lands
s-zx Apr 18, 2026
047231d
vtabs: larger rows, squarer active pill, hover reveals ⋮ + × buttons
s-zx Apr 18, 2026
8d7db76
vtabs: taller, always-on metadata row
s-zx Apr 18, 2026
3cacdce
vtabs: move ⋮/× buttons to the top-right corner on hover
s-zx Apr 18, 2026
57e6fb2
vtabs: paint flagColor as left edge bar + nudge hover buttons inward
s-zx Apr 18, 2026
25ebfd3
brand: rename weft to crest, switch data dir to crest-dev
s-zx Apr 18, 2026
3cbf641
brand: follow-up rename pass for TERM_PROGRAM, test paths, onboarding
s-zx Apr 18, 2026
57595dd
docs: replace upstream Wave roadmap with crest fork plan
s-zx Apr 18, 2026
0547560
brand: point all user-visible URLs to s-zx/crest
s-zx Apr 18, 2026
87b9527
feat: built-in file explorer, TopBar, code review panel, shell fixes
s-zx Apr 19, 2026
29f00e9
fix(termblocks): re-fetch instead of slice when streaming cache overf…
s-zx Apr 19, 2026
696036b
revert: remove streaming-cache truncation (broke ls output)
s-zx Apr 19, 2026
07cb62e
chore: remove WaveTerm remnant files (docs, assets, contrib guides)
s-zx Apr 19, 2026
527cf16
chore: move ROADMAP to local-only (personal planning doc)
s-zx Apr 19, 2026
2905200
feat(codereview): Warp-inspired redesign of code review panel
s-zx Apr 20, 2026
d0d3675
Merge pull request #16 from s-zx/claude/charming-feynman
s-zx Apr 20, 2026
5946f6b
feat: topbar revamp, command palette, workspace switcher fixes
s-zx Apr 20, 2026
1c50034
refactor(term): extract shared term settings menu builder
s-zx Apr 20, 2026
e885458
feat(termblocks): themeable xterm rendering, header, shared settings …
s-zx Apr 20, 2026
054c5de
feat(code-review): resizable panel, syntax-highlighted diffs, global …
s-zx Apr 20, 2026
30821ab
fix(topbar): sync traffic-light spacer across tabs on fullscreen
s-zx Apr 20, 2026
5c85b94
fix(security): sandbox RunLocalCmd + watch-dir IPC + preload listener…
s-zx Apr 21, 2026
9225bff
fix: several broken-feature bugs across palette, notifications, tracker
s-zx Apr 21, 2026
c490ef9
fix(code-review): cwd source, diff parser, watcher lifecycle
s-zx Apr 21, 2026
ea49269
fix(file-explorer): watcher leaks, parentDir, openInNewTab race
s-zx Apr 21, 2026
9b6c329
fix(termblocks): outputCache type, Ctrl+C modifiers, unmount guards
s-zx Apr 21, 2026
8343648
perf(vtabbar): share one git-info poller across all tabs
s-zx Apr 21, 2026
a4e3776
fix(cmdblock): tracker timing, git error handling, osc7 host, history…
s-zx Apr 21, 2026
8977c2a
chore: misc cleanup — github 401, dead atom, ===, font-size const
s-zx Apr 21, 2026
0145dd0
wip: snapshot before termblocks warp-style refactor
s-zx Apr 23, 2026
070ea0a
feat(agent): native Go coding agent — modes, tools, HTTP handler, fro…
s-zx Apr 23, 2026
8a1180d
docs: add native agent progress tracker
s-zx Apr 23, 2026
fe8c750
docs: rename agent progress tracker to native-agent-progress.md
s-zx Apr 23, 2026
abcdf17
feat(agent): chatstore namespace isolation + unit tests
s-zx Apr 23, 2026
e1408d2
docs: update progress tracker with chatstore + test status
s-zx Apr 23, 2026
05abb49
test(agent): http validation + tool input parsing + ANSI strip tests
s-zx Apr 23, 2026
7645fe9
feat(agent): telemetry source tagging via WaveChatOpts.Source
s-zx Apr 23, 2026
d86416f
docs: mark Phase 1 polish complete in progress tracker
s-zx Apr 23, 2026
38b7488
feat(config): AI Provider visual settings UI
s-zx Apr 23, 2026
b93c600
fix(config): add ai:apitokensecretname to SettingsType
s-zx Apr 23, 2026
3e7694c
feat(agent): integrate agent overlay into termblocks view
s-zx Apr 23, 2026
92d3393
fix(agent): replace virtual composer with real input element
s-zx Apr 23, 2026
001bf71
fix(agent): add messageid to agent request message
s-zx Apr 23, 2026
abe6ee0
fix(agent): fallback to settings.json AI config when waveai mode fails
s-zx Apr 23, 2026
ac95815
fix(config): always persist provider default baseurl on save
s-zx Apr 23, 2026
da3810e
fix(config): use full chat completions URLs for provider endpoints
s-zx Apr 23, 2026
1f727f2
chore: remove debug console.log from term-model agent keycheck
s-zx Apr 23, 2026
53690ca
docs: comprehensive progress update — termblocks integration, AI Prov…
s-zx Apr 23, 2026
bbc9dc7
fix(agent): Escape in termblocks input closes agent overlay
s-zx Apr 23, 2026
df86bd3
chore: regenerated types and schemas for ai:apitokensecretname
s-zx Apr 23, 2026
33d2d6d
refactor: remove pkg/wcloud/ — dead Wave cloud telemetry upload
s-zx Apr 24, 2026
2c26ddf
refactor: remove legacy AI preset system
s-zx Apr 24, 2026
22f0751
refactor: remove WaveAI panel frontend (18 files)
s-zx Apr 24, 2026
81d9c6b
refactor: remove Wave cloud provider logic from aiusechat
s-zx Apr 24, 2026
46d371b
refactor: remove waveai.json cloud modes and mode config broadcaster
s-zx Apr 24, 2026
c3fc824
refactor: remove remaining waveai artifacts
s-zx Apr 24, 2026
b918337
feat(agent): improve system prompts with Crest-specific tool guidance
s-zx Apr 24, 2026
2c418ce
docs: final progress update — Phase 1 + Wave cleanup complete
s-zx Apr 24, 2026
ca9b7de
feat(agent): add MCP client integration — stdio, SSE, HTTP transports
s-zx Apr 24, 2026
4a157a9
feat(agent): skills integration — discover .kilocode/skills/ and inje…
s-zx Apr 24, 2026
472cdb4
refactor: rename Go module path wavetermdev/waveterm → s-zx/crest
s-zx Apr 24, 2026
0f9d327
docs: update progress — skills integration + module rename complete
s-zx Apr 24, 2026
bd9f117
feat(agent): implement browser tools — navigate, read_text, click, sc…
s-zx Apr 24, 2026
57c88b6
feat(agent): eval harness — golden transcript replay + terminal-bench…
s-zx Apr 24, 2026
72ba177
fix(eval): support OPENROUTER_API_KEY in Harbor adapter
s-zx Apr 24, 2026
173af22
feat(agent): LLM retry with exponential backoff + optimization roadmap
s-zx Apr 24, 2026
c5233ca
feat(agent): step budget enforcement — hard stop at MaxSteps, soft wa…
s-zx Apr 24, 2026
7bf78f5
feat(agent): dangerous command detection in shell_exec
s-zx Apr 24, 2026
dd6c888
feat(agent): context compaction — sliding window at 80% of token budget
s-zx Apr 24, 2026
f573ffe
feat(agent): structured audit log — ToolAuditEvent per tool call
s-zx Apr 24, 2026
8a8ed75
feat(agent): Anthropic prompt caching — system prompt + tool schemas
s-zx Apr 25, 2026
72d4a84
feat(agent): parallel tool execution for read-only tools
s-zx Apr 25, 2026
90b792e
test(agent): expand golden transcripts from 3 to 21
s-zx Apr 25, 2026
970830c
feat(agent): runtime model switcher — :model <name> inline command
s-zx Apr 25, 2026
c056b2c
feat(agent): live token counter in overlay header
s-zx Apr 25, 2026
7bb3b36
docs: update progress — Tier 2 optimization status
s-zx Apr 25, 2026
7bb6533
feat(agent): diff preview for write_text_file and edit_text_file
s-zx Apr 25, 2026
e7c177e
feat(agent): plan-to-do handoff — Execute Plan button in overlay
s-zx Apr 25, 2026
18773d9
fix(agent): diff preview, model switcher, plan handoff — live testing…
s-zx Apr 25, 2026
dbefde6
feat(agent): Warp-style inline agent blocks — replace overlay with ti…
s-zx Apr 25, 2026
ea040f5
docs: update progress — inline blocks, Tier 2 complete
s-zx Apr 25, 2026
c382f10
ci: add agent test workflow — runs on PRs touching agent/aiusechat
s-zx Apr 25, 2026
5b51f9c
docs: update roadmap — Tier 1+2 complete, inline blocks done, CI added
s-zx Apr 25, 2026
b60c45e
feat(agent): web_fetch tool — fetch URLs and extract text content
s-zx Apr 25, 2026
c7e48df
feat(agent): background shell_exec — non-blocking long-running commands
s-zx Apr 25, 2026
38aa615
docs: update roadmap — Tier 3 items #14 #15 #19 complete
s-zx Apr 25, 2026
0df2be9
feat(agent): trajectory export — save audit log to .crest-trajectories/
s-zx Apr 25, 2026
e7074fa
ci: add Harbor nightly workflow for terminal-bench
s-zx Apr 25, 2026
cedf16d
feat(agent): spawn_task tool — sub-agent delegation with isolated con…
s-zx Apr 25, 2026
523d9ed
docs: update roadmap — Tier 3 items #13 #14 #15 #18 #19 #20 complete
s-zx Apr 25, 2026
d517e91
feat(agent): worktree sandboxing + conversation undo
s-zx Apr 25, 2026
1a430a4
docs: roadmap complete — all 20 items done
s-zx Apr 25, 2026
6f85671
feat(agent): file checkpointing + rewind (Claude Code model)
s-zx Apr 25, 2026
688af97
docs: add user guide and architecture document
s-zx Apr 25, 2026
619f93f
fix(agent): file checkpoint correctness — dedup, perm preserve, hash …
s-zx Apr 25, 2026
09d205c
fix(aiusechat): concurrency hotspots + compaction tail-advance
s-zx Apr 25, 2026
a9c90dc
fix(agent): process, filesystem, and HTTP boundary safety
s-zx Apr 25, 2026
5225f09
fix(frontend): inline-agent UX + safety fixes
s-zx Apr 25, 2026
1cc7b50
feat(agent): add search, multi_edit, and todo tools for TB2
s-zx Apr 25, 2026
e9d7795
feat(aiusechat): doom-loop detection, tool-error reflection, compacti…
s-zx Apr 25, 2026
2e938b1
feat(agent): bench mode, AGENTS.md, output spillover, sub-agent budgets
s-zx Apr 25, 2026
1ff19f3
feat(agent): headless driver + TB2 gap analysis
s-zx Apr 25, 2026
fbcc2cd
feat(agent): headless shell_exec for Docker/bench environments
s-zx Apr 26, 2026
a00be4f
feat(bench): Harbor adapter + build script for Terminal-Bench 2
s-zx Apr 26, 2026
9613ce5
chore: remove redundant headless driver + benchmark adapter
s-zx Apr 26, 2026
69af356
chore: remove accidentally committed __pycache__
s-zx Apr 26, 2026
850a4c6
fix(eval): wavesrv auth key, config dirs, dynamic port, stdin keepalive
s-zx Apr 26, 2026
05b00c3
fix(openaichat): handle OpenRouter SSE keepalives and unexpected EOF
s-zx Apr 26, 2026
3df9608
fix(openaichat): broad model compatibility — reasoning, API auto-detect
s-zx Apr 26, 2026
d659171
chore: gitignore jobs/, __pycache__/, .env; remove test artifacts
s-zx Apr 26, 2026
727218c
debug: add raw chunk logging for OpenRouter troubleshooting
s-zx Apr 26, 2026
9e33463
debug: log all raw SSE data events
s-zx Apr 26, 2026
f646153
fix(openaichat): auto-append /chat/completions to base URL
s-zx Apr 26, 2026
6856f40
fix(eval): use bench mode for TB2 — auto-approve all tools
s-zx Apr 26, 2026
120e47d
fix(agent): shell_exec falls back to headless when tab unavailable
s-zx Apr 26, 2026
e379a10
fix(agent): pre-TB2 review — 7 fixes for headless bench reliability
s-zx Apr 26, 2026
fe96b0c
feat(agent): optimize bench prompt and step loop discipline
s-zx Apr 26, 2026
2eedf7f
fix(agent): output-nudge at 40% budget + fix command-not-found accumu…
s-zx Apr 26, 2026
5fd3be5
fix(agent): increase max_tokens from 4096 to 16384
s-zx Apr 26, 2026
a0ba90c
fix(openaichat): capture reasoning_content + preserve reasoning with …
s-zx Apr 26, 2026
54e9b63
feat(eval): route Gemini models to native Google API when GOOGLE_API_…
s-zx Apr 27, 2026
83e24e6
fix(agent): auto-construct Gemini endpoint from model, respect ai:max…
s-zx Apr 27, 2026
0ce9f60
feat(agent): claude-code-parity hardening across 4 phases
s-zx Apr 27, 2026
8451fbb
feat(agent): context governance v2 — collapse tier + richer summary
s-zx Apr 27, 2026
94c5fe2
docs(agent): permissions v2 design — port plan referencing Claude Code
s-zx Apr 27, 2026
14eae39
docs(agent): permissions v2 design — resolve open questions
s-zx Apr 27, 2026
70c82bf
docs(agent): permissions v2 — hide bench mode from user-facing picker
s-zx Apr 27, 2026
fe1a871
docs(agent): permissions v2 — split Mode and Posture into orthogonal …
s-zx Apr 27, 2026
96f8a41
docs(agent): permissions v2 — default posture is acceptEdits, not def…
s-zx Apr 27, 2026
5869a75
feat(agent): native-agent foundation — hooks, classifier, events, LLM…
s-zx Apr 27, 2026
bcf8bd6
feat(agent): permissions v2 — rules engine + adapters + drop Mode app…
s-zx Apr 27, 2026
f82e7d6
feat(agent): permissions v2 — wconfig user scope + FE approval sugges…
s-zx Apr 27, 2026
77eec0c
refactor(agent): delete modes.go — Mode struct → mode-string helpers
s-zx Apr 27, 2026
c015a3f
fix(agent): permissions v2 review pass — empty-cwd UX, drift guards, …
s-zx Apr 27, 2026
3946e7d
feat(agent): UX polish — model picker, headless shell, footer redesign
s-zx Apr 28, 2026
8640b65
wip: warp-style termblocks refactor — snapshot before merging feat/na…
s-zx Apr 28, 2026
53253bc
Merge branch 'feat/native-agent'
s-zx Apr 28, 2026
80b9a88
feat(term): warp-parity block engine + clean-room re-alignment
Jason-Shen2 May 12, 2026
a808e77
fix(block): remove stray [cd-bug] console.log
Jason-Shen2 May 13, 2026
47dab25
chore: ignore NLD model + training artifacts
Jason-Shen2 May 13, 2026
0526061
chore(deps): add edgeflowjs, onnxruntime-web, wink-porter2-stemmer
Jason-Shen2 May 13, 2026
43a838f
chore(build): wire edgeFlow.js sibling clone via Vite alias
Jason-Shen2 May 13, 2026
a3ff7b7
feat(term): port warp Dark theme palette + terminal status/selection …
Jason-Shen2 May 13, 2026
c05bc89
feat(term): warp-parity block header, slim toolbelt, icon-only jump-t…
Jason-Shen2 May 13, 2026
69619b0
feat(nld): port warp's natural-language detection — tier-1 heuristic …
Jason-Shen2 May 13, 2026
76bd2fe
feat(input): redesign cmdblock-input — warp bottom-prompt layout + Au…
Jason-Shen2 May 13, 2026
b153da3
chore(training): Python pipeline for fine-tuning the NLD classifier
Jason-Shen2 May 13, 2026
ead5d63
docs: add edgeFlow.js feedback-loop pointer to CLAUDE.md
Jason-Shen2 May 13, 2026
45b5deb
feat(agent): warp-port — citations + ask_user_question + long-running…
Jason-Shen2 May 20, 2026
d101bc5
feat(agent-ui): tool-ask card + watching badge + TerminalModel tests
Jason-Shen2 May 20, 2026
86a8cc7
docs(agent): warp port — analysis, plan, architecture, audit
Jason-Shen2 May 20, 2026
6864fd8
docs(ai): add ai-config refactor design doc + example
Jason-Shen2 May 20, 2026
0ec6257
feat(ai): backend foundation — AIConfigRequest resolver + AIUserConfi…
Jason-Shen2 May 20, 2026
27e6d14
feat(ai): frontend foundation — catalog, resolver, user-config atom, …
Jason-Shen2 May 20, 2026
d9a6c4a
refactor(ai): delete legacy ai:* + waveai mode dict, wire new picker
Jason-Shen2 May 20, 2026
0f252fc
docs(ai): add ai.json + picker walkthrough to agent user guide
Jason-Shen2 May 20, 2026
3c020ea
chore(test): add slim vitest config bypassing tailwind plugin
Jason-Shen2 May 20, 2026
f6e6653
chore: drop unused electron-builder assets
Jason-Shen2 May 22, 2026
19430c7
chore(tsunami): add @xterm/xterm + addon-fit deps
Jason-Shen2 May 22, 2026
11f190e
feat(theme): runtime theme model + warp-port presets
Jason-Shen2 May 22, 2026
ff1ca52
feat(tabs): vtab overhaul + workspace layout refactor
Jason-Shen2 May 22, 2026
a5c116f
feat(modals): AI setup wizard + Cmd+P command palette
Jason-Shen2 May 22, 2026
aec0266
fix(nld): ESM workers + dynamic-import fallback
Jason-Shen2 May 22, 2026
7f07676
feat(term): context chips, agent blocks, warp-style render polish
Jason-Shen2 May 22, 2026
713c289
feat(ai): harden config resolver, picker, errors; add LiteLLM sync
Jason-Shen2 May 23, 2026
2a4945b
feat(agent): integrate pi-agent-core + pi-ai v0.75.5 into emain/
Jason-Shen2 May 23, 2026
6494b28
feat(agent): per-pane session bridge via pi AgentHarness + JsonlSessi…
Jason-Shen2 May 23, 2026
ce6c973
feat(agent): IPC bridge — renderer ↔ Electron-main agent loop
Jason-Shen2 May 23, 2026
aa5a8e5
feat(agent): tool-call permissions hook (allowlist + bench bypass)
Jason-Shen2 May 23, 2026
18c9a00
feat(agent): v1 tool baseline — read/write/edit/list/web/shell
Jason-Shen2 May 23, 2026
a394bef
feat(agent): usePiChat hook — half of task #12, wiring deferred
Jason-Shen2 May 23, 2026
9822d5d
docs(agent): overnight handoff (2026-05-24) — status, deferrals, pick…
Jason-Shen2 May 23, 2026
2eca3be
feat(agent): slicePiRuns — split pi messages[] into per-send runs
Jason-Shen2 May 24, 2026
dc9cd6e
feat(agent): new ToolCallCard against pi shape
Jason-Shen2 May 24, 2026
c0222e1
feat(agent): wire usePiChat end-to-end — pi shape native, no translation
Jason-Shen2 May 24, 2026
e51c45f
chore(agent): delete dead Wave-era UX + ai-sdk deps
Jason-Shen2 May 24, 2026
18293fc
test(agent): _test-openrouter.ts — manual smoke against OpenRouter fr…
Jason-Shen2 May 24, 2026
b42f5e9
feat(ai): port live /models listing to electron-main IPC
Jason-Shen2 May 24, 2026
9774a61
feat(ai): port ai.json read/write to electron-main IPC
Jason-Shen2 May 24, 2026
e6c41d9
chore(view): delete Wave-era aifilediff view + previews
Jason-Shen2 May 24, 2026
2994635
chore(agent): delete Go agent stack — pkg/agent, pkg/aiusechat, dead …
Jason-Shen2 May 24, 2026
3e59cb5
docs(architecture): update implementation status — #13 done
Jason-Shen2 May 24, 2026
9cdf653
chore: repoint agent-tests CI at vitest + fix stale ai-types comments
Jason-Shen2 May 24, 2026
cc5ddcc
test(agent): repeatable E2E regression harness (#14)
Jason-Shen2 May 24, 2026
c23246c
test(agent): default OpenRouter regression model to gpt-oss-20b:free
Jason-Shen2 May 24, 2026
00fffd2
ci: drop Wave-leftover workflows, fix flaky shell_exec test
Jason-Shen2 May 24, 2026
2cdad6c
ci: remove harbor-nightly terminal-bench workflow
Jason-Shen2 May 24, 2026
822eae2
fix(nld): adapt embedder worker to edgeflowjs 0.2.0's real API
Jason-Shen2 May 24, 2026
f75227e
chore(deps): Bump actions/upload-artifact in /.github/workflows
dependabot[bot] May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true

[*.{js,jsx,ts,tsx,cjs,json,yml,yaml,css,less,scss}]
charset = utf-8
indent_style = space
indent_size = 4

[CNAME]
insert_final_newline = false
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: wavetermdev
86 changes: 86 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: 🐞 Bug Report
description: Create a bug report to help us improve.
title: "[Bug]: "
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
## Bug description
- type: textarea
attributes:
label: Current Behavior
description: A concise description of what you're experiencing.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: A concise description of what you expected to happen.
validations:
required: true
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true

- type: markdown
attributes:
value: |
## Environment details

We require that you provide us the version of Wave you're running so we can track issues across versions. To find the Wave version, go to the app menu (this always visible on macOS, for Windows and Linux, click the `...` button) and navigate to `Wave -> About Wave Terminal`. This will bring up the About modal. Copy the client version and paste it below.
- type: input
attributes:
label: Wave Version
description: The version of Wave you are running
placeholder: v0.8.8
validations:
required: true
- type: dropdown
attributes:
label: Platform
description: The OS platform of the computer where you are running Wave
options:
- macOS
- Linux
- Windows
validations:
required: true
- type: input
attributes:
label: OS Version/Distribution
description: The version of the operating system of the computer where you are running Wave
placeholder: Ubuntu 24.04
validations:
required: false
- type: dropdown
attributes:
label: Architecture
description: The architecture of the computer where you are running Wave
options:
- arm64
- x64
validations:
required: true

- type: markdown
attributes:
value: |
## Extra details
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!

Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: General Question
url: https://github.com/wavetermdev/waveterm/discussions
about: Have a question on something? Start a new discussion thread.
- name: Engage with us directly on Discord
url: https://discord.gg/XfvZ334gwU
about: Join our Discord server to get updates on new features, bug fixes, and more.
- name: Review open issues
url: https://github.com/wavetermdev/waveterm/issues
about: Please check if your issue isn't already there.
26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 🚀 Feature Request / Idea
description: Suggest a new idea for this project.
title: "[Feature]: "
labels: ["enhancement", "triage"]
body:
- type: textarea
attributes:
label: Feature description
description: Describe the issue in detail and why we should add it. To help us out, please poke through our issue tracker and make sure it's not a duplicate issue. Ex. As a user, I can do [...]
validations:
required: true
- type: textarea
attributes:
label: Implementation Suggestion
description: If you have any suggestions on how to design this feature, list them here.
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about how to deliver your feature!

Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
46 changes: 46 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Wave Terminal — Copilot Instructions

## Project Rules

- See the overview of the project in `.kilocode/rules/overview.md`
- Read and follow all guidelines in `.kilocode/rules/rules.md`

---

## Skill Guides

This project uses a set of "skill" guides — focused how-to documents for common implementation tasks. When your task matches one of the descriptions below, **read the linked SKILL.md file before proceeding** and follow its instructions precisely.

| Skill | File | Description |
| ------------ | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| add-config | `.kilocode/skills/add-config/SKILL.md` | Guide for adding new configuration settings to Wave Terminal. Use when adding a new setting to the configuration system, implementing a new config key, or adding user-customizable settings. |
| add-rpc | `.kilocode/skills/add-rpc/SKILL.md` | Guide for adding new RPC calls to Wave Terminal. Use when implementing new RPC commands, adding server-client communication methods, or extending the RPC interface with new functionality. |
| add-wshcmd | `.kilocode/skills/add-wshcmd/SKILL.md` | Guide for adding new wsh commands to Wave Terminal. Use when implementing new CLI commands, adding command-line functionality, or extending the wsh command interface. |
| context-menu | `.kilocode/skills/context-menu/SKILL.md` | Guide for creating and displaying context menus in Wave Terminal. Use when implementing right-click menus, adding context menu items, creating submenus, or handling menu interactions with checkboxes and separators. |
| create-view | `.kilocode/skills/create-view/SKILL.md` | Guide for implementing a new view type in Wave Terminal. Use when creating a new view component, implementing the ViewModel interface, registering a new view type in BlockRegistry, or adding a new content type to display within blocks. |
| electron-api | `.kilocode/skills/electron-api/SKILL.md` | Guide for adding new Electron APIs to Wave Terminal. Use when implementing new frontend-to-electron communications via preload/IPC. |
| waveenv | `.kilocode/skills/waveenv/SKILL.md` | Guide for creating WaveEnv narrowings in Wave Terminal. Use when writing a named subset type of WaveEnv for a component tree, documenting environmental dependencies, or enabling mock environments for preview/test server usage. |
| wps-events | `.kilocode/skills/wps-events/SKILL.md` | Guide for working with Wave Terminal's WPS (Wave PubSub) event system. Use when implementing new event types, publishing events, subscribing to events, or adding asynchronous communication between components. |

> **How skills work:** Each skill is a self-contained guide covering the exact files to edit, patterns to follow, and steps to take for a specific type of task in this codebase. If your task matches a skill's description, open that SKILL.md and treat it as your primary reference for the implementation.

---

## Preview Server

To run the standalone component preview (no Electron, no backend required):

```
task preview
```

This runs `cd frontend/preview && npx vite` and serves at **http://localhost:7007** (port configured in `frontend/preview/vite.config.ts`).

To build a static preview: `task build:preview`

**Do NOT use any of the following to start the preview — they all launch the full Electron app or serve the wrong content:**

- `npm run dev` — runs `electron-vite dev`, launches Electron
- `npm run start` — also launches Electron
- `npx vite` from the repo root — uses the Electron-Vite config, not the preview app
- Serving the `dist/` directory — the preview app is never built there; it has its own build output
159 changes: 159 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
time: "09:00"
timezone: "America/Los_Angeles"
groups:
dev-dependencies-patch:
dependency-type: "development"
exclude-patterns:
- "*storybook*"
- "*electron*"
- "jotai"
- "react"
- "@types/react"
- "*react-dom"
- "*docusaurus*"
update-types:
- "patch"
dev-dependencies-minor:
dependency-type: "development"
exclude-patterns:
- "*storybook*"
- "*electron*"
- "jotai"
- "react"
- "@types/react"
- "*react-dom"
- "*docusaurus*"
update-types:
- "minor"

prod-dependencies-patch:
dependency-type: "production"
exclude-patterns:
- "*storybook*"
- "*electron*"
- "jotai"
- "react"
- "@types/react"
- "*react-dom"
- "*docusaurus*"
update-types:
- "patch"
prod-dependencies-minor:
dependency-type: "production"
exclude-patterns:
- "*storybook*"
- "*electron*"
- "jotai"
- "react"
- "@types/react"
- "*react-dom"
- "*docusaurus*"
update-types:
- "minor"

storybook-patch:
patterns:
- "*storybook*"
update-types:
- "patch"
storybook-minor:
patterns:
- "*storybook*"
update-types:
- "minor"
storybook-major:
patterns:
- "*storybook*"
update-types:
- "major"

electron-patch:
patterns:
- "*electron*"
update-types:
- "patch"
electron-minor:
patterns:
- "*electron*"
update-types:
- "minor"
electron-major:
patterns:
- "*electron*"
update-types:
- "major"

docusaurus-patch:
patterns:
- "*docusaurus*"
update-types:
- "patch"
docusaurus-minor:
patterns:
- "*docusaurus*"
update-types:
- "minor"
docusaurus-major:
patterns:
- "*docusaurus*"
update-types:
- "major"

react-patch:
patterns:
- "react"
- "@types/react"
- "*react-dom"
update-types:
- "patch"
react-minor:
patterns:
- "react"
- "@types/react"
- "*react-dom"
update-types:
- "minor"
react-major:
patterns:
- "react"
- "@types/react"
- "*react-dom"
update-types:
- "major"

jotai-patch:
patterns:
- "jotai"
update-types:
- "patch"
jotai-minor:
patterns:
- "jotai"
update-types:
- "minor"
jotai-major:
patterns:
- "jotai"
update-types:
- "major"
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
day: "friday"
time: "09:00"
timezone: "America/Los_Angeles"
- package-ecosystem: "github-actions"
directory: "/.github/workflows"
schedule:
interval: "weekly"
day: "friday"
time: "09:00"
timezone: "America/Los_Angeles"
41 changes: 41 additions & 0 deletions .github/workflows/agent-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Agent Tests

# The agent runtime moved from Go (pkg/agent + pkg/aiusechat, deleted in
# 2994635c) to TypeScript in the Electron main process (emain/agent +
# emain/aiconfig), so this job now runs the vitest suite that covers it.

on:
pull_request:
paths:
- "emain/agent/**"
- "emain/aiconfig/**"
- "emain/ai/**"
- "frontend/app/store/**"
- "frontend/app/term/**"
- "package.json"
- "package-lock.json"
push:
branches:
- main
- "feat/**"

env:
NODE_VERSION: 22

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: ${{ env.NODE_VERSION }}
cache: npm
cache-dependency-path: package-lock.json

- name: npm ci
run: npm ci --no-audit --no-fund

- name: Run vitest
run: npx vitest run
Loading