{"_id":"@threadbase-sh/streamer","_rev":"244-09b729bcb6e9af45ce2b675df1626bf9","name":"@threadbase-sh/streamer","dist-tags":{"latest":"1.102.1"},"versions":{"1.15.0":{"name":"@threadbase-sh/streamer","version":"1.15.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.15.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7f4925ae88fb76a004094612c5eae173ee50991d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.15.0.tgz","fileCount":26,"integrity":"sha512-LAbAeHyc2gproegB+XvKjzBlg5h5ALUUdERxYFEFxvdKXujsYbKXiQQTFFlHT143zD/NMQHeG5z5Qa9/i1ZImA==","signatures":[{"sig":"MEUCIQDkuLiq9U4teEbdqaUAN+wVcxASsDQ2ND6heefI3RYwLAIgKYTSHH8poC/9dOVo2xfis9o6AIRpIrpg5MLbs8Oq0hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21592004},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3b9279ea4f3095f619c35a73f2e1764576eb079b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"ronenmars","email":"ronenmars@gmail.com"},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.15.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^12.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^2.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.15.0_1781788069503_0.7653037849200934","host":"s3://npm-registry-packages-npm-production"}},"1.15.1":{"name":"@threadbase-sh/streamer","version":"1.15.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.15.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6f66cc549db154ca8449250c0b79682d3554cc78","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.15.1.tgz","fileCount":26,"integrity":"sha512-RTpZ2ftgekOZzAjhjIF0swAAm1lSivU7iflNreH5GqaNQcRmEkNFZSPlWu6w4SrI90Ki7EW2WpnuSno7Mz5kIw==","signatures":[{"sig":"MEUCIBspf8YQzyX8uCALqKA9PYSs32Afmr2pCI4aRarsued7AiEA1Jb+wzzdOfu+kV2CaRsx2MKLNsctk75ITfWSxSk170Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21595669},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9b0ee9cdf2bf7c99de460472dd0b38dd29680119","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^12.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.15.1_1781821366221_0.8372472029665428","host":"s3://npm-registry-packages-npm-production"}},"1.15.2":{"name":"@threadbase-sh/streamer","version":"1.15.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.15.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3e07e3a9718e0bc3c3557af8a5612d50fe993ee2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.15.2.tgz","fileCount":26,"integrity":"sha512-rAS9tWvKNHvzNYY4fMPnh8vD61xFSREEomFy273Nz3qdxwkL5lzrzKJjEc1dXAV3B8lM456MjVrUzB7PSWbyXA==","signatures":[{"sig":"MEUCICt2PORncT9fZD8r9iz1nnKh+4Ol/TNIYpbUmKZ4dYs1AiEAh3MWo96TDJ6pYzltzlOeCEZKqDWxIewBKSEfqcRk9K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21601781},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"70ce756a9ddcf646870240a0536d2da3398e4f49","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^12.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.15.2_1781880806133_0.013080580112273532","host":"s3://npm-registry-packages-npm-production"}},"1.15.3":{"name":"@threadbase-sh/streamer","version":"1.15.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.15.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"184b91cb805c57f8e37ecfc03b0ed3f3a77155aa","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.15.3.tgz","fileCount":26,"integrity":"sha512-aIVtYolSOnxtIGRaOhn4OI43NlEtS0EPj9Tfkd792kS7UPIPjsxWfDva9whBHFZjskcDCYhNkvTiGhKwlFs4Cw==","signatures":[{"sig":"MEYCIQCT+0V/YIJPEgvoO6/J141aUwJ1zRlJ0Uj0XTuM2PaZ3gIhAIzGPUyH6zpQ5+PcoqpD/fi/Q+clTSgxLG9RRwEt5fV1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21606312},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a02d3dfcfe1fd69508c4a7bd76056cd887267dd1","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^12.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.15.3_1781881081345_0.4926468348752757","host":"s3://npm-registry-packages-npm-production"}},"1.15.4":{"name":"@threadbase-sh/streamer","version":"1.15.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.15.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ecee9cefae359cc68c032e9bbdf8f2c4f3696f15","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.15.4.tgz","fileCount":26,"integrity":"sha512-vvniIx0tfQMbun3DL+HY3Hc+Hni5x7UN2rvvHSfBFl51zV0cM+g9jK9nB3PQpAkkqEc35FgbtHKX0HNKgRL4Ug==","signatures":[{"sig":"MEUCIFY9Ho9uC7cABaqbWpwxEhhPqaE6Tc9+8g52vbWVdLkrAiEA/SvPjvZVK08uIUDaAWeTfZBeTGl6FWHRliUKNKJbRFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.15.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21609272},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2a6e50c1f3176f134f2cfcbc4d628196519dc894","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^12.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.15.4_1781881666252_0.010161463529718473","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"@threadbase-sh/streamer","version":"1.16.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.16.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b0a09e35502c627aea87bc3774fdfe93a00b59c5","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.16.0.tgz","fileCount":26,"integrity":"sha512-7MYjgBJCZTbHFW2nxGGNHKcM/ngu6AlcxsnkS8Dfvtgtqdg4NmCUMIFqAoOjht/9L39VjkIkEL6P6NrVtAwuBg==","signatures":[{"sig":"MEQCIHOtxkl/eKO+KUSmfCPdhZCCYyNsUcL7UFLvhws/jVTSAiBfFjdhVuj8koei8GHw3N0WMMtPc/e95cVO2nZoJITN1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21660400},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e820a439db0b4fe1a1b3573c87356e513a98e0e4","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.16.0_1782073898623_0.8418259127609513","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"@threadbase-sh/streamer","version":"1.16.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.16.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"24b1212f506109d69577952b1938d04447a13cb4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.16.1.tgz","fileCount":26,"integrity":"sha512-Wly2kITaShPJ1ParJg8H2YApHaLJKrQ5poCpN11pP9NA9hs5YoPtRbUurLJoFSJUe/qUEA2CZHIfO8oSNyvkIQ==","signatures":[{"sig":"MEYCIQCRSJyKYr+ewGjw4A6dOcx0q7urwpQOmiFA3/Pm8So7AQIhAMNgXaL7rgIQ+UMN/1pla1QulLZ38YhPtlfHwIR/Hms3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21666605},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d7320f9ea8b0c55d05bdd1a4d77dfc85fc2f33cc","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.16.1_1782133668669_0.1651310435544402","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"@threadbase-sh/streamer","version":"1.17.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.17.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8e31b66b454e871a6e4a007f4f1ccf3d00b9dac8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.17.0.tgz","fileCount":26,"integrity":"sha512-LG9vclHTVCW00g68aMyvSgTJhPKeDXPnofH2snlGaHwu4jF79hxr3JM0BjWwbf8SwCxuBmwY2sXxnPNK4Vc34A==","signatures":[{"sig":"MEQCIH36Zn/Qa+x5BgAacD0IFDLJJgdZQYgXgk6f00yFqQffAiB/eVBQkN0t6338NlBAgYAhdm8S0S7WR1ZHot6gpWlsFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21894552},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e53c957d3b61b87699bb6f8f568a989024cf3db5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.17.0_1782215641521_0.15078532366472275","host":"s3://npm-registry-packages-npm-production"}},"1.17.1":{"name":"@threadbase-sh/streamer","version":"1.17.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.17.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e52ef5b6c8c3cea66ecbfd71919ca75c2b408686","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.17.1.tgz","fileCount":26,"integrity":"sha512-JEmUCD2Ca4rFOWb4i4SJ2tTMY6iUISETJc/gK5nWSGLuKlcs0Knoxl5tElO9qf2SehBJ+EH4Z34WFrDTJ9N0qA==","signatures":[{"sig":"MEYCIQDN47QbXhwIQJXEpUmggxeI0ybxwfgiTgRZixNYellbrwIhALQ+60RMmon9NiLvQMLRMVovu50V0QkCSsuJ3I7jz6Ee","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21895324},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c6c68313f704a61de6e03e57d8b4c646f238c5d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.7.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.17.1_1782220484541_0.07944042254824657","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"@threadbase-sh/streamer","version":"1.18.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"587a3888bc74db34cf530083310f174421e43f97","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.0.tgz","fileCount":27,"integrity":"sha512-11BwwG+gy5w0FjrWl4Yy6pfgeK6jvV70EwwCyxqOgA5T4mAb3Mf3emM33JF9JI0GgKPEh6WlpTJqtnH6Ry7+Mg==","signatures":[{"sig":"MEUCIQCgROmNfm2vX0ODb/l8LONmtqNSRTUTuf4FBpDlndb6zAIgPHBXS85keov7REz52HVwlx3N1NXwtimG0p+jJjJVaVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22268499},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"25c6289aef06da3f2fca85ca0dfae94b93f30556","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.0_1782375815979_0.5795301584127872","host":"s3://npm-registry-packages-npm-production"}},"1.18.1":{"name":"@threadbase-sh/streamer","version":"1.18.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2532581d12c8b1cc09152afedfb6632912087bbf","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.1.tgz","fileCount":27,"integrity":"sha512-lwKJTHosd/ALxU9n2KTR10/D4le9b2bP0TI8ggLWSXOZcQ2BmldJM/EjOksRL+WN0WFFjYVXefARG/OOlMPccA==","signatures":[{"sig":"MEUCIQDInx1HqN2WGztLYL80RkdTjq+VNLDE91EzzuHe2PhrPgIgNhnhVXaD7qfLY5vOXBhNkJKdBvohNbbP351FNFyA8Is=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22268623},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"91f2becea7648038fa32ca91146aa48176ad8789","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.1_1782470757963_0.2842160132472429","host":"s3://npm-registry-packages-npm-production"}},"1.18.2":{"name":"@threadbase-sh/streamer","version":"1.18.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ab478a5729c281875e2ca01a2600ddee092bb9cf","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.2.tgz","fileCount":27,"integrity":"sha512-d66slkUGGPjze37j2Ohew7xIF+r0V9K/vZI4RZvRfSQoJhK35EhalyZTbtoslgheXPppupkaUh1MbL29Dk/i2w==","signatures":[{"sig":"MEYCIQD6LvIs9beYczPbaVLgdPIDZVQRB1AvJxfPrN/vkII48QIhAPmQ7iSdnnmpRKS09Zl8d+vVR0BAyhNDyo9Vf2bo4OzC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22268623},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"924813ac4c47c112bef57c39da5d1005527ca93d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.2_1782629413474_0.678531012866904","host":"s3://npm-registry-packages-npm-production"}},"1.18.3":{"name":"@threadbase-sh/streamer","version":"1.18.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2e3cfec15bdaac50a6abfa6d25057e949bb9d705","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.3.tgz","fileCount":27,"integrity":"sha512-yKyuAPYYItKTj0/HKrRCjys4aHcqKyx0Iq9cvfAZGemXwqBlI1yzKsd5p2vCc4/mW996haZbdRw7gloC7jfksQ==","signatures":[{"sig":"MEQCIA5q6MYZbW5aVMRgLm8uqUgSzYgzFWjuP20zKXBAk1bXAiAv52JJyFi6yhg66EY2tpR7f3QLspB/2EnirK3MuAHWeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22269364},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ed0409aee9afbed44fe0c457dce6801a372dad90","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.3_1782683877226_0.17605711173552052","host":"s3://npm-registry-packages-npm-production"}},"1.18.4":{"name":"@threadbase-sh/streamer","version":"1.18.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"940e7e2a647b80fa0747fe0da77d710337a620ca","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.4.tgz","fileCount":27,"integrity":"sha512-tODKfMI1T63qiMuZbu7ORNbihL2csHGg6L+9QvwnqmDPWP+4lzvQgXi2mkd+pYsLhIjXLbSLXhYwB8Rj8vniNA==","signatures":[{"sig":"MEQCIE2/J8gwTh91UC5ootgriBWjjKthgYvzathgpE1nVTk6AiBg2o+Pyx7Bjd12m1VEJdHguV3gzfXOyqAIOui/EFBd+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22270479},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a2b8fb83c6a9390473c0022946a406bfece64e5e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.4_1782684473814_0.07036324699267404","host":"s3://npm-registry-packages-npm-production"}},"1.18.5":{"name":"@threadbase-sh/streamer","version":"1.18.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0f0695e433cb94ecc80d5ac70fc4327a46507619","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.5.tgz","fileCount":27,"integrity":"sha512-bvorI7CNvnXOKNoBspVVs4DIFEv/OIyVp4djeLO1QdEQlGrKnjriH/o0Q0fFcNEChlNoBKQ0SpnrIBZxu3qx6A==","signatures":[{"sig":"MEQCIBs8qQ7B2hsIxSgTIbxqwfcs9HNMWLa5SWWlrDmM+u3yAiBMoxGWn2Dir1ZG/KzmIL94BvpHkNti9pWsg8nli++/qA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22270479},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5ca01312cea321b96dae3afafa2e2a4b8d09d140","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.5_1782687110829_0.6756232078987923","host":"s3://npm-registry-packages-npm-production"}},"1.18.6":{"name":"@threadbase-sh/streamer","version":"1.18.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.18.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c521b297b6e57519de9eaed66edc6870e8b8def8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.18.6.tgz","fileCount":27,"integrity":"sha512-GZ5/CuvpXI4Q+X12UVOlptYbAMZzpSeMvo66RaCxgyi3BQLNNlVA9//Ak7SFQiD3b2EbLh8Ix3RHWeZYbTDuzg==","signatures":[{"sig":"MEUCIBCmugBAYt6clmIM2L8fSgaZtx6SLPOvMqk2Ej486Ld4AiEAjZg5sLMgD72FdgthFJ2Vc5MkNIpMPkvA3letRAiYh6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.18.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22275922},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2f86000d86193b4c7d5ad032e60731e4a6cd785a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.17.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.18.6_1782811108680_0.9868841914713697","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"@threadbase-sh/streamer","version":"1.19.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.19.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2d61fc2d691d4958119b70bcbf78d5609645f82c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.19.0.tgz","fileCount":27,"integrity":"sha512-YKJNDExo2qmCcfcbVALNrXvB0pyqJeSD0lzN2k0zdeXb+vK9EMTGM7NUCs2wi3eLQCj48RhdifN7uUxRLrVtwA==","signatures":[{"sig":"MEYCIQCRX6tz5+vYSm+2QFFWsHyIjtPFQZ4jPgGn5O3UGJUFNAIhAJrw8Ow7u2Tj6DlA6hDEXbLQ3KA+jkwK1OuIE+zzGmIl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22283505},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c65094e5ce2ec0c3917deaf69c6cfaaab6ca0faa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.19.0_1782832273328_0.1947175693202572","host":"s3://npm-registry-packages-npm-production"}},"1.19.1":{"name":"@threadbase-sh/streamer","version":"1.19.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.19.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"42b5245270ef70d266e5c84b02a6f0c2ed046322","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.19.1.tgz","fileCount":27,"integrity":"sha512-0D04B9l7LJPQGhewfd8XlFk3164GftuYT12qS33GS1VaIYRLhKNlahM9ihGp3jxmRmONX++o74dMG7m1WPwVgw==","signatures":[{"sig":"MEUCIFV+zGlyII+h9PeMtPg5e1/wuE8rmJwAdlSN41b2hTfqAiEAkPgow92h/2LP+xTv08WHNAHqs/3Q3vE+C5WbxeAchss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22283550},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ce2af9d2086d124c912fffd7030849b36938c72e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.19.1_1782847833371_0.4298717188875456","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"@threadbase-sh/streamer","version":"1.20.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.20.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"fd35b05450b3629abc65c9df6cd899dbe4184fe3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.20.0.tgz","fileCount":27,"integrity":"sha512-Ry6zxdGJ88sGltUE6wRQQdk2AYrqn0DBreaqg7CIkQ5CAPF0jiKFp3swbSybD382vyNs7L06dldx2dZdgtHOFQ==","signatures":[{"sig":"MEUCIQCYx045PIonQRTm6SrdJ1zxlQSARDhiYEsZeee+TSy87QIgQz/QCn/t4+UlKmKofaaZhracRHUUkc8hwI9NeJ5oJSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22286947},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7a5cc2e19028247e46b1cd748c86d0efe8241236","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^5.5.0","@types/node":"^20.0.0","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.20.0_1782848662811_0.690998006292108","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"@threadbase-sh/streamer","version":"1.21.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.21.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c605945d84a07fb576b70f59f5bee805a58a0985","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.21.0.tgz","fileCount":27,"integrity":"sha512-lZk7seWtlGTd0VqFSpzcqJ5NwnvoOILxuMqt2mx6LPrsWB06zXBBF7BO+vFQuoPpi0k4/rJbXrCdtXoVl1Vjag==","signatures":[{"sig":"MEUCIBefkWqHrnqjFigvqUvZ5ylAKqx2+TB1ceAwFzYzRDAMAiEA5wOUGW52zbG7aatHuqvDkESYcU+MHb3Slurg1Js2mik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22212768},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0fd63ea20cf1eab89a42a317cc7c9c6fc4cf9424","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^1.19.14","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.21.0_1782852297105_0.012547061785702862","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"@threadbase-sh/streamer","version":"1.22.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.22.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"61ba12c7f3a7f43c681e8865f59fff6a3c03c34c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.22.0.tgz","fileCount":27,"integrity":"sha512-uVB/5wRPtIkePYjTJuSwWb5dte092kUlV5WF1hyiZuDPoeLOm6PrN15Do1vlNbtJn7pxyiOVlmTJ0B1U8Oyi4Q==","signatures":[{"sig":"MEUCIHDGJ+MCtH/+LeOT65QDXT1Ut9/reKAVAab2hvD1hYQ+AiEAsY5y1DKg1jpn5V03OKLxNMy9wWgfadmNUTO8Wqt2N4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22216693},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"87142b9e83bc4de949b5ec544556ccb3b17acffe","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.22.0_1782861189787_0.9925003748121854","host":"s3://npm-registry-packages-npm-production"}},"1.22.1":{"name":"@threadbase-sh/streamer","version":"1.22.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.22.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4a9aabd9e07fd4f656e91c7a11f5f87c1a15a471","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.22.1.tgz","fileCount":27,"integrity":"sha512-9XRXs4VF2D4MGGrRMokzg2QGLVD10sX963s8B6Ca9huby+pRrs402H4F28tlDZJ+bJMKRlW0wn83UL4GQ+cNng==","signatures":[{"sig":"MEUCIQD8I3suAY8k6ysO7bUeVdrjhsN2oKX4AH7ciSfBbU0QAAIgAyT5wX1uPNFKnwfxreRomj2Y3itmOkw8Nf5t8pv3GAo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22218581},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"174cc638e4c12a5f4e5d7586fd72d8fa220c77a8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.22.1_1782868003122_0.6733564850975118","host":"s3://npm-registry-packages-npm-production"}},"1.22.2":{"name":"@threadbase-sh/streamer","version":"1.22.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.22.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3ccc08dc6077d29aa387332b627b89b270dd6639","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.22.2.tgz","fileCount":27,"integrity":"sha512-PoRn+woWA+CwMUHnog1dfzSGvh+zgTNdSu0GXlTHKSbve0IUXl1P1KsRCcjbfQbNk8U/Bbj2BIYJcssPP50mwg==","signatures":[{"sig":"MEUCIHFG0FG5pF6XrP4b++dPCQiBcLRULC+QXZ9xvLRwiKmcAiEAl3tDv1w+fuZEwtn5hfxwVE7T4fIlXBq/evectV+7ORU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.22.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22213734},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3df7c47a2e69dbbcd5180e594957e8c4854b6e92","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.22.2_1783078109771_0.4029235514044869","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"@threadbase-sh/streamer","version":"1.23.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.23.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"86cd3d5868f4f48993eaf9647fe4b45917572be5","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.23.0.tgz","fileCount":27,"integrity":"sha512-mGrcKTtjBlyQYTYnWnJHP+XJmIN+XpoBcQQCr8Wh3bBXfMS9e8mP44aFnfdyMp9+ZG848ImrDLe12SPqWluHtg==","signatures":[{"sig":"MEQCIAnssAJpNCVdwoRvzlIrQsPF6TlUB0ro5V+F2VJ/ZRffAiBdgE+8wB8H2pAOfCpikc6CNmFRrOpxUoiU+CX3P9cvBg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22213734},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"aef48701adaaa15be91e5cb652b329b362df4953","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.23.0_1783183461301_0.4694155288651425","host":"s3://npm-registry-packages-npm-production"}},"1.23.1":{"name":"@threadbase-sh/streamer","version":"1.23.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.23.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c3548cf8cd0693478179c3ba3ba1baa15ecd9a32","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.23.1.tgz","fileCount":27,"integrity":"sha512-vcYgBlSAEX5OqppLNulUSucaUjnsVzdvVfsUxk33m20rIK4TVT9Ub7cGozWYHwx4cciJgcyyLyUtwU2ACCplSA==","signatures":[{"sig":"MEUCIB7dKl/DqcBslPdtNsQGqL2awj8sQcBEFixqEu28NXY5AiEAk1v0SUYA2pckKZ7LUqgVgQWt0teJ0pY5WHiRre+g8wE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22226587},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"920b33794a237ae1362ae60cbaceadae77684566","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.23.1_1783199500607_0.2960261736285512","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"@threadbase-sh/streamer","version":"1.24.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b97220373c538abb119afbcbd9731a14d269b0a5","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.0.tgz","fileCount":27,"integrity":"sha512-Kkdl6eNRhxwD4AffaQ1cdeGzLh5qfy90t7i6778o37+6Xkak9yPXuzRCeQpL2D5qOp2xz4y498fI7ECtt1y12w==","signatures":[{"sig":"MEUCIAEQE0SdcxGCjoNNKZoWKQikR2uhut9qoFEqlBX+XFiEAiEAsR1JUeJCaXQEq3Kx1zoPkVh6ymgSoz2tnM3MoLy0t40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22497071},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5e1537b4b755c2b7bca4ab25581ba412a7f7431d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.0_1783200249860_0.8514198237998907","host":"s3://npm-registry-packages-npm-production"}},"1.24.1":{"name":"@threadbase-sh/streamer","version":"1.24.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"937a5a9e07990ab365d25dd42c0c674bfbfa3d34","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.1.tgz","fileCount":27,"integrity":"sha512-6bpNQ25kgsMZbomFWjgrMlDhV5u7hdgHZebDb9l9aN1ag3bqqSwLmM2kbcLqGXQ/h9e6mdxR2HkYVhX0hSi6SA==","signatures":[{"sig":"MEUCIFBWY6VhpPLcADnZX3yanz+Zr5a00WlwAvg/yDPyVQG4AiEA6r7GXb95twlTOg9CdcWXYR2LayrtOSWtTDQjhth8+lk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22499459},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ece7b2f77bc04f7b0dee82055d3d192fad437eb1","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.1_1783205890274_0.42705790602836124","host":"s3://npm-registry-packages-npm-production"}},"1.24.2":{"name":"@threadbase-sh/streamer","version":"1.24.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"72e99454db902cc4cb8e57a9175f0d00b1eb3f43","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.2.tgz","fileCount":27,"integrity":"sha512-erJEx/iHhWQrxiElLFU/EHY4woc+1tl9ed3pLeAWAADUQCvw+XiKn99A71vCazkm+P7bI4+Ux677lwE07FhjRw==","signatures":[{"sig":"MEQCICyz8NYPuxE6EZOV2CgqChVxgxbih+uawIQMMjHNIrP4AiAghLnVzgcfgY1NLH+RXxzI5atCz2yVPsDLOcCAbN/bmA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22504622},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"155a8f74632a9330afc92e43c8168851714b6331","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.2_1783207231852_0.6950886607061544","host":"s3://npm-registry-packages-npm-production"}},"1.24.3":{"name":"@threadbase-sh/streamer","version":"1.24.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"dbeb3248e5a060a78dd1760c3a3b4685ef2d8ddc","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.3.tgz","fileCount":27,"integrity":"sha512-ed+VjhGd9JVHP5rN0F5pG53dBiAfe5vvJRCZlgfUFoMRinqjO4pwWkCQ4Gko1fZy2etIeFONe/6vfXgYtET92Q==","signatures":[{"sig":"MEUCIQCh2nuTGqI+PX563xG9J/B9LbTdWGsY/JOOBCRWxyMJkgIgLq+MSMQKQqzcZdXgD9X9DtH4wKHLy6NlD285m6RcdUs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22514827},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d956b1b8e9faa9214d843918a4a0d95edbe7621b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.3_1783207732773_0.42064478831652674","host":"s3://npm-registry-packages-npm-production"}},"1.24.4":{"name":"@threadbase-sh/streamer","version":"1.24.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"46c96c25093b0edafae6f87c7569adfececc286b","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.4.tgz","fileCount":27,"integrity":"sha512-MnZ5vhrSYvhjMsrR4R945PGVb2/5EOPP+I91qk9TTloRTMjwtPeu4c1VUgx2FCgvyfKtyoDrHG3wy1YTwMb8PQ==","signatures":[{"sig":"MEYCIQCpcbv2hGKfflPyQRGVB9j7fvgO5ZTUxHujltMn6oqS5QIhAPDtzv0YGKAXll6BMqDqkMFvj/ju8ADiVon6R9cVwguW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22521310},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e6d749d667ff19a63f241d1e3f7cb148d74e29c0","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"npm rebuild better-sqlite3","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.8.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.4_1783208337577_0.3737625785136234","host":"s3://npm-registry-packages-npm-production"}},"1.24.5":{"name":"@threadbase-sh/streamer","version":"1.24.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"482ee705b7522afead89ba3b487c7b8ca9a5e93e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.5.tgz","fileCount":27,"integrity":"sha512-oCUwp7AR+KsgSh8N78BPpXmkEmjxFxeVvMqc8sKrqgnW1keINOZVh0TYTBcQM43syBo8m8zNoN3AnJdocFGbBg==","signatures":[{"sig":"MEUCIQC2q++APOPq1a7ehismEOBeljax66//oyoaz4NATTPKjQIgLfEPItmv4gmFnyIZVPU88tG5+SULB1jiH1LXf3jhSYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22599909},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4075abdb2dc9c1942ac541a17422feece1cd9b46","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.5_1783261129770_0.2740879441157491","host":"s3://npm-registry-packages-npm-production"}},"1.24.6":{"name":"@threadbase-sh/streamer","version":"1.24.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4cc1d88fccad46d7a200145a277022102c10bf11","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.6.tgz","fileCount":27,"integrity":"sha512-7QgY9+dph8zRY9Okf5mQldtUzGuPQjcqRJjFyRgHJnl0X9fX6SVXqMOfo8ff5cxYGFWSZ3QU6AbSGPkZ+Fcxpg==","signatures":[{"sig":"MEUCIQCv8s9tTmM/VozKB8oZc8Q1KxsZk5PpWOijhsWF7OtzOAIgWNIhkW4lZM3RAjym3Z2MuZqzuthPxVp6BZ8aHj15d3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22599909},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"85b0bd6f037136fc5d72c400eec3d96526495826","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.6_1783450602179_0.15877127518779677","host":"s3://npm-registry-packages-npm-production"}},"1.24.7":{"name":"@threadbase-sh/streamer","version":"1.24.7","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.24.7","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"621c6bbc6247048f044e174ad4d3200acb89af56","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.24.7.tgz","fileCount":27,"integrity":"sha512-PHCPtkQ45TkR2UrMH7ryasmbuesS0v1OR4NtjiBD8AZWjyP7/ZmbA80XkX1ASs1dW0fWEl7GngQeqhsRb4hQBg==","signatures":[{"sig":"MEYCIQCzhj2tDOF/w0AjLqI+91I/4GQbneINYfwAjkJ8iuHhWwIhAOTOBtDJayyxop9C86Qb7puWchEF3q2SHgk7mPWE+cTr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.24.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22413858},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b5c3cfd0261279f31f1221ff5e07b752d10b39b8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.24.7_1783854774143_0.9773738140525547","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"@threadbase-sh/streamer","version":"1.25.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.25.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"efe4f842f070859287bc241064d68367201c8998","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.25.0.tgz","fileCount":28,"integrity":"sha512-EYn9ivnMg4GyRIAuC6ik8nCW/cSZ++U0iJCaHwKas9nFJoc7Qe3LNL6hkze5yDQwUzvsuzz6LMQdWXQa8FBzNg==","signatures":[{"sig":"MEYCIQDkXlbjawlctNPWM9Y6EeMkrEhalHQ2Bk7WuUeAro85FwIhAKEt76dOIDClCaYH2tuwVzKni3yKGZzIAqEC1d1530Uo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22497316},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fa243102be038658fd9c6cd657b439c20cbb55a8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.25.0_1783857240755_0.6187068742073432","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"@threadbase-sh/streamer","version":"1.26.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.26.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1ba7ffcc5a51560b0312d5aa82340b57608b7b00","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.26.0.tgz","fileCount":28,"integrity":"sha512-3CBymCnX0x9aOnefEqKyRfeoYs/RsJ+hs41gFvktzcJlZQwvaKM69VyaF8mJqLE/whK17B4yJg2wLnSWJFx0gA==","signatures":[{"sig":"MEUCIENaOIHpIoOmL41TZJ+c3izviyvF0wmHaw3mLXqYCMXVAiEA9lw4vix7r//UyypVP5m/60/Hr+IqHn0AqJGM1640TcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22512545},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d6d1e82019d5b8106e2dfcc8f264a03e545228cb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.26.0_1783858566184_0.12757786449904351","host":"s3://npm-registry-packages-npm-production"}},"1.27.0":{"name":"@threadbase-sh/streamer","version":"1.27.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.27.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"248920af0dcaa1a83c8a26f83ef51f9214e91ac9","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.27.0.tgz","fileCount":28,"integrity":"sha512-K+N2Yu/XXV4YbB2r24E26mpNh3GOmt6Ucns0csxyGpmTFpHMY3STWQW1Jqg6iwc61E8nD1gOqDouYKXRNqPcgg==","signatures":[{"sig":"MEQCIB/2XNmEjwDcfGm8NQlCM7Y7xNePyO7q5OQzadNcFU7SAiBoYphp/o8mkkiHqAlwLXl05WUxAyOhRzAy1E+4h7p9og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22570323},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"614aae45a26454d83d8fc6e6b80a400fefcd3cdc","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^3.2.6","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.27.0_1783861211135_0.7356459055834894","host":"s3://npm-registry-packages-npm-production"}},"1.27.1":{"name":"@threadbase-sh/streamer","version":"1.27.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.27.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8805e7c1c556923794d917ff3c54cc3a9636770a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.27.1.tgz","fileCount":29,"integrity":"sha512-4dEQb6qBbGXBc1fd05HVSarlm8ryQK04ENa3ZDQT4xFvF56tATXNr7jyQyWmV3u7bz2zaKuMGGg8x+pRd1w42A==","signatures":[{"sig":"MEUCIQD0M+MODpZ1eiVSWnJ0DSYqcx3SYXr6POnRaY1zfoiQgAIgVsdZAirpykp33ZJ0Urxgkxkd7ECs9W56JlDeRgAsNW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.27.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22572516},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9ab142b54b3933268d2c94fd5af9413571ba989f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.9.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.27.1_1783871916466_0.09723876311148993","host":"s3://npm-registry-packages-npm-production"}},"1.27.2":{"name":"@threadbase-sh/streamer","version":"1.27.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.27.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0e47713d37670cc5e00aba1b9f8bf650c9b2242f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.27.2.tgz","fileCount":29,"integrity":"sha512-oOGncRQ9LCuFc6bgZgOMB5/2jpahegarOSiYhcn/ovjjz6sofbf9j1MUxvXE3ZPYuVsTW6AR4o8dzX9XrPL8fw==","signatures":[{"sig":"MEYCIQCGQEMNchWbv3v2YcfET0p7Je6Isy0G3YAwNeR5YcbXIwIhANXNp4UctCJDxHTzkIMEjAOzopKln96FStoZyculIIU6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.27.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22602390},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f350ecb9772e4a883a159cec6a838f1e6a2f2f31","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.27.2_1783890283259_0.5825474184437687","host":"s3://npm-registry-packages-npm-production"}},"1.27.3":{"name":"@threadbase-sh/streamer","version":"1.27.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.27.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f910aa19cae3f92dde0172ae42fe272b34a25a47","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.27.3.tgz","fileCount":29,"integrity":"sha512-UOw+1w0tf083G1/Eo86VThpNtH7R71l4WveCQdA/P1W7FLGzQTvshlS1UBApV7EA9ahLnAjKOm4jhC8xFRADgw==","signatures":[{"sig":"MEUCIQCTsgigQgHb87E8nd5FV9rJpUykUoCDIwkNQ8hhHYarzQIgCGPmNCvz5gtxtR+fernL18uT/3oTGb4w2ndumpHtXoY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.27.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22622395},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8d42987ca5d9b3da112ad30c2b01d11935451154","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.27.3_1783948380866_0.9540684871109395","host":"s3://npm-registry-packages-npm-production"}},"1.28.0":{"name":"@threadbase-sh/streamer","version":"1.28.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.28.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8162938908c8160c8c0eba9a273bd3d8238d04ce","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.28.0.tgz","fileCount":30,"integrity":"sha512-1KHU75AZR+4iqkD78RpRWP6lhOyYzcwEF/swqsL0GNYG4gNhXMU7eIdva7qbPFgHEWRwSF4v25KKOVYJoYV3DQ==","signatures":[{"sig":"MEUCIQCfDS/MtgEWCniJBCogAYoTJIg4X8mQ3BgrqLL+d3TV+wIgbabuYk/sZ5j4FYBUF9zbNEnHkSraJ5/Kujmnc4j+mec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22797223},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2a1b60ae4a18f9dba03c873d5ceb4875d7161df3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.28.0_1783955591871_0.49820434881185327","host":"s3://npm-registry-packages-npm-production"}},"1.28.1":{"name":"@threadbase-sh/streamer","version":"1.28.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.28.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"19bee2a37ff968efcb18ed92474e33fed7a30251","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.28.1.tgz","fileCount":30,"integrity":"sha512-E2pFimru1OpkRliYGmzxgNDupjOH/J20bh+REnucNzcpB4dk7SC9L2gw69GA81g9M3Iet26n76wGwrEf/VgUbQ==","signatures":[{"sig":"MEUCIFGQE296DQq63ZF1XnvZnEoqvtNA4EI695fSF1Rz81eBAiEA/vI8qy/WAENZ0x3dy4paVAJHAQZnaR624WdzoTaj7MQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22805908},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2affb084f403e10f3f81411f31596ea3ca5083f6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.28.1_1783959976315_0.3342647374479235","host":"s3://npm-registry-packages-npm-production"}},"1.28.2":{"name":"@threadbase-sh/streamer","version":"1.28.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.28.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"331194dcbab5fbae70a037aab2c6157bc839a6b6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.28.2.tgz","fileCount":30,"integrity":"sha512-kpkqH+X2ZxMuOoq93H7rBU+R0g6Kkha8y0VjPW/Moqv2pOOvuLFP051Ore4kncsnfy7CK04WGQJ6uqaiMUTXrQ==","signatures":[{"sig":"MEQCIFDb82vEWlgqTAwjMKKBoZXYTfPGAx+wbrMKyoDwfhJvAiAP8/UC2M8y5JEa5OmKe+aIC7wQTzsYY0BLfoxU4arsEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.28.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22808295},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2bbb29fccd4b59b28c664cdd2bc53f4dfbb87eea","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.28.2_1783961016104_0.4571676671218565","host":"s3://npm-registry-packages-npm-production"}},"1.29.0":{"name":"@threadbase-sh/streamer","version":"1.29.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.29.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a7439e7e7f533b4fc973372ed5b29fc0d0dce5ea","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.29.0.tgz","fileCount":30,"integrity":"sha512-6ejNRc6g69ihYPrypUkVcg0nEpdUx4qMoBtnFM9KTsks9J9GxcsS1lKbUyjvWHAO7+LPSkq1gFB3v7Wz6HD+zg==","signatures":[{"sig":"MEUCIBDkvfFXShwtS3Fsf20k6CZfRHcPj+SHcbUROjr0hMa2AiEAvSW7y73HrpQ0REhRW4w4mlUuWYq4/+kTFF1FJymEFIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22813439},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2590abccf3eb64cbfc2881cf906a98d80fcdb188","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.10.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.29.0_1784151287056_0.16942072184074353","host":"s3://npm-registry-packages-npm-production"}},"1.29.1":{"name":"@threadbase-sh/streamer","version":"1.29.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.29.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2f8aec9fbb3f9d13d5dc4c67366000637da45fe2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.29.1.tgz","fileCount":30,"integrity":"sha512-VftbiRUEh9q4/HlU+cTzHEg0RsBelms6wITSf+GoV/R56rdPBrMYIZ1HvtkVsk3iv89eOBhUBMy7Bb4y1dCkFw==","signatures":[{"sig":"MEUCIGcwXab8Li8AVrJreUeEFjGQPJIqhyi1pd7uCf3xm/AyAiEA+Hphu721C5fwfnBQ7lIGMTJbOh+fRyF5uVm7qGEWoGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.29.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23002415},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a64b893e73134dd5822bcea7077db1a54b39c8d7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.29.1_1784174616120_0.40244450764316975","host":"s3://npm-registry-packages-npm-production"}},"1.29.2":{"name":"@threadbase-sh/streamer","version":"1.29.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.29.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e0bdb6a6b4e45c52ee6211d85e77737123a63ef1","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.29.2.tgz","fileCount":30,"integrity":"sha512-iOLIBk2LfU4c0ogMwcSQGcIUG1oRLC1UFkzBNf3mCJWQzOzd16tnOO/KQ0jS2J0aiOaqEUe8PgU5ezI7u1LLOw==","signatures":[{"sig":"MEQCICDx1n2R8eXB+eboWR51wqDNxbsEo3iLCVE/HTCpY6ekAiBFpB2arsd9Oa48XO7Lcxs/V2MkGCsRvE0MHq2ZclQwvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.29.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23045124},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"de712a2d9492bae046d3a3e85911d164388820db","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.29.2_1784175392646_0.728448539243155","host":"s3://npm-registry-packages-npm-production"}},"1.30.0":{"name":"@threadbase-sh/streamer","version":"1.30.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.30.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"007143c55fc7987e37d9125b8a8a40d9b8dea86e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.30.0.tgz","fileCount":30,"integrity":"sha512-q3Oz/adOddSxCWq1qUzEeTU5Glw4c8saiwzMU60hRdQ2J4MZizf3PijtSf1/ImuF74LMLMGIyMaWACnk17TRmg==","signatures":[{"sig":"MEYCIQDgzLqk+mDvuZB0207lQrTha0ZkRsL27O+iATF742K9wgIhALuuyRohKYdb4UzCBXWc7CgejveWUaNR4LuNMcqqdJmg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23181235},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"61e7bc5afc4e3f31d34651de4972f26084fb5f39","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.30.0_1784179609100_0.18360740212557514","host":"s3://npm-registry-packages-npm-production"}},"1.31.0":{"name":"@threadbase-sh/streamer","version":"1.31.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.31.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c30d82d336267d172b21c530af167bf955cd8659","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.31.0.tgz","fileCount":30,"integrity":"sha512-tUy/ka46YBW9+SkdzoO/75Xir+qfkMLGRnfe4ZhJWdaDBmw51jyw8K3CdibRN65Use1PUYEJHfNYkznGFMr6sw==","signatures":[{"sig":"MEUCIQCEF8gjeQ6vNHwfea+zZcWg2ZXpje/2o3Pq9lwP5JAiwAIgIwi+ll7qt6Yk03CBRaeMYgQVQn+FEpXxNOqwrxQuzV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23159818},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6b5d30f0995debaab909dcafea4faaa6e6f727b0","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.31.0_1784231823307_0.6261318920602656","host":"s3://npm-registry-packages-npm-production"}},"1.31.1":{"name":"@threadbase-sh/streamer","version":"1.31.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.31.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ac7cd27fcd65b7a3d54fa3726046235cee409cf3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.31.1.tgz","fileCount":30,"integrity":"sha512-EEXoX9kNoCga2xwOhPr9r7+vRmw2TAyQQV+T2GqDA7Xuck2vCaOXbVKGk8H1jofxpYhY+3AlIT22CwaP18/YMQ==","signatures":[{"sig":"MEUCIBhkayBkZjXuW+VWKhCpUK/v6oexCFVpKmXQW5c7+e1jAiEA5lDZHvNvVto3yec+kVkuFMxEIdIVNMOWKx1FhOefs1A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.31.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23161618},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cceae6d856c180bdaed08730d48f0db1016c5b16","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.18.0","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.31.1_1784332087913_0.16170651377798673","host":"s3://npm-registry-packages-npm-production"}},"1.31.2":{"name":"@threadbase-sh/streamer","version":"1.31.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.31.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"83e91ec28f91937bc1b24d267063009669c6c6f5","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.31.2.tgz","fileCount":30,"integrity":"sha512-OBMW1NfLUYJzfG94g+Ig64Jx99Z9x9JDU82Kh1mFKnS1AGk8E9o8h+YrlBpULorX+6oNWDMyrkaHTLy+YOhMbg==","signatures":[{"sig":"MEYCIQDsENXfIoDNSpt1tgcdE0BpjlPdcu15wv4iuriNSLdX3AIhAP0F47l7up26ESITjosIpKX/SMP79HZfS49k1MaY/lFJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.31.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23165327},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4b250d7919da14d079fa6f56962bee018adf8429","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.31.2_1784411877939_0.36476889697684545","host":"s3://npm-registry-packages-npm-production"}},"1.31.3":{"name":"@threadbase-sh/streamer","version":"1.31.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.31.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"813dcd0ea60363fff8856cc71642e738a1189873","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.31.3.tgz","fileCount":30,"integrity":"sha512-JFOlhFTvCZPATXE6+sn6pAV/Np59IS1dd5+pJ3RtJpIN4HnCWjhCl/Oc9i+RPRYk9sd7DVe9wP7RsC2iOQfPuQ==","signatures":[{"sig":"MEQCIBg6+kPAg3D5KPZLMDOu0Eu3DA3CAPinN22PRPhrnxR6AiB9PZ6NRlgkNyk/5LuPr+JH5tz0O2eA8tApCzE1yh+CkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.31.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23175688},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b344ea10ab1ac492ad4db3601a086455f214ccf5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.31.3_1784445267446_0.8176630945179935","host":"s3://npm-registry-packages-npm-production"}},"1.32.0":{"name":"@threadbase-sh/streamer","version":"1.32.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.32.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"112485c773b2112233f5ae18dd329faad968d689","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.32.0.tgz","fileCount":30,"integrity":"sha512-qPknbKGsskib0QwpknwWkXHfa8apQGIt/8nip0KnPoHWAZ+fHTuZQc3/xYy9s4Y0QzokmQMlBLAWE/5AIwi7og==","signatures":[{"sig":"MEYCIQDo15FxgtEX0tkGYUcog5axEypLHSkH/7trDvb96Vo0JQIhAOHmlvfqcWEhaVpZXzB5EP040VNMubJlvR6J5M99zvSF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.32.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23186579},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d61755e4f3b534438392400320deb657945a500e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.32.0_1784573093323_0.5598412849498786","host":"s3://npm-registry-packages-npm-production"}},"1.33.0":{"name":"@threadbase-sh/streamer","version":"1.33.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.33.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ba5d543416a6feb09ff715c2da6a21ea176b21a9","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.33.0.tgz","fileCount":30,"integrity":"sha512-9vxvmO9g2LFRvwaFMx35haQnmdYiQAa2fBCxCVVSfKNX3tUbr9hwXBjbUitqZzOFg0p0TNcGmB8rs2WP5iQ3KA==","signatures":[{"sig":"MEQCIAneBu5q4x6Nv7OCxN28ari5jCP1oxShqOpzPjhgNM8HAiAHF4gaqUJZ861lshgyuem7AOTItAXMmx1VH9JCxHsbZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.33.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23193641},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4485f800a40577a8163b520565e754a6613786a6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.11.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.33.0_1784575741779_0.6390363860347101","host":"s3://npm-registry-packages-npm-production"}},"1.34.0":{"name":"@threadbase-sh/streamer","version":"1.34.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.34.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b693483da88502b8dd4f897c4e7d40973b3228e4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.34.0.tgz","fileCount":30,"integrity":"sha512-Ghz4Z6bZJ182XkPVOMtNi4uhqpqqtleyaMJOPeEn1DtDN8ZwUL6/kjoW1xodCwKJFjyRlRSNX2Af/WyUpbkB3w==","signatures":[{"sig":"MEUCIHzElctmKyDMPzFOISaFewOG2vdP86rpEKAyNhzPqpHmAiEAk0hZQrUsIYpF2WLD8iDdkZZBQ9r+NQ3q5M3hsbKZf8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.34.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23487630},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4bb8dc4c4a6415d358a49c73ad544d4513e8ea26","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.34.0_1785614972889_0.5232841581831005","host":"s3://npm-registry-packages-npm-production"}},"1.35.0":{"name":"@threadbase-sh/streamer","version":"1.35.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.35.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6abdb20895d40c3478ff2d636de7e87dbd1477e8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.35.0.tgz","fileCount":30,"integrity":"sha512-/wTPPK0ABRjjXSik1ngKCq8fISZHSHRElhiU4nVZl73iMKjfiokNqYG4KHdjF8xEMBy5CbiRtRugxdbFHdkvLw==","signatures":[{"sig":"MEUCIFrj4vNheIOtvBGQmu83KmnKAv2XOFKLl0Mx/WenIbNjAiEAvp9lj6RMJlmptEViwDTGppluim8O8N9jsuEoEtauQKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.35.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23512557},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e587bd30d1748d2ff4d91d18773901e28790acc7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.35.0_1785618920038_0.04401416627315191","host":"s3://npm-registry-packages-npm-production"}},"1.36.0":{"name":"@threadbase-sh/streamer","version":"1.36.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.36.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ea3a08a5bda4a421269185f9a49c485739b8d03f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.36.0.tgz","fileCount":30,"integrity":"sha512-FvDLkgQ3G16NCkP5YAIyR2s6yrYSEwXO/bGqPIFINmP/Q+4KH/nkiSqBNKZm2BvknbK1B+wbX+aJWqSTMRHoLg==","signatures":[{"sig":"MEUCIQCYpmHkYJ/nAM/WESnKFIVpq+mS0UTsp/fUjhR+6cANfAIgZSx+eS4ay0lq6mUQF3/vjR5EqUlPav8sBC/DqDJfsD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.36.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23513379},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9406ce1227f64b06666653c5edaa12dcdc17a967","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.36.0_1785621803243_0.27520208183127837","host":"s3://npm-registry-packages-npm-production"}},"1.36.1":{"name":"@threadbase-sh/streamer","version":"1.36.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.36.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"fdea8bc5aab14aa6bb9d39b6901129c156fdc3fb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.36.1.tgz","fileCount":30,"integrity":"sha512-2CUQtkkCxyTvuhlFX7e3AOboic71N7FY+6myfGqblP3LQ2XIwWh9+bqjwkcfsu26mo/WscGcwCz/aDG0XBPPig==","signatures":[{"sig":"MEYCIQD3gxAS7KHWNvZiLzfdxH+Bw2hfGbzfce6+KrfE44ZJWwIhAMtvkJ9JCLWbyhNCPZydknEzV7w41/vhbtmPcL48LKEE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.36.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23544919},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6cd2f4dcc9f82c2b5a0a940b73bea5db95f2adb5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.36.1_1785623525082_0.8938262780534858","host":"s3://npm-registry-packages-npm-production"}},"1.36.2":{"name":"@threadbase-sh/streamer","version":"1.36.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.36.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"af33a92dc1eec09ed2e0d461264717f50de916c2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.36.2.tgz","fileCount":30,"integrity":"sha512-zU+i0hGqLl2M+LtBcw1FN3y+tzyujjSRS6gc5czNdEMO2KmW5FGjvD73AwYJ6SA3+2rzVmhvYDdXRTdY7GkOdQ==","signatures":[{"sig":"MEQCICnXcWysi67kgDhlvPgxBE+4N1AtOCbmxMLIDF4+UZS2AiBVwTckPcu8SmLxrTN0z7q8BpxhLvNsNuokPAZSh+nMbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.36.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23619671},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"83bacb6b939c29042c66689e37292d25d878ce0d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.36.2_1785624708409_0.24770576988208548","host":"s3://npm-registry-packages-npm-production"}},"1.36.3":{"name":"@threadbase-sh/streamer","version":"1.36.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.36.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1992ff5f0ba4ea311c7de1d42195b967c12bb346","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.36.3.tgz","fileCount":30,"integrity":"sha512-L2lth2TEtUDR02d5bdyY1r2N2MLbK9erwJKNDeppQEJHdCJxrZhTUlPpDgekR/giaBM55bXEZXr3xn9iNlp9uw==","signatures":[{"sig":"MEYCIQDNK3LVePAN0p0YfrmxlmmDUh+BnBOWb9x/yjmiQmh89wIhAOcVRPIRFf2H6yTOKsQQM15Xo0v+wo9SuCl0IqpsWsJf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.36.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23631530},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9de1080e04b4d62916a4951361db67cbd7ebd07a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.36.3_1785625633864_0.6268087017247577","host":"s3://npm-registry-packages-npm-production"}},"1.36.4":{"name":"@threadbase-sh/streamer","version":"1.36.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.36.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6190ab405f634c2619ad3fbe506cf5fbb859e398","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.36.4.tgz","fileCount":30,"integrity":"sha512-OcNGlXCOU6MzQKlsCuD+KEiQBo4KUFYWyjcRAuwyh6PeBLRFiHFxqC5c7fCDWxEM44B2oIAg8D4hnbkTpn0T/g==","signatures":[{"sig":"MEUCIBzmE8x7wTSxpoRaoHi1JGAuno9ftQlmGDLrUpBfy03zAiEA3ycIdAHD9pdfbUkkoaVzyGs3Sw44Uq2YE0UEAa1W9Uo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.36.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23638876},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d85b129f3a0d45c33384da9a432278d910768201","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.36.4_1785626943424_0.8541716182708701","host":"s3://npm-registry-packages-npm-production"}},"1.37.0":{"name":"@threadbase-sh/streamer","version":"1.37.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.37.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8c697d791adc69103df9e429d2c4faf551e0cd33","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.37.0.tgz","fileCount":33,"integrity":"sha512-hUnkz5VjJTuVfstutfeWFprqSgTXGfG9y9bADstz6m3eParAtrA8Qns2/Qi5uIVUiWsg34ULgvJ6M6DMSNkanA==","signatures":[{"sig":"MEQCIG3Whv/ipGXB31DnKoPaOPKNI9AWUcv0ayPpqUMVanSkAiBPW3jMsadipje0raowAlxEDGlmHDG8oTY4MS0lwPpZxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.37.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24325440},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a94059f6db6c7c494855882a07ec61b1244e1048","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.37.0_1785631646796_0.3191369519297522","host":"s3://npm-registry-packages-npm-production"}},"1.38.0":{"name":"@threadbase-sh/streamer","version":"1.38.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.38.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"77a9fc3ebde9861bed37faa5db5167517869fce4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.38.0.tgz","fileCount":35,"integrity":"sha512-7qRsAKzAC2xK/ke68QmUIBEPfgqkD3iL0hxomcSE9fo9VPcvLPj1cPHmTwYBotdDH+sbZSjOnQKCmGEXL7Z4cA==","signatures":[{"sig":"MEYCIQDNJsnmlM21HogL6KuFzNSqHYifTyg7bnYv9XuMTWeZOgIhANj4qW3IO5jGFkJlkf/JBAKE5nKbN9kqnwZxGXcLDTw0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.38.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24696833},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"57f2c6b45326c3a6ad0567b3c43dc109898af1db","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.38.0_1785657879290_0.45224587120463955","host":"s3://npm-registry-packages-npm-production"}},"1.39.0":{"name":"@threadbase-sh/streamer","version":"1.39.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.39.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"67f07288ff7a359758fe541b69f17e28cf4329d4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.39.0.tgz","fileCount":36,"integrity":"sha512-Dckamw9iW6BOxA9EwjF5vvW94q1BtUsaqMF5RSG2TKe+i9qaArpkvsvrDf5pEj8GvtsrmPQ1VAy11hLXuBgbWA==","signatures":[{"sig":"MEUCIBEsdLCaCpWpBvKg23FeJdEeKdlWqfS1fwpEMpCdSrCCAiEArmEVnYT1XmvTNIVobzqSVUd8Mfh48kcpY9uMHJDkL2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.39.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24763916},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"214abe34056ee079e19013bb2c788b6d4ee1d4ea","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.39.0_1785661208037_0.1667104249437752","host":"s3://npm-registry-packages-npm-production"}},"1.39.1":{"name":"@threadbase-sh/streamer","version":"1.39.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.39.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2d83db418337826419a01b7db49e4eff5cf02049","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.39.1.tgz","fileCount":36,"integrity":"sha512-r7eLR6rlYxL96lbgivS7m6BK4WGWF6bYzzhQ5VrArYWLCyHlI5Cu3m2v/LdavEo2JqMOK9oYWvUvMz8FyK4r5g==","signatures":[{"sig":"MEQCIGVfS5HK8HjvcuAdJlgSLvSFmnFdMKpK020hPA2l5bftAiA8CqQqfoX/kTkTkrgNTmzE1B3g/mfZJmpt/WOzkx/11w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.39.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24794697},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"558401ee53126fa734a687e5a24b57636991b461","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.39.1_1785669471549_0.03760392999746354","host":"s3://npm-registry-packages-npm-production"}},"1.40.0":{"name":"@threadbase-sh/streamer","version":"1.40.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.40.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5cba9e0535ba6ff653fdfc1ad3f3003d6af67b8c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.40.0.tgz","fileCount":36,"integrity":"sha512-uWv46VqcVjI3hj/IOxtUuxD+cguWmlXnQW3hI7JaJqna8OQT6WSZbm8ADwJmC1e30bjxmNtqoqV1crIiuk6KDg==","signatures":[{"sig":"MEQCIHOmCbHYzY88m5/IOq2unvj6GOoRKPrwzggMhPeougvxAiBYhkjLX7KU6kePKY8DM9Lr6/6URAkYCNsP7piGsev0iw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.40.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24955942},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"32ba0c244012f1548dd1b3282d3a99f68e2bd351","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.40.0_1785672429969_0.8666060913142453","host":"s3://npm-registry-packages-npm-production"}},"1.41.0":{"name":"@threadbase-sh/streamer","version":"1.41.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.41.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3359c423dcf80ee1cd07473acd176925843958fb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.41.0.tgz","fileCount":36,"integrity":"sha512-hfHsbz+CbzA3a+1VDPUk4saCevZZ5y2AY+FyZOa/c7Buf4XgVaShJSS3esMgG2ncW3IhUffqkp2OxueOyM5dmg==","signatures":[{"sig":"MEUCICrQg2xzA3eiohsV80XkDRmUXF6PWJFfBgDhYWA/2Zv6AiEAqeK45pvYaLoWNw5/oRK36xzLqOaWR0GU6kqwcR9LT8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25081035},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4037050ee959b94838671303101ff91318e4823b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.41.0_1785673748627_0.0202612111278877","host":"s3://npm-registry-packages-npm-production"}},"1.41.1":{"name":"@threadbase-sh/streamer","version":"1.41.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.41.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6e1c87988fc4c52c2cdb3f4286b30588f40f4f6d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.41.1.tgz","fileCount":36,"integrity":"sha512-+kmj+afvrkVrmeSvNc2FNekkwfhdilcn8OQDOBfhC8yc73kXs/X9QRF1Z4kHeplNxWPATcXhdhnJI9e8D45CJw==","signatures":[{"sig":"MEYCIQDwxVeClJ57D1dmw5m91FdOtddo31c1/Vd3taSUnR9L6QIhAIsStJBi6M5JM0HBTpleb/xWxr9V1GXypDI0a1I7ijNM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.41.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25099390},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ab68f98be1647fb00cac2ecfe9809b69bad77530","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.41.1_1785677484052_0.592920392260587","host":"s3://npm-registry-packages-npm-production"}},"1.41.2":{"name":"@threadbase-sh/streamer","version":"1.41.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.41.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"22116edb3bcdc65777b971b4eecc6448ce1d1d17","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.41.2.tgz","fileCount":36,"integrity":"sha512-6MvlUnd64vf02XY5I1nR3jAwDWQkhD95l/cseGEjSzRBR6nkJn2al1B2W/uhYpOgw+gNYNi1VTHXG+3M4glgVg==","signatures":[{"sig":"MEUCIHUC+zbHqz3kKhLQL0AA/5AVJyLfrxvRG6ot6pahZSKQAiEA9pKm2Pv9y1+sNDvzR4ekvuRABqplf0m1kCRZAcYcKLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.41.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25103026},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1aa224efa3e1b3a01491a01c4791706ba4981b65","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.41.2_1785680159344_0.3276482640423992","host":"s3://npm-registry-packages-npm-production"}},"1.42.0":{"name":"@threadbase-sh/streamer","version":"1.42.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.42.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f8ff41a2b6eedb2c046c8b873be319709d6bcb2f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.42.0.tgz","fileCount":37,"integrity":"sha512-OrjKsMIcXFznhDf2AT87wDTBC6WoEZ52D2iVxR6/liacmQFxnInjBBe60wbiUTNZf5xhrkmdYIordJKWbTs91g==","signatures":[{"sig":"MEUCIQChleejkv/yyYGzPd8wBZzg/+bU3AbCjdEwMgnl5SwCwgIgIsKBkzUx5LJs85ljBKsDyY4DKYvTQ1IshQuTG2L6+gE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.42.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25311296},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e66cd3289609fb0c138be5432b6067be6ffbf383","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.42.0_1785682174580_0.1492638245596014","host":"s3://npm-registry-packages-npm-production"}},"1.43.0":{"name":"@threadbase-sh/streamer","version":"1.43.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.43.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cf20feaf09ec5857a606bda91a60b5b3b15376c6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.43.0.tgz","fileCount":37,"integrity":"sha512-T7kV+aVO9r80vFT/2bDRWU9V7xj+on6WGuNkgRpzh07k0GroXP4pzbK4g2ekoAxXIF9I909W1XK62PkyLc5yXg==","signatures":[{"sig":"MEYCIQCwfQFis69tVrEXFU2liMYtLUAvtGJcRxy/fgjKh2KxmgIhAPHyz3J8O+pss6yVEj4fZiIXm/qxgQYhlfVbBPno7O0X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.43.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25353636},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2de8c6e4ada327913dcc60daea7a8dc4384d77cf","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.43.0_1785683900177_0.6434810256897243","host":"s3://npm-registry-packages-npm-production"}},"1.44.0":{"name":"@threadbase-sh/streamer","version":"1.44.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.44.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1d398d26f088610e73a4182dd5ca25827c859a46","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.44.0.tgz","fileCount":37,"integrity":"sha512-m+tMAhg0OVk3cdEGLC/p7onyQG1rbEQwoB+ZaSZY+ZKNHPVRbk1qaCnHT2z4HBE64J3xehW/4EJB9hrccJjdHQ==","signatures":[{"sig":"MEYCIQDrx7OkQmPPMlWrCq78Jzbtzyes4HeDub6FFH/Kx+GiUQIhANanfzjABueSmeUHpGInXfuodk4YhALWE3CJhatRpgjn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.44.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25669111},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"26c1b72301d2a0ccc70394e830adab14b14b4436","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-native-abi.mjs","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.44.0_1785691793685_0.9591874486927068","host":"s3://npm-registry-packages-npm-production"}},"1.44.1":{"name":"@threadbase-sh/streamer","version":"1.44.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.44.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5a03d0c9640aa9fde8ed9c762a4eacc21e1aa16d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.44.1.tgz","fileCount":37,"integrity":"sha512-E2O59xDNuoB3zjdJIwhA3fHUIvSjksSiz8vAuXaxcr8h3EJumsa0EBtPuWv1p6O3jG72baC/Z5l+AIQK7aXGHA==","signatures":[{"sig":"MEYCIQDyVvyp9kghK7Pk5syb0uyyOUKImVgYAymkeeYMv+VeLwIhAP1RhC/UQwhLwFZvPqMWSRDJnuzXCmRksztqhn0IbWbH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.44.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25669207},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b62dc239f30cf0a3cf5ddc48cbc52c2942e491aa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.44.1_1785747885453_0.5942857841882643","host":"s3://npm-registry-packages-npm-production"}},"1.44.2":{"name":"@threadbase-sh/streamer","version":"1.44.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.44.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"57cb11515288bfa52bcd5013d4c51351e8738db2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.44.2.tgz","fileCount":37,"integrity":"sha512-OerOhLVJ5ExRwHRjA+CQoSInF25Rm3Othmm1AvdqXQe+JRMldzL7hr1ezCblh8tRPfnSWdbXsqXu+tvROowvYg==","signatures":[{"sig":"MEYCIQCU4SK89CX/5CdG3yYQ7crrKVjLsbEmVamLVOlxQVn2OQIhAPEUnBlyFTN0tv9Bmx6+sfztHYE8pFpTrOvXc80fpX6i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.44.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25669207},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"21afcba768277a551322e69dd0a0bf321ff4d8d5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.44.2_1785749961615_0.8467361915394767","host":"s3://npm-registry-packages-npm-production"}},"1.44.3":{"name":"@threadbase-sh/streamer","version":"1.44.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.44.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d80548e5b8791acc6be16c8c57204dcd3b795ef2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.44.3.tgz","fileCount":37,"integrity":"sha512-4CUKje5i6cLPVZNECYbZ8Ut4pGi313Nfb+EdpJ35L4Wsrm3kvmsI7N3OUPU99K6bzF0ug4OEJiSXhLJx1O4fNQ==","signatures":[{"sig":"MEYCIQDRizYY7fwpa5dsmNpqh4lvcez88bFiAPNBEFJeZVHXdAIhAJStNYjwy9l6OFKtkbV/943cvIJvcExSX9vv9pMHuQao","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.44.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25672369},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"458db694fef4b576b7a752969f851acbaf1d129a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.44.3_1785754812705_0.9561279073350619","host":"s3://npm-registry-packages-npm-production"}},"1.44.4":{"name":"@threadbase-sh/streamer","version":"1.44.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.44.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"50771a56a334323351e4f869fb6a54d5c330c9c9","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.44.4.tgz","fileCount":37,"integrity":"sha512-Ocmpq3nD4+C3q6yBiasqoAAp86k/uLzi4B2pZ3Q6X3OmFeLzmxrC5XCjs3shUISH3b9QJgQO/CNp37EpyUbMvw==","signatures":[{"sig":"MEUCIQDHk351O60w98NNc2nXDPZ/OE2AHvUnWvEf6lTwIWwYhgIgYNw+ZCzCzF/FXeVBQoz8oTtPFyLx+pC/NfGKXeBOZh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.44.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25678785},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"452fd618d1cf9d94b13d53fde109c6738d4d56cb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.44.4_1785762665999_0.12827051419371305","host":"s3://npm-registry-packages-npm-production"}},"1.45.0":{"name":"@threadbase-sh/streamer","version":"1.45.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.45.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"91e7214da6e2adce234bca9571b9ad7f859ae0c3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.45.0.tgz","fileCount":37,"integrity":"sha512-dcg6QStACIGX5EWu9Y5vq2pf5+w97ntIptmWjxbENnckIA+H0j4RRNeNVwdPxeEIDz3/fsiGF+Uzd3fkZw1MjQ==","signatures":[{"sig":"MEUCIQDIPhw5zX6Kn41a/To9OeLwiDzE8oCiNSLZkdp0N9NcIQIgbcsC5L9P9bi+0X6I9AWNATjs5+VdKPKCOTXgCGlsuzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.45.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25720026},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"02c637e3eaed6ff4b063bbcab4978ecbeed75180","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.45.0_1786222851371_0.8052731126820651","host":"s3://npm-registry-packages-npm-production"}},"1.46.0":{"name":"@threadbase-sh/streamer","version":"1.46.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.46.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5b04e31e40dde1178dc74eacd2eb37cd1cfee3e2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.46.0.tgz","fileCount":37,"integrity":"sha512-nKS8bOZyfn5CfhyPM35XWs5mpWws5tZNxStb6vRKMM6eHv/SDrjJS33BaH+gOu2B9WTPaZ9+Stc16+f00Ffuqg==","signatures":[{"sig":"MEQCID43IioPdYgUgH7gG28w+rhn2yPgHRg92Z/351zHx/F4AiArAL4W4N2FOiwRzzM9bqjQm2i43CYOwVojKdUB5fU3hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.46.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25742249},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"15f98acc43e2b7845998879457de6dbc0783e08a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.46.0_1786225662485_0.834358520865442","host":"s3://npm-registry-packages-npm-production"}},"1.46.1":{"name":"@threadbase-sh/streamer","version":"1.46.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.46.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7a2946dd846b729c7efd69d990749a4674ab17ac","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.46.1.tgz","fileCount":37,"integrity":"sha512-9o1s1zKwvr9wSHEuvs6/M1UAqlZqRGX8oHnucSif+7YaZPtqYfosLcnq38wEUw734KlKVqFbiUQcOs8cy7BHkw==","signatures":[{"sig":"MEQCIEGCa8PYcCu5Kk4ArnB0O6m1cD43rP0F+6THSbqkmZ8/AiBsn3wy/rSVLsVNfOktIQ0l2F4i2EAvN3t7V3ZM+kFT9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.46.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25759972},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6d0cc545fdf937788c933870a5b5cb7adb03e058","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.46.1_1786267352282_0.0535598746947179","host":"s3://npm-registry-packages-npm-production"}},"1.46.2":{"name":"@threadbase-sh/streamer","version":"1.46.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.46.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"fb33826926f12210756c5ed2dad46ec66fe65b27","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.46.2.tgz","fileCount":37,"integrity":"sha512-RwRiz1e/j5fBXHxawyfpT3tvOJPpTMgrWHsX4IEh4f+fYnHfhXZqx0lrV2ksK6X6Xzb9CYIRXHu02Izcl6MkIw==","signatures":[{"sig":"MEYCIQCBBJuGVo9lCbJ5PlJoPV4DLFHn94ObxHQt/A+LsKK2gwIhAO6W4pD5oQV79WFe4EYl/RLUWtqP1yynWLn/EBX/Rwxm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.46.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25759972},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"419746d441b639f88c05199991396584ee74c0c8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.46.2_1786293819708_0.9698165803675749","host":"s3://npm-registry-packages-npm-production"}},"1.47.0":{"name":"@threadbase-sh/streamer","version":"1.47.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.47.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0aa69cf8ac24397c26157d57ce7e321730d875ad","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.47.0.tgz","fileCount":42,"integrity":"sha512-xiAAb+/l8UNWdln9lQ+IZ2jrNALNiohQ84xYknxyqB6lh8DTfrn3IIfHQO6A0JsnxwXQOTqozjXrle5vew1Xfg==","signatures":[{"sig":"MEYCIQCl5JBaUWXgqv87cI9fcyRle2wG0Q3T2vom+l/BCHVyXQIhAKavPalkAato6amNu2II5C8BC4gO3HXsRT5+Vd2bUKyK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.47.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26080881},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f390d677d5ca2c2428b1cf88a471b83c980cfba9","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.47.0_1786305365542_0.6065686989034693","host":"s3://npm-registry-packages-npm-production"}},"1.47.1":{"name":"@threadbase-sh/streamer","version":"1.47.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.47.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3d184c2f38e15557d39c24ac3e6a12c966632b8e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.47.1.tgz","fileCount":42,"integrity":"sha512-AvIjYKpKYvubdzrBMQx3DTqk7BlZehrCkMlLPvU3NtEjqhh8nXxJK2mv25lH4Bsb2GhVbJ9NnegTEDiLDkdXPQ==","signatures":[{"sig":"MEUCIQDVDLIEa40YJE5f9nKkHo30DjN6DkKtOj72oggiRdtz/gIgZRIog498LLzvtRKfW4t63VZDXyT4or+E1tCi6xiCb2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.47.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26088287},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f2f63adf0d13f45cc9b81cb9310c9f64b808728f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.47.1_1786394367786_0.8076345581316535","host":"s3://npm-registry-packages-npm-production"}},"1.47.2":{"name":"@threadbase-sh/streamer","version":"1.47.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.47.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5dbf25df167a12cc396e4e745e0199e378a5ca05","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.47.2.tgz","fileCount":42,"integrity":"sha512-sRKwi1uTl8yIQT6acMvQie2YegQB6MSPlsTYX7w4G2UBKb39r54RJVuKlPalv+73LLGS7ABLzD6hqExME8Nizg==","signatures":[{"sig":"MEQCIBzBejgQLbehEpxukdUGtG62RYaMX2sfdipDa/Gxq059AiAR+YdmZmbgIyYF+TObUZ20uGJ9ryh4YbBlL2QOzEsU3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.47.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26092841},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8dbd76ed2cd4535b8ad894d0b485ae2e55e73c68","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:smoke":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"},"@threadbase-sh/scanner":{"better-sqlite3":"$better-sqlite3"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.47.2_1786426513339_0.387128142799952","host":"s3://npm-registry-packages-npm-production"}},"1.47.3":{"name":"@threadbase-sh/streamer","version":"1.47.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.47.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9c1f33947498f1a29af8f4ad283c0e1733d1b534","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.47.3.tgz","fileCount":42,"integrity":"sha512-qcTbbQGnIn0YLkljMZRKyLg1Qu/uWXMrgFwzZdJftOzHZ3W/+p2MS3lSxpni6Dexb678fEu9J2cF8O9AgwMMtA==","signatures":[{"sig":"MEYCIQCWgZTdyvK4Lb1wNmgb3ZW6wnh/vujXui4JLEhZGh+MGwIhAPHIeAFNOjfqR9STtSt4tIxQGrvoJzNR2TksNWKV5lFL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.47.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26092764},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c5e6af75ee65ac640a3550762ef16d8ad9e358cb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.3","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.47.3_1786439233942_0.977903580456065","host":"s3://npm-registry-packages-npm-production"}},"1.48.0":{"name":"@threadbase-sh/streamer","version":"1.48.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.48.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cbad91ae1deb22939050d74f3bb2e60b99f2c533","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.48.0.tgz","fileCount":42,"integrity":"sha512-QCLCiBJBVs3MyJ+NrBBy1OPWxhuNMJxDzLy26vH2VnZHRjy68RLCNEp2Z2HjsOuAmNGJTsCBnTqJVw61QufLnA==","signatures":[{"sig":"MEUCIQCMCdTkSHugN+gh5dPJGv5ibW5jKvyOQKMPm+fuOGT7TgIgTWCheX17ZuUYjeYIX4mqJgQ4XXw8KADHHsHh+9euZS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.48.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26163848},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0eb2c53645a06242146199111876147b5fd903e3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.3","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.48.0_1786463129319_0.26411285784943206","host":"s3://npm-registry-packages-npm-production"}},"1.49.0":{"name":"@threadbase-sh/streamer","version":"1.49.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.49.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"abab6f363ddefe57f4ac9127db16bf8a8c8bbb07","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.49.0.tgz","fileCount":42,"integrity":"sha512-XXq4Zhu+5l90qv3SG/UyCHU9l0jbHX0pkQ4dCw5rYQLjgTtjyLub/6EtAJ053nT/o6IcelZUjpLH1mMeR+7GuQ==","signatures":[{"sig":"MEUCIG6mx8QPsujsy1tGIuu25c1JOiLu3rcjw1GEFJecLBoCAiEAr/koEKfFgvvk/n0TLWKH2oYEZs7NX0PmLwkakFini5U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.49.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26179145},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ed99cbe84b1958614ac5c5a374813937704a661","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.49.0_1786648013843_0.8861738250814661","host":"s3://npm-registry-packages-npm-production"}},"1.50.0":{"name":"@threadbase-sh/streamer","version":"1.50.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.50.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"dc460344b16b79c295d9ec26c64efb43c0715067","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.50.0.tgz","fileCount":42,"integrity":"sha512-bCknNO8S4SjTSmex0944SSH6kjjDqViTMArc4NobFnibxWUxzsz0+wRCNDqtsCPkJCqOZ5hj5lKHzKTMW7NOfw==","signatures":[{"sig":"MEQCIAR2wZgSjZw7lxwRllZVm5juvUuyiYWmhzZMJw4ZUcGeAiBpEgjko4QO8ZjchFLPAfeoCB1Q1lMKylznhu+nC/a2Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.50.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26183432},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"afe39f75c0706f9eb724475b386330da92850dcf","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.50.0_1786654368075_0.23117029685570656","host":"s3://npm-registry-packages-npm-production"}},"1.51.0":{"name":"@threadbase-sh/streamer","version":"1.51.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.51.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0fe4df144714dbbda07f6e5e06c447a8db334ebb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.51.0.tgz","fileCount":42,"integrity":"sha512-l9c8g6rz0K63GUBwACBdE4FW5Nuup3+9dPo8XuOPEqtB16qp9ROPgFtCBrArJbHpJBbdqntVJRshbRpph7pFmA==","signatures":[{"sig":"MEUCIBchg867pBn//SFkD9rX5mOW0PI+Y/W+bhSMM6/YKLHKAiEA/ONWdrCfGYjVyxNTxJ1ndDOMhOGSpuiCTbir9XqNOCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.51.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26190307},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0dbb826a75f1af4aa51a5b166737e2297021a986","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.51.0_1786655511689_0.09182074076277691","host":"s3://npm-registry-packages-npm-production"}},"1.52.0":{"name":"@threadbase-sh/streamer","version":"1.52.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"182842727849e672cb3d2e47eb6ff2ae42a1b113","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.0.tgz","fileCount":42,"integrity":"sha512-gYE7A0lKGPhRmI3c0nZoxN+Zb7JerlipK/WZrJjRuoEgtxf69IoYeJD2wxkRRykezfFxVyQyJnBi1cTG7lm8gg==","signatures":[{"sig":"MEUCIA0QwzCiAklBYsgN3C4Gfet7fmrF4bGd86B/gBcI/hylAiEApbyyTtxaZxwvznc9zz5pDShQ1KrogGNpmIgFsFxO48o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26193410},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5a932921d29dc19c689c57a891418a31f30aca42","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.0_1786655979066_0.5946238480883215","host":"s3://npm-registry-packages-npm-production"}},"1.52.1":{"name":"@threadbase-sh/streamer","version":"1.52.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"246acd5fbb811c20bdceb196ad65f2e830c1bd08","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.1.tgz","fileCount":42,"integrity":"sha512-xShBig/2ABu5jwStqCIO92CkfDUrQfpdQQn2BAb669QAxa2qUVxiIGZjDtA/6ba/m9+OwyLQm0vsl4657YzEjA==","signatures":[{"sig":"MEQCID5J6KG1VtERf5aThrRdmDBXJ8RURWHEGxDyADzPuchpAiAPIUbl2ClQE1jqfhRIF1SudYx2Xr3fxlzNJKAl3Q3exQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26411454},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7720b935029bd364cbefd9af77a6d123705b75a7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.1_1786695725639_0.17168460401828867","host":"s3://npm-registry-packages-npm-production"}},"1.52.2":{"name":"@threadbase-sh/streamer","version":"1.52.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7e638468a1d66115f4e428fbb9a247feff9b9fc0","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.2.tgz","fileCount":42,"integrity":"sha512-am0B3UFKKg8efMDQIo1vARaTAVTZJ3DYHdw1y3TW4EL119H13KuPq3b/x3kNIUjHHwE2CEfvgPy/M4wdZE0Ipg==","signatures":[{"sig":"MEYCIQCqGbKq7kU/hTYCVYbM17LAndt9UdcMIq/gSMW967wq3gIhAOQx3HlcAj9j01sSsRqUglMdnsnw518zBL5hf+PYXjgc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26411476},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a792ad3e2bc0259184ee3ac871f2d76d34f93176","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.2_1786702819318_0.36307140585579356","host":"s3://npm-registry-packages-npm-production"}},"1.52.3":{"name":"@threadbase-sh/streamer","version":"1.52.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"fa12e2cdc1a597bcba84c16cfd40aea791785f64","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.3.tgz","fileCount":42,"integrity":"sha512-f5fh/tU1JWQ9z57w8NMXzH0Mf29hCz78R9g2KUB+1FwuantK+uGa1h0W9xwgtC3K9Y/LNZHsYqhhOC7yr9JLlQ==","signatures":[{"sig":"MEYCIQDS22OzDc6ZrchAnTS1mQXPoeK16Tiql08kjkEWW1tB+AIhAJPaaTA96WPTj/IOjcTap1FdD+tjMpUy81+KTaJ6DjKq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26415211},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"126a75e50b8f1e0e403cfba1fee8a1a886ae36aa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.3_1786703134944_0.37631828401731493","host":"s3://npm-registry-packages-npm-production"}},"1.52.4":{"name":"@threadbase-sh/streamer","version":"1.52.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"400d1fe4f2d3282a4b2a1646ada186c767b492e8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.4.tgz","fileCount":42,"integrity":"sha512-pYeaBVClcQfzTk6+oQRfzYmndcBSc8pfBm08mYqN8QIutoc++FeeAFbpuDfTnEEYhszWqO2ldWzpEvq//wx7yw==","signatures":[{"sig":"MEUCIQDaTrGVIczFTmxBXR8LquC+sNVdES4lM4/S1YKv1GRWcwIgS9Nk6T/nP1nERs9dEd+dqumEPdfgZSQW32RSDu0xiRs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26443422},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c724ff1a8c9c052bc9baa85898309086e1ef42b6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.4_1786712575165_0.8173866311305866","host":"s3://npm-registry-packages-npm-production"}},"1.52.5":{"name":"@threadbase-sh/streamer","version":"1.52.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6ad8ab188ecbc1996592c8705e268adcf24beca0","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.5.tgz","fileCount":42,"integrity":"sha512-N7jaKeLbT1YECrUMXSK3AdSFVutWs03g1KH+bdlHE36ezlk/eKWFnrW4nxDX65+MMUVKFzEShgMjdInRvHcG1w==","signatures":[{"sig":"MEQCIB3eNjVL7hUkKIRReNLZ21DfgtEDIjiy1NSPSUJozGZSAiBVpeVzoPH4FXrE8NAS4F9/AfzGMqRibpvvoECoSeT0Yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26460230},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b10a505ca557262f69841f89ef6d358af942be08","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.5_1786713315577_0.6590941385238545","host":"s3://npm-registry-packages-npm-production"}},"1.52.6":{"name":"@threadbase-sh/streamer","version":"1.52.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.52.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"01b052aad4568abfc7c076299df6686a9c7f5e39","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.52.6.tgz","fileCount":43,"integrity":"sha512-4f9WiUvE6YJ8EkC6Dt/Bz/IpYUZegxlQRalaVozWQxSZwoKcK1vFz9uCwgqMLLd/V9N/eca+561dMHfKwr32dQ==","signatures":[{"sig":"MEUCIQDhZ0H7CEGiNz6O4Z+L+aTy8gv8CvPz1OygHQqBkn0vSwIgTY+8qqxtcvWorKYp9hWDC6FWQJfbUE+wnXXPDIXiGgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.52.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26553165},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"df59e1fa9eadd12d169a40c198c91e10186622c3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.52.6_1786732712184_0.39750933501759556","host":"s3://npm-registry-packages-npm-production"}},"1.53.0":{"name":"@threadbase-sh/streamer","version":"1.53.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.53.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"24a3aecb94927605f173a7d20ee77a41dc97f223","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.53.0.tgz","fileCount":43,"integrity":"sha512-AgfxLK37w8I83oCgUwyEZDNu4eaYQ+YgHIV0zvFJiuQpn6aq6c6bBirskcE+e3k7lyVanbzCgrOcS7Njj+yR3A==","signatures":[{"sig":"MEQCIHZKJuIUVRpYaxBtXUg/bAlUSE2G48yO1tAULInfHfA3AiAkfN4jcJzCl53VsqrKZ7ARdSxuI0CH6luQBKZsTc+LtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.53.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26558534},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a283d1ccaa2cce01ead0d2cde099fcb53873a996","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.53.0_1786738341865_0.8997347473838551","host":"s3://npm-registry-packages-npm-production"}},"1.53.1":{"name":"@threadbase-sh/streamer","version":"1.53.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.53.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"87e247e5d9a7145f6ba49ef1e0f169dd37626de6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.53.1.tgz","fileCount":43,"integrity":"sha512-hPYa57j6qgP8LskazAuIPIMalhHrVDp5NoRPhn5bDeojbMfi3kHWIPRaRHcq0eBrqBmN6SEqngr22vqjQHbOog==","signatures":[{"sig":"MEYCIQDX5PCh3WqzKjfWsrn+NPeKs1v3FfbVtYp4j+/3d7tFRAIhAPHbDHl/KX9BTrz/kxDqThQ7w1Gw9/Gxp3XZfPZZjqKH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.53.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26561096},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9b33c615827b610ea7ac6dfda4e87cfae1cc2375","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.53.1_1786741488996_0.27717021050943647","host":"s3://npm-registry-packages-npm-production"}},"1.54.0":{"name":"@threadbase-sh/streamer","version":"1.54.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.54.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b44f06c0d2a6475e483f1595d819086b2d7b3fd3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.54.0.tgz","fileCount":43,"integrity":"sha512-PG+9YDwEl8R4ZWWjKln8MLsnax9PcUAOXcbePXwGc6ODLGo5Au63XK7t1MFLajx4+/Nhiii9EeOUInWvWBGT/A==","signatures":[{"sig":"MEUCIQDTJXWJA4v2omnc/RIajFnqnoOq4lBSZiqMaZGSm8cXwwIgNaBXp06NZkDQrYLjDChv9+AhxIkAjtutpCvzgwoHpK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.54.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26644055},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"106cec6da50b92022e3eaf1fc788d26b17ebe394","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.54.0_1786742697703_0.10191274971603592","host":"s3://npm-registry-packages-npm-production"}},"1.54.1":{"name":"@threadbase-sh/streamer","version":"1.54.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.54.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4bcf5ada37d98ac0da31e62a5086be1b34718885","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.54.1.tgz","fileCount":43,"integrity":"sha512-k7e9lAICvSNTwVz2yMDTUu4Q0mCWH9wk8jgNH9bjYECLltqDYnEU4g5PCVBWMabH1eglbrpXlEtPfKnMYyIbcg==","signatures":[{"sig":"MEUCIEzSmABglUujh3fi+v1dx6+H66x2pG6v1/I8/qw4Qcr0AiEAl/UAeqMEqYz71S3wkmEtXmRzn7PrhZwyKu8sL4P310s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.54.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26645901},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8a5437ce0941c982f6210ca0c732e94ae2a08397","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.54.1_1786743731368_0.08880318325796321","host":"s3://npm-registry-packages-npm-production"}},"1.54.2":{"name":"@threadbase-sh/streamer","version":"1.54.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.54.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ec4864cb538a4ce81720b8f95820c245869543ba","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.54.2.tgz","fileCount":43,"integrity":"sha512-MY+fME+/gHYHFBu8zxUgKSlDyyEuybCCa/Y1Rj5SbSjciastBU0nJQcoIF/RGqdBc3OKUhHHbsNQxofYgHxwNg==","signatures":[{"sig":"MEUCIQDuo8gSiN/mnIPUUsVaF5KCrxVNmijoZwc3l2iAlZNa3AIgJFZor580by+kf0mQorFjNV4j3hksbO+H84JKOZaias0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.54.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26645901},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"20000a791ad5c58a1bfaa452d53ec24165f770c9","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.54.2_1786744944568_0.16279756698324732","host":"s3://npm-registry-packages-npm-production"}},"1.55.0":{"name":"@threadbase-sh/streamer","version":"1.55.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.55.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3473a593258eee30db703f8eb22b6d66398dc2a3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.55.0.tgz","fileCount":43,"integrity":"sha512-q5XRSGv3LGO527JevoTm61+EYVfh2coweymWuh9J9Yxx6uG0wHSqOYQN/KdHdva8gjqEsRfk/i4LSmh9UN/8iQ==","signatures":[{"sig":"MEUCIFWupsTVveY9hMRaICw/GazEd+/TOCwxi8AAZj7leaIuAiEAzxing8RPr+Q1iFVj9z+oDWT1RdgiKA4ceeD9qPToDrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.55.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26686149},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5fe19d57f0bc9ad4cbbe4ed807734dcd004ef367","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.55.0_1786748254795_0.12043287940216785","host":"s3://npm-registry-packages-npm-production"}},"1.55.1":{"name":"@threadbase-sh/streamer","version":"1.55.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.55.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5ce7691ea960837a37a6d0728b889abf5975d0ff","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.55.1.tgz","fileCount":43,"integrity":"sha512-or1bFr1Kgt6uYRV4+iMifmtCwf1pBY4ALdBCXAFWyclzVt0HuMD0ZT3r+m9mViSuWnIBovn7iMtiwBXCZJ1C5Q==","signatures":[{"sig":"MEUCIEWDrNrd430majj7A2pRUfGkehU3oDSXLtCJqwssWNTUAiEA1Y3sIn47ZvdrMd8ivyPGeIJ2vRTAf0PUXAVSa9jjEXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.55.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26695455},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3064af7b1e0943024e215c5c8156daee8118d566","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.55.1_1786772763921_0.44571263853019194","host":"s3://npm-registry-packages-npm-production"}},"1.55.2":{"name":"@threadbase-sh/streamer","version":"1.55.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.55.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"16e72ca4370e4759a4e9a2ee4ffbff9335612501","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.55.2.tgz","fileCount":43,"integrity":"sha512-tdDTadoHx03kpRGjNxIXHXMwzfBY9qELIi/wvqYnNPPa2qEpBu0lC+f8USGwrDcvAYoWmQhxxOjUgle3JbiMJw==","signatures":[{"sig":"MEYCIQDWW2QunqN7Xxnbupo0o850kNZVENeSYFdgEFeOvTT0PwIhAN+Kbhezak3hGcB1+FFr2k4RtpLy99fYTFilZEjG0lGL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.55.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26700375},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e99eb2e4082925efaa676e86647b519ed0855dd7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.55.2_1786779207268_0.15039225322647876","host":"s3://npm-registry-packages-npm-production"}},"1.55.3":{"name":"@threadbase-sh/streamer","version":"1.55.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.55.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3f9a6d1f242aa36c195ede14d110d91ca0f525cf","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.55.3.tgz","fileCount":43,"integrity":"sha512-Rn2S/TL6FUzTPzT2xomAXl29k76P3Z8GjZ7Vmiyce59AyYXQdHd/u14FbmO37rzRpALuAydLnDCOBI4cv6nvPA==","signatures":[{"sig":"MEYCIQCu0I82+rPXFrl9CzOLha+2VXe3IRCVG9Tt3b1Brt2BigIhAKl2IeWys+rRRF5D4P8tXOorl+lW8EDsKsAFznR2ZomF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.55.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26730230},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4b740ae036e9704170966f476b1bd14301108a42","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.55.3_1786788095049_0.30016891110201205","host":"s3://npm-registry-packages-npm-production"}},"1.55.4":{"name":"@threadbase-sh/streamer","version":"1.55.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.55.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3281a9927d9fc97fef7a5a8ff7c8f9232b1c4da2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.55.4.tgz","fileCount":43,"integrity":"sha512-Twg1Y5lYu+9Q22rYrAqwD64GWLLwiOJPIIGZBqSSO2RfgXNdezTFa8tDAYwk9FlTJIi8DXOc0dx/oQXxf8BGlA==","signatures":[{"sig":"MEUCIBOKINsVu3z93jqYCdo9izEd8GoDiEMY+G9vDO3Ow2mzAiEA0zJ8WKSjNWxndQHLIrOJ9Vb1VmNe3+tRR550ePp7kI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.55.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26733050},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a6552ab019efc83e67810e5cba058ab32c52adeb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.55.4_1786807710018_0.6873503646070711","host":"s3://npm-registry-packages-npm-production"}},"1.56.0":{"name":"@threadbase-sh/streamer","version":"1.56.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.56.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a412e40abfb1013098c3723b482cafbb4cf1711c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.56.0.tgz","fileCount":43,"integrity":"sha512-AOf2egq9TbWmdJw563B1BsmsIrwuCFx5YUlfNb/0L2i+SR6vJVbgg32Ega7pjPIWcNvdYqCwz/o+8qAxXKwzPA==","signatures":[{"sig":"MEUCIQCnVoxpJAFAUAm3o/voWDsFzTOVm5zNjMZnWB1jxDK5UwIgG2+F3TAvZ4HCo2DAW0jcV8UscZ08sPYiDe4Ic6zPX/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.56.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26749688},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e5343f8d6cd4d569884e7fb7f3bc1fc9f4c9c650","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.56.0_1786809921215_0.6753340326366326","host":"s3://npm-registry-packages-npm-production"}},"1.57.0":{"name":"@threadbase-sh/streamer","version":"1.57.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.57.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"77c5958caf92aa3adcb4aeb2bc8631875711443a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.57.0.tgz","fileCount":43,"integrity":"sha512-AMBHpf0NL+cJRc6ZseZet16as0jSVn0fSgkWTKrX3tNvMmoHItly2eWwvaNzXzCn1xSpzmzz1yvXeRlpJxQZQg==","signatures":[{"sig":"MEYCIQDCvsLRZ+3FFwrINoOFY/BVIQvDGPuuxyAkA/z5yKpLCwIhAMa8VOZ7CtVQeXBWSsCZGfIuDT/DnNxkbW7bgF0/SZfv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.57.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26763000},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9a4802d61edab3b807e49c4e17e69f290d867e0e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.57.0_1786810105854_0.9993960644259521","host":"s3://npm-registry-packages-npm-production"}},"1.58.0":{"name":"@threadbase-sh/streamer","version":"1.58.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.58.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"066b217d35615f043103310d27ecd4df96e31891","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.58.0.tgz","fileCount":44,"integrity":"sha512-YW5MwPGffV7c70iAffWNT7UfUhzBUDyLkuWlkiO1mMThud/z3vtiRSMwKYBPw+igd5yyB95RDW92krCMkaycyA==","signatures":[{"sig":"MEYCIQDriiDj0HYSlhOLVVPS5x5S035Geryz+qU8A1FwyTe8KgIhANyhwPIjdW/JOx0TJUwLCosSne2DCzUGaOs7eag515zy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.58.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26789456},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"54abc795ad47fdd1ab4bb023b44a7fce1e48d55b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.58.0_1786811113747_0.7496377998003221","host":"s3://npm-registry-packages-npm-production"}},"1.58.1":{"name":"@threadbase-sh/streamer","version":"1.58.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.58.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"68e7039cb2fa3804a2184ef0b2fe73fdf1020cd3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.58.1.tgz","fileCount":44,"integrity":"sha512-0GVHwQtQNweIXwbDPS+x7GzO20k6ioEild8LfGrDLbAkL8/aWv0koQ/bjSXQfqu+SXA3kvwXCjatze1H/D705w==","signatures":[{"sig":"MEQCIHfndDoU2GtQ1LgCvE9la13xLyE5VHP8TrYhui2AT7BQAiBK8+e+44ZoIZrNH/J1Q0su5TiX+2wyJVg7nS5fR7dNuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.58.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26806447},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"933545b73d3c488ea284b7793c1a645dbef13690","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.58.1_1786815150609_0.058728068371464826","host":"s3://npm-registry-packages-npm-production"}},"1.58.2":{"name":"@threadbase-sh/streamer","version":"1.58.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.58.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f20d62a63c3571f687110492989fd8ddce4b6e03","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.58.2.tgz","fileCount":44,"integrity":"sha512-GuKl9nH7R7Cy56lGC4pldAjp0Q3VoQQfEVRf+SiVj/0OqMnOKGLCseq0QT30Vy9kyX+YvW4U3qZ5D+dggKj36w==","signatures":[{"sig":"MEUCIQDS1rZcyt8rZyOVdhTGpdB9jAeVkQiw5xoSrlgDdqVkYQIgbp0tIjuvidH/WIp9xXtfJaOwpzqcdYbFmV+D0jXyeQ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.58.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26870701},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a40cc27b50b4aa1950717b040239c1d911cc54e0","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.58.2_1786824488004_0.7044653627069664","host":"s3://npm-registry-packages-npm-production"}},"1.58.3":{"name":"@threadbase-sh/streamer","version":"1.58.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.58.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"041221a32118647ed548e0e99a6d1bb2e96f186e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.58.3.tgz","fileCount":44,"integrity":"sha512-pgAgYmf5kqEYJeFjbqGdH2vBec0sT1x4jbm96XIupRLbwk82ulNDDYo+ZBdN1hQZlEumbHbGn4SKadpBjmgMbw==","signatures":[{"sig":"MEYCIQDKkVBRCDwDFk3AykHkZTqu+YtAcX0mMDDbYYcW7yh/FgIhALLe5fWmEiO2JWQMb+VRSQIJ6XjkmTiWQpu4WoUu/TT7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.58.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":26878465},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0cc33bdec1b6cf23197953682bf81fcbdb317f69","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.58.3_1786826708466_0.4006902372725314","host":"s3://npm-registry-packages-npm-production"}},"1.59.0":{"name":"@threadbase-sh/streamer","version":"1.59.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.59.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d679d6eb82bc68c66815cf7663b54943899f8bbd","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.59.0.tgz","fileCount":44,"integrity":"sha512-KEuo2uiycuhVAs8s1NfOeAGythPNTLNqZde/azNT1oSWI3498JcUL+HTNN5s0KEzwgqGnz79pL6sX9ct0OVUKQ==","signatures":[{"sig":"MEUCIQCRBiSZSVKUdL0jX+Lodys5QftCquQEcWM548G12iSHlwIgbuQ7zECDvKnSW7YyIlXf/Ara+xxvCfHyXfFxlbhA/CE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.59.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27037858},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b99c464a6e3cc27357e767f1637d638071349be2","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.59.0_1786830004003_0.008423642024958822","host":"s3://npm-registry-packages-npm-production"}},"1.59.1":{"name":"@threadbase-sh/streamer","version":"1.59.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.59.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ecfd7384f03062bd069e480a3afcdf3167570064","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.59.1.tgz","fileCount":45,"integrity":"sha512-NRycyp5u7KuonkOhSLfBGfQCknc0oY+wP9gZANyN7SOQuK0DoxpQhr6SE+TEU/pS8l1ySXqpktXSoJp6xlmhdg==","signatures":[{"sig":"MEYCIQCukVzMm3eBYdLFq3Xao2A/wlvlVbgfnFpmsp9UWlyKjwIhALKQq9XQl1xYLeK0LPUC7Npa8Cuwp/aX5kDGp/Fp11RB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.59.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27046316},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d59c091a322be400b3ca14068ac3072c2bd03451","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.59.1_1786867647976_0.5707294616695979","host":"s3://npm-registry-packages-npm-production"}},"1.60.0":{"name":"@threadbase-sh/streamer","version":"1.60.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.60.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"bf223b229c7f72359926951294e9d2573a141377","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.60.0.tgz","fileCount":45,"integrity":"sha512-chhkYjM6RMhS3KhC6R1JH9MyByIpUaZqzQlgupUV2u2lwaRaW4x9wPUez+km2tONjPVbgBDfWAQcpGfFFD6uOg==","signatures":[{"sig":"MEYCIQDb9dAfR1TABUUq2CAXoyb5+5SRTQpCZdZpGRVAs5AktwIhANkpFmbFC6owQlRcr95i+WvDzqevqq9q4MXbDaYf0Jgr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.60.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27046351},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7e56d2edc1977503b03356ffe7a58f98096ccda4","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.60.0_1786869059540_0.09902337782056314","host":"s3://npm-registry-packages-npm-production"}},"1.61.0":{"name":"@threadbase-sh/streamer","version":"1.61.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.61.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"622848ea647287e127ee13f7ee6ac938a30b6830","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.61.0.tgz","fileCount":45,"integrity":"sha512-u8CTw9RW6rjwAYXdf+XvMeKZfdCkWyBpwtgcDKpigA7W1eJEMDZ29QsRwVMtPkUA+sxLt8KwS1imts4NEFv+hw==","signatures":[{"sig":"MEYCIQDu8ExJOxQmOuT9MsGNaP+mup8sYUzg4YCVR8jAARepVQIhAL2Fmh9S2zMp0knBNbgu3gAAWDDo+WthR39HFm1rMatA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.61.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27056940},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"60be636e1e470324d03d1c10472ee776d34c42da","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.12.4","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.61.0_1786870374997_0.3197235395384732","host":"s3://npm-registry-packages-npm-production"}},"1.61.1":{"name":"@threadbase-sh/streamer","version":"1.61.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.61.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6614fb0a05f4b7874bc808d01eda30d38a41fb65","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.61.1.tgz","fileCount":45,"integrity":"sha512-8vprdDhRGkE49/hzURVnmsWgBlgoecxkmshzpK/3oos75AJdqYaQcbRiAeRSouyknkrdGGhB8vvZwkjTg+Mm2Q==","signatures":[{"sig":"MEUCIE9mwcetLm7FpCX9iz56yBGcQeTNu1C3YSw50tkLg4YlAiEAxJy/g+VdK2nNHyeEQivcBIPIVNpLKbRwGIsZYqKP8eM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.61.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27114885},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=20 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"06e434cdfc9bbc28aeb4e03cc652e252ea926eb3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^12.9.0","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.13.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^10.0.1","@types/better-sqlite3":"^7.6.13","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.61.1_1786910454829_0.5751329728690631","host":"s3://npm-registry-packages-npm-production"}},"1.61.2":{"name":"@threadbase-sh/streamer","version":"1.61.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.61.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ae5b987283ab387cd775591f33c2d63bf0371254","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.61.2.tgz","fileCount":45,"integrity":"sha512-LRSXShOtjhhFEM86Sq2qv2bo5jm5fm5EeKHY0X8NmYynMIgLFlwHXGLvGi9kveMlHvlh921qbKY5DUf9pWtw6Q==","signatures":[{"sig":"MEQCIFWVhM0PyMg+dQcR1FVxk7GQ/LkvildX5kXJW+jcPSvaAiBaR4YBUS/roy5WRCDb2brRhN/eSMIhEw9FICsQlCsyXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.61.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27148704},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2cf660ae0fb1db4eb1a84e392dd2c9599df6e167","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.61.2_1786994819186_0.6334495466793126","host":"s3://npm-registry-packages-npm-production"}},"1.62.0":{"name":"@threadbase-sh/streamer","version":"1.62.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.62.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e84169a70146f1a45ca20796baf82ddfa198d5ff","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.62.0.tgz","fileCount":45,"integrity":"sha512-3QBYBp5tFapdHjpASnb6O4KNI0gvM8dY0f5hS2Q5DOznZBHA2GbOay+BEVgQ43HRLCpE2ElHqX8NDvYADRfbiQ==","signatures":[{"sig":"MEUCIBGLWs1FR/qYsxAbx2rDQMchgYT9DZd1dLpRWf64WkWAAiEA4iP1F9x9oQk6HgvqwBLNmYI4vefnaKx48xRoLmJhbls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.62.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27149918},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a45b8558a90763e6a4140a0e0f01368b99818a9c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.62.0_1787048111451_0.43816930490450723","host":"s3://npm-registry-packages-npm-production"}},"1.63.0":{"name":"@threadbase-sh/streamer","version":"1.63.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.63.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6eaac53b927aa3a5c748003ebdc27579478febc6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.63.0.tgz","fileCount":45,"integrity":"sha512-nlaMrkXhrtu4S9KPibvAgT+K/wPoN0/uC9AuJMMmomx6QFHh1iAttIPluXRe2gToSr4l4fH1OWFwTfaZfr7z8A==","signatures":[{"sig":"MEUCIQCnMGRdD31Pw2ix8DBbXjpcanVuDO+svI5+f2f/XXf0RgIgbWfnR/RYFX6qJHSq+fiA9IUWDkSpoKZPPD2s7hSi8OY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.63.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27196188},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d1ce7708f657593703d0ecbbbf3162af69c62322","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true,"better-sqlite3":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^6.0.3","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.63.0_1787084183936_0.408413046354253","host":"s3://npm-registry-packages-npm-production"}},"1.64.0":{"name":"@threadbase-sh/streamer","version":"1.64.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.64.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"66c377481df3203f2d5101b2b5bcf692e2c5a63f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.64.0.tgz","fileCount":335,"integrity":"sha512-MNOEWGtxSjk13WLujZlLRLI2O67n2dfAkoKaRVSdnPVBH0redpch2ZXs/P+Myfq9eaY7TldS+GxowhjZReGbkQ==","signatures":[{"sig":"MEUCIQDwZfc+HKLL7OufFzdrgev0d8w9mFXbBlB6MKwW/2yh2QIgO5UDoFUzkM2e6MnSSj+5BeqvUNMFyT+ihEgVbGWou4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.64.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27482155},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2aa4672ed064b44ea21dc0b4fec7cb16b010a17c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.64.0_1787187809281_0.31641477430284426","host":"s3://npm-registry-packages-npm-production"}},"1.65.0":{"name":"@threadbase-sh/streamer","version":"1.65.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.65.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4ace40f947dfed30fa21cae800a198edacdff014","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.65.0.tgz","fileCount":335,"integrity":"sha512-ZP7HbwoUOQxJJVLw+bF5zZN3xQbt3lhXt27Xw4Rtgt8oVusfk6aGOiIpuJFUnJRiuIzUH9cEwHLVKX/Aq+1SKw==","signatures":[{"sig":"MEYCIQDKkSvePaLPgBezAs+1hQ8w4cksTDmz34fAeHlxt/ILYwIhAJx9FuVuIjKWGhhVdfoFaYdjjp8wYlO124kF/MgACjo2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.65.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27516115},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"790d4f342cfc416dee885f34e120165d5d2ee9c3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.65.0_1787213922715_0.4172697500329694","host":"s3://npm-registry-packages-npm-production"}},"1.66.0":{"name":"@threadbase-sh/streamer","version":"1.66.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.66.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9efb21a01f5d55594c9b8bbddab2bd5e2b6da48e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.66.0.tgz","fileCount":337,"integrity":"sha512-70kkiZ/yzCOGL4oP+2qoW9HwMu/LwWhB/qdMa6YzhWhaOEWesLsXl1EbtkAiZBP5QEHdkn2PwB4hRAVKKXE+fw==","signatures":[{"sig":"MEUCIDpEx+brSsp7B2ngS85dfMbhJV9EZUfeeW4+a0oZJOAxAiEAxkLhYYvVxiC02jFkva3VR3NNmBCDZrG61+KJ3hHVW+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.66.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27597984},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"01e8b2f63b2cfb5f7765e6d699b149688c91217b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.66.0_1787215151612_0.22888247819302387","host":"s3://npm-registry-packages-npm-production"}},"1.67.0":{"name":"@threadbase-sh/streamer","version":"1.67.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.67.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ad85cabdd5f09bd364d42ce8e9889d87a16845df","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.67.0.tgz","fileCount":337,"integrity":"sha512-pitNtq8unpEyrIlqPQcrvLFtm+3j3hGnDVVy/Ifqd7fMYeBTir2TjvVlDflclQK7C1H0s6cLQ/BS8HVgaLnq/Q==","signatures":[{"sig":"MEQCIFii0q4rGwYBmAJMj1Okhj7MjepLeewB9woqQD9MS0j8AiBfqAkJ2nUbVYjgSE9qG/2Rqti72LUnrEFjbuRIeV/Hdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.67.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27603339},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"669c611124f9f2bd7e2e23ab74e451d20e79bed9","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.67.0_1787216028259_0.06421562969655392","host":"s3://npm-registry-packages-npm-production"}},"1.67.1":{"name":"@threadbase-sh/streamer","version":"1.67.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.67.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"eebfe34dbb17fdab2c0723914d1a56443aca1b8f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.67.1.tgz","fileCount":337,"integrity":"sha512-RfGdTjDamGWLZ8aJGizvo1GTiKiJxxzalkRbwMy/+sjrDxd7Tw0UjfappkoMmPOYS+ey5xebXiEooVs/BHVgng==","signatures":[{"sig":"MEYCIQDRLmwhAC0l3/0tseBgAA/pWDHYJYo0eLkv0tfft7rgvgIhAK065PyEag0RlELvLLLShwPdQenLpc2TeMbiZmg+Cmu/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.67.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27628035},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f7bc521943a46b84b161e80eb42265191b1fcff4","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.67.1_1787244271066_0.2525418315884447","host":"s3://npm-registry-packages-npm-production"}},"1.67.2":{"name":"@threadbase-sh/streamer","version":"1.67.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.67.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"eafd6a520977c245ebc784352b99d1e23e4fc05e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.67.2.tgz","fileCount":337,"integrity":"sha512-r02nodVS/JtVgn+oJAdgpW36G6+5Xmh86KB6x950kZk2s+1vgBGAqz4390wdT9sgQBf84lciFgTB+bA6RA0FZA==","signatures":[{"sig":"MEUCIQDQR4P7Wldeocz8g0s9KV7Rk1nQ/iMUyuFqjL9MCi7rugIgJFIb60QU0GlGGXCozlE/LzWIVQj6M8m8yO0IycE1aIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.67.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27631938},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"620da8db5a3b375f025efe13317530bf1b70e9ba","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check .","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.67.2_1787244718007_0.91558655508108","host":"s3://npm-registry-packages-npm-production"}},"1.67.3":{"name":"@threadbase-sh/streamer","version":"1.67.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.67.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d499bdc688ca1a58fdc562b092a010ee91560fb7","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.67.3.tgz","fileCount":337,"integrity":"sha512-tgGOM2NGLlDHyJhRH9EB5lSNXdPnBRUMiOmS6M086AN3QoW6R2leYWLHXPWGk0449W+grnxxQKdwhcrY2MpnPw==","signatures":[{"sig":"MEUCICrFStJ/AkUxT4YWzBZETgVo3g4VE4u5aGKYwvlgSCeXAiEA7cRs3xyJXbhDU6drSnVjBpzsrBSN/817oQNvz9mIzTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.67.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27631983},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"33d5cd9a21443a0739247e81df8f2518129e5a5f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.67.3_1787252381511_0.34233123741543015","host":"s3://npm-registry-packages-npm-production"}},"1.67.4":{"name":"@threadbase-sh/streamer","version":"1.67.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.67.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"94eec9aeaf02064680a54ae76428d29a5a25bf26","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.67.4.tgz","fileCount":339,"integrity":"sha512-LdlcG9LfhgBFyf5xCf6g+UbnRbwI/SuBtYkzsuJKTFvScm5qEpTB5sdOSwxzRY7zUsZ1JHwk5tomOP1ryVJv2Q==","signatures":[{"sig":"MEYCIQCGHmp/R/5yJHfDKgSWh2Vg6RsjKp5PqRJHWbfvZfRU8gIhAIxZwEcUCq8hXPlD41MKCi7RUwA3H10Urthj31qUukr4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.67.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27649344},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5379f23fa7833f393bcf668771a765221dfa3044","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.67.4_1787289947044_0.023953750679150065","host":"s3://npm-registry-packages-npm-production"}},"1.68.0":{"name":"@threadbase-sh/streamer","version":"1.68.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.68.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b80e1097e817b2bf6ca28ab12ed9927edcadc72a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.68.0.tgz","fileCount":339,"integrity":"sha512-8vKHpS+mAiPQKhVSCQj4OFAPzq0JZejRxrZa0/U2PxSgOQuZ0ZGjGP7FIFi34D+Qlvoqk5wnSUyxHSvvOVUDcg==","signatures":[{"sig":"MEYCIQCcrF/YTDnBduaFPngycPDIfXE6ax2G0KgVWKiPV7G7cgIhAIOmVCXdMIT1n3ZcbWpVnIAMdc/7oZCkB7yiSoJZQrG3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.68.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27692439},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"37aca491c4f7614eedc57b689bb2b35c13f780c8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.68.0_1787290900985_0.9542310976218566","host":"s3://npm-registry-packages-npm-production"}},"1.68.1":{"name":"@threadbase-sh/streamer","version":"1.68.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.68.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c619916c26bf98d21ed3f19944f0216cd4481244","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.68.1.tgz","fileCount":339,"integrity":"sha512-m3FYzvx4jybC0i9AGYi5TapJcwQFc5LXErtcU+YLmu8lsWFBusyMk3tDWAZzDEd5XOrT2LcU16GHjhL7WvuQXw==","signatures":[{"sig":"MEYCIQCj9kVg/WZt44aShXH3damYtm8NFtU9NsNk6rlyGEPKuwIhAI6nJBYxxBzvrpNbMS1Ws8sjNBfoIs6Cahoxernx9hq2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.68.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27692439},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c6fd44067197155ba272be208ba8f3a3edd32daf","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.68.1_1787347654161_0.8860807658209622","host":"s3://npm-registry-packages-npm-production"}},"1.69.0":{"name":"@threadbase-sh/streamer","version":"1.69.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6e6d8e66555cfe45a6261a6488180fa7e9d07463","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.0.tgz","fileCount":339,"integrity":"sha512-8tpuXYrvuN6yhxHBEv5Y7UNa/eYWiPALsJadvCrXzU2shTf8HEEcf8dtgqZVv4sO0t2iLaSY1ydiFew4N+le6A==","signatures":[{"sig":"MEUCIQDVXbpPCBadVfJ/j92BnwkglW4kkrByOvC740tv3v0tUwIgMEYH2nH7VjhjPMKnWNGLNBk1OU6M8c2Gor9/to7PVqE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27693096},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"36c79037e05b4e29cbff8fac04a26e2e774015ce","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.0_1787494033977_0.7864696218458758","host":"s3://npm-registry-packages-npm-production"}},"1.69.1":{"name":"@threadbase-sh/streamer","version":"1.69.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3b2f77f0bdc93e95cb1c2047ec4dc4e995128568","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.1.tgz","fileCount":339,"integrity":"sha512-C/+W1TJEGXvZ83BSf8rkvRjU3M8sJ0CfyRYRSKAZ+4q16G+DRxqmvMWx7dWX7VS6TVxoCyI00l/9jtetmyMfoQ==","signatures":[{"sig":"MEUCIQCEYY8mZHwCN2hy/NVswZPiytdpNQA6ZXwhbY9JsNS7WwIgB0mdbzzKkpAxtvqK1TTHJ74Tps3ddfXsdDBbPc8pvhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27694344},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fd995632e5c9c7d56b29a4c5d677501e5610520f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.1_1787508025299_0.46734713498904523","host":"s3://npm-registry-packages-npm-production"}},"1.69.2":{"name":"@threadbase-sh/streamer","version":"1.69.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"557bfcd19acef4aa6e1669698aae2a4aaa9c11d3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.2.tgz","fileCount":339,"integrity":"sha512-osZsF8+YlTIMuid6wEm4JFT7lpG5/HuKtL4h3pIl8a3Bl5HjcFWB1gEC4kzFUIwAJo9bY9cGn1pTqlyuTRUCuw==","signatures":[{"sig":"MEQCIBj/JnZbf8e88DfZG51c783V3dgUFNpOB2ZaNC/T/L+/AiBht7We7x6XSmhWE2C9YWctmqBta7y9Bxk2AIHjG8r0Pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27701224},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6041a463f5a915f1dc8721c9b5aeb7442af6c000","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.2_1787633496333_0.39071159686949075","host":"s3://npm-registry-packages-npm-production"}},"1.69.3":{"name":"@threadbase-sh/streamer","version":"1.69.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"29432bb0873c762ce48b5c7bb1beccc3b08ce608","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.3.tgz","fileCount":339,"integrity":"sha512-MMIdlLZoOQUr5DdXTDX5KUuNauITthVFt4Eilt/AYFKuk7fTgPZ6utf7FQyrVGi2qO2ClkD3tsWw6/yhil+82A==","signatures":[{"sig":"MEUCIQDXFwJW/8OGse2VVsORmzqh7GMDcdmPVgh+7SqK08TuPwIgW6QzTK4JKHK6filDbZWkQAvz1+Fgz7NCfyuzlicHxaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27694037},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e8e4ef6c5e5fd3d498fab06b683fa73eac43a781","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.3_1787634596238_0.4700122376585627","host":"s3://npm-registry-packages-npm-production"}},"1.69.4":{"name":"@threadbase-sh/streamer","version":"1.69.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9cb16a835d93e5f26f1c5d8763240a8f42a642e8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.4.tgz","fileCount":339,"integrity":"sha512-HdpXJVPBGzfV8mK/GJvWw4Py+G/ZEOlljncmbGJZTjaBxdqbfzyQUufUfyOuFX+Tw6WfKMa3ol0fw9+bEBa5ig==","signatures":[{"sig":"MEQCIAajc73zOtez6ayM1JlR/vf35kFK9BT30m/un4hPF1CqAiBuq4rP0iMmqJ0FmBq5QLFWsiUcOY/J9zRR/XofQi2svA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27708276},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"29b367fa4de4bf7576299a1ebb05d262db4b823c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.4_1787635797807_0.4095223487943105","host":"s3://npm-registry-packages-npm-production"}},"1.69.5":{"name":"@threadbase-sh/streamer","version":"1.69.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6e7398d616d0c142c56baacb459f053e4d130a71","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.5.tgz","fileCount":339,"integrity":"sha512-yRFkIpBr5n5xJrRzAkEMr69RmnthGl25NOQguseMy2SnPVMzYjZ5eUD+v71iVH4TUGYciu1oREiWnTlY6WxS+A==","signatures":[{"sig":"MEYCIQDmIcksS50CVVV+IYDJitv4STkxvfiriZ/JN7Ty+zPUtwIhAOlXGGD6I+/ZGW3PNQGawn+1rIeYvpkPNEuXg4GM8N0B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27721951},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"231cfdde39e8a7f87f8bd3ea1c3791b42d3e5893","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.5_1787636500191_0.7887225066833605","host":"s3://npm-registry-packages-npm-production"}},"1.69.6":{"name":"@threadbase-sh/streamer","version":"1.69.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.69.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"61a16e468c539e54bb4299a586cb0fd41b024dd1","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.69.6.tgz","fileCount":339,"integrity":"sha512-PSRGsFe4BGIkFik1hm6HH4zg1XvED9y4tSC0rBmMFm/soQnkX1dxEI+mkpUk0y30OaVNQxi50Wp9nx709wBPLw==","signatures":[{"sig":"MEQCIDtnjLglA9Byd25a5VfwCqHyYSW+/zObBnn+GyTUgz/JAiApeR1LzBsGsB56rPSpCAdZ1syByeoV+Jmsb2/Q3W92JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.69.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27727259},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b649a035f8c164228fd3d1a85b77814071bc3253","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.69.6_1787638653849_0.29744404331119645","host":"s3://npm-registry-packages-npm-production"}},"1.70.0":{"name":"@threadbase-sh/streamer","version":"1.70.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"75f8a79cfa11047a8761bba6c8c70b8bcb370538","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.0.tgz","fileCount":345,"integrity":"sha512-TUscp1gJQsSrawa9Zt4yipOSJtOfvdQ7fEOLzlZ3e9fltd2Mfl4+tfVg/OL4yeKEhTil88VRgE5TERbnyxr8lg==","signatures":[{"sig":"MEQCIFbQlVomayRPV3zJ82v7mJN/pFFZSu7Pd3OFl+AUqNZTAiAi8esl6Q7A9TU1BVDbbzW5sfEYZ/0DDh2OfC9rKbyCdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28053556},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"161fb27491a061919c6738ecda69244e17f2e48d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.0_1787814274395_0.8551256856401706","host":"s3://npm-registry-packages-npm-production"}},"1.70.1":{"name":"@threadbase-sh/streamer","version":"1.70.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"505e1d28e4cd412d1c56a2a7cb3cb2addf076a8c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.1.tgz","fileCount":345,"integrity":"sha512-Mwa1v1m4g/UHrnKPNHKH3T7KmsxdglOKjrTeMmf/JXJad9OTvl8pm+COC/tGr8txnPTZsaheHH7hKPJ4/ksacg==","signatures":[{"sig":"MEQCICZKdkoBdzLzB1P3EyluTahgCtLNmaHq9sLktP2XBsflAiBgAKYjJaaegr3xNornTO7ZgQdg6cIn5hHMyn4PCBZCIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28054955},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7cde4b9a724029158ba9533b72dbe7891fc0651b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.1_1787907690374_0.7426597125486267","host":"s3://npm-registry-packages-npm-production"}},"1.70.2":{"name":"@threadbase-sh/streamer","version":"1.70.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e105c7bbcbc9cb2e973058278c305c38c95978eb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.2.tgz","fileCount":345,"integrity":"sha512-fwbTnHaOdQQiaGTxbX+MY8mbU+R43uJUsvNJVGSwYoTZYDkMV1IGILMANspnVGt7+2mRihElw4lZr3HL8TUPCw==","signatures":[{"sig":"MEQCIGG0Bydfm4+YuYPmy/3gDfOjf1N3pQym19sUUeJ/xM1gAiBBxh1MSS8rusdJscWayxth8l4Dzn6lCVL9ADEypycgwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28082454},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4be88979c02b19097ba456683a64fa2d754e51b1","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.2_1787913162043_0.6507679408247482","host":"s3://npm-registry-packages-npm-production"}},"1.70.3":{"name":"@threadbase-sh/streamer","version":"1.70.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"77dd97be837ac64f07ca9d4aca58dfc738b24426","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.3.tgz","fileCount":345,"integrity":"sha512-OENvOlFh1eqooimgyiNgOwI1ntd+CfxqDzK1RLTD14sfm1QQaH9jVr9ac6wv209wSyjDMu50W8sLq9Lt/WSMeg==","signatures":[{"sig":"MEYCIQDQxwK1Q51zeMzUDrrNDtuzFVUiMkGzKWn0asRiSMqPogIhAP0Qgqo/Lr+4bp2I1JJI4hvpb0F+frC+fKL1VChhQRAO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28082013},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6ff5957e1260f51e4853961f5c8e1a5880cf856a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.3_1787915137445_0.7848109119809306","host":"s3://npm-registry-packages-npm-production"}},"1.70.4":{"name":"@threadbase-sh/streamer","version":"1.70.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1edab6ea920eadf3299b74e4a1eac3a26a8a3161","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.4.tgz","fileCount":345,"integrity":"sha512-xlLrXbas6b5EGtBkgaBU0R4E3HWt6se8nOCLkq1CdX36vlK159be3+/s2d7CbldkEBs+b6PWD0nvrjkPHpbQUA==","signatures":[{"sig":"MEUCIGxh4JrXmCSVxflrAFdI+uvK/327fCW1nqe7jmK+HHVsAiEA/iovCZH5KXFv6aX/eBFuXFgAHzWjfY+/BxKrbQyuJ4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28093266},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"04d67605520bdad6244301f309a0db3b76caa24d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.4_1787927064456_0.8479329369190451","host":"s3://npm-registry-packages-npm-production"}},"1.70.5":{"name":"@threadbase-sh/streamer","version":"1.70.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cab84a3b5207e59ad24311664ea602681c6f9b69","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.5.tgz","fileCount":345,"integrity":"sha512-zFn+4I/zrI6U/lyeW+dqzjB6NZ+7uFwY87FajQuMGy93orDCMcxOevxG5dgu124P0KbVix9CXHNomtUVx/cwiA==","signatures":[{"sig":"MEUCIDTk+007dv1LNYfUrEw3weeN5ySCvY7lWmqOwi1EjWJzAiEA2ElFCMfhPkT4zi22ZRuEQ8QBvGvVKI47RWs6e+9BqtE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28094726},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8b47fd7203c8f9c69a319fc7fb95f59f645d614d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.5_1787929543520_0.5448294443998016","host":"s3://npm-registry-packages-npm-production"}},"1.70.6":{"name":"@threadbase-sh/streamer","version":"1.70.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.70.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5786b7baa8533ec5db8a0de63318ea3726397656","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.70.6.tgz","fileCount":345,"integrity":"sha512-rHa0h5EIWSBBBpzZ6VQKcrenglquHKVas6kRT11e0JTzLdDf3RSGtddqo89cpRukAQFAhY91tm6AFz/8vvviEw==","signatures":[{"sig":"MEQCIFFXWuY/NuBmpj0/jfDXETvOS1E+gxYn7UxuciZPLBu1AiAQbXjVMg7G8Xev54XuAvc5XUKmIkBO4ldmc5h5YCAxZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.70.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28110334},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0069afc103109e90fa08ac051634c894fdc42eea","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"^10.2.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.70.6_1787932132239_0.9161066717780877","host":"s3://npm-registry-packages-npm-production"}},"1.71.0":{"name":"@threadbase-sh/streamer","version":"1.71.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.71.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7f0400d0672b522daa3a05bc9107e1f3dca195c3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.71.0.tgz","fileCount":357,"integrity":"sha512-Bso5UOyYgjJmnYQcAuiHk09pnBhE7NQFrA5k7Vw6oUlUt4h3A1K67UxKqqlTR/Ctz3/mlRJ588o7BoxizSt4Ww==","signatures":[{"sig":"MEUCIBvT3+erJMB80dqNoq/8hcmy7bBmuyulxBUybNobfXtmAiEAte3YeGgCxDFIEuVOd4ke2BYJ9li0WPC0rXScArAnVsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.71.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31116598},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f95150cc03c33a165ba221f694206a5b11636001","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.71.0_1788027476811_0.04329902464787905","host":"s3://npm-registry-packages-npm-production"}},"1.72.0":{"name":"@threadbase-sh/streamer","version":"1.72.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.72.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cbb2304b6c5eaddfacd848b1801bd40602be9429","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.72.0.tgz","fileCount":357,"integrity":"sha512-g1cBK9hyKmYJ9Ym2vbRpwH8CsY2Q4QjKCSDxQPiyjJAxw2Fkp6pV2pcNyvvSDvVVHwmRqG6inculv20uoj7RNg==","signatures":[{"sig":"MEUCIQCiHmM6/A5XlpZ7K1YUqCMX1lAmmWlf7P5e7N68RB3CRQIgErURcIpxZElzyddyGKG7MokqI9jgTtXcBYYZ4dgHSU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.72.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31347634},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d7a27ab5d7ec963ae9350b60a99b8d48b0c1b99b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"10.3.0"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.72.0_1788162334085_0.4532977318542524","host":"s3://npm-registry-packages-npm-production"}},"1.72.1":{"name":"@threadbase-sh/streamer","version":"1.72.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.72.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9a09131e2ccaf8d6c78d9f1135d16e0d8b66dd8e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.72.1.tgz","fileCount":357,"integrity":"sha512-7dBSz3i7Jnab97+ZOH1bLdIrPmNv9yFl396RidM55MX7XBoeRpGmL7tDQKU1oVjTzPS1a0A3LZoPeWY7zbIMyQ==","signatures":[{"sig":"MEYCIQCCXwBsu51BSOHFSYnIwwTQCTv4LMuPEdM3tOaura1fzQIhANrfNJ/YLj1zLGo5vB3LD76iGRE4XKmEemE2t5rfMC9n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.72.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31347633},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4c582e48cabb1a2508803d517af50951cacbd19a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.72.1_1788190016233_0.1431015137383791","host":"s3://npm-registry-packages-npm-production"}},"1.73.0":{"name":"@threadbase-sh/streamer","version":"1.73.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.73.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d5cc9f499a2eca39cc12bcf7202377f6d062889d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.73.0.tgz","fileCount":361,"integrity":"sha512-ZvhiXvvbYZZDFkFSjY7E6nEuInwd4+Q9EmPzmFKfkIEfTyO01nU951dJpN1sR8Ur7TQeyDtlXn8DLNPBd482Rg==","signatures":[{"sig":"MEUCIQDmDLQKD94j5rhmytKK0ugd9NFkWzRbEWINM+GRAKvqNAIgIo2OuCidNQYeBqj0fMy2gAq8jpDM12IuCR9Yd3fS2bo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.73.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31617072},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ab15fc2c2dc8231816a95bb836fb05545d51f11c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.73.0_1788244330950_0.10270064021131198","host":"s3://npm-registry-packages-npm-production"}},"1.74.0":{"name":"@threadbase-sh/streamer","version":"1.74.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.74.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d478044ccac35e4342041dfea55ecda7c4d69c7e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.74.0.tgz","fileCount":363,"integrity":"sha512-Kxex98a8gD4AQ8NFVdoBK3cHznx8npKOQpwVRnFW0OF8CWCsKNMl6uL0TU3A64MZToUa8ZnyWkmDM6NgmC7lvQ==","signatures":[{"sig":"MEQCIAH/LsblIB5piE85QHKNRsE6ojgNgS8rYAT2daoQ576AAiA1SLr2fE/75vWLlng2GMRFy8bTJOJ4JMZUS2oOWOCYgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.74.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31708691},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"67f2d05eebdc33f8651700be297251a62771589d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.74.0_1788364229998_0.7395315902095945","host":"s3://npm-registry-packages-npm-production"}},"1.75.0":{"name":"@threadbase-sh/streamer","version":"1.75.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.75.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"667be7755139ec11211075f914cf2b063f9e708e","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.75.0.tgz","fileCount":363,"integrity":"sha512-MJigETZu8xoIeGQjYuM4/q/XjD/cHn7tFdT25PjSihjD3M3xCWwKN0vj8QSEFYGKNlLGU5MBCh5rCNc39k3kHQ==","signatures":[{"sig":"MEUCIFhQvkbxdMzIrs983zcmAoX5QoRyleU9ZK0nETWUg7OMAiEAwN3GmYWirBBmacxcu/fTbCNGfkgZe6SsRmfdVjt0tf0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAQ291OsBu1e7oJ06ZK2UR4l8MFzsa+AB6S7Hb3vOdFIAiEArWbiHV+TP3gz5NmlyFEIN6sxzYNWOpyri3jQfKdXh9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.75.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31720100},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ebb75a337a81ec5ceec5cddab54829bdd20035f2","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.75.0_1788500315541_0.03684148839380419","host":"s3://npm-registry-packages-npm-production"}},"1.75.1":{"name":"@threadbase-sh/streamer","version":"1.75.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.75.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"24ad43c8650c3df1f3ddef1b90ccafb0753fda69","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.75.1.tgz","fileCount":363,"integrity":"sha512-jr2uOOwQPaCDoxWWHRSWBBGW+VlfRMyh20zvblUVppF+3Z8jqP5IhdZvHexShs+LZXC0UizXrMMH6cRHxfDPOA==","signatures":[{"sig":"MEUCIQD3BoH2F7mN8NsBqT2SCJD0DS1amE3H0/5DOgXlwK2spAIgdyvXLPkqJIGMNIbr+IrsywwCUebKEugIWHxDG2Sh+mg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDyDE4+PLoV3/wbTtG2MZ1rSlSIYuzATWRjxmjxT9Wb0QIhAKVVjX1tZnXFXqLaeWoIou0OWhpdVB1LuYtdtuilVzNL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.75.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31741728},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e387c01665a5c75a28f9fc5e0d709c7de6379335","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.75.1_1788504854126_0.3578157400230515","host":"s3://npm-registry-packages-npm-production"}},"1.75.2":{"name":"@threadbase-sh/streamer","version":"1.75.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.75.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"be73819f6f02b94276de3215aa12df50511fd9ce","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.75.2.tgz","fileCount":363,"integrity":"sha512-r50pCz1dVrEUu4vlQHmM/kdIkdPsxF0bp42wVfYn0gWt5Whhdf+zrrsrfEQ+VT0VXykmANVELhjvww8ELKQ3xw==","signatures":[{"sig":"MEUCIFU8IHsvjz5WLFRzWFMgiJeiEE8sMoCttN3ijRteCuSYAiEA+TLntGCK0Qa0wmrvk/ZW23hJ9YlibIb309m1ujjskoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC3zHEOPBl6FrtfX3mArhhiqmB/q9I9xjJAnSpvguHYlwIgEgiQQjh/55Crnsq7Bfgy5DNtS+/sLR6rSyg2G5Q95kQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.75.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31745706},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"76ee9c4ab40c159e06e75c04b8dd389afa8e82d6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.75.2_1788541004822_0.3587831837938429","host":"s3://npm-registry-packages-npm-production"}},"1.76.0":{"name":"@threadbase-sh/streamer","version":"1.76.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.76.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"37dde4b33c3d2c4031e5e69ead43614a70cec040","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.76.0.tgz","fileCount":363,"integrity":"sha512-s7P3SE2XhHTUIHRcvmB49k0Vn5CghQ+Vt4mRbkxDUINieTmw5WwpI0lrUCMB/4Di6bIiXbGphsLBekIQvACliA==","signatures":[{"sig":"MEYCIQDRPDRX2+u2dcAixL79UO0ETSdm3+LNZPBLlqn+oD5h9QIhAISs0LANQCTVFbOzqwmMtHTbgG08ZLjriSiD5VMqZoAc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA853Xh/ZdyioB2/fZe76maIxU54HNZRbwKEGsxIy4EwAiBXHSOpoCB1IO2hiiDAzPcTVYMBU376pT37jb48qvphbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.76.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31746364},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"008c48b9b2d75c4b3afacd9d93b09f7a906374c3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.76.0_1788545865461_0.973680247062569","host":"s3://npm-registry-packages-npm-production"}},"1.77.0":{"name":"@threadbase-sh/streamer","version":"1.77.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"53db73a8fbd9bdbd251b430b48fc9c7e77009cc2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.0.tgz","fileCount":363,"integrity":"sha512-zIvfoKQVR4NDLZthAsg4eTVE6O2JPzaczWWnoiCg/7eRfeOw0LOgW7cUgubn+mXXd1ob0nyCDtUwz/JnEC5+Tg==","signatures":[{"sig":"MEUCICzPpntu5yDOxFAxcc0tU+GwW8hiDgHdMZS8t2cjy1pHAiEAuyKUkPuCC7JvE5pv9xPnLgi3ScEsqztwPIIRk/Xq68s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0ewV95x4NJfrdE+/Xy+TB+L3dVus0s+tJPx0WzAorZwIgPz3zna+azAhvBk4oDJfw6JM1WsllLzg0L4LuLpBGFh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31755964},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"45ea25ec9dcddc9ec7548f773c87c90fbfdc50de","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.0_1788547620548_0.38598707872965","host":"s3://npm-registry-packages-npm-production"}},"1.77.1":{"name":"@threadbase-sh/streamer","version":"1.77.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"01508b51f9d88cbf713856a2e01754789cb53850","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.1.tgz","fileCount":363,"integrity":"sha512-JcVZEfDay2Qghip2hb6UxNXzhMRRP5sJBO9fD5DgxwcYBmDplLtSihGOiQY9LAd/Dzp8Z1feu17l3vdz4GBe1g==","signatures":[{"sig":"MEUCIQCmqxYAAjlZ8v/22E6YN8XGacnzZPrghkPp/MaUDzqFewIgAOQdlarujn+xHW2KnSjN1xhBmSGxp+23EHZsOMl8sYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC2KhkvI4WIikMBOdUCU2TqRXiBHptdvte6L/AFbmk/JQIgM7pm29ra0OHWxWdRWAjaQ0BvSDApz+sBY310HeXwncs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31779342},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"52364bdce7e4c78e34d4c805b79fa19db7aaec1b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.1_1788556843707_0.606097428729087","host":"s3://npm-registry-packages-npm-production"}},"1.77.2":{"name":"@threadbase-sh/streamer","version":"1.77.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7c1a5fb9b812e066284c961793c7808cd6605ddb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.2.tgz","fileCount":363,"integrity":"sha512-Y6rIJXYcjKEdUe/Ng1D110LtLzANjshGi3xU/5h1VZNYmPMTuwTWThzJeL93Ipr2zJqUdrprTMSg2zF+6LTLkg==","signatures":[{"sig":"MEUCIQC29DdHoLfafYQC7MYbaus1xi6MeZ4bB86KN+MGOS1f5gIgVOWhsZRYnSKJgr4TmdcyXn384q8DTHC1ZhVnxayV778=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD58eVLZ/m53gDxe0QKle1n+tvEIh3xeSdew9GMKMl+0wIgET15OfufDYrlCRDYXmywggm5kcBeOet4kwaVNhcjaZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31780355},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5a489ee99f09acaddbf7129dbf13e9fc09ceb780","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.2_1788574245974_0.42120218810701626","host":"s3://npm-registry-packages-npm-production"}},"1.77.3":{"name":"@threadbase-sh/streamer","version":"1.77.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"03c8788985b4addeecfc7e865f129d8bdea6a1c3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.3.tgz","fileCount":363,"integrity":"sha512-TSBgTdQXIFUYX4bjvrUmuytzUWL2hcPFHZj6b9HRNxSgt6FLd23DllpBRJG0rY8K42+K13iU4N745UDA9Qeuhg==","signatures":[{"sig":"MEYCIQCyvybRuRW+nYhWNtQZ5PXCj0Q3QGlkDDdteHdJCvzY1AIhAID7htjPxx8fH+BK+2jyXm/s0IkNJnfeV5wkjhyNgrPd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIApJNVxs10yOPNXeoypNiO/Z64dXgJPtJInmnsw1+YX3AiAh7Zgkw9zptO5yYm9sXKXnVMUzKlmO8E6WpLkaeHDBcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31798246},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"da7bd8319bd3fb9d5ce212db775609661fac38aa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.12.25","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.3_1788575520312_0.5462657916967841","host":"s3://npm-registry-packages-npm-production"}},"1.77.4":{"name":"@threadbase-sh/streamer","version":"1.77.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"63b2f92c93f404216feb9459da67ac8122be629a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.4.tgz","fileCount":363,"integrity":"sha512-BMW3WgetLADsi6muDIhOXNAhlvd4c7qWIoq1Apg361CY94CjRUAaOp6W92ygannU2Ei5/9+OhGIDsqUPUbWwBQ==","signatures":[{"sig":"MEUCIA75o8A8LuGfj1Dr52/bxWoMwZabd0IuumR8Azq2XxoTAiEAsCHRVcVG5M2nIMy+CYH/2M7ofVGBmKcYz4fn5xQCafs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0V5jELxzuQUeI8Cg1Zr5QL6v6LXRDmYnLBm+OtJLtbAIgMCMBImKwhEL4zSOC7I+6/xNCwnqq8LstuZNR2Qhr61U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31796698},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bfa313e8b4f2ea2dbec0f8223c1881a7a13a62e8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.4_1788582845078_0.9401968822598881","host":"s3://npm-registry-packages-npm-production"}},"1.77.5":{"name":"@threadbase-sh/streamer","version":"1.77.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.77.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"05eba2edc95a462e7ffd315ece1d44785d349603","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.77.5.tgz","fileCount":363,"integrity":"sha512-u6p6yS3o/NU2Z7WlqoZEzHyiSzhBsYjYkPUBPxUyzCns8coiOFmnR5AsNI71ix8FC1KoAtTtT6JCpTe2ZCCbzQ==","signatures":[{"sig":"MEYCIQCSkMCN1pm1yVT/8BOa4TpNWtfSjp6jNtY6O78BEFkQDAIhAMPu6AxHT+ly/LTWS/re5gAgtWXhoHZcHdKX5H3HMNlx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFYBfzdPjzq8Z4ZSVX7rA7g9xhVXR7FFyg5STK7cXVcAAiBwt+nxg+qM02N/7T9Yeqf6S5ADWlcZnjJeFrp0GKGlwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.77.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31799638},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5a074815044ccfb5d2d94f5a870ee78a7c213b8b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.6","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.77.5_1788616587893_0.5574916690503611","host":"s3://npm-registry-packages-npm-production"}},"1.78.0":{"name":"@threadbase-sh/streamer","version":"1.78.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.78.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e153227f2a9a23cc0e73da19694c07dd9ea2d81a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.78.0.tgz","fileCount":363,"integrity":"sha512-HP8iMqjwrONV16IuWbEDSaVYNmOEBXiL/MuLJzyl7o7cVylpTraBgAi2mMazzHR1VUs+XLHQlF2kGZrkVXSHUg==","signatures":[{"sig":"MEUCIH8TTF/GI/5gq60NWaB7vLOB+ZqxfPaZ5mFpq/pMW+MnAiEApP+C8XNzVDw5l1e19Y+RyIwWhqVTTlL0nqUeabfGpNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD/ccu61c5srrysvwr03ovsPqxG3dVdZ60iBoUEHBQR5QIhAIJpt0Cts3NbsawuVSe8Zb1ogNkS5bC9UgCty2LSpWoe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.78.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31863650},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"706389e5747730a5134883525401055a51786515","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.78.0_1788649534632_0.024760742121504364","host":"s3://npm-registry-packages-npm-production"}},"1.79.0":{"name":"@threadbase-sh/streamer","version":"1.79.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.79.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7f01e34f2afdfc5f05ec1b5e55282a477282008a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.79.0.tgz","fileCount":363,"integrity":"sha512-618xr8xjBOCK6aS88oVuLw0Fzck82bcRRiyl7TA47xntBXpELNHuDXbAXh4SeY3iBO4VkSXLQXVWmcQu3jfuAg==","signatures":[{"sig":"MEYCIQDC5ThoMJbehu2/UVy/ugH/9W9mPjAeqH9R44EjL04CgQIhAICaF9SD4b14NqVugzO3qwHY+oIh5eAjERN6NV1f0cMs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7nwXJo/41Pw/yndo8hfrLJSTt3H5FhISazyDXn534gQIhAJ1oHcG3JGneL7k5P9GfxaUVVoXbMXnboauAq/2Ro2dB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.79.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31921860},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"56a24ce5b13ff1bfde16e5d6e02b0f0b3d00746d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.79.0_1788684068825_0.9297825802139366","host":"s3://npm-registry-packages-npm-production"}},"1.80.0":{"name":"@threadbase-sh/streamer","version":"1.80.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.80.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"79a5321156bb9afb9ec68d0cbd808e89958372d9","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.80.0.tgz","fileCount":363,"integrity":"sha512-4YDqSLMo2/GnxupU+0FF0SH09rDbHwa9AY9tFlfTPuTae77qjeMwLedQxp3K1IeDN0NMF6EhMf1wQhMaRvDdVw==","signatures":[{"sig":"MEYCIQCnoBt+MbUQs5n1e8bEKvyNafRSXMHuL5hGcbewjJ/CeAIhAMQx0O5ERKuf/b9+iv62cZH6UMWvOq5/4wF8RQo1NEwo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH3mmCb65sqzNsZOEfxvKeZbQEMpoAW1x3+F/0G660prAiAdZTdmZGeyqgsVrI4ejAGPYDkVB1iWnHPMHU4AI0aRkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.80.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31926192},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6a03a2d021c3684fccb6332e2e154f66afc2aa41","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.80.0_1788687092028_0.1939664813577735","host":"s3://npm-registry-packages-npm-production"}},"1.81.0":{"name":"@threadbase-sh/streamer","version":"1.81.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.81.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8b7da1757e2c3697e68b6d6d2bbe04e427d68c4b","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.81.0.tgz","fileCount":363,"integrity":"sha512-ngjapiyLDBOaBsA464qACWUGckeB8IGaXmFiRD8cnCssi9F80iC3S9ETN4P47zUjdTKHjRNCKKx6Y1/E5R6I8A==","signatures":[{"sig":"MEUCICFC/sJ+K5XtqaTFWrfe4er+CFgrJKvUQm/DJsCNfM2kAiEAgKmbdPV/gvHTDV4Yul5FT5k3wq+XuUBSNx9S84ovBPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG/ySq0sdABIYQxvJFC8IKsDJ9pgmoAGDnwqqtK69GSuAiBvYIEDXkjevenVM9GqkqY32YCz0zSXLsPgvQnGnrL1fg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.81.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31957083},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6d733e2b8d8cf716f0678b329d9bc1fb9499c195","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.81.0_1788704812788_0.03848137046008082","host":"s3://npm-registry-packages-npm-production"}},"1.82.0":{"name":"@threadbase-sh/streamer","version":"1.82.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.82.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ae5132a285dc6406c5c03a8b76c103553a460dcb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.82.0.tgz","fileCount":363,"integrity":"sha512-sbxrvNVy9882GmO3KqZXIHRcOv9Y8LhgzB0z/3XUqw9zS/Rt67kl9pwb9K9tVrXBBojrpIFLDRUbb27Xjda60w==","signatures":[{"sig":"MEQCIEZIRSJEbaAUqnMqxtC7sS3ZMhoJEE1VQ8ulz09NU2/KAiAhIwsgae3dQWb+FeZNi8NAMyA5YS9qMkLhi99GikqYaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDNP4/+lu6o5qmwtoq10Wdi8mhOSmZBJbniPaeKZgZh3AIhAO0p9wM/zcg9L0aF1dHNSgl6n2H1bifuBlY0bTFj/d28","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.82.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31970654},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bb921fa95a75f63a388f9309521fc79198e0f9b5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.82.0_1788705739819_0.07307393143956764","host":"s3://npm-registry-packages-npm-production"}},"1.82.1":{"name":"@threadbase-sh/streamer","version":"1.82.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.82.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c1468d03f94e3d08ad3726fb53b4447310239f41","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.82.1.tgz","fileCount":363,"integrity":"sha512-eX6fdTH0M8HLulQPe6Elhwl5bdTwRJzmej7UsxmLLxmNmKAvWW3AlX1MTjLoYL05NicL1YuFfHKR4FCe9unpNQ==","signatures":[{"sig":"MEYCIQCPgSTEZ+0v9jq7PePLvtjWLPWP1jSfscpBKxtHNImTbQIhAK2yMxLc5iuqPKP8xGSNEGiwbQWOl6OasXjrSKcUupGd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCgD540n1jjBzrKSccIfWPKDo7cILGR0uYYk9urzycnFgIhAN6esZGIlPXAPZW2hvrq6LZI/PGUZpI0DQjfehL3mPtj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.82.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31972087},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fdcb24e706a88af11f0e8b19f41219d9cf2fb4dd","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.14.7","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.82.1_1788731393450_0.5830117801776953","host":"s3://npm-registry-packages-npm-production"}},"1.83.0":{"name":"@threadbase-sh/streamer","version":"1.83.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.83.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7fd2d59898db52b9685e17953b40f022447a8c4a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.83.0.tgz","fileCount":363,"integrity":"sha512-rFHOKaGX32i9d9bPjxdmZlmQdIERnWlwJmeu3Bd3X0gCLwv+7lnj+Aruypl/yQX8pEC5OzuZgra4yGP83RGsdw==","signatures":[{"sig":"MEUCIFcR++jPFKrBuJcjS9FHIb6Inl/UvecJ9wytpbrjNzGCAiEAj4T8/gtYF8hVkBCWVyuVIyQnsPv9g/xM0zwPVcWGZ60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB/ab70Fdt+6yQ4BhprneNVfNY3Kj3pslxJlEbgustUfAiAoZ5cAx7yAs8427qSJo3+BgvDuyENhqqaowemeFAp4zQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.83.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32041259},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9ba52bda88f2ed1ce437655d60749a9004cb16df","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.83.0_1788734505994_0.6544897462404429","host":"s3://npm-registry-packages-npm-production"}},"1.84.0":{"name":"@threadbase-sh/streamer","version":"1.84.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.84.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a150318d9f52af6917a4aa0ef07287203851ba64","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.84.0.tgz","fileCount":365,"integrity":"sha512-5caVQ6YKB9n40smpxiHYSxYuAw0WsbvxqF+RUc2Bx0mQKyZBwUIGi3rxLANiMqt+xIuNcn+uLbpaY3PWgHUQsg==","signatures":[{"sig":"MEYCIQDhH0DSNBnom0c1gjDeWHLcR8ScDGWOwXuYRk6tajnL0AIhAImqhrZ+sSkLE4/AskO7SQxCBn7wpuYNzTLd2/mLsMug","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC6w2W891LxGcKjcje+JAgo6hw5O+TAkI7Di9+jcg5vmgIgY3f1RHwbSO4GawlhIGi6D2zQlZfXGxdydxyJOHjNykY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.84.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32139288},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"02ae7c4c7e8a485af4783da98d0ddaf6d7e97c35","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.84.0_1788736080431_0.6642096658079122","host":"s3://npm-registry-packages-npm-production"}},"1.84.1":{"name":"@threadbase-sh/streamer","version":"1.84.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.84.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"320e3163f4e8c2d1b2589731334f26148aefa672","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.84.1.tgz","fileCount":365,"integrity":"sha512-85akJD+gVE9e4jnOctPcpGo7R0b+tyageN+bkOvK3bbTa+mF8togA0AkxhAQmsErESUe9CVooKdx40cvCUx6YQ==","signatures":[{"sig":"MEYCIQDURt3XaouinyC6gdQ0b/X/RGUmR87mMZPa0dL1Zjwl9wIhAJqQNPbkLy08rFukJutuu6TGNPgNRBAAOCphJiuIHQpP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHB2dOhVgqbc/fonwYyWD/3rmVm2yUTkz+J+OCb2aDPqAiEAiRgHnRV+XkGM+iOHGmno9KwciE0cWPqPjLInGPccczI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.84.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32190110},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9a702dcbd98dab41f3c55d1db26234776a4bc9fa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.84.1_1788757147263_0.056049285242829816","host":"s3://npm-registry-packages-npm-production"}},"1.85.0":{"name":"@threadbase-sh/streamer","version":"1.85.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.85.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e593d6ede9cb9b59f895fd2ba864c71ed3a6927d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.85.0.tgz","fileCount":365,"integrity":"sha512-D55OC3MwlTbbkOH1okadNhuSBLPo/4QKCfHpOdvdEeXEgZUPNQU96YqjjIu7e1PeHpqUcvq+2kIssylV/+exPw==","signatures":[{"sig":"MEUCIG3EfRyUwTNJFZa+2deXHb1dAeWNf1wXtsBD9h+/wpBcAiEAtgikWSRoeVE+pSwfdyhUaug1O+Ubv2eIDj3PMiEUBFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDyPQpm2Fxod1TRLVfLUGyeqEahPvFcNuDDGia/7UZwtgIgc30YodEccVK1tTU4hO/uMnRwmnu8cf0aoI/oIG3ZOtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.85.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32224053},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b3b29fe5af775c5974a40da856d5d1d58b46fc95","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.85.0_1788781117850_0.48820395958739127","host":"s3://npm-registry-packages-npm-production"}},"1.86.0":{"name":"@threadbase-sh/streamer","version":"1.86.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.86.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e3eef34df724ca7b0cf4986668edd044044f0cb3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.86.0.tgz","fileCount":367,"integrity":"sha512-490yCcHLaxanNPc6s1h98CN/TmW1zD+p5iL4VZhmsPvQgzSAuxSmvCrq1TkVQgU9zneqg/WPX25elXQ9nFmiXA==","signatures":[{"sig":"MEQCH3b617ovhkmVFZ8hI8StX9TjA4+4F955J2De1aiq2VYCIQC2KWNPUBKDb8CDtc2rEes+eQwlA4G89sr2uoM8ij1BCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDsN54fi4+wZ4hN/ABCGKJaOk1qRN9Ba4B3B1LHAqRI0gIhAKZG/YPPaxpQ45DTReu207f6dEkS4UDN19opLVYMBToR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.86.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32304458},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c3f7675b88d140bb245acb2c08320733e586a6ad","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.86.0_1788801729929_0.7770337402955076","host":"s3://npm-registry-packages-npm-production"}},"1.86.1":{"name":"@threadbase-sh/streamer","version":"1.86.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.86.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"98e7aff12216ce0cf130d2b6546c00cdd55ea43d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.86.1.tgz","fileCount":369,"integrity":"sha512-NsAq9XmcOquJSKox8WDusXkh9pT3oJ9EGdrhw6sxRf1xmRR+xWLIeB6kBbDBwOyM9zNZ3lFCVQiPfakOp2APuw==","signatures":[{"sig":"MEQCIAT5p5ZaiKDvlsJG37ZP/k2QltjZLZec7NKK5dx1oApZAiATsfw5ccYrciOEbJ0jMuKX0zqV4J232dTZAqYkQoFukg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCd1FLeR7Dqs6MsKRUqgLKey+6U9Dv361Y9wU2AquYvKQIgZdLzNL/wtLxH1upstQGexuPYBlNZyM/wCPJ5yjvPAD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.86.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32310124},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bfd0cb38b32035d8e6445a82374f3f298f98f54b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.86.1_1788804804120_0.6604307408085603","host":"s3://npm-registry-packages-npm-production"}},"1.86.2":{"name":"@threadbase-sh/streamer","version":"1.86.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.86.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7f39330e141adfeda4f62e95cef34992d46b54af","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.86.2.tgz","fileCount":369,"integrity":"sha512-kBj12tWruxrkS9cyeiebYH/7fAcp3Okf5mYrSTz1lVPlYt7kmALPiXoBLhc/Jn6Vl9zpzwSjw/i1GpxsblE8rQ==","signatures":[{"sig":"MEUCIQDM/vJBV08qJM0/cUGQ+1JT6xfO9KjDLz+C3OWYOpcV5QIgc/F5y+UduYr7O5JYhheqHXfEPfb35Uv02UBDgYkSvEw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDjF4ul5a5awx8ymDvSkzGdkv13jHjwbsfaxxj5k+S1oAiB1g23/R0EUpLSzPWur+Sr8FXMMWTdJ6d8pazMLzbb6Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.86.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32320614},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0bb6b1240b778e183d3a42811060e4eaab91e7f6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.86.2_1788814862127_0.2084976382722885","host":"s3://npm-registry-packages-npm-production"}},"1.87.0":{"name":"@threadbase-sh/streamer","version":"1.87.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.87.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c9da95c3f216a673548098f4d737685a83867346","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.87.0.tgz","fileCount":369,"integrity":"sha512-xMmvh2a29Y2CyGtnCuw7dk2IaXj1JJS0t0WBAUhUWCe2pEjY1MIjKOF4ybP99NpojhNuzrWmdKWOPx/derjgFA==","signatures":[{"sig":"MEQCIArzGq1hjt5LN+h90vQdyhHeF12g7o12qe1J9Lc5SD/9AiArkpignUwSl+7PzeY7hl+yRfDuZQ669hUsXTQg18Ndaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAksY6ztRTPFqV1y7xxAFPQ/4bQ/+Ksm4cs9/+QfGrx1AiAbpS3f4hp9uIRJcSVrb/E3g6Gz+bDWnZUr9guFYpggLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.87.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32327961},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a66c92ec0bc4a563264fc9b18e658bca1fd1de20","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.87.0_1788848685936_0.9169324283862861","host":"s3://npm-registry-packages-npm-production"}},"1.87.1":{"name":"@threadbase-sh/streamer","version":"1.87.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.87.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1e7a249fd84bd3b63c9f2d2f078bdae3f2ec73a4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.87.1.tgz","fileCount":369,"integrity":"sha512-z59VqUaDj9/w8HXe9ihPnM0rXDyOlYrYkTRFNnNyYL3LWpaqHM8/8sEdUVM1J5/9YKVJhkvXPJHXvAr5nydljg==","signatures":[{"sig":"MEUCIQCc21VxPlFkjfYx5K9tsTx7cLTkeih4YPfc95ANsgzWywIgMaPfB+MvK1O+F03kOUwIeG6lQCNNFgTY6ADNyoId+bY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbggcHZmpBOkq5AcvRljJz8csGe1gd69gNrVV46ySzUQIhAMiHs7FgA/rBbwxq4SgdgQ0LKBa2tNDeWQl16UYsP84A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.87.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32330100},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"34a0f9dcfc3960b7c33d4a81adc13ea8eedef1ec","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.87.1_1788875464042_0.7365496686135697","host":"s3://npm-registry-packages-npm-production"}},"1.87.2":{"name":"@threadbase-sh/streamer","version":"1.87.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.87.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"dc27a8bc50fc511d7f62d3a5890d3d762541466d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.87.2.tgz","fileCount":369,"integrity":"sha512-hGoIiegrYIuDOt+O47yQ3UOpnaOWLol2sBB/Bk+ZOiI7V+XdpX7WnMkVtDChOyQbJmaQBaddivicVLNoMY5kaw==","signatures":[{"sig":"MEUCIQCA74pahG0sbMVehRFGphyvWWUk6SNRdVUCkmqmcbsREwIgVZJ0q6VfnF6X5B8XfACFde2n0h2kotq+Ga75v3PeiZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBpFy5g6S/ZuqI2Nbu9wXeZC0k7zku33LU131d4CsbHXAiALgS5Gaujw7KcELcu+B/sShObKmxhWLAJqyFkb6P7uMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.87.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32337529},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a8250976ad6cb1452b4a43ebb69a3eaefa40fbaa","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.87.2_1788879787703_0.1880900740498177","host":"s3://npm-registry-packages-npm-production"}},"1.88.0":{"name":"@threadbase-sh/streamer","version":"1.88.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.88.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"10ce83d8e4407da8411164549f8d694ac0eb6e9f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.88.0.tgz","fileCount":369,"integrity":"sha512-/ljImD6XHNwF0GserZjYkTaNEuAhf4MQOQ1Jc/03V8JjYbv/CfNGzUm6T9W0VxV68dtOBC+7Qt9eFtkvoq2l8Q==","signatures":[{"sig":"MEUCIQCzFEmQXDPQ/X3XcAryrbvIMwjEh+uqvflEXwpRBEL6PwIgFNoa9SFRjZLRsIhqclzDiUrJkdeJWGGjTPifi0NshSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC0kEob2Vbn/lm67RhdltmJ7gAyqsw/qqOuzhJYba+sZQIhAIj2bk+N9gj/YA9NzhKtTU3fiQSJOQ8mojqxZIReyuR0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.88.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32344354},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d4915bdf31a5ac95c1cd622088afef9327027278","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.88.0_1788881327530_0.9741382190182168","host":"s3://npm-registry-packages-npm-production"}},"1.89.0":{"name":"@threadbase-sh/streamer","version":"1.89.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7afd6f355e0dcf9c13802540d37d7d38a0f30cf4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.0.tgz","fileCount":373,"integrity":"sha512-mDfOdee5kWEeJs/r3O7cGz4LCjYuDVQAnRGjuboligvrgk2Fc4lDJJOQUQ321vMfLt6yRSCVWDAmdPqbLFR2VQ==","signatures":[{"sig":"MEUCIHp/xcFEvIzuH8HSApxvJ+VLLYlgmbu+VVIwF33t43BvAiEAzc4xjG9tZxZT98rWdw5bN3RJe37SxGqMf9WX0VcHN2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCkZTIHtNKD+7CasvfDwficNlrUvqVcbjex/9RZ3br/4wIgTOMyocXbFwEPwBlVujbXJutf2Z5ohh9EZYjQNYolvw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32500823},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c057744e919718b8fe7188a4547cf6f99abea834","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.0_1788886972181_0.34241579247250353","host":"s3://npm-registry-packages-npm-production"}},"1.89.1":{"name":"@threadbase-sh/streamer","version":"1.89.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"35603e4840d01c5ab6b43d088b7e1f877de47cda","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.1.tgz","fileCount":373,"integrity":"sha512-76/Kb+ieYmVVVrNeCmuGfqLpE06xOugntEW3a3k89fq7YBAYGDnw5FTofHwcy91XaTIrNsbeXQBhf3e4PPA6Uw==","signatures":[{"sig":"MEYCIQCKZYI4t7+5zuZJWyFeyDlwgYVDHTFRnWPSWgaG5vScugIhANUkSCgqWTOy53//157TJQpOQv7tTzuUJfJIn/i33xmi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDYD0yWvGYa8oV+u+ClJxSZSqZ0+XC1vxBqsOB0wfsZzAIhAKfCSTfg/VPuq7fo/2e8/zErswuNGsD6W2TqVP3TQLPE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32502742},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3c6c7ff9757a693829105a7208f79b2cd3aac030","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.1_1788890641675_0.7311257455774098","host":"s3://npm-registry-packages-npm-production"}},"1.89.2":{"name":"@threadbase-sh/streamer","version":"1.89.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c35c0bd50afd5fcbd18a0267329e1ee34f2c9826","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.2.tgz","fileCount":373,"integrity":"sha512-XLD7trFzr21veLJoLZCBM/Gyr+0/v77UWCt/uKC0VcQcTfc67lxFPuKsnx4514Va1eeqw6E/kTgctWTH2zRc5w==","signatures":[{"sig":"MEYCIQCsjeNNb1l2GzJrcgOD347EoNUPvc8TGmA0e36uOo5VRQIhAMplR4HTB9nWWpL4GCRbfyFD8cSV+WMiQYb7ivnppPIu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDIJ/n3VqeT7TWmQWpo84QRJA/wMBCfvbFF7/V8hfgF0AiAQKmqHweLoI154MptFNgEIswkpledS2/eEy7+PHOpVVg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32512387},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e47881e711b8822a8c2d487a9a2bb192753e6979","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.15.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.2_1788896598390_0.15834437788025002","host":"s3://npm-registry-packages-npm-production"}},"1.89.3":{"name":"@threadbase-sh/streamer","version":"1.89.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7edbaad7139e98ca5813d81f8eaf4ee30c673ab5","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.3.tgz","fileCount":373,"integrity":"sha512-KsMH0qyRj1knaMvaRMK4nEwCORIJ15Tf0t8v6i5rx6CtrxlpBFMfXZF1iHyQMal2rhwBdCJobYJZQMejEpgMZA==","signatures":[{"sig":"MEUCID38FwKIA8flaqxbt7lwu+bJkaajEOg0xFp+rD9n2cdTAiEA7SN6cZoL712GbMjKa+JFEh5DP3Jlzo9URENq7jdYLrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFm941fENm0m1H7JgTW4bqcvLNSPp/UlEIQYSPsAZiGZAiEAk6iAZEJZWAYeG0j5C0rPAO+Y0qPDy3enb7aDhccS0ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32524184},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"578679c5e4e37192b58e261c3578786c11449607","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.16.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.3_1788985389329_0.6845169481786388","host":"s3://npm-registry-packages-npm-production"}},"1.89.4":{"name":"@threadbase-sh/streamer","version":"1.89.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"422f724d1a379d0f68da425e68fa80037e3eef98","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.4.tgz","fileCount":373,"integrity":"sha512-Dk/PJO4Uc4KvPVDeBkQU6Ona+sBXI+63gEMAmJJhA5dv2m/hs5R7DWmzG7oWcM9V0CKdUeA3ojEn7yMGhscetA==","signatures":[{"sig":"MEUCIQDYPpDWQlgEsWeBFIjNxVjxc4qQ1BPKP5kSu8DdX6WXXQIgciSCt1DnSQ+OXNkpRpUWEMyikvKwre4AkQcfF/dhljc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDTgbsqRAKBNtCwfk5gJ8VYOxLSE/ljCnk3oqJ0zjVBnAiEA1Yew4j3QQMOTr/IN54CX8TVGusHb+LPYvM6SO9SH0ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32537747},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"022fb57c67e7d3ca2669c133cc39ccd3a4bd632c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.16.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.4_1789055298459_0.2785920779298934","host":"s3://npm-registry-packages-npm-production"}},"1.89.5":{"name":"@threadbase-sh/streamer","version":"1.89.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a4fbd0efd5605ca087d7a6b37c2b97ccb288dfbb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.5.tgz","fileCount":373,"integrity":"sha512-Df/WxHa8piaAn9NnH2/S7LZGjOmPOeWcLaDr9yGmNsetDSuBFB0VDMmjBY7svMTENKdRXCdvCVYDpafEYQs7uA==","signatures":[{"sig":"MEQCIHLf2qoZTScIt6K3uv9dX+WXqeDh/ND773+ybsoTMoEGAiBnH8kCiWxu/EB4zT1I5bZfPJ3CJHD0SUnJ9fym4xKcVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7J5DwdKITz2GSfatQebUKwSyIA4NJQsZ6Q4ny+8VhDgIhAKidzxWlpDjPjXYWvZVZp2nfBrOb3xIhDMvlIKb2GBbC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32572779},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"25bf40488e9345f2b189aedd1a84f6f245db688b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.16.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.5_1789056323293_0.8691418056784863","host":"s3://npm-registry-packages-npm-production"}},"1.89.6":{"name":"@threadbase-sh/streamer","version":"1.89.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"afa3d0cd0f33d7f503cab065deaaf30043fd255c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.6.tgz","fileCount":373,"integrity":"sha512-ssf6oDcOsjf9OGqWdANJUma7f0MKbGKXtEjPXaGT3N37SwSQfv9BKmOQyw4cN8tb7VTUedrsnXc8hH7T2k9kGA==","signatures":[{"sig":"MEUCIQD7zDva4LigDO/SfcyE4S2+X7uhlHYjasuRZ1HF2I+BcAIgXUsvVTvq7Sc3vpQi5U6QcpNXgG+ojEcPH0R8u24S3Go=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAXvzteVLRY08CdVyKkFJGfhloUXbSj8elRy/kifydaFAiB61nIn59YL08XYgYwba1G5r+RDRPR4Af4SKyB5KJluJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32576158},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4cdbdcf538eefddcced5b12c61a5943a669e349e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.16.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.6_1789057313317_0.3632001545771528","host":"s3://npm-registry-packages-npm-production"}},"1.89.7":{"name":"@threadbase-sh/streamer","version":"1.89.7","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.7","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f1a8a72b17eb1160942e3b27f2b86b9849301e07","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.7.tgz","fileCount":373,"integrity":"sha512-XnSwXjKUoqM4fo7LLhRvzhUgm15h/JTqlTIE0RKwHsAMkKJUhk9fJPL6IkhsAPtFSuq2tIWurJcINCm92K9Q8A==","signatures":[{"sig":"MEYCIQCkOJfXMWO4IcnpTu9UvQe8qS0GL+/HRJjyaxQhnRcqLQIhALlOLLczh74/OkDC8/uc25X+SLFsReEPHjjNxb31IuRB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDf8+6AO/sK9cfqNlLaxHycOXjkGiSAOIdKeVBaowrLpQIgWWhvemnICykNKATc9Dqv7RlzMIWpsIoX2WrgHfhiOEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32576193},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a5fd73e07f6082776ba0cd8354c66e56af38b444","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.7_1789150241247_0.979683252713482","host":"s3://npm-registry-packages-npm-production"}},"1.89.8":{"name":"@threadbase-sh/streamer","version":"1.89.8","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.8","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7fc2d8b83c119590882427d5be97d1878d5c5459","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.8.tgz","fileCount":373,"integrity":"sha512-XLfiN26Vbq0v8jvNbJyNhYYJfbydqvRgF4jQMG+RIOX64ZmYgMD7v8uGBetxoL8jj6Hsxf2yMPfwl9oGQIEUDQ==","signatures":[{"sig":"MEUCIQDlI1FX8MJ9rAzMYlOn2m7iYY4+K88V6QNbgygOySXkJwIgQiFstkCKro1Hf+9/2+oC0BOxo1tzRFGCNtdc4RXecmA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCOSbF8uoWNpr4BUV+8M7IUCH5yEMTsTEpGemQgua15hgIgHCqS3XYjWXLfNtc0tE7dUcfYbMDjyvefsnUC//i1N7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32576193},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bce7be939fe78f8ed06ef60855627364b56a1c2b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.8_1789151622533_0.04633153556525982","host":"s3://npm-registry-packages-npm-production"}},"1.89.9":{"name":"@threadbase-sh/streamer","version":"1.89.9","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.9","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0f6c75bb6c9e4c814a7cc2d5e771eecd0dd6d065","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.9.tgz","fileCount":373,"integrity":"sha512-gNfb987EiOEmOBxRm7VkVWcf1zGIllDA9szUYOi/mcWPXNqXZvEdKjt3P8xQORw+v9UTEdLWED77jrULrBsaHw==","signatures":[{"sig":"MEQCIHAj+hac30hDf6U05MssL89wF9cnRnvSjvQIX06ijRGrAiAvi/HMIi/55zyE5fYjFfuujraakdPC9XHq7NYbXW6yaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGhCfw61dW3O/GRcyX5MVBy1SsN9AJVorszw2tYFQbjNAiEArvFsd9ApozkvBUQ2W2SfctEYbvqod2olzed2kRYadKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32584679},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"118b05a248483eabeff89b441993e02a9a47b8ad","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.9_1789152772211_0.3548599829928949","host":"s3://npm-registry-packages-npm-production"}},"1.89.10":{"name":"@threadbase-sh/streamer","version":"1.89.10","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.10","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"5c6770e5c896ebef63ab360554e70a0653e282dd","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.10.tgz","fileCount":374,"integrity":"sha512-Y1vzF9mqsJPtCWXsyuL6J2g9niGSnMBISOkn5wGfnb61c35YtdbU8AiurMD67xL3nH0aapBDbJnsonI6+W3DBQ==","signatures":[{"sig":"MEUCIQCO9LzNO56eiwumT9E2ZEAfDBbFaPqOBatRTgSijLDt8QIgKnVLaaqPZmCB7z0Gx/QpohzbifCADihT6CyJ6A5z9mo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA7kWqlq6+AtpOvMkhqGIbk4xCECYHAwMeNeoK8uewEtAiEApNdJbqlhoMBgNWh/CjFiaKtqd+/i6jtI8GIy4njbZaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32595584},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6d35f259cdb75aed9a7a1f41752472402b7b425e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.10_1789158294058_0.3517347653015921","host":"s3://npm-registry-packages-npm-production"}},"1.89.11":{"name":"@threadbase-sh/streamer","version":"1.89.11","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.11","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"874b2eac9d439e832a2c4c6e88f6624fd3743239","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.11.tgz","fileCount":374,"integrity":"sha512-yJ8FGoKRf6GsMT4ck0XTtXReoONJy7r1J5lkbdMk99DJkRMJ2inF6SOFUR0OlPJ3bBmVEhkncTTD9drVJMzbFQ==","signatures":[{"sig":"MEQCID0LCW7vEI7/Tte2x6ES3Voi9TcAC+69vk9LEhz5ZNoRAiAUA5fM9BMDAjkUad8EO+S5ckAsaki4ZQpZkrtF7afJFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFPKNBT7i/wCJ8Vncf5TBRHoIxs6b32hy6nHmxMI5dxdAiBJ55Lz4MRSYvlZzrN8EPjKM/yP2i2CZ85CLaVfZN2BtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32606560},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d9b3e4cdffb747806b299e026f849905723e70d3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.11_1789159526066_0.12292831125280057","host":"s3://npm-registry-packages-npm-production"}},"1.89.12":{"name":"@threadbase-sh/streamer","version":"1.89.12","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.12","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"3cb4db80758f0f76da20918840b7d8cec8163974","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.12.tgz","fileCount":374,"integrity":"sha512-gnuh2NjEW5fAAsGcI2NC8ZyfrCdg0Dg8VfNYBLQ//Kj1NiOrvtnsdxIpMKqPvZcMv4wkm4z5PrjgMGGSGs77iQ==","signatures":[{"sig":"MEQCIGA4+1uFfFiTvthtwQsfPWT0g/hAGGVKBe3EPNSy1delAiBifd/I8jFPw9EjSqxGzKbqKEhZM9IY9FrxGa/FUj0Vvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEv4lis6Q0kJQojAimDUmGp6o3dBWd1/qNBpZGXPEJFzAiEA/G4hlL5HJQ/itQIZFhjP94WRXAWnbVdV3Brrfj8vriQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32607391},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f89404cdea40ac4c932b3be0b76a42ccb2425938","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.12_1789160459810_0.267644003136599","host":"s3://npm-registry-packages-npm-production"}},"1.89.13":{"name":"@threadbase-sh/streamer","version":"1.89.13","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.13","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"84bb52474708eb3bb1761e31017d816d2bb66e65","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.13.tgz","fileCount":374,"integrity":"sha512-jtDZVze/dN0uMSiYXz4ZJaJCgKyovBVQ9rgTISmnQXeNpVWc35JBVBa67LZNv+kLfYIxMh5Gb/2vtLqgY2G+4g==","signatures":[{"sig":"MEQCICOO8VG2HkVAz/rKQQ9IK8UVa9F+IHNgQ8iq8V00OS3cAiB1VWcFYvpnPPr6eQSbS+KUmE724QTp0WB/rWYHHd6StQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCyFdigdkh7lM3dZqsHigwpf2STpPOBstCydaMh+KBMAAIhAIzQLY6YF901CKAOOgOSYBeOqQA6dNcQVdXaFVHNb3gI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":32612736},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4cb371ae1e9b838c9819976504bde93634cef91a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.13_1789166084725_0.22269462525238892","host":"s3://npm-registry-packages-npm-production"}},"1.89.14":{"name":"@threadbase-sh/streamer","version":"1.89.14","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.14","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1b0364110ce56abd7361e7e0094e9556e45ff875","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.14.tgz","fileCount":374,"integrity":"sha512-i418HwiyBIHyw95M1I3CE0Cx/+4SP6MNkIoJWHC4w2IkbhVABl+tLBUgulcv0CvnTRQtpvJ60rUXhbELq1Zt9w==","signatures":[{"sig":"MEUCIQCsZNcyb7bA+4RxZm7HsOjXMBAXBz5aOB7go7b0+hkYYQIgDHRpvdyfRkDCXygY62qwObqRWalSuqVjQu8/Mt0uIq8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICVY0TyBgEJmV+oFSIX8WBUV9eogq6no0Au7fcE1T3pHAiBrIPCudYjuavLMB7qqsxNeqyNU1uhp6A5MSWa3frpkqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33691823},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"4920d3cf4a15699d446b81993fbc790dd4f35e3f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.14_1789168127776_0.35988570377456863","host":"s3://npm-registry-packages-npm-production"}},"1.89.15":{"name":"@threadbase-sh/streamer","version":"1.89.15","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.15","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d524ecd758bc87547b9cac78cb5a79ef4d16df39","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.15.tgz","fileCount":374,"integrity":"sha512-tWunq7Zy67pYVsSzWBHMAC3vtC0lc7Z2xIIVhrxqHQBSKRZqO1NhSleZzOE7QlBgPwrKQ+M3ziuVRtWnRHS/9A==","signatures":[{"sig":"MEUCIQCVGDaK7cJ5DbbIBddcyRrR55+ZeX9FNhlpF5aG4/ICxAIga7EBX/Mx9DmAlZ3MGh9VnbZRUBwVaYmmaMEHTwBrw7g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD0Z1ZfK9ahn7/adlAxhTrzXcevDFL6RxtrhOCGj2v5ZwIgZ1Rum2OH7ZXXLjrb5cRTa/F+NCHHlf0NjZdzCgLw2/4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33726949},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"bb8aca5f9c62e4ee60138a7e0838701b0d16de8f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^4.1.10","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.15_1789173540547_0.6835482513901072","host":"s3://npm-registry-packages-npm-production"}},"1.89.16":{"name":"@threadbase-sh/streamer","version":"1.89.16","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.89.16","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"2068d7034650b10172fd5a95efd4d765778ddb7f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.89.16.tgz","fileCount":374,"integrity":"sha512-9/c6Pcq5Vf8CTJ+TG+Qws0aR/E08OpUBWNY5bbBxEpaZHTqZfdasO7qEFGWUtlqmuxfZPCGYZHDwDU1B9iEovg==","signatures":[{"sig":"MEUCIByNvfuLD8uMBe0WG0deg30Oa1/W++yYRKR0EOe3mQWgAiEA+LCCNbC+rPRc3MoZgwENSAK7oU0TLZ/UwWNKyBBwXPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDb+T8avDP9r1ctkEXD4xNnE2vwjzyLcvoeQ0moA9WN5wIhAPZt0m/87fnGL6dPCpiPxOt4PrR32GAfT1To2ID8rtfK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.89.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33727511},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c776bcb1c0ba875f9731a96e71b5c4e4cb754b86","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.89.16_1789175125287_0.006228160867416399","host":"s3://npm-registry-packages-npm-production"}},"1.90.0":{"name":"@threadbase-sh/streamer","version":"1.90.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"579313cc50df024b388f0b856b1b0e7b8b76884f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.0.tgz","fileCount":374,"integrity":"sha512-q+NKQeTdoF2QRamWUJY+Od94s2YqsLKfjxB1LAwadIKcgVX5wdpSEvOuq9taDtORFKIR46a9F/Tygcd+BrNXFQ==","signatures":[{"sig":"MEQCIB6JHJveMQopKl4OaQjxwugFNCVSwDMVY6TGDHqDcRkrAiBWM7eK12Y62n+//EOd+3WOdH5EFg2itKUnckQuUQK+5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBoYTSAVRmp4x/bVTERLda9AanuArW5xPkhoLt81C+sAAiEA4P0aY4MZjLjAwl8QnnkPKc+mGWH/SD2l8XEVcz/W3eY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33728786},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d1d7dc744f117636be6d78424a2f92815055afe7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.0_1789177389956_0.03600018250103454","host":"s3://npm-registry-packages-npm-production"}},"1.90.1":{"name":"@threadbase-sh/streamer","version":"1.90.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4650c13017b08edea70ac738e8ab9db7e91bdc98","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.1.tgz","fileCount":374,"integrity":"sha512-qCQ+B9einP6M3XjUDdLFD4xGfm31eJMPj9cS9Gww8pd3PZuhK8MGL5Q4DEgV7yRFdSfANgsYx1ZqcP9OOwXlcQ==","signatures":[{"sig":"MEQCIFaY7sJ5ResuUC+VzBqSYyLSXeFdqof6D4UuYMp3Mhi0AiArttGCAXV8A21B5CkquJ9POqgPoMLW+TVziG2ZdTaGQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFepe7OtvYVwtfO2lZrCML3miBf6+f27BcEYvKQpIIemAiBdM3YQdp4ljM9y9nNXmzV+L0dwlyxfCsJQJAsXgtdq9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33735806},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2a9bac2455e10259806207cbaeae79022481ac07","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.1_1789178873116_0.575495114880189","host":"s3://npm-registry-packages-npm-production"}},"1.90.2":{"name":"@threadbase-sh/streamer","version":"1.90.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"ceb95751edc107d1530f499c3bcdd49cc08747df","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.2.tgz","fileCount":374,"integrity":"sha512-FxUtpz0QrOepoGvR35Op9JPhlixCYXWaslWvVI4m4IH75KDAyNqj3ozKz4ucJvij44oSUPHaxu2EB9Wfm9tgtA==","signatures":[{"sig":"MEYCIQDHw6LPdRCK1rIoKOOcEKEnPiK0jd4oCCcQMaSLKQlLSQIhAMPUHmaN/Q53bzq79pV0gvWlz4v3Q++k+eb1BW4x+UGs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFd2uJWcspSL8uBu9uCZeAULGav9BtXYpFj9U0y+/pxzAiAKqt/cTqrzoWcrwRUrt0+VSDL/TVIsXxqJp3laNsvIHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33741721},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cedcde516bdd09cd0cf7e3f82cd976dbe7a27365","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.2_1789197127441_0.31506353042411406","host":"s3://npm-registry-packages-npm-production"}},"1.90.3":{"name":"@threadbase-sh/streamer","version":"1.90.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7bd1a40c232f7c341c8955d8e454fc746ebb3908","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.3.tgz","fileCount":374,"integrity":"sha512-eaZOt6EHlGiIDqHXRgRRmmN3mbPeuZCgmokaZxL50ve6b00/snXMbwQe296FYfp3dS5EDfVVkBKC16leFAG4iw==","signatures":[{"sig":"MEQCIGdtNE690SI9K44eBRoQP04IzKKtwm1aITxItwmUh61YAiA2QZrrU5rR4jldyzUEr0KEX3++SIifJ0bD7kc99P7kdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD4a6uohGEW0rkPEvD2mZtdbeqdwEDDchdBRr2S64ySMgIgaddRIhXX8sya66G2YSgQsA+/CVx/jknedwsdUoCnb+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33741958},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1cbdfd9ce2815c11e28b338d3b909f57e44f897b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.2","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.3_1789200049975_0.4967493670313703","host":"s3://npm-registry-packages-npm-production"}},"1.90.4":{"name":"@threadbase-sh/streamer","version":"1.90.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"59f44146e49f238fecd71f4170a6d65ca8b9bb82","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.4.tgz","fileCount":374,"integrity":"sha512-S2DZm3L8lgNWzESlD6O3TH7WgPhVNvlxvzIiNpeHUPxA1rVYBq54vSPG1qwM3rTsQ0Q63lolIjpgdaCW5nF2Mw==","signatures":[{"sig":"MEUCIDJ3Dp4GT2RzyngCH+cYGhSurLAQX0nhYjHZc0WNhWGFAiEAjg+CZRnKsXZclVnjs4Adrcck3pqSDTeL3hc4xjAvPr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCx4yD4XPc/83yzrMSbi/pTHKRzvfS9gcVmX1ie55PCGQIgZ7vWPPbdleeSxmcd0d1JBnlfsEgtAHev5+yraAJAvW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33744460},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"310d69f9dc019546912ca809edaf20af6f77375d","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.3","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.4_1789201930289_0.3505893864216192","host":"s3://npm-registry-packages-npm-production"}},"1.90.5":{"name":"@threadbase-sh/streamer","version":"1.90.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"aabc3613b58a50222754ac747418a5ae42802550","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.5.tgz","fileCount":374,"integrity":"sha512-To7o6D+Yi4a1G1yMisu0oE1DiKei+6TRc+cJMqQI1m/+hxUOLRjT2GRSlVgWsoYq+uJ2L18CwJJaVLYA3enJ2g==","signatures":[{"sig":"MEUCIQDNw2Ljqf5MkMosfDa7QOaOfg7PuNePLxSiy9pEeY3yMQIgIxffcHtRauWuw8XSo8fKcTnAiKVHwTxi9hcS3L3+Ij0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC2IcSDAXGEwC4bgK0gVD0AKswF/VcIke01z19dbC+FTgIgVYJ+FRZJPVJJj6j3rDoJ5uXLVef4bpihZZiMh+8it/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33764480},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"5660d3b1db31fe89763144d6408996c445cf8fd6","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.3","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.5_1789206663814_0.42665612747430326","host":"s3://npm-registry-packages-npm-production"}},"1.90.6":{"name":"@threadbase-sh/streamer","version":"1.90.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"7f96d60e636a3130352b4e5d1982ca131661dc9c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.6.tgz","fileCount":374,"integrity":"sha512-duEe+GrL+qVrJSdXjzF6sIHGjF/dvQ6GPxfZ8qUVX85+C7nkWsvC8vNwZVQ/3HpQ1xVNcAgMZryyP7h8GkCGsQ==","signatures":[{"sig":"MEUCICnzoINxYIyly4TJw4RsAobgssqt4vyBkPdgbLWHfnlOAiEAgxw62loYq+rf4tt+WOSOl8SroE75710Bct1jgDUolhY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEDRGJVehd5tOovZYcPZwq63u3VKEurl2o73Yz8cIo9mAiEAmavX1d92fPGyN643ykWWE5bWkePvHeP+473HGu3SG34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33765261},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"869f9fec3818fc13e51fa9557b8e16aa98e7f5b3","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.6_1789229221661_0.731589117013191","host":"s3://npm-registry-packages-npm-production"}},"1.90.7":{"name":"@threadbase-sh/streamer","version":"1.90.7","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.90.7","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4119ad0e63a2f55945362710d08e4ee2d3ba7ee3","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.90.7.tgz","fileCount":374,"integrity":"sha512-ClQT5+epU3rNRsQ+GQGMTCZsFelY0LYB9fWFIpI/HwHQEJLqzpWL6owdi6qdLiLKdQiTsKonAkbeIB2HeoGD5A==","signatures":[{"sig":"MEYCIQCSCqyWbGpAJLpF1hwwjn7H8t1UrVQGAQVu049pyp9NNAIhANX2dzU2ECtk021gqoBDgwWldiYcx/74Fd5J0z4ZgVxX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAch5vxDjCAwuX1I1z84Lew6mO2et5IVkUX9dS8Jy9q7AiAYMV18t2ZhvVvOPPiEt8k91puZRvue3SqDkcNc0SJy4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.90.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33766641},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f65127b51c0710310a995d6215e34ec630209ed7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.90.7_1789245747812_0.3652876708163604","host":"s3://npm-registry-packages-npm-production"}},"1.91.0":{"name":"@threadbase-sh/streamer","version":"1.91.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.91.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"788cd0b0797896e3ecb881f762c0799708d3b687","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.91.0.tgz","fileCount":376,"integrity":"sha512-JoiLklBMnYUllyfSQT7lDdu0FV3EFNJDkTsioilICnlUxI+mPvf2PQg/oHY3pLtO5syOdRPra76P+6qKlkKZuA==","signatures":[{"sig":"MEUCIQC1QcKojO3Gzr0aMOjhhzf+UEp6AKc6+dLw7vs/3cCCHAIgUre56QYs/lNhsZVTtcF7FQlHUpAflerA4xA5JixD1eg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICBz/Xq8x8hGGku2+87LQlhSeSCr1A2R97X1xyV7FHb/AiBg1peACSWLTZDQOL3hwSDqqnVO0hbELegUks8wZjtEdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.91.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33942342},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0558711de69874ca155337e4c045db602e4889fc","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.91.0_1789246400613_0.4861639860758846","host":"s3://npm-registry-packages-npm-production"}},"1.91.1":{"name":"@threadbase-sh/streamer","version":"1.91.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.91.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e6308f3febd6e8c0dd8978f89e8f53835944b0a9","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.91.1.tgz","fileCount":376,"integrity":"sha512-+gw7Ac0kmMuC/0QQJ4AoNrE627aiUZHNUwZ6VyEW6lXDpxxi5l0W0McJR2+zPaY8XRlQG7OuNyxizGdoPZ7wfQ==","signatures":[{"sig":"MEQCIAbocRKizH295EqQT2AMm4/2B29ACU5bPIq7jbAEZ12OAiAVtLZz2pfevDvidrwO8Y+WFjaYo2sjkijA7WD65zCA1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCTTtbQEr8JEwWBxzWaXbx5VG2Pi9OVmw+4lLn1+qN7sQIgODtIxf/0iUklUdj+sBQjBWWJqDxgofzpKdrL+6U8dPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.91.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33942995},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"64be7f0b7acf98fa629966b9a957c12124d970eb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.91.1_1789253255409_0.9800610053174044","host":"s3://npm-registry-packages-npm-production"}},"1.91.2":{"name":"@threadbase-sh/streamer","version":"1.91.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.91.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"50338775fd88f87e6b19da084c68eb1d1e7d89d1","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.91.2.tgz","fileCount":376,"integrity":"sha512-0kMYWJ/P0smHw//vMCdrsyatl/Qa4o8Lxt/ItANORKhtyehpoFaRsnvRWIvXbWHuJtiK9mQ/Kk3axRrYwDRdAg==","signatures":[{"sig":"MEQCIFI8KDSH2+6FLSkTwVATj42II4rRZYSpFPNL68zQZvA9AiBzOVTHNUKJwCqIWqqV9wJcQh6odp8gqBheuB36XSpdkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCkqx1GqLbICeDVZh6sPW+dlSAK9HkHuxjh+Y4zN8QUZgIhAK9RA/XsC2NDMbSUWD2Q8fV6GQBVpBRsmaEJ8uKlQl6h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.91.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33942418},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8c424067187c276c1fa7c1d5883a52ffff1bf15e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.91.2_1789289441179_0.16350152158666886","host":"s3://npm-registry-packages-npm-production"}},"1.91.3":{"name":"@threadbase-sh/streamer","version":"1.91.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.91.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8e5525ff1fa05d02f46d294d93ff598919abc037","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.91.3.tgz","fileCount":376,"integrity":"sha512-o459OafKYfshDOpAECpKxuaIrF0Y0tFU2TIoDAQGJBsOe7X1WBlnYCih3zV1dlMjA19pDnxXtwQbWBuot2B82A==","signatures":[{"sig":"MEUCIQDj5ud3YyPrNb9cgbMYUlF9fPIewDcnSnAD5KPB6evSgwIgeIdOGt3Me7xVv3TUffRm0Wz5erLquhWz288p9HRgZA0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA0DJ1uhVWLdknfK6u4QaggfL80I3g6UbDJUYmAztt17AiArWUXZCW2uD7FuprwxQLEOAv6m20NfJenz6IraUcPrjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.91.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33945235},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"90a49f3fbe8ca11a61ce9348b3353d1c6f45290e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.91.3_1789291797684_0.45345021663471474","host":"s3://npm-registry-packages-npm-production"}},"1.92.0":{"name":"@threadbase-sh/streamer","version":"1.92.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.92.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"da4c2d52ecc81afced50ece7f60607c828831b28","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.92.0.tgz","fileCount":376,"integrity":"sha512-Al6j+L15jnKMosOqSQnfROEbJmW6ApewHzmWUXXCaWyvXa+JOn6NMFXgthgjDfzH6wepsL0OX7v1bJT9IPwHEQ==","signatures":[{"sig":"MEUCIQCw6IIB5dL6Ln+LRW0GYDNWSrmiBRhFjKPAQD5iWNmTTgIgT1h5xemA4WMbGY4fjB6CbOrI+0ddmy432+BL9k6GvV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVHqoJnRmibO+OO6Qv8+t8tFWlFrrStp/p1MmcbcTAWQIhAJd2mwWerHtRVqTie+dygr1jsCliy4M0mAiU+ge6Tl0F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.92.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33976869},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9c9916a6a468915eb2bbb8caf7f59098c048abdb","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.92.0_1789545018829_0.5447122665130966","host":"s3://npm-registry-packages-npm-production"}},"1.92.1":{"name":"@threadbase-sh/streamer","version":"1.92.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.92.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6b6fd4ad6f3d705f90c9e19a99300c0452cea8dc","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.92.1.tgz","fileCount":376,"integrity":"sha512-FrBcrtFAwRMIAMR+FnSVVuP2CnU/yupPtvU96vsPURfE/CHmE4cyJI/cFGPfthDNSxnDJ1uoMoxn2B1mRwuDXA==","signatures":[{"sig":"MEUCIQD3jzvQINhFAQlCJfFGNXz+XWYQYHAB3k6ANeS0MyP/MAIgW8+l1uEBtdi3bqiQjDoWx0mjI5R1qGnD9+oxLyBlrAc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGWe81ivWx/tmLl5ZXui7MYuTJ+fF0xU6KP3xsu4QMEQIgZO6aRao+KM0lxOWYpBxKA9sCal7ww029sLaoThmsu+U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.92.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":33980832},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"086dcb1d60100c60d941eb8cf6f2d9411dd6b3a9","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.17.5","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.92.1_1789545617952_0.9073260913646506","host":"s3://npm-registry-packages-npm-production"}},"1.93.0":{"name":"@threadbase-sh/streamer","version":"1.93.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.93.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"09a7762c62d049a3254dd21032050f52235df82f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.93.0.tgz","fileCount":378,"integrity":"sha512-kzWJi5MTA/Mix9SoAnSWuL5hJsiE7R3Uquf64YzoDvqnvib6JUBkZkM+RZ0zvZZCa7KMpYW76MDQP6lndIRIcA==","signatures":[{"sig":"MEQCIFVyEYocp1KeSytiuqAtso86F8qjcT+T3eAblTUmntvKAiAa8DLdVER6jf2EsKal3G7Il+oA6QfkyduS0XLUk53RaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDxQuWqo/iWr+r5bFWcLU1BEqXTS2tb4pV9xcUEJYTySgIhALHxSuqfgIZduIlZvcuDY7TWPvWxfreu7yFDtnQDIn+E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.93.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34109378},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7f0ce8c8c7efeb16d765a4bc96231f097623851c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.93.0_1789546506805_0.5637031907417904","host":"s3://npm-registry-packages-npm-production"}},"1.93.1":{"name":"@threadbase-sh/streamer","version":"1.93.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.93.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"233aea6b2ea5b5406e574d2d30778ab05d2c0fc6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.93.1.tgz","fileCount":380,"integrity":"sha512-OJpi8e5je2YC//iefZgD/JfLPXdSVIpK/ert8YVoBE8FmG0McfbLmpA5csF1HuqfyXFSDVSITfFXa6wv5NHTvw==","signatures":[{"sig":"MEQCIFH2ZPBJ0HujDo9W/Gv+eJI8VGeSWsVp5b0Qmsr6yhqEAiAN00KSGVai6hdwdHenaa1Wux1Z8gWwQtFd41fSSW8sAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICK/TrCGwPGtlJHcSGKrbOk+DcxiRzYcdnk/NNYKjWETAiEApBAf2yxlaPkWCz2P3hOHu57y5p7hr8xzfwrUEyKvWK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.93.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34115388},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"444018228e681f764c37f423ba47ff7138f47a96","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.93.1_1789591974507_0.8520534225738872","host":"s3://npm-registry-packages-npm-production"}},"1.93.2":{"name":"@threadbase-sh/streamer","version":"1.93.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.93.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"33b4f0b7d8f895079175a49c9d2a81d72155b066","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.93.2.tgz","fileCount":380,"integrity":"sha512-xGxJJuLxvH7WS21Yuxxxu3QWiKPQET7/NMIyAOxw2unOlIGy/FwGYbqV9fWm4XrW5SFCfQR4COe+uhTofLW0kg==","signatures":[{"sig":"MEYCIQCQNntMan6/jNx0TIOMsZi5idsg5DcO1bPKOQQJc3QWEgIhAO3b0QG39z4RDNLccSqomqYK3EgX+cc5JyqDcH2uGjEL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEMCH1x6q62De9pw2PCjSYFOqcHkioZzQt/oUgOcxzgw/PYCIDKF1nCiVuGGz7ZqJGIZuvpbZ/Il9+aWIdhB3h1pSTz8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.93.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34115388},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"36543381535e1dac48acd1c46e1043a25fc9197e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.93.2_1789593659489_0.7218168217955447","host":"s3://npm-registry-packages-npm-production"}},"1.93.3":{"name":"@threadbase-sh/streamer","version":"1.93.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.93.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c80b341f11441f9e5083aebe56d6c8c086cbd0da","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.93.3.tgz","fileCount":380,"integrity":"sha512-FcWnlHU7aoGtjzUFrc2lJjduEAP/gp9RVrJ579XJNa3TQVifbq9aNHmpueA8H7YASvkZqJexsZ7jiLlA/qmKUw==","signatures":[{"sig":"MEUCIBM26H8W3MVPthADoV19mx+EisyA6/JtFRRvqZQYqvXLAiEAl+FRK3D3IsV1z+j2v/4W3VQtzbR4kf7A5ZVmEWUerLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIETR4yNTyNCEjKMhlW1wPFS2gRGmDyQHgUXvJKd6aVDyAiBZJrICAVvubE3ObY+GSGFoKcHK6ZYb9V6tVEKPyMCWlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.93.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34168442},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1170dc2b958ab0b37b6ad9166b25c23cbd0673fc","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.93.3_1789677140831_0.3654333885300962","host":"s3://npm-registry-packages-npm-production"}},"1.94.0":{"name":"@threadbase-sh/streamer","version":"1.94.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.94.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a842602e2c78c0c9e5c037fd2399a006c5f2a3df","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.94.0.tgz","fileCount":380,"integrity":"sha512-KkD2poOKDonHDfjEPMs2Z8Yzp6Zv+tDQwP0kGBZrrogzNu7vbC1zq7ZOuRbHrK2Odlfa42OXoHuxQHsvlpjlfg==","signatures":[{"sig":"MEYCIQD2HxDV+q0KQO3xW0buGT8KuiBwnLMxNJCasCXAI1KTYAIhALPNmypJ1hEGvm22quYYBFU07DGAqbFqG5wxKao4D1U8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDFYOZqnEnN1UPfxCWUnMYhy2DI1yaqua3/QN/ilNu3zAiEAznZPvsyV6eqEvZrSED6OGEtVNKGWoxv9Izdyu7GfR/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.94.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34177297},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"50ca52492fbf89e12151c78956f029e1ae8907fd","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.94.0_1789730887466_0.6953081445219615","host":"s3://npm-registry-packages-npm-production"}},"1.95.0":{"name":"@threadbase-sh/streamer","version":"1.95.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.95.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"66422a8fa47fab3a7e2f71e76b08895010b473a7","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.95.0.tgz","fileCount":380,"integrity":"sha512-pptL8CaQWgrW4ZXPC2kE8dnsoynH8lsySNwJoMwFVPN/CYDrFEnwPVwkjpFzTJ68zQoO7yzTKhotOyKMwUq6Og==","signatures":[{"sig":"MEUCIQDDyeAjBILOOisWZtuzrtz2+3o53uNzw4BCAOBSZ2YZxwIgMoIIgBpJyp2IM5cUdRE8Xd8d8qcRNxON9MgVUsCytBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDHeE4dpfJNuoqP8FBiNAPMnk3DyeotFtQSW3JO2Rj/HAIgVI15OfesSrWEgiNFF7nNQ3oaP4XCD4a85igWCyJgsmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.95.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34194458},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"fffc7df5f016c99c10ef0f56ca3023d50ba7ccc5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.95.0_1789732056438_0.10302396757927812","host":"s3://npm-registry-packages-npm-production"}},"1.96.0":{"name":"@threadbase-sh/streamer","version":"1.96.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.96.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"bc1d50e79bc9dab210fe3f22b25bbdd6f635169f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.96.0.tgz","fileCount":381,"integrity":"sha512-tHnPUJupW/hMNAzu5iiYIRafdjP8T7oDObSa+jOtn2Fnx9O5DZR0jpJ2h2O9Eg6vrfA0QppWTCgRoU4TDKwy4Q==","signatures":[{"sig":"MEUCIQD8kSUjy9evhP7eqJ95/wwg8f1CAD605cCF5J3jx0rpdwIge8uNX+f2wnTBk7qpJhR4OvKMludta1BSJMR9gbfbaTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDEbHgprhg0dfjSnKM0W7Off/8Rm3djlxxUWIEGj/v3vAiEA8eCOPAlhPzUBjtu9gJ445p5wrG1abC9pBVJxt9l6hjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.96.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34221830},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a0603316c29919898b6e92e04eb785a0fba09b7f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.96.0_1789732819203_0.4848488867603007","host":"s3://npm-registry-packages-npm-production"}},"1.97.0":{"name":"@threadbase-sh/streamer","version":"1.97.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.97.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f8bf0957979dc95457630c36e8988f2efcadc09a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.97.0.tgz","fileCount":381,"integrity":"sha512-NK0WyOu2GtTMcTgFB3s39cy7WpgaxbiaelgW/6DKvk9MsTuCG+94gchunaREB6p+WsnjcAEF45fMxWQLwCvqWw==","signatures":[{"sig":"MEUCIQCLilfF1jEkYdY0l4ny03jidpBjUujO9lwl4mZ0mMttrwIgPSRXDzEy1nnr/AjS5xwB/2n4w9AsMHVpQQcBQTxa5zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDwqQhnPynd/iulv3sa0/1QG2HvFihwoPE8op+BKCquvQIgeVAzdHp3xQtSsCp4G0ObMvNw+IjZsMyyvMimfFoubdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.97.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34221830},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a430cb498f0f720ec36beb7b158beeec2c7407dd","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.18.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.97.0_1789751535430_0.13315930497131379","host":"s3://npm-registry-packages-npm-production"}},"1.98.0":{"name":"@threadbase-sh/streamer","version":"1.98.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"c5bcfa1933509225dee3983c072f4a1c1d2df876","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.0.tgz","fileCount":386,"integrity":"sha512-J+8iXaYd3iEZnEsWXRlNbwQayaMjanjnU50ZWVrx5mW0MPe2k2KDQyzr5YJPBaqc0HZxFXen3YPD/8BdaylLDw==","signatures":[{"sig":"MEUCIHRwXAC8q3TpGWt3rsC9f4SxommNuHC8d8jFosoQFXBPAiEAjidwwdaZITyNoM6M610jzldArkZYa9+qm4WgFycFTfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC1fAph19BoRFclBMXxNim0V0Hr6tPPTYkRFbh2nBwk2AiEA/TiABNbL5MlDkdChUCY/eYXjRFZpsWidy47jiBUlgUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34276231},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"7c1df60ac898a0cb65dbc209fd3a5868fb14f8c7","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.0_1789765935484_0.25315641848126424","host":"s3://npm-registry-packages-npm-production"}},"1.98.1":{"name":"@threadbase-sh/streamer","version":"1.98.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9ab0e9363ff3e210719653bd9ad9a2c085fb135f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.1.tgz","fileCount":386,"integrity":"sha512-slPBG9IQjpOIEWjpezvdCXLL9mrLd2LxG2LPvjxVc58Ckekg4F/AeV0cJR9XEQnyLXWZkQRpweOFm/hPG9RTgw==","signatures":[{"sig":"MEUCIQD19jctE9w5wKQg159iAHy86jsAAx35YdZlPUCpokB9SwIgYCumJv2g/jBbl04zS6UyJnxsytxAWH0/AHK4LNDoehs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD1jZgR6BwsA+FUzi/CaByYooJT8sqncQN4ZGgkURTpIQIgVFjsCMcjKcasvmnf3g7sw5QE3jizm8HYjPAbzxVBrLQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34278743},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"70dc10a7eec36041dcb1e4dc6a9382f285b295e1","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.1_1789811178965_0.332947441054831","host":"s3://npm-registry-packages-npm-production"}},"1.98.2":{"name":"@threadbase-sh/streamer","version":"1.98.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e8d464a1f4ff0027b7dc0576c4ef355233658038","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.2.tgz","fileCount":386,"integrity":"sha512-DHIVJX/ulrCwXQofgWgIHOLG8bnuUI4d2WPL1k31nRxDxpmVisONeN+I0mOQD9pJN2nHxrPOFVQPdF99+LZugw==","signatures":[{"sig":"MEYCIQDEvmtnPAlcG9Qg4xGEr7MeyP9+4iOIUQ+bWcdJfD9tkQIhANa5Y8g2grV5zijOSaQxRsNmnX8+/SzmyL7XnAnFmcGr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICAjnzw8ic1xLKr1svkEBxkxCr2zv2o8eOgaLnapAEB+AiEAjDK3wBO3yDqQbDzw/OiwWEAwmuLFTWkdhz4WOg0yjj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34274309},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"05f8735f52ec7ab94806285ff07df6ec8f757be2","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.2_1789811667771_0.8348396700702441","host":"s3://npm-registry-packages-npm-production"}},"1.98.3":{"name":"@threadbase-sh/streamer","version":"1.98.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9499d77efa2dd5bb0980c2d3a3cdf2361496f12a","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.3.tgz","fileCount":386,"integrity":"sha512-H4MJ7o6xztRtyzyDgPnzDTZqCwr7vlqhWB53C7g6G3LB1Uc3UTmW66mYstJM6PMoPuCmYphHBvQi9Qqkqy6lYQ==","signatures":[{"sig":"MEUCIQDo2v/RsEMtE1QaOG9+QqQJEnrNIgMFT9F+roPBXtZVzAIgDmg09EunBQRV2xO0cvRQuA/tFglPUKpx37kqFqTmX+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDFhfwSAuL7EpuKUddWqW4qSVNJVfq7eXlCn3/D/ysbvwIgAob6H8Hr3u8UJFavjE3sLpjBulbF6kRMjp6wys8hTR8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34275893},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6f340addef78564da13374929187ae9116cc53e1","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.0","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.3_1789812689429_0.9273295739741583","host":"s3://npm-registry-packages-npm-production"}},"1.98.4":{"name":"@threadbase-sh/streamer","version":"1.98.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6523178d8c2b826b54cb3ffac872a421b2f04bf1","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.4.tgz","fileCount":386,"integrity":"sha512-MWnCGANGgCI17s7WcjcTzlsk6cCexviJ7cXTgyzZ0oKJhEZJxlrI2GRvm/mXONnN50PzyTRr83CwzgxMB3gDTw==","signatures":[{"sig":"MEUCIAUhPSJ60QJqMTCSYEmQPKjGhXhUU1PVT1d1HTx43X7bAiEAvX1KMOrn/vpM8CDaSuWmSv6JmgDhSkthlRdRSo2PFCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFWVJ+I5EYE3+FWX7tf62wgFdOeKb3WsZoAN9g6HGDFLAiEAtILM8Lw4w4NzN6jaoxAQK8HB4uctx+ZZm4YYYy3/DJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34280848},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"eb5fa5e22b1e0294a3a274355e868b9144c65c1a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.4_1789814621561_0.3493438493341354","host":"s3://npm-registry-packages-npm-production"}},"1.98.5":{"name":"@threadbase-sh/streamer","version":"1.98.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"01c43bee782f4e65236836cdf7693d68ccee52a7","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.5.tgz","fileCount":386,"integrity":"sha512-marXi4Hkh4qsw4H5/Q9re1/eeeYprjouXJZB1XH1c2uuucYr+Sf1L+Lv9OJIC/zcs8JmIvSIGCZj6EdTHd2ACw==","signatures":[{"sig":"MEUCIQD7BfUl7fRISWHO0QjC5nXrtCRxEDJxhhHDonGSRwnQbwIgA/NqkxxiL+OkvWVjpjQ4/XGq9fCtga6TeFWZUEOwTQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICZ93aLaww4EsR2ncAmz8Vjj/ZUmsXi8OBVisUaYWs1HAiAxydf0+esz0Czc5lY+Q6NDryJWX7PX6ZyBpICIC78GtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34286473},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d431a667091f141d389c853088fc190e20de1197","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.5_1789821223810_0.03142011725238181","host":"s3://npm-registry-packages-npm-production"}},"1.98.6":{"name":"@threadbase-sh/streamer","version":"1.98.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"af56ea50129021aac9efaa40c6211ca89e2b8b42","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.6.tgz","fileCount":386,"integrity":"sha512-FP8CwoPt0jw9Ml7PiYZD0lET3DNWvDi/Pwnocikd91huCu00fydtgMZFxkMgUSNHtJ4oYVY2D1C+an456dIYIA==","signatures":[{"sig":"MEYCIQDPyr+mipSTlTPkULIAAZZ2bIdMik8ulaBDkrNuAV7KQgIhAOAisKsbqlSoxCXNnkyKyRrAPo2DoRpr3WLBmZmpzSxt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICT7egMp/bt25QQbYxHnxtM5+A/Y55WfNKVB4Fo5dZKrAiA2+Pqna6idtn0TBUf4TTpaIH7t5Lq1rdc+B06Caks4uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34288432},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"88d4da33dc89167a43acc05af4e7c071090f70da","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.6_1789822137705_0.0610465306678416","host":"s3://npm-registry-packages-npm-production"}},"1.98.7":{"name":"@threadbase-sh/streamer","version":"1.98.7","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.7","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b0786042b938f81e8407444d2aa7e6cdddcbc125","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.7.tgz","fileCount":387,"integrity":"sha512-I6mHDQAA3dAZsWjDgw2FVcJJlReu2hPIhyBQ1wUGgDV683t2yOV3LSUyLrDRTTyP146j1h6Nm8oOlRDYSlep2w==","signatures":[{"sig":"MEUCIHeNwoCySlmXQX59i/iydRLyA6NoW2Qm1Dxi0+jVPKNYAiEAnDv4gGXIaYNcBpV4PVdJfwUeyKQRzuvfGDGkABD7NDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICBB20KpVS4vaX5wyj8KYcdYEFgbJgLwaPh0zpSJsL+fAiEA+B2EsrwRzRyfzR+Uzdv02mqr9KsSH+Joc2FfMEA4M0c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34289818},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"09dd545ddc146c06cb94590e6a078e47106bb875","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.7_1789823516273_0.9757400248932802","host":"s3://npm-registry-packages-npm-production"}},"1.98.8":{"name":"@threadbase-sh/streamer","version":"1.98.8","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.8","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"a0e593a964cc319ccc4c8854f3f8e71166758ed2","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.8.tgz","fileCount":387,"integrity":"sha512-F+YQ9PQ7ZaaXQGs7Vg1ZPxP5WlbYR/hrL4m8l32u2SA9lQ5ElwMFxfhJjccISM6E5fB9bMezNNbyaiOWnIA1IA==","signatures":[{"sig":"MEYCIQC0bjftI9fJn0zQayyuiSSR2eT7LocBOjVvZGXxHs25lwIhAJmoUXljba+uaPxx4kFHdk+KVNfBmVClJ5MBqJkxDqJg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDjHkOx9ZKCiwZ5tQw2gS6PNTHy9lCsdJMtQvGZUBfiNgIgYNlNnSf/eAGAei7S1YGgwZaK3s6f5LvEBxXinq6n2mU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34488161},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1124131f8f6bf796254cf3f53e0dc86895af9f4a","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.8_1789832675017_0.7171588392591772","host":"s3://npm-registry-packages-npm-production"}},"1.98.9":{"name":"@threadbase-sh/streamer","version":"1.98.9","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.98.9","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f19b1c854c38556d1ad745af76a5f32e4920c696","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.98.9.tgz","fileCount":388,"integrity":"sha512-gUZUHq4i/MZWp/P7X1hWdlStFiBZsnN1z/UXvw7T5L2pJ1EpY46QUQMVXKEoIqOpw8NQ291roL3lytscHvHh2A==","signatures":[{"sig":"MEQCIAQmgXjqXrgonmWuf7+vMKV3l3YFOYx968LbZdKuTC8SAiBoaWnADzYphp0xlH7xCBEnvqi21YppiZkB+khethNbRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICBxz1acm2OG4025smNMnKjw8ncJ8hBvPukRHlmazobFAiEArqvVxWu8PRQEkFhnhy1A2PeOgS+WjTgr+VncAEhU2NI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.98.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34498722},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f7f49ab74de4d3ae0b9550ce3d53379b0c151bbd","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.98.9_1789833258894_0.012502722017393664","host":"s3://npm-registry-packages-npm-production"}},"1.99.0":{"name":"@threadbase-sh/streamer","version":"1.99.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.99.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4b38f96d62243e03eba392961b93218d1bc45f18","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.99.0.tgz","fileCount":391,"integrity":"sha512-Z4ftBligAyR9w5JohxKEaLGl2qyidSm3sDxmTTOrY7ckwrx4FlN23DAGSK3oUZuMsJfLj0xAmWXrDsq8MNpPuA==","signatures":[{"sig":"MEYCIQC1D/aU2ZWA9t4vb5NZsBN9flrPqYBrabLUG2rO9soglQIhAPGB7a2+mAnXXWHNBiLhVycEfCIuj4cuXjwK62D+Sb/4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDEDJ6TfCM5LWq8iPyj4/5ORDVNMQ49CGxRomQzRGfToAIgMzaswNGqgeOd81TbyA+2QR7980xks7psezl0ZusafZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.99.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34572644},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"92e6ba5b3774e9010c04dc85f90cf0b67aecac40","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.99.0_1789848528323_0.5057509474652324","host":"s3://npm-registry-packages-npm-production"}},"1.100.0":{"name":"@threadbase-sh/streamer","version":"1.100.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.100.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d362c6e6de5c0053e79797015f1b4024153163eb","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.100.0.tgz","fileCount":396,"integrity":"sha512-y7sdbLjWbCGRWk7VmwNqD/Ru5fNV20CFiRq8kJHvoiZi8Lq1Ou6WBKstJdEzhETVbnY+FKCElW6KwTowGijWwg==","signatures":[{"sig":"MEQCICnWktXpGa+RxG/zZ0gSLGDUixyt3FqJRpyFZxL8jGSjAiB5lm+oIdQwrZk9iurHrqYpuNZ10Y10NxNFwZ4xiWwUlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAUi5ukuAPq/r2xHkTAt6H8Jf1K88nW+rV/M46Q5rsDhAiAjaebz77738p3GJRdgXOkRuGb3JfFhfvjJT4g8xSiM6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.100.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34681399},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e5b38bc2a502f53129f5755908ed0e52bd6156f2","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.100.0_1789849690090_0.8303269751841758","host":"s3://npm-registry-packages-npm-production"}},"1.101.0":{"name":"@threadbase-sh/streamer","version":"1.101.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"097727ab8f5cdce003c6b376a3bca98dedf2a41c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.0.tgz","fileCount":398,"integrity":"sha512-J+FP9BekHdln/58WhMG5v8fLz7inzaz85qFbxReU1llWagrve8nnMvWTtZaU7pBbBoQxxwK1NlGsY+Utq9D/dA==","signatures":[{"sig":"MEYCIQD2IFLAJN/R+3wqD2H3FzC+PQxDVV76WY17BS29oDJnWAIhAMINmm0vambX0z362P18AJJDlNWi6EKD3kBmjvNzpTWE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGrRS4x2FAJdncW/W4pHIsJDWzmPxV9t5xlwmU/dl/mpAiEAkuW6MLlcXFIVN78EqV9UJL7HgEWrkuEvyBOQF86RXOA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34718149},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6a7db1398a355c832676c6b860b73b348eb6f4e5","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && npx biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"npx biome check --write .","deploy":"scripts/deploy.sh deploy","format":"npx biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.0_1789850218684_0.6554315976653202","host":"s3://npm-registry-packages-npm-production"}},"1.101.1":{"name":"@threadbase-sh/streamer","version":"1.101.1","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.1","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"8a1fdd3d2451044f689309e6a2480599aeb64395","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.1.tgz","fileCount":398,"integrity":"sha512-OwF0eHCDakvrsr7P7Ge3vgQQZGz23yqxp5tF6afywW5a/KOhNIxKGNMAbhD2siOH/eXW1XTq0xvduhImuDEIPQ==","signatures":[{"sig":"MEUCIQCllUgAYfs8PFXKUFHfM0/8b3qLXugVEFUM++v2Mv+xwwIgAbC2e5aY2IxipBPjwq4rKVjHKUK8Tr60zpzhNxZkQdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQvGinWdewaJI4b51njKjTmVrZNmuwNygMgjhCFOWWAwIgUqOsNIzmEdRlyEqzmxJC5hU9wJ5gtIyhnaCzErQDJX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34722942},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6bb3d190aab537ab15057f8c2ead42f7f0e6e7f2","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.1_1790015892464_0.4743010283311546","host":"s3://npm-registry-packages-npm-production"}},"1.101.2":{"name":"@threadbase-sh/streamer","version":"1.101.2","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.2","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"f4671a2dd9e28d17f8964e727ff9be120223c8e4","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.2.tgz","fileCount":398,"integrity":"sha512-9683jQXMhqw6NUCuAR6fGis79LQ2TLJovimwhKFVTEXzMdl6FHWKc27HHuSjfOGYhFiwL1WgPZnWbRuKizhExw==","signatures":[{"sig":"MEYCIQCnD8sPgHCYkADCBXaINXfZ9FkGP0+++/TBkhiIGCGIDAIhAOkaPqB2Tt0XLJeOMgve0Ihlls/vXoWR5oVoO1d+tUeJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIExfYRqCK60hri+KLl9Vg3fQ+bpDUDF7sSDoK0Z2yM36AiEAlrGyNU45driznU3GJZvn/rHKQP4DoM8akw4eJqtp1HI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34727190},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"a1f8c493e7dfc6668fefe08919a627cdd2a1fa5c","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.2_1790018985167_0.10026418973638185","host":"s3://npm-registry-packages-npm-production"}},"1.101.3":{"name":"@threadbase-sh/streamer","version":"1.101.3","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.3","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"4f6dae57c1f844df420e425cf6d90314acd8a40d","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.3.tgz","fileCount":400,"integrity":"sha512-H4oB1qA9MJxYjef+Z7A33Ju5vNZMoxK6B1z8110W+fwfev+mmAa9f9dDpdcmmjheQ6c/yuMoFx9TdkWp8UMnbw==","signatures":[{"sig":"MEYCIQCAeLzHWX/++0Jrx1+HYzU892fc/TkihIL29i0IDCNJrAIhAMNnEnaUVOY7ILavuGtufNYcgH2PJBRrUgVmtWmN1pya","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHIN2OFBsjMIYRySf89q7HCILcICVE3KY/EzGFWGv7X3AiAWO2ncxfBDQwsCnMMTCmcVOj7Rbbq2LKTpV+dwdPSjeg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34766486},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"44b7dde88e5d0389c01fa8481d7577b047f3208b","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.3_1790019966597_0.25204597920580274","host":"s3://npm-registry-packages-npm-production"}},"1.101.4":{"name":"@threadbase-sh/streamer","version":"1.101.4","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.4","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"50db44695a0af3a2007d8e752d3b31ffb68cdfac","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.4.tgz","fileCount":400,"integrity":"sha512-3HZzhrGH+CmAW8SYu4g6OQcW3nVzCrLQLMNKvXIsb8N9T5otBfA2k7wC/oT0XFhQLXXZtQV8PMsOXz2reklpPA==","signatures":[{"sig":"MEQCIBYyzw0MnA9Y/wl4X+nO6VU/ysZpwif36jZObq/a7I0IAiAgBKjYXjEA/dLBaQeh3kHxRb/0zzq3xNyvccqAzLYrZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAfuHnIVF3St84gJ31XvVzx975+JoTXh6xv4a91P5pC0AiBbMYr1I1Q5F35tfGwrRavGFNLUPFHJOfP5s6ldbOWziw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34767254},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d5893332fcbedafbab2b616a565896d7c267b646","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.4_1790111070740_0.1868999736295509","host":"s3://npm-registry-packages-npm-production"}},"1.101.5":{"name":"@threadbase-sh/streamer","version":"1.101.5","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.5","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"6d021422f60ed869342054d927899a27ec09697f","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.5.tgz","fileCount":400,"integrity":"sha512-B08ElplO1sq45PStfWbSUatr9hEfduLvt/78VQeIL3jNd91LATU2NZk0ZJLs/au1yl9mlPa3pATLZ+RouvM3WA==","signatures":[{"sig":"MEYCIQCfL5/+S/TWrYMaKYn08cmh0y2MKLaMDh9Vpv3RVyOpxQIhAK4ih1mOfEzBPTivmw1P3AmlbIdG5gaq3t2ZS3eCESUU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDVdseyQpP5ZDosUIPhYejEB1IraIBRbxeVkqWNt0aqYQIgAy1dPA+twTFXXhtw9Dmpdt8YbgXElNKWBW+lI2768n0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34832025},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"77132c11f11c8901247fce5571e25a6556b91dc8","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.5_1790212179589_0.29161605705500215","host":"s3://npm-registry-packages-npm-production"}},"1.101.6":{"name":"@threadbase-sh/streamer","version":"1.101.6","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.6","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cb80616232e4e44c4dfdc204789933e246a7bece","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.6.tgz","fileCount":400,"integrity":"sha512-nKypMvSYTHPDK3LwAC/e2dnWKQR+hLGK+BW1fXSAmPZViYRLn7CbCSS0qiJ7V+edOgR7utV+DSJtJFxe+DgcEg==","signatures":[{"sig":"MEQCIDra72IajlCnVN2gZSrEk8bJEG2ReQym+g8zeYWTXFXEAiAxw64Pi2O8uIIBHcQVGxTuCj45zkAYA7Gr2D6TkrP1sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDiUEkZlAD8w7tMzjxtRY0Y4HTonm+VH+nUNtwWf3nEBwIgNe5PldBwTDg/rXnmtiZdAveZ+PcPWZn9GpbcSTNMnQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34850769},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"f86891926666deed30790736d8cb01e95c164988","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.6_1790216867949_0.030574770747725966","host":"s3://npm-registry-packages-npm-production"}},"1.101.7":{"name":"@threadbase-sh/streamer","version":"1.101.7","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.7","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d42e99fa0e9a506b6212a1d43b15d44df9160ea6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.7.tgz","fileCount":400,"integrity":"sha512-LKOzG5BELllsHiOBKrH4kZ9gETgfRGnNPe9un1mh7w+3BoEMplSqs514r+7dnkwz1C77r5AOo9FUjtjwWXLQaQ==","signatures":[{"sig":"MEUCIQDQHDBYoTudZM2JQ9thI76Xys8wTxGIrtmfo6cFBMk9dQIgSaK70qiOYoJTXphYOT9M/7CnHKkLoBA1Qwtd1y4G/4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCHHTJXjVvyjKLq9v29WdvuqoydosRQZnlHh1Q9q+Hz4wIhAJV0717PorzszvvDi0uHWyn35RwiMnmdZabt55rGVEuf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34859200},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"251d9f58213096e0fdd7e36b85aca98d3f8996fd","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.7_1790279899530_0.5633186575269173","host":"s3://npm-registry-packages-npm-production"}},"1.101.8":{"name":"@threadbase-sh/streamer","version":"1.101.8","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.8","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"b2371817c38641c7d14a29c37c05e4e7251ee41c","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.8.tgz","fileCount":400,"integrity":"sha512-SrMQyHKUoCCVK/CQOZ5BjQuZLg17nBI92LhF5OM6juJKrFUwwQqa3o56ZBXtPJMpkZV8YE//adKN/DGjPeySCg==","signatures":[{"sig":"MEUCIQDoYwNEKIn5hzAv+nLTishequh24EPELwmq/NYgvxE32gIgGC/ABo12rYRerGhlprfC1wNGPzwi7Ecxsg2an15o0uQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCQZN2SrZAApNpZ8TNJzTrCWqil3dN9OwGfdCix8+GFBAIhALYwcFEkv2gt9s9NiBe3Dpzv/JlkCkbS2431QnogJZza","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34860278},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"19d5f34263a47758ccf0f2ebf0b8406cdd3a0b0e","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.8_1790283263099_0.7691417109619718","host":"s3://npm-registry-packages-npm-production"}},"1.101.9":{"name":"@threadbase-sh/streamer","version":"1.101.9","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.9","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"590a35c773690970b7911eaa3633b9338186d362","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.9.tgz","fileCount":400,"integrity":"sha512-viklSFmzhynN552/OBGM13XYz9Rkj81MDxbSoCGCAkNED+P8p1PgKOlcy14VIyiqjZ2JMERYm+sv566r2UBUFQ==","signatures":[{"sig":"MEUCIQCYCd/RCG800VzCSxcyLzhwdQ2qWAyaXKHT8v2COE7fPQIgKTPk2Vmvl8L4ijeu+VXkXGrvm+FbOOw/yAyy9CEswV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHGS5s/pCGHH+jOInP7+0eyUTrSNmLwyv7ix+Ti+DLLCAiEAoEjk2lBPGqlgHmA6HKBc5KTbE2psgjYAsyIWgBCnwa4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34867907},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d845b68dcbb26297a8c4c2040a2735e666498280","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.9_1790283838196_0.5248118735197351","host":"s3://npm-registry-packages-npm-production"}},"1.101.10":{"name":"@threadbase-sh/streamer","version":"1.101.10","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.10","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9d1552e221bb0cd6f568fbbc4662bf26cd9d6124","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.10.tgz","fileCount":400,"integrity":"sha512-lRUHfJseTEBsG+DlnurIQXRzV6Sp3WV3nb0/QiZ+wn4lMG1/x5sGcVSRZkb0w6gv/iZ9CRPsBnC0jQbGg8qrIQ==","signatures":[{"sig":"MEUCIQCUPMEFVHBXJSCAe+cCPZ5MI476jcbgHI2UxZDJayhzMQIgXaQ4i5WnNxlatHSJC3+l1cMdci+7rZto0rGzf3ltrl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDWDqVazdR9SANLkFZQHH+0ce0BVWRBfVH5K1BkUYvpKgIhAN7O8fDHOYB0w7jb6WGCl3TfiuUmXoUg7QFwMXX9h5Km","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34871198},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1f0d9d85f69866bca0e31fdd85dab0c02c0e2d37","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.10_1790292008657_0.6101327980838465","host":"s3://npm-registry-packages-npm-production"}},"1.101.11":{"name":"@threadbase-sh/streamer","version":"1.101.11","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.11","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"d764692bdd88845928d3aa8052ced9c2f7d4da10","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.11.tgz","fileCount":400,"integrity":"sha512-oqm3Zj1SISPsGhUhg4NYH/au2JkWGcL6YuX/dUYMg8o86vSN7ZPbIeW0II7Yi0kEDaxEZG7zP9J6JihOcQTvYg==","signatures":[{"sig":"MEQCIHLZrNEXOQkJcKKo+wpAPC0b7MhRAzGt2gi/nSAFck6cAiBffnooiFTWbmo0ykGYorGIy8GPVEv/FV3rk4pZjYx5hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDhKmpmRdDnbv6HnZ780wQj3Q21tq3vYqrca3ka5OC9oAiEA3Mma85FrTEPTSmxlSo1Ag9hYsaNagY1jNi55wZmY3L0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34873674},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"6cfeedfb4bceabcd2f87770d0e84fe4987e14afe","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.11_1790292672227_0.005829420833769028","host":"s3://npm-registry-packages-npm-production"}},"1.101.12":{"name":"@threadbase-sh/streamer","version":"1.101.12","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.12","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"1fc1922814aaa9bf1277c9568ac93c40c0020114","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.12.tgz","fileCount":400,"integrity":"sha512-2bDJ3tDTwLIb6Yz1opijt+E3ElyJmP6ZaOQdpmy76f42Ldm3wEacXGGSLd8KcE4hV5yf1QOx91lL/fBQm8HtHg==","signatures":[{"sig":"MEUCIFvBEv4ko18zQORtF+IisW64/0Q17WrL7eg91ykgkSWVAiEAlILMDvjdIV63jiY+uKFYJCEefPo/Z8A3vC3yfTxYurY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCjINl5j890gvtmR7yIJCW66Fvmv3LFj7PjbQRcO2aoqgIgPKmaYJeb6V/dfCOkHKyThvubU3akWiASXPm6ad+Y54M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34875831},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c0fa129ce5b76b7b3df1f3a87c9665a0d41d7243","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.18.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"node-pty":true},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","@types/tar":"^7.0.87","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.12_1790294298541_0.7224474687782638","host":"s3://npm-registry-packages-npm-production"}},"1.101.13":{"name":"@threadbase-sh/streamer","version":"1.101.13","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.13","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"cea56e2aa02d132d4ffc6bfa0d52226973040bf6","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.13.tgz","fileCount":400,"integrity":"sha512-JAdRNfvW5hGZ29Zwgg5PtTgwrgKslJ/x62H2cH7pRHQEsiRvd2HNtLZZ9p6cx2k2Mct4oKSPyZRExWtvx0qA2A==","signatures":[{"sig":"MEUCIQDOc4efWbn07bvAc8oTXSKoSAu+HcGgtr8wVAxQf+yTgwIgWvSIKlDPCVBNrua6M3KGtDXoUpA56uedRRRxWr7JBso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGRtizbQbzpYLwImGeeTVyPCrFbYsS8Gfdacwt0F+lnDAiATkJcb/sAUTlwFcd3bvP0Oa6OKA4JV1DAI4ctuNWA/uQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34873525},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0ee4037564422f963b1a58322bea6fbb92227ad4","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"npm run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"npm run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"npm run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.13_1790335812115_0.03496508542070842","host":"s3://npm-registry-packages-npm-production"}},"1.101.14":{"name":"@threadbase-sh/streamer","version":"1.101.14","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.14","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0efd68c053a2071d0a232832c59482531f5829c8","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.14.tgz","fileCount":400,"integrity":"sha512-vMzcxmzi+qUIdo5dx3O/VbaxYtnASmRV4tPcpRuGrbt+vOSnVO4KRxqsczSip+W1QMDi0w8EiCoLQZXpo024fw==","signatures":[{"sig":"MEQCICv8RmxkHPf0az52Q3TkuGZLAyKbkyRexAf3D359jC3bAiAdRvyXTXh+PyGxY/0UyO0wotA28/GryFYq/KhmsOW4Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIC4tZ/mGZQHrQzRaEalYajEM7th215Gt1oKJAZHtW/7WAiEA4RA6787uO7sGtQO6MOopCskRynVU5iB0LKgTZa11+ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34887466},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"772568fca39cc142602c61a5de9862003335f7af","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.14_1790347628153_0.3321077816608107","host":"s3://npm-registry-packages-npm-production"}},"1.101.15":{"name":"@threadbase-sh/streamer","version":"1.101.15","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.15","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"24cd83318131a79a39478dfbd3b96897ce353511","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.15.tgz","fileCount":400,"integrity":"sha512-5y5mIkrZZRgJgk61psmIcorNqa9pkugTdy9J+SHJdKG9O/77aTsMyXIBquoTXVzKjruGZfVJUtj9HjWzG0wS0w==","signatures":[{"sig":"MEUCIQDdsXiPZqJZZjxANY9XmFg+N5FAh7icUvactsGtZiJjAQIgQnyFAzPgCkcPHFEY7Vos80ZbFWSS3HXTOUnaCMs5UXg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICCDP1e9iql42VgPWVSWxl/Tx1DP6NSqtEIX9JcdaO6+AiEAv/Nm28B7rHJdhN4rB9sf7g8K1bQP7glizY9Bx0eBs6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34890958},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8b38aa17ab52856d4dae2741306ca006eafbdd5f","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.15_1790348135978_0.07490471713663549","host":"s3://npm-registry-packages-npm-production"}},"1.101.16":{"name":"@threadbase-sh/streamer","version":"1.101.16","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.16","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"0f28ad0ae7c1faca1ffb4c42e9b45d2ad40fd348","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.16.tgz","fileCount":400,"integrity":"sha512-U+p4CC9TlD591H2aBWs8fIPvTnsIdRI9mHQ1GxltSden5tYP4pwbS/xtmaGXzR9LMo0vKjizoJyG4HRWfi46Vw==","signatures":[{"sig":"MEUCID0weJ2+RcNQhptXz8MJ6gjU0llV/4dlIz/qQSRProOTAiEApkucklwaL8i0iQr7xb5uz1rpiUTUyLdo3OvtVo5s0Ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDDFkszRFGHunCLKKJ4abR+c1Ut+82XwxfXv00qsMhmgAiAZxWuIhgShCiZzoSYNgK9B4RlXAMMTEQtPNK3Gb46QIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34895605},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ee053465d7541ce8eaf1f48e4508ad6e3d1d7408","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.16_1790356572950_0.980836359028469","host":"s3://npm-registry-packages-npm-production"}},"1.101.17":{"name":"@threadbase-sh/streamer","version":"1.101.17","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.101.17","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"9138eae24c2eb2eac660ecb77d21abee92a786ee","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.101.17.tgz","fileCount":400,"integrity":"sha512-sJVGbI1nm7CiW7L64Q4tMlN3Q1Dqr+RNsg2bogh5ceCkKiWeLnSJU6i978pa4FDUFOhWef2EpjAYHosGKojn3g==","signatures":[{"sig":"MEUCIQDlrDTSHQVyJB0119IYuBgdwbNwcXZ2YsDnHpjDIsa4jwIgZLWpQJYEF4P/WfCHATQXu1aPC6k1E5ih98dWkF+hhic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCr3lcgK8qAM1PxpC6syqHRh0xRoLxLxz2Q279xngk2LwIhAKyBpBHe0MXBrA/dw1U24vvf6CtmdSQRcBnCcOZGq/ir","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.101.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34901866},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8a925b91e1eaef0145329148f0706106f5984b54","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^17.4.2","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.101.17_1790356891540_0.859621640905762","host":"s3://npm-registry-packages-npm-production"}},"1.102.0":{"name":"@threadbase-sh/streamer","version":"1.102.0","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"author":{"name":"Ronen Mars"},"license":"MIT","_id":"@threadbase-sh/streamer@1.102.0","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"dist":{"shasum":"e65bb215bdeeb5911963bddf2f55f05af4c50504","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.102.0.tgz","fileCount":400,"integrity":"sha512-jLAA/0CiqlTEd4HifnySvDo2X60WDODN1zRH7bc8hICFgU+5xzTKz7gpOyAC2CWZ7WOHIrm6CPN2wHZsThXxFQ==","signatures":[{"sig":"MEYCIQCU9XAIUqjHkSC9BXPyv8O3/02OPrlg7Sqqzg+AB6AS3QIhALuC67zjOICmfZ1gzndBioPSXxPLUnO1laB6NcPgp17K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGCJPKpZF20FxDkspP1+zWR/9mKoWreiz7qQKrmeBpnBAiAFR8f+p1LYvLO3j7ioi1gxM1QEJ7UPOhm++UGeFDJezA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.102.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34992327},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"87bacf76b866080233d938842bb7cb5f8c841226","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^18.0.3","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/streamer_1.102.0_1790362631466_0.6853977944800744","host":"s3://npm-registry-packages-npm-production"}},"1.102.1":{"_id":"@threadbase-sh/streamer@1.102.1","bin":{"tb-streamer":"dist/cli.cjs","threadbase-streamer":"dist/cli.cjs"},"bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"dist":{"shasum":"8f312c1a9073a08b99962743be05624bfdc8e5bc","tarball":"https://registry.npmjs.org/@threadbase-sh/streamer/-/streamer-1.102.1.tgz","fileCount":400,"integrity":"sha512-ELjr6o1EQOBqs9GTSbZoEQ52Fegk+KOxtkkx2tb+iCUu/54mmsnF3QwaG5Y9byu++YBd3nlON9s5NOLzcQTjcQ==","signatures":[{"sig":"MEUCIQCQPpZPqTPbte++aX0LsAI1K071v5muwA6x5q+A/Wf8FgIgfC+m9UK8C+wxuwxD5wMhUB0XMLTeIW6kls0btoGdZG4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHeDaihMcP+jM9jF0XwO315eDavCdSvBHYR/jAg8r+6aAiEA30z1pdDgtrl9Z6xPijS1jNxlesU6q0VQmkjJDKfRZX4="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@threadbase-sh%2fstreamer@1.102.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34995823},"main":"dist/index.cjs","name":"@threadbase-sh/streamer","type":"module","types":"dist/index.d.ts","author":{"name":"Ronen Mars"},"module":"dist/index.js","engines":{"node":">=22 <25"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"72f56e36d463333555dab9376aef511954db0742","license":"MIT","scripts":{"dev":"tsup --watch","lint":"tsc --noEmit && biome check . && node scripts/check-no-nul-bytes.mjs","test":"vitest run","build":"tsup && tsc -p tsconfig.build.json && node -e \"const{cpSync}=require('fs');cpSync('src/db/migrations','dist/migrations',{recursive:true});cpSync('src/db/runtime-migrations','dist/runtime-migrations',{recursive:true});cpSync('src/db/pg-migrations','dist/pg-migrations',{recursive:true})\"","check":"biome check --write .","deploy":"scripts/deploy.sh deploy","format":"biome format --write .","migrate":"tsx scripts/migrate.ts","prepare":"patch-package && git config core.hooksPath scripts/git-hooks","pretest":"node scripts/check-node-version.mjs && node scripts/check-native-abi.mjs","test:e2e":"vitest run __tests__/e2e/","deploy:fly":"scripts/deploy-fly.sh","preinstall":"node scripts/check-node-version.mjs --warn && node scripts/check-native-abi.mjs --warn","test:watch":"vitest","db:validate":"tsx scripts/validate-db.ts","dev:verbose":"node \"$npm_execpath\" run build && mkdir -p ~/.threadbase/logs && node dist/cli.cjs serve --verbose 2>&1 | tee -a ~/.threadbase/logs/dev.log","fly:secrets":"scripts/fly-secrets.sh","postinstall":"node -e \"try{require('fs').chmodSync(require('path').join(require.resolve('node-pty'),'..','..','prebuilds',process.platform+'-'+process.arch,'spawn-helper'),0o755)}catch{}\"","deploy:force":"scripts/deploy.sh deploy --force","deploy:linux":"scripts/deploy-linux.sh deploy","lint:changed":"bash scripts/lint-changed.sh","test:verbose":"vitest run --reporter=verbose","deploy:status":"scripts/deploy.sh status","update-schema":"tsx scripts/update-schema.ts","deploy:windows":"pwsh scripts/deploy.ps1 deploy","prepublishOnly":"node \"$npm_execpath\" run build","test:contracts":"vitest run __tests__/contracts/","test:precommit":"vitest run __tests__/canonicalize-project-path.test.ts __tests__/dates.test.ts __tests__/debounce.test.ts __tests__/schemas.test.ts __tests__/version.test.ts __tests__/question-types.test.ts __tests__/pty-host-process.test.ts __tests__/pty-host-windows.test.ts","deploy:rollback":"scripts/deploy.sh rollback","fly:secrets:list":"scripts/fly-secrets.sh --list && scripts/fly-secrets.sh --prod --list","migrate:projects":"tsx scripts/migrate-projects.ts","deploy:skip-tests":"scripts/deploy.sh deploy --skip-tests","deploy:healthcheck":"scripts/deploy.sh healthcheck","deploy:linux:force":"scripts/deploy-linux.sh deploy --force","deploy:linux:status":"scripts/deploy-linux.sh status","test:smoke-isolated":"node \"$npm_execpath\" run build && scripts/smoke-isolated.sh","deploy:windows:force":"pwsh scripts/deploy.ps1 deploy -Force","update-schema:mobile":"tsx scripts/update-schema.ts --mobile","update-schema:shared":"tsx scripts/update-schema.ts --shared","deploy:linux:rollback":"scripts/deploy-linux.sh rollback","deploy:windows:status":"pwsh scripts/deploy.ps1 status","update-schema:desktop":"tsx scripts/update-schema.ts --desktop","deploy:windows:rollback":"pwsh scripts/deploy.ps1 rollback","deploy:linux:healthcheck":"scripts/deploy-linux.sh healthcheck","deploy:windows:healthcheck":"pwsh scripts/deploy.ps1 healthcheck"},"version":"1.102.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba210293-85f4-42e6-af2d-6ce5ffa9969c"}},"homepage":"https://github.com/RonenMars/threadbase-streamer#readme","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"overrides":{"@hono/node-ws":{"@hono/node-server":"$@hono/node-server"}},"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"_npmVersion":"11.20.0","description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","directories":{},"maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false,"fsevents":false,"node-pty":true,"protobufjs":false,"better-sqlite3":false},"dependencies":{"pg":"^8.20.0","ws":"^8.21.1","tar":"^7.5.16","zod":"^4.4.3","hono":"^4.13.7","pino":"^10.3.1","yaml":"^2.9.0","dotenv":"^18.0.3","semver":"^7.8.0","chokidar":"^5.0.0","date-fns":"^4.4.0","node-pty":"^1.1.0","commander":"^15.0.0","pino-http":"^11.0.0","tweetnacl":"^1.0.3","heic-convert":"^2.1.0","@hono/node-ws":"^1.3.1","better-sqlite3":"^13.0.3","tweetnacl-util":"^0.15.1","@xterm/headless":"^6.0.0","qrcode-terminal":"^0.12.0","@hono/node-server":"^2.0.5","@temporalio/client":"^1.18.1","@threadbase-sh/scanner":"^0.19.1","@threadbase-sh/agent-types":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.18.0","tsx":"^4.21.0","tsup":"^8.0.0","vitest":"^5.0.0","@types/pg":"^8.20.0","@types/ws":"^8.5.0","typescript":"^7.0.2","@types/node":"^26.0.1","ajv-formats":"^3.0.1","@types/semver":"^7.7.1","patch-package":"^8.0.1","@biomejs/biome":"^2.4.12","semantic-release":"^25.0.5","@types/heic-convert":"^2.1.1","@semantic-release/git":"^11.0.1","@types/better-sqlite3":"^9.6.0","@semantic-release/exec":"^7.1.0","@types/qrcode-terminal":"^0.12.2","@semantic-release/changelog":"^7.0.0","@semantic-release/commit-analyzer":"^13.0.1","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/streamer_1.102.1_1790375059839_0.3509086328396813"}}},"time":{"created":"2026-06-18T13:07:49.342Z","modified":"2026-09-25T22:24:20.396Z","1.15.0":"2026-06-18T13:07:49.714Z","1.15.1":"2026-06-18T22:22:46.473Z","1.15.2":"2026-06-19T14:53:26.402Z","1.15.3":"2026-06-19T14:58:01.599Z","1.15.4":"2026-06-19T15:07:46.477Z","1.16.0":"2026-06-21T20:31:38.866Z","1.16.1":"2026-06-22T13:07:48.883Z","1.17.0":"2026-06-23T11:54:01.778Z","1.17.1":"2026-06-23T13:14:44.745Z","1.18.0":"2026-06-25T08:23:36.173Z","1.18.1":"2026-06-26T10:45:58.184Z","1.18.2":"2026-06-28T06:50:13.691Z","1.18.3":"2026-06-28T21:57:57.422Z","1.18.4":"2026-06-28T22:07:54.101Z","1.18.5":"2026-06-28T22:51:51.034Z","1.18.6":"2026-06-30T09:18:28.936Z","1.19.0":"2026-06-30T15:11:13.647Z","1.19.1":"2026-06-30T19:30:33.640Z","1.20.0":"2026-06-30T19:44:23.047Z","1.21.0":"2026-06-30T20:44:57.354Z","1.22.0":"2026-06-30T23:13:10.007Z","1.22.1":"2026-07-01T01:06:43.437Z","1.22.2":"2026-07-03T11:28:30.012Z","1.23.0":"2026-07-04T16:44:21.543Z","1.23.1":"2026-07-04T21:11:40.821Z","1.24.0":"2026-07-04T21:24:10.052Z","1.24.1":"2026-07-04T22:58:10.490Z","1.24.2":"2026-07-04T23:20:32.077Z","1.24.3":"2026-07-04T23:28:52.982Z","1.24.4":"2026-07-04T23:38:57.781Z","1.24.5":"2026-07-05T14:18:49.974Z","1.24.6":"2026-07-07T18:56:42.435Z","1.24.7":"2026-07-12T11:12:54.396Z","1.25.0":"2026-07-12T11:54:00.975Z","1.26.0":"2026-07-12T12:16:06.412Z","1.27.0":"2026-07-12T13:00:11.374Z","1.27.1":"2026-07-12T15:58:36.663Z","1.27.2":"2026-07-12T21:04:43.454Z","1.27.3":"2026-07-13T13:13:01.132Z","1.28.0":"2026-07-13T15:13:12.081Z","1.28.1":"2026-07-13T16:26:16.547Z","1.28.2":"2026-07-13T16:43:36.378Z","1.29.0":"2026-07-15T21:34:47.403Z","1.29.1":"2026-07-16T04:03:36.400Z","1.29.2":"2026-07-16T04:16:32.967Z","1.30.0":"2026-07-16T05:26:49.310Z","1.31.0":"2026-07-16T19:57:03.528Z","1.31.1":"2026-07-17T23:48:08.187Z","1.31.2":"2026-07-18T21:57:58.196Z","1.31.3":"2026-07-19T07:14:27.709Z","1.32.0":"2026-07-20T18:44:53.551Z","1.33.0":"2026-07-20T19:29:02.061Z","1.34.0":"2026-08-01T20:09:33.140Z","1.35.0":"2026-08-01T21:15:20.355Z","1.36.0":"2026-08-01T22:03:23.468Z","1.36.1":"2026-08-01T22:32:05.357Z","1.36.2":"2026-08-01T22:51:48.668Z","1.36.3":"2026-08-01T23:07:14.098Z","1.36.4":"2026-08-01T23:29:03.689Z","1.37.0":"2026-08-02T00:47:27.071Z","1.38.0":"2026-08-02T08:04:39.552Z","1.39.0":"2026-08-02T09:00:08.259Z","1.39.1":"2026-08-02T11:17:51.835Z","1.40.0":"2026-08-02T12:07:10.293Z","1.41.0":"2026-08-02T12:29:08.925Z","1.41.1":"2026-08-02T13:31:24.329Z","1.41.2":"2026-08-02T14:15:59.594Z","1.42.0":"2026-08-02T14:49:34.841Z","1.43.0":"2026-08-02T15:18:20.472Z","1.44.0":"2026-08-02T17:29:53.949Z","1.44.1":"2026-08-03T09:04:45.701Z","1.44.2":"2026-08-03T09:39:21.861Z","1.44.3":"2026-08-03T11:00:12.953Z","1.44.4":"2026-08-03T13:11:06.261Z","1.45.0":"2026-08-08T21:00:51.666Z","1.46.0":"2026-08-08T21:47:42.808Z","1.46.1":"2026-08-09T09:22:32.523Z","1.46.2":"2026-08-09T16:43:39.985Z","1.47.0":"2026-08-09T19:56:05.835Z","1.47.1":"2026-08-10T20:39:28.086Z","1.47.2":"2026-08-11T05:35:13.593Z","1.47.3":"2026-08-11T09:07:14.221Z","1.48.0":"2026-08-11T15:45:29.576Z","1.49.0":"2026-08-13T19:06:54.116Z","1.50.0":"2026-08-13T20:52:48.402Z","1.51.0":"2026-08-13T21:11:51.969Z","1.52.0":"2026-08-13T21:19:39.348Z","1.52.1":"2026-08-14T08:22:05.942Z","1.52.2":"2026-08-14T10:20:19.585Z","1.52.3":"2026-08-14T10:25:35.231Z","1.52.4":"2026-08-14T13:02:55.512Z","1.52.5":"2026-08-14T13:15:15.852Z","1.52.6":"2026-08-14T18:38:32.453Z","1.53.0":"2026-08-14T20:12:22.163Z","1.53.1":"2026-08-14T21:04:49.269Z","1.54.0":"2026-08-14T21:24:57.987Z","1.54.1":"2026-08-14T21:42:11.664Z","1.54.2":"2026-08-14T22:02:24.854Z","1.55.0":"2026-08-14T22:57:35.054Z","1.55.1":"2026-08-15T05:46:04.233Z","1.55.2":"2026-08-15T07:33:27.572Z","1.55.3":"2026-08-15T10:01:35.368Z","1.55.4":"2026-08-15T15:28:30.291Z","1.56.0":"2026-08-15T16:05:21.462Z","1.57.0":"2026-08-15T16:08:26.135Z","1.58.0":"2026-08-15T16:25:13.976Z","1.58.1":"2026-08-15T17:32:30.895Z","1.58.2":"2026-08-15T20:08:08.268Z","1.58.3":"2026-08-15T20:45:08.764Z","1.59.0":"2026-08-15T21:40:04.340Z","1.59.1":"2026-08-16T08:07:28.231Z","1.60.0":"2026-08-16T08:30:59.853Z","1.61.0":"2026-08-16T08:52:55.231Z","1.61.1":"2026-08-16T20:00:55.101Z","1.61.2":"2026-08-17T19:26:59.440Z","1.62.0":"2026-08-18T10:15:11.704Z","1.63.0":"2026-08-18T20:16:24.279Z","1.64.0":"2026-08-20T01:03:29.556Z","1.65.0":"2026-08-20T08:18:43.010Z","1.66.0":"2026-08-20T08:39:12.001Z","1.67.0":"2026-08-20T08:53:48.524Z","1.67.1":"2026-08-20T16:44:31.298Z","1.67.2":"2026-08-20T16:51:58.331Z","1.67.3":"2026-08-20T18:59:41.814Z","1.67.4":"2026-08-21T05:25:47.339Z","1.68.0":"2026-08-21T05:41:41.371Z","1.68.1":"2026-08-21T21:27:34.462Z","1.69.0":"2026-08-23T14:07:14.314Z","1.69.1":"2026-08-23T18:00:25.613Z","1.69.2":"2026-08-25T04:51:36.590Z","1.69.3":"2026-08-25T05:09:56.502Z","1.69.4":"2026-08-25T05:29:58.135Z","1.69.5":"2026-08-25T05:41:40.458Z","1.69.6":"2026-08-25T06:17:34.184Z","1.70.0":"2026-08-27T07:04:34.679Z","1.70.1":"2026-08-28T09:01:30.651Z","1.70.2":"2026-08-28T10:32:42.300Z","1.70.3":"2026-08-28T11:05:37.697Z","1.70.4":"2026-08-28T14:24:24.768Z","1.70.5":"2026-08-28T15:05:43.798Z","1.70.6":"2026-08-28T15:48:52.536Z","1.71.0":"2026-08-29T18:17:57.107Z","1.72.0":"2026-08-31T07:45:34.303Z","1.72.1":"2026-08-31T15:26:56.459Z","1.73.0":"2026-09-01T06:32:11.222Z","1.74.0":"2026-09-02T15:50:30.256Z","1.75.0":"2026-09-04T05:38:35.821Z","1.75.1":"2026-09-04T06:54:14.388Z","1.75.2":"2026-09-04T16:56:45.085Z","1.76.0":"2026-09-04T18:17:45.745Z","1.77.0":"2026-09-04T18:47:00.746Z","1.77.1":"2026-09-04T21:20:43.975Z","1.77.2":"2026-09-05T02:10:46.161Z","1.77.3":"2026-09-05T02:32:00.506Z","1.77.4":"2026-09-05T04:34:05.307Z","1.77.5":"2026-09-05T13:56:28.098Z","1.78.0":"2026-09-05T23:05:34.831Z","1.79.0":"2026-09-06T08:41:09.022Z","1.80.0":"2026-09-06T09:31:32.293Z","1.81.0":"2026-09-06T14:26:53.002Z","1.82.0":"2026-09-06T14:42:20.021Z","1.82.1":"2026-09-06T21:49:53.688Z","1.83.0":"2026-09-06T22:41:46.200Z","1.84.0":"2026-09-06T23:08:00.623Z","1.84.1":"2026-09-07T04:59:07.494Z","1.85.0":"2026-09-07T11:38:38.048Z","1.86.0":"2026-09-07T17:22:10.157Z","1.86.1":"2026-09-07T18:13:24.355Z","1.86.2":"2026-09-07T21:01:02.356Z","1.87.0":"2026-09-08T06:24:46.141Z","1.87.1":"2026-09-08T13:51:04.247Z","1.87.2":"2026-09-08T15:03:07.951Z","1.88.0":"2026-09-08T15:28:47.767Z","1.89.0":"2026-09-08T17:02:52.525Z","1.89.1":"2026-09-08T18:04:01.875Z","1.89.2":"2026-09-08T19:43:18.639Z","1.89.3":"2026-09-09T20:23:09.615Z","1.89.4":"2026-09-10T15:48:18.690Z","1.89.5":"2026-09-10T16:05:23.573Z","1.89.6":"2026-09-10T16:21:53.578Z","1.89.7":"2026-09-11T18:10:41.498Z","1.89.8":"2026-09-11T18:33:42.771Z","1.89.9":"2026-09-11T18:52:52.562Z","1.89.10":"2026-09-11T20:24:54.282Z","1.89.11":"2026-09-11T20:45:26.350Z","1.89.12":"2026-09-11T21:01:00.018Z","1.89.13":"2026-09-11T22:34:44.940Z","1.89.14":"2026-09-11T23:08:48.137Z","1.89.15":"2026-09-12T00:39:00.802Z","1.89.16":"2026-09-12T01:05:25.516Z","1.90.0":"2026-09-12T01:43:10.253Z","1.90.1":"2026-09-12T02:07:53.429Z","1.90.2":"2026-09-12T07:12:07.671Z","1.90.3":"2026-09-12T08:00:50.224Z","1.90.4":"2026-09-12T08:32:10.530Z","1.90.5":"2026-09-12T09:51:04.035Z","1.90.6":"2026-09-12T16:07:01.922Z","1.90.7":"2026-09-12T20:42:28.075Z","1.91.0":"2026-09-12T20:53:20.882Z","1.91.1":"2026-09-12T22:47:35.622Z","1.91.2":"2026-09-13T08:50:41.575Z","1.91.3":"2026-09-13T09:29:57.873Z","1.92.0":"2026-09-16T07:50:19.120Z","1.92.1":"2026-09-16T08:00:18.169Z","1.93.0":"2026-09-16T08:15:07.005Z","1.93.1":"2026-09-16T20:52:54.735Z","1.93.2":"2026-09-16T21:21:00.157Z","1.93.3":"2026-09-17T20:32:21.064Z","1.94.0":"2026-09-18T11:28:07.708Z","1.95.0":"2026-09-18T11:47:36.642Z","1.96.0":"2026-09-18T12:00:19.441Z","1.97.0":"2026-09-18T17:12:15.717Z","1.98.0":"2026-09-18T21:12:15.708Z","1.98.1":"2026-09-19T09:46:19.179Z","1.98.2":"2026-09-19T09:54:27.959Z","1.98.3":"2026-09-19T10:11:29.664Z","1.98.4":"2026-09-19T10:43:41.820Z","1.98.5":"2026-09-19T12:33:44.045Z","1.98.6":"2026-09-19T12:48:57.922Z","1.98.7":"2026-09-19T13:11:56.519Z","1.98.8":"2026-09-19T15:44:35.307Z","1.98.9":"2026-09-19T15:54:19.083Z","1.99.0":"2026-09-19T20:08:48.556Z","1.100.0":"2026-09-19T20:28:10.307Z","1.101.0":"2026-09-19T20:36:58.988Z","1.101.1":"2026-09-21T18:38:12.649Z","1.101.2":"2026-09-21T19:29:45.358Z","1.101.3":"2026-09-21T19:46:06.821Z","1.101.4":"2026-09-22T21:04:30.940Z","1.101.5":"2026-09-24T01:09:39.794Z","1.101.6":"2026-09-24T02:27:48.185Z","1.101.7":"2026-09-24T19:58:19.720Z","1.101.8":"2026-09-24T20:54:23.293Z","1.101.9":"2026-09-24T21:03:58.429Z","1.101.10":"2026-09-24T23:20:08.861Z","1.101.11":"2026-09-24T23:31:12.416Z","1.101.12":"2026-09-24T23:58:18.755Z","1.101.13":"2026-09-25T11:30:12.362Z","1.101.14":"2026-09-25T14:47:08.368Z","1.101.15":"2026-09-25T14:55:36.174Z","1.101.16":"2026-09-25T17:16:13.159Z","1.101.17":"2026-09-25T17:21:31.735Z","1.102.0":"2026-09-25T18:57:11.685Z","1.102.1":"2026-09-25T22:24:20.022Z"},"bugs":{"url":"https://github.com/RonenMars/threadbase-streamer/issues"},"author":{"name":"Ronen Mars"},"license":"MIT","homepage":"https://github.com/RonenMars/threadbase-streamer#readme","keywords":["claude","claude-code","pty","websocket","terminal","streamer","threadbase"],"repository":{"url":"git+https://github.com/RonenMars/threadbase-streamer.git","type":"git"},"description":"PTY session management, WebSocket streaming, and REST API server for Claude Code conversations","maintainers":[{"name":"ronenmars","email":"ronenmars@gmail.com"}],"readme":"# @threadbase-sh/streamer\n\nRuns and manages Claude Code sessions on a server: spawns them in a PTY, streams terminal output over WebSocket, and exposes a REST API for conversation history, search, and session control.\n\n## Quick Start\n\n### npm (recommended)\n\n```bash\nnpm install -g @threadbase-sh/streamer\ntb-streamer set-key <YOUR_API_KEY>   # one-time setup\ntb-streamer serve\n```\n\nOnly `node-pty` compiles on install; everything else ships prebuilt.\n\n### Homebrew (macOS + Linux)\n\n```bash\nbrew tap RonenMars/threadbase\nbrew install tb-streamer\ntb-streamer set-key <YOUR_API_KEY>   # one-time setup\nbrew services start tb-streamer      # also starts on login\n```\n\nStop/restart with `brew services stop|restart tb-streamer`. Mutually exclusive with the manual `scripts/deploy.sh` install — if switching from that, run `launchctl bootout gui/$UID/com.threadbase.streamer` first.\n\n### Build locally\n\n```bash\nnpm install\nnpm run build\nnode dist/cli.cjs serve --verbose --local-no-auth\n```\n\nThat is the interactive path: same `~/.threadbase/` as a supervised install (`server.yaml`, cache, `runtime.db`), but it will prompt if port 8766 is already taken. `--prod` skips those prompts and the prod-takeover flow; it is not a separate environment. To run the checkout as launchd would:\n\n```bash\ntb-streamer prod stop\nnode dist/cli.cjs serve --port 8766 --verbose --prod\n```\n\nRestore the supervised instance with `tb-streamer prod start`. Detail: [docs/guides/prod-dev-lifecycle.md](docs/guides/prod-dev-lifecycle.md).\n\n#### Server address\n\nBy default, the server listens on port `8766` on all interfaces (WebSocket path: `/ws`).\n\n#### Automatic updates\n\nnpm and Homebrew installs can auto-update: [docs/guides/auto-update.md](docs/guides/auto-update.md).\n\n## Remote Access\n\nThe server listens on port 8766 on all interfaces by default, so devices on the same LAN can already reach it. To restrict it to this machine, start it with `tb-streamer serve --host 127.0.0.1`. To let the mobile app reach it from *outside* your LAN, expose it via a tunnel — the fastest is a Cloudflare quick-tunnel (no account needed):\n\n> **Before you do this, read [Security](#security--read-this-before-exposing-the-server).** A tunnel makes the server reachable from the public internet, and the API key is the only thing between a stranger and a shell on this machine.\n\n```bash\nbash scripts/remote-access/cloudflare.sh      # macOS/Linux/WSL/Git Bash\npwsh scripts/remote-access/cloudflare.ps1     # anywhere pwsh is installed\n```\n\nOther providers and full setup: [docs/guides/remote-access](docs/guides/remote-access/README.md).\n\n## Development\n\n```bash\nnpm test                  # run tests\nnpm run lint              # type-check + lint\nnpm run format            # auto-format\nnpm run build             # build ESM/CJS + copy migrations\nnpm run dev               # tsup watch only — does not start the server\nnpm run dev:verbose       # build + serve without --prod; tee to ~/.threadbase/logs/dev.log\nnpm run migrate           # apply SQLite migrations\nnpm run db:validate       # check for missing/duplicate/orphaned project_id data\n```\n\n## Security — read this before exposing the server\n\n**The API key is equivalent to a shell on this machine.** The streamer exists to start Claude Code sessions and type into them, so anyone holding the key can run commands as your user, in any project the server can reach. Treat it like an SSH private key, not like a web session token.\n\nThe key lives at `~/.threadbase/server.yaml` as plaintext (`chmod 0600`), which is the same posture as `~/.aws/credentials` or `~/.npmrc`. Rotate it with `POST /api/auth/rotate` if it leaks; re-pair your devices afterwards.\n\n**The server listens on all network interfaces by default**, not just loopback. So every device on your LAN can already reach port 8766, and the API key is the only thing stopping them. On a home network that is usually fine; on café Wi-Fi, a co-working space, or a corporate VLAN it is not. To bind only to loopback, run:\n\n```bash\ntb-streamer serve --host 127.0.0.1\n```\n\n**A tunnel extends that to the entire internet.** From that moment the key is the only thing between a stranger and your filesystem.\n\nFor stricter network policies, also use your firewall or a network namespace.\n\n### There is no spend limit\n\nNothing in this server caps what a session costs. There is no per-session, per-day, or total ceiling, and no way to configure one — a runaway agent bills your provider account until you stop it. (`--max-budget-usd` is not a workaround: it only applies to `claude --print`, which this server never uses, so it was silently inert and has been removed.)\n\nThe practical bound is that a session waits for input between turns. Auto-resume and bypass modes both weaken that bound — see below.\n\n### Permission modes decide how much a session can do unattended\n\nSessions spawn with `--permission-mode`, default `acceptEdits`: file edits are auto-approved, shell commands still prompt. The first-run prompt offers only `acceptEdits` and `manual`, so the unattended modes are never something you pick by accident.\n\n`bypassPermissions` and `dontAsk` are available through `--default-permission-mode` and `PUT /api/config/claude-flags`, and they remove the confirmation step entirely. **A session in either mode is unattended arbitrary code execution**: a leaked key no longer stops at a human-in-the-loop prompt. `--add-dir` compounds this by widening filesystem scope beyond the project.\n\nIf you enable one, you are accepting that the auth boundary is the *only* remaining control. Two guardrails exist and neither is a substitute for that judgement: `PUT /api/config/claude-flags` is refused with 403 while `--local-no-auth` is active, and every flag change is logged with its old and new value.\n\n### Auto-resume starts agents without you\n\n`auto_resume_on_boot` in `server.yaml` re-starts sessions that a previous run was interrupted mid-flight. It defaults to `false` and is never enabled implicitly — it is the one setting that lets the streamer start an agent nobody asked for in that moment, and combined with a bypass permission mode that is unattended code execution after a reboot.\n\nLeave it off unless you have a reason, and do not combine it with a bypass mode unless you fully trust everything that can reach the API.\n\n### Reporting a vulnerability\n\nSee [SECURITY.md](https://github.com/RonenMars/threadbase/blob/main/SECURITY.md) in the umbrella repo.\n\n## Persistence\n\nConversation metadata is cached in SQLite at `~/.threadbase/cache/cache.db`, created and migrated automatically — no setup needed.\n\nLive PTYs do not survive a restart, but sessions are not lost: the managed-session registry (`~/.threadbase/runtime.db`) brings interrupted sessions back in `GET /api/sessions` as resumable stubs, and any conversation can be resumed with `POST /api/sessions/resume`. History itself is always on disk, written by the provider.\n\nPostgreSQL is optional and only stores upload records today. Enable it by setting `THREADBASE_DATABASE_URL`; migrations run automatically.\n\n## Architecture\n\n```mermaid\ngraph LR\n    subgraph Mobile[\"tb-mobile\"]\n        Client[Mobile / CLI client]\n    end\n\n    subgraph Streamer[\"tb-streamer\"]\n        API[API layer<br/>src/api]\n        Core[Core engine<br/>server.ts]\n        WSHub[WS hub]\n        PTY[PTY sessions<br/>node-pty]\n        Watcher[Conversation watcher<br/>chokidar]\n        Cache[(SQLite cache<br/>cache.db)]\n    end\n\n    subgraph ScannerPkg[\"tb-scanner (npm dep)\"]\n        Scanner[ConversationScanner]\n        SCache[(SQLite index<br/>index.db)]\n    end\n\n    Client -- HTTP --> API\n    Client -- WebSocket --> WSHub\n    API --> Core\n    Core --> WSHub\n    Core --> PTY\n    Core --> Watcher\n    Core --> Scanner\n    Watcher --> Cache\n    Watcher --> WSHub\n    PTY -- JSONL --> Watcher\n    PTY -- terminal_output --> WSHub\n    Scanner --> SCache\n    Scanner --> Cache\n```\n\nThree layers: **core engine** (`src/*.ts`) → **API layer** (`src/api/` + `src/index.ts`) → **CLI** (`cli/`).\n\n- `POST /api/sessions/start` / `resume` spawns `claude` in a PTY; output streams to WebSocket clients as `terminal_output`, with a `terminal_replay` snapshot on subscribe.\n- `SessionStore` tracks both PTY-managed sessions and externally-running `claude` processes discovered on disk.\n- A chokidar-backed watcher tails conversation JSONL files into the SQLite cache, so list/search endpoints don't scan the filesystem.\n- A WebSocket subscriber disconnecting never stops the agent — sessions outlive a sleeping phone or a dropped connection. A PTY is put on hold (history intact, resumable anytime) only on an explicit `hold_session` message, or by the idle reaper after 6 h of agent silence.\n\nMore detail: [docs/how-it-works.md](docs/how-it-works.md) and [docs/architecture/](docs/architecture/README.md).\n\n## Feature flags\n\nStreamer experiments are the `FEATURE_FLAGS` object in `src/feature-flags.ts`, keyed by name (`ptyHost`, `liveActivityPush`, …). `--feature <id=bool>` and `feature_flags:` in `server.yaml` use **those same camelCase keys**. Env vars are a different spelling (`THREADBASE_FEATURE_PTY_HOST`) and outrank both.\n\nUnknown yaml keys (typos, snake_case, the env name) are dropped with a warning; they do not stop the boot. Flags resolve once at boot — a change needs a restart. List and provenance: `GET /api/config/feature-flags`.\n\nOperator detail: [docs/guides/feature-flags.md](docs/guides/feature-flags.md). Implementation: `CLAUDE.md` § Feature flags.\n\n## REST API\n\nFull endpoint reference: [docs/api-reference.md](docs/api-reference.md).\n\n## Mobile Pairing (QR)\n\nA pairing QR is printed on server start (skip with `--no-pair-qr`), or reprint one anytime with `tb-streamer pair`. Scanning it trades a single-use token for a sealed API key — the key itself never appears in the QR.\n\nIf the phone can't reach `localhost`, give it a reachable address via (in order of precedence) `--public-url`, `THREADBASE_PUBLIC_URL`, or `public_url:` in `server.yaml`. HTTPS is required except for `localhost`.\n\n## Global CLI Commands\n\nDeploying installs two equivalent global commands wrapping `~/.threadbase/cli.js`: `tb-streamer` and `threadbase-streamer`. Details: [docs/guides/deploy-internals.md](docs/guides/deploy-internals.md).\n","readmeFilename":"README.md"}