{"_id":"@agent-workbench/cli","_rev":"12-9148c8f943ed8e34710908f1ca9bea50","name":"@agent-workbench/cli","dist-tags":{"latest":"0.1.12"},"versions":{"0.1.0":{"name":"@agent-workbench/cli","version":"0.1.0","_id":"@agent-workbench/cli@0.1.0","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"596f13dcc4980ff16a36388132954722896f5121","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.0.tgz","fileCount":22,"integrity":"sha512-9QnzQ8QSWqN3nluDZuliNRxwvFnizSalp54GK5+32C2dWCtt5ZWSe8I2b1XAu5Mh5tJHKYeWqwR1EC/K0lHfag==","signatures":[{"sig":"MEUCIQCbsH8LsUcLgRmfWofo4LrSys4up5hV0d2WA7QUIbHcBwIgDG+miqTj4t4mjIUcFtbizxP/vYUILIaUK7yjOCuhrKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3334321},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --external:better-sqlite3 --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","better-sqlite3":"^12.9.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1777620192805_0.6036366481197954","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent-workbench/cli","version":"0.1.1","license":"MIT","_id":"@agent-workbench/cli@0.1.1","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"80d3e78af286f7a9f084ea348f82c8b44d212187","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.1.tgz","fileCount":22,"integrity":"sha512-zBiqha46if2IBjW43wrIxFZmtbgDettyRDJ0aFuXPcL+4je1FT4hkOzjDvKUDCuKUMZoIyuUDpReBs9ERNpUVw==","signatures":[{"sig":"MEUCIQDXUiOtxGB9xPINWyhGkFxU+SOH1I8+SyBK1u6gUMFVDgIgBgFfV9bdSfcDvQoIw04VgiQe41EBeIDbZbEdpBRGnnk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3334341},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --external:better-sqlite3 --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","better-sqlite3":"^12.9.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1777620556003_0.4321726373572339","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agent-workbench/cli","version":"0.1.2","license":"MIT","_id":"@agent-workbench/cli@0.1.2","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"80d0888f9d95acf6bcde714049dc195fa36e22cf","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.2.tgz","fileCount":22,"integrity":"sha512-bblFgRfTBDWOjGhZuk0hdD75+6sP3GyM0p60iM5TWf50RkLR3QpdZ+/5/rOx0EtvQqNw1JHcH2zGDo5vjEHaUw==","signatures":[{"sig":"MEQCIF9YdLM63rVekwWOwGqx7B2xkQXqlVF2a8OgQQuXG57iAiB62Gyf0Znk34ehEAVZTfcyuLbbdqfK34Ep+grsqwPJ2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3325112},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1777621806306_0.7681798273605922","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@agent-workbench/cli","version":"0.1.3","license":"MIT","_id":"@agent-workbench/cli@0.1.3","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"72172b63f2510ddf40ed1f3d6e263c543729c8dc","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.3.tgz","fileCount":23,"integrity":"sha512-NLMVi0SOBvme5ftTLm5psQ1F5hovgWwyW2PF5AByOdinj14V/A68eCzQt8XcYj99wlay3TE4r0K0GRemQxCXfQ==","signatures":[{"sig":"MEUCIF9Gnwky71w/4s2whMVV9ZH4K4OopY11TSYNU4IfZf4eAiEAmVPvTy+TvBx/sT6Ie5EZRxjn4OX8cMqVahnZ3mB5PWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3648586},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.3_1777631564062_0.6809749795185835","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@agent-workbench/cli","version":"0.1.4","license":"MIT","_id":"@agent-workbench/cli@0.1.4","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"2fcbbf5420c9490ccd0e431bba66920966b7ae92","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.4.tgz","fileCount":23,"integrity":"sha512-dBBHjDNvgYVBCZ9xPXmLNASEhF/CHqkCh6Tx53+dsXW3/xVidCXZz+zIT+6O4y8M5AwLtLkfElbloMHBW9qf5g==","signatures":[{"sig":"MEYCIQCbw/8WXsxXm5GUq3AZCtFayVDSzXk3ecxhP8k7uyMq2wIhAN2L1DnI94Qu1xD1hfIxHtMVCxO6kGzixgTKR+mUbScs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3649414},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.4_1777631715892_0.9159889804475345","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@agent-workbench/cli","version":"0.1.6","license":"MIT","_id":"@agent-workbench/cli@0.1.6","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"5ca82e97c3f2beedb6c3fb7126cd1bbe5e099634","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.6.tgz","fileCount":23,"integrity":"sha512-MwDMu1iWGyYocEXhqVUIidpAVzbNPDeD49DZLtOB0RU5esr3HQSYSFJa8hQRae7wUDyCQxNdpNLosGQkfoWlmA==","signatures":[{"sig":"MEQCIDPcyk+JcB60ZO0Dtnz5ZPMeM0jhs36gEeG9fKVd47pgAiBqQAwZ8TCoewFcXOAx3bljGzWyzWiefkxfg7SQ6SUTDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3677508},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.6_1777653768507_0.7705749915823679","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@agent-workbench/cli","version":"0.1.7","license":"MIT","_id":"@agent-workbench/cli@0.1.7","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"21a589b1898f32c10b196423914d6bca5ccc23ee","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.7.tgz","fileCount":23,"integrity":"sha512-72yshIUn/UqNfT3hbMFgheyVVxKl0OzMVZ+pgsY8tM0xaKjb7wxdt3NpvnIzhkO6+7a5MGxRvKJhIaFlx3hLsA==","signatures":[{"sig":"MEYCIQC9EIe18vqDC2oR3+VKjEbzx/S+XO6cDDP3AC//0qQmQAIhAKJIO9CbycW82vOH5nbWGfqo4mTulr7f7oHhEU5Jn4gC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3699874},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.7_1777706613897_0.3215527404106182","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@agent-workbench/cli","version":"0.1.8","license":"MIT","_id":"@agent-workbench/cli@0.1.8","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"ff94f5a72e5d8ea2716df51f6a3926aff9d60415","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.8.tgz","fileCount":23,"integrity":"sha512-3Rh9g+Py7v9cVoHeTdEqC0r4ntDWGDLa8VhMwmfoN86BREMZw199S4ISko5iSXN5ljR1AUMg9QCWL1PfD37Www==","signatures":[{"sig":"MEUCIQDAKeq2hs/+WY3Gkrli+ruEE4JXPbdGvHLE/YtaOlwRRgIgU5a1qiskqnf85um0jWEe1qlaaRBwcc11sWhUGsBy2ZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3699944},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.8_1777706784898_0.26035604400158086","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@agent-workbench/cli","version":"0.1.9","license":"MIT","_id":"@agent-workbench/cli@0.1.9","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"4c94e7feb53d20266eaa697d238ba6b3288c02e4","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.9.tgz","fileCount":23,"integrity":"sha512-UhDAyIzRoMrZ6lxm59/hNmOweKx3x/OntcJhIdBd9ooMC9l0pNMiFO5N3vNfNTY1G7eaIbm1byMLP63ANATTRg==","signatures":[{"sig":"MEYCIQCqPUyjglYZdDJR8kMAG3D60N9VwIhodSloH1jPJdI4wgIhAM3Jpi1xv3Cgd5jR2Lg21ppNHzAMKuKJzPECeIPtLZfC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3732678},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.9_1777778504918_0.707320161807665","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@agent-workbench/cli","version":"0.1.10","license":"MIT","_id":"@agent-workbench/cli@0.1.10","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"4315261fa2b891fcbfa6acd8c05bc7e794ded548","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.10.tgz","fileCount":23,"integrity":"sha512-3XrFK/06m54d0Md90o/58/1UrSSg38V7NVNcrc47j2TeHoagbYbRv5iO+hi+5mZpj77OPQ4CrSS8lDMoubfSzw==","signatures":[{"sig":"MEUCIQDBOf/x41ASd3d7ZtVf0xjWGI1yF4dXwtIUEL5D9ugM4wIgHVlUYmaQCkevcCgsGX1DZjcCDRaSszLiDVcH5w5tfY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3737885},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.10_1777787116534_0.06459759094963013","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@agent-workbench/cli","version":"0.1.11","license":"MIT","_id":"@agent-workbench/cli@0.1.11","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"bin":{"agent-workbench":"dist/cli/index.js"},"dist":{"shasum":"19c931617d471d7581503fdff40cb13176cac871","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.11.tgz","fileCount":23,"integrity":"sha512-P+86wpVh3TyEivlSaPVze0WyYXw9lSmT8Yb8EiZjtgL4YURJaIpIPnCVMEvaYOiyLrfXxyxEIan6MV6Y54Ba7w==","signatures":[{"sig":"MEUCIQDHfvBNLTvHm8zuaQd4mYbupfVeoryBo7SXBx6VspenuQIgY/fL3taTZbi3kl1ACUkEQqvPWQBTMo88lTbizEGAuIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3753461},"type":"module","engines":{"node":">=20.19.0"},"private":false,"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts","doctor":"tsx apps/cli/src/index.ts doctor","typecheck":"npm run typecheck --workspaces --if-present","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs"},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"workspaces":["apps/*","packages/*"],"_npmVersion":"10.8.2","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"fastify":"^5.3.2","node-pty":"^1.1.0","commander":"^13.1.0","@fastify/websocket":"^11.0.2","@agentclientprotocol/sdk":"^0.16.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","esbuild":"^0.25.3","typescript":"^5.8.3","@types/node":"^20.19.0","concurrently":"^9.1.2"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.11_1777791321913_0.5779615667194808","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@agent-workbench/cli","version":"0.1.12","private":false,"license":"MIT","type":"module","bin":{"agent-workbench":"dist/cli/index.js"},"workspaces":["apps/*","packages/*"],"scripts":{"dev":"concurrently -n server,web -c blue,green \"npm run dev -w @agent-workbench/server\" \"npm run dev -w @agent-workbench/web\"","build":"npm run build --workspaces --if-present","build:package":"npm run build -w @agent-workbench/web && esbuild apps/cli/src/index.ts --bundle --platform=node --format=esm --banner:js='import { createRequire } from \"node:module\"; const require = createRequire(import.meta.url);' --external:node-pty --outfile=dist/cli/index.js && node scripts/chmod-package-bin.mjs","typecheck":"npm run typecheck --workspaces --if-present","serve":"tsx apps/cli/src/index.ts serve","doctor":"tsx apps/cli/src/index.ts doctor","pack:local":"npm run build:package && npm_config_cache=/tmp/agent-workbench-npm-cache npm pack","smoke":"node scripts/smoke.mjs && tsx scripts/queue-smoke.ts"},"engines":{"node":">=20.19.0"},"dependencies":{"@agentclientprotocol/sdk":"^0.16.1","@fastify/websocket":"^11.0.2","commander":"^13.1.0","fastify":"^5.3.2","node-pty":"^1.1.0"},"devDependencies":{"@types/node":"^20.19.0","concurrently":"^9.1.2","esbuild":"^0.25.3","tsx":"^4.19.2","typescript":"^5.8.3"},"_id":"@agent-workbench/cli@0.1.12","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-PuhR63VE6Oj4zn0Ek2Em1Ug5Gt732zO7L4EX1M5kBEalEf5PJWXcISQ0uOfP5Rdk92jrbltLTpkToMzOcOOKWA==","shasum":"6e0a0186d62f99ca7447c1ff238450e9962eace5","tarball":"https://registry.npmjs.org/@agent-workbench/cli/-/cli-0.1.12.tgz","fileCount":23,"unpackedSize":3797484,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDaWJhzIK/tVLQ5rsx24Qcv1vOHQHOabjkJTrboyXTvPAIhAMZN7+Jx2EwsDPeffUG5xMvlX2QqlT7qkxG2u9ShXrIg"}]},"_npmUser":{"name":"reid42","email":"reid201711@gmail.com"},"directories":{},"maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.12_1777799695652_0.14113126352893768"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-01T07:23:12.691Z","modified":"2026-05-03T09:14:56.002Z","0.1.0":"2026-05-01T07:23:12.973Z","0.1.1":"2026-05-01T07:29:16.344Z","0.1.2":"2026-05-01T07:50:06.463Z","0.1.3":"2026-05-01T10:32:44.280Z","0.1.4":"2026-05-01T10:35:16.117Z","0.1.6":"2026-05-01T16:42:48.767Z","0.1.7":"2026-05-02T07:23:34.082Z","0.1.8":"2026-05-02T07:26:25.140Z","0.1.9":"2026-05-03T03:21:45.139Z","0.1.10":"2026-05-03T05:45:16.714Z","0.1.11":"2026-05-03T06:55:22.102Z","0.1.12":"2026-05-03T09:14:55.886Z"},"license":"MIT","description":"Agent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.","maintainers":[{"name":"reid42","email":"reid201711@gmail.com"}],"readme":"# Agent Workbench\n\nAgent Workbench is a local-first web workspace for managing coding-agent work across multiple projects and multiple sessions.\n\nIt focuses on one practical workflow: run several agent tasks in parallel, keep them isolated, review the code changes clearly, then apply or deliver the work when it is ready.\n\n![Agent Workbench dashboard](agent-workbench.png)\n\nDemo: [Watch Agent Workbench on YouTube](https://youtu.be/wkr-dKIUKNA)\n\n## 🚀 Main Features\n\n- 🧠 Brainstorm Mix mode for read-only multi-CLI discussion across Gemini, Codex, Claude, Qwen, and Copilot.\n- 🔥 Per-round agent selection in Brainstorm Mix: choose who participates before each round instead of locking it at session creation.\n- 🎯 `@agent` targeting in Brainstorm Mix: mention `@codex`, `@gemini`, `@claude`, `@qwen`, or `@copilot` to make only selected agents respond.\n- 🚀 Multi-project management for local git repositories.\n- 🔥 Multi-agent and multi-session workflow, with each session isolated from the others.\n- 📊 Session Overview dashboard for current progress, status, blockers, changed files, and review state.\n- 🤖 Gemini CLI, Codex CLI, Claude Code, Qwen Code, and GitHub Copilot CLI support through native terminal attach.\n- 🔁 Native CLI resume binding: Workbench links Gemini, Codex, Claude, Qwen, and Copilot session IDs and reattaches with resume automatically.\n- 🔎 Native session import for existing Gemini CLI, Codex CLI, Claude Code, and Qwen Code sessions.\n- 👀 Changes view for reviewing CLI/agent edits immediately after they happen.\n- 📝 Session Notes for human plans, review summaries, rules, and handoff context, with Markdown rendering after save.\n- 🛠️ Review-first delivery: session branch, snapshots, add/commit/push, and Draft PR from the isolated worktree.\n- 🧩 Apply patch fallback for moving reviewed session changes into another branch when needed.\n- 🖥️ Enhanced split terminal projection: keep CLI input on the right and project a readable, color-preserving, zoomable transcript into the main workspace.\n- 🎙️ Browser voice input for faster prompting when supported by browser permissions.\n- 🖼️ Clipboard screenshot upload, inserting an image path into the CLI prompt.\n\n## Install\n\nRequirements:\n\n- Node.js 20.19 or newer\n- npm\n- git\n\n<details>\n<summary>CLI support</summary>\n\nInstall and authenticate the CLIs you want to use:\n\n- Gemini CLI for Gemini-backed sessions\n- Codex CLI for Codex-backed sessions\n- Claude Code for Claude-backed sessions\n- Qwen Code for Qwen-backed sessions\n- GitHub Copilot CLI for Copilot-backed sessions\n\n</details>\n\nInstall the published package:\n\n```bash\nnpm install -g @agent-workbench/cli\n```\n\nStart Agent Workbench:\n\n```bash\nagent-workbench serve\n```\n\nCheck local runtime dependencies:\n\n```bash\nagent-workbench doctor\n```\n\nThe default bind address is `127.0.0.1:3030`. The server prints a tokenized URL. Keep the token private.\n\n## Run From Source\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\nRun from source:\n\n```bash\nnpm run serve\n```\n\nCheck source dependencies:\n\n```bash\nnpm run doctor\n```\n\n## Basic Usage\n\nAgent Workbench is designed around one default rule: one implementation session should map to one real branch, one isolated worktree, and usually one PR. For large work, use one planning session to split the work, then create separate implementation sessions for each branch.\n\n1. Open the Workbench URL in a browser.\n2. Add a local git project.\n3. Create a new session and choose a unique session branch.\n4. Choose Gemini CLI, Gemini ACP, Codex CLI, Claude Code, Qwen Code, or GitHub Copilot CLI for the session.\n5. Attach the native terminal from the right panel.\n6. Workbench starts the selected CLI inside the isolated session worktree.\n7. Workbench records the native CLI session ID and uses resume on later attaches.\n8. Let the agent work in its isolated session worktree.\n9. Review changed files in Changes.\n10. Use Take snapshot before risky edits or rollback points.\n11. Use Notes to keep human plans, review summaries, rules, or handoff context for the session. Notes are saved as session metadata and render Markdown after save.\n12. Use Delivery to add, commit, push, and create a draft PR from the session branch.\n13. Use Apply patch only when you intentionally need to move reviewed changes into another branch.\n\nFor read-only planning, choose Brainstorm Mix instead of a coding CLI. It asks selected CLIs to analyze the same topic with shared project context, records the transcript under `~/.agent-workbench/brainstorm/<session-id>`, and does not create branches, edit files, apply patches, or open PRs.\n\nBrainstorm Mix participants are selected per round. You can run one round with Codex and Gemini, then add Claude or Qwen in the next round, or type `@codex` / `@gemini` / `@claude` / `@qwen` / `@copilot` to target specific selected agents.\n\n<details>\n<summary>Import existing native CLI sessions</summary>\n\nYou can import existing native CLI sessions from the Sessions menu:\n\n- Gemini CLI sessions from Gemini's local session store.\n- Codex CLI sessions from Codex rollout metadata.\n- Claude Code sessions from Claude project JSONL history.\n- Qwen Code sessions from Qwen's project JSONL history. Workbench bridges the session file into the isolated worktree before resume.\n\nImported sessions become regular Workbench sessions and reopen through each CLI's resume command.\n\n</details>\n\n## CLI Backends\n\n<details>\n<summary>Brainstorm Mix</summary>\n\n- Workbench-controlled read-only discussion mode.\n- Select Gemini CLI, Codex CLI, Claude Code, Qwen Code, and/or GitHub Copilot CLI per round.\n- Use `@agent` targeting to ask only specific selected participants to respond.\n- Running participants show a live Thinking state and disappear from that state after their response arrives.\n- Each round sends the same project context and prompt to the selected CLIs.\n- Workbench saves a shared transcript in `~/.agent-workbench/brainstorm/<session-id>`.\n- No terminal attach, no worktree edits, no git delivery, and no apply/PR workflow.\n\n</details>\n\n<details>\n<summary>Gemini CLI</summary>\n\n- Native terminal attach starts `gemini`.\n- After Gemini creates a native session ID, Workbench records it.\n- Later attaches use `gemini --resume <id>`.\n- Gemini ACP remains available for structured tool events where supported.\n- The Split button projects a read-only, color-preserving Gemini terminal transcript into the center workspace while input stays in the terminal.\n\n</details>\n\n<details>\n<summary>Codex CLI</summary>\n\n- Native terminal attach starts `codex --cd <session-worktree>`.\n- After Codex writes its rollout metadata, Workbench records the Codex session ID.\n- Later attaches use `codex resume --cd <session-worktree> <id>`.\n- Codex slash commands, approvals, skills, and model controls stay native inside Codex CLI.\n\n</details>\n\n<details>\n<summary>Claude Code</summary>\n\n- Native terminal attach starts `claude --session-id <id>` in the session worktree.\n- Workbench creates the Claude session ID up front, so the AW session and Claude session are bound from the first attach.\n- Later attaches use `claude --resume <id>`.\n- Claude Code slash commands, plugins, skills, hooks, permissions, and model controls stay native inside Claude Code.\n\n</details>\n\n<details>\n<summary>Qwen Code</summary>\n\n- Native terminal attach starts `qwen --session-id <id>` in the session worktree.\n- Workbench creates the Qwen session ID up front, so the AW session and Qwen session are bound from the first attach.\n- Later attaches use `qwen --resume <id>` after Qwen writes resumable session history.\n- Existing Qwen sessions can be imported; Workbench rewrites the local Qwen session history path for the isolated worktree so resume works inside the AW session.\n- Qwen Code slash commands, memory, approvals, and model controls stay native inside Qwen Code.\n\n</details>\n\n<details>\n<summary>GitHub Copilot CLI</summary>\n\n- Native terminal attach starts `copilot --resume=<id>` in the session worktree.\n- Workbench creates the Copilot session ID up front, so the AW session and Copilot session are bound from the first attach. Copilot does not allow `--name` together with `--resume`, so Workbench keeps the human session title in AW metadata.\n- Later attaches use `copilot --resume=<id>`.\n- Copilot slash commands, MCP, custom agents, permissions, and rollback stay native inside GitHub Copilot CLI.\n- Existing Copilot session import is not wired yet; this first integration path is new Workbench-managed Copilot sessions.\n\n</details>\n\n<details>\n<summary>Split projection</summary>\n\n- The right-side Agent Terminal remains the real interactive CLI.\n- Split projects a read-only transcript into the center workspace for easier review.\n- Projection preserves terminal cell colors and basic text styling.\n- Projection filters the live input/footer/status area so the center view focuses on conversation and output.\n- Projection has local zoom controls from 80% to 200%.\n\n</details>\n\n## Development\n\nRun the development server:\n\n```bash\nnpm run dev\n```\n\nRun checks:\n\n```bash\nnpm run typecheck\nnpm run build\n```\n\nAdditional smoke checks:\n\n```bash\nnpm run smoke\n```\n\n## Built With\n\n- [Gemini CLI](https://github.com/google-gemini/gemini-cli) - Google's official Gemini command-line coding agent.\n- [Codex CLI](https://github.com/openai/codex) - OpenAI's command-line coding agent.\n- [Claude Code](https://github.com/anthropics/claude-code) - Anthropic's command-line coding agent.\n- [Qwen Code](https://github.com/QwenLM/qwen-code) - Qwen's command-line coding agent.\n- [GitHub Copilot CLI](https://github.com/features/copilot/cli) - GitHub's terminal coding agent.\n- [React](https://react.dev/) - User interface library.\n- [Vite](https://vite.dev/) - Fast frontend build tool and development server.\n- [Fastify](https://fastify.dev/) - Local HTTP and WebSocket server.\n- [xterm.js](https://xtermjs.org/) - Browser terminal rendering.\n- [node-pty](https://github.com/microsoft/node-pty) - Pseudo-terminal integration for native CLI sessions.\n\n## Acknowledgments\n\nAgent Workbench is built around the idea that native coding CLIs should keep their terminal-first power while gaining a web dashboard for multi-session supervision, review, snapshots, and delivery.\n\nGemini CLI, Codex CLI, Claude Code, Qwen Code, and GitHub Copilot CLI are the main native CLI workflows for the current release.\n\n## Documentation\n\nDetailed design and architecture notes are in [docs](docs/).\n","readmeFilename":"README.md"}