{"_id":"@andycoupe/orchestrator","_rev":"26-10d93f0982a797fc8c8d160526749aec","name":"@andycoupe/orchestrator","dist-tags":{"canary":"0.0.2-canary.13","latest":"0.7.1"},"versions":{"0.0.1":{"name":"@andycoupe/orchestrator","version":"0.0.1","_id":"@andycoupe/orchestrator@0.0.1","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"9b9beaee6bff65f946e7db1a4e012fb098cb105b","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.1.tgz","fileCount":282,"integrity":"sha512-SrnR1zQ1OLnPtcgb/UeRvs+Dz668nr8U7/l1/3nb4Woj+qpM09DtNH/6/DUzL35PIti+TOKyiftHWzba1k5kCQ==","signatures":[{"sig":"MEQCIGkTtPVGdbaw7WSFGwzozN47OmZksiI9B5M51AqcQi0KAiA3SbhvyEbvKAGWilD+zRhk6wbUvZImTPcUrfFDnbGVQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2059090},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.1_1776878860089_0.24752165559572004","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.0":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.0","_id":"@andycoupe/orchestrator@0.0.2-canary.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"a668ef97bdf9b143d9e26c786bb28687139a3577","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.0.tgz","fileCount":282,"integrity":"sha512-9Wbfu3DskSFkeucDQiP+ZnAERgKzfxV3SXhw6LzZ/ppYLqzLTS9VT4Q7Plow/BEG7+nhYzlFl+LrxgYjodum3A==","signatures":[{"sig":"MEYCIQCCvzixh/SHuG/AYDP03yQNbw9CH6d6rqkNSbEkBNrWEwIhAKx+X6uTrU8p9+sIw7+1R29RycVun7j6I0eDj+qMZVxE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2059702},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.0_1776879294590_0.1315099840545937","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.1":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.1","_id":"@andycoupe/orchestrator@0.0.2-canary.1","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"0ecb24ebbd1ad8acaa6b466959b107cffdc6e2bf","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.1.tgz","fileCount":282,"integrity":"sha512-D8To6btKZL4g6mX4vg7TD1iiIrQIBpp2Ilw9QH0ydtGMkYkp5FFK+8BeEFqNwfqhkd/TEuDOftT143uTYtIvIg==","signatures":[{"sig":"MEUCIGz4RmdcipimKcTRlTV8rJY2TxVBDzca1SS1CUlFD/x4AiEAlrSLutqFFMj39nD4H/lHi2AgmvAbDCRTAs4ouLwT3Hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2061149},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.1_1776884595226_0.5234560625812201","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.2":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.2","_id":"@andycoupe/orchestrator@0.0.2-canary.2","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"aa7bd51ee2d19a75bc79f471169124b28c04baab","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.2.tgz","fileCount":282,"integrity":"sha512-CmU1RsaSAmXq8tOMO5DxvZIADkR6Vv4v862BiYTPsSUrf3ZY7kP1SLIUDgttgaTp4E44rUfL0DCMbSHmf2CptA==","signatures":[{"sig":"MEUCIGvs2UfqibIh4cr88NdBQZiLwc7o4H+y91TylqqXW6IQAiEAxZGdU33ABTQdKCnYALgTBGZ7AqnWw9rEC8QDx6qWAEo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2062384},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.2_1776885942972_0.08338799848181555","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.3":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.3","_id":"@andycoupe/orchestrator@0.0.2-canary.3","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"4ae1316fc05a278322b4a30b4bcdbad75ef9b6ff","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.3.tgz","fileCount":282,"integrity":"sha512-h0dRdYrswpBEdkmkf/51UV2tCaADlpO1UM3hDs/ssqi/MI5Zdsl6bU1WEHQo/OO2HVzDgaRcJP+cZyIpwXV8zQ==","signatures":[{"sig":"MEUCIQCAQBeDZJHAsLTGWG65fdaGyk8NPXoqWvEnEdOJ8CiWrQIgFUsbmesldpP7VS44UYpshJeWq/14pLvS3nq2HP5ZIDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2060692},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.3_1776887085344_0.029054003326393962","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.4":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.4","_id":"@andycoupe/orchestrator@0.0.2-canary.4","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"fddbc0dd538e62ebacd9eb492c8a48936fc25f2f","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.4.tgz","fileCount":282,"integrity":"sha512-IRioqc7qVol/YZ6NPkAt1IxQ/hTnsWRhJWC7hy1ioQaJlTWo0bJ/M6flrtDtvhjzWrgvoJ+fFm01B5yyZN47fA==","signatures":[{"sig":"MEYCIQCNyn8NxqQqC8ZE3e5Yxkwz6fNdF5n/OwGVSuQo5s8kMgIhAIhuAf3eufifh16CTb+ygYPMRyko2xYDVJd0S16KXAyM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2061689},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.4_1776887660123_0.3786240241182628","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.5":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.5","_id":"@andycoupe/orchestrator@0.0.2-canary.5","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"0523ffceaaa19f31f79f3f4af40ce6a7f66a6886","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.5.tgz","fileCount":282,"integrity":"sha512-Sztjr3VmKDLuCErELlPY3WchrP5sbpd0soEqsnnp0niHYi5U3yaimMRS8B8xMCTyGKh1v9s5z9PhFM3zKhRUmg==","signatures":[{"sig":"MEQCIDGa0TqCPbHI9TEVelKeCiTqglGNmOrgVYGo2txoGtYOAiBWCfeXoRpt0Ew5GlWnY84/NOuxDZBa9/OoLoVKiEGSHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2062146},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.5_1776888566265_0.9249760516158982","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.6":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.6","_id":"@andycoupe/orchestrator@0.0.2-canary.6","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"3bb76d34b8c0d57aa24a513ee09b0e2eabd6f058","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.6.tgz","fileCount":282,"integrity":"sha512-AN5fqZjtKudsQWAsPi6rPhGj2xPML3OlDJbsWO88mMyMNfkb3QaSprNozkpcCcELF+ChEbC/8Evc4+w6F2HwZg==","signatures":[{"sig":"MEUCIQDfID4Ov2HVJ9xwSMz4t6TtRyqR2u7o1YecACwvIqA3sAIgb9lmcsHo9uCQp7xehi0YDAf5tqjCmJKJeu0FmPFBKdI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2062370},"type":"module","gitHead":"be001bcbe73d44bb4b0568636ad17bf9f0cf0dfc","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","postcss":"^8.5.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.1.5","@types/react":"^19.1.2","autoprefixer":"^10.4.21","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.1.5","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.6_1776889460088_0.41072427832108316","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.7":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.7","_id":"@andycoupe/orchestrator@0.0.2-canary.7","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"9dcc5da43d558b38c67955b945497b1e759dc698","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.7.tgz","fileCount":316,"integrity":"sha512-Iawt9xa5lnyHItmu+pAQN3LJwD/n7S0TwrBvetWbhA5a23S34VhUn0t/0ER0Y1MjXeqaDTvyj1Sm/o9e5DJEuw==","signatures":[{"sig":"MEUCIHYqlvXyTUzdtI1shRPQjHK0i1O5FdDGc/x4RhYHyI7jAiEA/oBtZXr0JCt/4lFhQTcKVSbyON1CTzpF3X0CvZum7l0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2593061},"type":"module","gitHead":"b737515faad17a98dd2af80b41b64a1cece11999","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.7_1777368229930_0.5752205963803456","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.8":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.8","_id":"@andycoupe/orchestrator@0.0.2-canary.8","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"a06eabfb90549434bb1cac9f81c713af33fdf2c9","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.8.tgz","fileCount":316,"integrity":"sha512-uejsE1fdIamjoiaEaJ8W/VEKspVtF2XSAB/+Aw/0VLjSpavr/auj+isGLaBBpAWP56eu3fjpUK76hjn4GvvHsw==","signatures":[{"sig":"MEYCIQCvFjVw2Wl6f0MdApRlWSsGEoPX17bwmCZXVAGnv3s7uwIhAMmnwyQ/yVBXRWTmMSG9JifTekekWcwyOtCyBDIUhIf4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2593791},"type":"module","gitHead":"a1e6cc582e4baf37aec733f927c522ece9641815","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.8_1777368880294_0.5039014841369358","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.9":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.9","_id":"@andycoupe/orchestrator@0.0.2-canary.9","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"cce50538ef0a1de9c9782f4b25950acc788f6377","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.9.tgz","fileCount":316,"integrity":"sha512-L0tja81YSJuO4qbOp3s8QCzbSvyBsA+oTFkwrk2WAivbGaXYPYzHXp8XUo8SJzaTPly4nMRB5RLTsdUS+uJI8A==","signatures":[{"sig":"MEQCIAbANXCQjo+SFa2Bla9VyrzinUf5Zd6a9Vs9aNcit7XvAiBguUVk/jZfHMmnr3hRN+4ewbxnpST1cZsKVTQEvclzhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2593836},"type":"module","gitHead":"a1e6cc582e4baf37aec733f927c522ece9641815","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.9_1777370041825_0.0034294175904010515","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.10":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.10","_id":"@andycoupe/orchestrator@0.0.2-canary.10","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"20b0ae6f99761a1b868f05a1ed13677f6730546b","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.10.tgz","fileCount":316,"integrity":"sha512-axyPPpPDa5x0NgFQ9KUVZIyg/jJPFrWABgMa/MbYUPLmzQ6D4gkTVfxiUp93hWXz714T+fR6ZY10Re0nTkjidA==","signatures":[{"sig":"MEYCIQCFLuS491I7dIq7smv8ciXUhRqVSf8Jns2nKmUfvzlKfAIhAMgRCx229QYeSesWPMnccPa4047j/nV8D6Lhc/3Inwa7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2593805},"type":"module","gitHead":"a1e6cc582e4baf37aec733f927c522ece9641815","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.10_1777370452244_0.14213731984322853","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.11":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.11","_id":"@andycoupe/orchestrator@0.0.2-canary.11","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"acc1d840aa341324fd03cc938a9d6b95a9b4a40f","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.11.tgz","fileCount":369,"integrity":"sha512-qztqvW1f9PeALayxLYek6RcKLUe/eJj7qKT5O13rc59w7c4HmCV/24A9KeYZveP8bQVTZks6pnLArXxNZ2Pajw==","signatures":[{"sig":"MEYCIQCWLsntnMd980QVgpdBsfVap8A6jtRMOgoIdD4ESg8sNQIhAO3DhszuZhFnnqGX6jBO83E5LM5g1RPw28mB+s7QFgZj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2790542},"type":"module","gitHead":"9d136c1abe580a16b2acfaf409983d3ef37c3e27","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.11_1777394980700_0.03601563764266791","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.12":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.12","_id":"@andycoupe/orchestrator@0.0.2-canary.12","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"697e703bf29f94e5251cafa7d0d8c6e8b3978fcb","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.12.tgz","fileCount":369,"integrity":"sha512-FxjUy3G9awNlPmBt1FNfdHDkBlp1v4vt535iTKnzJ+UlcdQvoZeRwapldIIxz1XU6xcv1Mwh7II8m4m6MuikAA==","signatures":[{"sig":"MEUCIQC4rLlr+fEklubEm4wA5FAqOIYl92eoQLboXWo3P8SOggIgULwLhdhkibz3+uPdVY/XbkmAu3GOG/zHBYlXS681MA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2790899},"type":"module","gitHead":"9d136c1abe580a16b2acfaf409983d3ef37c3e27","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.12_1777395145750_0.5585914828787251","host":"s3://npm-registry-packages-npm-production"}},"0.0.2-canary.13":{"name":"@andycoupe/orchestrator","version":"0.0.2-canary.13","_id":"@andycoupe/orchestrator@0.0.2-canary.13","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"7b9b0cc6fa29ea3accc46bcc9ae2f8e6ac1e03d9","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.2-canary.13.tgz","fileCount":373,"integrity":"sha512-SfaLpH0siqO8m0+/4KehCXU1SE3/CrCV2f/qHFVkdf7WKvpbcxSaHL3SQ2fgBiTFVPFN7/6PRvdT+o8cC/thDA==","signatures":[{"sig":"MEUCIQCJPE1K78Vxpw6vXuJ3nTBu29C8ga3n/Qq/Qkf4+gNYFAIgPo8mQRPTEK91GiOijxgKd5C5EKOHh8sTMcEVAUxXJvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2796060},"type":"module","gitHead":"15b3b236c20ad65d5ba1d026ea23623d2f9cf015","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"eslint . --ext .ts,.tsx","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.2-canary.13_1777411890252_0.7585432111973307","host":"s3://npm-registry-packages-npm-production"}},"0.0.3-canary":{"name":"@andycoupe/orchestrator","version":"0.0.3-canary","_id":"@andycoupe/orchestrator@0.0.3-canary","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"7914d50149bf31c20791061b68be688041b7e346","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.3-canary.tgz","fileCount":374,"integrity":"sha512-1+tpMNqdgy+YGW220MrJozfEdZGK6zt8hZrz7hpx1rqGxgImqhwMs0Tt4GGn79IjjT4NSFb6JLA4f0+cVpLS9w==","signatures":[{"sig":"MEUCIENzAZxxw2JmR1r7aLAsQ+R76sr5456sWOO/pxoaBspdAiEAhTodUEDuNr3XK4mOE3OySBcmz+GH1woOKC4UAjOSJ8E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2799935},"type":"module","_from":"file:andycoupe-orchestrator-0.0.3-canary.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/d658f65f0539302f64ca483215945f5c/andycoupe-orchestrator-0.0.3-canary.tgz","_integrity":"sha512-1+tpMNqdgy+YGW220MrJozfEdZGK6zt8hZrz7hpx1rqGxgImqhwMs0Tt4GGn79IjjT4NSFb6JLA4f0+cVpLS9w==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.3-canary_1777442975415_0.31491741844294974","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@andycoupe/orchestrator","version":"0.0.3","_id":"@andycoupe/orchestrator@0.0.3","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"f0482d98880fbf49ede5fb444f75a07692741b85","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.0.3.tgz","fileCount":374,"integrity":"sha512-J1QWWmvoxp5H4dHKTWp9wIdlHequGLd28K3rc9oIc4m3aeFnCFJvvXQRJVzbab69HIMCwcCabUPvpBQ05PEnPg==","signatures":[{"sig":"MEUCIDjR/LCtRinUZFEp9HT3B0MfFRKiM5SuwZpvu5tH5fNtAiEAqE1BX/XSM3YzEaJk4TnWkg2wGnci28NaNDnJ/pO/MZ4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2808647},"type":"module","_from":"file:andycoupe-orchestrator-0.0.3.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/223b1f3b2a39895ef16b688de19992cb/andycoupe-orchestrator-0.0.3.tgz","_integrity":"sha512-J1QWWmvoxp5H4dHKTWp9wIdlHequGLd28K3rc9oIc4m3aeFnCFJvvXQRJVzbab69HIMCwcCabUPvpBQ05PEnPg==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.0.3_1777452360429_0.6402591827791035","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@andycoupe/orchestrator","version":"0.1.0","_id":"@andycoupe/orchestrator@0.1.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"9ff091d9894a8216ce969f07e90b322067178f05","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.1.0.tgz","fileCount":374,"integrity":"sha512-VPEMrkFTUb2NTnfhq8vJbD4lprdHPY6bbBJ5i9FeFfM8pZmxqa3WJ4bzJX4QaUrzd+bpyYXjCCEUt/289T1JuA==","signatures":[{"sig":"MEQCIChEQrbD7xjByuJhhCEDDCpBq1PMf8BDb2UpUWQHQKXQAiBYyG7mLqGMWRlj44Q2LFqFFXMIrqd+rFO7sBLjCFV3xw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2809136},"type":"module","_from":"file:andycoupe-orchestrator-0.1.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/6979fb278dde3da11b32b08d39116764/andycoupe-orchestrator-0.1.0.tgz","_integrity":"sha512-VPEMrkFTUb2NTnfhq8vJbD4lprdHPY6bbBJ5i9FeFfM8pZmxqa3WJ4bzJX4QaUrzd+bpyYXjCCEUt/289T1JuA==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.1.0_1777454945326_0.5285133927304728","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@andycoupe/orchestrator","version":"0.3.0","_id":"@andycoupe/orchestrator@0.3.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"e44f360dc79af04c60660ac7fcd0017de01ff93d","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.3.0.tgz","fileCount":374,"integrity":"sha512-9WW+KT3xCBIExH/KFe/5Xd9Ao3QFSDRxUYvmlmJ7Cjlo2sajfWyMMpvnC97V3CTfoRCiairoxpYdQDsDCIROJQ==","signatures":[{"sig":"MEYCIQDr/TsVMpBBfcDVjRsqrhhWSt/Ghn63QBWvVqWAHV5KOgIhALJhDUAdZGehg/voRw47ih55dQNSX2WQaoV7/P/Ex/CZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2809624},"type":"module","_from":"file:andycoupe-orchestrator-0.3.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/7970bfdc48b6db4b48a87e555b123e80/andycoupe-orchestrator-0.3.0.tgz","_integrity":"sha512-9WW+KT3xCBIExH/KFe/5Xd9Ao3QFSDRxUYvmlmJ7Cjlo2sajfWyMMpvnC97V3CTfoRCiairoxpYdQDsDCIROJQ==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.3.0_1777456437742_0.7753833463898592","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@andycoupe/orchestrator","version":"0.3.1","_id":"@andycoupe/orchestrator@0.3.1","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"1053ed126fc7fb5b4bb38d2d6c5e72724fd8c161","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.3.1.tgz","fileCount":374,"integrity":"sha512-4NFSjycNrV9J3sWOJcD7h5IkTuLQ/PNi0IuA0ei+7GnGCA3iVlDiswrKk9V0ie65dZhuQx6VKZAwns0trJKJhQ==","signatures":[{"sig":"MEYCIQCog+PAdgErpmEGU9SKO+QK2k1XJAXhYtblGH4spH0zkQIhAKORDeA1LjsSG1eK+0SvQhay8r+SLulfhG0/dvXEktTd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2809676},"type":"module","_from":"file:andycoupe-orchestrator-0.3.1.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/f1d1088b0def1c7f5644bf1e9bad835e/andycoupe-orchestrator-0.3.1.tgz","_integrity":"sha512-4NFSjycNrV9J3sWOJcD7h5IkTuLQ/PNi0IuA0ei+7GnGCA3iVlDiswrKk9V0ie65dZhuQx6VKZAwns0trJKJhQ==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.3.1_1777457005505_0.007627095553668806","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@andycoupe/orchestrator","version":"0.3.2","_id":"@andycoupe/orchestrator@0.3.2","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"5b5291bb266bb66561e88c2d1d7fbe05f42d4276","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.3.2.tgz","fileCount":374,"integrity":"sha512-iiimGs7zidh/J59rrq++XRBaJC8PgGTtH4wqZQEvZfu476ZvW2E1lm/duHxxE4dJotM9/sJsm7+BPfIAcUMi2A==","signatures":[{"sig":"MEQCIBhTQF4wqZM9e0AOOrmnDx/6v3AWWAFda3CUm23PKtsaAiAwZlShjCb4UsGSTeG/bi3jEdAUbcBzKqbi+/2vw4eGgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2810025},"type":"module","engines":{"node":">=20"},"gitHead":"ee88aafe637eaba6d3236e04afe05904d76e3e54","scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","prepublishOnly":"npm run build","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_npmVersion":"10.9.0","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.3.2_1777457263920_0.01813549068357667","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@andycoupe/orchestrator","version":"0.4.0","_id":"@andycoupe/orchestrator@0.4.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"989fabcc70a498b08da1faf39b2303e0fc2f15fc","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.4.0.tgz","fileCount":374,"integrity":"sha512-Jf4M6DDJXYAmkNAuJCwKNE3jz+OMQSJUs/D9pDOZMBSWqKBtl+B5COSfO/64fTj8fW2PgvcbWlCZz677zO3pyA==","signatures":[{"sig":"MEQCIAOVIKX2A7i1nSmISvY7mCtvV6pVFhgJnyl96fxzJJOZAiBbFeF/6WXa+utWWvX1NqGodsQHGsJvciwxNzOgGelwcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2795747},"type":"module","_from":"file:andycoupe-orchestrator-0.4.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/6eecf6ca770b1300cb64281b0bcf28fc/andycoupe-orchestrator-0.4.0.tgz","_integrity":"sha512-Jf4M6DDJXYAmkNAuJCwKNE3jz+OMQSJUs/D9pDOZMBSWqKBtl+B5COSfO/64fTj8fW2PgvcbWlCZz677zO3pyA==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.4.0_1777459648922_0.21748542929784787","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@andycoupe/orchestrator","version":"0.5.0","_id":"@andycoupe/orchestrator@0.5.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"a4adf303bdd89cf6f215d808ab2cfb1fb0de6e56","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.5.0.tgz","fileCount":374,"integrity":"sha512-269Axp5EoWNN7TBehlfhjzR88miodi4xjwdEiQaWUrVwLHCXa+FkcyyZMM3d+qD3YLipg5enCSQsrqjS8QV3ew==","signatures":[{"sig":"MEQCIE5vjqXuaGBhYqfrppm+bELq4MMzwZYleMOrf6F+mS1xAiAwH1BsmNS1uOOFGoM1EeHifXGtxEyFuHRs/Wits5RHMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2798326},"type":"module","_from":"file:andycoupe-orchestrator-0.5.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/425a822366886445ec045e391b8407d3/andycoupe-orchestrator-0.5.0.tgz","_integrity":"sha512-269Axp5EoWNN7TBehlfhjzR88miodi4xjwdEiQaWUrVwLHCXa+FkcyyZMM3d+qD3YLipg5enCSQsrqjS8QV3ew==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.5.0_1777466682860_0.9429274100634082","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@andycoupe/orchestrator","version":"0.6.0","_id":"@andycoupe/orchestrator@0.6.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"3d3d17ef8cc95a67d09a4bdc6c2c18ca9db0c621","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.6.0.tgz","fileCount":373,"integrity":"sha512-uXQIfTOblPkyQQdFAA9RTdA+EfzYEdCUPAiTTSAH1b5r0VhwZRxGLbUGaAjMPmpGfv+oMDeugY+eDsKLbe1zDQ==","signatures":[{"sig":"MEUCIQD+BRK9KPPEio03+9RN/1q8JqPgE5wEb4cL7JLWRUhHEQIgYAL2ondI5EJxPse0UXWA62r2zUWVZcrghRNL2Dv8yBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2806631},"type":"module","_from":"file:andycoupe-orchestrator-0.6.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/4e520040e8889fae7369490def97b808/andycoupe-orchestrator-0.6.0.tgz","_integrity":"sha512-uXQIfTOblPkyQQdFAA9RTdA+EfzYEdCUPAiTTSAH1b5r0VhwZRxGLbUGaAjMPmpGfv+oMDeugY+eDsKLbe1zDQ==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.6.0_1777527853595_0.4365020699878539","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@andycoupe/orchestrator","version":"0.7.0","_id":"@andycoupe/orchestrator@0.7.0","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"bin":{"orchestrator":"dist/server/cli.js"},"dist":{"shasum":"1a653ea8dc2c977a697bd41036bec5dfc049756e","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.7.0.tgz","fileCount":374,"integrity":"sha512-9DD8CSZ88wvkFcpxo5LWE1YqpRl6D/uRfahjCJ8XP1wUwQHtvmzZJLLA8zggiYqp7rR9KDW7h2kh6k56EULZiA==","signatures":[{"sig":"MEUCIB+aM3MYCau9w7MvhuK1z8mJuF9gFpOx03QOh9i1g61IAiEAuZ28/bkzvQbckSdGV9cV6r3HXFpNgwjZm9CA5IfqSxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2787597},"type":"module","_from":"file:andycoupe-orchestrator-0.7.0.tgz","engines":{"node":">=20"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","lint":"oxlint","test":"vitest run","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","release":"npm run build && changeset publish","lint:fix":"oxlint --fix","changeset":"changeset","typecheck":"tsc --noEmit","test:watch":"vitest","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","version-packages":"changeset version"},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"_resolved":"/tmp/773920f75c025cb20926b16dc6c7774d/andycoupe-orchestrator-0.7.0.tgz","_integrity":"sha512-9DD8CSZ88wvkFcpxo5LWE1YqpRl6D/uRfahjCJ8XP1wUwQHtvmzZJLLA8zggiYqp7rR9KDW7h2kh6k56EULZiA==","_npmVersion":"10.8.2","description":"An event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.","directories":{},"_nodeVersion":"20.20.2","dependencies":{"zod":"^3.24.4","clsx":"^2.1.1","hono":"^4.7.10","pino":"^9.6.0","ulid":"^2.3.0","yaml":"^2.7.1","elkjs":"^0.11.1","execa":"^9.5.3","react":"^19.1.0","shadcn":"^4.4.0","zustand":"^5.0.5","chokidar":"^4.0.3","recharts":"^3.8.1","react-dom":"^19.1.0","lucide-react":"^0.488.0","@xyflow/react":"^12.10.2","@base-ui/react":"^1.4.1","better-sqlite3":"^11.9.1","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","class-variance-authority":"^0.7.1","@fontsource-variable/jetbrains-mono":"^5.2.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.4","vite":"^6.3.4","jsdom":"^26.1.0","eslint":"^9.26.0","oxlint":"^1.62.0","vitest":"^3.1.3","prettier":"^3.5.3","tsc-alias":"^1.8.16","typescript":"^5.8.3","@types/node":"^22.15.3","pino-pretty":"^13.0.0","tailwindcss":"^4.2.4","@types/react":"^19.1.2","concurrently":"^9.1.2","@changesets/cli":"^2.31.0","@types/react-dom":"^19.1.3","@tailwindcss/vite":"^4.2.4","@vitejs/plugin-react":"^4.4.1","@types/better-sqlite3":"^7.6.13","@testing-library/react":"^16.3.0"},"_npmOperationalInternal":{"tmp":"tmp/orchestrator_0.7.0_1777529904687_0.5259709033457816","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@andycoupe/orchestrator","version":"0.7.1","type":"module","engines":{"node":">=20"},"bin":{"orchestrator":"dist/server/cli.js"},"dependencies":{"@base-ui/react":"^1.4.1","@fontsource-variable/jetbrains-mono":"^5.2.8","@hono/node-server":"^1.14.1","@phosphor-icons/react":"^2.1.10","@tanstack/react-query":"^5.75.5","@tanstack/react-router":"^1.168.25","@tanstack/router-plugin":"^1.167.28","@xyflow/react":"^12.10.2","better-sqlite3":"^11.9.1","chokidar":"^4.0.3","class-variance-authority":"^0.7.1","clsx":"^2.1.1","elkjs":"^0.11.1","execa":"^9.5.3","hono":"^4.7.10","lucide-react":"^0.488.0","pino":"^9.6.0","react":"^19.1.0","react-dom":"^19.1.0","recharts":"^3.8.1","shadcn":"^4.4.0","tailwind-merge":"^3.5.0","tw-animate-css":"^1.4.0","ulid":"^2.3.0","yaml":"^2.7.1","zod":"^3.24.4","zustand":"^5.0.5"},"devDependencies":{"@changesets/cli":"^2.31.0","@tailwindcss/vite":"^4.2.4","@testing-library/react":"^16.3.0","@types/better-sqlite3":"^7.6.13","@types/node":"^22.15.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.3","@vitejs/plugin-react":"^4.4.1","concurrently":"^9.1.2","eslint":"^9.26.0","jsdom":"^26.1.0","oxlint":"^1.62.0","pino-pretty":"^13.0.0","prettier":"^3.5.3","tailwindcss":"^4.2.4","tsc-alias":"^1.8.16","tsx":"^4.19.4","typescript":"^5.8.3","vite":"^6.3.4","vitest":"^3.1.3"},"scripts":{"dev":"concurrently -n server,web -c blue,green \"tsx watch server/index.ts | pino-pretty\" \"vite\"","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && vite build","build:server":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","typecheck":"tsc --noEmit","lint":"oxlint","lint:fix":"oxlint --fix","test":"vitest run","test:watch":"vitest","changeset":"changeset","version-packages":"changeset version","release":"npm run build && changeset publish"},"_id":"@andycoupe/orchestrator@0.7.1","description":"![Orchestrator screenshot](assets/screenshot-1.png)","_integrity":"sha512-3lKxys5bRqPAKwhxT2wlsT+41/SGpJ/huRksDyf8f6bIXdyDt1M/Ii2LO5Ivx1tY6Q+v9StZ1iqxe52ecAs0tw==","_resolved":"/tmp/22830e1a8dbba1ac8792e9a538c10690/andycoupe-orchestrator-0.7.1.tgz","_from":"file:andycoupe-orchestrator-0.7.1.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-3lKxys5bRqPAKwhxT2wlsT+41/SGpJ/huRksDyf8f6bIXdyDt1M/Ii2LO5Ivx1tY6Q+v9StZ1iqxe52ecAs0tw==","shasum":"91791db1174cd992ba8caa86404a48dcf2f91e95","tarball":"https://registry.npmjs.org/@andycoupe/orchestrator/-/orchestrator-0.7.1.tgz","fileCount":374,"unpackedSize":2787650,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD47i1ZLbt7GohTJ7Ft/cXnEb3xKoVnnSIwsgGuj+EHoQIhAOnrkCmjl1Vh310WLlyqy7wAyvBRU18ngXhgIsHZFPr1"}]},"_npmUser":{"name":"andycoupe","email":"andrewmcoupe@gmail.com"},"directories":{},"maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/orchestrator_0.7.1_1777549125071_0.8627626146962935"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-22T17:27:39.981Z","modified":"2026-04-30T11:38:45.390Z","0.0.1":"2026-04-22T17:27:40.261Z","0.0.2-canary.0":"2026-04-22T17:34:54.825Z","0.0.2-canary.1":"2026-04-22T19:03:15.438Z","0.0.2-canary.2":"2026-04-22T19:25:43.182Z","0.0.2-canary.3":"2026-04-22T19:44:45.579Z","0.0.2-canary.4":"2026-04-22T19:54:20.352Z","0.0.2-canary.5":"2026-04-22T20:09:26.476Z","0.0.2-canary.6":"2026-04-22T20:24:20.334Z","0.0.2-canary.7":"2026-04-28T09:23:50.123Z","0.0.2-canary.8":"2026-04-28T09:34:40.601Z","0.0.2-canary.9":"2026-04-28T09:54:02.057Z","0.0.2-canary.10":"2026-04-28T10:00:52.508Z","0.0.2-canary.11":"2026-04-28T16:49:40.860Z","0.0.2-canary.12":"2026-04-28T16:52:25.949Z","0.0.2-canary.13":"2026-04-28T21:31:30.558Z","0.0.3-canary":"2026-04-29T06:09:35.689Z","0.0.3":"2026-04-29T08:46:00.689Z","0.1.0":"2026-04-29T09:29:05.524Z","0.3.0":"2026-04-29T09:53:57.912Z","0.3.1":"2026-04-29T10:03:25.712Z","0.3.2":"2026-04-29T10:07:44.186Z","0.4.0":"2026-04-29T10:47:29.158Z","0.5.0":"2026-04-29T12:44:43.093Z","0.6.0":"2026-04-30T05:44:13.778Z","0.7.0":"2026-04-30T06:18:24.940Z","0.7.1":"2026-04-30T11:38:45.271Z"},"description":"![Orchestrator screenshot](assets/screenshot-1.png)","maintainers":[{"name":"andycoupe","email":"andrewmcoupe@gmail.com"}],"readme":"# @andycoupe/orchestrator\n\n![Orchestrator screenshot](assets/screenshot-1.png)\n\nAn event-sourced task orchestrator for AI-assisted software development. Breaks PRDs into tasks, runs them through configurable phases (test-author, implementer, auditor), manages git worktrees, and merges the results — all from a local web UI.\n\n## Quick start\n\n```bash\nnpx @andycoupe/orchestrator\n```\n\nRun this from the root of any git repository. On first run it will:\n\n1. Scaffold a `.orchestrator/` directory (auto-added to `.gitignore`)\n2. Seed a default config and prompt library\n3. Create a few demo tasks so you can explore the UI\n4. Open your browser to `http://localhost:4321`\n\n### CLI options\n\n```\n--port <number>  Port to listen on (default: 4321)\n--no-open        Don't open browser on start\n--verbose        Verbose logging output\n--quiet          Minimal logging output (default)\n--init           Scaffold .orchestrator/ without starting server\n--help           Show help\n--version        Show version\n```\n\n## Prerequisites\n\n- Node.js 20+\n- Git\n- One of the following:\n  - Logged into [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (`claude` CLI)\n  - Logged into [Codex CLI](https://github.com/openai/codex)\n  - API keys set in `.orchestrator/.env.local`\n\n## Configuration\n\nAfter scaffolding, edit `.orchestrator/config.yaml` to configure:\n\n- **Gates** — quality checks (typecheck, test, lint) that run before a task can be approved\n- **Presets** — reusable task configurations (phases, models, retry policies)\n- **Merge strategy** — squash, merge, or fast-forward only\n- **Ingest settings** — model and transport for PRD ingestion\n\n```yaml\ngates:\n  - name: typecheck\n    command: pnpm typecheck\n  - name: test\n    command: pnpm test\n  - name: lint\n    command: pnpm lint\n```\n\nIf using API keys directly instead of the CLI tools, set them in `.orchestrator/.env.local`:\n\n```\nANTHROPIC_API_KEY=sk-ant-...\nOPENAI_API_KEY=sk-...\n```\n\n## Writing a PRD\n\nThe orchestrator ingests PRDs as markdown. Each `##` section becomes a separate task that gets implemented independently in its own git worktree.\n\n### Recommended: use the PRD generation skill\n\nInstall the [generate-orchestrator-prd](https://github.com/andrewmcoupe/ai-skills/tree/main/generate-orchestrator-prd) skill:\n\n```bash\nnpx skills@latest add andrewmcoupe/ai-skills/generate-orchestrator-prd\n```\n\nThen use it:\n\n```\n/generate-orchestrator-prd\n```\n\nThis will grill you on every aspect of your plan — scope, edge cases, data model, dependencies — resolving each branch of the decision tree before generating a `PRD.md` optimised for the orchestrator's ingest system.\n\n### PRD structure\n\nIf writing a PRD manually, follow this structure:\n\n```markdown\n# Feature title\n\n## Overview\n\nBrief summary of what this feature does and why.\n\n## Add rate limiter middleware\n\n- Apply to all /api/* routes\n- Use a sliding window of 100 requests per minute per IP\n- Return 429 with a Retry-After header when exceeded\n\n## Add rate limit headers to responses\n\n- X-RateLimit-Limit: max requests per window\n- X-RateLimit-Remaining: requests left\n- X-RateLimit-Reset: UTC epoch when the window resets\n\n## Implementation Touchpoints\n\n| File | Change |\n|---|---|\n| `src/middleware/rateLimit.ts` | New rate limiter middleware |\n| `src/app.ts` | Mount middleware on /api/* routes |\n\n## Out of Scope\n\n- Per-user rate limits (IP-based only for now)\n```\n\nEach `##` section should be specific, testable, and self-contained — the agent implementing it only sees that section and the codebase.\n\n## Development\n\n```bash\ngit clone https://github.com/andycoupe/orchestrator.git\ncd orchestrator\npnpm install\npnpm dev\n```\n\nThis starts:\n- The Hono backend on `:3001`\n- The Vite dev server on `:3000` (proxies API calls to the backend)\n\n### Scripts\n\n| Command | Description |\n|---------|-------------|\n| `pnpm dev` | Start backend + frontend in dev mode |\n| `pnpm build` | Build server (tsc) + frontend (vite) |\n| `pnpm test` | Run all tests |\n| `pnpm lint` | Lint with oxlint |\n| `pnpm typecheck` | TypeScript type checking |\n\n### Project structure\n\n```\nserver/          Backend (Hono, SQLite, event store)\nweb/             Frontend (React, TanStack Router, Tailwind)\nshared/          Types and projections shared between server and client\ntemplates/       Default config files copied on first scaffold\nprompts/         Bundled prompt templates for each phase\n```\n\n### Release flow\n\n1. **Add a changeset** when your PR includes user-facing changes:\n\n   ```bash\n   pnpm changeset\n   ```\n\n   This prompts you to pick a semver bump (patch/minor/major) and write a summary. It creates a markdown file in `.changeset/` — commit it with your PR.\n\n2. **Merge to main.** The release workflow runs automatically and creates a \"Version Packages\" PR that:\n   - Bumps the version in `package.json`\n   - Updates `CHANGELOG.md`\n   - Consumes the changeset files\n\n3. **Merge the Version Packages PR.** The workflow runs again and publishes to npm.\n\n### CI\n\nEvery PR and push to `main` runs three parallel checks:\n\n- **Lint** — `pnpm lint`\n- **Test** — `pnpm test`\n- **Build** — `pnpm build`\n\n## License\n\nMIT\n","readmeFilename":"README.md"}