@brigade-dev/cli 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +21 -34
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -99
- package/.next/standalone/.next/required-server-files.json +3 -0
- package/.next/standalone/.next/routes-manifest.json +30 -122
- package/.next/standalone/.next/server/app/(board)/board/page.js +2 -3
- package/.next/standalone/.next/server/app/(board)/board/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/board/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(setup)/setup/page.js +3 -0
- package/.next/standalone/.next/server/app/(setup)/setup/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/(setup)/setup/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +6 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +6 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -2
- package/.next/standalone/.next/server/app/api/chat/poll/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/poll/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js +2 -3
- package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/session/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/stop/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/providers/auth-status/route.js +2 -3
- package/.next/standalone/.next/server/app/api/providers/auth-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/repos/[repoId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/repos/[repoId]/{skills → settings}/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/pick-folder/route.js +2 -2
- package/.next/standalone/.next/server/app/api/repos/pick-folder/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js +1 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js +3 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js +1 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/review/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js +6 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js +2 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js +2 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js +2 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/counts/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/counts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/counts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route.js +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.meta +2 -0
- package/.next/standalone/.next/server/app/index.rsc +16 -25
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -25
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +5 -2
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +21 -34
- package/.next/standalone/.next/server/chunks/1132.js +1 -0
- package/.next/standalone/.next/server/chunks/1236.js +1 -1
- package/.next/standalone/.next/server/chunks/1546.js +5 -0
- package/.next/standalone/.next/server/chunks/1577.js +1 -0
- package/.next/standalone/.next/server/chunks/1597.js +63 -0
- package/.next/standalone/.next/server/chunks/2065.js +6 -0
- package/.next/standalone/.next/server/chunks/2196.js +1 -1
- package/.next/standalone/.next/server/chunks/2345.js +1 -0
- package/.next/standalone/.next/server/chunks/2353.js +1 -1
- package/.next/standalone/.next/server/chunks/3027.js +1 -0
- package/.next/standalone/.next/server/chunks/347.js +6 -0
- package/.next/standalone/.next/server/chunks/3544.js +24 -0
- package/.next/standalone/.next/server/chunks/3731.js +1 -1
- package/.next/standalone/.next/server/chunks/4178.js +14 -0
- package/.next/standalone/.next/server/chunks/432.js +1 -1
- package/.next/standalone/.next/server/chunks/471.js +1 -1
- package/.next/standalone/.next/server/chunks/4869.js +1 -1
- package/.next/standalone/.next/server/chunks/4919.js +1 -0
- package/.next/standalone/.next/server/chunks/5198.js +1 -0
- package/.next/standalone/.next/server/chunks/5250.js +1 -1
- package/.next/standalone/.next/server/chunks/5704.js +3 -0
- package/.next/standalone/.next/server/chunks/5722.js +1 -0
- package/.next/standalone/.next/server/chunks/6042.js +1 -1
- package/.next/standalone/.next/server/chunks/6802.js +20 -0
- package/.next/standalone/.next/server/chunks/722.js +1 -1
- package/.next/standalone/.next/server/chunks/746.js +1 -1
- package/.next/standalone/.next/server/chunks/7916.js +1 -1
- package/.next/standalone/.next/server/chunks/8031.js +1 -1
- package/.next/standalone/.next/server/chunks/8150.js +1 -0
- package/.next/standalone/.next/server/chunks/8241.js +1 -0
- package/.next/standalone/.next/server/chunks/829.js +1 -1
- package/.next/standalone/.next/server/chunks/838.js +1 -1
- package/.next/standalone/.next/server/chunks/8410.js +3 -3
- package/.next/standalone/.next/server/chunks/854.js +1 -1
- package/.next/standalone/.next/server/chunks/8825.js +3 -0
- package/.next/standalone/.next/server/chunks/9067.js +1 -1
- package/.next/standalone/.next/server/chunks/9661.js +1 -1
- package/.next/standalone/.next/server/chunks/9665.js +1 -1
- package/.next/standalone/.next/server/chunks/9898.js +11 -0
- package/.next/standalone/.next/server/chunks/9967.js +1 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/TEeaHQlTW3yW085fWMfjB/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/124-3eae600925474bdc.js +1 -0
- package/.next/standalone/.next/static/chunks/1416-76d75f5cdc8064f0.js +5 -0
- package/.next/standalone/.next/static/chunks/1545-5c27c6645e47620e.js +1 -0
- package/.next/standalone/.next/static/chunks/1719-2c95eb5be7096fd4.js +1 -0
- package/.next/standalone/.next/static/chunks/{7486-de4a6f3ca66270e1.js → 3242-340ecc54abc559dc.js} +1 -1
- package/.next/standalone/.next/static/chunks/3604-402e83a193703dd5.js +3 -0
- package/.next/standalone/.next/static/chunks/4555-1cc0cadfd257b640.js +5 -0
- package/.next/standalone/.next/static/chunks/5083-da5fc913278c9ec9.js +24 -0
- package/.next/standalone/.next/static/chunks/7133-d829c710820740a0.js +1 -0
- package/.next/standalone/.next/static/chunks/878-6effc693527c06fd.js +1 -0
- package/.next/standalone/.next/static/chunks/9798-086c0452ca402b9c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-d97d7979cfd5798f.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/layout-30f3ef2994aabf66.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-2a12cb83a038bfa4.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-94f90e6400c32897.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-c7b0b0a0327f6fce.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-771b7f853905319b.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(setup)/layout-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-dccadc7f0cc15702.js +1 -0
- package/.next/standalone/.next/static/chunks/app/_global-error/page-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/session/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/settings/[[...path]]/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/reset/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/generate-commit-message/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/question-options/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/launch/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/status/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/auto-move/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/test/reset/route-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-c38fc01326ac060a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7eb803c6eff71185.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-9ba1537928a20f04.js → webpack-010bc8c5cfa5e600.js} +1 -1
- package/.next/standalone/.next/static/css/a0a0423b02496c0c.css +3 -0
- package/.next/standalone/.next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/636a5ac981f94f8b-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/6fe53d21e6e7ebd8-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/8ebc6e9dde468c4a-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/9e7b0a821b9dfcb4-s.woff2 +0 -0
- package/.next/standalone/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/.next/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/database.js +90 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/index.js +3 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/util.js +12 -0
- package/.next/standalone/node_modules/better-sqlite3/package.json +59 -0
- package/.next/standalone/node_modules/bindings/bindings.js +221 -0
- package/.next/standalone/node_modules/bindings/package.json +28 -0
- package/.next/standalone/node_modules/buffer-from/index.js +72 -0
- package/.next/standalone/node_modules/buffer-from/package.json +19 -0
- package/.next/standalone/node_modules/file-uri-to-path/index.js +66 -0
- package/.next/standalone/node_modules/file-uri-to-path/package.json +32 -0
- package/.next/standalone/node_modules/source-map/lib/array-set.js +121 -0
- package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/.next/standalone/node_modules/source-map/lib/base64.js +67 -0
- package/.next/standalone/node_modules/source-map/lib/binary-search.js +111 -0
- package/.next/standalone/node_modules/source-map/lib/mapping-list.js +79 -0
- package/.next/standalone/node_modules/source-map/lib/quick-sort.js +114 -0
- package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/.next/standalone/node_modules/source-map/lib/source-node.js +413 -0
- package/.next/standalone/node_modules/source-map/lib/util.js +488 -0
- package/.next/standalone/node_modules/source-map/package.json +73 -0
- package/.next/standalone/node_modules/source-map/source-map.js +8 -0
- package/.next/standalone/node_modules/source-map-support/package.json +31 -0
- package/.next/standalone/node_modules/source-map-support/source-map-support.js +625 -0
- package/.next/standalone/package.json +11 -10
- package/.next/standalone/public/chat-display-preview.html +280 -0
- package/.next/standalone/public/claude-ai-symbol.svg +7 -0
- package/.next/standalone/public/previews/settings-before-after-preview.html +624 -0
- package/.next/standalone/server.js +1 -1
- package/bin/brigade.js +52 -17
- package/defaults/canon/skills/html-preview.md +14 -5
- package/defaults/canon/workflows/delivery.yaml +4 -4
- package/package.json +10 -9
- package/scripts/brigade-cli.mjs +1 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js +0 -6
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/route.js +0 -4
- package/.next/standalone/.next/server/app/api/chefs/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/skills/route.js +0 -4
- package/.next/standalone/.next/server/app/api/chefs/skills/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/skills/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +0 -4
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js +0 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js +0 -4
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/workflows/route.js +0 -4
- package/.next/standalone/.next/server/app/api/workflows/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/chefs.html +0 -1
- package/.next/standalone/.next/server/app/settings/chefs.meta +0 -17
- package/.next/standalone/.next/server/app/settings/chefs.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/chefs.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/chefs.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/chefs.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/chefs.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/skills/new.html +0 -1
- package/.next/standalone/.next/server/app/settings/skills/new.meta +0 -18
- package/.next/standalone/.next/server/app/settings/skills/new.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/skills.html +0 -1
- package/.next/standalone/.next/server/app/settings/skills.meta +0 -17
- package/.next/standalone/.next/server/app/settings/skills.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/skills.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/workflows.html +0 -1
- package/.next/standalone/.next/server/app/settings/workflows.meta +0 -17
- package/.next/standalone/.next/server/app/settings/workflows.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/workflows.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/workflows.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/workflows.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/workflows.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/chunks/1787.js +0 -24
- package/.next/standalone/.next/server/chunks/2362.js +0 -25
- package/.next/standalone/.next/server/chunks/2753.js +0 -1
- package/.next/standalone/.next/server/chunks/3514.js +0 -1
- package/.next/standalone/.next/server/chunks/426.js +0 -1
- package/.next/standalone/.next/server/chunks/4318.js +0 -8
- package/.next/standalone/.next/server/chunks/4648.js +0 -1
- package/.next/standalone/.next/server/chunks/4702.js +0 -3
- package/.next/standalone/.next/server/chunks/4782.js +0 -1
- package/.next/standalone/.next/server/chunks/4992.js +0 -1
- package/.next/standalone/.next/server/chunks/5049.js +0 -1
- package/.next/standalone/.next/server/chunks/57.js +0 -3
- package/.next/standalone/.next/server/chunks/6016.js +0 -3
- package/.next/standalone/.next/server/chunks/6365.js +0 -10
- package/.next/standalone/.next/server/chunks/6578.js +0 -3
- package/.next/standalone/.next/server/chunks/6701.js +0 -1
- package/.next/standalone/.next/server/chunks/682.js +0 -1
- package/.next/standalone/.next/server/chunks/7389.js +0 -6
- package/.next/standalone/.next/server/chunks/7450.js +0 -18
- package/.next/standalone/.next/server/chunks/7494.js +0 -1
- package/.next/standalone/.next/server/chunks/7612.js +0 -3
- package/.next/standalone/.next/server/chunks/7805.js +0 -1
- package/.next/standalone/.next/server/chunks/8647.js +0 -1
- package/.next/standalone/.next/server/chunks/8787.js +0 -3
- package/.next/standalone/.next/server/chunks/8944.js +0 -3
- package/.next/standalone/.next/server/chunks/9091.js +0 -5
- package/.next/standalone/.next/server/chunks/9341.js +0 -1
- package/.next/standalone/.next/server/chunks/9366.js +0 -6
- package/.next/standalone/.next/server/chunks/9916.js +0 -1
- package/.next/standalone/.next/static/DXjnbExUDH6VWFcQAZm5W/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/1890-6f39e9026bcfd6ff.js +0 -5
- package/.next/standalone/.next/static/chunks/194-1e49965b7f56d9d1.js +0 -1
- package/.next/standalone/.next/static/chunks/217-234cf87de775e747.js +0 -1
- package/.next/standalone/.next/static/chunks/2913-3767f8657ed3b76d.js +0 -24
- package/.next/standalone/.next/static/chunks/3562-66874394248003c3.js +0 -1
- package/.next/standalone/.next/static/chunks/3920-91b01322891d6f93.js +0 -1
- package/.next/standalone/.next/static/chunks/4044-8ec32d6e4ca64a61.js +0 -1
- package/.next/standalone/.next/static/chunks/5828-69f930daa6fef786.js +0 -1
- package/.next/standalone/.next/static/chunks/6127-c90ca9f67766c0e0.js +0 -1
- package/.next/standalone/.next/static/chunks/8463-4de0b380dc8aee57.js +0 -1
- package/.next/standalone/.next/static/chunks/8472-5b02197c80e9bdcb.js +0 -6
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-852d9068b15f8902.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/layout-ffd25294d91093a4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-98c59eea481cd922.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-5fe097966f75f673.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-ff943b86544a3563.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-178443b61977aaff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/layout-8e0a4c83ff4c037a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/[slug]/page-8c0475cf40538e82.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/page-2615f814b43b999a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/[id]/page-c9d74b8769efd959.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/new/page-6c7a49f73211880f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/page-3effcb21d7c832b1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/[slug]/page-ec8c8dd16a2b43bb.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/page-09495b17157fb69b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/_global-error/page-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/session/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/generate-prompt/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/skills/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chefs/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/skills/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/workflows/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chef-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/deliver/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/launch-chef/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/thread-state/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/workflow-state/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/test/reset/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/workflows/[slug]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/workflows/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-33746f763b269468.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-94d1cf482dc9d766.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/css/aaeb369038c2ce63.css +0 -3
- package/scripts/migrate-chef-naming.mjs +0 -281
- /package/.next/standalone/.next/static/{DXjnbExUDH6VWFcQAZm5W → TEeaHQlTW3yW085fWMfjB}/_ssgManifest.js +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=1787,exports.ids=[1787],exports.modules={2412:(a,b,c)=>{c.r(b),c.d(b,{default:()=>bb});var d=c(48249),e=c(19099),f=c(67484),g=c.n(f),h=c(2921),i=c(77405),j=c(42755);let k=(0,c(90314).default)(async()=>{},{loadableGenerated:{modules:["components/ui/LazyCodeBlock.tsx -> ./CodeBlock"]},ssr:!1});var l=c(51843),m=c(20468),n=c(38420),o=c(34343),p=c(38393);function q({html:a}){let[b,c]=(0,f.useState)(!1),[e,g]=(0,f.useState)(!1),[h,i]=(0,f.useState)(150),[j,q]=(0,f.useState)(!1),r=(0,f.useId)(),s=(0,f.useMemo)(()=>{let b;return b=a.replace(/<script[\s\S]*?<\/script>/gi,""),`<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<style>
|
|
7
|
-
*, *::before, *::after { box-sizing: border-box; }
|
|
8
|
-
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
|
|
9
|
-
</style>
|
|
10
|
-
</head>
|
|
11
|
-
<body>
|
|
12
|
-
${b}
|
|
13
|
-
<script>
|
|
14
|
-
function notifyHeight() {
|
|
15
|
-
var h = document.documentElement.scrollHeight;
|
|
16
|
-
window.parent.postMessage({ type: 'html-preview-resize', id: '${r}', height: h }, '*');
|
|
17
|
-
}
|
|
18
|
-
window.addEventListener('load', notifyHeight);
|
|
19
|
-
new ResizeObserver(notifyHeight).observe(document.body);
|
|
20
|
-
</script>
|
|
21
|
-
</body>
|
|
22
|
-
</html>`},[a,r]);return a.trim()?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"group relative my-2 cursor-pointer overflow-hidden rounded-lg border bg-background transition-colors hover:border-primary",style:{maxHeight:400},onClick:()=>c(!0),children:[(0,d.jsx)("div",{className:"absolute left-2 top-1.5 z-10 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground backdrop-blur-sm",children:"Preview"}),(0,d.jsxs)("div",{className:"absolute bottom-2 right-2 z-10 flex items-center gap-1 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:[(0,d.jsx)(l.A,{className:"size-3"}),"Click to expand"]}),j&&(0,d.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-[5] h-12 bg-gradient-to-t from-background/80 to-transparent"}),(0,d.jsx)("iframe",{srcDoc:s,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full border-0",style:{height:h,pointerEvents:"none"}})]}),(0,d.jsx)(p.lG,{open:b,onOpenChange:c,children:(0,d.jsxs)(p.Cf,{className:"sm:max-w-[90vw] h-[80vh] p-4 flex flex-col overflow-hidden",children:[(0,d.jsx)(p.L3,{className:"sr-only",children:"HTML Preview"}),(0,d.jsx)("iframe",{srcDoc:s,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full rounded border-0 flex-1 min-h-0"}),(0,d.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>g(!e),children:[e?(0,d.jsx)(m.A,{className:"size-3"}):(0,d.jsx)(n.A,{className:"size-3"}),(0,d.jsx)(o.A,{className:"size-3"}),(0,d.jsx)("span",{children:e?"Hide code":"Show code"})]}),e&&(0,d.jsx)("div",{className:"min-h-0 max-h-[35vh] overflow-auto shrink-0 rounded-md",children:(0,d.jsx)(k,{code:a,language:"html",variant:"light"})})]})})]}):(0,d.jsx)(k,{code:a,language:"html",variant:"light"})}function r({content:a,slug:b}){let c={code({className:a,children:b,...c}){let e=/language-([\w-]+)/.exec(a||""),f=String(b).replace(/\n$/,"");return e&&"html-preview"===e[1]?(0,d.jsx)(q,{html:f}):e?(0,d.jsx)(k,{code:f,language:e[1],variant:"light"}):(0,d.jsx)("code",{className:a,...c,children:b})},pre:({children:a})=>(0,d.jsx)(d.Fragment,{children:a}),...b?{img:({src:a,alt:c,...e})=>{let f="string"==typeof a?a:void 0,g=!f||f.startsWith("http")||f.startsWith("/")?f:`/api/tasks/${b}/images?name=${encodeURIComponent(f)}`;return(0,d.jsx)("img",{src:g,alt:c||"",className:"max-w-full rounded-md",...e})}}:{}};return(0,d.jsx)("div",{className:"prose prose-sm max-w-none overflow-x-hidden prose-headings:text-foreground prose-p:text-foreground prose-li:text-foreground prose-strong:text-foreground prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-sm prose-code:font-normal prose-code:before:content-none prose-code:after:content-none prose-pre:bg-muted prose-pre:text-foreground prose-a:text-primary",children:(0,d.jsx)(i.oz,{remarkPlugins:[j.A],components:c,children:a})})}var s=c(25297);function t({content:a,error:b,saving:c,onSave:e,onCancel:g}){let[h,i]=(0,f.useState)(a),j=(0,f.useRef)(null),k=(0,f.useCallback)(b=>{"s"===b.key&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),e(h)),"Escape"===b.key&&(b.preventDefault(),b.stopPropagation(),(h===a||window.confirm("You have unsaved changes. Discard?"))&&g())},[h,a,e,g]);return(0,d.jsxs)("div",{className:"flex min-h-[400px] flex-col gap-2",children:[(0,d.jsx)("textarea",{ref:j,className:"flex-1 resize-none rounded-md border bg-transparent p-3 font-mono text-sm outline-none focus:ring-2 focus:ring-ring",value:h,onChange:a=>i(a.target.value),onKeyDown:k,spellCheck:!1,autoFocus:!0}),b&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:b}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)(s.$,{variant:"outline",size:"sm",onClick:g,children:"Cancel"}),(0,d.jsx)(s.$,{size:"sm",onClick:()=>e(h),disabled:c,children:c?"Saving…":"Save"})]})]})}var u=c(42114),v=c(14490);function w({className:a,children:b,...c}){return(0,d.jsxs)(u.bL,{"data-slot":"scroll-area",className:(0,v.cn)("relative",a),...c,children:[(0,d.jsx)(u.LM,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:b}),(0,d.jsx)(x,{}),(0,d.jsx)(u.OK,{})]})}function x({className:a,orientation:b="vertical",...c}){return(0,d.jsx)(u.VM,{"data-slot":"scroll-area-scrollbar",orientation:b,className:(0,v.cn)("flex touch-none select-none p-px transition-colors","vertical"===b&&"h-full w-2.5 border-l border-l-transparent","horizontal"===b&&"h-2.5 flex-col border-t border-t-transparent",a),...c,children:(0,d.jsx)(u.lr,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}function y({title:a,count:b,defaultOpen:c=!1,onToggleAll:e,toggleAllLabel:g,children:h}){let[i,j]=(0,f.useState)(c);return(0,d.jsxs)("div",{className:"rounded border bg-muted/30",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 overflow-hidden px-3 py-2",onClick:()=>j(!i),children:[i?(0,d.jsx)(m.A,{className:"size-3.5 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:"text-sm font-medium",children:a}),(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",b,")"]}),e&&b>0&&(0,d.jsx)("button",{className:"ml-auto shrink-0 text-xs text-primary underline hover:text-primary/80 cursor-pointer",onClick:a=>{a.stopPropagation(),e()},children:g??"Toggle all"})]}),i&&(0,d.jsx)("div",{className:"overflow-hidden border-t px-3 py-2",children:h})]})}var z=c(33915),A=c(36650),B=c(66450);function C(a){return a.startsWith("diff --git")?"font-bold text-foreground bg-muted/50 pt-3 mt-2":a.startsWith("@@")?"text-blue-600 font-semibold bg-blue-500/10":a.startsWith("+")&&!a.startsWith("+++")?"bg-green-500/10 text-green-800":a.startsWith("-")&&!a.startsWith("---")?"bg-red-500/10 text-red-800":""}function D({diff:a,truncated:b,totalLines:c,maxHeight:e="400px"}){if(!a)return(0,d.jsx)("div",{className:"flex items-center justify-center py-4 text-xs text-muted-foreground",children:"No changes"});let f=function(a){let b=a.split("\n"),c=[],d=null;for(let a of b){let b=a.match(/^diff --git a\/(.+?) b\/(.+)$/);b?(d&&c.push(d),d={filePath:b[2],lines:[a]}):d&&d.lines.push(a)}return d&&c.push(d),c}(a),g=f.length>0;return(0,d.jsx)(w,{style:{maxHeight:e},children:(0,d.jsxs)("div",{className:"font-mono text-[11px] leading-relaxed",children:[g?f.map((a,b)=>(0,d.jsx)("div",{children:a.lines.map((a,c)=>(0,d.jsx)("div",{className:`px-2 py-px whitespace-pre ${C(a)}`,children:a||"\xa0"},`${b}-${c}`))},b)):a.split("\n").map((a,b)=>(0,d.jsx)("div",{className:`px-2 py-px whitespace-pre ${C(a)}`,children:a||"\xa0"},b)),b&&(0,d.jsxs)("div",{className:"mt-2 px-2 py-1.5 rounded bg-amber-500/10 border border-amber-500/20 text-amber-800 text-xs",children:["Diff truncated — showing first 5,000 of"," ",c?.toLocaleString()," lines"]})]})})}let E={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},"?":{label:"?",color:"text-gray-500"},C:{label:"C",color:"text-purple-500"},U:{label:"U",color:"text-yellow-600"}};function F({status:a,path:b,checked:c,onToggle:e,slug:g,staged:h}){let i=E[a]||{label:a,color:"text-muted-foreground"},[j,k]=(0,f.useState)(!1),[l,o]=(0,f.useState)(null),[p,q]=(0,f.useState)(!1),[r,s]=(0,f.useState)(!1),[t,u]=(0,f.useState)(0),v=!!g&&"?"!==a,w=async a=>{if(a.stopPropagation(),v){if(j)return void k(!1);if(k(!0),null===l){q(!0);try{let a=await fetch(`/api/tasks/${g}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-file",file:b,staged:h})}),c=await a.json();o(c.diff||""),s(c.truncated||!1),u(c.totalLines||0)}catch{o("")}finally{q(!1)}}}};return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded px-1 py-0.5 text-xs",children:[(0,d.jsx)("div",{className:"flex cursor-pointer items-center",onClick:e,children:c?(0,d.jsx)(z.A,{className:"size-4 shrink-0 text-primary"}):(0,d.jsx)(A.A,{className:"size-4 shrink-0 text-muted-foreground/50"})}),(0,d.jsxs)("div",{className:`flex min-w-0 flex-1 items-center gap-2 rounded px-1 py-0.5 ${v?"cursor-pointer hover:bg-muted/50":""}`,onClick:v?w:void 0,children:[v&&(j?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,d.jsx)("span",{className:`shrink-0 font-mono font-bold ${i.color}`,children:i.label}),(0,d.jsx)("span",{className:"truncate font-mono text-foreground/80",children:b})]})]}),j&&(0,d.jsx)("div",{className:"ml-6 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:p?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(B.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,d.jsx)(D,{diff:l||"",truncated:r,totalLines:t,maxHeight:"300px"})})]})}let G={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},C:{label:"C",color:"text-purple-500"}};function H({hash:a,author:b,relativeTime:c,message:e,files:g,slug:h}){let[i,j]=(0,f.useState)(!1),[k,l]=(0,f.useState)({}),[o,p]=(0,f.useState)(null),[q,r]=(0,f.useState)(null),s=async b=>{if(q===b)return void r(null);if((r(b),!k[b])&&h){p(b);try{let c=await fetch(`/api/tasks/${h}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-commit",hash:a,file:b})}),d=await c.json();l(a=>({...a,[b]:{diff:d.diff||"",truncated:d.truncated||!1,totalLines:d.totalLines||0}}))}catch{l(a=>({...a,[b]:{diff:"",truncated:!1,totalLines:0}}))}finally{p(null)}}};return(0,d.jsxs)("div",{className:"rounded border bg-muted/20",children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center gap-2 px-3 py-2",onClick:()=>j(!i),children:[i?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"min-w-0 truncate text-sm",children:e}),(0,d.jsx)("span",{className:"ml-auto shrink-0 font-mono text-[10px] text-muted-foreground",children:a})]}),i&&(0,d.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,d.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:b}),(0,d.jsx)("span",{className:"mx-1.5",children:"\xb7"}),(0,d.jsx)("span",{children:c})]}),g&&g.length>0&&(0,d.jsx)("div",{className:"mt-2 flex flex-col gap-0.5",children:g.map((a,b)=>{let c=G[a.status]||{label:a.status,color:"text-muted-foreground"},e=q===a.path,f=!!h;return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:`flex min-w-0 items-center gap-2 text-xs rounded px-1 py-0.5 ${f?"cursor-pointer hover:bg-muted/50":""}`,onClick:f?()=>s(a.path):void 0,children:[f&&(e?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,d.jsx)("span",{className:`shrink-0 font-mono font-bold ${c.color}`,children:c.label}),(0,d.jsx)("span",{className:"truncate font-mono text-foreground/70",children:a.path})]}),e&&(0,d.jsx)("div",{className:"ml-5 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:o===a.path?(0,d.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,d.jsx)(B.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,d.jsx)(D,{diff:k[a.path]?.diff||"",truncated:k[a.path]?.truncated,totalLines:k[a.path]?.totalLines,maxHeight:"300px"})})]},b)})})]})]})}var I=c(79296),J=c(31742),K=c(85449),L=c(10745),M=c(55296);function N({slug:a,onBranchCreated:b}){let[c,e]=(0,f.useState)(null),[g,h]=(0,f.useState)(!0),[i,j]=(0,f.useState)(!1),[k,l]=(0,f.useState)(!1),[m,n]=(0,f.useState)(null),[o,p]=(0,f.useState)(""),[q,r]=(0,f.useState)(!1),[t,u]=(0,f.useState)(!1),[v,x]=(0,f.useState)(null),[z,A]=(0,f.useState)(!1),[C,E]=(0,f.useState)(!1),[G,N]=(0,f.useState)(0),O=(0,f.useCallback)(async()=>{h(!0),n(null);try{let b=await fetch(`/api/tasks/${a}/git`),c=await b.json();"No branch associated with this task"===c.error?(j(!0),e(null)):c.error?(n(c.error),e(null)):(j(!1),e(c))}catch{n("Failed to fetch git status")}finally{h(!1)}},[a]),P=async()=>{l(!0),n(null);try{let c=await fetch(`/api/tasks/${a}/create-branch`,{method:"POST"}),d=await c.json();d.error?n(d.error):(j(!1),b?.(),await O())}catch{n("Failed to create workspace")}finally{l(!1)}},Q=async(b,c)=>{if(0!==b.length)try{await fetch(`/api/tasks/${a}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c?"unstage":"stage",files:b.map(a=>a.path)})}),await O()}catch{n("Failed to update staging")}},R=async(b,c)=>{try{await fetch(`/api/tasks/${a}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:c?"unstage":"stage",files:[b]})}),await O()}catch{n("Failed to update staging")}},S=async()=>{if(o.trim()&&c?.staged.length){r(!0),n(null);try{let b=await fetch(`/api/tasks/${a}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"commit",message:o})}),c=await b.json();c.error?n(c.error):(p(""),await O())}catch{n("Failed to commit")}finally{r(!1)}}},T=async()=>{if(t)return void u(!1);if(u(!0),null===v){A(!0);try{let b=await fetch(`/api/tasks/${a}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-branch"})}),c=await b.json();x(c.diff||""),E(c.truncated||!1),N(c.totalLines||0)}catch{x("")}finally{A(!1)}}},U=c?.staged.length??0;return(0,d.jsxs)("div",{className:"flex h-full flex-col",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:"Git"}),c?.branch&&(0,d.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:c.branch}),c?.worktree&&(0,d.jsxs)("span",{className:"rounded bg-green-50 px-1.5 py-0.5 text-[10px] font-medium text-green-700",title:c.worktree,children:[(0,d.jsx)(I.A,{className:"mr-0.5 inline size-3"}),c.worktree.split("/").pop()]})]}),(0,d.jsx)(M.Y6,{label:"Refresh",children:(0,d.jsx)(s.$,{variant:"ghost",size:"icon",onClick:O,className:"size-7",disabled:g,children:g?(0,d.jsx)(B.A,{className:"size-3.5 animate-spin"}):(0,d.jsx)(J.A,{className:"size-3.5"})})})]}),(0,d.jsx)(w,{className:"flex-1 min-h-0",children:(0,d.jsxs)("div",{className:"flex w-0 min-w-full flex-col gap-3 overflow-hidden p-3",children:[g&&!c&&!i&&(0,d.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,d.jsx)(B.A,{className:"size-4 animate-spin"})}),m&&(0,d.jsx)("div",{className:"rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:m}),i&&!g&&(0,d.jsxs)("div",{className:"flex flex-col items-center gap-3 py-8 text-center",children:[(0,d.jsx)(I.A,{className:"size-8 text-muted-foreground/50"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"No workspace yet"}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Create an isolated workspace so chefs can work on this task without conflicts."})]}),(0,d.jsxs)(s.$,{size:"sm",onClick:P,disabled:k,className:"gap-1.5",children:[k?(0,d.jsx)(B.A,{className:"size-3.5 animate-spin"}):(0,d.jsx)(I.A,{className:"size-3.5"}),"Create Workspace"]})]}),c&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(y,{title:"Staged",count:c.staged.length,defaultOpen:c.staged.length>0,onToggleAll:()=>Q(c.staged,!0),toggleAllLabel:"Unstage all",children:0===c.staged.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"No staged files"}):c.staged.map((b,c)=>(0,d.jsx)(F,{status:b.status,path:b.path,checked:!0,onToggle:()=>R(b.path,!0),slug:a,staged:!0},c))}),(0,d.jsx)(y,{title:"Unstaged",count:c.unstaged.length,defaultOpen:c.unstaged.length>0,onToggleAll:()=>Q(c.unstaged,!1),toggleAllLabel:"Stage all",children:0===c.unstaged.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"No unstaged files"}):c.unstaged.map((b,c)=>(0,d.jsx)(F,{status:b.status,path:b.path,checked:!1,onToggle:()=>R(b.path,!1),slug:a,staged:!1},c))}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5",children:[(0,d.jsx)(K.A,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("h3",{className:"text-sm font-medium",children:"Commits"})]}),0===c.commits.length?(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"No commits on this branch yet"}):(0,d.jsx)("div",{className:"flex flex-col gap-1.5",children:c.commits.map(b=>(0,d.jsx)(H,{...b,slug:a},b.hash))})]}),c.commits.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsxs)(s.$,{variant:"outline",size:"sm",onClick:T,className:"w-full gap-1.5 cursor-pointer",children:[(0,d.jsx)(L.A,{className:"size-3.5"}),t?"Hide all changes":"View all changes vs main"]}),t&&(0,d.jsx)("div",{className:"mt-2 rounded border bg-muted/10 overflow-hidden",children:z?(0,d.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,d.jsx)(B.A,{className:"size-4 animate-spin text-muted-foreground"})}):(0,d.jsx)(D,{diff:v||"",truncated:C,totalLines:G,maxHeight:"500px"})})]})]})]})}),c&&(0,d.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",className:"flex-1 rounded border bg-background px-2.5 py-1.5 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring",placeholder:"Commit message...",value:o,onChange:a=>p(a.target.value),onKeyDown:a=>{"Enter"===a.key&&a.metaKey&&S()}}),(0,d.jsx)(s.$,{size:"sm",onClick:S,disabled:q||!o.trim()||0===U,children:q?(0,d.jsx)(B.A,{className:"size-3.5 animate-spin"}):"Commit"})]}),(0,d.jsxs)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:[U," file",1!==U?"s":""," staged",U>0&&" \xb7 ⌘↵ to commit"]})]})]})}var O=c(83235),P=c(44193);function Q({chef:a,onBack:b,onSaved:c,onDeleted:e}){let g=!!a,[h,i]=(0,f.useState)(a?.name??""),[j,k]=(0,f.useState)(a?.prompt??""),[l,m]=(0,f.useState)(a?.skills??[]),[n,o]=(0,f.useState)([]),[p,q]=(0,f.useState)(!1),[r,t]=(0,f.useState)(!1),[u,w]=(0,f.useState)(null),[x,y]=(0,f.useState)(null),[z,A]=(0,f.useState)(!1),C=!!h.trim();async function D(){q(!0),y(null),w(null);try{let b={name:h.trim(),description:a?.description??"",mode:"chat",prompt:j||void 0,skills:l.length>0?l:void 0};if(g){let d=await fetch("/api/chefs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:a.slug,...b})});if(d.ok){let a=await d.json();c(a),w("Saved"),setTimeout(()=>w(null),2e3)}else{let a=await d.json();y(a.error||"Failed to save")}}else{let a=await fetch("/api/chefs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await a.json();a.ok?(c(d),w("Created"),setTimeout(()=>w(null),2e3)):y(d.error||"Failed to create")}}finally{q(!1)}}async function E(){q(!0);try{(await fetch("/api/chefs",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:a.slug})})).ok&&e?.()}finally{q(!1),A(!1)}}async function F(){t(!0),y(null);try{let b=await fetch("/api/chefs/generate-prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:h.trim(),description:a?.description??""})}),c=await b.json();b.ok&&c.prompt?k(c.prompt):y(c.error||"Failed to generate prompt")}catch{y("Failed to generate prompt")}finally{t(!1)}}return(0,d.jsxs)("div",{className:"flex h-full flex-col",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b px-4 py-2.5",children:[(0,d.jsx)(M.Y6,{label:"Back to chefs",children:(0,d.jsx)(s.$,{variant:"ghost",size:"icon",onClick:b,children:(0,d.jsx)(O.A,{className:"size-4"})})}),(0,d.jsx)("span",{className:"flex-1 text-sm font-medium",children:g?a.name:"New Chef"}),g&&(z?(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(s.$,{variant:"destructive",size:"sm",onClick:E,disabled:p,children:"Confirm"}),(0,d.jsx)(s.$,{variant:"ghost",size:"sm",onClick:()=>A(!1),children:"Cancel"})]}):(0,d.jsx)(s.$,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>A(!0),children:"Delete"}))]}),(0,d.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Name"}),(0,d.jsx)("input",{type:"text",className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:h,onChange:a=>i(a.target.value),placeholder:"e.g. Debug Production"})]}),(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"System Prompt"}),(0,d.jsx)(M.Y6,{label:"Generate a prompt from the name and description",children:(0,d.jsxs)(s.$,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:F,disabled:r||!h.trim(),children:[r?(0,d.jsx)(B.A,{className:"size-3 animate-spin"}):(0,d.jsx)(P.A,{className:"size-3"}),"Generate"]})})]}),(0,d.jsx)("textarea",{className:"w-full rounded-md border bg-muted/30 p-3 font-mono text-xs leading-relaxed focus:outline-none focus:ring-1 focus:ring-ring resize-y",rows:12,value:j,onChange:a=>k(a.target.value),placeholder:"System prompt for the chef..."})]}),n.length>0&&(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Skills"}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:"Slash commands available to this chef"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:n.map(a=>(0,d.jsx)("button",{onClick:()=>{m(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])},className:(0,v.cn)("rounded-full px-2.5 py-0.5 text-xs font-medium transition-colors cursor-pointer",l.includes(a)?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),children:a},a))})]}),x&&(0,d.jsx)("p",{className:"text-xs text-destructive",children:x})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t px-4 py-3",children:[(0,d.jsx)(s.$,{size:"sm",onClick:D,disabled:!C||p,children:p?"Saving...":g?"Save":"Create"}),u&&(0,d.jsx)("span",{className:"text-xs text-green-600",children:u})]})]})}var R=c(46970);let S=[/oauth token has expired/i,/token has expired/i,/expired.*token/i,/authentication_error/i,/failed to authenticate/i,/please obtain a new token/i],T=[/model is not supported/i,/not supported when using codex with a chatgpt account/i];function U(a){let b,c=a.trim(),d=((b=c.match(/\{[\s\S]*"(?:message|detail)"\s*:\s*"([^"]+)"[\s\S]*\}/))?b[1]:null)??c;return/internal server error/i.test(d)?{message:"The AI service hit a temporary issue. You can try sending your message again.",details:c}:/overloaded/i.test(d)?{message:"The AI service is currently overloaded. Please wait a moment and try again.",details:c}:/rate limit/i.test(d)?{message:"Too many requests. Please wait a moment and try again.",details:c}:T.some(a=>a.test(d))?{message:"This Codex model is not available for the current account. Select another model (for example GPT-5-Codex/Sonnet) and try again.",details:c}:S.some(a=>a.test(d))?{message:"Authentication expired. Re-authenticate the CLI (`claude auth login` for Sonnet/Opus, `codex login` for Codex) and try again.",details:c}:/authentication|unauthorized|invalid.*key/i.test(d)?{message:"There was an authentication problem with the AI service.",details:c}:/chat request failed/i.test(d)?{message:"Couldn't reach the AI service. Check your connection and try again.",details:c}:{message:d}}let V=new Set;function W(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.startsWith("pending-")?null:b}var X=c(20849),Y=c(82310),Z=c(3202),$=c(73428),_=c(50421),aa=c(80646),ab=c(1498),ac=c(42163),ad=c(84289),ae=c(3958),af=c(62291),ag=c(94274),ah=c(87058),ai=c(59576);function aj(a){try{let b=JSON.parse(a);return{code:JSON.stringify(b,null,2),language:"json"}}catch{return{code:a,language:"text"}}}function ak(a){let b=a.split("/").filter(Boolean);return b.length<=2?a:b.slice(-2).join("/")}let al={Bash:Z.A,Read:$.A,Edit:_.A,Write:aa.A,Grep:ab.A,Glob:ac.A,WebFetch:ad.A,WebSearch:ad.A,Task:ae.A,TodoWrite:af.A,NotebookEdit:ag.A},am={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function an({toolCall:a,isStreaming:b}){let[c,e]=(0,f.useState)(!1),g=al[a.name]??ah.A,h=!!a.output,i=!h&&!!b,{text:j,code:l}=function(a,b){let c=function(a){try{let b=JSON.parse(a);return"object"==typeof b&&null!==b?b:null}catch{return null}}(b);switch(a){case"Read":{let a=c?.file_path;return a?{text:"Read",code:ak(a)}:{text:"Read file"}}case"Edit":{let a=c?.file_path;return a?{text:"Edit",code:ak(a)}:{text:"Edit file"}}case"Write":{let a=c?.file_path;return a?{text:"Write",code:ak(a)}:{text:"Write file"}}case"Bash":{let a=c?.command;if(!a)return{text:"Run command"};return{text:"Run",code:a.length>60?a.slice(0,57)+"...":a}}case"Grep":{let a=c?.pattern,b=c?.path;if(!a)return{text:"Search files"};let d=b?` in ${ak(b)}`:"";return{text:"Search for",code:`${a}${d}`}}case"Glob":{let a=c?.pattern;return a?{text:"Find files",code:a}:{text:"Find files"}}case"WebFetch":{let a=c?.url;if(!a)return{text:"Fetch URL"};try{return{text:"Fetch",code:new URL(a).hostname}}catch{return{text:"Fetch URL"}}}case"WebSearch":{let a=c?.query;return a?{text:"Search web for",code:a}:{text:"Search the web"}}case"Task":{let a=c?.description;return a?{text:"Launch chef:",code:a}:{text:"Launch sub-chef"}}case"TodoWrite":return{text:"Update task list"};case"NotebookEdit":return{text:"Edit notebook"};default:return{text:a}}}(a.name,a.input);return(0,d.jsxs)("div",{className:`rounded-md border text-xs ${c?"bg-muted/30":"bg-muted/50"}`,children:[(0,d.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 px-2 py-1.5 hover:bg-accent/50 rounded-md transition-colors",onClick:()=>e(!c),children:[i?(0,d.jsx)(B.A,{className:"size-3.5 shrink-0 animate-spin text-amber-500"}):h?(0,d.jsx)("div",{className:"flex size-3.5 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,d.jsx)(ai.A,{className:"size-2.5",strokeWidth:3})}):(0,d.jsx)("div",{className:"size-3.5 shrink-0 rounded-full border border-muted-foreground/30"}),(0,d.jsx)(g,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsxs)("span",{className:"flex-1 truncate text-foreground",children:[j,l&&(0,d.jsxs)(d.Fragment,{children:[" ",(0,d.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-muted-foreground",children:l})]})]}),c?(0,d.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,d.jsx)(n.A,{className:"size-3 shrink-0 text-muted-foreground"})]}),c&&(0,d.jsxs)("div",{className:"border-t px-2 py-1.5 space-y-1.5",children:[a.input&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Input"}),(()=>{let{code:b,language:c}=aj(a.input);return(0,d.jsx)(k,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...am,marginTop:"0.25rem"}})})()]}),a.output&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Output"}),(()=>{let{code:b,language:c}=aj(a.output);return(0,d.jsx)(k,{code:b,language:c,variant:"dark",wrapLongLines:!0,customStyle:{...am,marginTop:"0.25rem"}})})()]}),i&&!a.output&&(0,d.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-[11px] text-amber-600",children:[(0,d.jsx)(B.A,{className:"size-3 animate-spin"}),(0,d.jsx)("span",{children:"Running..."})]})]})]})}var ao=c(39937),ap=c(79248);function aq({questions:a,onAnswer:b,isAnswered:c}){let[e,g]=(0,f.useState)({}),[h,i]=(0,f.useState)({}),[j,k]=(0,f.useState)({}),[l,m]=(0,f.useState)(!1),n=c||l||!b,o=1===a.length&&!a[0].multiSelect,p=(0,f.useCallback)(()=>{let b=a.map((b,c)=>{let d=e[c]||[],f=j[c]?.trim(),g=[...d];if(f&&g.push(f),1===a.length)return g.join(", ");let h=b.header||`Q${c+1}`;return`${h}: ${g.join(", ")}`});return 1===a.length?b[0]:b.join("\n")},[a,e,j]),q=a=>{if(n)return;let c=j[a]?.trim();c&&o&&(m(!0),b?.(c))},r=!o||Object.values(h).some(Boolean);return(0,d.jsxs)("div",{className:(0,v.cn)("rounded-lg border p-4 space-y-4",n?"border-muted bg-muted/30 opacity-60":"border-primary/20 bg-primary/5"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-primary",children:[(0,d.jsx)(ao.A,{className:"size-4"}),(0,d.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Question"})]}),a.map((c,f)=>(0,d.jsxs)("div",{className:"space-y-2",children:[c.header&&(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:c.header}),(0,d.jsx)("p",{className:"text-sm font-medium",children:c.question}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[c.options.map(c=>{let i=(e[f]||[]).includes(c.label);return(0,d.jsxs)("button",{onClick:()=>{var d;return d=c.label,void(n||(a[f].multiSelect?g(a=>{let b=a[f]||[],c=b.includes(d)?b.filter(a=>a!==d):[...b,d];return{...a,[f]:c}}):(g(a=>({...a,[f]:[d]})),o&&!h[f]&&(m(!0),b?.(d)))))},disabled:n,className:(0,v.cn)("rounded-lg border bg-background px-3 py-2 text-left transition-colors",n?"cursor-default":"cursor-pointer hover:bg-primary/10",i&&"bg-primary text-primary-foreground border-primary"),children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:c.label}),c.description&&(0,d.jsx)("span",{className:(0,v.cn)("block text-xs mt-0.5",i?"text-primary-foreground/70":"text-muted-foreground"),children:c.description})]},c.label)}),!n&&(0,d.jsx)("button",{onClick:()=>i(a=>({...a,[f]:!a[f]})),className:(0,v.cn)("rounded-lg border border-dashed bg-background px-3 py-2 text-sm cursor-pointer hover:bg-primary/10 transition-colors",h[f]&&"border-primary bg-primary/5"),children:"Other…"})]}),h[f]&&!n&&(0,d.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,d.jsx)("input",{type:"text",placeholder:"Type your answer…",value:j[f]||"",onChange:a=>k(b=>({...b,[f]:a.target.value})),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),q(f))},className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),o&&(0,d.jsx)("button",{onClick:()=>q(f),disabled:!j[f]?.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,d.jsx)(ap.A,{className:"size-3.5"})})]})]},f)),r&&!n&&(0,d.jsx)("button",{onClick:()=>{if(n)return;let a=p();a&&(m(!0),b?.(a))},disabled:Object.values(e).every(a=>0===a.length)&&Object.values(j).every(a=>!a?.trim()),className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default hover:bg-primary/90 transition-colors",children:"Submit"})]})}var ar=c(85155);function as({onAnswer:a,isAnswered:b}){let[c,e]=(0,f.useState)(!1),[g,h]=(0,f.useState)(!1),[i,j]=(0,f.useState)(""),k=b||c||!a,l=()=>{!k&&i.trim()&&(e(!0),a?.(i.trim()))};return(0,d.jsxs)("div",{className:(0,v.cn)("rounded-lg border p-4 space-y-3",k?"border-muted bg-muted/30 opacity-60":"border-yellow-500/20 bg-yellow-500/5"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-yellow-600",children:[(0,d.jsx)(ar.A,{className:"size-4"}),(0,d.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Plan ready for review"})]}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"The chef has prepared a plan and is waiting for your approval to proceed."}),!g&&(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("button",{onClick:()=>{k||(e(!0),a?.("Approved — go ahead"))},disabled:k,className:(0,v.cn)("rounded-md px-4 py-2 text-sm font-medium transition-colors",k?"bg-muted text-muted-foreground cursor-default":"bg-green-600 text-white cursor-pointer hover:bg-green-700"),children:"Approve & proceed"}),(0,d.jsx)("button",{onClick:()=>{k||h(!0)},disabled:k,className:(0,v.cn)("rounded-md border px-4 py-2 text-sm font-medium transition-colors",k?"cursor-default":"cursor-pointer hover:bg-primary/10"),children:"Request changes"})]}),g&&!k&&(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("input",{type:"text",placeholder:"Describe what to change…",value:i,onChange:a=>j(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),l())},autoFocus:!0,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),(0,d.jsx)("button",{onClick:l,disabled:!i.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,d.jsx)(ap.A,{className:"size-3.5"})})]})]})}let at={detected:!1,questionText:"",suggestedOptions:[]},au=[{pattern:/shall i proceed\??$/i,options:["Yes, go ahead","No, hold on"]},{pattern:/would you like me to\b.*\??$/i,options:["Yes, please","No, not yet"]},{pattern:/do you want\b.*\??$/i,options:["Yes","No"]},{pattern:/want me to\b.*\??$/i,options:["Yes, let's do it","No, not yet"]},{pattern:/should i\b.*\??$/i,options:["Yes, go ahead","No"]},{pattern:/shall i\b.*\??$/i,options:["Yes, go ahead","No"]},{pattern:/ready to\b.*\??$/i,options:["Yes, let's go","Not yet"]},{pattern:/does that (?:sound good|work|make sense|look (?:good|right|ok))\??$/i,options:["Yes, looks good","No, let me explain"]},{pattern:/(?:sound good|make sense|look (?:good|right|ok))\??$/i,options:["Yes, looks good","No, let me explain"]},{pattern:/what (?:do you|would you) (?:think|prefer)\??$/i,options:["Looks good to me","I have some thoughts"]},{pattern:/can i proceed\??$/i,options:["Yes, proceed","No, wait"]},{pattern:/(?:which|what) (?:option|approach|one) (?:do you|would you) (?:prefer|like|want)\??$/i,options:["Option 1","Option 2","Let me think"]}],av="prose prose-sm max-w-none prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-li:my-0 prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-xs prose-pre:my-2",aw={code({className:a,children:b,...c}){let e=/language-([\w-]+)/.exec(a||""),f=String(b).replace(/\n$/,"");return e&&"html-preview"===e[1]?(0,d.jsx)(q,{html:f}):e?(0,d.jsx)(k,{code:f,language:e[1],variant:"dark",customStyle:{fontFamily:'"JetBrains Mono", monospace'}}):(0,d.jsx)("code",{className:a,...c,children:b})},pre:({children:a})=>(0,d.jsx)(d.Fragment,{children:a})};function ax({text:a}){return(0,d.jsx)("div",{className:av,children:(0,d.jsx)(i.oz,{remarkPlugins:[j.A],components:aw,children:a})})}function ay({block:a,isStreaming:b}){return(0,d.jsx)(an,{toolCall:a,isStreaming:b})}function az({block:a}){return(0,d.jsx)("div",{className:"max-w-[90%] rounded-lg border border-red-200 bg-red-50 px-3.5 py-3 text-sm",children:(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("span",{className:"mt-0.5 shrink-0 text-base leading-none","aria-hidden":!0,children:"⚠️"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"font-medium text-red-900",children:"Something went wrong"}),(0,d.jsx)("p",{className:"mt-0.5 text-red-700",children:a.message}),a.details&&(0,d.jsxs)("details",{className:"mt-2",children:[(0,d.jsx)("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:"Technical details"}),(0,d.jsx)("pre",{className:"mt-1.5 whitespace-pre-wrap break-all rounded bg-white p-2 text-xs text-muted-foreground",children:a.details})]})]})]})})}function aA({images:a,slug:b}){let[c,e]=(0,f.useState)(null),g=a=>`/api/tasks/${b}/images?name=${encodeURIComponent(a)}`;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex gap-1.5 flex-wrap mt-1",children:a.map(a=>(0,d.jsx)("button",{onClick:()=>e(a),className:"size-16 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,d.jsx)("img",{src:g(a),alt:a,className:"size-full object-cover"})},a))}),(0,d.jsx)(p.lG,{open:!!c,onOpenChange:a=>!a&&e(null),children:(0,d.jsxs)(p.Cf,{className:"max-w-3xl p-2",showCloseButton:!1,children:[(0,d.jsx)(p.L3,{className:"sr-only",children:"Image preview"}),c&&(0,d.jsx)("img",{src:g(c),alt:c,className:"w-full rounded object-contain max-h-[80vh]"})]})})]})}let aB=["Tasting","Simmering","Reducing","Prepping","Seasoning"];function aC(){let[a,b]=(0,f.useState)(()=>aB[Math.floor(Math.random()*aB.length)]);return(0,d.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,d.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",role:"status","aria-label":"Thinking"}),(0,d.jsxs)("span",{className:"text-sm italic text-muted-foreground",children:[a,"..."]})]})}function aD({message:a,showThinking:b,slug:c,onQuestionAnswer:e,isQuestionAnswered:f,isLastAssistantMessage:g,status:h}){if("system"===a.role)return(0,d.jsx)("div",{className:"flex justify-center py-2",children:(0,d.jsx)("span",{className:"text-xs text-muted-foreground/70 italic",children:a.content})});if("user"===a.role){let b=a.images?.length?a.images:Array.from(a.content.matchAll(/\[Attached image: ([^\]]+)\]/g),a=>a[1]),e=a.images?.length?a.content:a.content.replace(/\[Attached image: [^\]]+\]\n*/g,"").trim();return(0,d.jsx)("div",{className:"flex flex-col items-end",children:(0,d.jsxs)("div",{className:"max-w-[90%] rounded-lg bg-primary/15 px-3 py-2 text-sm text-foreground",children:[b.length>0&&(0,d.jsx)(aA,{images:b,slug:c}),e&&(0,d.jsx)("p",{className:"whitespace-pre-wrap",children:e})]})})}let k=a.blocks,l=g&&"needs_tasting"===h?function(a){if(!a||!a.trim())return at;let b=function(a){let b=a.trim();if(!b)return"";let c=b.split(/\n\s*\n/).filter(a=>a.trim());return 0===c.length?"":c[c.length-1].trim()}(a);if(!b)return at;for(let{pattern:a,options:c}of au)if(a.test(b))return{detected:!0,questionText:b,suggestedOptions:c};return b.endsWith("?")?{detected:!0,questionText:b,suggestedOptions:["Yes","No"]}:at}(k?k.filter(a=>"text"===a.type).map(a=>a.text).join("\n\n"):a.content||""):null;if(k&&k.length>0){let a=k.reduce((a,b,c)=>"tool_call"===b.type?c:a,-1);return(0,d.jsxs)("div",{className:"flex flex-col gap-2 text-sm",children:[k.map((c,g)=>{if("text"===c.type)return(0,d.jsx)(ax,{text:c.text},g);if("error"===c.type)return(0,d.jsx)(az,{block:c},g);if("plan_approval"===c.type)return(0,d.jsx)(as,{onAnswer:e,isAnswered:f},g);let h=g===a;return(0,d.jsx)(ay,{block:c,isStreaming:h&&b},g)}),l?.detected&&(0,d.jsx)(aq,{questions:[{question:l.questionText,options:l.suggestedOptions.map(a=>({label:a})),multiSelect:!1}],onAnswer:e,isAnswered:f}),b&&(0,d.jsx)(aC,{})]})}let m=!!a.content?.trim(),n=a.toolCalls&&a.toolCalls.length>0;return m||n?(0,d.jsxs)("div",{className:"flex flex-col gap-1",children:[m&&(0,d.jsx)("div",{className:"max-w-[90%] rounded-lg bg-muted px-3 py-2 text-sm text-foreground",children:(0,d.jsx)("div",{className:av,children:(0,d.jsx)(i.oz,{remarkPlugins:[j.A],components:aw,children:a.content})})}),n&&(0,d.jsx)("div",{className:"flex max-w-[90%] flex-col gap-1",children:a.toolCalls.map((a,b)=>(0,d.jsx)(an,{toolCall:a},b))}),l?.detected&&(0,d.jsx)(aq,{questions:[{question:l.questionText,options:l.suggestedOptions.map(a=>({label:a})),multiSelect:!1}],onAnswer:e,isAnswered:f})]}):b?(0,d.jsx)(aC,{}):null}var aE=c(48371);function aF({chefName:a,suggestedNext:b,onPassToNext:c}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 py-2 px-3",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-medium text-green-600",children:[(0,d.jsx)(ai.A,{className:"size-3.5"}),a," complete"]}),b&&(0,d.jsxs)(s.$,{variant:"outline",size:"sm",className:"h-6 text-xs gap-1 cursor-pointer",onClick:()=>c(b),children:["Pass to ",b.name,(0,d.jsx)(n.A,{className:"size-3"})]})]})}function aG({taskSlug:a,storageId:b}){let[c,e]=(0,f.useState)([]),[g,h]=(0,f.useState)(!1);return g&&0!==c.length?(0,d.jsx)("div",{className:"flex flex-col gap-3 p-3",children:c.map(b=>(0,d.jsx)(aD,{message:b,slug:a},b.id))}):null}var aH=c(104),aI=c(51752),aJ=c(53925),aK=c(38939),aL=c(2914),aM=c(82244),aN=c(4096);function aO({value:a,onChange:b,disabled:c,defaultModel:e,onDefaultModelChange:f}){let g=(0,Y.xq)(a),h=(0,Y.xq)(e),i=(0,Y.r1)();return(0,d.jsxs)(aM.rI,{children:[(0,d.jsx)(aM.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:c,className:(0,v.cn)("flex items-center gap-1 px-1.5 py-1 rounded text-xs font-medium text-muted-foreground","cursor-pointer hover:text-foreground hover:bg-accent transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),children:[(0,d.jsx)(aN.v,{provider:g.provider,className:"size-3.5"}),g.label,(0,d.jsx)(m.A,{className:"size-3.5"})]})}),(0,d.jsx)(aM.SQ,{align:"start",side:"top",className:"min-w-[280px] p-2",children:i.map((a,c)=>(0,d.jsxs)("div",{children:[c>0&&(0,d.jsx)(aM.mB,{className:"my-2"}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-2 pb-1.5 pt-1 text-sm text-muted-foreground",children:[(0,d.jsx)(aN.v,{provider:a.provider,className:"size-3.5"}),Y.OW[a.provider]]}),a.options.map(c=>{let e=c.id===g.id,i=c.id===h.id;return(0,d.jsxs)(aM._2,{onSelect:()=>b(c.id),className:(0,v.cn)("group gap-2 py-2",e&&"bg-accent"),children:[(0,d.jsx)(aN.v,{provider:a.provider,className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:(0,v.cn)("flex-1",e&&"font-medium"),children:c.label}),f&&(0,d.jsx)("button",{type:"button",onClick:a=>{a.preventDefault(),a.stopPropagation(),f(c.id)},className:(0,v.cn)("rounded p-0.5 transition-opacity",i?"opacity-100 text-primary":"opacity-0 text-muted-foreground group-hover:opacity-100 hover:text-foreground"),"aria-label":`Set ${c.label} as default`,children:(0,d.jsx)(aL.A,{className:(0,v.cn)("size-3.5",i&&"fill-current")})}),e&&(0,d.jsx)(ai.A,{className:"size-3.5"})]},c.id)})]},a.provider))})]})}let aP=new Set(["image/png","image/jpeg","image/gif","image/webp"]);function aQ({onSend:a,onStop:b,isStreaming:c,slug:e,onModelChange:g,chefName:h,chefDefaultModel:i,leftToolbar:j}){let[k,l]=(0,f.useState)(""),[m,n]=(0,f.useState)([]),[o,q]=(0,f.useState)(!1),[r,t]=(0,f.useState)(null),[u,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(null),z=(0,f.useRef)(null),[A,B]=(0,f.useState)(Y.xj),[C,D]=(0,f.useState)(i||Y.xj),E=(0,f.useCallback)(a=>{t(null);let b=Array.from(a);for(let a of b){if(!aP.has(a.type))return void t("Only images are supported (PNG, JPEG, GIF, WebP).");if(a.size>5242880)return void t("Images must be under 5 MB.")}n(a=>{let c=[...a,...b.map(a=>({file:a,previewUrl:URL.createObjectURL(a)}))];return c.length>5?(t("Maximum 5 images per message."),a):c})},[]),F=(0,f.useCallback)(a=>{n(b=>(URL.revokeObjectURL(b[a].previewUrl),b.filter((b,c)=>c!==a))),t(null)},[]),G=(0,f.useCallback)(a=>{let b=Array.from(a.clipboardData.files).filter(a=>aP.has(a.type));b.length>0&&(a.preventDefault(),E(b))},[E]),H=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!0)},[]),I=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!1)},[]),J=(0,f.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),w(!1),a.dataTransfer.files.length>0&&E(a.dataTransfer.files)},[E]),K=(0,f.useCallback)(async()=>{let b=k.trim();if((b||0!==m.length)&&!c)if(m.length>0){q(!0),t(null);try{let c=[];for(let a of m){let b=new FormData;b.append("file",a.file);let d=await fetch(`/api/tasks/${e}/images`,{method:"POST",body:b});if(!d.ok){let a=await d.json();t(a.error||"Upload failed — try again.");return}let f=await d.json();c.push(f.filename)}m.forEach(a=>URL.revokeObjectURL(a.previewUrl)),n([]),l(""),a(b,c,C)}catch{t("Upload failed — try again.")}finally{q(!1)}}else a(b,void 0,C),l("")},[k,m,c,e,a,C]),L=(0,f.useCallback)(a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),K())},[K]),N=(0,f.useCallback)(a=>{B(a),i||D(a)},[i]);return(0,d.jsxs)("div",{className:(0,v.cn)("px-5 py-5 md:px-6",u&&"ring-2 ring-primary ring-inset rounded-md"),onDragOver:H,onDragLeave:I,onDrop:J,children:[m.length>0&&(0,d.jsx)("div",{className:"flex gap-2 px-1 pb-2 flex-wrap",children:m.map((a,b)=>(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("button",{onClick:()=>y(b),className:"size-14 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,d.jsx)("img",{src:a.previewUrl,alt:a.file.name,className:"size-full object-cover"})}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),F(b)},className:"absolute -top-1.5 -right-1.5 flex size-5 items-center justify-center rounded-full bg-destructive text-destructive-foreground text-xs cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity",children:(0,d.jsx)(aH.A,{className:"size-3"})})]},b))}),(0,d.jsx)(p.lG,{open:null!==x,onOpenChange:a=>!a&&y(null),children:(0,d.jsxs)(p.Cf,{className:"max-w-3xl p-2",children:[(0,d.jsx)(p.L3,{className:"sr-only",children:"Image preview"}),null!==x&&m[x]&&(0,d.jsx)("img",{src:m[x].previewUrl,alt:m[x].file.name,className:"w-full rounded object-contain max-h-[80vh]"})]})}),r&&(0,d.jsx)("div",{className:"px-1 pb-2 text-xs text-destructive",children:r}),(0,d.jsxs)("div",{className:"rounded-xl border bg-white shadow-[0_10px_22px_-20px_rgba(15,23,42,0.3)] transition-shadow focus-within:shadow-[0_12px_26px_-18px_rgba(15,23,42,0.34)] focus-within:ring-2 focus-within:ring-ring",children:[(0,d.jsx)("input",{ref:z,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&E(a.target.files),a.target.value=""}}),(0,d.jsx)("textarea",{className:"w-full resize-none bg-transparent px-6 pt-4 pb-5 text-sm outline-none placeholder:text-muted-foreground",rows:2,placeholder:"Talk to the chef... (Cmd+Enter to send)",value:k,onChange:a=>l(a.target.value),onKeyDown:L,onPaste:G,disabled:c}),(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3",children:[(0,d.jsx)(aO,{value:C,onChange:D,disabled:c,chefName:h,chefDefaultModel:i,defaultModel:A,onDefaultModelChange:N}),j,(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(M.Y6,{label:"Attach image",children:(0,d.jsx)(s.$,{variant:"ghost",size:"icon",onClick:()=>z.current?.click(),disabled:c||o,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aI.A,{className:"size-4"})})}),c?(0,d.jsx)(s.$,{variant:"outline",size:"icon",onClick:b,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aJ.A,{className:"size-4"})}):(0,d.jsx)(s.$,{size:"icon",onClick:K,disabled:!k.trim()&&0===m.length||o,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(aK.A,{className:"size-4"})})]})]})]})}var aR=c(71327);function aS({mode:a,onModeChange:b,selectedChef:c,onChefSelect:f,chefs:g,suggestedChefSlug:h,selectedTemplate:i,onTemplateSelect:j,templates:k,onSend:l,onModelChange:n,onStop:o,isStreaming:p,isDelivering:q,slug:r,chefName:s,chefDefaultModel:t}){let u=(0,e.useRouter)(),w=g.filter(a=>!a.hidden),x="chef"===a&&null!==c,y="workflow"===a&&null!==i,z=(0,d.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,d.jsxs)(aM.rI,{children:[(0,d.jsx)(aM.ty,{asChild:!0,children:(0,d.jsxs)("button",{disabled:q,className:(0,v.cn)("flex items-center gap-1 px-1.5 py-1 rounded transition-colors cursor-pointer",x?"text-primary bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-accent",q&&"opacity-50 cursor-not-allowed"),children:[(0,d.jsx)(M.Y6,{label:x?`Chef: ${c?.name}`:"Chefs",children:(0,d.jsx)(ae.A,{className:"size-4 shrink-0"})}),(0,d.jsx)("span",{className:"text-xs font-medium max-w-[110px] truncate",children:x?c?.name:"Chef"}),(0,d.jsx)(m.A,{className:"size-3.5 shrink-0"})]})}),(0,d.jsxs)(aM.SQ,{side:"top",align:"start",className:"min-w-[180px]",children:[(0,d.jsx)(aM.lp,{className:"text-xs text-muted-foreground font-normal uppercase tracking-wider",children:"Chefs"}),w.map(e=>{let g=c?.slug===e.slug&&"chef"===a,i=e.slug===h;return(0,d.jsxs)(aM._2,{onSelect:()=>{c?.slug===e.slug&&"chef"===a?b("chat"):f(e)},className:(0,v.cn)("gap-2",g&&"text-primary focus:text-primary"),children:[(0,d.jsx)("span",{className:"flex-1",children:e.name}),i&&!g&&(0,d.jsx)("span",{className:"text-[10px] text-primary/60 bg-primary/10 px-1.5 py-0.5 rounded-full",children:"suggested"}),g&&(0,d.jsx)(ai.A,{className:"size-3.5 text-primary shrink-0"})]},e.slug)}),(0,d.jsx)(aM.mB,{}),(0,d.jsxs)(aM._2,{onSelect:()=>u.push("/settings/chefs"),className:"text-muted-foreground gap-2",children:[(0,d.jsx)(aR.A,{className:"size-3.5"}),"Manage chefs"]})]})]}),(0,d.jsxs)(aM.rI,{children:[(0,d.jsx)(aM.ty,{asChild:!0,children:(0,d.jsxs)("button",{disabled:q,className:(0,v.cn)("flex items-center gap-1 px-1.5 py-1 rounded transition-colors cursor-pointer",y?"text-violet-400 bg-violet-400/10":"text-muted-foreground hover:text-foreground hover:bg-accent",q&&"opacity-50 cursor-not-allowed"),children:[(0,d.jsx)(M.Y6,{label:y?`Recipe: ${i?.name}`:"Recipes",children:(0,d.jsx)($.A,{className:"size-4 shrink-0"})}),(0,d.jsx)("span",{className:"text-xs font-medium max-w-[130px] truncate",children:y?i?.name:"Recipe"}),(0,d.jsx)(m.A,{className:"size-3.5 shrink-0"})]})}),(0,d.jsxs)(aM.SQ,{side:"top",align:"start",className:"min-w-[200px]",children:[(0,d.jsx)(aM.lp,{className:"text-xs text-muted-foreground font-normal uppercase tracking-wider",children:"Recipes"}),0===k.length?(0,d.jsx)("div",{className:"px-2 py-3 text-xs text-muted-foreground italic text-center",children:"No recipes yet — create one in Settings"}):k.map(c=>{let e=i?.slug===c.slug&&"workflow"===a,f=c.steps.map(a=>a.chef).join(" → ");return(0,d.jsxs)(aM._2,{onSelect:()=>{i?.slug===c.slug&&"workflow"===a?b("chat"):(j(c),b("workflow"))},disabled:q,className:(0,v.cn)("flex-col items-start gap-0.5",e&&"text-violet-400 focus:text-violet-400 focus:bg-violet-400/10"),children:[(0,d.jsxs)("span",{className:"flex w-full items-center gap-1",children:[(0,d.jsx)("span",{className:"flex-1 font-medium",children:c.name}),e&&(0,d.jsx)(ai.A,{className:"size-3.5 text-violet-400 shrink-0"})]}),(0,d.jsx)("span",{className:"text-[10px] opacity-60 font-normal",children:f})]},c.slug)}),(0,d.jsx)(aM.mB,{}),(0,d.jsxs)(aM._2,{onSelect:()=>u.push("/settings/workflows"),className:"text-muted-foreground gap-2",children:[(0,d.jsx)(aR.A,{className:"size-3.5"}),"Manage recipes"]})]})]})]});return(0,d.jsx)("div",{children:(0,d.jsx)(aQ,{onSend:l,onModelChange:n,onStop:o,isStreaming:p,slug:r,chefName:s,chefDefaultModel:t,leftToolbar:z})})}function aT({pipeline:a,currentIndex:b,completed:c,chefs:e}){return(0,d.jsx)("div",{className:"flex items-center gap-1 px-3 py-2 overflow-x-auto",children:a.map((a,f)=>{let g=e.find(b=>b.slug===a),h=g?.name||a,i=!!c||f<b,j=!c&&f===b;return(0,d.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[f>0&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground/50 mx-0.5",children:"→"}),(0,d.jsxs)("span",{className:(0,v.cn)("text-xs font-medium px-1.5 py-0.5 rounded",i&&"text-green-400",j&&"text-primary",!c&&f>b&&"text-muted-foreground/50"),children:[h,i&&(0,d.jsx)(ai.A,{className:"inline size-3 ml-0.5"}),j&&(0,d.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-primary ml-1 animate-pulse"})]})]},`${a}-${f}`)})})}function aU({taskSlug:a,taskFilePath:b,taskContent:c,chefs:e,status:h,onTaskUpdated:i,autoStartChefSlug:j,autoStartContext:k,prefetchedThread:l}){let{segments:m,loading:n,activeSegment:o,addSegment:p,updateSegmentSessionId:q,reloadFromServer:r}=function(a,b){let[c,d]=(0,f.useState)(()=>b&&Array.isArray(b.segments)?b.segments:[]),[e,g]=(0,f.useState)(void 0===b),h=(0,f.useRef)(c);h.current=c;let i=(0,f.useRef)(0),j=(0,f.useCallback)(b=>{let c=b(h.current);h.current=c,d(c),(0,R.GS)(a,{segments:c})},[a]),k=c.length>0&&"completed"!==c[c.length-1].status?c[c.length-1]:null,l=(0,f.useCallback)(a=>{let b=i.current+1;return"chat"===a?`chat-${b}`:`step-${b}`},[]),m=(0,f.useCallback)((b,c,d,e)=>{i.current+=1;let f=i.current,g="chat"===b?`chat-${f}`:`step-${f}`;(0,R._e)(a,g);let h={id:`seg-${f}`,type:b,storageId:g,startedAt:new Date().toISOString(),..."chef"===b&&{chefSlug:c,chefName:d,status:"active",model:e}};return j(a=>[...a,h]),h},[a,j]),n=(0,f.useCallback)((b,c,d,e,f,g)=>{let k=h.current.find(a=>a.pipelineId===d&&a.pipelineIndex===f);if(k)return k;i.current+=1;let l=i.current,m=`step-${l}`;(0,R._e)(a,m);let n={id:`seg-${l}`,type:"chef",storageId:m,startedAt:new Date().toISOString(),chefSlug:b,chefName:c,status:"active",model:g,pipelineId:d,pipelineName:e,pipelineIndex:f};return j(a=>[...a,n]),n},[a,j]),o=(0,f.useCallback)((a,b)=>{j(c=>c.map(c=>c.id===a?{...c,status:"completed",summary:b}:c))},[j]);return{segments:c,loading:e,activeSegment:k,addSegment:m,addPipelineSegment:n,markSegmentComplete:o,updateSegmentSessionId:(0,f.useCallback)((a,b)=>{j(c=>c.map(c=>c.id===a?{...c,sessionId:b}:c))},[j]),reloadFromServer:(0,f.useCallback)(async()=>{let b=await (0,R.$d)(a);if(b&&Array.isArray(b.segments)){let a=b.segments;h.current=a,d(a)}},[a]),generateStorageId:l}}(a,l),[t,u]=(0,f.useState)("chat"),[v,x]=(0,f.useState)(null),[y,z]=(0,f.useState)(null),[A,B]=(0,f.useState)([]),[C,D]=(0,f.useState)(null),[E,F]=(0,f.useState)(void 0),[G,H]=(0,f.useState)(null),[I,J]=(0,f.useState)(!1),[K,L]=(0,f.useState)(null),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(null),Q=(0,f.useRef)(null),S=o&&"chef"===o.type?o.chefSlug:"chat",T=o?.storageId,{messages:Z,isStreaming:$,wasDisconnected:_,sendMessage:aa,stopChef:ab,clearSessionId:ac,injectSystemMessage:ad,reloadFromServer:ae,sessionId:af,sessionIdRef:ag}=function(a,b="refine-spec",c){let d=c||b,[e,g]=(0,f.useState)([]),[h,i]=(0,f.useState)(!1),[j,k]=(0,f.useState)(!1),l=(0,f.useRef)(null),[m,n]=(0,f.useState)(null),o=(0,f.useRef)(null);(0,f.useRef)(!1),(0,f.useRef)(d);let p=(0,f.useRef)([]);p.current=e;let q=(0,f.useRef)(null),r=(0,f.useRef)(!1),s=(0,f.useRef)(!1),t=(0,f.useCallback)(a=>{let b=W(a);l.current=b,n(b)},[]),u=(0,f.useCallback)(()=>{if(!a)return;let b=p.current,c=l.current;if(r.current){s.current=!0;return}r.current=!0,(0,R.yd)(a,d,b,c).finally(()=>{r.current=!1,s.current&&(s.current=!1,u())})},[a,d]),v=(0,f.useCallback)(()=>{a&&(0,R.Hg)(a,d).then(a=>{!a||(g(b=>{if(0===a.messages.length&&b.length>0||a.messages.length<b.length)return b;if(a.messages.length>b.length)return a.messages;for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=b[c];if(!e||d.id!==e.id||d.role!==e.role)return a.messages;let f=d.content||"",g=e.content||"",h=d.blocks?.length||0,i=e.blocks?.length||0,j=d.toolCalls?.length||0,k=e.toolCalls?.length||0;if(f.length>g.length||h>i||j>k||f.length===g.length&&f!==g)return a.messages}return b}),a.sessionId&&t(a.sessionId))})},[a,d,t]),w=(0,f.useCallback)(async(c,e)=>{let{taskFilePath:f,taskContent:h,chefPrompt:j,taskFileOnly:m,images:n,model:r}=e||{};if(!a)return;k(!1);let s={id:`user-${Date.now()}`,role:"user",content:c,images:n?.length?n:void 0},v=c;if(n&&n.length>0){let a=n.map(a=>`[Attached image: ${a}]`).join("\n");v=`${a}
|
|
23
|
-
|
|
24
|
-
${c}`}p.current=[...p.current,s],g(p.current);let w=`assistant-${Date.now()}`;if(p.current=[...p.current,{id:w,role:"assistant",content:"",blocks:[]}],g(p.current),o.current?.abort(),o.current=new AbortController,"chat"!==b)try{await fetch(`/api/tasks/${encodeURIComponent(a)}/chef-status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"running",chefName:b})})}catch{}i(!0),u();let x=!1,y=!1;try{let c=W(l.current);c!==l.current&&t(c),console.log("[BG-AGENT] sendMessage:",c?`resuming session ${c}`:"starting new session");let e=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:v,sessionId:c,taskSlug:a,chefSlug:b,storageId:d,taskFilePath:c?void 0:f,taskContent:c?void 0:h,chefPrompt:c?void 0:j,taskFileOnly:c?void 0:m,model:r}),signal:o.current.signal});if(!e.ok||!e.body)throw Error("Chat request failed");let i=e.body.getReader(),n=new TextDecoder,p="",s=[],z=new Set,A=!1,B=Date.now();for(;;){let{done:a,value:b}=await i.read();if(a)break;let c=(p+=n.decode(b,{stream:!0})).split("\n");for(let a of(p=c.pop()||"",c)){if(!a.startsWith("data: "))continue;let b=a.slice(6).trim();if("[DONE]"===b){x=!0;continue}try{let a=JSON.parse(b);if(y=!0,"system"===a.type&&a.session_id&&(t(a.session_id),u()),"result"===a.type&&a.session_id&&t(a.session_id),"assistant"===a.type&&a.message){let b=a.message;if(b.content&&Array.isArray(b.content))for(let a of b.content){if("text"===a.type&&a.text){let b=s[s.length-1];A||!b||"text"!==b.type?s.push({type:"text",text:a.text}):b.text=a.text,A=!1}if("tool_use"===a.type){if(a.id&&z.has(a.id))continue;a.id&&z.add(a.id);let b=a.input;if("string"==typeof b)try{b=JSON.parse(b)}catch{}if("ExitPlanMode"===a.name)s.push({type:"plan_approval",allowedPrompts:b?.allowedPrompts});else{let b="string"==typeof a.input?a.input:JSON.stringify(a.input||{},null,2);s.push({type:"tool_call",name:a.name||"tool",input:b})}}}}if("user"===a.type&&a.message){let b=a.message;if(b.content&&Array.isArray(b.content)){for(let a of b.content)if("tool_result"===a.type){let b="string"==typeof a.content?a.content:JSON.stringify(a.content||"",null,2);for(let a=s.length-1;a>=0;a--)if("tool_call"===s[a].type&&!("output"in s[a]&&s[a].output)){s[a].output=b.slice(0,500);break}A=!0}}}if("error"===a.type&&a.message){let b="string"==typeof a.message?a.message:"Provider execution error",c="string"==typeof a.details?a.details:void 0,d=U(c??b);s.push({type:"error",message:c?b:d.message,details:c??d.details})}let c=s.filter(a=>"text"===a.type).map(a=>a.text).join("\n\n");q.current={id:w,content:c,blocks:[...s]},g(a=>a.map(a=>a.id===w?{...a,content:c,blocks:[...s]}:a))}catch{}}let d=Date.now();d-B>=3e3&&(B=d,u())}q.current=null,!x&&y&&k(!0),u()}catch(a){"AbortError"===a.name?u():(y&&!x&&k(!0),g(b=>{let c=U(a.message||"Chat request failed"),d={type:"error",message:c.message,details:c.details},e=b.map(a=>a.id===w?{...a,content:a.content||c.message,blocks:[...a.blocks||[],d]}:a);return p.current=e,u(),e}))}finally{q.current=null,i(!1),o.current=null}},[a,b,d,t,u]),x=(0,f.useCallback)(()=>{o.current?.abort()},[]),y=(0,f.useCallback)(async()=>{if(!a)return;o.current?.abort();let c=l.current;if(!c)try{let d=await fetch(`/api/chat/session?taskSlug=${encodeURIComponent(a)}&chefSlug=${encodeURIComponent(b)}`);if(d.ok){let a=await d.json();a.sessionId&&(c=a.sessionId)}}catch{}if(c)try{await fetch("/api/chat/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:c,taskSlug:a})})}catch{}else await fetch(`/api/tasks/${encodeURIComponent(a)}/chef-status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"idle"})}).catch(()=>{});i(!1)},[a,b]),z=(0,f.useCallback)(()=>{l.current=null,n(null),a&&(0,R.yd)(a,d,p.current,null)},[a,d]),A=(0,f.useCallback)(a=>{let b={id:`system-${Date.now()}`,role:"system",content:a};p.current=[...p.current,b],g(p.current),u()},[u]);return{messages:e,isStreaming:h,wasDisconnected:j,sendMessage:w,stopStreaming:x,stopChef:y,clearChat:(0,f.useCallback)(()=>{if(o.current?.abort(),o.current=null,i(!1),g([]),p.current=[],t(null),a){(0,R._e)(a,d);let c=`kanban-init-sent-${a}-${d}`;try{sessionStorage.removeItem(c)}catch{}V.delete(c),fetch(`/api/chat/session?taskSlug=${encodeURIComponent(a)}&chefSlug=${encodeURIComponent(b)}`,{method:"DELETE"}).catch(()=>{})}},[a,b,d,t]),clearSessionId:z,injectSystemMessage:A,reloadFromServer:v,sessionId:m,sessionIdRef:l}}(a,S,T),{addSession:ah,removeSession:ai,getSession:aj}=(0,X._)(),ak=(0,f.useRef)(null),al=(0,f.useRef)(null),[am,an]=(0,f.useState)(!0),ao=(0,f.useRef)(i);ao.current=i;let ap=(0,f.useRef)(null),aq=$||"running"===h,ar=(0,f.useMemo)(()=>e.filter(a=>!a.hidden),[e]),as=E||v?.model||Y.xj,at=(0,f.useMemo)(()=>(0,Y.xq)(as).provider,[as]),au=G?.providers?.[at],av=!au||au.connected,aw=(0,f.useMemo)(()=>{let a=[...m].reverse().find(a=>"chef"===a.type&&"completed"===a.status);if(!a)return;let b=e.find(b=>b.slug===a.chefSlug);if(b?.suggestsNext)return ar.find(a=>a.slug===b.suggestsNext)?.slug;let c=ar.findIndex(a=>a.slug===b?.slug);return c>=0&&c<ar.length-1?ar[c+1]?.slug:void 0},[m,e,ar]),ax=(0,f.useMemo)(()=>aw?e.find(a=>a.slug===aw)??null:null,[aw,e]),ay=(0,f.useCallback)(async()=>{J(!0);try{let a=await (0,R.qq)();return a&&H(a),a}finally{J(!1)}},[]),az=(0,f.useCallback)(async a=>{let b=(0,Y.xq)(a).provider,c=G?.providers?.[b],d=G?.checkedAt?Date.parse(G.checkedAt):0,e=d>0&&Date.now()-d<15e3;if(c&&e)return c.connected;let f=await ay(),g=f?.providers?.[b];return!g||g.connected},[G,ay]);(0,f.useCallback)(async(b,c,d)=>{if(!T)return;let e=function(a){if("string"!=typeof a)return null;let b=a.trim();return!b||b.startsWith("pending-")?null:b}(c),f=await (0,R.Hg)(a,T)||{messages:[],sessionId:null},g=f.sessionId!==e,h=new Set(f.messages.map(a=>a.id)),i=[],j=new Map;for(let a of b){if(h.has(a.id)){let b=f.messages.findIndex(b=>b.id===a.id);if(-1!==b){let c=(f.messages[b].content||"").length;(a.content||"").length>c&&j.set(b,a)}continue}i.push(a)}if(j.size>0){for(let[a,b]of j)f.messages[a]=b;g=!0}if(i.length>0&&(f.messages=[...f.messages,...i],g=!0),d){let a=f.messages.findIndex(a=>a.id===d.id);if(-1!==a){let b=(f.messages[a].content||"").length;(d.content||"").length>b&&(f.messages[a]=d,g=!0)}else f.messages.push(d),g=!0}g&&(f.sessionId=e,await (0,R.yd)(a,T,f.messages,f.sessionId),ae())},[a,T,ae]),(0,f.useRef)($).current=$,(0,f.useRef)(ah).current=ah,(0,f.useRef)(!1),(0,f.useRef)(!1),(0,f.useRef)(!1);let aA=(()=>{if($||aq)return!1;if(_)return!0;let a=[...Z].reverse().find(a=>"system"===a.role);if(a?.content?.includes("Session restarted")){let b=Z.indexOf(a);return!Z.slice(b+1).some(a=>"user"===a.role)}return!1})(),aB=(()=>{if($||aq||"needs_tasting"!==h||"chat"===S)return null;let a=[...Z].reverse().find(a=>"assistant"===a.role);if(!a)return null;let b=Z.lastIndexOf(a);if(b<Z.length-1&&Z[b+1]?.role==="user"||a.blocks?.some(a=>"plan_approval"===a.type))return null;let c=a.blocks?.filter(a=>"text"===a.type);return(c?.[c.length-1]?.text||a.content||"").trim().endsWith("?")?"question":"waiting"})(),aC=(0,f.useCallback)(async(a,d,e)=>{let f=e||E||v?.model||Y.xj;if(!await az(f))return void L({message:a,images:d,model:f});if(L(null),!o){"chef"===t&&v?p("chef",v.slug,v.name,v.model):p("chat"),ap.current=null,D({message:a,images:d,model:f});return}aa(a,{taskFilePath:b,taskContent:c,chefPrompt:v?.prompt,taskFileOnly:v?.taskFileOnly,images:d,model:f})},[o,t,v,p,aa,b,c,E,az]),aH=(0,f.useCallback)(()=>{K&&(L(null),aC(K.message,K.images,K.model))},[K,aC]),aI=(0,f.useCallback)(b=>{b!==t&&($&&af&&T&&ah({sessionId:af,taskSlug:a,chefSlug:S,storageId:T,lastIndex:0}),u(b),"chat"===b?(x(null),p("chat"),ap.current=null):"chef"===b&&x(null))},[t,$,af,T,S,a,ah,p]),aJ=(0,f.useCallback)(a=>{x(a),"chef"===t?o&&"chef"===o.type&&o.chefSlug===a.slug||(p("chef",a.slug,a.name,a.model),ap.current=null):(u("chef"),p("chef",a.slug,a.name,a.model),ap.current=null)},[t,o,p]),aK=(0,f.useCallback)(a=>{u("chef"),x(a),p("chef",a.slug,a.name,a.model),ap.current=null},[p]),aL=(0,f.useCallback)(async()=>{let a=E||v?.model||Y.xj;await az(a)?(ac(),aa("Continue where you left off",{taskFilePath:b,taskContent:c,chefPrompt:v?.prompt,taskFileOnly:v?.taskFileOnly,model:a})):L({message:"Continue where you left off",model:a})},[E,v,az,ac,aa,b,c]),aM=(0,f.useCallback)(async()=>{await ab(),af&&ai(af),ao.current()},[ab,af,ai]),aN=(0,f.useCallback)((b,c)=>{Q.current&&clearInterval(Q.current),Q.current=setInterval(async()=>{try{let d=await fetch(`/api/tasks/${encodeURIComponent(a)}/deliver`);if(!d.ok)return;let e=await d.json();"delivering"===e.status&&P({pipeline:e.pipeline||b,currentIndex:e.currentIndex??c,completed:!1}),await r(),ao.current(),"delivering"!==e.status&&(clearInterval(Q.current),Q.current=null,N(!1),P(a=>a?{...a,completed:!0}:null),u("chat"))}catch{}},3e3)},[a,r]),aO=(0,f.useCallback)(async b=>{if(y){N(!0);try{let c=await fetch(`/api/tasks/${encodeURIComponent(a)}/deliver`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateSlug:y.slug,context:b||void 0})});if(!c.ok)return void N(!1);let d=await c.json();P({pipeline:d.pipeline||y.steps.map(a=>a.chef),currentIndex:d.currentIndex??0,completed:!1}),await r(),ap.current=null,aN(y.steps.map(a=>a.chef),d.currentIndex??0)}catch{N(!1)}}},[y,a,aN,r]),aP=(0,f.useCallback)(async()=>{Q.current&&(clearInterval(Q.current),Q.current=null),await fetch(`/api/tasks/${encodeURIComponent(a)}/deliver`,{method:"DELETE"}).catch(()=>{}),N(!1),P(null),u("chat")},[a]),aQ=(0,f.useCallback)(a=>{M?aP():aO(a||void 0)},[M,aP,aO]),aR=(0,f.useCallback)((a,b,c)=>{"workflow"===t?aQ(a):aC(a,b,c)},[t,aQ,aC]);return((0,f.useRef)(!1),n)?(0,d.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."})}):(0,d.jsxs)("div",{className:"flex h-full flex-col overflow-hidden px-4 pb-4 pt-2 md:px-6 md:pb-6",children:[(0,d.jsx)(w,{ref:al,className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,d.jsxs)("div",{className:"flex flex-col px-1.5 md:px-2",children:[0===m.length&&0===Z.length&&(0,d.jsx)("div",{className:"py-12 text-center text-xs text-muted-foreground",children:"workflow"===t&&y?`${y.name||"Recipe"} is ready.`:"Start a conversation or pick a chef."}),m.map((b,c)=>{let f,i=!!b.pipelineId&&(0===c||m[c-1].pipelineId!==b.pipelineId);return(0,d.jsxs)(g().Fragment,{children:[i&&O&&(0,d.jsx)(aT,{pipeline:O.pipeline,currentIndex:O.currentIndex,completed:O.completed,chefs:e}),b.id===o?.id?(0,d.jsxs)("div",{className:"flex flex-col gap-3 p-4 md:p-5",children:[0===Z.length&&!aq&&(0,d.jsx)("div",{className:"py-4 text-center text-xs text-muted-foreground",children:"workflow"===t&&y?`${y.name||"Recipe"} is ready.`:"chat"===b.type?"Chat with Claude — no chef tools, just thinking.":`${b.chefName||"Chef"} is ready.`}),(f=Z.reduce((a,b,c)=>"assistant"===b.role?c:a,-1),Z.map((b,c)=>{let e="assistant"===b.role&&c===f,g=c+1<Z.length&&"user"===Z[c+1].role;return(0,d.jsx)(aD,{message:b,slug:a,showThinking:aq&&"assistant"===b.role&&c===Z.length-1,onQuestionAnswer:aC,isQuestionAnswered:"assistant"===b.role&&g&&(!!b.blocks?.some(a=>"plan_approval"===a.type)||e),isLastAssistantMessage:e,status:h},b.id)}))]}):(0,d.jsx)(aG,{taskSlug:a,storageId:b.storageId,chefSlug:b.chefSlug}),"chef"===b.type&&"completed"===b.status&&(0,d.jsx)(aF,{chefName:b.chefName||b.chefSlug||"Chef",suggestedNext:ax,onPassToNext:aK})]},b.id)}),(0,d.jsx)("div",{ref:ak})]})}),au&&!au.connected&&(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-amber-50/70",children:[(0,d.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-500 animate-pulse"}),(0,d.jsxs)("span",{className:"text-xs text-amber-700",children:[Y.OW[at]," is disconnected. Run"," ",(0,d.jsx)("code",{className:"rounded bg-amber-100 px-1 py-0.5 text-[11px]",children:au.reauthCommand})," ","in your terminal.",K&&" Your last message is queued."]}),(0,d.jsx)("button",{onClick:()=>{ay()},disabled:I,className:"ml-auto rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors disabled:opacity-60 disabled:cursor-default",children:I?"Checking...":"Check again"})]}),K&&av&&(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-emerald-50/70",children:[(0,d.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-emerald-500"}),(0,d.jsx)("span",{className:"text-xs text-emerald-700",children:"Reconnected. Your message is queued and ready to retry."}),(0,d.jsx)("button",{onClick:aH,className:"ml-auto rounded-full border border-emerald-200 bg-white px-3 py-1 text-xs font-medium text-emerald-700 cursor-pointer hover:bg-emerald-100 transition-colors",children:"Retry now"})]}),aA&&(0,d.jsxs)("div",{className:"flex items-center justify-center gap-2 border-t px-3 py-2 bg-muted/50",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Conversation was interrupted"}),(0,d.jsxs)(s.$,{variant:"outline",size:"sm",onClick:aL,className:"gap-1 h-7 px-3 text-xs cursor-pointer",children:[(0,d.jsx)(aE.A,{className:"size-3"}),"Resume"]})]}),"question"===aB&&(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-blue-50/50",children:[(0,d.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-blue-500 animate-pulse"}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"Waiting for your response"}),(0,d.jsxs)("div",{className:"flex gap-1.5 ml-auto",children:[(0,d.jsx)("button",{onClick:()=>aC("Yes, go ahead"),className:"rounded-full border border-border bg-background px-3 py-1 text-xs font-medium cursor-pointer hover:bg-accent transition-colors",children:"Yes, go ahead"}),(0,d.jsx)("button",{onClick:()=>aC("No, let me explain"),className:"rounded-full border border-border bg-background px-3 py-1 text-xs font-medium cursor-pointer hover:bg-accent transition-colors",children:"No, let me explain"})]})]}),"waiting"===aB&&(0,d.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-blue-50/50",children:[(0,d.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-blue-500 animate-pulse"}),(0,d.jsx)("span",{className:"text-xs text-blue-600 font-medium",children:"Chef is waiting for your input"})]}),(0,d.jsx)(aS,{mode:t,onModeChange:aI,selectedChef:v,onChefSelect:aJ,chefs:e,suggestedChefSlug:aw,selectedTemplate:y,onTemplateSelect:z,templates:A,onSend:aR,onModelChange:F,onStop:aM,isStreaming:aq,isDelivering:M,slug:a,chefName:v?.name,chefDefaultModel:v?.model})]})}var aV=c(15065),aW=c(13090),aX=c(22685),aY=c(35563),aZ=c(33947),a$=c(12421),a_=c(21571);let a0={pending:null,in_progress:(0,d.jsx)(B.A,{className:"size-3.5 animate-spin text-orange-500"}),done:(0,d.jsx)(ai.A,{className:"size-3.5 text-green-600"}),error:(0,d.jsx)(aH.A,{className:"size-3.5 text-red-500"}),warning:(0,d.jsx)(a$.A,{className:"size-3.5 text-amber-500"})};function a1({steps:a,onRetry:b,onClose:c,isComplete:e,isError:f}){return(0,d.jsxs)("div",{className:"absolute right-0 top-full mt-2 z-50 w-80 rounded-lg border bg-background shadow-lg",children:[(0,d.jsxs)("div",{className:"p-4 space-y-2",children:[a.map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,d.jsx)("span",{className:"mt-0.5 shrink-0 w-4",children:a0[a.status]}),(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("span",{className:(0,v.cn)("error"===a.status&&"text-red-600","done"===a.status&&"text-muted-foreground"),children:a.label}),a.detail&&(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:a.detail})]})]},a.id)),e&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-green-600 pt-1",children:[(0,d.jsx)(a_.A,{className:"size-4"}),"Handed off!"]})]}),(e||f)&&(0,d.jsxs)("div",{className:"border-t px-4 py-2 flex gap-2",children:[f&&b&&(0,d.jsx)(s.$,{size:"sm",variant:"outline",onClick:b,className:"flex-1 text-xs cursor-pointer",children:"Retry"}),(0,d.jsx)(s.$,{size:"sm",variant:"ghost",onClick:c,className:"flex-1 text-xs cursor-pointer",children:"Close"})]})]})}let a2=(0,c(21654).F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function a3({className:a,variant:b,...c}){return(0,d.jsx)("div",{className:(0,v.cn)(a2({variant:b}),a),...c})}var a4=c(45963);let a5={addition:"bg-green-500/10 text-green-800",deletion:"bg-red-500/10 text-red-800",hunk:"bg-blue-500/8 text-blue-600 font-medium",context:"",meta:"text-muted-foreground"},a6={addition:"bg-green-500/15 text-green-700 border-r border-green-500/20",deletion:"bg-red-500/15 text-red-700 border-r border-red-500/20",hunk:"bg-blue-500/10 border-r border-blue-500/20",context:"bg-muted/30 text-muted-foreground border-r border-border/50",meta:"bg-muted/30 border-r border-border/50"};function a7({open:a,reviewData:b,truncated:c,totalLines:e,attempt:g,onApprove:h,onCancel:i,onResolveDifferently:j}){let[k,l]=(0,f.useState)(!0),[o,q]=(0,f.useState)(!1),[r,t]=(0,f.useState)(""),[u,v]=(0,f.useState)(new Set),w=new Set(b.conflictFiles.filter(a=>"text"===a.type).map(a=>a.path)),x=new Set(b.conflictFiles.filter(a=>"binary"===a.type).map(a=>a.path)),y=!b.fullDiff||"No diff available"===b.fullDiff,A=(0,f.useMemo)(()=>y?[]:function(a,b,c){let d=a.split("\n"),e=[],f=null,g=0,h=0;for(let a of d){let d=a.match(/^diff --git a\/(.+?) b\/(.+)$/);if(d){f&&e.push(f);let a=d[2];f={filePath:a,lines:[],additions:0,deletions:0,isConflictFile:b.has(a),isBinaryConflict:c.has(a)};continue}if(!f)continue;let i=a.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@(.*)/);if(i){g=parseInt(i[1],10),h=parseInt(i[2],10),f.lines.push({content:a,type:"hunk",oldNum:null,newNum:null});continue}if(a.startsWith("index ")||a.startsWith("--- ")||a.startsWith("+++ ")||a.startsWith("old mode")||a.startsWith("new mode")||a.startsWith("new file")||a.startsWith("deleted file")||a.startsWith("similarity index")||a.startsWith("rename from")||a.startsWith("rename to")||a.startsWith("Binary files")){f.lines.push({content:a,type:"meta",oldNum:null,newNum:null});continue}if(a.startsWith("+")){f.additions++,f.lines.push({content:a.slice(1),type:"addition",oldNum:null,newNum:h++});continue}if(a.startsWith("-")){f.deletions++,f.lines.push({content:a.slice(1),type:"deletion",oldNum:g++,newNum:null});continue}f.lines.push({content:a.startsWith(" ")?a.slice(1):a,type:"context",oldNum:g++,newNum:h++})}return f&&e.push(f),e}(b.fullDiff,w,x),[b.fullDiff,y]),B=(0,f.useMemo)(()=>b.aiExplanation?function(a){let b=[],c=null,d=a.split("\n"),e=[];for(let a of d){let c=a.match(/^\|?\s*`?([^\s|`]+\.\w+)`?\s*\|\s*(.+?)\s*\|?\s*$/);if(c){let a=c[1].split("/").pop()||c[1];b.push({fileName:a,explanation:c[2].trim()});continue}let d=a.match(/^\*\*([^\s*]+\.\w+)\*\*\s*[—:\-–]\s*(.+)$/);if(d){let a=d[1].split("/").pop()||d[1];b.push({fileName:a,explanation:d[2].trim()});continue}let f=a.match(/^[-*]\s+`?([^\s`]+\.\w+)`?\s*[—:\-–]\s*(.+)$/);if(f){let a=f[1].split("/").pop()||f[1];b.push({fileName:a,explanation:f[2].trim()});continue}a.match(/^\|?\s*[-|]+\s*\|?\s*$/)||a.match(/^\|\s*File\s*\|/i)||e.push(a)}let f=e.join("\n").trim();return f&&(c=f),{fileExplanations:b,summary:c}}(b.aiExplanation):null,[b.aiExplanation]);return(0,d.jsx)(p.lG,{open:a,onOpenChange:()=>{},children:(0,d.jsxs)(p.Cf,{className:"sm:max-w-4xl max-h-[85vh] flex flex-col overflow-hidden",showCloseButton:!1,onPointerDownOutside:a=>a.preventDefault(),onEscapeKeyDown:a=>a.preventDefault(),children:[(0,d.jsxs)(p.c7,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(p.L3,{children:"Review conflict resolution"}),g&&g>1&&(0,d.jsxs)(a3,{className:"bg-blue-100 text-blue-800 border-blue-300",children:["Attempt ",g]})]}),(0,d.jsxs)(p.rr,{children:["The AI resolved ",b.conflictFiles.length," conflict",1!==b.conflictFiles.length?"s":"",". Review the changes before merging."]})]}),(0,d.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto space-y-3",children:[B&&(0,d.jsxs)("div",{className:"rounded-lg border border-indigo-200 bg-indigo-50/50 overflow-hidden",children:[(0,d.jsxs)("button",{onClick:()=>l(!k),className:"flex items-center gap-2 w-full px-3 py-2.5 bg-indigo-100/60 cursor-pointer hover:bg-indigo-100 transition-colors",children:[(0,d.jsx)(a4.A,{className:"size-4 text-indigo-600"}),(0,d.jsx)("span",{className:"text-sm font-semibold text-indigo-800",children:"How conflicts were resolved"}),k?(0,d.jsx)(m.A,{className:"size-4 ml-auto text-indigo-500"}):(0,d.jsx)(n.A,{className:"size-4 ml-auto text-indigo-500"})]}),k&&(0,d.jsxs)("div",{className:"px-3 py-3 space-y-2",children:[B.fileExplanations.map((a,b)=>(0,d.jsxs)("div",{className:"flex gap-2.5 p-2.5 rounded-md bg-white border border-border/50",children:[(0,d.jsx)(ag.A,{className:"size-4 text-amber-500 mt-0.5 shrink-0"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"text-xs font-semibold text-foreground",children:(0,d.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded text-[11px]",children:a.fileName})}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:a.explanation})]})]},b)),0===B.fileExplanations.length&&b.aiExplanation&&(0,d.jsx)("div",{className:"text-xs text-foreground/80 whitespace-pre-wrap leading-relaxed",children:b.aiExplanation}),B.summary&&(0,d.jsxs)("div",{className:"flex items-start gap-2 px-2.5 py-2 rounded-md bg-green-50 border border-green-200 text-xs text-green-800 leading-relaxed",children:[(0,d.jsx)(z.A,{className:"size-3.5 mt-0.5 shrink-0"}),(0,d.jsx)("span",{children:B.summary})]})]})]}),(0,d.jsx)("div",{className:"rounded-lg border",children:y?(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"No changes detected"}):(0,d.jsxs)("div",{className:"divide-y divide-border",children:[A.map((a,b)=>{let c=u.has(b),e=a.filePath.split("/").pop()||a.filePath,f=a.filePath.includes("/")?a.filePath.slice(0,a.filePath.lastIndexOf("/")+1):"";return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{onClick:()=>{v(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:`flex items-center gap-2 px-3 py-2 cursor-pointer sticky top-0 z-10 ${a.isConflictFile?"bg-amber-50 hover:bg-amber-100/70":"bg-muted/50 hover:bg-muted/80"} transition-colors`,children:[c?(0,d.jsx)(n.A,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,d.jsx)(m.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,d.jsx)(ag.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,d.jsxs)("span",{className:"font-mono text-xs truncate",children:[f&&(0,d.jsx)("span",{className:"text-muted-foreground",children:f}),(0,d.jsx)("span",{className:"font-medium",children:e})]}),a.isConflictFile&&(0,d.jsx)(a3,{className:"bg-amber-100 text-amber-800 border-amber-300 text-[10px] px-1.5 py-0",children:"CONFLICT"}),a.isBinaryConflict&&(0,d.jsx)(a3,{className:"bg-red-100 text-red-800 border-red-300 text-[10px] px-1.5 py-0",children:"BINARY"}),(0,d.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs shrink-0",children:[a.additions>0&&(0,d.jsxs)("span",{className:"text-green-600 font-medium",children:["+",a.additions]}),a.additions>0&&a.deletions>0&&(0,d.jsx)("span",{className:"text-muted-foreground",children:"\xb7"}),a.deletions>0&&(0,d.jsxs)("span",{className:"text-red-600 font-medium",children:["−",a.deletions]})]})]}),!c&&(0,d.jsx)("div",{className:"font-mono text-[11px] leading-5",children:a.lines.map((a,b)=>"meta"===a.type?null:(0,d.jsxs)("div",{className:`flex ${a5[a.type]}`,children:[(0,d.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${a6[a.type]}`,children:a.oldNum??""}),(0,d.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${a6[a.type]}`,children:a.newNum??""}),(0,d.jsx)("span",{className:"flex-1 px-2 whitespace-pre overflow-x-auto",children:"hunk"===a.type?(0,d.jsx)("span",{className:"font-medium",children:a.content}):a.content||"\xa0"})]},b))})]},b)}),c&&(0,d.jsxs)("div",{className:"px-3 py-2.5 bg-amber-50 border-t border-amber-200 text-amber-800 text-xs",children:[(0,d.jsx)(a$.A,{className:"size-3.5 inline mr-1.5 -mt-0.5"}),"Diff truncated — showing first 5,000 of"," ",e?.toLocaleString()," lines"]})]})})]}),o&&(0,d.jsxs)("div",{className:"border-t pt-3 mt-3 space-y-2 shrink-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:"How should the conflicts be resolved?"}),(0,d.jsx)("textarea",{className:"w-full min-h-[80px] rounded-md border p-2 text-sm",placeholder:"Describe how you want the conflicts resolved...",value:r,onChange:a=>t(a.target.value)}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)(s.$,{variant:"outline",size:"sm",onClick:()=>q(!1),className:"cursor-pointer",children:"Back"}),(0,d.jsx)(s.$,{size:"sm",onClick:()=>j(r),disabled:!r.trim(),className:"bg-amber-600 hover:bg-amber-700 text-white cursor-pointer",children:"Submit feedback"})]})]}),!o&&(0,d.jsx)(p.Es,{className:"shrink-0",children:(0,d.jsxs)("div",{className:"flex w-full justify-between",children:[(0,d.jsx)(s.$,{variant:"outline",onClick:()=>q(!0),className:"text-amber-700 border-amber-300 hover:bg-amber-50 cursor-pointer",children:"Resolve differently ↻"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(s.$,{variant:"outline",onClick:i,className:"cursor-pointer",children:"Cancel"}),(0,d.jsx)(s.$,{onClick:h,className:"bg-green-600 hover:bg-green-700 text-white cursor-pointer",children:"Approve & Merge"})]})]})})]})})}var a8=c(67605),a9=c(37636),ba=c(74247);function bb(){let a,b=(0,e.useParams)(),c=(0,e.useRouter)(),g=(0,e.useSearchParams)(),i=b.slug,j="string"==typeof b.repoId?b.repoId:void 0,k=j?`/r/${encodeURIComponent(j)}/board`:"/board",l=a=>j?`/r/${encodeURIComponent(j)}/task/${encodeURIComponent(a)}`:`/task/${encodeURIComponent(a)}`,o=g.get("chef"),p=g.get("context"),{task:q,loading:u,fetchTask:w,updateBody:x}=(0,h.S)(i,j),[y,z]=(0,f.useState)(null),A=(0,f.useCallback)(async()=>{try{let a=await fetch("/api/tasks/counts"),b=await a.json();return z({slugs:b.slugs,total:b.inputNeeded}),b}catch{return null}},[]),C=(0,f.useMemo)(()=>{if(!y||0===y.total)return null;let a=y.slugs.indexOf(i);if(-1===a)return{nextSlug:y.slugs[0],total:y.total};let b=(a+1)%y.slugs.length;return{nextSlug:y.slugs[b],total:y.total}},[y,i]),D=(0,f.useCallback)(async()=>{let a=await A();if(!a||0===a.inputNeeded)return;let b=a.slugs.indexOf(i),d=-1===b?a.slugs[0]:a.slugs[(b+1)%a.slugs.length];c.push(l(d))},[A,i,c]),[E,F]=(0,f.useState)("view"),[G,H]=(0,f.useState)(!1),[J,K]=(0,f.useState)("tasks"),[L,P]=(0,f.useState)([]),[S,T]=(0,f.useState)(void 0),[U,V]=(0,f.useState)(0),[W,X]=(0,f.useState)({mode:"workflow"}),[Z,$]=(0,f.useState)(!1),[_,aa]=(0,f.useState)(""),[ab,ac]=(0,f.useState)(!1),[ad,ae]=(0,f.useState)(null),[af,aj]=(0,f.useState)(!1),[ak,al]=(0,f.useState)(null),[am,an]=(0,f.useState)(!1),[ao,ap]=(0,f.useState)(null),[aq,ar]=(0,f.useState)(!1),as=(0,f.useRef)(null),[at,au]=(0,f.useState)(null),[av,aw]=(0,f.useState)(!1),ax=(0,f.useRef)(null),{panelStyle:ay,isDragging:az,handleMouseDown:aA,resetWidth:aB}=function({storageKey:a,defaultWidthRatio:b,minWidth:c,maxWidthRatio:d,containerRef:e}){let[g,h]=(0,f.useState)(-1),[i,j]=(0,f.useState)(!1),k=(0,f.useRef)(0),l=(0,f.useRef)(!1),m=(0,f.useRef)(null),n=(0,f.useRef)(null),o=(0,f.useRef)(null),p=(0,f.useRef)(null),q=(0,f.useCallback)(a=>{let b=e.current?.offsetWidth??0;return 0===b?a:Math.min(Math.max(a,c),b*d)},[e,c,d]),r=(0,f.useCallback)(b=>{let c=m.current,d=n.current,e=o.current,f=p.current;c&&document.removeEventListener("mousemove",c),d&&window.removeEventListener("mouseup",d),e&&window.removeEventListener("blur",e),f&&document.removeEventListener("visibilitychange",f),m.current=null,n.current=null,o.current=null,p.current=null,document.body.classList.remove("resizing"),l.current&&(l.current=!1,j(!1),b&&(h(k.current),localStorage.setItem(a,String(Math.round(k.current)))))},[a]),s=(0,f.useCallback)(a=>{r(!1),a.preventDefault(),j(!0),l.current=!0,document.body.classList.add("resizing");let b=a.clientX,c=a.currentTarget.nextElementSibling,d=c?.offsetWidth||0;k.current=d;let e=a=>{let e=q(d+(b-a.clientX));k.current=e,c&&(c.style.width=`${e}px`)},f=()=>{r(!0)},g=()=>{"visible"!==document.visibilityState&&r(!0)};m.current=e,n.current=f,o.current=f,p.current=g,document.addEventListener("mousemove",e),window.addEventListener("mouseup",f),window.addEventListener("blur",f),document.addEventListener("visibilitychange",g)},[q,r]),t=(0,f.useCallback)(()=>{h(b),k.current=0,localStorage.removeItem(a)},[b,a]);return{panelStyle:-1===g?void 0:g<=1?{width:`${(100*g).toFixed(1)}%`}:{width:`${g}px`},isDragging:i,handleMouseDown:s,resetWidth:t}}({storageKey:"kanban-detail-sidebar-width",defaultWidthRatio:.35,minWidth:280,maxWidthRatio:.5,containerRef:ax}),aC=(0,f.useCallback)(a=>{P(a),a.forEach((a,b)=>{fetch("/api/chefs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:a.slug,order:b+1})}).catch(()=>{})})},[]),aD=(0,f.useCallback)(async a=>{au(null),aw(!0);try{await x(a)?(F("view"),au(null)):au("Failed to save. Please try again.")}catch{au("Failed to save. Please try again.")}finally{aw(!1)}},[x]),aE=(0,f.useCallback)(()=>{F("view"),au(null)},[]),aF=(0,f.useCallback)(async(a,b)=>{let c=await fetch(`/api/tasks/${i}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:a,force:b})});if(c.ok){if((await c.json()).worktreeWarning){window.confirm("This task's worktree has uncommitted changes. Remove worktree anyway?")&&await aF(a,!0);return}await w()}},[i,w]),aG=(0,f.useCallback)(a=>{(0,R.U8)(i,a)},[i]),aI=(0,f.useCallback)(async()=>{let a=_.trim();if(!a||a===q?.title)return void $(!1);let b=await fetch(`/api/tasks/${i}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a})});if(b.ok){let a=await b.json();$(!1),a.newSlug?(aG(a.newSlug),c.replace(l(a.newSlug))):await w()}},[i,_,q?.title,c,w,aG]),aJ=(0,f.useCallback)(async a=>{(await fetch(`/api/tasks/${i}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:a})})).ok&&await w()},[i,w]),aK=(0,f.useCallback)(async()=>{(await fetch(`/api/tasks/${i}`,{method:"DELETE"})).ok&&c.push(k)},[i,c]),aL=(0,f.useCallback)(async()=>{ac(!0);try{let a=await fetch(`/api/tasks/${i}/create-branch`,{method:"POST"});(await a.json()).error||await w()}finally{ac(!1)}},[i,w]),aN=(0,f.useCallback)(()=>{if(!ak)return;let a=`cd "${ak}"`;navigator.clipboard.writeText(a).then(()=>{an(!0),setTimeout(()=>an(!1),2e3)}).catch(()=>{})},[ak]),aO=(0,f.useCallback)(()=>{as.current||(ar(!0),as.current=setInterval(async()=>{try{let a=await fetch(`/api/tasks/${i}/handoff`),b=await a.json();if("idle"===b.phase){as.current&&clearInterval(as.current),as.current=null,ap(null),ar(!1);return}ap(b),"completed"===b.phase?(as.current&&clearInterval(as.current),as.current=null,ar(!1),await w(),c.push(k)):("error"===b.phase||"cancelled"===b.phase)&&(as.current&&clearInterval(as.current),as.current=null)}catch{}},1500))},[i,w,c]),aP=(0,f.useCallback)(async()=>{if(ao?.phase==="running"||ao?.phase==="awaiting_review")return;ap(null);let a=await fetch(`/api/tasks/${i}/handoff`,{method:"POST"}),b=await a.json();a.ok&&(ap(b),aO())},[i,ao,aO]),aQ=(0,f.useCallback)(async()=>{await fetch(`/api/tasks/${i}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve"})}),ap(a=>a?{...a,phase:"running",reviewData:null}:null)},[i]),aR=(0,f.useCallback)(async()=>{await fetch(`/api/tasks/${i}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})}),ap(a=>a?{...a,phase:"cancelled",reviewData:null}:null)},[i]),aS=(0,f.useCallback)(async a=>{await fetch(`/api/tasks/${i}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"retry",feedback:a})}),ap(a=>a?{...a,phase:"running",reviewData:null}:null)},[i]),aT=(0,f.useCallback)(()=>{ar(!1),ap(null),setTimeout(()=>aP(),0)},[aP]);if(u||!q)return(0,d.jsx)("div",{className:"flex h-screen items-center justify-center",children:(0,d.jsx)(a9._,{size:"lg"})});let a$=Y.cZ.find(a=>a.id===q.column),a_=Y.G$[q.column];return(0,d.jsxs)("div",{className:"flex h-screen flex-col",children:[(0,d.jsxs)("header",{className:"relative z-10 flex items-center gap-3 border-b border-border bg-background px-4 py-3",children:[(0,d.jsx)(M.Y6,{label:"Back to board",children:(0,d.jsx)(s.$,{variant:"ghost",size:"icon",onClick:()=>c.push(k),children:(0,d.jsx)(O.A,{className:"size-4"})})}),(0,d.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:Z?(0,d.jsx)("input",{className:"min-w-0 flex-1 border-b-2 border-primary bg-transparent px-0 py-0 text-sm font-medium outline-none",value:_,onChange:a=>aa(a.target.value),onBlur:aI,onKeyDown:a=>{"Enter"===a.key&&aI(),"Escape"===a.key&&$(!1)},autoFocus:!0}):(0,d.jsx)("h2",{className:"min-w-0 flex-1 cursor-text truncate rounded px-0.5 text-sm font-medium transition-colors hover:bg-muted/50",onClick:()=>{aa(q.title),$(!0)},children:q.title})}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[q.worktree&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted px-2.5 py-0.5 font-mono text-xs font-medium",children:[(0,d.jsx)(aV.A,{className:"size-3 text-muted-foreground"}),(0,d.jsx)("span",{className:"max-w-40 truncate",children:q.worktree.split("/").pop()||q.branch})]}),C&&(0,d.jsx)(M.Y6,{label:"Needs tasting",children:(0,d.jsxs)(s.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:D,children:[(0,d.jsx)(ah.A,{className:"size-3.5"}),"Needs tasting",(0,d.jsx)("span",{className:(0,v.cn)("text-[11px] font-semibold px-[7px] py-px rounded-full tabular-nums",(0,Y.eE)("needs_tasting").pillBgClass,(0,Y.eE)("needs_tasting").pillTextClass),children:C.total}),(0,d.jsx)(n.A,{className:"size-3.5"})]})}),q.branch&&(0,d.jsxs)("div",{className:"relative",children:[ad&&"MERGED"===ad.state?(0,d.jsxs)(s.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,d.jsx)(ai.A,{className:"size-3.5 text-green-600"}),"Handed off"]}):ad&&"CLOSED"===ad.state?(0,d.jsxs)(s.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,d.jsx)(aH.A,{className:"size-3.5 text-red-500"}),"PR Closed"]}):af?(0,d.jsx)(M.Y6,{label:"Commit, push, create PR, merge, and clean up",children:(0,d.jsxs)(s.$,{variant:"outline",size:"sm",className:"gap-1.5 border-green-200 bg-green-50 text-green-700 hover:bg-green-100 cursor-pointer",onClick:aP,disabled:ao?.phase==="running"||ao?.phase==="awaiting_review",children:[ao?.phase==="running"||ao?.phase==="awaiting_review"?(0,d.jsx)(B.A,{className:"size-3.5 animate-spin"}):(0,d.jsx)(aW.A,{className:"size-3.5"}),"Hands!"]})}):null,aq&&ao&&(0,d.jsx)(a1,{steps:ao.steps,onRetry:"error"===ao.phase?aT:void 0,onClose:()=>{ar(!1),ap(null)},isComplete:"completed"===ao.phase,isError:"error"===ao.phase}),ao?.phase==="awaiting_review"&&ao.reviewData&&(0,d.jsx)(a7,{open:!0,reviewData:ao.reviewData,truncated:ao.reviewTruncated,totalLines:ao.reviewTotalLines,attempt:ao.reviewAttempt,onApprove:aQ,onCancel:aR,onResolveDifferently:aS})]}),G?(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)(s.$,{variant:"destructive",size:"sm",onClick:aK,children:"Confirm Delete"}),(0,d.jsx)(s.$,{variant:"ghost",size:"sm",onClick:()=>H(!1),children:"Cancel"})]}):(0,d.jsx)(M.Y6,{label:"Delete task",children:(0,d.jsx)(s.$,{variant:"ghost",size:"icon",onClick:()=>H(!0),children:(0,d.jsx)(aX.A,{className:"size-4"})})})]})]}),(0,d.jsxs)("div",{ref:ax,className:"flex flex-1 overflow-hidden",children:[(0,d.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:(0,d.jsx)(aU,{taskSlug:i,taskFilePath:q.filePath,taskContent:q.content,chefs:L,status:q.status,onTaskUpdated:w,onReorderChefs:aC,autoStartChefSlug:o||void 0,autoStartContext:p||void 0,prefetchedThread:S})}),(0,d.jsx)("div",{onMouseDown:aA,onDoubleClick:aB,className:(0,v.cn)("w-1 shrink-0 cursor-col-resize border-l border-steel-100 bg-transparent hover:bg-border transition-colors",az&&"bg-border")}),(0,d.jsx)("div",{className:"flex shrink-0 flex-col overflow-hidden",style:ay??{width:"35%"},children:"workflow"!==W.mode?"create"===W.mode?(0,d.jsx)(Q,{onBack:()=>X({mode:"workflow"}),onSaved:a=>{P(b=>[...b,a]),X({mode:"workflow"})}}):(0,d.jsx)(Q,{chef:W.chef,onBack:()=>X({mode:"workflow"}),onSaved:a=>{P(b=>b.map(b=>b.slug===a.slug?a:b)),V(a=>a+1),X({mode:"edit",chef:a})},onDeleted:()=>{P(a=>a.filter(a=>a.slug!==W.chef.slug)),X({mode:"workflow"})}},U):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex items-center border-b border-steel-100",children:[(0,d.jsxs)("button",{onClick:()=>K("tasks"),className:(0,v.cn)("flex cursor-pointer items-center gap-1.5 px-4 py-2 text-[13px] font-medium transition-colors","tasks"===J?"border-b-2 border-primary text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,d.jsx)(ag.A,{className:"size-3.5"}),"Tasks"]}),(0,d.jsxs)("button",{onClick:()=>K("git"),className:(0,v.cn)("flex cursor-pointer items-center gap-1.5 px-4 py-2 text-[13px] font-medium transition-colors","git"===J?"border-b-2 border-primary text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,d.jsx)(aV.A,{className:"size-3.5"}),"Git"]})]}),(0,d.jsxs)("div",{className:"flex-1 overflow-hidden",children:["tasks"===J&&(0,d.jsx)("div",{className:"h-full overflow-auto p-4",children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:(0,v.cn)("rounded border border-steel-100 bg-card px-3 py-2 shadow-md paper-texture","none"!==q.priority&&"border-l-4","urgent"===q.priority&&"border-l-red-400"),style:"high"===q.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.8)"}:"medium"===q.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.5)"}:"low"===q.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.25)"}:void 0,children:(0,d.jsxs)("div",{className:"grid grid-cols-[auto_1fr] items-center gap-x-3 gap-y-1.5 text-sm",children:[(0,d.jsx)("span",{className:"text-muted-foreground",children:"Workspace"}),(0,d.jsx)("div",{className:"min-w-0 overflow-hidden px-2 py-1",children:q.worktree?(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5 rounded-full bg-muted px-2.5 py-0.5 font-mono text-xs",children:[(0,d.jsx)(I.A,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:q.worktree.split("/").pop()})]}),ak&&(0,d.jsx)(M.Y6,{label:"Copy cd path",children:(0,d.jsx)("button",{onClick:aN,className:"shrink-0 cursor-pointer text-muted-foreground hover:text-foreground",children:am?(0,d.jsx)(ai.A,{className:"size-3.5 text-green-600"}):(0,d.jsx)(aY.A,{className:"size-3.5"})})})]}):(0,d.jsxs)("button",{className:"inline-flex cursor-pointer items-center gap-1 text-xs text-primary hover:underline",onClick:aL,disabled:ab,children:[ab?(0,d.jsx)(B.A,{className:"size-3 animate-spin"}):(0,d.jsx)(I.A,{className:"size-3"}),"Create workspace"]})}),(0,d.jsx)("span",{className:"text-muted-foreground",children:"Stage"}),(0,d.jsxs)(aM.rI,{children:[(0,d.jsx)(aM.ty,{asChild:!0,children:(0,d.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-left hover:bg-muted",children:[a_&&(0,d.jsx)(a_,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("span",{className:"truncate",children:a$?.title||q.column}),(0,d.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,d.jsx)(aM.SQ,{align:"start",children:Y.cZ.map(a=>{let b=Y.G$[a.id];return(0,d.jsxs)(aM._2,{onClick:()=>aF(a.id),children:[b&&(0,d.jsx)(b,{className:"size-3.5 text-muted-foreground"}),a.title,a.id===q.column&&" (current)"]},a.id)})})]}),(0,d.jsx)("span",{className:"text-muted-foreground",children:"Heat"}),(0,d.jsxs)(aM.rI,{children:[(0,d.jsx)(aM.ty,{asChild:!0,children:(0,d.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-left text-sm hover:bg-muted",children:[(0,d.jsx)(a8.w,{priority:q.priority}),(0,d.jsx)("span",{className:"truncate",children:Y.fz.find(a=>a.value===q.priority)?.label??"No priority"}),(0,d.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,d.jsx)(aM.SQ,{align:"start",children:Y.fz.map(a=>(0,d.jsxs)(aM._2,{onClick:()=>aJ(a.value),className:"cursor-pointer",children:[(0,d.jsx)(a8.w,{priority:a.value}),a.label,a.value===q.priority&&" ✓"]},a.value))})]}),(0,d.jsx)("span",{className:"text-muted-foreground",children:"Created"}),(0,d.jsx)("span",{className:"px-2 py-1",children:q.created}),(0,d.jsx)("span",{className:"text-muted-foreground",children:"Status"}),(0,d.jsx)("div",{className:"px-2 py-1",children:(a=(0,Y.eE)(q.status),(0,d.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium ${a.pillBgClass} ${a.pillTextClass}`,children:["running"===q.status?(0,d.jsx)(ba.x,{size:"sm"}):(0,d.jsx)("span",{className:`size-1.5 rounded-full ${a.dotClass}`}),a.label]}))})]})}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Notes"}),"view"===E&&(0,d.jsx)(M.Y6,{label:"Edit notes",children:(0,d.jsx)("button",{onClick:()=>F("edit"),className:"cursor-pointer text-muted-foreground hover:text-foreground",children:(0,d.jsx)(aZ.A,{className:"size-3.5"})})})]}),(0,d.jsx)("div",{children:"view"===E?(0,d.jsx)("div",{onClick:()=>F("edit"),className:"cursor-text rounded-md",children:(0,d.jsx)(r,{content:q.body,slug:i})}):(0,d.jsx)(t,{content:q.body,error:at,saving:av,onSave:aD,onCancel:aE},i)})]})]})}),"git"===J&&(0,d.jsx)(N,{slug:i,onBranchCreated:w})]})]})})]})]})}},4096:(a,b,c)=>{c.d(b,{v:()=>f});var d=c(48249),e=c(14490);function f({provider:a,className:b}){return"anthropic"===a?(0,d.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",className:(0,e.cn)("size-4",b),fill:"none",children:(0,d.jsx)("path",{d:"M5 19 10.2 5h3.6L19 19h-3.1l-1.05-3H9.15L8.1 19H5Zm4.95-5.65h4.1L12 7.7l-2.05 5.65Z",fill:"currentColor"})}):(0,d.jsxs)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",className:(0,e.cn)("size-4",b),fill:"none",children:[(0,d.jsx)("path",{d:"M12 4.4a3.9 3.9 0 0 1 3.38 1.95l1.96-.28a4.95 4.95 0 0 1 1.53 6.8l.76 1.84a4.95 4.95 0 0 1-4.22 6.1l-1.2 1.6a4.95 4.95 0 0 1-7.93-.05l-1.9-.2A4.95 4.95 0 0 1 1.4 15.8l-.98-1.71a4.95 4.95 0 0 1 2.79-6.68l1.05-1.61A4.95 4.95 0 0 1 12 4.4Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,d.jsx)("circle",{cx:"12",cy:"12",r:"2.1",fill:"currentColor"})]})}},77826:(a,b,c)=>{c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/jean-charlesfabre/Documents/Brigade/kanban/src/app/(board)/task/[slug]/page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/jean-charlesfabre/Documents/Brigade/kanban/src/app/(board)/task/[slug]/page.tsx","default")}};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=2362,exports.ids=[2362],exports.modules={819:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("UtensilsCrossed",[["path",{d:"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8",key:"n7qcjb"}],["path",{d:"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7",key:"d0u48b"}],["path",{d:"m2.1 21.8 6.4-6.3",key:"yn04lh"}],["path",{d:"m19 5-7 7",key:"194lzd"}]])},35637:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(61213).A)("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]])},52362:(a,b,c)=>{c.d(b,{$9:()=>o,H3:()=>t,JP:()=>v,N_:()=>u,Nl:()=>m,Q1:()=>l,Vd:()=>n,Xx:()=>q,Y9:()=>A,cw:()=>x,gc:()=>C,iM:()=>B,oc:()=>s,qg:()=>p,yp:()=>w});var d=c(84705),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(80496);let j=new Map;function k(a){return(0,i.Vd)(a)}function l(a,b){j.set(k(b),a)}function m(a){a?j.delete(k(a)):j.clear()}function n(a){return(0,i.Vd)(a)}function o(a,b,c){let d=n(c);return a.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,(a,c,e)=>{if(e.startsWith("http")||e.startsWith("/"))return a;let g=h().join(d,"images",b,e);return f().existsSync(g)?``:a})}function p(a){let b=a.split("\n"),c=0,d=!1;for(let a of b){if(!d){/^#\s+/.test(a)&&(d=!0),c+=a.length+1;continue}let b=/^\*\*[^*]+:\*\*/.test(a),e=""===a.trim();if(!b&&!e)return c;c+=a.length+1}return a.length}function q(a,b){let c=h().basename(a,".md"),e=p(b),f=b.substring(0,e);if(/\*\*Agent status:\*\*/.test(f)||/\*\*Agent name:\*\*/.test(f))throw Error(`[chef-migration] Legacy task headers detected in ${a}. Run "brigade migrate" before starting the app.`);let g=b.match(/^#\s+(.+)$/m),i=g?g[1].trim():c,j=(0,d.Rm)(a),k=f.match(/\*\*Created:\*\*\s*(\S+)/),l=k?k[1].trim():"",m=f.match(/\*\*Last refined:\*\*\s*(\S+)/),n=m?m[1].trim():void 0,o=f.match(/\*\*Branch:\*\*\s*(\S+)/),q=o?o[1].trim():void 0,r=q&&!["—","-","–","none"].includes(q.toLowerCase())?q:void 0,s=f.match(/\*\*Worktree:\*\*\s*(\S+)/),t=s?s[1].trim():void 0,u=t&&!["—","-","–","none"].includes(t.toLowerCase())?t:void 0,v=f.match(/\*\*Priority:\*\*\s*(\S+)/),w=v?v[1].trim().toLowerCase():"none",x="true"===w?"high":"false"===w?"none":["none","low","medium","high","urgent"].includes(w)?w:"none",y=f.match(/\*\*Chef status:\*\*\s*(\S+)/),z=y?y[1].trim():void 0,A=["—","-","–","none"],B="served"===z?"idle":z,C=B&&!A.includes(B.toLowerCase())&&["idle","running","needs_tasting","error"].includes(B)?B:void 0,D=f.match(/\*\*Chef name:\*\*\s*(.+)/),E=D?D[1].trim():void 0,F=E&&!A.includes(E.toLowerCase())?E:void 0,G=b.match(/## Goal\s*\n\s*\n([^\n#]+)/),H=G?G[1].trim():"",I=b.substring(e);return{slug:c,title:i,column:j,created:l,lastRefined:n,branch:r,worktree:u,priority:x,goal:H,status:C,chefName:F,filePath:a,content:b,body:I}}function r(a=new Date){let b=a.getFullYear(),c=String(a.getMonth()+1).padStart(2,"0"),d=String(a.getDate()).padStart(2,"0");return`${b}-${c}-${d}`}function s(a){let b=n(a),c=[],e=new Set,g=new Map,i=0;for(let a of d.cZ)if("served"!==a.id)for(let d of function(a){let b=[];if(!f().existsSync(a))return b;for(let c of f().readdirSync(a)){let d=h().join(a,c),e=f().statSync(d);if(e.isFile()&&c.endsWith(".md"))b.push(q(d,f().readFileSync(d,"utf-8")));else if(e.isDirectory())for(let a of f().readdirSync(d)){if(!a.endsWith(".md"))continue;let c=h().join(d,a);f().statSync(c).isFile()&&b.push(q(c,f().readFileSync(c,"utf-8")))}}return b}(h().join(b,a.directory)))e.has(d.slug)||(e.add(d.slug),c.push(d),g.set(d.slug,d.filePath));let j=h().join(b,"5-served");if(f().existsSync(j)){let a=new Set([r()]);for(let b of f().readdirSync(j)){let d=h().join(j,b);if(!f().statSync(d).isDirectory())continue;let k=a.has(b);for(let a of f().readdirSync(d))if(a.endsWith(".md")&&(i++,k)){let b=h().join(d,a);if(f().statSync(b).isFile()){let a=q(b,f().readFileSync(b,"utf-8"));e.has(a.slug)||(e.add(a.slug),c.push(a),g.set(a.slug,a.filePath))}}}}return{tasks:c,servedTotal:i,slugIndex:g}}function t(a,b){let c=n(b),e=a.endsWith(".md")?a:`${a}.md`,g=a.endsWith(".md")?a.slice(0,-3):a,i=j.get(k(b))??null;if(i){let a=i.get(g);if(a&&f().existsSync(a))return a}for(let a of d.cZ){let b=h().join(c,a.directory);if(!f().existsSync(b))continue;let d=h().join(b,e);if(f().existsSync(d))return d;for(let a of f().readdirSync(b)){let c=h().join(b,a);if(f().statSync(c).isDirectory()){let a=h().join(c,e);if(f().existsSync(a))return a}}}return null}function u(a,b,c){let e=n(c),g=a.endsWith(".md")?a:`${a}.md`,i=d.cZ.find(a=>a.id===b);if("served"===b){let a=r(),b=h().join(e,i.directory,a);return f().existsSync(b)||f().mkdirSync(b,{recursive:!0}),h().join(b,g)}return h().join(e,i.directory,g)}function v(a){return a.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function w(a,b,c,e,f){let g=n(f),i=v(a),j=r(),k=e&&"none"!==e?`
|
|
2
|
-
**Priority:** ${e}`:"",l=c?`
|
|
3
|
-
## User Context
|
|
4
|
-
|
|
5
|
-
${c}
|
|
6
|
-
`:"",m=`# ${a}
|
|
7
|
-
|
|
8
|
-
**Created:** ${j}
|
|
9
|
-
**Last refined:** ${j}
|
|
10
|
-
**Branch:** —${k}
|
|
11
|
-
**Chef status:** idle
|
|
12
|
-
**Chef name:** —
|
|
13
|
-
${l}
|
|
14
|
-
## Refinement History
|
|
15
|
-
|
|
16
|
-
[Log of refinement iterations]
|
|
17
|
-
`,o=d.cZ.find(a=>a.id===b)||d.cZ[0],p=h().join(g,o.directory,`${i}.md`);return{slug:i,filePath:p,content:m}}function x(a,b,c,d){try{let e=t(a,d);if(!e)return!1;let g=f().readFileSync(e,"utf-8"),h=new Date,i=`${r(h)} ${String(h.getHours()).padStart(2,"0")}:${String(h.getMinutes()).padStart(2,"0")}`,j=`
|
|
18
|
-
### ${i} — ${c}
|
|
19
|
-
|
|
20
|
-
${b.trim()}
|
|
21
|
-
`,k=g.match(/^## Plan\s*$/m);if(k){let a=(k.index??0)+k[0].length,b=g.substring(a).match(/\n## (?!#)/);if(b){let c=a+(b.index??0);g=g.substring(0,c)+j+g.substring(c)}else g=g.trimEnd()+j}else g=g.trimEnd()+`
|
|
22
|
-
|
|
23
|
-
## Plan
|
|
24
|
-
${j}`;return f().writeFileSync(e,g,"utf-8"),!0}catch{return!1}}function y(a,b,c,d){let e=RegExp(`\\*\\*${b}:\\*\\*[^\\n]*`);if(e.test(a))return a.replace(e,`**${b}:** ${c}`);for(let e of d){let d=RegExp(`(\\*\\*${e}:\\*\\*[^\\n]*)`);if(d.test(a))return a.replace(d,`$1
|
|
25
|
-
**${b}:** ${c}`)}return a}function z(a,b){return a.replace(RegExp(`\\n\\*\\*${b}:\\*\\*[^\\n]*`),"")}function A(a,b){let c=p(a),d=a.substring(0,c),e=a.substring(c);return void 0!==b.status&&(d=y(d,"Chef status",b.status,["Branch","Last refined","Created"])),void 0!==b.chefName&&(d=null===b.chefName?z(d,"Chef name"):y(d,"Chef name",b.chefName,["Chef status"])),void 0!==b.workflow&&(d=y(d,"Workflow",b.workflow,["Chef name","Chef status","Branch","Last refined","Created"])),void 0!==b.workflowStep&&(d=y(d,"Workflow step",String(b.workflowStep),["Workflow"])),void 0!==b.branch&&(d=y(d,"Branch",b.branch,["Last refined","Created"])),void 0!==b.worktree&&(d=null===b.worktree?z(d,"Worktree"):y(d,"Worktree",b.worktree,["Branch"])),void 0!==b.priority&&(d=null===b.priority?z(d,"Priority"):y(d,"Priority",b.priority,["Branch","Last refined","Created"])),d+e}function B(a,b,c,d){try{let e=c??t(a,d);if(!e)return!1;let g=f().readFileSync(e,"utf-8"),h=A(g,b);return h!==g&&f().writeFileSync(e,h,"utf-8"),!0}catch{return!1}}function C(a,b,c,d,e){try{let g=d??t(a,e);if(!g)return!1;let h=f().readFileSync(g,"utf-8"),i={status:b};"idle"===b?i.chefName=null:c&&(i.chefName=c);let j=A(h,i),k=p(j),l=j.substring(0,k);if(!/\*\*Chef status:\*\*/.test(l))return!1;return j!==h&&f().writeFileSync(g,j,"utf-8"),!0}catch{return!1}}},61213:(a,b,c)=>{c.d(b,{A:()=>h});var d=c(91986);let e=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim();var f={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let g=(0,d.forwardRef)(({color:a="currentColor",size:b=24,strokeWidth:c=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,d.createElement)("svg",{ref:l,...f,width:b,height:b,stroke:a,strokeWidth:g?24*Number(c)/Number(b):c,className:e("lucide",h),...k},[...j.map(([a,b])=>(0,d.createElement)(a,b)),...Array.isArray(i)?i:[i]])),h=(a,b)=>{let c=(0,d.forwardRef)(({className:c,...f},h)=>(0,d.createElement)(g,{ref:h,iconNode:b,className:e(`lucide-${a.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,c),...f}));return c.displayName=`${a}`,c}},84705:(a,b,c)=>{c.d(b,{cZ:()=>g,$Q:()=>l,Rm:()=>h,hZ:()=>k,uC:()=>j,qk:()=>m});var d=c(61213);(0,d.A)("Refrigerator",[["path",{d:"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z",key:"fpq118"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M15 7v6",key:"1nx30x"}]]),(0,d.A)("Slice",[["path",{d:"M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14",key:"1sllp5"}]]);var e=c(35637);(0,d.A)("ConciergeBell",[["path",{d:"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z",key:"1pvr1r"}],["path",{d:"M20 16a8 8 0 1 0-16 0",key:"1pa543"}],["path",{d:"M12 4v4",key:"1bq03y"}],["path",{d:"M10 4h4",key:"1xpv9s"}]]);var f=c(819);e.A,f.A;let g=[{id:"pantry",title:"Pantry",directory:"1-pantry"},{id:"mise-en-place",title:"To Prep",directory:"2-mise-en-place"},{id:"firing",title:"Firing",directory:"3-firing"},{id:"review",title:"Review",directory:"4-review"},{id:"served",title:"Served",directory:"5-served"}];function h(a){for(let b of g)if(a.includes(`/${b.directory}/`))return b.id;return"pantry"}let i=[{value:"none",label:"No priority",numeric:0},{value:"low",label:"Low",numeric:1},{value:"medium",label:"Medium",numeric:2},{value:"high",label:"High",numeric:3},{value:"urgent",label:"Urgent",numeric:4}];function j(a){return i.find(b=>b.value===a)?.numeric??0}function k(a){let b=g.findIndex(b=>b.id===a);return -1===b?0:b+1}let l=[{id:"opus",label:"Opus 4.6",cliModel:"opus",provider:"anthropic",meta:"Powerful"},{id:"sonnet",label:"Sonnet 4.6",cliModel:"sonnet",provider:"anthropic",meta:"Balanced"},{id:"haiku",label:"Haiku 4.5",cliModel:"haiku",provider:"anthropic",meta:"Fast"},{id:"codex-5.3",label:"GPT-5.3-Codex",cliModel:"gpt-5.3-codex",provider:"openai",meta:"Balanced"},{id:"codex-5.2",label:"GPT-5.2-Codex",cliModel:"gpt-5-codex",provider:"openai",meta:"Previous gen"}];function m(a){if(!a)return;let b=l.find(b=>b.id===a);return b?.cliModel}}};
|