{"_id":"vibetunnel","_rev":"39-c3357dc1493c2995a6a6c0f32d348cb3","name":"vibetunnel","dist-tags":{"latest":"1.0.0-beta.15.1","beta":"1.0.0-beta.18"},"versions":{"1.0.0-beta.11":{"name":"vibetunnel","version":"1.0.0-beta.11","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.11","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vt":"bin/vt","vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"73a122123b627e27c95881924766fb20d01a6d4e","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.11.tgz","fileCount":198,"integrity":"sha512-+RIy9qstg8yGAt4r7fvoeDgk3ygwAQYVbFIk+9YFVx+rI2DaSabnP7uMLJUObRhLQ4bhG5+H614OoCS3TkAVrA==","signatures":[{"sig":"MEYCIQCHtH0GL1gkOiIk/sKzn6MMcrcsyboTL9aYaMBz3cOhTwIhANQNMd5o7fSq0AA42w/QeE/H45NRpkme3XCaUj/+TZTA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24885022},"main":"lib/cli.js","_from":"file:vibetunnel-1.0.0-beta.11.tgz","engines":{"node":">=20.0.0"},"scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel3/vibetunnel-1.0.0-beta.11.tgz","_integrity":"sha512-+RIy9qstg8yGAt4r7fvoeDgk3ygwAQYVbFIk+9YFVx+rI2DaSabnP7uMLJUObRhLQ4bhG5+H614OoCS3TkAVrA==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","node-pty":"file:node-pty","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","node-addon-api":"^7.1.0","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","authenticate-pam":"^1.0.5","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.11_1752702034031_0.20373584745631645","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.12.1":{"name":"vibetunnel","version":"1.0.0-beta.12.1","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.12.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"e76fae451e0c18ca531561fbf5b64557a2c6f72d","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.12.1.tgz","fileCount":235,"integrity":"sha512-BXDPTyPWaRykmMhhNMEBydF4Y467KhkQv7CSbNAFQvcBFjoDZKIfLiNS9STawIbtnzf5B/48wKcjfaU1q/rjSQ==","signatures":[{"sig":"MEUCIHjisIAECOArfMd6FDNYu8s5JKkXS11pF0NS1Un1HaJtAiEAuQLbqaKzAjp3AwfL+9sgrGwEKymhA8Q8kO4516nOam0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33958656},"main":"lib/cli.js","engines":{"node":">=20.0.0"},"gitHead":"48e8e93007e3806db8d2ce23a44c882fd1aa1e58","scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.12.1_1752774082443_0.16233573086209163","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.12.2":{"name":"vibetunnel","version":"1.0.0-beta.12.2","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.12.2","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"74742727902ccf34803ce2eefb3ba0223d38f623","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.12.2.tgz","fileCount":236,"integrity":"sha512-Og4NpX0c/qkTHl2xlxozXKb83iuTEMONi4bEUvP6lt/Z3eZrw4Jb5laUrstmDYnA8hR/8jqKzJQxdllmmQXrBQ==","signatures":[{"sig":"MEYCIQCqFHVBcjrWtzcVI0tX2zcgfS6c7O/OaNoDXZhTX7dRgAIhALqZELmWMko3IC5MKxXN+p9BmVMFmLJU/rXp35F6of9h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34010752},"main":"lib/cli.js","_from":"file:../vibetunnel-1.0.0-beta.12.2.tgz","engines":{"node":">=20.0.0"},"scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.12.2.tgz","_integrity":"sha512-Og4NpX0c/qkTHl2xlxozXKb83iuTEMONi4bEUvP6lt/Z3eZrw4Jb5laUrstmDYnA8hR/8jqKzJQxdllmmQXrBQ==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.12.2_1752788298351_0.5329620537897892","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.13":{"name":"vibetunnel","version":"1.0.0-beta.13","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.13","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"d3d207d247b0658726f37fda6845b2f23bd83ad3","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.13.tgz","fileCount":235,"integrity":"sha512-Y+uOjQOAmUkR2nsSNgMHqTZwlbDORTp7yN22XUQTOOkizeAObt2AFsFl2olHfs1ETBUb/eKOpc7Hn968NaoEZg==","signatures":[{"sig":"MEUCIQC05R6zI/7/bXS6fDVxfRlA7I5VRUv5V7ywXvErUKP/DgIgARvSxT3rc1fDfs+gnxYsu89WTNXUyL6mOiRK0wXOqiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37093520},"main":"lib/cli.js","_from":"file:vibetunnel-1.0.0-beta.13.tgz","engines":{"node":">=20.0.0"},"scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.13.tgz","_integrity":"sha512-Y+uOjQOAmUkR2nsSNgMHqTZwlbDORTp7yN22XUQTOOkizeAObt2AFsFl2olHfs1ETBUb/eKOpc7Hn968NaoEZg==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.13_1752883215784_0.21920817264061165","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.14":{"name":"vibetunnel","version":"1.0.0-beta.14","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.14","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"4de3c2133d54bb871c767afdafe2bacd6df9ea23","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.14.tgz","fileCount":216,"integrity":"sha512-SwSCuZ+Mn8ePor5JSeqYQgGBZnGv52HHWpJ5u5Ne6NDvWJO25FSsj4gcv4i0e43hCdgIRuRuFowDkfsv8TTRpQ==","signatures":[{"sig":"MEQCIAP7HpYOmYMsPgfvE887HkHmcML2xhK+cE7RuQmNPja/AiBpLeT200UTdJPyZWDPLoHS+jdNJshTYDSGzZI7hwHdZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34151965},"main":"dist/server/server.js","pnpm":{"onlyBuiltDependencies":["authenticate-pam","esbuild","node-pty","puppeteer"]},"engines":{"node":">=20.0.0"},"gitHead":"14d6db4a38eeec27476d4dd2014823a77ac73ca4","scripts":{"dev":"node scripts/dev.js","lint":"concurrently -n biome,tsc-server,tsc-client,tsc-sw \"biome check src\" \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","test":"vitest","build":"node scripts/build.js","check":"./scripts/check-all.sh","clean":"node scripts/clean.js","format":"biome format src --write","prepare":"husky","pretest":"node scripts/ensure-native-modules.js","test:ci":"npm run pretest && vitest run --reporter=verbose","test:vt":"./scripts/test-vt-syntax.sh","build:ci":"node scripts/build-ci.js","lint:fix":"biome check src --write","prebuild":"echo 'Skipping prebuild - handled by build-npm.js'","prettier":"prettier --write src --experimental-cli","test:e2e":"playwright test","build:npm":"node scripts/build-npm.js","check:fix":"./scripts/check-fix-sequential.sh","precommit":"pnpm run format && pnpm run lint:fix && pnpm run typecheck","typecheck":"concurrently -n server,client,sw \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","dev:client":"node scripts/dev.js --client-only","dev:server":"tsx watch src/cli.ts --no-auth","lint:biome":"biome check src","postinstall":"node scripts/postinstall-npm.js","test:client":"vitest run --mode=client","test:e2e:ui":"playwright test --ui","test:server":"vitest run --mode=server","format:check":"biome format src","prettier:fast":"PRETTIER_EXPERIMENTAL_CLI=1 prettier --write src","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build:npm","prettier:check":"prettier --check src --experimental-cli","test:e2e:debug":"playwright test --debug","prebuild:upload":"echo 'Skipping prebuild:upload - not used'","test:e2e:headed":"playwright test --headed","test:e2e:report":"playwright show-report","test:e2e:parallel":"PLAYWRIGHT_PARALLEL=true playwright test","test:client:coverage":"vitest run --mode=client --coverage","test:server:coverage":"vitest run --mode=server --coverage","test:e2e:skip-failing":"playwright test --config=playwright.config.skip-failing.ts","test:e2e:parallel:headed":"PLAYWRIGHT_PARALLEL=true playwright test --headed","test:e2e:parallel:workers":"PLAYWRIGHT_PARALLEL=true PLAYWRIGHT_WORKERS=4 playwright test"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"lint-staged":{"../{ios,mac}/**/*.swift":["bash -c 'cd ../ios && ./scripts/lint.sh'","bash -c 'cd ../mac && ./scripts/lint.sh'"],"src/**/*.{ts,tsx,js,jsx}":["biome check --write","bash -c 'tsc --noEmit --project tsconfig.server.json'","bash -c 'tsc --noEmit --project tsconfig.client.json'","bash -c 'tsc --noEmit --project tsconfig.sw.json'"]},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","zod":"^4.0.5","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","node-pty":"file:node-pty","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","authenticate-pam":"^1.0.5","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.3","uuid":"^11.1.0","husky":"^9.1.7","vitest":"^3.2.4","esbuild":"^0.25.6","postcss":"^8.5.6","ws-mock":"^0.1.0","chokidar":"^4.0.3","prettier":"^3.6.2","@types/ws":"^8.18.1","happy-dom":"^18.0.1","puppeteer":"^24.12.1","supertest":"^7.1.3","@vitest/ui":"^3.2.4","node-fetch":"^3.3.2","typescript":"^5.8.3","@types/node":"^24.0.13","@types/uuid":"^10.0.0","lint-staged":"^16.1.2","tailwindcss":"^3.4.17","autoprefixer":"^10.4.21","chokidar-cli":"^3.0.0","concurrently":"^9.2.0","@types/multer":"^2.0.0","@biomejs/biome":"^2.1.1","@types/express":"^5.0.3","@types/web-push":"^3.6.4","@open-wc/testing":"^4.0.0","@playwright/test":"^1.54.1","@types/supertest":"^6.0.3","@types/mime-types":"^3.0.1","@types/compression":"^1.8.1","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^3.2.4","@prettier/plugin-oxc":"^0.0.4","@testing-library/dom":"^10.4.0"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.14_1753115926664_0.24175050828208522","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.14.1":{"name":"vibetunnel","version":"1.0.0-beta.14.1","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.14.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"9df4d8e7dfcb999d86b1233a52b17ece911b4131","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.14.1.tgz","fileCount":234,"integrity":"sha512-XH74YxlW9n33lERI0PZQJVH6ONRsAFV1SsbpTMgjv9X+ilf0jzts0Y75B5GQ5exNTSadukvVBHXAMCUSc35UBQ==","signatures":[{"sig":"MEYCIQCw8Zp2ALfZQSzf4VuoZV6VxxS1S4p2CdexvbzBZoAq9AIhAMwTJqKL+UGcmbzKfQo933D9QF04gtjsLYqoWvcKGKAn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34369286},"main":"lib/cli.js","_from":"file:vibetunnel-1.0.0-beta.14.1.tgz","engines":{"node":">=20.0.0"},"scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.14.1.tgz","_integrity":"sha512-XH74YxlW9n33lERI0PZQJVH6ONRsAFV1SsbpTMgjv9X+ilf0jzts0Y75B5GQ5exNTSadukvVBHXAMCUSc35UBQ==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.3.0","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.0","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.14.1_1753119392395_0.9133814198800536","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.15":{"name":"vibetunnel","version":"1.0.0-beta.15","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.15","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"05554de3d27a81cd7d3c843feab2c611056857ee","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.15.tgz","fileCount":368,"integrity":"sha512-zoKjSrrD9qg9UVYA0LuZyPCiqPe+kSPV0mkf+mplTPZER8cjaRpN21gZ0WEkjNXnbYtVq+putD3s7IrhQSCIXw==","signatures":[{"sig":"MEYCIQDpQx45G6T4J0xKn0mOb30r2zr7LPtO97eGQF4yTALmpwIhANH0EA2F7j4nCNDOIpX6hMh1LlgsiWUtdaDz+vkO6QFu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26178075},"main":"dist/server/server.js","pnpm":{"onlyBuiltDependencies":["authenticate-pam","esbuild","node-pty","puppeteer"]},"types":"./dist/server/server.d.ts","engines":{"node":">=20.0.0"},"gitHead":"2b592078284156eafcb259a019304aab6bf2326f","scripts":{"dev":"node scripts/dev.js","lint":"concurrently -n biome,tsc-server,tsc-client,tsc-sw \"biome check src\" \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","test":"vitest","build":"node scripts/build.js","check":"./scripts/check-all.sh","clean":"node scripts/clean.js","format":"biome format src --write","prepare":"husky","pretest":"node scripts/ensure-native-modules.js","test:ci":"npm run pretest && vitest run --reporter=verbose","test:vt":"./scripts/test-vt-syntax.sh","build:ci":"node scripts/build-ci.js","lint:fix":"biome check src --write","prebuild":"echo 'Skipping prebuild - handled by build-npm.js'","prettier":"prettier --write src --experimental-cli","test:e2e":"playwright test","build:npm":"node scripts/build-npm.js","check:fix":"./scripts/check-fix-sequential.sh","precommit":"pnpm run format && pnpm run lint:fix && pnpm run typecheck","typecheck":"concurrently -n server,client,sw \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","dev:client":"node scripts/dev.js --client-only","dev:server":"tsx watch src/cli.ts --no-auth","lint:biome":"biome check src","postinstall":"node scripts/postinstall-npm.js","test:client":"vitest run --mode=client","test:e2e:ui":"playwright test --ui","test:server":"vitest run --mode=server","format:check":"biome format src","prettier:fast":"PRETTIER_EXPERIMENTAL_CLI=1 prettier --write src","test:coverage":"vitest run --coverage","test:e2e:fast":"./scripts/test-fast.sh","test:e2e:perf":"playwright test --config=playwright.config.performance.ts","prepublishOnly":"npm run build:npm","prettier:check":"prettier --check src --experimental-cli","test:e2e:debug":"playwright test --debug","prebuild:upload":"echo 'Skipping prebuild:upload - not used'","test:e2e:headed":"playwright test --headed","test:e2e:report":"playwright show-report","test:e2e:parallel":"PLAYWRIGHT_PARALLEL=true playwright test","test:client:coverage":"vitest run --mode=client --coverage","test:server:coverage":"vitest run --mode=server --coverage","test:e2e:skip-failing":"playwright test --config=playwright.config.skip-failing.ts","test:e2e:parallel:headed":"PLAYWRIGHT_PARALLEL=true playwright test --headed","test:e2e:parallel:workers":"PLAYWRIGHT_PARALLEL=true PLAYWRIGHT_WORKERS=4 playwright test"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"lint-staged":{"../{ios,mac}/**/*.swift":["bash -c 'cd ../ios && ./scripts/lint.sh'","bash -c 'cd ../mac && ./scripts/lint.sh'"],"src/**/*.{ts,tsx,js,jsx}":["biome check --write","bash -c 'tsc --noEmit --project tsconfig.server.json'","bash -c 'tsc --noEmit --project tsconfig.client.json'","bash -c 'tsc --noEmit --project tsconfig.sw.json'"]},"_nodeVersion":"24.4.1","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","zod":"^4.0.14","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.2","express":"^5.1.0","node-pty":"file:node-pty","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.1","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.1","authenticate-pam":"^1.0.5","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.3","uuid":"^11.1.0","husky":"^9.1.7","vitest":"^3.2.4","esbuild":"^0.25.8","postcss":"^8.5.6","ws-mock":"^0.1.0","chokidar":"^4.0.3","prettier":"^3.6.2","@types/ws":"^8.18.1","happy-dom":"^18.0.1","puppeteer":"^24.15.0","supertest":"^7.1.4","@vitest/ui":"^3.2.4","node-fetch":"^3.3.2","typescript":"^5.8.3","@types/node":"^24.1.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.2","postcss-cli":"^11.0.1","tailwindcss":"^4.1.11","autoprefixer":"^10.4.21","chokidar-cli":"^3.0.0","concurrently":"^9.2.0","@types/multer":"^2.0.0","@biomejs/biome":"^2.1.3","@types/express":"^5.0.3","@types/web-push":"^3.6.4","@open-wc/testing":"^4.0.0","@playwright/test":"^1.54.1","@types/supertest":"^6.0.3","@types/mime-types":"^3.0.1","@types/compression":"^1.8.1","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^3.2.4","@prettier/plugin-oxc":"^0.0.4","@tailwindcss/postcss":"^4.1.11","@testing-library/dom":"^10.4.1"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.15_1754095119893_0.4188520809568337","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.15.1":{"name":"vibetunnel","version":"1.0.0-beta.15.1","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.15.1","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"1e538a0983d47ea3874a6809011cc098709ce736","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.15.1.tgz","fileCount":369,"integrity":"sha512-ss/jZO/XxVoAozNLKbndN0b2uPWmayP/Zom+NM9UIlsySZ6OSMRW4cn982N2/TKT6aeh/jACgb63E+KHiPonzQ==","signatures":[{"sig":"MEUCIQDC+uysQd5XyQRrWy2TpG3toLWche2btXIEnXxGJaXzXAIgV60NGVmVtE3n77ivWpp2U5ARIKhugw59yxgoHDhS+E8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26182321},"main":"dist/server/server.js","pnpm":{"onlyBuiltDependencies":["authenticate-pam","esbuild","node-pty","puppeteer"]},"_from":"file:vibetunnel-1.0.0-beta.15.1.tgz","types":"./dist/server/server.d.ts","engines":{"node":">=20.0.0"},"scripts":{"dev":"node scripts/dev.js","lint":"concurrently -n biome,tsc-server,tsc-client,tsc-sw \"biome check src\" \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","test":"vitest","build":"node scripts/build.js","check":"./scripts/check-all.sh","clean":"node scripts/clean.js","format":"biome format src --write","prepare":"husky","pretest":"node scripts/ensure-native-modules.js","test:ci":"npm run pretest && vitest run --reporter=verbose","test:vt":"./scripts/test-vt-syntax.sh","build:ci":"node scripts/build-ci.js","lint:fix":"biome check src --write","prebuild":"echo 'Skipping prebuild - handled by build-npm.js'","prettier":"prettier --write src --experimental-cli","test:e2e":"playwright test","build:npm":"node scripts/build-npm.js","check:fix":"./scripts/check-fix-sequential.sh","precommit":"pnpm run format && pnpm run lint:fix && pnpm run typecheck","typecheck":"concurrently -n server,client,sw \"tsc --noEmit --project tsconfig.server.json\" \"tsc --noEmit --project tsconfig.client.json\" \"tsc --noEmit --project tsconfig.sw.json\"","dev:client":"node scripts/dev.js --client-only","dev:server":"tsx watch src/cli.ts --no-auth","lint:biome":"biome check src","postinstall":"node scripts/postinstall-npm.js","test:client":"vitest run --mode=client","test:e2e:ui":"playwright test --ui","test:server":"vitest run --mode=server","format:check":"biome format src","prettier:fast":"PRETTIER_EXPERIMENTAL_CLI=1 prettier --write src","test:coverage":"vitest run --coverage","test:e2e:fast":"./scripts/test-fast.sh","test:e2e:perf":"playwright test --config=playwright.config.performance.ts","prepublishOnly":"npm run build:npm","prettier:check":"prettier --check src --experimental-cli","test:e2e:debug":"playwright test --debug","prebuild:upload":"echo 'Skipping prebuild:upload - not used'","test:e2e:headed":"playwright test --headed","test:e2e:report":"playwright show-report","test:e2e:parallel":"PLAYWRIGHT_PARALLEL=true playwright test","test:client:coverage":"vitest run --mode=client --coverage","test:server:coverage":"vitest run --mode=server --coverage","test:e2e:skip-failing":"playwright test --config=playwright.config.skip-failing.ts","test:e2e:parallel:headed":"PLAYWRIGHT_PARALLEL=true playwright test --headed","test:e2e:parallel:workers":"PLAYWRIGHT_PARALLEL=true PLAYWRIGHT_WORKERS=4 playwright test"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.15.1.tgz","_integrity":"sha512-ss/jZO/XxVoAozNLKbndN0b2uPWmayP/Zom+NM9UIlsySZ6OSMRW4cn982N2/TKT6aeh/jACgb63E+KHiPonzQ==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"lint-staged":{"../{ios,mac}/**/*.swift":["bash -c 'cd ../ios && ./scripts/lint.sh'","bash -c 'cd ../mac && ./scripts/lint.sh'"],"src/**/*.{ts,tsx,js,jsx}":["biome check --write","bash -c 'tsc --noEmit --project tsconfig.server.json'","bash -c 'tsc --noEmit --project tsconfig.client.json'","bash -c 'tsc --noEmit --project tsconfig.sw.json'"]},"_nodeVersion":"24.4.1","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","zod":"^4.0.14","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.2","express":"^5.1.0","node-pty":"file:node-pty","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.1","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.1","authenticate-pam":"^1.0.5","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.3","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","uuid":"^11.1.0","husky":"^9.1.7","vitest":"^3.2.4","esbuild":"^0.25.8","postcss":"^8.5.6","ws-mock":"^0.1.0","chokidar":"^4.0.3","prettier":"^3.6.2","@types/ws":"^8.18.1","happy-dom":"^18.0.1","puppeteer":"^24.15.0","supertest":"^7.1.4","@vitest/ui":"^3.2.4","node-fetch":"^3.3.2","typescript":"^5.8.3","@types/node":"^24.1.0","@types/uuid":"^10.0.0","lint-staged":"^16.1.2","postcss-cli":"^11.0.1","tailwindcss":"^4.1.11","autoprefixer":"^10.4.21","chokidar-cli":"^3.0.0","concurrently":"^9.2.0","@types/multer":"^2.0.0","@biomejs/biome":"^2.1.3","@types/express":"^5.0.3","@types/web-push":"^3.6.4","@open-wc/testing":"^4.0.0","@playwright/test":"^1.54.1","@types/supertest":"^6.0.3","@types/mime-types":"^3.0.1","@types/compression":"^1.8.1","@types/jsonwebtoken":"^9.0.10","@vitest/coverage-v8":"^3.2.4","@prettier/plugin-oxc":"^0.0.4","@tailwindcss/postcss":"^4.1.11","@testing-library/dom":"^10.4.1"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.15.1_1754096812115_0.02488617281400063","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.15.2":{"name":"vibetunnel","version":"1.0.0-beta.15.2","keywords":["terminal","multiplexer","websocket","asciinema"],"author":"","license":"MIT","_id":"vibetunnel@1.0.0-beta.15.2","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"0a756a349e5509bb47d4856e7b324dfc3ad8142d","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.15.2.tgz","fileCount":209,"integrity":"sha512-eyx+GdtPk7bAnR7XJQkD+e2fVtwDz0PlFxYeN26OVrar1YtbCtvLCYWrbma2II0JpR8Wf+rrOofel1DueFLg4A==","signatures":[{"sig":"MEUCIBemVw0eFTxwmKMidaQM6+ZMv7HzJQNo9qSF7mnTJ1ZvAiEA9cgdG0aUQCahek9b6LUeXGB+VBBFKXmCnUIQ/g4Jgnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22913434},"main":"lib/cli.js","_from":"file:vibetunnel-1.0.0-beta.15.2.tgz","engines":{"node":">=20.0.0"},"scripts":{"postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.15.2.tgz","_integrity":"sha512-eyx+GdtPk7bAnR7XJQkD+e2fVtwDz0PlFxYeN26OVrar1YtbCtvLCYWrbma2II0JpR8Wf+rrOofel1DueFLg4A==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.4.2","description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","directories":{},"_nodeVersion":"24.4.1","dependencies":{"ws":"^8.18.3","lit":"^3.3.1","chalk":"^5.4.1","helmet":"^8.1.0","multer":"^2.0.1","express":"^5.1.0","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.1","compression":"^1.8.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.2","monaco-editor":"^0.52.2","node-addon-api":"^7.1.0","@xterm/headless":"^5.5.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.38.1","@codemirror/state":"^6.5.2","@codemirror/commands":"^6.8.1","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.9","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^3.0.5","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.3.4","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.4"},"_hasShrinkwrap":false,"readmeFilename":"README.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.15.2_1754129904283_0.49938097882281074","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.16":{"name":"vibetunnel","version":"1.0.0-beta.16","keywords":["terminal","web-terminal","terminal-emulator","multiplexer","websocket","ngrok","tunnel","remote-access","docker","npx","asciinema","pty","xterm"],"author":{"name":"Amantus AI"},"license":"MIT","_id":"vibetunnel@1.0.0-beta.16","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"7a10d2bc4fe0b992649fbb96d4987e378baf4e71","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.16.tgz","fileCount":454,"integrity":"sha512-55Vo0w9kkab0ldPJDkO4iaGbuR6wfbu1zzaqgkvxuNblkKWXa3phROvPeHHhfLkYyrlt0/PB4+yX+Rl4Hyd4Yw==","signatures":[{"sig":"MEQCIFUwg02R/NAjA5BLbH8XMszGLA7dryNaqmU6neA4B6Z+AiBf0OmSRWJYqgU92+RA3oZdcxfVqv9GUod0NXK4f5UagQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40047293},"main":"lib/cli.js","_from":"file:/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.16.tgz","engines":{"node":">=22.12.0 <25"},"scripts":{"start":"node lib/cli.js","vibetunnel":"node lib/cli.js","postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.16.tgz","_integrity":"sha512-55Vo0w9kkab0ldPJDkO4iaGbuR6wfbu1zzaqgkvxuNblkKWXa3phROvPeHHhfLkYyrlt0/PB4+yX+Rl4Hyd4Yw==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.11.0","description":"Terminal sharing server with web interface - run terminals in your browser, with ngrok tunnel support for remote access","directories":{},"_nodeVersion":"25.8.1","dependencies":{"ws":"^8.21.0","lit":"^3.3.2","chalk":"^5.6.2","helmet":"^8.1.0","multer":"^2.1.1","express":"^5.2.1","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.2","compression":"^1.8.1","ghostty-web":"^0.4.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.3","monaco-editor":"^0.55.1","node-addon-api":"^8.7.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.42.1","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.3","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","http-proxy-middleware":"^4.0.0","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.standalone.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.16_1781569776463_0.4318889707429865","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.17":{"name":"vibetunnel","version":"1.0.0-beta.17","keywords":["terminal","web-terminal","terminal-emulator","multiplexer","websocket","ngrok","tunnel","remote-access","docker","npx","asciinema","pty","xterm"],"author":{"name":"Amantus AI"},"license":"MIT","_id":"vibetunnel@1.0.0-beta.17","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"os":["darwin","linux"],"bin":{"vibetunnel":"bin/vibetunnel"},"dist":{"shasum":"c69d60e29a7811047b2383c365c64d5dc18b16e4","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.17.tgz","fileCount":336,"integrity":"sha512-17IbmrdCLoeMfrTvWcN2uSXryxLQe7T2Hb6azR1tD0AIENdcT2NDLd9ZKoLqzj8Aps0NK4Dk4ZloAwCF05cprg==","signatures":[{"sig":"MEUCIQCv5WPfgZc/9z0nGljbtwCYuo2u9v7h5CgGPNaupJfKtAIgXb2+U/QfHi46fK74AGfhYf55mqceRfiTNaPsWL5rykQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28924220},"main":"lib/cli.js","_from":"file:vibetunnel-1.0.0-beta.17.tgz","engines":{"node":">=22.12.0 <25"},"scripts":{"start":"node lib/cli.js","vibetunnel":"node lib/cli.js","postinstall":"node scripts/postinstall.js"},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"_resolved":"/Users/steipete/Projects/vibetunnel/web/vibetunnel-1.0.0-beta.17.tgz","_integrity":"sha512-17IbmrdCLoeMfrTvWcN2uSXryxLQe7T2Hb6azR1tD0AIENdcT2NDLd9ZKoLqzj8Aps0NK4Dk4ZloAwCF05cprg==","repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"_npmVersion":"11.13.0","description":"Terminal sharing server with web interface - run terminals in your browser, with ngrok tunnel support for remote access","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.21.0","lit":"^3.3.2","chalk":"^5.6.2","helmet":"^8.1.0","multer":"^2.2.0","express":"^5.2.1","postject":"1.0.0-alpha.6","web-push":"^3.6.7","mime-types":"^3.0.2","compression":"^1.8.1","ghostty-web":"^0.4.0","signal-exit":"^4.1.0","jsonwebtoken":"^9.0.3","monaco-editor":"^0.55.1","node-addon-api":"^8.7.0","bonjour-service":"^1.3.0","@codemirror/view":"^6.42.1","@codemirror/state":"^6.6.0","@codemirror/commands":"^6.10.3","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-json":"^6.0.2","@codemirror/lang-python":"^6.2.1","@codemirror/lang-markdown":"^6.5.0","@codemirror/theme-one-dark":"^6.1.3","@codemirror/lang-javascript":"^6.2.5"},"_hasShrinkwrap":false,"readmeFilename":"README.standalone.md","optionalDependencies":{"authenticate-pam":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/vibetunnel_1.0.0-beta.17_1783106505851_0.9906818535615749","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta.18":{"name":"vibetunnel","version":"1.0.0-beta.18","description":"Terminal sharing server with web interface - run terminals in your browser, with ngrok tunnel support for remote access","main":"lib/cli.js","bin":{"vibetunnel":"bin/vibetunnel"},"os":["darwin","linux"],"engines":{"node":">=22.12.0 <25"},"repository":{"type":"git","url":"git+https://github.com/amantus-ai/vibetunnel.git","directory":"web"},"homepage":"https://vibetunnel.sh","bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"scripts":{"postinstall":"node scripts/postinstall.js","start":"node lib/cli.js","vibetunnel":"node lib/cli.js"},"dependencies":{"@codemirror/commands":"^6.10.4","@codemirror/lang-css":"^6.3.1","@codemirror/lang-html":"^6.4.11","@codemirror/lang-javascript":"^6.2.5","@codemirror/lang-json":"^6.0.2","@codemirror/lang-markdown":"^6.5.0","@codemirror/lang-python":"^6.2.1","@codemirror/state":"^6.7.1","@codemirror/theme-one-dark":"^6.1.3","@codemirror/view":"^6.43.6","bonjour-service":"^1.4.2","chalk":"^5.6.2","compression":"^1.8.1","express":"^5.2.1","ghostty-web":"^0.4.0","helmet":"^8.2.0","jsonwebtoken":"^9.0.3","lit":"^3.3.3","mime-types":"^3.0.2","monaco-editor":"^0.55.1","multer":"^2.2.0","postject":"1.0.0-alpha.6","signal-exit":"^4.1.0","web-push":"^3.6.7","ws":"^8.21.0","node-addon-api":"^8.9.0"},"optionalDependencies":{"authenticate-pam":"^1.0.5"},"keywords":["terminal","web-terminal","terminal-emulator","multiplexer","websocket","ngrok","tunnel","remote-access","docker","npx","asciinema","pty","xterm"],"author":{"name":"Amantus AI"},"license":"MIT","readmeFilename":"README.standalone.md","_id":"vibetunnel@1.0.0-beta.18","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-AhTGPMe1cO9wEdTtGYQ7DtlFPnB24mGJQuY3CQKL7UB5h1GHWZPoVCZ+1b8FO3e4m8VRt1XEjRu0hHGFTBRi0Q==","shasum":"9e3ad0154f7a8a4ce0a4f6e7ac5f3530d7c5b91d","tarball":"https://registry.npmjs.org/vibetunnel/-/vibetunnel-1.0.0-beta.18.tgz","fileCount":83,"unpackedSize":16046377,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFbwV+AxEqbrv5sAWRrXDKbHr85KX3G96a1VFcXhBC7uAiEAhCP6T69vyzKYEVDWVMv/1GnDRNYc3nyV9pkK9a2RMQU="}]},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"directories":{},"maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vibetunnel_1.0.0-beta.18_1783759744027_0.12002662384213814"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-16T21:40:33.930Z","modified":"2026-07-11T08:49:04.397Z","1.0.0-beta.10":"2025-07-14T23:15:32.191Z","1.0.0-beta.11":"2025-07-16T21:40:34.382Z","1.0.0-beta.11.1":"2025-07-16T22:23:55.522Z","1.0.0-beta.11.2":"2025-07-17T01:46:50.845Z","1.0.0-beta.11.3":"2025-07-17T02:22:03.496Z","1.0.0-beta.11.4":"2025-07-17T02:29:55.593Z","1.0.0-beta.12":"2025-07-17T06:10:50.339Z","1.0.0-beta.11.5":"2025-07-17T07:46:00.036Z","1.0.0-beta.12.1":"2025-07-17T17:41:22.881Z","1.0.0-beta.12.2":"2025-07-17T21:38:18.755Z","1.0.0-beta.13":"2025-07-19T00:00:16.203Z","1.0.0-beta.14":"2025-07-21T16:38:47.072Z","1.0.0-beta.14.1":"2025-07-21T17:36:32.823Z","1.0.0-beta.15":"2025-08-02T00:38:40.223Z","1.0.0-beta.15.1":"2025-08-02T01:06:53.053Z","1.0.0-beta.15.2":"2025-08-02T10:18:24.549Z","1.0.0-beta.16":"2026-06-16T00:29:36.782Z","1.0.0-beta.17":"2026-07-03T19:21:46.155Z","1.0.0-beta.18":"2026-07-11T08:49:04.280Z"},"bugs":{"url":"https://github.com/amantus-ai/vibetunnel/issues"},"license":"MIT","homepage":"https://vibetunnel.sh","keywords":["terminal","multiplexer","websocket","asciinema"],"repository":{"url":"git+https://github.com/amantus-ai/vibetunnel.git","type":"git","directory":"web"},"description":"Terminal sharing server with web interface - supports macOS, Linux, and headless environments","maintainers":[{"name":"steipete","email":"steipete@gmail.com"}],"readme":"","readmeFilename":"README.md"}