{"_id":"octomux","_rev":"31-fc9f97a8e5e7ff4d6c6028f666648000","name":"octomux","dist-tags":{"latest":"1.6.2"},"versions":{"1.0.0":{"name":"octomux","version":"1.0.0","_id":"octomux@1.0.0","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"5c8653e5dd2a38ef829444b07944c9d99a4552de","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.0.tgz","fileCount":56,"integrity":"sha512-EOdkOjoTHCJRX9ZHMNb02HKaIyhLBhG65mnHijfcvX8EbgWR+eBWut43Qg4/PBNwsDwczMG8q273mrPQIXZU6w==","signatures":[{"sig":"MEYCIQCXlR7fqJG9R79EF3AGGm7VNNspGwINCdTg7/rNKvOIVgIhAKcUmEmy//gr86dNST4T+WMxCCkMeTS84jnpQU01fG13","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1306297},"type":"module","engines":{"node":">=20"},"gitHead":"e7595a4c40fd2cd682f3b025ad5d301d27775a40","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"chmod +x node_modules/node-pty/prebuilds/darwin-*/spawn-helper 2>/dev/null || true","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"_npmVersion":"11.1.0","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"23.8.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.0_1773577336995_0.10742680779705283","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"octomux","version":"1.0.4","_id":"octomux@1.0.4","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"c4f8675baac0d3eaca18e8c6559be9c32e2c769a","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.4.tgz","fileCount":34,"integrity":"sha512-O/qSO9N6jMBdljtG65adbI0A9ZdHIm5D9umgQCVt96heKQaSE6wdGaBVh7DwkaUowBUdkxhE551J1+CAFQKBaQ==","signatures":[{"sig":"MEUCIQCgj+2FP3zDei7CR32ZnD9IlbcVoHMiCZnMg211+pFs6QIgGBKjLI1GhMaxbwHE/TZFsY7TP64fv9OsFYbR/PQZBRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1245967},"type":"module","engines":{"node":">=20"},"gitHead":"d90d60fb686b81f0ebc1fc8e3240d55c1165079e","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"chmod +x node_modules/node-pty/prebuilds/darwin-*/spawn-helper 2>/dev/null || true","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.11.1","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.4_1773766429266_0.49885250515886326","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"octomux","version":"1.0.7","_id":"octomux@1.0.7","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"d971370abc64073391f7a3cf5b817a5b736d7a0b","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.7.tgz","fileCount":34,"integrity":"sha512-0YX2ZImCNDop777G0qQwDdY6UDXU2tRdoaTVblhmUWbUVDcTDZ4HFps8xSIt8JEEkIG+Jx9wX5B3MZBwa+AhcA==","signatures":[{"sig":"MEUCIEC3q3wCB9pesGAS6O94sMDOr5HbNLb+GIylg3vksX/sAiEAi0Sh2ckfyizLoY2hHKdei6fLJFS5QsvCVakNAEqwiNk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1248871},"type":"module","engines":{"node":">=20"},"gitHead":"473835506fc70473b1e70c39a43746eaa526221f","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.11.1","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.7_1773862244741_0.019882588995948858","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"octomux","version":"1.0.8","_id":"octomux@1.0.8","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"597d72082e8059736aff1464c768107eafff5cab","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.8.tgz","fileCount":34,"integrity":"sha512-4zfzpDwwfnZgWoMrvpokcml6sE0AzduLkajoCbYx1k0cw2KGw7/C4bqrW9vprGRiHaFXazIQdLTVfMrTSPbXdQ==","signatures":[{"sig":"MEQCIC/EeaBPAnOhqghNP5JNeQ37RbZRxXclCuy9/gwWfpN4AiBEKHrb6IO+zqMVXVNBuVOCL+Fh0c4vpZjFTfb3sK9tQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1248871},"type":"module","engines":{"node":">=20"},"gitHead":"9526070db3207d6c9671c59c41cb2016887e82c6","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.11.1","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.8_1773864548290_0.15119086766575585","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"octomux","version":"1.0.9","_id":"octomux@1.0.9","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"4dfb03505375927e312a3cecd3d907b013bee85f","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.9.tgz","fileCount":34,"integrity":"sha512-0fVTGP9EPcoUXDRe9JCxDLFVEXDF9hAX3q41wFu9LlBhdgGIphBSh5X7/HupXHRQ+QNw5pzVyQw+EBvd0kNDxQ==","signatures":[{"sig":"MEYCIQCRfinnhZC+STUQHXzZAXkFdo3L6GN3jebs3NqXGfK87QIhANDqcpu+UZsrseQtGhG7GSq9ZTVulgRFeZEEPcEOiYc/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1261354},"type":"module","engines":{"node":">=20"},"gitHead":"7e93cba4e843211f8845eb936de1e0d9bafab08a","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.0","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.9_1773901575423_0.7482014716513405","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"octomux","version":"1.0.10","_id":"octomux@1.0.10","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"9494dddd74615706ec784535e2644580013e1793","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.10.tgz","fileCount":34,"integrity":"sha512-0n1GX4TRrxfSjENyKtR/Y5kvL1z2tBAySaKyOiDrFSIQZ3UylW6ToQGnugxmAuHqjAtv84Fx+IGXj+8IXKuNUQ==","signatures":[{"sig":"MEUCIF6qHvAKRryjbYYyvWEheu1QaQ7wS6lNRNR0GrEImjv1AiEAj9F8K1oy3pdfPf8wI6B1KfLTnxarwqQwz09AhaSzaaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1277765},"type":"module","engines":{"node":">=20"},"gitHead":"7fa2c10b8bfa4445ce323a3975fdc2664b8a2ea1","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.0","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource-variable/geist":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.10_1773998413426_0.5163655382269028","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"octomux","version":"1.0.11","_id":"octomux@1.0.11","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"0f40178b6e7ea21548190fcef8bab884a3b1428f","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.11.tgz","fileCount":44,"integrity":"sha512-iWdvwCUbMBRd2W3lSoc/2brftJ5YpW0RiNR2Ws4O0bu5Y4syxyRcvpkV5nhhJSEyHJLMGDN/63s3fW7CSpW8Qw==","signatures":[{"sig":"MEQCIEkfWqfJmH/d4bCiQm66z5K3FNoO7pLLsW39remPckrwAiA5gNWABN4gqlehsBlPTbDMOBXiOUGq665olQMhIt7vFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1363425},"type":"module","engines":{"node":">=20"},"gitHead":"e1e620b2460ce6a0df7439aadd523099c30132bd","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.0","description":"Orchestrate autonomous Claude Code agents from a web dashboard. Create tasks, watch agents work in live terminals, get PRs.","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.11_1774253984910_0.9899266265620852","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"octomux","version":"1.0.12","_id":"octomux@1.0.12","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"781edb2276202441faf709bb5f7eb53a68994e3d","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.12.tgz","fileCount":44,"integrity":"sha512-6ZHxWPfY8mnt9so4NgCUhuasTETl0MitwYkpIKH/v27xkALkW0G1A7vjRZfXH/W7Ar7sjKZIa6cvbGTIMfPiEg==","signatures":[{"sig":"MEUCIQDLriAC9owwlHzbSmCLLEWSpnneFoFpS59VQLp0J0m6LwIgXHCQCVMtKnUkns7h4KZqfjnAu5FetWMqSC84ZUCtvBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1369581},"type":"module","engines":{"node":">=20"},"gitHead":"2d564c2dfe74058725b13fdfea53aba4669088f7","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.0","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.12_1774296008824_0.07424218658487103","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"octomux","version":"1.0.13","_id":"octomux@1.0.13","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"2dc463c8a65439f64ca6c5c0106b281537ed1d3a","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.13.tgz","fileCount":47,"integrity":"sha512-6Kb8Vk+DQU24E/pKM8hyGu0qzNqKUiEc49u+fI6iGov1yfcxeUYFdnB4RpQDd+K8/JUXeaA2f58omsF5PQLvjA==","signatures":[{"sig":"MEUCICOzVjBZHCATnCvIGTLqeSo5R6QYgsXgKJyCub412HVcAiEAuTZJMgrPrXCzSVXioZkngvb15ABxp7lmak5Y7PYYehY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1374548},"type":"module","engines":{"node":">=20"},"gitHead":"e61cb838e58f69d642f62a6d6c2856ef7b40f19a","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws && cp server/orchestrator-prompt.md dist-server/","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.0","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.13_1774333987769_0.6262957748492701","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"octomux","version":"1.0.15","license":"MIT","_id":"octomux@1.0.15","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"462eddcbbcfed4a9800113db7212d58225d5fc30","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.15.tgz","fileCount":53,"integrity":"sha512-aLIF+8xfBJtPmlb/SQh715pvWcPGj0A7Eml6fdm0xze9jEsM5GqfUUXxam11g/yD8rep7M3TZoIDxGAA03RHCg==","signatures":[{"sig":"MEUCIQCjKvJ5z5YqhyDtQiH8vuzWAhhR3ra2nPnrgkOdXsi10AIgXFAktzhvGyaV+h02slBvOLlTAQLO49sS9tiiCvt4nWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.0.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1396607},"type":"module","engines":{"node":">=20"},"gitHead":"d68cbf7cb6571c5a2d60afc4f37836fd0d49ec46","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"11.12.1","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.0","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.15_1774604084862_0.8722193610318605","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"octomux","version":"1.0.23","license":"MIT","_id":"octomux@1.0.23","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"0105449e73b366cbedc075318baffea5de6637d6","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.23.tgz","fileCount":55,"integrity":"sha512-a3Q0kueDXwqw8zFk8WlcUYS4IIRu+nHQ1+S8IIfeTpUeWpawOy174kRmhUUy8Zvuj1QDiVu6na7ItFFNrYFlFA==","signatures":[{"sig":"MEUCIEl1pfX1V/5gmH6yOdLS9eDZ4WwBP0m0siVOH/E8jE5CAiEAwS/zvtHSn0kSiWXS2xjBYO28q1tdTq1PM2ABYHvzDtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1399293},"type":"module","engines":{"node":">=20"},"gitHead":"8af144b9fa93755a375f17fc96583e137a92618b","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.4","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.23_1774620526452_0.8864495692061007","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"octomux","version":"1.0.24","license":"MIT","_id":"octomux@1.0.24","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"9d5fd670fe57588f95278786d3e95200f227e74a","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.24.tgz","fileCount":55,"integrity":"sha512-jaqauztNyl1mBK4TWuerbkjqxYrLn2uBfSibGEqXD66Li+P4ie3SRW2gESNwPjtF9klKr+B2vGAa8AgatpOaWQ==","signatures":[{"sig":"MEUCIQDbdK61mp7zjkLICArd+E+NVaBiBcUk6pWJH6w74Qu3OAIgUVdDjAfxweXD8d2DV8JfxqY5OY199jwjNdeep2ZELPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1401788},"type":"module","engines":{"node":">=20"},"gitHead":"a3a98c71b03fb7e2db2db880991aaa56de89554a","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.4","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.24_1774629109192_0.6149590411806507","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"octomux","version":"1.0.25","license":"MIT","_id":"octomux@1.0.25","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"6e2bb4f0ceddd3fa05c48bda390e631c24e73908","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.25.tgz","fileCount":56,"integrity":"sha512-F/kayI8UEQpCxdkTYPbO/qmQkbw3ocW7CpcZl8IE/ZgX+yXNaQ1uPNgY0f/J57TGkMOnN5Qgo73uFhRtijwVbQ==","signatures":[{"sig":"MEUCIQDEJJ/nR7rOXGtCvZHrod0kq88grz7u29zTgq7gGRMgHwIgScUkbM/XDlDQG6JSN3mEr01iKzHXv4V206aS1NmAqM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1417529},"type":"module","engines":{"node":">=20"},"gitHead":"37c1bd36616585e420216cc86ffac468d97780dd","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.4","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.1","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.25_1774686442556_0.48062979266537176","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"octomux","version":"1.0.26","license":"MIT","_id":"octomux@1.0.26","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"afa769baad02e320a8ee5f7e99598871ac9f1fcc","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.26.tgz","fileCount":64,"integrity":"sha512-giQyehlqGhCiN9FUZoCETlW9VIGvG4EKJcvWd/jDmOX3jYhQRYSgSI5hsUFamF4+/N3InXJm5zoZPSE15kPs3A==","signatures":[{"sig":"MEUCIQC5EIC652CXf1F63GlfQrbGoRaoESAGJlLMepA8xjDSqQIgUU6D+rQByQXfOKiH9fMMwETgVALzii2vpu8ZgFABgxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1473418},"type":"module","engines":{"node":">=20"},"gitHead":"10b1efbbac02ff65ae8fc1fd6223266ca6989f63","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.7","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.2","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.26_1776862527319_0.39004834187794457","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"octomux","version":"1.0.28","license":"MIT","_id":"octomux@1.0.28","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"06602c09112bef5630e95640d1593fbbb1bd3c3b","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.28.tgz","fileCount":103,"integrity":"sha512-PIPBtK6WEIcDmpW4VWYNYK3eK2l/U6oDmS+ZvbThXlTzQKIIdMuM3PspA9z6Rric0NkHgJ6J4+yFXUi4Zuxd2g==","signatures":[{"sig":"MEUCICUlEq3d6V7EbUqfTUUH6zp2aug7MrVu0O3WgATBIZneAiEAgP1o5L19aDBRyaI0mWYsbihZMvDmJ/InbpKbeFRyoqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2147946},"type":"module","engines":{"node":">=20"},"gitHead":"874c2452a85fb68e79e9c80e5e8b122d801ba1dd","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.28_1779621383880_0.2343740109461061","host":"s3://npm-registry-packages-npm-production"}},"1.0.29":{"name":"octomux","version":"1.0.29","license":"MIT","_id":"octomux@1.0.29","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"b347831fd7624016b6890a25906f0bca3a4aab84","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.29.tgz","fileCount":114,"integrity":"sha512-YP1WlPPdDJDiEF1V8iBrembubM2dNacomHkd5Jwv/Nl1DJm09BDeEp0aAzafAepReF/mPQlegZUZFizDkV309g==","signatures":[{"sig":"MEQCIDGMcCJ6cmMr0sw3wkBjQsoQaBwQyWZy7GixiLHXBhJUAiB2YuYIHE/2kyEHWXf3FOgXHHoQznYWKeFw4VHLkDe6ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2263137},"type":"module","engines":{"node":">=20"},"gitHead":"37d422ac22bcf010ccbfb0c10dac0ce91c576405","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^11.7.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.29_1780298266620_0.2322569323923489","host":"s3://npm-registry-packages-npm-production"}},"1.0.30":{"name":"octomux","version":"1.0.30","license":"MIT","_id":"octomux@1.0.30","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"08f31b217bca9819db01fd0acc8842f8ddf82939","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.30.tgz","fileCount":114,"integrity":"sha512-dS7UxPYww5+jAqaGAqidBwVS8dzQnpi+jVpWtLJQEAwnJAACUvfG+2t/AEwHBapiMfS0yIB/IcORq1EHOdvK4A==","signatures":[{"sig":"MEQCIBi5PXo0Y4gOxO65IOCmjAnV7IjkiQ8CA50K0+MGgEPJAiBgBnku6oe7U+2DWCG47qnBCit6N8ceBt0PUOat7DB3Vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2274175},"type":"module","engines":{"node":">=20"},"gitHead":"31d0df86b01e5bba5daea4ba5a4a6464ce15c1ba","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^12.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.30_1780413421978_0.30668312904280604","host":"s3://npm-registry-packages-npm-production"}},"1.0.31":{"name":"octomux","version":"1.0.31","license":"MIT","_id":"octomux@1.0.31","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"4419071abfae87d935a5bf9193b2d74161d8b425","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.31.tgz","fileCount":120,"integrity":"sha512-+dTSyELcFfVvwVHI0wscsx7RKNqAvBdF4eF/2kyhl/3St6ZuhvPzVoX7NxWcrcITK+QVZmT6l/9qsW2OabM5Uw==","signatures":[{"sig":"MEUCIECCcUpDSTsAU+5jJhqtegwiuOQ+AXaLfcVIBMHd5zgOAiEArMqQFW8/2hY1gWMFLf11ZEsJhWr0RfM7gU8ZAThjRac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2331192},"type":"module","engines":{"node":">=20"},"gitHead":"81428bebd4a43894fbb2532f5c0355867db84f4b","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws","format:check":"prettier --check .","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^12.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","react-router-dom":"^7.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.31_1781718359751_0.2926116899297144","host":"s3://npm-registry-packages-npm-production"}},"1.0.32":{"name":"octomux","version":"1.0.32","license":"MIT","_id":"octomux@1.0.32","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"e0937083a741cdbd9d500c8c02f70ad0eda13223","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.32.tgz","fileCount":122,"integrity":"sha512-ZR48Wf94LcXHVrebvd8czAl16mP4T6aS9rcfBbNzEppVx/godXIrF/LxEkE/GfZKAe8HG4z/QV5/FlfbJbCl0w==","signatures":[{"sig":"MEQCICOUuJYHGra8T1IVTjUXtUFEpcym9fy652EPsNHszLcyAiB5k8nK0oL4ctueNHBL6mm99pSDdvwC8CMvX8e1Plxzqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2344288},"type":"module","engines":{"node":">=20"},"gitHead":"f9445f32a058690050c4639c81d80a79e30df953","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^12.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.32","@octomux/tmux-darwin-x64":"1.0.32","@octomux/tmux-linux-arm64":"1.0.32","@octomux/tmux-darwin-arm64":"1.0.32"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.32_1781800569891_0.8668220748489772","host":"s3://npm-registry-packages-npm-production"}},"1.0.33":{"name":"octomux","version":"1.0.33","license":"MIT","_id":"octomux@1.0.33","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"b7acedab654ca3bc1176564907f611a5abe348d1","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.33.tgz","fileCount":123,"integrity":"sha512-NImPViGf3uW7mBZuThJGNFrq5zFmlePhBthghJXrFs1RopwHj9MrO2K3Stx/WBHqJqotKx9TPW1duA5LOoFj4A==","signatures":[{"sig":"MEUCIFO4W6nyQcq0gx9tB55X+xsaE/LnjZHkIHuVYrSnQZUKAiEAztGXyz5bYOD+8G7h0GAL3T1QkrrsHD6IaFOsAo20egw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2344711},"type":"module","engines":{"node":">=20"},"gitHead":"229ac8aaad81951cb0f7530f810b1f1b4a44f77f","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^12.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.33","@octomux/tmux-darwin-x64":"1.0.33","@octomux/tmux-linux-arm64":"1.0.33","@octomux/tmux-darwin-arm64":"1.0.33"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.33_1781822028662_0.48251986439960315","host":"s3://npm-registry-packages-npm-production"}},"1.0.34":{"name":"octomux","version":"1.0.34","license":"MIT","_id":"octomux@1.0.34","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"0b448576992fc0182227562b9317e30b5c69c418","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.0.34.tgz","fileCount":124,"integrity":"sha512-sd4UlRIqVNFiEtHt/0x5T5ajR+S0prFcd88zk2XFCL+RauaajtKBYeNeEorxeptwKqH2t/vsNGmUlwUEwl82og==","signatures":[{"sig":"MEYCIQDRxXx4/ii2Zbj+oBLbNk/God294Xuw92dQGgZsi90jBgIhAIkojfL2aL8UkhembA+bv8IoNqM8R+/ypO1jZYWfltCN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2346241},"type":"module","engines":{"node":">=20"},"gitHead":"3ef6a5c371840fbab0f794213e877ce9bfefb00d","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc --noEmit","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup server/index.ts server/startup.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.22.3","dependencies":{"ws":"^8.18.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","better-sqlite3":"^12.0.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.34","@octomux/tmux-darwin-x64":"1.0.34","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.0.34_1781852396329_0.2865298333399109","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"octomux","version":"1.1.0","license":"MIT","_id":"octomux@1.1.0","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"cc6b10337c141c696151b3047481da92cf38a190","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.1.0.tgz","fileCount":138,"integrity":"sha512-aT5zwsdsndlHulNWvPszK4qJTkwDYt9YTkgLh8H6z116DFJXcvDDTCsRZDncldwhg10Z7P8SyIMaUQ5KHmzMaA==","signatures":[{"sig":"MEQCIGXKFtO8C5/F/ZxyVEOtu2ZoUYhsTG2mtqawBHbuzyF9AiAKGZBsASM+733A7jFbiTzCnk7Dni4cwd52cFIjzJjG8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2761768},"type":"module","engines":{"node":">=20"},"gitHead":"8ee0b0522657f10a34e6a62f2af6ec1df8153cd3","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc -b","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","build:types":"tsc -b packages/types","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup --entry.index=server/index.ts --entry.startup=server/startup.ts --entry.cli-review=cli/review/index.ts --entry.orchestrator/mcp/server=server/orchestrator/mcp/server.ts --entry.agent-session/mcp/submit-result-server=server/agent-session/mcp/submit-result-server.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","build:api-client":"tsc -b packages/api-client","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","build:diff-engine":"tsc -b packages/diff-engine","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"10.9.8","description":"[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE) [![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](htt","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","ajv":"^8.20.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","croner":"^10.0.1","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","remark-gfm":"^4.0.1","@linear/sdk":"^88.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","@octomux/types":"workspace:*","better-sqlite3":"^12.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","rehype-sanitize":"^6.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@octomux/api-client":"workspace:*","@monaco-editor/react":"^4.7.0","@octomux/diff-engine":"workspace:*","@octomux/test-fixtures":"workspace:*","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@modelcontextprotocol/sdk":"^1.29.0","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky","node-pty"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.34","@octomux/tmux-darwin-x64":"1.0.34","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.1.0_1783092011578_0.20543410996156353","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"octomux","version":"1.2.0","license":"MIT","_id":"octomux@1.2.0","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"38b97e71e8e7d44cea8145a02e7eb310befc92a8","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.2.0.tgz","fileCount":148,"integrity":"sha512-nZbSLo5ah7pwN5rLoofnT2S+CSdMZLNBf0CxrW9Qlp2+9Y/dunjPHWzlY2zy3JZeu1eYrZZtFzyQzrxsnbSQtA==","signatures":[{"sig":"MEQCIAsglD02iCfKD7QiQPTg/OgBgchhj5p/wS9FBvP7pCa+AiA4gYMWfTCzUbt9/rBtwdZUQI7+5fBFuG2Fy0n2F+g8vQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2783815},"type":"module","engines":{"node":">=20"},"gitHead":"e72abd050750cf443cbe62c8de34b842690370e6","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc -b","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","build:types":"tsc -b packages/types","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup --entry.index=server/index.ts --entry.startup=server/startup.ts --entry.cli-review=cli/review/index.ts --entry.orchestrator/mcp/server=server/orchestrator/mcp/server.ts --entry.agent-session/mcp/submit-result-server=server/agent-session/mcp/submit-result-server.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","build:api-client":"tsc -b packages/api-client","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","build:diff-engine":"tsc -b packages/diff-engine","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"10.9.8","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.18.0","ajv":"^8.20.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","croner":"^10.0.1","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","remark-gfm":"^4.0.1","@linear/sdk":"^88.0.0","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","@octomux/types":"workspace:*","better-sqlite3":"^12.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","rehype-sanitize":"^6.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@octomux/api-client":"workspace:*","@monaco-editor/react":"^4.7.0","@octomux/diff-engine":"workspace:*","@octomux/test-fixtures":"workspace:*","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@modelcontextprotocol/sdk":"^1.29.0","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky","node-pty"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.34","@octomux/tmux-darwin-x64":"1.0.34","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.2.0_1783885948972_0.0477662009948725","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"octomux","version":"1.3.0","license":"MIT","_id":"octomux@1.3.0","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux.js"},"dist":{"shasum":"94d85ad9c52f200a1b4a30db2bd3546ed342cf81","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.3.0.tgz","fileCount":186,"integrity":"sha512-W5G2WL33bp7rwRgSZDDZASby8ly2nHfaHl6CnV8HJ1QrEsOCh17IVlLABDIUmhPUURJK7H/Lcfh/HBfDcP5rAQ==","signatures":[{"sig":"MEUCIQDFH5U2haWJ/kVrOSTw/ossKzawf0gfgaz8n37XNK/bcwIgMiuZf5jkaVHIfP/oaSx+x9R8WXL48/9SkY9835HBHmo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/octomux@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3194515},"type":"module","engines":{"node":">=20"},"gitHead":"2038a88aebcc535c6f6587f9fb244b28c5dd63b0","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"vitest run","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && vite build && bun run build:server && bun run cli:build && node scripts/verify-build.js","start":"NODE_ENV=production node dist-server/index.js","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","cli:build":"cd cli && tsc","typecheck":"tsc -b","dev:client":"vite","dev:server":"tsx watch server/index.ts","test:watch":"vitest","build:types":"tsc -b packages/types","postinstall":"bash scripts/postinstall.sh","test:e2e:ui":"playwright test --ui","build:server":"tsup --entry.index=server/index.ts --entry.startup=server/startup.ts --entry.cli-review=cli/review/index.ts --entry.orchestrator/mcp/server=server/orchestrator/mcp/server.ts --entry.agent-session/mcp/submit-result-server=server/agent-session/mcp/submit-result-server.ts --format esm --minify --out-dir dist-server --external better-sqlite3 --external node-pty --external ws --external @octomux/tmux-darwin-arm64 --external @octomux/tmux-darwin-x64 --external @octomux/tmux-linux-x64 --external @octomux/tmux-linux-arm64","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build","build:api-client":"tsc -b packages/api-client","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","build:diff-engine":"tsc -b packages/diff-engine","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:13cd8340-3293-4ca7-b7f3-a31b13bb23b6"}},"deprecated":"Broken install: the published manifest carried workspace:* dependencies npm cannot resolve (EUNSUPPORTEDPROTOCOL). Use octomux@1.4.1 or later.","repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"12.0.2","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.18.0","ajv":"^8.20.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","croner":"^10.0.1","dotenv":"^17.4.2","grammy":"^1.45.1","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","node-pty":"^1.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","remark-gfm":"^4.0.1","@linear/sdk":"^88.0.0","compression":"^1.8.1","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","@octomux/types":"workspace:*","@slack/web-api":"^8.0.0","better-sqlite3":"^12.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","rehype-sanitize":"^6.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@slack/socket-mode":"^3.0.0","@xterm/addon-webgl":"0.18.0","@octomux/api-client":"workspace:*","@monaco-editor/react":"^4.7.0","@octomux/diff-engine":"workspace:*","@octomux/test-fixtures":"workspace:*","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@modelcontextprotocol/sdk":"^1.29.0","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.5.1","vite":"^6.0.0","husky":"^9.0.0","jsdom":"^28.1.0","react":"^19.0.0","eslint":"^9.0.0","vitest":"^3.2.4","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@types/compression":"^1.8.1","@vitejs/plugin-react":"^4.3.0","@types/better-sqlite3":"^7.6.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["better-sqlite3","husky","node-pty"],"optionalDependencies":{"@octomux/tmux-linux-x64":"1.0.34","@octomux/tmux-darwin-x64":"1.0.34","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.3.0_1785588196438_0.7149337098200428","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"octomux","version":"1.4.0","license":"MIT","_id":"octomux@1.4.0","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux"},"dist":{"shasum":"e385a37a12f5f1b0a755d4c90bc8bb6625af4d30","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.4.0.tgz","fileCount":40,"integrity":"sha512-gnMXm7mgl34oOE6jwgqi2v3nobgwX4P4tVcvvSoyv8ZShxrVZ6+6GnW91PPjJod+PHRl/9ZHrs/hdMDFPGPmGQ==","signatures":[{"sig":"MEQCIAkFboBRkcXUFaZxsNLfIUpvBYfN/rPss77N+bWvPNv3AiBc4NO5GQunOo4ECrQdizLvujbB9b02UflczMaW0JP4GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203124},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"bun run test:server && bun run test:client && bun run test:units","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && bun run build:capabilities && bun run build:binary","start":"bun run bin/main.js start","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","build:npm":"bun run build:binary:all && bun run sign:macos && bun scripts/build-npm-packages.mjs","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","typecheck":"tsc -b","dev:client":"vite","dev:server":"bun --watch server/index.ts","sign:macos":"bash scripts/sign-macos.sh","test:units":"NODE_ENV=test bun test ./cli/src ./packages ./bin --parallel --timeout 30000","test:watch":"NODE_ENV=test bun test ./server --watch","build:types":"tsc -b packages/types","postinstall":"node scripts/install-binary.cjs && bash scripts/postinstall.sh","test:client":"NODE_ENV=test bun test ./src --preload ./src/bun-test-setup.ts --parallel --timeout 15000","test:e2e:ui":"playwright test --ui","test:server":"NODE_ENV=test bun test ./server ./cli/review --parallel --timeout 15000","build:assets":"bun scripts/bundle-assets.mjs","build:binary":"vite build && bun run build:assets && bun build --compile --minify bin/main.js --outfile dist-bin/octomux","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build:npm","build:api-client":"tsc -b packages/api-client","build:binary:all":"vite build && bun run build:assets && bun build --compile --minify --target=bun-darwin-arm64 bin/main.js --outfile dist-bin/octomux-darwin-arm64 && bun build --compile --minify --target=bun-darwin-x64 bin/main.js --outfile dist-bin/octomux-darwin-x64 && bun build --compile --minify --target=bun-linux-arm64 bin/main.js --outfile dist-bin/octomux-linux-arm64 && bun build --compile --minify --target=bun-linux-x64 bin/main.js --outfile dist-bin/octomux-linux-x64 && bun build --compile --minify --target=bun-linux-arm64-musl bin/main.js --outfile dist-bin/octomux-linux-arm64-musl && bun build --compile --minify --target=bun-linux-x64-musl bin/main.js --outfile dist-bin/octomux-linux-x64-musl","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","bench:task-create":"NODE_ENV=test tsx scripts/bench-task-create.ts","build:diff-engine":"tsc -b packages/diff-engine","build:capabilities":"tsc -b packages/capabilities","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"deprecated":"Broken install: the published manifest carried workspace:* dependencies npm cannot resolve (EUNSUPPORTEDPROTOCOL). Use octomux@1.4.1 or later.","repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/capabilities","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"11.1.0","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"23.8.0","dependencies":{"ws":"^8.18.0","ajv":"^8.20.0","clsx":"^2.1.1","pino":"^10.3.1","chalk":"^5.6.2","croner":"^10.0.1","dotenv":"^17.4.2","grammy":"^1.45.1","nanoid":"^5.0.9","shadcn":"latest","sonner":"^2.0.7","express":"^5.0.1","js-yaml":"^4.2.0","fix-path":"^4.0.0","commander":"^14.0.3","pino-roll":"^4.0.0","remark-gfm":"^4.0.1","@linear/sdk":"^88.0.0","compression":"^1.8.1","pino-pretty":"^13.1.3","@dnd-kit/core":"^6.3.1","monaco-editor":"^0.55.1","@base-ui/react":"^1.2.0","@octomux/types":"workspace:*","@slack/web-api":"^8.0.0","react-markdown":"^10.1.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","rehype-sanitize":"^6.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@slack/socket-mode":"^3.0.0","@xterm/addon-webgl":"0.18.0","@octomux/api-client":"workspace:*","@monaco-editor/react":"^4.7.0","@octomux/diff-engine":"workspace:*","@octomux/test-fixtures":"workspace:*","class-variance-authority":"^0.7.1","@fontsource/space-grotesk":"^5.2.10","@modelcontextprotocol/sdk":"^1.29.0","@fontsource-variable/geist":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vite":"^6.0.0","husky":"^9.0.0","react":"^19.0.0","eslint":"^9.0.0","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","bun-types":"^1.3.14","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@types/compression":"^1.8.1","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@happy-dom/global-registrator":"^20.11.2","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["husky"],"optionalDependencies":{"@octomux/cli-linux-x64":"1.4.0","@octomux/cli-darwin-x64":"1.4.0","@octomux/tmux-linux-x64":"1.0.34","@octomux/cli-linux-arm64":"1.4.0","@octomux/tmux-darwin-x64":"1.0.34","@octomux/cli-darwin-arm64":"1.4.0","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34","@octomux/cli-linux-x64-musl":"1.4.0","@octomux/cli-linux-arm64-musl":"1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.4.0_1786883374506_0.9531155220398277","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"octomux","version":"1.4.1","license":"MIT","_id":"octomux@1.4.1","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux"},"dist":{"shasum":"38fe21c79fa3143c9a50bd14bec8a3938bc0a58e","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.4.1.tgz","fileCount":40,"integrity":"sha512-NyY9k+Fpyi8s85xQ/OXrIeJ9tcK+2GTYJkpJ2EJMJp6auMuK0h0KeEpKgeRnViGZi5LvOKk+4qOQu9NdNCkNaA==","signatures":[{"sig":"MEUCIQCOnEj+pOmnCELMqNYzpEXAMYhHXAue4evtM3T1EV1mTgIgBhCIwKwaRodkLE1eJyNn614d0hV/oba+DAaegzewLB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201761},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"bun run test:server && bun run test:client && bun run test:units","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && bun run build:capabilities && bun run build:binary","start":"bun run bin/main.js start","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","build:npm":"bun run build:binary:all && bun run sign:macos && bun scripts/build-npm-packages.mjs","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","typecheck":"tsc -b","dev:client":"vite","dev:server":"bun --watch server/index.ts","sign:macos":"bash scripts/sign-macos.sh","test:units":"NODE_ENV=test bun test ./cli/src ./packages ./bin --parallel --timeout 30000","test:watch":"NODE_ENV=test bun test ./server --watch","build:types":"tsc -b packages/types","postinstall":"node scripts/install-binary.cjs && bash scripts/postinstall.sh","test:client":"NODE_ENV=test bun test ./src --preload ./src/bun-test-setup.ts --parallel --timeout 15000","test:e2e:ui":"playwright test --ui","test:server":"NODE_ENV=test bun test ./server ./cli/review --parallel --timeout 15000","build:assets":"bun scripts/bundle-assets.mjs","build:binary":"vite build && bun run build:assets && bun build --compile --minify bin/main.js --outfile dist-bin/octomux","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build:npm","build:api-client":"tsc -b packages/api-client","build:binary:all":"vite build && bun run build:assets && bun build --compile --minify --target=bun-darwin-arm64 bin/main.js --outfile dist-bin/octomux-darwin-arm64 && bun build --compile --minify --target=bun-darwin-x64 bin/main.js --outfile dist-bin/octomux-darwin-x64 && bun build --compile --minify --target=bun-linux-arm64 bin/main.js --outfile dist-bin/octomux-linux-arm64 && bun build --compile --minify --target=bun-linux-x64 bin/main.js --outfile dist-bin/octomux-linux-x64 && bun build --compile --minify --target=bun-linux-arm64-musl bin/main.js --outfile dist-bin/octomux-linux-arm64-musl && bun build --compile --minify --target=bun-linux-x64-musl bin/main.js --outfile dist-bin/octomux-linux-x64-musl","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","bench:task-create":"NODE_ENV=test tsx scripts/bench-task-create.ts","build:diff-engine":"tsc -b packages/diff-engine","build:capabilities":"tsc -b packages/capabilities","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/capabilities","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"11.1.0","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"23.8.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vite":"^6.0.0","husky":"^9.0.0","react":"^19.0.0","eslint":"^9.0.0","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","bun-types":"^1.3.14","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@types/compression":"^1.8.1","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@happy-dom/global-registrator":"^20.11.2","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["husky"],"optionalDependencies":{"@octomux/cli-linux-x64":"1.4.1","@octomux/cli-darwin-x64":"1.4.1","@octomux/tmux-linux-x64":"1.0.34","@octomux/cli-linux-arm64":"1.4.1","@octomux/tmux-darwin-x64":"1.0.34","@octomux/cli-darwin-arm64":"1.4.1","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34","@octomux/cli-linux-x64-musl":"1.4.1","@octomux/cli-linux-arm64-musl":"1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.4.1_1786885012210_0.33937146569048915","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"octomux","version":"1.5.1","license":"MIT","_id":"octomux@1.5.1","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux"},"dist":{"shasum":"c66dd294a6a112bdd52dd0519b50c485157df798","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.5.1.tgz","fileCount":43,"integrity":"sha512-3H4s2KlLhmm70VogwgcEvI4GZHY0fGYpnQTU4kG0iOsDhPO35Yy63ZRjC7sI+v4LmvOgURV+dpvOjNaXbD2EHg==","signatures":[{"sig":"MEUCIQCJbR4HlXq5H/ciGqPSacOYBwCZqj3e5ZBz1TWywrHXbAIgYLu6aAsu55mCr+C/SErw872UhbAiA/4IErtr5c9m040=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229020},"type":"module","engines":{"node":">=20"},"gitHead":"c9e664d7626f091ac8e69745482e669c0b64f575","scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"bun run test:server && bun run test:client && bun run test:units","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && bun run build:plugin-api && bun run build:capabilities && bun run build:binary","start":"bun run bin/main.js start","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","build:npm":"bun run build:binary:all && bun run sign:macos && bun scripts/build-npm-packages.mjs","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","typecheck":"tsc -b","dev:client":"vite","dev:server":"bun --watch server/index.ts","sign:macos":"bash scripts/sign-macos.sh","test:units":"NODE_ENV=test bun test ./cli/src ./packages ./bin --parallel --timeout 30000","test:watch":"NODE_ENV=test bun test ./server --watch","build:types":"tsc -b packages/types","postinstall":"node scripts/install-binary.cjs && bash scripts/postinstall.sh","publish:npm":"bash scripts/publish-npm.sh","test:client":"NODE_ENV=test bun test ./src --preload ./src/bun-test-setup.ts --parallel --timeout 15000","test:e2e:ui":"playwright test --ui","test:server":"NODE_ENV=test bun test ./server ./cli/review --parallel --timeout 15000","build:assets":"bun scripts/bundle-assets.mjs","build:binary":"vite build && bun run build:assets && bun build --compile --minify bin/main.js --outfile dist-bin/octomux","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build:npm","publish:npm:dry":"bash scripts/publish-npm.sh --dry-run","build:api-client":"tsc -b packages/api-client","build:binary:all":"vite build && bun run build:assets && bun build --compile --minify --target=bun-darwin-arm64 bin/main.js --outfile dist-bin/octomux-darwin-arm64 && bun build --compile --minify --target=bun-darwin-x64 bin/main.js --outfile dist-bin/octomux-darwin-x64 && bun build --compile --minify --target=bun-linux-arm64 bin/main.js --outfile dist-bin/octomux-linux-arm64 && bun build --compile --minify --target=bun-linux-x64 bin/main.js --outfile dist-bin/octomux-linux-x64 && bun build --compile --minify --target=bun-linux-arm64-musl bin/main.js --outfile dist-bin/octomux-linux-arm64-musl && bun build --compile --minify --target=bun-linux-x64-musl bin/main.js --outfile dist-bin/octomux-linux-x64-musl","build:plugin-api":"tsc -b packages/plugin-api","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","bench:task-create":"NODE_ENV=test tsx scripts/bench-task-create.ts","build:diff-engine":"tsc -b packages/diff-engine","build:capabilities":"tsc -b packages/capabilities","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/capabilities","packages/plugin-api","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"11.1.0","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"23.8.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vite":"^6.0.0","husky":"^9.0.0","react":"^19.0.0","eslint":"^9.0.0","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","bun-types":"^1.3.14","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@types/compression":"^1.8.1","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@happy-dom/global-registrator":"^20.11.2","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["husky"],"optionalDependencies":{"@octomux/cli-linux-x64":"1.5.1","@octomux/cli-darwin-x64":"1.5.1","@octomux/tmux-linux-x64":"1.0.34","@octomux/cli-linux-arm64":"1.5.1","@octomux/tmux-darwin-x64":"1.0.34","@octomux/cli-darwin-arm64":"1.5.1","@octomux/tmux-linux-arm64":"1.0.34","@octomux/tmux-darwin-arm64":"1.0.34","@octomux/cli-linux-x64-musl":"1.5.1","@octomux/cli-linux-arm64-musl":"1.5.1"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.5.1_1786975952807_0.098053828308438","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"octomux","version":"1.6.1","license":"MIT","_id":"octomux@1.6.1","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"homepage":"https://github.com/ShreyPaharia/octomux#readme","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"bin":{"octomux":"bin/octomux"},"dist":{"shasum":"c3f016f6d140707c35d04bf31bb0674213f956f6","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.6.1.tgz","fileCount":43,"integrity":"sha512-F/tEc6E/BcOLDICmhRZbVxrudKEZrrv1pf6XfHzdrUwHXlxyvKGIAu6aGQyvYnw84oMUoIKOQeuY5eEUe+E2TQ==","signatures":[{"sig":"MEUCIHDhdBZt1Jc9Yjy/huINHyr6cXIOgS5+q3yuW2L/pns6AiEA4v+7ETyiDVevK06jRGGKrG0HRAyb2MsrezHeVx5q1HE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":240795},"type":"module","engines":{"node":">=20"},"scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","lint":"eslint .","test":"bun run test:server && bun run test:client && bun run test:units","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && bun run build:plugin-api && bun run build:capabilities && bun run build:binary","start":"bun run bin/main.js start","format":"prettier --write .","prepare":"husky","lint:fix":"eslint . --fix","test:e2e":"playwright test","build:npm":"bun run build:binary:all && bun run sign:macos && bun scripts/build-npm-packages.mjs","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","typecheck":"tsc -b","dev:client":"vite","dev:server":"bun --watch server/index.ts","sign:macos":"bash scripts/sign-macos.sh","test:units":"NODE_ENV=test bun test ./cli/src ./packages ./bin --parallel --timeout 30000","test:watch":"NODE_ENV=test bun test ./server --watch","build:types":"tsc -b packages/types","postinstall":"node scripts/install-binary.cjs && bash scripts/postinstall.sh","publish:npm":"bash scripts/publish-npm.sh","test:client":"NODE_ENV=test bun test ./src --preload ./src/bun-test-setup.ts --parallel --timeout 15000","test:e2e:ui":"playwright test --ui","test:server":"NODE_ENV=test bun test ./server ./cli/review --parallel --timeout 15000","build:assets":"bun scripts/bundle-assets.mjs","build:binary":"vite build && bun run build:assets && bun build --compile --minify bin/main.js --outfile dist-bin/octomux","format:check":"prettier --check .","dist:electron":"bun run build && bun run build:electron && electron-builder","build:electron":"tsc -p electron/tsconfig.json","prepublishOnly":"bun run build:npm","publish:npm:dry":"bash scripts/publish-npm.sh --dry-run","build:api-client":"tsc -b packages/api-client","build:binary:all":"vite build && bun run build:assets && bun build --compile --minify --target=bun-darwin-arm64 bin/main.js --outfile dist-bin/octomux-darwin-arm64 && bun build --compile --minify --target=bun-darwin-x64 bin/main.js --outfile dist-bin/octomux-darwin-x64 && bun build --compile --minify --target=bun-linux-arm64 bin/main.js --outfile dist-bin/octomux-linux-arm64 && bun build --compile --minify --target=bun-linux-x64 bin/main.js --outfile dist-bin/octomux-linux-x64 && bun build --compile --minify --target=bun-linux-arm64-musl bin/main.js --outfile dist-bin/octomux-linux-arm64-musl && bun build --compile --minify --target=bun-linux-x64-musl bin/main.js --outfile dist-bin/octomux-linux-x64-musl","build:plugin-api":"tsc -b packages/plugin-api","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","bench:task-create":"NODE_ENV=test tsx scripts/bench-task-create.ts","build:diff-engine":"tsc -b packages/diff-engine","build:capabilities":"tsc -b packages/capabilities","build:test-fixtures":"tsc -b packages/test-fixtures","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui"},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"repository":{"url":"git+https://github.com/ShreyPaharia/octomux.git","type":"git"},"workspaces":["packages/api-client","packages/capabilities","packages/plugin-api","packages/diff-engine","packages/types","packages/test-fixtures"],"_npmVersion":"11.1.0","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"_nodeVersion":"23.8.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vite":"^6.0.0","husky":"^9.0.0","react":"^19.0.0","eslint":"^9.0.0","globals":"^16.0.0","electron":"^33.0.0","prettier":"^3.5.0","@types/ws":"^8.5.0","bun-types":"^1.3.14","react-dom":"^19.0.0","supertest":"^7.2.2","@eslint/js":"^9.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","lint-staged":"^16.0.0","tailwindcss":"^4.0.0","@types/react":"^19.0.0","@xterm/xterm":"^5.5.0","concurrently":"^9.1.0","react-router":"^7.0.0","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@commitlint/cli":"^20.0.0","@playwright/test":"^1.58.2","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@xterm/addon-fit":"^0.10.0","electron-builder":"^25.0.0","react-router-dom":"^7.0.0","@electron/rebuild":"^3.0.0","@tailwindcss/vite":"^4.0.0","typescript-eslint":"^8.0.0","@types/compression":"^1.8.1","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.3.2","@xterm/addon-web-links":"^0.11.0","@testing-library/jest-dom":"^6.9.1","eslint-plugin-react-hooks":"^7.0.1","conventional-changelog-cli":"^5.0.0","@testing-library/user-event":"^14.6.1","@happy-dom/global-registrator":"^20.11.2","@commitlint/config-conventional":"^20.0.0"},"trustedDependencies":["husky"],"optionalDependencies":{"@octomux/cli-linux-x64":"1.6.1","@octomux/cli-darwin-x64":"1.6.1","@octomux/tmux-linux-x64":"1.2.0","@octomux/cli-linux-arm64":"1.6.1","@octomux/tmux-darwin-x64":"1.2.0","@octomux/cli-darwin-arm64":"1.6.1","@octomux/tmux-linux-arm64":"1.2.0","@octomux/tmux-darwin-arm64":"1.2.0","@octomux/cli-linux-x64-musl":"1.6.1","@octomux/cli-linux-arm64-musl":"1.6.1"},"_npmOperationalInternal":{"tmp":"tmp/octomux_1.6.1_1787728498527_0.9039190406416777","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"octomux","version":"1.6.2","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/ShreyPaharia/octomux.git"},"bin":{"octomux":"bin/octomux"},"engines":{"node":">=20"},"workspaces":["packages/api-client","packages/capabilities","packages/plugin-api","packages/diff-engine","packages/types","packages/test-fixtures"],"scripts":{"dev":"concurrently \"bun:dev:server\" \"bun:dev:client\"","dev:server":"bun --watch server/index.ts","dev:client":"vite","build":"bun run build:diff-engine && bun run build:types && bun run build:test-fixtures && bun run build:api-client && bun run build:plugin-api && bun run build:capabilities && bun run build:binary","build:diff-engine":"tsc -b packages/diff-engine","build:types":"tsc -b packages/types","build:test-fixtures":"tsc -b packages/test-fixtures","build:api-client":"tsc -b packages/api-client","build:plugin-api":"tsc -b packages/plugin-api","start":"bun run bin/main.js start","test":"bun run test:server && bun run test:client && bun run test:units","bench:task-create":"NODE_ENV=test tsx scripts/bench-task-create.ts","test:watch":"NODE_ENV=test bun test ./server --watch","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","test:mobile-terminal":"playwright test e2e/mobile-terminal-scroll.spec.ts","test:mobile-terminal:watch":"playwright test e2e/mobile-terminal-scroll.spec.ts --ui","screenshots:docs":"tsx scripts/seed-docs-demo.ts && OCTOMUX_SCREENSHOTS=1 OCTOMUX_DB_PATH=./data/docs-demo/tasks.db playwright test e2e/docs-screenshots.spec.ts","lint":"eslint .","lint:fix":"eslint . --fix","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc -b","prepublishOnly":"bun run build:npm","postinstall":"node scripts/install-binary.cjs && bash scripts/postinstall.sh","prepare":"husky","changelog":"conventional-changelog -p conventionalcommits -i CHANGELOG.md -s","build:electron":"tsc -p electron/tsconfig.json","dist:electron":"bun run build && bun run build:electron && electron-builder","build:capabilities":"tsc -b packages/capabilities","test:server":"NODE_ENV=test bun test ./server ./cli/review --parallel --timeout 15000","test:client":"NODE_ENV=test bun test ./src --preload ./src/bun-test-setup.ts --parallel --timeout 15000","test:units":"NODE_ENV=test bun test ./cli/src ./packages ./bin --parallel --timeout 30000","build:assets":"bun scripts/bundle-assets.mjs","build:binary":"vite build && bun run build:assets && bun build --compile --minify bin/main.js --outfile dist-bin/octomux","build:binary:all":"vite build && bun run build:assets && bun build --compile --minify --target=bun-darwin-arm64 bin/main.js --outfile dist-bin/octomux-darwin-arm64 && bun build --compile --minify --target=bun-darwin-x64 bin/main.js --outfile dist-bin/octomux-darwin-x64 && bun build --compile --minify --target=bun-linux-arm64 bin/main.js --outfile dist-bin/octomux-linux-arm64 && bun build --compile --minify --target=bun-linux-x64 bin/main.js --outfile dist-bin/octomux-linux-x64 && bun build --compile --minify --target=bun-linux-arm64-musl bin/main.js --outfile dist-bin/octomux-linux-arm64-musl && bun build --compile --minify --target=bun-linux-x64-musl bin/main.js --outfile dist-bin/octomux-linux-x64-musl","build:npm":"bun run build:binary:all && bun run sign:macos && bun scripts/build-npm-packages.mjs","publish:npm":"bash scripts/publish-npm.sh","publish:npm:dry":"bash scripts/publish-npm.sh --dry-run","sign:macos":"bash scripts/sign-macos.sh"},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --write"],"*.{json,md,css,html}":["prettier --write"]},"trustedDependencies":["husky"],"optionalDependencies":{"@octomux/tmux-darwin-arm64":"1.2.0","@octomux/tmux-darwin-x64":"1.2.0","@octomux/tmux-linux-x64":"1.2.0","@octomux/tmux-linux-arm64":"1.2.0","@octomux/cli-darwin-arm64":"1.6.2","@octomux/cli-darwin-x64":"1.6.2","@octomux/cli-linux-arm64":"1.6.2","@octomux/cli-linux-x64":"1.6.2","@octomux/cli-linux-arm64-musl":"1.6.2","@octomux/cli-linux-x64-musl":"1.6.2"},"devDependencies":{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@electron/rebuild":"^3.0.0","@eslint/js":"^9.0.0","@happy-dom/global-registrator":"^20.11.2","@playwright/test":"^1.58.2","@tailwindcss/vite":"^4.0.0","@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/compression":"^1.8.1","@types/express":"^5.0.0","@types/js-yaml":"^4.0.9","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@types/supertest":"^7.2.0","@types/ws":"^8.5.0","@vitejs/plugin-react":"^4.3.0","@xterm/addon-fit":"^0.10.0","@xterm/addon-web-links":"^0.11.0","@xterm/xterm":"^5.5.0","bun-types":"^1.3.14","concurrently":"^9.1.0","conventional-changelog-cli":"^5.0.0","electron":"^33.0.0","electron-builder":"^25.0.0","eslint":"^9.0.0","eslint-plugin-react-hooks":"^7.0.1","globals":"^16.0.0","husky":"^9.0.0","lint-staged":"^16.0.0","prettier":"^3.5.0","react":"^19.0.0","react-dom":"^19.0.0","react-router":"^7.0.0","react-router-dom":"^7.0.0","supertest":"^7.2.2","tailwindcss":"^4.0.0","tsx":"^4.19.0","typescript":"^5.7.0","typescript-eslint":"^8.0.0","vite":"^6.0.0"},"_id":"octomux@1.6.2","description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"homepage":"https://github.com/ShreyPaharia/octomux#readme","_nodeVersion":"23.8.0","_npmVersion":"11.1.0","dist":{"integrity":"sha512-ZUn1CG6aUcsiBSgQzvAK2UdCwoxDApblaxYH1qUi3hhcHTwBxBu7YTkwY28dBxfyzuhqV84c0sGzd4xNVDyNrg==","shasum":"185cf66d4f561c7c794ef8d2654bd6a4688456d6","tarball":"https://registry.npmjs.org/octomux/-/octomux-1.6.2.tgz","fileCount":43,"unpackedSize":240795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD7FB082EG6LcbNuoHvUD5aHxXRlqpbwNpyd4yLZ6Cb+AIhAKJIZXJAf+1PeD+1d1SOhI74kAAFZrWVnY2NjUw71nPZ"}]},"_npmUser":{"name":"shreypaharia","email":"shreypaharia@gmail.com"},"directories":{},"maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/octomux_1.6.2_1787729849233_0.8389590861559302"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T12:22:16.923Z","modified":"2026-08-26T07:37:29.575Z","1.0.0":"2026-03-15T12:22:17.192Z","1.0.4":"2026-03-17T16:53:49.530Z","1.0.7":"2026-03-18T19:30:44.939Z","1.0.8":"2026-03-18T20:09:08.511Z","1.0.9":"2026-03-19T06:26:15.616Z","1.0.10":"2026-03-20T09:20:13.679Z","1.0.11":"2026-03-23T08:19:45.116Z","1.0.12":"2026-03-23T20:00:09.068Z","1.0.13":"2026-03-24T06:33:07.936Z","1.0.15":"2026-03-27T09:34:45.118Z","1.0.23":"2026-03-27T14:08:46.708Z","1.0.24":"2026-03-27T16:31:49.400Z","1.0.25":"2026-03-28T08:27:22.769Z","1.0.26":"2026-04-22T12:55:27.498Z","1.0.28":"2026-05-24T11:16:24.072Z","1.0.29":"2026-06-01T07:17:46.817Z","1.0.30":"2026-06-02T15:17:02.169Z","1.0.31":"2026-06-17T17:45:59.968Z","1.0.32":"2026-06-18T16:36:10.101Z","1.0.33":"2026-06-18T22:33:48.870Z","1.0.34":"2026-06-19T06:59:56.546Z","1.1.0":"2026-07-03T15:20:11.774Z","1.2.0":"2026-07-12T19:52:29.180Z","1.3.0":"2026-08-01T12:43:16.621Z","1.4.0":"2026-08-16T12:29:34.657Z","1.4.1":"2026-08-16T12:56:52.359Z","1.5.1":"2026-08-17T14:12:32.976Z","1.6.1":"2026-08-26T07:14:58.677Z","1.6.2":"2026-08-26T07:37:29.418Z"},"bugs":{"url":"https://github.com/ShreyPaharia/octomux/issues"},"license":"MIT","homepage":"https://github.com/ShreyPaharia/octomux#readme","repository":{"type":"git","url":"git+https://github.com/ShreyPaharia/octomux.git"},"description":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml) [![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux) [![license]","maintainers":[{"name":"shreypaharia","email":"shreypaharia@gmail.com"}],"readme":"[![CI](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml/badge.svg)](https://github.com/ShreyPaharia/octomux/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/octomux)](https://www.npmjs.com/package/octomux)\n[![license](https://img.shields.io/github/license/ShreyPaharia/octomux)](LICENSE)\n[![npm downloads](https://img.shields.io/npm/dw/octomux)](https://www.npmjs.com/package/octomux)\n[![GitHub stars](https://img.shields.io/github/stars/ShreyPaharia/octomux)](https://github.com/ShreyPaharia/octomux)\n\n# octomux\n\n> **Coding got faster. Managing agents didn't.**\n\noctomux is a **local dashboard for running many Claude Code and Cursor agents in parallel.** Each agent works in its own git worktree; you get **one inbox** for every \"allow this tool?\" prompt, a **live grid** of the whole fleet, and **in-app diff review**. Runs on your machine — no cloud, no telemetry, MIT.\n\n```bash\nnpm install -g octomux && octomux init && cd your-repo && octomux start\n```\n\nOpen **[localhost:7777](http://localhost:7777)**, describe a task, pick **Claude Code** or **Cursor**, and watch it work.\n\n![octomux demo](assets/demo.gif)\n\n---\n\n## What you get\n\nFour acts, one window — from prompt to merged PR:\n\n- **① Dispatch** — Type a task (or paste a Jira/Linear/GitHub link, or a whole list). Each one gets its own worktree, branch, and agent. Pick the model and the harness per task.\n- **② Run unattended** — Attach a verify command and the agent **loops in fresh context until that command exits 0**. Put it on a **cron** and it does that at 3am. Hand a goal to the **orchestrator** and it plans, splits, and dispatches child tasks for you to approve.\n- **③ Watch, or don't** — Every agent's live terminal on one **Monitor grid**, the diff as it grows, and every \"allow this tool?\" prompt collected in a single **inbox** instead of scattered across panes.\n- **④ Review & ship** — An agent drafts a walkthrough and inline comments grounded on the real diff. You read it in-app, mark files reviewed, send comments back for a fix, and publish as one batched GitHub review when _you_ accept it. octomux spots the PR by branch and closes the task when it merges.\n\nCrash, reboot, close the lid — `octomux start` restores every task, branch, and session.\n\n### The 60-second version\n\n```bash\nnpm install -g octomux && octomux init\ncd your-repo && octomux start          # → localhost:7777\n\n# or skip the UI and loop a task until the tests actually pass:\noctomux create-task -t \"Fix the flaky checkout test\" -d \"...\" -p \"...\" -r .\noctomux loop-start --task <id> --verify \"npm test\" --max-iterations 8\n```\n\n## Screenshots\n\nEvery screenshot is full width — a dashboard shrunk into a table cell is texture, not information.\n\n**Review workstation** — the agent opens with a verdict, a risk read, and a ranked list of things worth looking at, each linked to a line. Start there, then drop into the diff.\n\n![Review walkthrough](assets/screenshots/review-walkthrough.png)\n\n**Monitor grid** — every running agent's terminal on one wall. Spot the stuck one instantly.\n\n![Monitor grid](assets/screenshots/monitor-grid.png)\n\n**Command center** — kanban across the real workflow, backlog → done.\n\n![Command center](assets/screenshots/command-center.png)\n\n<details>\n<summary><b>More screens</b> — inbox, schedules, orchestrator, diff review, phone</summary>\n\n**Home inbox + composer** — every \"allow this?\" in one queue, recent activity, and the dispatch bar.\n\n![Home inbox](assets/screenshots/home-inbox.png)\n\n**Schedules** — cron, timezone, model, verify command and prompt, all editable from the UI.\n\n![Schedules](assets/screenshots/schedules.png)\n\n**Orchestrator** — an agent planning and dispatching child tasks, each awaiting your approval.\n\n![Orchestrator](assets/screenshots/orchestrator.png)\n\n**Diff review** — file tree, reviewed state, inline comments.\n\n![Diff review](assets/screenshots/diff-review.png)\n\n**On your phone** — same fleet over a Tailscale tailnet.\n\n![Mobile](assets/screenshots/mobile-remote.png)\n\n</details>\n\n## Features\n\nEach screen is a lens over one managed agent backend:\n\n- **Sessions inbox** — every permission prompt across every agent in one place; reply once, agents keep going. Tab title shows `(N) octomux` when something needs you.\n- **Command center** — kanban across the real workflow (backlog → planned → in progress → review → PR → done), with filter-to-attention and a restore grace period on delete.\n- **Monitor grid** — every running agent's terminal tiled into one live wall; spot the stuck one instantly.\n- **Orchestrator view** — watch an agent that dispatches agents: the parent planning, its children coding, who's blocked — the whole tree at once.\n- **Review workstation** — an agent drafts a walkthrough + inline comments (grounded against the real diff, no invented line numbers); nothing hits GitHub until you accept it, then it posts as one batched review. Reject a comment with a reason and it remembers for next time.\n- **Chats, Workspaces, persistent agents** — detach a quick spike as its own session, manage the reusable worktrees behind your tasks, and keep long-lived agents (own system prompt, optional Telegram/Slack channel) on **Agents**.\n- **Loops** — hand a task a prompt plus a verify command and it re-runs itself in fresh context until verify passes; `/loops` shows the iteration ledger, what each pass changed, and the stop controls. Fan out N competing candidates from one prompt when you want options.\n- **Schedules** — run a task on a cron from `/schedules` (nightly triage, a weekly digest) instead of remembering to kick it off.\n- **Worktrees keep agents off each other** — five agents can edit `auth.ts` at once without conflicts on your main tree.\n- **Run it anywhere** — npm CLI, a **macOS desktop app** ([`.dmg`](https://github.com/ShreyPaharia/octomux/releases)), or hosted on a box and reached from your **phone over Tailscale** (the UI is mobile-ready).\n- **Local-only** — no telemetry, no cloud sync. Your `.env` stays on the host.\n\n## Patterns\n\nThree workflows octomux makes one-click:\n\n- **Verifier — two agents, two opinions.** Claude wrote it; drop Cursor on the same branch for a second pass. A different model reads the diff without inheriting the first's assumptions, catching the bugs that pass type-checking but break in prod.\n- **Sweep — five PRs by lunch.** Paste a Jira filter or GitHub issue list; each ticket gets its own worktree and agent. Come back from standup to a kanban of ready-to-review PRs.\n- **Operator — one prompt becomes an epic.** Give an agent the orchestrator skills; it plans a spec, breaks it into subtasks, and dispatches each into its own worktree. You supervise from the Orchestrator view.\n\n## How it compares\n\n|                                        | **octomux**       | vibe-kanban       | Conductor     | Emdash          |\n| -------------------------------------- | ----------------- | ----------------- | ------------- | --------------- |\n| License                                | MIT, open source  | MIT (community\\*) | Closed        | Open source     |\n| Fully local, no cloud                  | Yes               | Now local\\*       | Cloud account | Yes             |\n| One permission inbox                   | **Yes**           | No                | No            | No              |\n| Monitor grid (all agents at once)      | **Yes**           | No                | No            | No              |\n| Automated review + human-gated publish | **Yes**           | Partial           | Partial       | No              |\n| Recursive orchestration                | **Yes**           | No                | No            | No              |\n| Reach it from your phone               | **Yes** (tailnet) | No                | No            | Partial (SSH)   |\n| Claude Code + Cursor                   | Yes               | Yes (10+)         | Yes           | Yes (20+)       |\n| Platform                               | macOS + Linux     | macOS/Linux/Win   | macOS only    | macOS/Linux/Win |\n\n<sub>\\* Bloop, the company behind vibe-kanban, wound down in early 2026; it continues as a community project.</sub>\n\n<sub>Verified 2 Aug 2026 against each project's own docs. Something out of date or unfair? [Open an issue](https://github.com/ShreyPaharia/octomux/issues/new) — corrections to this table are welcome and get merged.</sub>\n\n## Why octomux\n\nThe editor was built around a human typing one file at a time. That's not the job anymore. The job is directing a fleet — and the hard part moved from _writing_ code to _reviewing_ it, _unblocking_ it, and _knowing what's happening_ across ten sessions.\n\noctomux is a bet on what that surface should look like: not a chat box bolted onto a file tree, but a control deck. It handles the ugly backend of running agents and puts the human's job — the inbox, the fleet grid, the review workstation, the orchestrator — front and center. It's early and opinionated, and the roadmap is shaped in the open.\n\n## Requirements\n\n- macOS (arm64/x64) or Linux for the CLI; macOS for the desktop app\n- Node.js 20+ · `git` (`tmux` ships bundled)\n- At least one harness: **Claude Code** (`claude`) and/or **Cursor CLI** (`cursor-agent`)\n\n<details>\n<summary><b>Full CLI reference</b></summary>\n\n| Command                              | Description                                                          |\n| ------------------------------------ | -------------------------------------------------------------------- |\n| `octomux start`                      | Dashboard at `:7777` (add `--bind 0.0.0.0` for remote)               |\n| `octomux init`                       | Defaults wizard (Jira URL/project, base branch) + workflow scripts   |\n| `octomux create-task`                | New task (`--harness`, `--model`, `--mode`, `--fork-from`)           |\n| `octomux list-tasks` / `get-task`    | Inspect tasks                                                        |\n| `octomux close-task` / `delete-task` | Stop or fully remove                                                 |\n| `octomux resume-task`                | Resume a closed task                                                 |\n| `octomux add-agent`                  | Another agent window (`--model`, `--notify-agent`)                   |\n| `octomux send-message`               | Message a running agent — course-correct without restart             |\n| `octomux loop-start`                 | Loop a task until `--verify` passes (`--prompt`, `--max-iterations`) |\n| `octomux loop-start-group`           | Fan out `--n` competing loop candidates from one prompt              |\n| `octomux learn` / `recall`           | Record and retrieve durable notes for future runs on a repo          |\n| `octomux plugins list`               | List plugins in `octomux.yml` (`disable <id>` / `enable <id>`)       |\n| `octomux doctor`                     | Report plugin boot health from the last load report                  |\n\nFull setup, Jira/Linear, and orchestrator skills: **[ONBOARDING.md](./ONBOARDING.md)**.\n\n</details>\n\n<details>\n<summary><b>Remote access from your phone (Tailscale)</b></summary>\n\noctomux binds to `127.0.0.1` by default. To reach it from another device, put them on a\n[Tailscale](https://tailscale.com) tailnet and start in remote mode:\n\n```bash\noctomux start --bind 0.0.0.0     # or: OCTOMUX_BIND=0.0.0.0 octomux start\n```\n\nA random access token is generated on first start (path logged to\n`~/.octomux/data/remote-token`; override with `OCTOMUX_REMOTE_TOKEN`). Open\n`http://<host-magicdns-name>:7777` from a tailnet device and sign in once. Only tailnet\ndevices can reach the port; the token is a second factor. For HTTPS, front it with\n`tailscale serve`.\n\n</details>\n\n<details>\n<summary><b>Built to extend</b></summary>\n\noctomux keeps a clean line between the **agent backend** (done for you) and the **views**\n(where the value is). Building blocks available today:\n\n- **REST API** (~130 endpoints) over tasks, agents, diffs, reviews, chats, workspaces, skills.\n- **Three live WebSocket channels** — `/ws/events` for task/chat/review events, `/ws/terminal/*` for bidirectional xterm ↔ tmux, and `/ws/orchestrator/:convId` for the conductor's conversation stream.\n- **A queryable SQLite schema** — tasks, agents, permission prompts, review runs, comments, learnings.\n- **User hook scripts** — drop executables in `~/.octomux/hooks/<event>.d/` (or `<repo>/.octomux/hooks/<event>.d/`) to fire on task-lifecycle events.\n\nThere still isn't a drop-in API for custom **UI views** — adding one means building against\nthese blocks in the codebase. For workflows, integration providers, and harnesses, though, see\nbelow: that line moved.\n\n</details>\n\n## Plugins\n\noctomux is a **metaharness** — a third-party npm package can register a **workflow**, an\n**integration provider**, or a **harness** without forking octomux. List it in\n`~/.octomux/octomux.yml`, export one `apply(ctx)` function, and octomux calls it at boot.\n\n| Registrar                     | Adds                                                             | Example                           |\n| ----------------------------- | ---------------------------------------------------------------- | --------------------------------- |\n| `ctx.workflows.register()`    | a workflow kind — cron-triggered or run-based, own config schema | a nightly \"translate strings\" job |\n| `ctx.integrations.register()` | a handler for task lifecycle events (issue tracker, chat, CI)    | GitHub Issues instead of Jira     |\n| `ctx.harnesses.register()`    | a new coding-agent backend                                       | Aider, Codex CLI, OpenHands       |\n\nThe smallest possible plugin — a workflow that logs on every run:\n\n```js\n// index.js\nexport function apply(ctx) {\n  ctx.workflows.register({\n    kind: 'hello',\n    displayName: 'Hello World',\n    surfaces: ['session'],\n    run: async (runCtx) => {\n      ctx.logger.info({ repo: runCtx.repoPath }, 'hello from a plugin');\n    },\n  });\n}\n```\n\nInstalling one today is manual — there's no `octomux plugins add` yet:\n\n```bash\nnpm install --prefix ~/.octomux octomux-plugin-hello\n```\n\n```yaml\n# ~/.octomux/octomux.yml\nplugins:\n  - id: hello\n    name: octomux-plugin-hello # or an absolute path, while developing one locally\n    version: 1.0.0\n```\n\nRestart octomux. `octomux plugins list` shows what's in the manifest; `octomux doctor` reports\nwhether each row actually loaded, and how long its `apply()` took.\n\nFull authoring guide and the pinned `@octomux/plugin-api` types:\n**[docs/plugins/README.md](./docs/plugins/README.md)** ·\n**[API reference](./docs/plugins/api-reference.md)**.\n\n**Security, plainly:** a plugin runs in-process with the DB handle, every stored credential,\nand full `process.env` — there is no sandbox and none is planned. Only install a plugin you'd\ntrust with `npm install`'s postinstall scripts. `octomux start --safe-mode` skips every plugin\nrow at boot if one goes bad.\n\n## FAQ\n\n**Is this just tmux + git worktrees?** Underneath, largely yes — one tmux session per task, one window per agent, one worktree per branch. `tmux attach -t octomux-agent-<id>` still works and your own scripts still work; nothing is hidden from you. What octomux adds is the layer above: one permission inbox, the whole fleet on one grid, loops with a verify command, cron schedules, and a review workstation. If you have already built that on top of tmux, you do not need this.\n\n**What does it cost to run?** Nothing beyond what you already pay. MIT licensed, and it adds no inference cost of its own — it drives the Claude Code or Cursor subscription you already have. Loops multiply token spend by the iteration count, so set `--max-iterations` and a budget.\n\n**Will an overnight loop burn through my plan limits?** Loops are capped. You set a max iteration count and an optional token/time budget, and a loop stops early when it stops making progress. Every pass and its cost lands in the `/loops` ledger, and you can stop a run from the UI or your phone.\n\n**What if two agents touch the same file?** During the work they can't — each task is its own git worktree on its own branch, so your main working tree never moves. At merge time you still get normal git conflicts; what octomux gives you is all N diffs in one review queue so you pick the merge order deliberately.\n\n**Can I use it from my phone?** Yes — host it on a tailnet box and open the mobile-ready dashboard from any device on the tailnet.\n\n**What if my laptop reboots?** Run `octomux start`; tasks, branches, terminals, and review state come back.\n\n## Contributing\n\nIssues and PRs are welcome — the roadmap is shaped in the open.\n\n```bash\ngit clone https://github.com/ShreyPaharia/octomux && cd octomux\nbun install\nbun run dev        # Express :7777 + Vite\nbun run test       # bun test\n```\n\nThen open a PR **against `next`** with a short description of the change. See\n**[CONTRIBUTING.md](./CONTRIBUTING.md)** for architecture and testing patterns, and\n[good first issues](https://github.com/ShreyPaharia/octomux/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)\nto get started. We try to respond to PRs within a couple of days.\n\n## Star it\n\nIf octomux saves you an afternoon of babysitting agents, a ⭐ helps other people find it — and tells me which parts to build next. Thanks for trying it.\n\n## Links\n\n[GitHub](https://github.com/ShreyPaharia/octomux) · [npm](https://www.npmjs.com/package/octomux) · [octomux.com](https://octomux.com) · [Releases](https://github.com/ShreyPaharia/octomux/releases)\n","readmeFilename":"README.md"}