@brigade-dev/cli 0.1.2 → 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 +12 -12
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/server/app/(board)/board/page.js +1 -1
- 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 +1 -1
- 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 +2 -2
- package/.next/standalone/.next/server/app/(setup)/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(setup)/setup/page_client-reference-manifest.js +1 -1
- 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 +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -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 +2 -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 +3 -3
- package/.next/standalone/.next/server/app/api/chat/poll/route.js +1 -1
- 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 +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 +1 -1
- 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 +1 -1
- 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 +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_client-reference-manifest.js +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 +1 -1
- 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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- 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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route_client-reference-manifest.js +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 +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 +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route.js +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_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 +13 -27
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -14
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -27
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
- 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 +12 -12
- package/.next/standalone/.next/server/chunks/2065.js +3 -3
- package/.next/standalone/.next/server/chunks/347.js +1 -1
- package/.next/standalone/.next/server/chunks/3544.js +2 -2
- package/.next/standalone/.next/server/chunks/{1853.js → 5198.js} +1 -1
- package/.next/standalone/.next/server/chunks/5704.js +1 -1
- package/.next/standalone/.next/server/chunks/5722.js +1 -0
- package/.next/standalone/.next/server/chunks/6802.js +1 -1
- package/.next/standalone/.next/server/chunks/8031.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/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/static/chunks/1416-76d75f5cdc8064f0.js +5 -0
- package/.next/standalone/.next/static/chunks/3242-340ecc54abc559dc.js +1 -0
- package/.next/standalone/.next/static/chunks/4555-1cc0cadfd257b640.js +5 -0
- package/.next/standalone/.next/static/chunks/{5083-875e22a46dea6150.js → 5083-da5fc913278c9ec9.js} +3 -3
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-d97d7979cfd5798f.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-0703323a4462caf0.js → page-c7b0b0a0327f6fce.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/{page-e5278f44e5936ae3.js → page-771b7f853905319b.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(setup)/{layout-1b51237f7b3ff3ff.js → layout-7eb803c6eff71185.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-dccadc7f0cc15702.js +1 -0
- package/.next/standalone/.next/static/chunks/app/_global-error/{page-1b51237f7b3ff3ff.js → page-7eb803c6eff71185.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/poll/{route-1b51237f7b3ff3ff.js → route-7eb803c6eff71185.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/{route-1b51237f7b3ff3ff.js → route-7eb803c6eff71185.js} +1 -1
- 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-3e5366b71e90a143.js → webpack-010bc8c5cfa5e600.js} +1 -1
- package/.next/standalone/.next/static/css/a0a0423b02496c0c.css +3 -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/package.json +1 -1
- package/bin/brigade.js +8 -10
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/5049.js +0 -1
- package/.next/standalone/.next/server/chunks/542.js +0 -1
- package/.next/standalone/.next/server/chunks/6039.js +0 -1
- package/.next/standalone/.next/server/chunks/944.js +0 -3
- package/.next/standalone/.next/static/chunks/1416-bf500768058c7f99.js +0 -5
- package/.next/standalone/.next/static/chunks/8409-b769c7ca171825cc.js +0 -1
- package/.next/standalone/.next/static/chunks/9747-9c7022a3f430588b.js +0 -5
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-afa17ad02f1a5b72.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-c5245960945c7d7a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-2ffd1120d8289ecd.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-cc8922011a51f165.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/session/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/settings/[[...path]]/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/reset/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/generate-commit-message/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/question-options/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/launch/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/status/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/auto-move/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/test/reset/route-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-e77efc16259e5bd2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-3e702bf1b197ec82.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1b51237f7b3ff3ff.js +0 -1
- package/.next/standalone/.next/static/css/214e23fa1231e12f.css +0 -3
- package/.next/standalone/.next/static/css/e91b8c49739f08d3.css +0 -1
- /package/.next/standalone/.next/static/{XO1LWKVmDXHwIbl35KRwX → TEeaHQlTW3yW085fWMfjB}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{XO1LWKVmDXHwIbl35KRwX → TEeaHQlTW3yW085fWMfjB}/_ssgManifest.js +0 -0
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"/favicon.ico/route": "app/favicon.ico/route.js",
|
|
6
6
|
"/icon.svg/route": "app/icon.svg/route.js",
|
|
7
7
|
"/manifest.json/route": "app/manifest.json/route.js",
|
|
8
|
-
"/api/chat/poll/route": "app/api/chat/poll/route.js",
|
|
9
8
|
"/api/chat/sessions/route": "app/api/chat/sessions/route.js",
|
|
9
|
+
"/api/chat/poll/route": "app/api/chat/poll/route.js",
|
|
10
10
|
"/api/chat/session/route": "app/api/chat/session/route.js",
|
|
11
11
|
"/api/chat/stop/route": "app/api/chat/stop/route.js",
|
|
12
12
|
"/api/repos/[repoId]/route": "app/api/repos/[repoId]/route.js",
|
|
@@ -16,31 +16,31 @@
|
|
|
16
16
|
"/api/repos/pick-folder/route": "app/api/repos/pick-folder/route.js",
|
|
17
17
|
"/api/repos/route": "app/api/repos/route.js",
|
|
18
18
|
"/api/repos/last-used/route": "app/api/repos/last-used/route.js",
|
|
19
|
+
"/api/repos/[repoId]/tasks/[[...path]]/route": "app/api/repos/[repoId]/tasks/[[...path]]/route.js",
|
|
20
|
+
"/api/tasks/[slug]/chat/reset/route": "app/api/tasks/[slug]/chat/reset/route.js",
|
|
19
21
|
"/api/tasks/[slug]/create-branch/route": "app/api/tasks/[slug]/create-branch/route.js",
|
|
20
22
|
"/api/tasks/[slug]/create-pr/route": "app/api/tasks/[slug]/create-pr/route.js",
|
|
21
|
-
"/api/tasks/[slug]/chat/reset/route": "app/api/tasks/[slug]/chat/reset/route.js",
|
|
22
23
|
"/api/tasks/[slug]/data/rename/route": "app/api/tasks/[slug]/data/rename/route.js",
|
|
23
24
|
"/api/tasks/[slug]/chat/route": "app/api/tasks/[slug]/chat/route.js",
|
|
24
|
-
"/api/repos/[repoId]/tasks/[[...path]]/route": "app/api/repos/[repoId]/tasks/[[...path]]/route.js",
|
|
25
|
-
"/api/tasks/[slug]/handoff/review/route": "app/api/tasks/[slug]/handoff/review/route.js",
|
|
26
25
|
"/api/chat/route": "app/api/chat/route.js",
|
|
26
|
+
"/api/tasks/[slug]/handoff/review/route": "app/api/tasks/[slug]/handoff/review/route.js",
|
|
27
27
|
"/api/tasks/[slug]/handoff/route": "app/api/tasks/[slug]/handoff/route.js",
|
|
28
|
+
"/api/tasks/[slug]/merge-pr/route": "app/api/tasks/[slug]/merge-pr/route.js",
|
|
29
|
+
"/api/tasks/[slug]/pr-status/route": "app/api/tasks/[slug]/pr-status/route.js",
|
|
28
30
|
"/api/tasks/[slug]/generate-commit-message/route": "app/api/tasks/[slug]/generate-commit-message/route.js",
|
|
29
31
|
"/api/tasks/[slug]/images/route": "app/api/tasks/[slug]/images/route.js",
|
|
30
|
-
"/api/tasks/[slug]/merge-pr/route": "app/api/tasks/[slug]/merge-pr/route.js",
|
|
31
32
|
"/api/tasks/[slug]/move/route": "app/api/tasks/[slug]/move/route.js",
|
|
32
|
-
"/api/tasks/[slug]/
|
|
33
|
+
"/api/tasks/[slug]/question-options/route": "app/api/tasks/[slug]/question-options/route.js",
|
|
33
34
|
"/api/tasks/[slug]/improve-title/route": "app/api/tasks/[slug]/improve-title/route.js",
|
|
34
35
|
"/api/tasks/[slug]/resolve-conflicts/launch/route": "app/api/tasks/[slug]/resolve-conflicts/launch/route.js",
|
|
35
|
-
"/api/tasks/
|
|
36
|
+
"/api/tasks/pr-check/route": "app/api/tasks/pr-check/route.js",
|
|
36
37
|
"/api/tasks/[slug]/resolve-conflicts/route": "app/api/tasks/[slug]/resolve-conflicts/route.js",
|
|
37
|
-
"/api/tasks/
|
|
38
|
-
"/api/tasks/[slug]/status/route": "app/api/tasks/[slug]/status/route.js",
|
|
38
|
+
"/api/tasks/auto-move/route": "app/api/tasks/auto-move/route.js",
|
|
39
39
|
"/api/test/reset/route": "app/api/test/reset/route.js",
|
|
40
|
-
"/api/tasks/
|
|
41
|
-
"/api/tasks/[slug]/git/route": "app/api/tasks/[slug]/git/route.js",
|
|
40
|
+
"/api/tasks/[slug]/status/route": "app/api/tasks/[slug]/status/route.js",
|
|
42
41
|
"/api/tasks/[slug]/route": "app/api/tasks/[slug]/route.js",
|
|
43
|
-
"/api/tasks/
|
|
42
|
+
"/api/tasks/[slug]/git/route": "app/api/tasks/[slug]/git/route.js",
|
|
43
|
+
"/api/tasks/counts/route": "app/api/tasks/counts/route.js",
|
|
44
44
|
"/api/tasks/route": "app/api/tasks/route.js",
|
|
45
45
|
"/page": "app/page.js",
|
|
46
46
|
"/(board)/board/page": "app/(board)/board/page.js",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
exports.id=2065,exports.ids=[2065],exports.modules={10528:(a,b,c)=>{Promise.resolve().then(c.bind(c,83983))},21377:(a,b,c)=>{"use strict";c.d(b,{Board:()=>ag});var d=c(48249),e=c(67484),f=c(74429),g=c(19099),h=c(32174),i=c(70296),j=c(82310),k=c(2921),l=c(80105),m=c(47856),n=c(27656),o=c(14490),p=c(79296),q=c(22685),r=c(74247),s=c(67605),t=c(82244),u=c(55296),v=c(94281),w=c(25297);function x({...a}){return(0,d.jsx)(v.bL,{...a})}function y({...a}){return(0,d.jsx)(v.ZL,{...a})}function z({className:a,...b}){return(0,d.jsx)(v.hJ,{className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b})}function A({className:a,children:b,...c}){return(0,d.jsxs)(y,{children:[(0,d.jsx)(z,{}),(0,d.jsx)(v.UC,{className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:max-w-lg",a),...c,children:b})]})}function B({className:a,...b}){return(0,d.jsx)("div",{className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",a),...b})}function C({className:a,...b}){return(0,d.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...b})}function D({className:a,...b}){return(0,d.jsx)(v.hE,{className:(0,o.cn)("text-lg font-semibold",a),...b})}function E({className:a,...b}){return(0,d.jsx)(v.VY,{className:(0,o.cn)("text-sm text-muted-foreground",a),...b})}function F({className:a,...b}){return(0,d.jsx)("button",{className:(0,o.cn)((0,w.r)({variant:"destructive"}),"cursor-pointer",a),...b})}function G({className:a,...b}){return(0,d.jsx)("button",{className:(0,o.cn)((0,w.r)({variant:"outline"}),"cursor-pointer",a),...b})}function H({task:a}){let b=j.AH.find(b=>b.statuses.includes(a.status))??j.AH[j.AH.length-1],c=!a.status||"idle"===a.status,e="running"===a.status||"handing_off"===a.status,f=b.label,g=(0,o.cn)("mt-1 flex items-center gap-1.5 min-[1800px]:mt-1.5",c&&"opacity-0 transition-opacity group-hover:opacity-100"),h=(0,o.cn)("inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5","text-[10px] font-medium leading-none min-[1440px]:text-[11px]",b.pillBgClass,b.pillTextClass);return e?(0,d.jsx)("div",{className:g,children:(0,d.jsxs)("span",{className:h,children:[(0,d.jsx)(r.x,{size:"sm"}),(0,d.jsx)("span",{children:f})]})}):(0,d.jsx)("div",{className:g,children:(0,d.jsxs)("span",{className:h,children:[(0,d.jsx)("span",{className:(0,o.cn)("size-1.5 shrink-0 rounded-full",b.dotClass)}),(0,d.jsx)("span",{children:f})]})})}let I=(0,e.memo)(function({task:a,onClick:b,isOverlay:c,onPriorityChange:f,onStatusChange:g,onDelete:h,isTopTasting:k,justServed:l}){let[m,r]=(0,e.useState)(!1),v=(0,e.useCallback)(b=>{f?.(a.slug,b)},[f,a.slug]),w=(0,e.useCallback)(b=>{b!==a.column&&g?.(a.slug,b)},[g,a.slug,a.column]),{attributes:y,listeners:z,setNodeRef:I,transform:J,transition:K,isDragging:L}=(0,i.gl)({id:a.slug,data:{type:"Task",task:a}}),M="high"===a.priority?"hsl(var(--muted-foreground) / 0.8)":"medium"===a.priority?"hsl(var(--muted-foreground) / 0.5)":"low"===a.priority?"hsl(var(--muted-foreground) / 0.25)":void 0,N={transform:n.Ks.Translate.toString(J),transition:K,...M?{borderLeftColor:M}:{}},O=!!(a.worktree||a.branch||a.status&&"idle"!==a.status||a.created),P=a.linesAdded??0,Q=a.linesRemoved??0,R=j.cZ.find(b=>b.id===a.column)?.title??a.column,S=j.G$[a.column],T=j.AH.find(b=>b.statuses.includes(a.status));return(0,d.jsxs)("div",{ref:c?void 0:I,style:c?M?{borderLeftColor:M}:void 0:N,...c?{}:{...z,...y},className:(0,o.cn)("group ticket-rip paper-texture cursor-pointer border border-steel-100 bg-card px-3 py-2 shadow-md transition-[transform,box-shadow] duration-200 hover:-translate-y-0.5 hover:rotate-[0.5deg] hover:shadow-lg min-[1440px]:px-3.5 min-[1440px]:py-2.5 min-[1800px]:px-4 min-[1800px]:py-3","none"!==a.priority&&"border-l-4","urgent"===a.priority&&"border-l-red-400",L&&"opacity-30",c&&"rotate-[2deg] scale-105 shadow-lg",l&&!L&&!c&&"animate-[served-glow_1.5s_ease-out]"),onClick:b,children:[k&&!L&&!c&&(0,d.jsxs)("div",{className:"pointer-events-none absolute inset-0 overflow-hidden",children:[(0,d.jsx)("span",{className:"absolute -right-[6px] -top-[6px] size-8 rounded-full bg-blue-500/[0.08] blur-[5px] animate-[tasting-halo_3s_ease-in-out_infinite]"}),(0,d.jsx)("span",{className:"absolute right-[3px] top-[3px] size-3.5 rounded-full bg-blue-500/[0.16] blur-[1.5px] animate-[tasting-core_3s_ease-in-out_infinite]"})]}),(0,d.jsx)("p",{className:"text-sm font-medium leading-snug text-foreground min-[1440px]:text-[15px] min-[1800px]:text-base",children:a.title}),O&&(0,d.jsx)("div",{className:"mt-1.5 border-t border-dashed border-steel-200 min-[1440px]:mt-2 min-[1800px]:mt-2.5"}),(a.worktree||a.branch)&&(0,d.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-[10px] font-mono text-muted-foreground min-[1440px]:mt-1.5 min-[1440px]:text-[11px]",children:[(0,d.jsx)(p.A,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.worktree?a.worktree.split("/").pop():a.branch}),(P>0||Q>0)&&(0,d.jsxs)("span",{className:"ml-auto flex items-center gap-1 tabular-nums",children:[P>0&&(0,d.jsxs)("span",{className:"text-green-600",children:["+",P]}),Q>0&&(0,d.jsxs)("span",{className:"text-red-600",children:["-",Q]})]})]}),c?a.status&&"idle"!==a.status&&(0,d.jsx)("div",{className:"mt-1 flex items-center gap-1.5 min-[1800px]:mt-1.5",children:(0,d.jsxs)("span",{className:(0,o.cn)("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-[10px] font-medium leading-none min-[1440px]:text-[11px]",T?.pillBgClass,T?.pillTextClass),children:[(0,d.jsx)("span",{className:(0,o.cn)("size-2 shrink-0 rounded-full",T?.dotClass)}),T?.label]})}):(0,d.jsx)(H,{task:a}),(0,d.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-muted-foreground min-[1440px]:mt-2 min-[1800px]:mt-2.5",children:[c?(0,d.jsx)(s.w,{priority:a.priority}):(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(u.Y6,{label:"none"===a.priority?"Set priority":`Priority: ${a.priority}`,children:(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"relative z-10 -m-1 cursor-pointer rounded p-1 transition-all hover:scale-110 hover:bg-muted","aria-label":"none"===a.priority?"Set priority":`Priority: ${a.priority}`,onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:(0,d.jsx)(s.w,{priority:a.priority})})})}),(0,d.jsx)(t.SQ,{align:"start",onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:j.fz.map(b=>(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),v(b.value)},className:"cursor-pointer",children:[(0,d.jsx)(s.w,{priority:b.value}),b.label,b.value===a.priority&&" ✓"]},b.value))})]}),!c&&(0,d.jsx)("span",{className:"opacity-0 transition-opacity group-hover:opacity-100",children:(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(u.Y6,{label:`Status: ${R}`,children:(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"relative z-10 -m-1 cursor-pointer rounded p-1 transition-all hover:scale-110 hover:bg-muted","aria-label":`Status: ${R}`,onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:S?(0,d.jsx)(S,{className:"size-3.5 text-muted-foreground"}):(0,d.jsx)("span",{className:"inline-block size-3.5 rounded-full border border-muted-foreground/40"})})})}),(0,d.jsxs)(t.SQ,{align:"start",onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:[j.cZ.map(b=>{let c=j.G$[b.id];return(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),w(b.id)},className:"cursor-pointer",children:[c&&(0,d.jsx)(c,{className:"size-3.5 text-muted-foreground"}),b.title,b.id===a.column&&" ✓"]},b.id)}),h&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.mB,{}),(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),r(!0)},className:"cursor-pointer text-destructive focus:text-destructive",children:[(0,d.jsx)(q.A,{className:"size-3.5"}),"Trash"]})]})]})]})}),a.created&&(0,d.jsx)("span",{className:"ml-auto font-mono text-[10px] min-[1440px]:text-[11px]",children:function(a){let b=a.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!b)return`Created ${a}`;let c=Number(b[1]),d=Number(b[2]),e=Number(b[3]),f=new Date(c,d-1,e);if(Number.isNaN(f.getTime())||f.getFullYear()!==c||f.getMonth()!==d-1||f.getDate()!==e)return`Created ${a}`;let g=f.toLocaleString("en-US",{month:"short"});return`Created ${g} ${e}`}(a.created)})]}),"running"===a.status&&!c&&!L&&(0,d.jsx)("div",{className:"cooking-bar"}),"handing_off"===a.status&&!c&&!L&&(0,d.jsx)("div",{className:"handoff-bar"}),(0,d.jsx)(x,{open:m,onOpenChange:r,children:(0,d.jsxs)(A,{onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)(B,{children:[(0,d.jsx)(D,{children:"Delete task"}),(0,d.jsxs)(E,{children:["This will permanently delete “",a.title,"”. This action cannot be undone."]})]}),(0,d.jsxs)(C,{children:[(0,d.jsx)(G,{onClick:()=>r(!1),children:"Cancel"}),(0,d.jsx)(F,{onClick:()=>{r(!1),h?.(a.slug)},children:"Delete"})]})]})})]})},(a,b)=>a.task.slug===b.task.slug&&a.task.status===b.task.status&&a.task.priority===b.task.priority&&a.task.column===b.task.column&&a.task.title===b.task.title&&a.task.branch===b.task.branch&&a.task.worktree===b.task.worktree&&a.task.linesAdded===b.task.linesAdded&&a.task.linesRemoved===b.task.linesRemoved&&a.task.goal===b.task.goal&&a.isOverlay===b.isOverlay&&a.onDelete===b.onDelete&&a.isTopTasting===b.isTopTasting&&a.justServed===b.justServed);var J=c(8806);let K=(0,e.memo)(function({column:a,tasks:b,onCardClick:c,onPriorityChange:f,onStatusChange:g,onAddCard:k,archiveCount:l,onDelete:m,needsTastingTopSlug:n,justServedSlug:p}){let q=j.G$[a.id],{setNodeRef:r,isOver:s}=(0,h.zM)({id:a.id}),t=(0,e.useMemo)(()=>b.map(a=>a.slug),[b]),u="served"===a.id&&null!=p,v=b.map(a=>(0,d.jsx)(I,{task:a,onClick:()=>c(a.slug),onPriorityChange:f,onStatusChange:g,onDelete:m,isTopTasting:a.slug===n,justServed:a.slug===p},a.slug));return(0,d.jsxs)("div",{className:(0,o.cn)("group/column flex min-w-[220px] max-w-[280px] flex-1 basis-0 flex-col border-t-2 border-transparent pt-0 transition-colors min-[1800px]:max-w-[360px]",s&&"border-t-primary"),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 pb-1 pt-2.5 min-[1440px]:px-3.5 min-[1800px]:px-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[q&&(0,d.jsx)(q,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("h2",{className:"text-sm font-black uppercase tracking-tight text-foreground min-[1800px]:text-[15px]",children:a.title}),null!=l&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"today"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("span",{className:"relative text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:(0,o.cn)("inline-block",u&&"animate-[served-count-bounce_0.4s_ease-out_0.1s]"),children:b.length}),u&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-2 text-[11px] font-bold text-green-400 animate-[served-float-up_1.2s_ease-out_forwards]",children:"+1"})]}),k&&(0,d.jsx)("button",{onClick:k,className:"flex cursor-pointer items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,d.jsx)(J.A,{className:"size-4"})})]})]}),(0,d.jsxs)("div",{ref:r,className:"flex min-h-[60px] flex-1 flex-col gap-1.5 overflow-y-auto px-1.5 pb-1.5 min-[1440px]:gap-2 min-[1440px]:px-2 min-[1440px]:pb-2 min-[1800px]:gap-2.5",children:[(0,d.jsx)(i.gB,{items:t,strategy:i._G,children:v}),null!=l&&l>0&&(0,d.jsxs)("div",{className:"px-2 py-1.5 text-xs text-muted-foreground text-center",children:["+ ",l," more in archive"]}),k&&(0,d.jsx)("div",{className:"pb-1.5 pt-1",children:(0,d.jsx)("button",{type:"button","aria-label":`Create task in ${a.title}`,onClick:k,className:"flex w-full items-center justify-center rounded-md border border-dashed border-border bg-background py-1.5 text-muted-foreground opacity-0 transition-all duration-150 hover:bg-accent hover:text-foreground group-hover/column:opacity-100 group-focus-within/column:opacity-100",children:(0,d.jsx)(J.A,{className:"size-4"})})})]})]})},(a,b)=>a.column.id===b.column.id&&a.tasks===b.tasks&&a.archiveCount===b.archiveCount&&a.onCardClick===b.onCardClick&&a.onPriorityChange===b.onPriorityChange&&a.onStatusChange===b.onStatusChange&&a.onDelete===b.onDelete&&a.needsTastingTopSlug===b.needsTastingTopSlug&&a.justServedSlug===b.justServedSlug);var L=c(38393),M=c(88877),N=c(10849),O=c(104),P=c(38534),Q=c(56585),R=c(66450),S=c(16442),T=c(20468),U=c(59576),V=c(15065),W=c(44920);function X(a){let b=a.replace(/\s+/g," ").trim();if(!b||!(b=b.replace(/^[-*•]+\s+/,"").replace(/^\d+[.)]\s+/,"").replace(/^["'`([{]+/,"").replace(/^[^a-z0-9]+/i,"").replace(/[.?!,:;]+$/g,"").trim())||!/[a-z0-9]/i.test(b))return null;if(b.length>80){let a=b.slice(0,80);b=a.replace(/\s+\S*$/,"").trim()||a.trim()}return b||null}let Y=new Set(["image/png","image/jpeg","image/gif","image/webp"]),Z=j.cZ.filter(a=>"served"!==a.id);function $({open:a,onOpenChange:b,onCreate:c,defaultColumn:f,error:g,isCreating:h}){let i,[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(""),[p,q]=(0,e.useState)("none"),[r,v]=(0,e.useState)(f??"pantry"),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)([]),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(j.xj),[H,I]=(0,e.useState)(j.xj),J=(0,e.useRef)(null),K=(0,e.useRef)(null),$=(0,e.useMemo)(()=>(function(a,b,c){let d=a.trim();if(/[a-z0-9]/i.test(d))return d;let e=function(a){let b=a.replace(/\r\n/g,"\n").trim();if(!b)return null;let c=b.split(/\n+/).map(a=>X(a)).filter(a=>!!a);return c.length>0?c[0]:X(b.split(/(?<=[.!?])\s+/)[0]??"")}(b);return e||(c?"Order from screenshot":null)})(k,m,z.length>0),[k,m,z.length]),_=!!$&&!h,aa=j.fz.find(a=>a.value===p)??j.fz[0],ab=(0,e.useCallback)(a=>{let b=(0,j.Ou)(a);G(b),I(b)},[]),ac=(0,e.useCallback)(a=>{C(null);let b=Array.from(a);for(let a of b){if(!Y.has(a.type))return void C("Only image files (PNG, JPG, GIF, WebP) are allowed");if(a.size>5242880)return void C("File must be under 5 MB")}A(a=>a.length+b.length>5?(C("Maximum 5 images"),a):[...a,...b.map(a=>({file:a,previewUrl:URL.createObjectURL(a)}))])},[]),ad=(0,e.useCallback)(a=>{A(b=>(URL.revokeObjectURL(b[a].previewUrl),b.filter((b,c)=>c!==a))),C(null)},[]),ae=(0,e.useCallback)(a=>{let b=Array.from(a.clipboardData.files).filter(a=>Y.has(a.type));b.length>0&&(a.preventDefault(),ac(b))},[ac]),af=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!0)},[]),ag=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!1)},[]),ah=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!1),a.dataTransfer.files.length>0&&ac(a.dataTransfer.files)},[ac]),ai=(0,e.useCallback)(a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&_&&(a.preventDefault(),K.current?.requestSubmit())},[_]);return(0,d.jsx)(L.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(L.Cf,{className:"sm:max-w-3xl p-0 gap-0 paper-texture overflow-hidden",children:[(0,d.jsx)(L.L3,{className:"sr-only",children:"Create order"}),(0,d.jsxs)("form",{ref:K,onSubmit:a=>{if(a.preventDefault(),!$)return;let b=k.trim(),d=b.length>0&&!(0,W.p)(b);c($,m.trim()||void 0,"none"!==p?p:void 0,z.length>0?z.map(a=>a.file):void 0,H,d,r,x)},onPaste:ae,className:"px-6 pt-5 pb-5",children:[(0,d.jsx)(M.p,{autoFocus:!0,placeholder:"New order",value:k,onChange:a=>l(a.target.value),className:"h-11 border-0 px-0 text-xl md:text-xl font-semibold text-black placeholder:text-muted-foreground shadow-none focus-visible:ring-0"}),(0,d.jsxs)("div",{className:(0,o.cn)("mt-3 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",D&&"ring-2 ring-primary ring-inset"),onDragOver:af,onDragLeave:ag,onDrop:ah,children:[(0,d.jsx)("input",{ref:J,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&ac(a.target.files),a.target.value=""}}),z.length>0&&(0,d.jsxs)("div",{className:"flex gap-2 px-4 pt-3 flex-wrap",children:[z.map((a,b)=>(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("img",{src:a.previewUrl,alt:a.file.name,className:"size-14 rounded border object-cover"}),(0,d.jsx)("button",{type:"button",onClick:()=>ad(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)(O.A,{className:"size-3"})})]},b)),z.length<5&&(0,d.jsx)("button",{type:"button",onClick:()=>J.current?.click(),className:"flex size-14 items-center justify-center rounded border-2 border-dashed border-border text-muted-foreground hover:border-muted-foreground/50 cursor-pointer transition-colors",children:(0,d.jsx)(P.A,{className:"size-4"})})]}),(0,d.jsx)("textarea",{className:"w-full resize-none bg-transparent px-5 pt-4 pb-4 text-sm outline-none placeholder:text-muted-foreground",rows:4,placeholder:"What do you want to work on? (Cmd+Enter to start)",value:m,onChange:a=>n(a.target.value),onKeyDown:ai,disabled:h}),(0,d.jsx)("div",{className:"mx-4 border-t border-dashed border-steel-200"}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 pb-3",children:[(0,d.jsx)(u.Y6,{label:"Attach image",children:(0,d.jsx)(w.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>J.current?.click(),disabled:h,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(Q.A,{className:"size-4"})})}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(N.B,{value:H,onChange:I,disabled:h,defaultModel:F,onDefaultModelChange:ab}),(0,d.jsx)(w.$,{type:"submit",size:"icon",disabled:!_,className:"shrink-0 cursor-pointer",children:h?(0,d.jsx)(R.A,{className:"size-4 animate-spin"}):(0,d.jsx)(S.A,{className:"size-4"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2.5 px-0.5",children:[(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer",children:[(0,d.jsx)(s.w,{priority:p}),aa.label,(0,d.jsx)(T.A,{className:"size-3.5 text-muted-foreground"})]})}),(0,d.jsx)(t.SQ,{align:"start",children:j.fz.map(a=>(0,d.jsxs)(t._2,{onSelect:()=>q(a.value),className:"gap-2",children:[(0,d.jsx)(s.w,{priority:a.value}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),a.value===p&&(0,d.jsx)(U.A,{className:"size-3.5 text-primary"})]},a.value))})]}),(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer",children:[(i=j.G$[r])?(0,d.jsx)(i,{className:"size-3.5"}):null,Z.find(a=>a.id===r)?.title??"Stage",(0,d.jsx)(T.A,{className:"size-3.5 text-muted-foreground"})]})}),(0,d.jsx)(t.SQ,{align:"start",children:Z.map(a=>{let b=j.G$[a.id];return(0,d.jsxs)(t._2,{onSelect:()=>v(a.id),className:"gap-2",children:[b&&(0,d.jsx)(b,{className:"size-3.5"}),(0,d.jsx)("span",{className:"flex-1",children:a.title}),a.id===r&&(0,d.jsx)(U.A,{className:"size-3.5 text-primary"})]},a.id)})})]}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer select-none",children:[(0,d.jsx)("span",{className:(0,o.cn)("flex size-3.5 items-center justify-center rounded-[3px] border transition-colors",x?"border-blue-600 bg-blue-600 text-white":"border-muted-foreground/40 bg-background"),children:x&&(0,d.jsx)(U.A,{className:"size-2.5",strokeWidth:3})}),(0,d.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"sr-only"}),(0,d.jsx)(V.A,{className:"size-3.5"}),"worktree"]})]}),B&&(0,d.jsx)("p",{className:"mt-3 text-sm text-destructive",children:B}),g&&(0,d.jsx)("p",{className:"mt-2 text-sm text-destructive",children:g})]})]})})}var _=c(53128),aa=c(54224),ab=c(37636);async function ac(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}let ad=new Set(j.cZ.map(a=>a.id)),ae=a=>{let b=(0,h.TT)(a);return b.length>0?b:(0,h.y$)(a)},af={sideEffects:(0,h.WB)({styles:{active:{opacity:"0.4"}}}),duration:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)"};function ag({repoName:a}){let b=(0,g.useParams)(),c=(0,m.NK)(b),n=(0,g.useRouter)(),{tasks:o,loading:p,servedTotal:q,fetchTasks:r,moveTask:s,createTask:t,deleteTask:u}=(0,k.s)(c),{activeSessions:v}=(0,l.a)(),[w,x]=(0,e.useState)([]),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),C=(0,e.useRef)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)("pantry"),H=function(a){if(!a)return null;let b=a.trim();if(!b)return null;let c=b.toLowerCase().endsWith("s")?"'":"'s";return`${b}${c} kitchen`}(a),{addToast:J}=(0,aa.d)(),L=(0,e.useMemo)(()=>(0,m.Yg)(c),[c]),M=(0,e.useCallback)(a=>`${L}${a}`,[L]),N=(0,e.useCallback)(a=>c?`/r/${encodeURIComponent(c)}/task/${encodeURIComponent(a)}`:`/task/${encodeURIComponent(a)}`,[c]);(0,e.useRef)(v.length),(0,e.useRef)(v.length).current=v.length;let O=(0,e.useMemo)(()=>w.some(a=>a.branch),[w]);(0,e.useRef)(O).current=O,v.length;let P=(0,h.FR)((0,h.MS)(h.AN,{activationConstraint:{distance:8}})),Q=(0,e.useMemo)(()=>{let a=w.filter(a=>("needs_tasting"===a.status||"error"===a.status)&&"served"!==a.column).sort((a,b)=>{let c=("error"!==a.status)-("error"!==b.status);if(0!==c)return c;let d=(0,j.hZ)(b.column)-(0,j.hZ)(a.column);if(0!==d)return d;let e=(0,j.uC)(b.priority)-(0,j.uC)(a.priority);return 0!==e?e:(b.created||"").localeCompare(a.created||"")});return a[0]?.slug??null},[w]),R=w.find(a=>a.slug===y)||null,S=(0,e.useMemo)(()=>{let a={pantry:[],"mise-en-place":[],firing:[],review:[],served:[]};for(let b of w)a[b.column]&&a[b.column].push(b);let b=a=>"running"===a?0:"needs_tasting"===a||"error"===a?1:2;for(let c of Object.keys(a))a[c].sort((a,c)=>{let d=(0,j.uC)(c.priority)-(0,j.uC)(a.priority);if(0!==d)return d;let e=b(a.status)-b(c.status);return 0!==e?e:(c.created||"").localeCompare(a.created||"")});return a},[w]),T=(0,e.useCallback)(a=>{z(a.active.id)},[]),U=(0,e.useCallback)(a=>{let{active:b,over:c}=a;if(!c)return;let d=b.id,e=c.id;if(d===e)return;let f=c.data.current?.type==="Task",g=ad.has(e);x(a=>{let b=a.findIndex(a=>a.slug===d);if(-1===b)return a;if(f){let c=a.findIndex(a=>a.slug===e);if(-1===c)return a;let d=[...a],f={...d[b]},g=d[c];return f.column!==g.column&&(f.column=g.column,d[b]=f),(0,i.be)(d,b,c)}if(g){let c=a[b];if(c.column===e)return a;let d=[...a];return d[b]={...c,column:e},d}return a})},[]),V=(0,e.useCallback)(async a=>{z(null);let{over:b}=a;if(!b||!y)return;let c=w.find(a=>a.slug===y),d=o.find(a=>a.slug===y);c&&d&&c.column!==d.column&&(await s(y,c.column),"served"===c.column&&(C.current&&clearTimeout(C.current),B(y),C.current=setTimeout(()=>{B(null),C.current=null},1500)))},[y,w,o,s]),W=(0,e.useCallback)(async(a,b)=>{x(c=>c.map(c=>c.slug===a?{...c,priority:b}:c));try{(await fetch(M(`/tasks/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})).ok||r()}catch{r()}},[r]),X=(0,e.useCallback)(async(a,b)=>{x(c=>c.map(c=>c.slug===a?{...c,column:b}:c)),"served"===b&&(C.current&&clearTimeout(C.current),B(a),C.current=setTimeout(()=>{B(null),C.current=null},1500));try{(await fetch(M(`/tasks/${a}/move`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:b})})).ok||r()}catch{r()}},[r]),Y=(0,e.useRef)(w);Y.current=w;let Z=(0,e.useCallback)(async a=>{let b=Y.current.find(b=>b.slug===a);x(b=>b.filter(b=>b.slug!==a)),await u(a),J(b?`"${b.title}" deleted`:"Task deleted","success")},[u,J]),ag=(0,e.useCallback)(a=>{n.push(N(a))},[n]),ah=(0,e.useCallback)(()=>j.xj,[]),[ai,aj]=(0,e.useState)(null),[ak,al]=(0,e.useState)(!1),am=(0,e.useCallback)(async(a,b,c,d,e,f,g,h)=>{aj(null),al(!0);try{let i=g??F,j=await t(a,i,b,c,h);if(!j.ok)return void aj(j.error);let k=j.slug,l=[];if(d&&d.length>0){let a=(await Promise.allSettled(d.map(async a=>{let b=new FormData;b.append("file",a);let c=await ac(M(`/tasks/${k}/images`),{method:"POST",body:b},15e3);if(!c.ok)return null;let d=await c.json();return{filename:"string"==typeof d.filename?d.filename:null,markdown:"string"==typeof d.markdown?d.markdown:null}}))).flatMap(a=>"fulfilled"===a.status&&a.value?.markdown?[a.value]:[]),c=a.map(a=>a.markdown);if(l=a.flatMap(a=>a.filename?[a.filename]:[]),c.length>0)try{let a=`## Reference Images
|
|
1
|
+
exports.id=2065,exports.ids=[2065],exports.modules={5372:(a,b,c)=>{"use strict";c.d(b,{Board:()=>aj});var d=c(48249),e=c(67484),f=c(74429),g=c(19099),h=c(32174),i=c(70296),j=c(82310),k=c(2921),l=c(80105),m=c(47856),n=c(27656),o=c(14490),p=c(79296),q=c(22685),r=c(74247),s=c(67605),t=c(82244),u=c(55296),v=c(94281),w=c(25297);function x({...a}){return(0,d.jsx)(v.bL,{...a})}function y({...a}){return(0,d.jsx)(v.ZL,{...a})}function z({className:a,...b}){return(0,d.jsx)(v.hJ,{className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...b})}function A({className:a,children:b,...c}){return(0,d.jsxs)(y,{children:[(0,d.jsx)(z,{}),(0,d.jsx)(v.UC,{className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:max-w-lg",a),...c,children:b})]})}function B({className:a,...b}){return(0,d.jsx)("div",{className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",a),...b})}function C({className:a,...b}){return(0,d.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",a),...b})}function D({className:a,...b}){return(0,d.jsx)(v.hE,{className:(0,o.cn)("text-lg font-semibold",a),...b})}function E({className:a,...b}){return(0,d.jsx)(v.VY,{className:(0,o.cn)("text-sm text-muted-foreground",a),...b})}function F({className:a,...b}){return(0,d.jsx)("button",{className:(0,o.cn)((0,w.r)({variant:"destructive"}),"cursor-pointer",a),...b})}function G({className:a,...b}){return(0,d.jsx)("button",{className:(0,o.cn)((0,w.r)({variant:"outline"}),"cursor-pointer",a),...b})}function H({task:a}){let b=j.AH.find(b=>b.statuses.includes(a.status))??j.AH[j.AH.length-1],c=!a.status||"idle"===a.status,e="running"===a.status||"handing_off"===a.status,f=b.label,g=(0,o.cn)("mt-1 flex items-center gap-1.5 min-[1800px]:mt-1.5",c&&"opacity-0 transition-opacity group-hover:opacity-100"),h=(0,o.cn)("inline-flex items-center gap-1.5 rounded-md border px-2 py-0.5","text-[10px] font-medium leading-none min-[1440px]:text-[11px]",b.pillBgClass,b.pillTextClass);return e?(0,d.jsx)("div",{className:g,children:(0,d.jsxs)("span",{className:h,children:[(0,d.jsx)(r.x,{size:"sm"}),(0,d.jsx)("span",{children:f})]})}):(0,d.jsx)("div",{className:g,children:(0,d.jsxs)("span",{className:h,children:[(0,d.jsx)("span",{className:(0,o.cn)("size-1.5 shrink-0 rounded-full",b.dotClass)}),(0,d.jsx)("span",{children:f})]})})}let I=(0,e.memo)(function({task:a,onClick:b,isOverlay:c,onPriorityChange:f,onStatusChange:g,onDelete:h,isTopTasting:k,justServed:l}){let[m,r]=(0,e.useState)(!1),v=(0,e.useCallback)(b=>{f?.(a.slug,b)},[f,a.slug]),w=(0,e.useCallback)(b=>{b!==a.column&&g?.(a.slug,b)},[g,a.slug,a.column]),{attributes:y,listeners:z,setNodeRef:I,transform:J,transition:K,isDragging:L}=(0,i.gl)({id:a.slug,data:{type:"Task",task:a}}),M="high"===a.priority?"hsl(var(--muted-foreground) / 0.8)":"medium"===a.priority?"hsl(var(--muted-foreground) / 0.5)":"low"===a.priority?"hsl(var(--muted-foreground) / 0.25)":void 0,N={transform:n.Ks.Translate.toString(J),transition:K,...M?{borderLeftColor:M}:{}},O=!!(a.worktree||a.branch||a.status&&"idle"!==a.status||a.created),P=a.linesAdded??0,Q=a.linesRemoved??0,R=j.cZ.find(b=>b.id===a.column)?.title??a.column,S=j.G$[a.column],T=j.AH.find(b=>b.statuses.includes(a.status));return(0,d.jsxs)("div",{ref:c?void 0:I,style:c?M?{borderLeftColor:M}:void 0:N,...c?{}:{...z,...y},className:(0,o.cn)("group ticket-rip paper-texture cursor-pointer border border-steel-100 bg-card px-3 py-2 shadow-md transition-[transform,box-shadow] duration-200 hover:-translate-y-0.5 hover:rotate-[0.5deg] hover:shadow-lg min-[1440px]:px-3.5 min-[1440px]:py-2.5 min-[1800px]:px-4 min-[1800px]:py-3","none"!==a.priority&&"border-l-4","urgent"===a.priority&&"border-l-red-400",L&&"opacity-30",c&&"rotate-[2deg] scale-105 shadow-lg",l&&!L&&!c&&"animate-[served-glow_1.5s_ease-out]"),onClick:b,children:[k&&!L&&!c&&(0,d.jsxs)("div",{className:"pointer-events-none absolute inset-0 overflow-hidden",children:[(0,d.jsx)("span",{className:"absolute -right-[6px] -top-[6px] size-8 rounded-full bg-blue-500/[0.08] blur-[5px] animate-[tasting-halo_3s_ease-in-out_infinite]"}),(0,d.jsx)("span",{className:"absolute right-[3px] top-[3px] size-3.5 rounded-full bg-blue-500/[0.16] blur-[1.5px] animate-[tasting-core_3s_ease-in-out_infinite]"})]}),(0,d.jsx)("p",{className:"text-sm font-medium leading-snug text-foreground min-[1440px]:text-[15px] min-[1800px]:text-base",children:a.title}),O&&(0,d.jsx)("div",{className:"mt-1.5 border-t border-dashed border-steel-200 min-[1440px]:mt-2 min-[1800px]:mt-2.5"}),(a.worktree||a.branch)&&(0,d.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-[10px] font-mono text-muted-foreground min-[1440px]:mt-1.5 min-[1440px]:text-[11px]",children:[(0,d.jsx)(p.A,{className:"size-3 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.worktree?a.worktree.split("/").pop():a.branch}),(P>0||Q>0)&&(0,d.jsxs)("span",{className:"ml-auto flex items-center gap-1 tabular-nums",children:[P>0&&(0,d.jsxs)("span",{className:"text-green-600",children:["+",P]}),Q>0&&(0,d.jsxs)("span",{className:"text-red-600",children:["-",Q]})]})]}),c?a.status&&"idle"!==a.status&&(0,d.jsx)("div",{className:"mt-1 flex items-center gap-1.5 min-[1800px]:mt-1.5",children:(0,d.jsxs)("span",{className:(0,o.cn)("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-[10px] font-medium leading-none min-[1440px]:text-[11px]",T?.pillBgClass,T?.pillTextClass),children:[(0,d.jsx)("span",{className:(0,o.cn)("size-2 shrink-0 rounded-full",T?.dotClass)}),T?.label]})}):(0,d.jsx)(H,{task:a}),(0,d.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-muted-foreground min-[1440px]:mt-2 min-[1800px]:mt-2.5",children:[c?(0,d.jsx)(s.w,{priority:a.priority}):(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(u.Y6,{label:"none"===a.priority?"Set priority":`Priority: ${a.priority}`,children:(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"relative z-10 -m-1 cursor-pointer rounded p-1 transition-all hover:scale-110 hover:bg-muted","aria-label":"none"===a.priority?"Set priority":`Priority: ${a.priority}`,onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:(0,d.jsx)(s.w,{priority:a.priority})})})}),(0,d.jsx)(t.SQ,{align:"start",onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:j.fz.map(b=>(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),v(b.value)},className:"cursor-pointer",children:[(0,d.jsx)(s.w,{priority:b.value}),b.label,b.value===a.priority&&" ✓"]},b.value))})]}),!c&&(0,d.jsx)("span",{className:"opacity-0 transition-opacity group-hover:opacity-100",children:(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(u.Y6,{label:`Status: ${R}`,children:(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"relative z-10 -m-1 cursor-pointer rounded p-1 transition-all hover:scale-110 hover:bg-muted","aria-label":`Status: ${R}`,onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:S?(0,d.jsx)(S,{className:"size-3.5 text-muted-foreground"}):(0,d.jsx)("span",{className:"inline-block size-3.5 rounded-full border border-muted-foreground/40"})})})}),(0,d.jsxs)(t.SQ,{align:"start",onClick:a=>a.stopPropagation(),onPointerDown:a=>a.stopPropagation(),children:[j.cZ.map(b=>{let c=j.G$[b.id];return(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),w(b.id)},className:"cursor-pointer",children:[c&&(0,d.jsx)(c,{className:"size-3.5 text-muted-foreground"}),b.title,b.id===a.column&&" ✓"]},b.id)}),h&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.mB,{}),(0,d.jsxs)(t._2,{onSelect:a=>{a.stopPropagation(),r(!0)},className:"cursor-pointer text-destructive focus:text-destructive",children:[(0,d.jsx)(q.A,{className:"size-3.5"}),"Trash"]})]})]})]})}),a.created&&(0,d.jsx)("span",{className:"ml-auto font-mono text-[10px] min-[1440px]:text-[11px]",children:function(a){let b=a.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!b)return`Created ${a}`;let c=Number(b[1]),d=Number(b[2]),e=Number(b[3]),f=new Date(c,d-1,e);if(Number.isNaN(f.getTime())||f.getFullYear()!==c||f.getMonth()!==d-1||f.getDate()!==e)return`Created ${a}`;let g=f.toLocaleString("en-US",{month:"short"});return`Created ${g} ${e}`}(a.created)})]}),"running"===a.status&&!c&&!L&&(0,d.jsx)("div",{className:"cooking-bar"}),"handing_off"===a.status&&!c&&!L&&(0,d.jsx)("div",{className:"handoff-bar"}),(0,d.jsx)(x,{open:m,onOpenChange:r,children:(0,d.jsxs)(A,{onClick:a=>a.stopPropagation(),children:[(0,d.jsxs)(B,{children:[(0,d.jsx)(D,{children:"Delete task"}),(0,d.jsxs)(E,{children:["This will permanently delete “",a.title,"”. This action cannot be undone."]})]}),(0,d.jsxs)(C,{children:[(0,d.jsx)(G,{onClick:()=>r(!1),children:"Cancel"}),(0,d.jsx)(F,{onClick:()=>{r(!1),h?.(a.slug)},children:"Delete"})]})]})})]})},(a,b)=>a.task.slug===b.task.slug&&a.task.status===b.task.status&&a.task.priority===b.task.priority&&a.task.column===b.task.column&&a.task.title===b.task.title&&a.task.branch===b.task.branch&&a.task.worktree===b.task.worktree&&a.task.linesAdded===b.task.linesAdded&&a.task.linesRemoved===b.task.linesRemoved&&a.task.goal===b.task.goal&&a.isOverlay===b.isOverlay&&a.onDelete===b.onDelete&&a.isTopTasting===b.isTopTasting&&a.justServed===b.justServed);var J=c(8806);let K=(0,e.memo)(function({column:a,tasks:b,onCardClick:c,onPriorityChange:f,onStatusChange:g,onAddCard:k,archiveCount:l,onDelete:m,needsTastingTopSlug:n,justServedSlug:p}){let q=j.G$[a.id],{setNodeRef:r,isOver:s}=(0,h.zM)({id:a.id}),t=(0,e.useMemo)(()=>b.map(a=>a.slug),[b]),u="served"===a.id&&null!=p,v=b.map(a=>(0,d.jsx)(I,{task:a,onClick:()=>c(a.slug),onPriorityChange:f,onStatusChange:g,onDelete:m,isTopTasting:a.slug===n,justServed:a.slug===p},a.slug));return(0,d.jsxs)("div",{className:(0,o.cn)("group/column flex min-w-[220px] max-w-[280px] flex-1 basis-0 flex-col border-t-2 border-transparent pt-0 transition-colors min-[1800px]:max-w-[360px]",s&&"border-t-primary"),children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-3 pb-1 pt-2.5 min-[1440px]:px-3.5 min-[1800px]:px-4",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[q&&(0,d.jsx)(q,{className:"size-3.5 text-muted-foreground"}),(0,d.jsx)("h2",{className:"text-sm font-black uppercase tracking-tight text-foreground min-[1800px]:text-[15px]",children:a.title}),null!=l&&(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"today"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsxs)("span",{className:"relative text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:(0,o.cn)("inline-block",u&&"animate-[served-count-bounce_0.4s_ease-out_0.1s]"),children:b.length}),u&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-2 text-[11px] font-bold text-green-400 animate-[served-float-up_1.2s_ease-out_forwards]",children:"+1"})]}),k&&(0,d.jsx)("button",{onClick:k,className:"flex cursor-pointer items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",children:(0,d.jsx)(J.A,{className:"size-4"})})]})]}),(0,d.jsxs)("div",{ref:r,className:"flex min-h-[60px] flex-1 flex-col gap-1.5 overflow-y-auto px-1.5 pb-1.5 min-[1440px]:gap-2 min-[1440px]:px-2 min-[1440px]:pb-2 min-[1800px]:gap-2.5",children:[(0,d.jsx)(i.gB,{items:t,strategy:i._G,children:v}),null!=l&&l>0&&(0,d.jsxs)("div",{className:"px-2 py-1.5 text-xs text-muted-foreground text-center",children:["+ ",l," more in archive"]}),k&&(0,d.jsx)("div",{className:"pb-1.5 pt-1",children:(0,d.jsx)("button",{type:"button","aria-label":`Create task in ${a.title}`,onClick:k,className:"flex w-full items-center justify-center rounded-md border border-dashed border-border bg-background py-1.5 text-muted-foreground opacity-0 transition-all duration-150 hover:bg-accent hover:text-foreground group-hover/column:opacity-100 group-focus-within/column:opacity-100",children:(0,d.jsx)(J.A,{className:"size-4"})})})]})]})},(a,b)=>a.column.id===b.column.id&&a.tasks===b.tasks&&a.archiveCount===b.archiveCount&&a.onCardClick===b.onCardClick&&a.onPriorityChange===b.onPriorityChange&&a.onStatusChange===b.onStatusChange&&a.onDelete===b.onDelete&&a.needsTastingTopSlug===b.needsTastingTopSlug&&a.justServedSlug===b.justServedSlug);var L=c(38393);function M({className:a,type:b,...c}){return(0,d.jsx)("input",{type:b,"data-slot":"input",className:(0,o.cn)("flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-heat-200 selection:text-gray-900 file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",a),...c})}var N=c(10849),O=c(104),P=c(38534),Q=c(56585),R=c(66450),S=c(16442),T=c(20468),U=c(59576),V=c(15065),W=c(44920);function X(a){let b=a.replace(/\s+/g," ").trim();if(!b||!(b=b.replace(/^[-*•]+\s+/,"").replace(/^\d+[.)]\s+/,"").replace(/^["'`([{]+/,"").replace(/^[^a-z0-9]+/i,"").replace(/[.?!,:;]+$/g,"").trim())||!/[a-z0-9]/i.test(b))return null;if(b.length>80){let a=b.slice(0,80);b=a.replace(/\s+\S*$/,"").trim()||a.trim()}return b||null}let Y=new Set(["image/png","image/jpeg","image/gif","image/webp"]),Z=j.cZ.filter(a=>"served"!==a.id);function $({open:a,onOpenChange:b,onCreate:c,defaultColumn:f,error:g,isCreating:h}){let i,[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(""),[p,q]=(0,e.useState)("none"),[r,v]=(0,e.useState)(f??"pantry"),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)([]),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(j.xj),[H,I]=(0,e.useState)(j.xj),J=(0,e.useRef)(null),K=(0,e.useRef)(null),$=(0,e.useMemo)(()=>(function(a,b,c){let d=a.trim();if(/[a-z0-9]/i.test(d))return d;let e=function(a){let b=a.replace(/\r\n/g,"\n").trim();if(!b)return null;let c=b.split(/\n+/).map(a=>X(a)).filter(a=>!!a);return c.length>0?c[0]:X(b.split(/(?<=[.!?])\s+/)[0]??"")}(b);return e||(c?"Order from screenshot":null)})(k,m,z.length>0),[k,m,z.length]),_=!!$&&!h,aa=j.fz.find(a=>a.value===p)??j.fz[0],ab=(0,e.useCallback)(a=>{let b=(0,j.Ou)(a);G(b),I(b)},[]),ac=(0,e.useCallback)(a=>{C(null);let b=Array.from(a);for(let a of b){if(!Y.has(a.type))return void C("Only image files (PNG, JPG, GIF, WebP) are allowed");if(a.size>5242880)return void C("File must be under 5 MB")}A(a=>a.length+b.length>5?(C("Maximum 5 images"),a):[...a,...b.map(a=>({file:a,previewUrl:URL.createObjectURL(a)}))])},[]),ad=(0,e.useCallback)(a=>{A(b=>(URL.revokeObjectURL(b[a].previewUrl),b.filter((b,c)=>c!==a))),C(null)},[]),ae=(0,e.useCallback)(a=>{let b=Array.from(a.clipboardData.files).filter(a=>Y.has(a.type));b.length>0&&(a.preventDefault(),ac(b))},[ac]),af=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!0)},[]),ag=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!1)},[]),ah=(0,e.useCallback)(a=>{a.preventDefault(),a.stopPropagation(),E(!1),a.dataTransfer.files.length>0&&ac(a.dataTransfer.files)},[ac]),ai=(0,e.useCallback)(a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&_&&(a.preventDefault(),K.current?.requestSubmit())},[_]);return(0,d.jsx)(L.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(L.Cf,{className:"sm:max-w-3xl p-0 gap-0 paper-texture overflow-hidden",children:[(0,d.jsx)(L.L3,{className:"sr-only",children:"Create order"}),(0,d.jsxs)("form",{ref:K,onSubmit:a=>{if(a.preventDefault(),!$)return;let b=k.trim(),d=b.length>0&&!(0,W.p)(b);c($,m.trim()||void 0,"none"!==p?p:void 0,z.length>0?z.map(a=>a.file):void 0,H,d,r,x)},onPaste:ae,className:"px-6 pt-5 pb-5",children:[(0,d.jsx)(M,{autoFocus:!0,placeholder:"New order",value:k,onChange:a=>l(a.target.value),className:"h-11 border-0 px-0 text-xl md:text-xl font-semibold text-black placeholder:text-muted-foreground shadow-none focus-visible:ring-0"}),(0,d.jsxs)("div",{className:(0,o.cn)("mt-3 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",D&&"ring-2 ring-primary ring-inset"),onDragOver:af,onDragLeave:ag,onDrop:ah,children:[(0,d.jsx)("input",{ref:J,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&ac(a.target.files),a.target.value=""}}),z.length>0&&(0,d.jsxs)("div",{className:"flex gap-2 px-4 pt-3 flex-wrap",children:[z.map((a,b)=>(0,d.jsxs)("div",{className:"relative group",children:[(0,d.jsx)("img",{src:a.previewUrl,alt:a.file.name,className:"size-14 rounded border object-cover"}),(0,d.jsx)("button",{type:"button",onClick:()=>ad(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)(O.A,{className:"size-3"})})]},b)),z.length<5&&(0,d.jsx)("button",{type:"button",onClick:()=>J.current?.click(),className:"flex size-14 items-center justify-center rounded border-2 border-dashed border-border text-muted-foreground hover:border-muted-foreground/50 cursor-pointer transition-colors",children:(0,d.jsx)(P.A,{className:"size-4"})})]}),(0,d.jsx)("textarea",{className:"w-full resize-none bg-transparent px-5 pt-4 pb-4 text-sm outline-none placeholder:text-muted-foreground",rows:4,placeholder:"What do you want to work on? (Cmd+Enter to start)",value:m,onChange:a=>n(a.target.value),onKeyDown:ai,disabled:h}),(0,d.jsx)("div",{className:"mx-4 border-t border-dashed border-steel-200"}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5 px-3 pt-1.5 pb-3",children:[(0,d.jsx)(u.Y6,{label:"Attach image",children:(0,d.jsx)(w.$,{type:"button",variant:"ghost",size:"icon",onClick:()=>J.current?.click(),disabled:h,className:"shrink-0 cursor-pointer",children:(0,d.jsx)(Q.A,{className:"size-4"})})}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)(N.B,{value:H,onChange:I,disabled:h,defaultModel:F,onDefaultModelChange:ab}),(0,d.jsx)(w.$,{type:"submit",size:"icon",disabled:!_,className:"shrink-0 cursor-pointer",children:h?(0,d.jsx)(R.A,{className:"size-4 animate-spin"}):(0,d.jsx)(S.A,{className:"size-4"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-2.5 px-0.5",children:[(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer",children:[(0,d.jsx)(s.w,{priority:p}),aa.label,(0,d.jsx)(T.A,{className:"size-3.5 text-muted-foreground"})]})}),(0,d.jsx)(t.SQ,{align:"start",children:j.fz.map(a=>(0,d.jsxs)(t._2,{onSelect:()=>q(a.value),className:"gap-2",children:[(0,d.jsx)(s.w,{priority:a.value}),(0,d.jsx)("span",{className:"flex-1",children:a.label}),a.value===p&&(0,d.jsx)(U.A,{className:"size-3.5 text-primary"})]},a.value))})]}),(0,d.jsxs)(t.rI,{children:[(0,d.jsx)(t.ty,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer",children:[(i=j.G$[r])?(0,d.jsx)(i,{className:"size-3.5"}):null,Z.find(a=>a.id===r)?.title??"Stage",(0,d.jsx)(T.A,{className:"size-3.5 text-muted-foreground"})]})}),(0,d.jsx)(t.SQ,{align:"start",children:Z.map(a=>{let b=j.G$[a.id];return(0,d.jsxs)(t._2,{onSelect:()=>v(a.id),className:"gap-2",children:[b&&(0,d.jsx)(b,{className:"size-3.5"}),(0,d.jsx)("span",{className:"flex-1",children:a.title}),a.id===r&&(0,d.jsx)(U.A,{className:"size-3.5 text-primary"})]},a.id)})})]}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsxs)("label",{className:"flex items-center gap-1.5 rounded-md border border-border bg-background px-2.5 py-1.5 text-sm text-foreground hover:bg-accent transition-colors cursor-pointer select-none",children:[(0,d.jsx)("span",{className:(0,o.cn)("flex size-3.5 items-center justify-center rounded-[3px] border transition-colors",x?"border-blue-600 bg-blue-600 text-white":"border-muted-foreground/40 bg-background"),children:x&&(0,d.jsx)(U.A,{className:"size-2.5",strokeWidth:3})}),(0,d.jsx)("input",{type:"checkbox",checked:x,onChange:a=>y(a.target.checked),className:"sr-only"}),(0,d.jsx)(V.A,{className:"size-3.5"}),"worktree"]})]}),B&&(0,d.jsx)("p",{className:"mt-3 text-sm text-destructive",children:B}),g&&(0,d.jsx)("p",{className:"mt-2 text-sm text-destructive",children:g})]})]})})}var _=c(53128),aa=c(54224),ab=c(37636);function ac(){return(0,d.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,d.jsx)("circle",{cx:"22",cy:"26",r:"16",fill:"#292524"}),(0,d.jsx)("circle",{cx:"22",cy:"26",r:"13",fill:"#44403c"}),(0,d.jsx)("rect",{x:"36",y:"14",width:"10",height:"4",rx:"2",fill:"#78716c"}),(0,d.jsx)("ellipse",{cx:"22",cy:"27",rx:"9",ry:"8",fill:"white"}),(0,d.jsx)("circle",{cx:"22",cy:"26",r:"4",fill:"#f59e0b"}),(0,d.jsx)("circle",{cx:"21",cy:"25",r:"1.5",fill:"#fbbf24",opacity:"0.6"})]})}let ad=[{number:1,title:"Add a first task",description:(0,d.jsxs)(d.Fragment,{children:["Tell Claude what to build, or hover a column and click"," ",(0,d.jsx)("span",{className:"font-semibold text-card-foreground",children:"+ Add card"}),"."]})},{number:2,title:"Let Claude cook",description:"Claude picks up tasks, writes the code, and moves them across the board for you."},{number:3,title:"Taste and serve",description:"Review what's been cooked, give feedback, and ship when it's ready."}];function ae({onDismiss:a}){return(0,d.jsx)("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center",children:(0,d.jsxs)("div",{className:"pointer-events-auto relative w-full max-w-[420px] rounded-2xl border border-border bg-card px-9 pb-8 pt-9 shadow-lg",children:[(0,d.jsx)("button",{onClick:a,className:"absolute right-3 top-3 rounded-md p-1 text-muted-foreground/60 transition-colors hover:bg-secondary hover:text-muted-foreground","aria-label":"Dismiss",children:(0,d.jsx)(O.A,{size:16})}),(0,d.jsx)("div",{className:"mb-4 flex justify-center",children:(0,d.jsx)(ac,{})}),(0,d.jsx)("h2",{className:"mb-2 text-center text-[19px] font-semibold tracking-tight text-card-foreground",children:"What are we cooking, chef?"}),(0,d.jsxs)("p",{className:"mb-6 text-center text-sm leading-relaxed text-muted-foreground",children:["Brigade turns your codebase into a task board.",(0,d.jsx)("br",{}),"Here's how to get started:"]}),(0,d.jsxs)("div",{className:"relative mb-6 ml-1",children:[(0,d.jsx)("div",{className:"absolute left-[13px] top-[24px] bottom-[24px] w-[2px] bg-border"}),(0,d.jsx)("div",{className:"flex flex-col gap-5",children:ad.map(a=>(0,d.jsxs)("div",{className:"flex items-start gap-3.5",children:[(0,d.jsx)("div",{className:"relative z-[1] flex h-[28px] w-[28px] flex-shrink-0 items-center justify-center rounded-full bg-primary/10 text-[13px] font-semibold text-primary",children:a.number}),(0,d.jsxs)("div",{className:"pt-0.5",children:[(0,d.jsx)("div",{className:"text-[13.5px] font-semibold text-card-foreground",children:a.title}),(0,d.jsx)("div",{className:"mt-0.5 text-[12.5px] leading-relaxed text-muted-foreground",children:a.description})]})]},a.number))})]}),(0,d.jsxs)("div",{className:"rounded-xl bg-secondary/60 px-4 py-3 text-center text-[12.5px] leading-relaxed text-muted-foreground",children:[(0,d.jsx)("span",{className:"mr-1",children:"\uD83D\uDCA1"}),"Try telling Claude:"," ",(0,d.jsx)("code",{className:"rounded bg-secondary px-1.5 py-0.5 font-mono text-[11.5px] text-card-foreground",children:'"plan the auth feature"'})," ","or"," ",(0,d.jsx)("code",{className:"rounded bg-secondary px-1.5 py-0.5 font-mono text-[11.5px] text-card-foreground",children:'"what should I work on?"'})]})]})})}async function af(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{return await fetch(a,{...b,signal:d.signal})}finally{clearTimeout(e)}}let ag=new Set(j.cZ.map(a=>a.id)),ah=a=>{let b=(0,h.TT)(a);return b.length>0?b:(0,h.y$)(a)},ai={sideEffects:(0,h.WB)({styles:{active:{opacity:"0.4"}}}),duration:200,easing:"cubic-bezier(0.25, 1, 0.5, 1)"};function aj({repoName:a}){let b=(0,g.useParams)(),c=(0,m.NK)(b),n=(0,g.useRouter)(),{tasks:p,loading:q,servedTotal:r,fetchTasks:s,moveTask:t,createTask:u,deleteTask:v}=(0,k.s)(c),{activeSessions:w}=(0,l.a)(),[x,y]=(0,e.useState)([]),[z,A]=(0,e.useState)(null),[B,C]=(0,e.useState)(null),D=(0,e.useRef)(null),[E,F]=(0,e.useState)(!1),[G,H]=(0,e.useState)("pantry"),[J,L]=(0,e.useState)(!1),M=function(a){if(!a)return null;let b=a.trim();if(!b)return null;let c=b.toLowerCase().endsWith("s")?"'":"'s";return`${b}${c} kitchen`}(a),{addToast:N}=(0,aa.d)(),O=(0,e.useMemo)(()=>(0,m.Yg)(c),[c]),P=(0,e.useCallback)(a=>`${O}${a}`,[O]),Q=(0,e.useCallback)(a=>c?`/r/${encodeURIComponent(c)}/task/${encodeURIComponent(a)}`:`/task/${encodeURIComponent(a)}`,[c]);(0,e.useRef)(w.length),(0,e.useRef)(w.length).current=w.length;let R=(0,e.useMemo)(()=>x.some(a=>a.branch),[x]);(0,e.useRef)(R).current=R,w.length;let S=(0,h.FR)((0,h.MS)(h.AN,{activationConstraint:{distance:8}})),T=(0,e.useMemo)(()=>{let a=x.filter(a=>("needs_tasting"===a.status||"error"===a.status)&&"served"!==a.column).sort((a,b)=>{let c=("error"!==a.status)-("error"!==b.status);if(0!==c)return c;let d=(0,j.hZ)(b.column)-(0,j.hZ)(a.column);if(0!==d)return d;let e=(0,j.uC)(b.priority)-(0,j.uC)(a.priority);return 0!==e?e:(b.created||"").localeCompare(a.created||"")});return a[0]?.slug??null},[x]),U=x.find(a=>a.slug===z)||null,V=(0,e.useMemo)(()=>{let a={pantry:[],"mise-en-place":[],firing:[],review:[],served:[]};for(let b of x)a[b.column]&&a[b.column].push(b);let b=a=>"running"===a?0:"needs_tasting"===a||"error"===a?1:2;for(let c of Object.keys(a))a[c].sort((a,c)=>{let d=(0,j.uC)(c.priority)-(0,j.uC)(a.priority);if(0!==d)return d;let e=b(a.status)-b(c.status);return 0!==e?e:(c.created||"").localeCompare(a.created||"")});return a},[x]),W=(0,e.useCallback)(a=>{A(a.active.id)},[]),X=(0,e.useCallback)(a=>{let{active:b,over:c}=a;if(!c)return;let d=b.id,e=c.id;if(d===e)return;let f=c.data.current?.type==="Task",g=ag.has(e);y(a=>{let b=a.findIndex(a=>a.slug===d);if(-1===b)return a;if(f){let c=a.findIndex(a=>a.slug===e);if(-1===c)return a;let d=[...a],f={...d[b]},g=d[c];return f.column!==g.column&&(f.column=g.column,d[b]=f),(0,i.be)(d,b,c)}if(g){let c=a[b];if(c.column===e)return a;let d=[...a];return d[b]={...c,column:e},d}return a})},[]),Y=(0,e.useCallback)(async a=>{A(null);let{over:b}=a;if(!b||!z)return;let c=x.find(a=>a.slug===z),d=p.find(a=>a.slug===z);c&&d&&c.column!==d.column&&("served"===c.column&&(D.current&&clearTimeout(D.current),C(z),D.current=setTimeout(()=>{C(null),D.current=null},1500)),await t(z,c.column))},[z,x,p,t]),Z=(0,e.useCallback)(async(a,b)=>{y(c=>c.map(c=>c.slug===a?{...c,priority:b}:c));try{(await fetch(P(`/tasks/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:b})})).ok||s()}catch{s()}},[s]),ac=(0,e.useCallback)(async(a,b)=>{y(c=>c.map(c=>c.slug===a?{...c,column:b}:c)),"served"===b&&(D.current&&clearTimeout(D.current),C(a),D.current=setTimeout(()=>{C(null),D.current=null},1500));try{(await fetch(P(`/tasks/${a}/move`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:b})})).ok||s()}catch{s()}},[s]),ad=(0,e.useRef)(x);ad.current=x;let aj=(0,e.useCallback)(async a=>{let b=ad.current.find(b=>b.slug===a);y(b=>b.filter(b=>b.slug!==a)),await v(a),N(b?`"${b.title}" deleted`:"Task deleted","success")},[v,N]),ak=(0,e.useCallback)(a=>{n.push(Q(a))},[n]),al=(0,e.useCallback)(()=>j.xj,[]),[am,an]=(0,e.useState)(null),[ao,ap]=(0,e.useState)(!1),aq=(0,e.useCallback)(async(a,b,c,d,e,f,g,h)=>{an(null),ap(!0);try{let i=g??G,j=await u(a,i,b,c,h);if(!j.ok)return void an(j.error);let k=j.slug,l=[];if(d&&d.length>0){let a=(await Promise.allSettled(d.map(async a=>{let b=new FormData;b.append("file",a);let c=await af(P(`/tasks/${k}/images`),{method:"POST",body:b},15e3);if(!c.ok)return null;let d=await c.json();return{filename:"string"==typeof d.filename?d.filename:null,markdown:"string"==typeof d.markdown?d.markdown:null}}))).flatMap(a=>"fulfilled"===a.status&&a.value?.markdown?[a.value]:[]),c=a.map(a=>a.markdown);if(l=a.flatMap(a=>a.filename?[a.filename]:[]),c.length>0)try{let a=`## Reference Images
|
|
2
2
|
|
|
3
3
|
${c.join("\n")}`,d=b?.trim()??"",e=d?`${d}
|
|
4
4
|
|
|
5
|
-
${a}`:a;await
|
|
6
|
-
`,"utf-8")}function q(a){let b=k().resolve(a);if(!g().existsSync(b))return null;if(g().existsSync(k().join(b,".git")))return b;try{let a=(0,l.execFileSync)("git",["rev-parse","--show-toplevel"],{cwd:b,encoding:"utf-8"}).trim();if(!a)return null;return k().resolve(a)}catch{return null}}function r(){var a,b;let c,d,e,f=o();if(!g().existsSync(f))return n();try{let b,d,e;a=JSON.parse(g().readFileSync(f,"utf-8")),b=n(),d=a&&"object"==typeof a?a:{},e=Array.isArray(d.repos)?d.repos.map(a=>{if(!a||"object"!=typeof a||"string"!=typeof a.id||"string"!=typeof a.path)return null;let b=a.id.trim(),c=k().resolve(a.path.trim());return b&&c?{id:b,name:"string"==typeof a.name&&a.name.trim().length>0?a.name.trim():k().basename(c),path:c,addedAt:"string"==typeof a.addedAt&&a.addedAt.trim().length>0?a.addedAt:m(),lastUsedAt:"string"==typeof a.lastUsedAt&&a.lastUsedAt.trim().length>0?a.lastUsedAt:m()}:null}).filter(a=>null!==a):b.repos,c={version:1,repos:e,lastRepoId:"string"==typeof d.lastRepoId&&d.lastRepoId.trim().length>0?d.lastRepoId.trim():null}}catch{c=n()}let h=(e=new Set((d=(b=c).repos.map(a=>{let b=q(a.path);return b?{...a,path:b}:null}).filter(a=>null!==a)).map(a=>a.id)),{version:1,repos:d,lastRepoId:b.lastRepoId&&e.has(b.lastRepoId)?b.lastRepoId:null});return JSON.stringify(c)!==JSON.stringify(h)&&p(h),h}function s(a){let b=k().resolve(a),c=k().basename(b).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),d=e().createHash("sha1").update(b).digest("hex").slice(0,8);return`${c||"repo"}-${d}`}function t(){return r().repos}function u(a){let b=a.trim();return b?r().repos.find(a=>a.id===b)??null:null}function v(){let a=r();return a.lastRepoId?a.repos.find(b=>b.id===a.lastRepoId)??null:null}function w(a){let b=r();if(null===a){let a={...b,lastRepoId:null};return p(a),a}if(!b.repos.find(b=>b.id===a))throw Error(`Unknown repo id: ${a}`);let c=b.repos.map(b=>b.id===a?{...b,lastUsedAt:m()}:b),d={...b,repos:c,lastRepoId:a};return p(d),d}function x(a){let b="string"==typeof a.path?a.path.trim():"";if(!b)throw Error("
|
|
5
|
+
${a}`:a;await af(P(`/tasks/${k}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:e})},1e4)}catch{}}F(!1),s();let m=b?.trim();if(k&&m){let a=new URLSearchParams;a.set("context",m),a.set("model",e||al()),f||a.set("autoTitle","1"),l.length>0&&a.set("images",l.join(",")),n.push(`${Q(k)}?${a.toString()}`)}}finally{ap(!1)}},[u,G,s,al,n,Q]),ar=(0,e.useCallback)(a=>{H(a),F(!0)},[]);return q?(0,d.jsx)("div",{className:"flex h-screen items-center justify-center bg-background",children:(0,d.jsx)(ab._,{size:"lg"})}):(0,d.jsxs)("div",{className:"flex h-screen flex-col bg-background",children:[(0,d.jsxs)("header",{className:"relative z-10 flex items-center border-b border-border px-4 py-3",children:[(0,d.jsxs)("div",{className:"min-w-[120px] flex items-center gap-3",children:[(0,d.jsx)(_.R,{flameSize:20,textClassName:"text-lg text-foreground",className:"shrink-0"}),M?(0,d.jsx)("span",{className:"text-sm font-medium text-muted-foreground",children:M}):null]}),(0,d.jsx)("div",{className:"flex-1"})]}),(0,d.jsx)("div",{className:"h-3"}),(0,d.jsxs)(h.Mp,{sensors:S,collisionDetection:ah,onDragStart:W,onDragOver:X,onDragEnd:Y,children:[(0,d.jsxs)("div",{className:"relative flex flex-1 overflow-x-auto px-4 pb-3 2xl:px-6 min-[1800px]:px-8",children:[0===x.length&&!J&&(0,d.jsx)(ae,{onDismiss:()=>L(!0)}),(0,d.jsx)("div",{className:(0,o.cn)("mx-auto flex w-full min-w-[1164px] justify-center gap-4 2xl:gap-5 min-[1800px]:gap-6 xl:max-w-[1880px]",0===x.length&&!J&&"opacity-[0.15]"),children:j.cZ.map(a=>{let b=V[a.id].length,c="served"===a.id?r-b:0;return(0,d.jsx)(K,{column:a,tasks:V[a.id],onCardClick:ak,onPriorityChange:Z,onStatusChange:ac,onDelete:aj,onAddCard:()=>ar(a.id),archiveCount:c>0?c:void 0,needsTastingTopSlug:T,justServedSlug:B},a.id)})})]}),"u">typeof document&&(0,f.createPortal)((0,d.jsx)(h.Hd,{dropAnimation:ai,children:U?(0,d.jsx)(I,{task:U,isOverlay:!0}):null}),document.body)]}),(0,d.jsx)($,{open:E,onOpenChange:a=>{F(a),a||an(null)},onCreate:aq,defaultColumn:G,error:am,isCreating:ao})]})}},10528:(a,b,c)=>{Promise.resolve().then(c.bind(c,83983))},53128:(a,b,c)=>{"use strict";c.d(b,{R:()=>g});var d=c(48249),e=c(60471),f=c(14490);function g({flameSize:a=24,textClassName:b,className:c}){return(0,d.jsxs)("div",{className:(0,f.cn)("group flex items-center gap-2 cursor-pointer",c),children:[(0,d.jsxs)("div",{className:"relative scale-100 group-hover:scale-105 group-hover:drop-shadow-burner transition-[filter,transform] duration-[400ms] ease-out motion-reduce:transition-none",style:{width:a,height:a},children:[(0,d.jsx)(e.A,{className:"absolute inset-0 text-heat-600",size:a,strokeWidth:2.5}),(0,d.jsx)(e.A,{className:"absolute inset-0 text-heat-500 fill-heat-500 [clip-path:inset(100%_0_0_0)] group-hover:[clip-path:inset(0_0_0_0)] transition-[clip-path] duration-[400ms] ease-out motion-reduce:transition-none",size:a,strokeWidth:2.5})]}),(0,d.jsx)("span",{className:(0,f.cn)("font-mono font-semibold tracking-tight",b),children:"Brigade"})]})}},64557:(a,b,c)=>{"use strict";c.d(b,{$W:()=>s,DJ:()=>u,E8:()=>r,Hf:()=>y,_L:()=>w,sv:()=>x,uP:()=>t,x2:()=>v});var d=c(55511),e=c.n(d),f=c(29021),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j),l=c(79646);function m(){return new Date().toISOString()}function n(){return{version:1,repos:[],lastRepoId:null}}function o(){let a=process.env.HOME||i().homedir();return k().join(a,".brigade","repos.json")}function p(a){g().mkdirSync(k().dirname(o()),{recursive:!0}),g().writeFileSync(o(),`${JSON.stringify(a,null,2)}
|
|
6
|
+
`,"utf-8")}function q(a){let b=k().resolve(a);if(!g().existsSync(b))return null;if(g().existsSync(k().join(b,".git")))return b;try{let a=(0,l.execFileSync)("git",["rev-parse","--show-toplevel"],{cwd:b,encoding:"utf-8"}).trim();if(!a)return null;return k().resolve(a)}catch{return null}}function r(){var a,b;let c,d,e,f=o();if(!g().existsSync(f))return n();try{let b,d,e;a=JSON.parse(g().readFileSync(f,"utf-8")),b=n(),d=a&&"object"==typeof a?a:{},e=Array.isArray(d.repos)?d.repos.map(a=>{if(!a||"object"!=typeof a||"string"!=typeof a.id||"string"!=typeof a.path)return null;let b=a.id.trim(),c=k().resolve(a.path.trim());return b&&c?{id:b,name:"string"==typeof a.name&&a.name.trim().length>0?a.name.trim():k().basename(c),path:c,addedAt:"string"==typeof a.addedAt&&a.addedAt.trim().length>0?a.addedAt:m(),lastUsedAt:"string"==typeof a.lastUsedAt&&a.lastUsedAt.trim().length>0?a.lastUsedAt:m(),..."boolean"==typeof a.isGit?{isGit:a.isGit}:{}}:null}).filter(a=>null!==a):b.repos,c={version:1,repos:e,lastRepoId:"string"==typeof d.lastRepoId&&d.lastRepoId.trim().length>0?d.lastRepoId.trim():null}}catch{c=n()}let h=(e=new Set((d=(b=c).repos.map(a=>{if(!1===a.isGit)return g().existsSync(a.path)&&g().statSync(a.path).isDirectory()?a:null;let b=q(a.path);return b?{...a,path:b}:null}).filter(a=>null!==a)).map(a=>a.id)),{version:1,repos:d,lastRepoId:b.lastRepoId&&e.has(b.lastRepoId)?b.lastRepoId:null});return JSON.stringify(c)!==JSON.stringify(h)&&p(h),h}function s(a){let b=k().resolve(a),c=k().basename(b).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,""),d=e().createHash("sha1").update(b).digest("hex").slice(0,8);return`${c||"repo"}-${d}`}function t(){return r().repos}function u(a){let b=a.trim();return b?r().repos.find(a=>a.id===b)??null:null}function v(){let a=r();return a.lastRepoId?a.repos.find(b=>b.id===a.lastRepoId)??null:null}function w(a){let b=r();if(null===a){let a={...b,lastRepoId:null};return p(a),a}if(!b.repos.find(b=>b.id===a))throw Error(`Unknown repo id: ${a}`);let c=b.repos.map(b=>b.id===a?{...b,lastUsedAt:m()}:b),d={...b,repos:c,lastRepoId:a};return p(d),d}function x(a){let b="string"==typeof a.path?a.path.trim():"";if(!b)throw Error("Path is required.");let c=k().resolve(b);if(!g().existsSync(c)||!g().statSync(c).isDirectory())throw Error("Path is not a valid directory.");let d=q(c),e=d||c,f=s(e),h=r(),i=h.repos.find(a=>a.id===f||a.path===e);if(i)return w(i.id).repos.find(a=>a.id===i.id);let j={id:f,name:"string"==typeof a.name&&a.name.trim().length>0?a.name.trim():k().basename(e),path:e,addedAt:m(),lastUsedAt:m(),isGit:null!==d};return p({...h,repos:[...h.repos,j],lastRepoId:j.id}),j}function y(a){let b=r(),c=a.trim();if(!c)return b;let d=b.repos.filter(a=>a.id!==c),e={...b,repos:d,lastRepoId:b.lastRepoId===c?null:b.lastRepoId};return p(e),e}},74080:(a,b,c)=>{Promise.resolve().then(c.bind(c,5372))},83983:(a,b,c)=>{"use strict";c.d(b,{Board:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call Board() from the server but Board is 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/components/board/Board.tsx","Board")}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=347,exports.ids=[347],exports.modules={20347:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>g});var d=c(45592),e=c(61597),f=c(72199);let g="force-dynamic";async function h(a,b){let c,{slug:g}=await b.params,h=(0,f.dm)()??"";(0,e.t)(void 0,h);let i=(0,e.mc)(g,h);if(!i)return d.NextResponse.json({error:"Task not found"},{status:404});if(!i.branch)return d.NextResponse.json({error:"No branch"},{status:400});let j={};try{j=await a.json()}catch{j={}}let k="string"==typeof j.feedback?j.feedback:void 0,l="string"==typeof j.model&&j.model.trim().length>0?j.model.trim():void 0,m=`chat-conflict-resolver-${Date.now()}`,n=(c=a.nextUrl.pathname.match(/^\/api\/repos\/([^/]+)\//))?`/api/repos/${c[1]}`:"/api",o=`${a.nextUrl.origin}${n}/chat`,p=()=>{},q=new Promise(a=>{p=a}),r=!1,s=a=>{r||(r=!0,p(a))};(async()=>{try{let a,b=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:(a="Resolve the current git merge conflicts for this task branch.\n\nRequirements:\n1. Inspect all unmerged files and resolve conflict markers.\n2. Keep the intended behavior from both sides whenever possible.\n3. Ensure no conflict markers remain in the repository.\n4. Stage and complete the merge commit (prefer `git commit --no-edit`; if needed provide a concise merge-resolution message).\n5. End with a short summary of what you changed.",k&&k.trim()?`${a}
|
|
1
|
+
"use strict";exports.id=347,exports.ids=[347],exports.modules={20347:(a,b,c)=>{c.r(b),c.d(b,{POST:()=>h,dynamic:()=>g});var d=c(45592),e=c(61597),f=c(72199);let g="force-dynamic";async function h(a,b){let c,{slug:g}=await b.params,h=(0,f.dm)()??"";(0,e.t)(void 0,h);let i=(0,e.mc)(g,h);if(!i)return d.NextResponse.json({error:"Task not found"},{status:404});if(!i.branch)return d.NextResponse.json({error:"No branch"},{status:400});let j={};try{j=await a.json()}catch{j={}}let k="string"==typeof j.feedback?j.feedback:void 0,l="string"==typeof j.model&&j.model.trim().length>0?j.model.trim():void 0,m=`chat-conflict-resolver-${Date.now()}`,n=(c=a.nextUrl.pathname.match(/^\/api\/repos\/([^/]+)\//))?`/api/repos/${c[1]}`:"/api",o=`${a.nextUrl.origin}${n}/chat`,p=()=>{},q=new Promise(a=>{p=a}),r=!1,s=a=>{r||(r=!0,p(a))};(async()=>{try{let a,b=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:(a="Resolve the current git merge conflicts for this task branch.\n\nRequirements:\n1. Inspect all unmerged files and resolve conflict markers.\n2. Keep the intended behavior from both sides whenever possible.\n3. Ensure no conflict markers remain in the repository.\n4. Stage and complete the merge commit (prefer `git commit --no-edit`; if needed provide a concise merge-resolution message).\n5. End with a short summary of what you changed.\n\nIMPORTANT: Do NOT ask questions or request user input. Act autonomously — make your best judgement on every conflict and commit the result.",k&&k.trim()?`${a}
|
|
2
2
|
|
|
3
3
|
User feedback on previous attempt:
|
|
4
4
|
${k.trim()}`:a),taskSlug:g,storageId:m,taskContent:`# ${i.title}
|