Add Ghostty terminal, session recovery, voice asset caching, and gitignore large assets

Integrates ghostty-web and node-pty packages, adds tmux session recovery on startup,
refactors WebSocket transport to noServer mode, caches Sherpa voice model assets via
service worker. Large assets (sherpa, ghostty-vt.wasm, fonts) are now gitignored as
they are copied from the webterm project.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-20 08:39:44 -04:00
parent c61712d8c4
commit edbecd2c83
7 changed files with 87 additions and 7 deletions
+14 -1
View File
@@ -39,7 +39,9 @@ export default defineConfig({
categories: ['developer-tools', 'productivity'],
},
injectManifest: {
globPatterns: ['**/*.{js,css,html,ico,svg,woff2}', 'favicon-*.png', 'apple-touch-icon.png', 'badge-*.png', 'mascot/*.png'],
globPatterns: ['**/*.{js,css,html,ico,svg,woff2,wasm,ttf}', 'favicon-*.png', 'apple-touch-icon.png', 'badge-*.png', 'mascot/*.png'],
globIgnores: ['sherpa-moonshine-v2-base-en/**'],
maximumFileSizeToCacheInBytes: 5 * 1024 * 1024, // 5 MiB (font is ~2.6 MiB)
},
}),
],
@@ -60,9 +62,20 @@ export default defineConfig({
ws: true,
secure: false,
},
'/terminal': {
target: 'wss://localhost:3456',
ws: true,
secure: false,
},
},
},
build: {
outDir: 'dist',
rollupOptions: {
external: ['node-pty'],
},
},
optimizeDeps: {
exclude: ['node-pty'],
},
});