apps/web/package.json | 2 +- apps/web/scripts/build-libghostty-wasm.sh | 123 - apps/web/src/components/ChatView.tsx | 155 +- apps/web/src/components/ThreadTerminalDrawer.permissions.test.tsx | 56 +- apps/web/src/components/ThreadTerminalDrawer.test.ts | 76 +- apps/web/src/components/ThreadTerminalDrawer.tsx | 286 +- apps/web/src/components/chat/PanelLayoutControls.tsx | 6 +- apps/web/src/components/settings/ProviderAuthTerminal.test.tsx | 87 + apps/web/src/components/settings/ProviderAuthTerminal.tsx | 9 +- apps/web/src/components/settings/SettingsFontPreviews.tsx | 21 +- apps/web/src/components/settings/SettingsPanels.tsx | 35 + apps/web/src/components/settings/settingsSearch.ts | 6 + apps/web/src/hooks/useTerminalPlacement.ts | 14 + apps/web/src/lib/revealThreadTerminal.test.ts | 71 +- apps/web/src/lib/revealThreadTerminal.ts | 11 +- apps/web/src/lib/terminalCloseConfirm.test.ts | 191 +- apps/web/src/lib/terminalCloseConfirm.ts | 36 +- apps/web/src/terminal-links.test.ts | 195 +- apps/web/src/terminal-links.ts | 146 - apps/web/src/terminal/TerminalSurface.test.ts | 690 +++ apps/web/src/terminal/TerminalSurface.ts | 276 + apps/web/src/terminal/ghostty/README.md | 19 - apps/web/src/terminal/ghostty/core.test.ts | 420 -- apps/web/src/terminal/ghostty/core.ts | 1290 ---- apps/web/src/terminal/ghostty/fonts/LICENSE | 21 - apps/web/src/terminal/ghostty/fonts/SymbolsNerdFontMono-Regular.woff2 | Bin 1177576 -> 0 bytes apps/web/src/terminal/ghostty/keyCodes.test.ts | 65 - apps/web/src/terminal/ghostty/keyCodes.ts | 267 - apps/web/src/terminal/ghostty/renderer.test.ts | 285 - apps/web/src/terminal/ghostty/renderer.ts | 272 - apps/web/src/terminal/ghostty/runtime.ts | 233 - apps/web/src/terminal/ghostty/runtimeAbi.test.ts | 717 --- apps/web/src/terminal/ghostty/surface.test.ts | 1541 ----- apps/web/src/terminal/ghostty/surface.ts | 2195 ------- apps/web/src/terminal/ghostty/vendor/ghostty-vt.wasm | Bin 630932 -> 0 bytes apps/web/src/terminal/ghostty/vendor/ghostty-write-pty.wasm | Bin 112 -> 0 bytes docs/internals/terminal-runtime.md | 18 +- packages/terminal/LICENSE | 15 + packages/terminal/README.md | 176 + packages/terminal/fonts/NOTICES.md | 58 + packages/terminal/fonts/OFL.txt | 110 + packages/terminal/fonts/PRIMARY-CODEPOINTS.txt | 4660 +++++++++++++++ packages/terminal/fonts/README.md | 143 + packages/terminal/fonts/SYMBOLS-CODEPOINTS.txt | 10273 ++++++++++++++++++++++++++++++++ packages/terminal/fonts/__clo_terminal_primary_34_8_1-Italic.woff2 | Bin 0 -> 210368 bytes packages/terminal/fonts/__clo_terminal_primary_34_8_1-Regular.woff2 | Bin 0 -> 186152 bytes packages/terminal/fonts/__clo_terminal_primary_34_8_1-SemiBold.woff2 | Bin 0 -> 186040 bytes packages/terminal/fonts/__clo_terminal_primary_34_8_1-SemiBoldItalic.woff2 | Bin 0 -> 210340 bytes packages/terminal/fonts/__clo_terminal_symbols_3_4_0-Regular.woff2 | Bin 0 -> 1083700 bytes packages/terminal/fonts/licenses/Apache-2.0.txt | 202 + packages/terminal/fonts/licenses/CC-BY-4.0.txt | 395 ++ packages/terminal/fonts/licenses/Devicons-MIT.txt | 20 + packages/terminal/fonts/licenses/Font-Awesome-Extension-MIT.txt | 21 + packages/terminal/fonts/licenses/Font-Awesome-LICENSE.txt | 165 + packages/terminal/fonts/licenses/Material-Design-Icons-NOTICE.txt | 20 + packages/terminal/fonts/licenses/NerdFonts-LICENSE.txt | 126 + packages/terminal/fonts/licenses/NerdFonts-Symbols-Only-MIT.txt | 21 + packages/terminal/fonts/licenses/NerdFonts-license-audit.md | 126 + packages/terminal/fonts/licenses/Octicons-MIT.txt | 21 + packages/terminal/fonts/licenses/Pomicons-OFL.txt | 94 + packages/terminal/fonts/licenses/Powerline-Extra-MIT.txt | 21 + packages/terminal/fonts/licenses/Weather-Icons-OFL.txt | 97 + packages/terminal/fonts/subset-primary.py | 43 + packages/terminal/fonts/subset-symbols.py | 49 + packages/terminal/fonts/symbols-requirements.txt | 2 + packages/terminal/package.json | 95 + packages/terminal/src/ansi.ts | 283 + packages/terminal/src/ghostty/constants.ts | 759 +++ packages/terminal/src/ghostty/module.ts | 266 + packages/terminal/src/ghostty/terminal.ts | 2244 +++++++ packages/terminal/src/index.ts | 58 + packages/terminal/src/keys.ts | 60 + packages/terminal/src/links.ts | 102 + packages/terminal/src/mount.ts | 109 + packages/terminal/src/predict/engine.ts | 385 ++ packages/terminal/src/predict/frame.ts | 28 + packages/terminal/src/predict/index.ts | 12 + packages/terminal/src/react.tsx | 81 + packages/terminal/src/renderer/dom.ts | 2120 +++++++ packages/terminal/src/renderer/terminal.css | 482 ++ packages/terminal/src/runs.ts | 119 + packages/terminal/src/shell/commands.ts | 243 + packages/terminal/src/shell/index.ts | 10 + packages/terminal/src/shell/marks.ts | 120 + packages/terminal/src/shell/osc.ts | 142 + packages/terminal/src/shell/sticky.ts | 49 + packages/terminal/src/solid.tsx | 83 + packages/terminal/test/dom.test.ts | 217 + packages/terminal/test/links.test.ts | 49 + packages/terminal/test/terminal.test.ts | 66 + packages/terminal/tsconfig.json | 22 + packages/terminal/types/assets.d.ts | 6 + packages/terminal/vendor/COMMIT | 1 + packages/terminal/vendor/GHOSTTY-LICENSE | 21 + packages/terminal/vendor/README.md | 35 + packages/terminal/vendor/SHA256 | 1 + packages/terminal/vendor/gen-constants.mjs | 62 + packages/terminal/vendor/ghostty-vt.wasm | Bin 0 -> 716497 bytes packages/terminal/vendor/include/ghostty.h | 1209 ++++ packages/terminal/vendor/include/ghostty/vt.h | 163 + packages/terminal/vendor/include/ghostty/vt/allocator.h | 255 + packages/terminal/vendor/include/ghostty/vt/build_info.h | 150 + packages/terminal/vendor/include/ghostty/vt/color.h | 479 ++ packages/terminal/vendor/include/ghostty/vt/color_scheme.h | 73 + packages/terminal/vendor/include/ghostty/vt/device.h | 151 + packages/terminal/vendor/include/ghostty/vt/focus.h | 76 + packages/terminal/vendor/include/ghostty/vt/formatter.h | 207 + packages/terminal/vendor/include/ghostty/vt/grid_ref.h | 212 + packages/terminal/vendor/include/ghostty/vt/grid_ref_tracked.h | 139 + packages/terminal/vendor/include/ghostty/vt/key.h | 73 + packages/terminal/vendor/include/ghostty/vt/key/encoder.h | 255 + packages/terminal/vendor/include/ghostty/vt/key/event.h | 482 ++ packages/terminal/vendor/include/ghostty/vt/kitty_graphics.h | 859 +++ packages/terminal/vendor/include/ghostty/vt/modes.h | 198 + packages/terminal/vendor/include/ghostty/vt/mouse.h | 70 + packages/terminal/vendor/include/ghostty/vt/mouse/encoder.h | 214 + packages/terminal/vendor/include/ghostty/vt/mouse/event.h | 195 + packages/terminal/vendor/include/ghostty/vt/osc.h | 215 + packages/terminal/vendor/include/ghostty/vt/paste.h | 101 + packages/terminal/vendor/include/ghostty/vt/point.h | 89 + packages/terminal/vendor/include/ghostty/vt/render.h | 811 +++ packages/terminal/vendor/include/ghostty/vt/screen.h | 400 ++ packages/terminal/vendor/include/ghostty/vt/selection.h | 1061 ++++ packages/terminal/vendor/include/ghostty/vt/sgr.h | 353 ++ packages/terminal/vendor/include/ghostty/vt/size_report.h | 101 + packages/terminal/vendor/include/ghostty/vt/style.h | 139 + packages/terminal/vendor/include/ghostty/vt/sys.h | 210 + packages/terminal/vendor/include/ghostty/vt/terminal.h | 1598 +++++ packages/terminal/vendor/include/ghostty/vt/types.h | 335 ++ packages/terminal/vendor/include/ghostty/vt/unicode.h | 154 + packages/terminal/vendor/include/ghostty/vt/wasm.h | 160 + packages/terminal/vendor/include/module.modulemap | 7 + packages/terminal/vendor/patches/wasm-ascii-row.patch | 145 + packages/terminal/vendor/patches/wasm-batched-vt.patch | 12 + packages/terminal/vendor/verify.mjs | 199 + pnpm-lock.yaml | 59 +- third-party-licenses.config.json | 28 +- 137 files changed, 38402 insertions(+), 8258 deletions(-)