@brigade-dev/cli 0.1.1 → 0.1.2
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 +22 -35
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -99
- package/.next/standalone/.next/required-server-files.json +3 -0
- package/.next/standalone/.next/routes-manifest.json +30 -122
- package/.next/standalone/.next/server/app/(board)/board/page.js +2 -3
- package/.next/standalone/.next/server/app/(board)/board/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/board/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js +2 -2
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(board)/task/[slug]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(setup)/setup/page.js +3 -0
- package/.next/standalone/.next/server/app/(setup)/setup/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/(setup)/setup/page_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +6 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +6 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -2
- package/.next/standalone/.next/server/app/api/chat/poll/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/poll/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js +2 -3
- package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/session/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/session/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/sessions/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/stop/route.js +2 -2
- package/.next/standalone/.next/server/app/api/chat/stop/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/providers/auth-status/route.js +2 -3
- package/.next/standalone/.next/server/app/api/providers/auth-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/repos/[repoId]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route.js +1 -0
- package/.next/standalone/.next/server/app/api/repos/[repoId]/{skills → settings}/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/last-used/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/pick-folder/route.js +2 -2
- package/.next/standalone/.next/server/app/api/repos/pick-folder/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/route.js +1 -1
- package/.next/standalone/.next/server/app/api/repos/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js +1 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js +3 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js +1 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/review/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js +6 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js +2 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js +2 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js +2 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/tasks/auto-move/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/tasks/counts/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/counts/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/counts/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/pr-check/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
- package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route.js +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/test/reset/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +30 -25
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +30 -25
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +5 -2
- package/.next/standalone/.next/server/app/page.js +1 -1
- 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 +22 -35
- package/.next/standalone/.next/server/chunks/1132.js +1 -0
- package/.next/standalone/.next/server/chunks/1236.js +1 -1
- package/.next/standalone/.next/server/chunks/1546.js +5 -0
- package/.next/standalone/.next/server/chunks/1577.js +1 -0
- package/.next/standalone/.next/server/chunks/1597.js +63 -0
- package/.next/standalone/.next/server/chunks/1853.js +1 -0
- package/.next/standalone/.next/server/chunks/2065.js +6 -0
- package/.next/standalone/.next/server/chunks/2196.js +1 -1
- package/.next/standalone/.next/server/chunks/2345.js +1 -0
- package/.next/standalone/.next/server/chunks/2353.js +1 -1
- package/.next/standalone/.next/server/chunks/3027.js +1 -0
- package/.next/standalone/.next/server/chunks/347.js +6 -0
- package/.next/standalone/.next/server/chunks/3544.js +24 -0
- package/.next/standalone/.next/server/chunks/3731.js +1 -1
- package/.next/standalone/.next/server/chunks/4178.js +14 -0
- package/.next/standalone/.next/server/chunks/432.js +1 -1
- package/.next/standalone/.next/server/chunks/471.js +1 -1
- package/.next/standalone/.next/server/chunks/4869.js +1 -1
- package/.next/standalone/.next/server/chunks/4919.js +1 -0
- package/.next/standalone/.next/server/chunks/5049.js +1 -1
- package/.next/standalone/.next/server/chunks/5250.js +1 -1
- package/.next/standalone/.next/server/chunks/542.js +1 -0
- package/.next/standalone/.next/server/chunks/5704.js +3 -0
- package/.next/standalone/.next/server/chunks/6039.js +1 -0
- package/.next/standalone/.next/server/chunks/6042.js +1 -1
- package/.next/standalone/.next/server/chunks/6802.js +20 -0
- package/.next/standalone/.next/server/chunks/722.js +1 -1
- package/.next/standalone/.next/server/chunks/746.js +1 -1
- package/.next/standalone/.next/server/chunks/7916.js +1 -1
- package/.next/standalone/.next/server/chunks/8031.js +1 -1
- package/.next/standalone/.next/server/chunks/8150.js +1 -0
- package/.next/standalone/.next/server/chunks/8241.js +1 -0
- package/.next/standalone/.next/server/chunks/829.js +1 -1
- package/.next/standalone/.next/server/chunks/838.js +1 -1
- package/.next/standalone/.next/server/chunks/8410.js +3 -3
- package/.next/standalone/.next/server/chunks/854.js +1 -1
- package/.next/standalone/.next/server/chunks/9067.js +1 -1
- package/.next/standalone/.next/server/chunks/944.js +3 -0
- package/.next/standalone/.next/server/chunks/9661.js +1 -1
- package/.next/standalone/.next/server/chunks/9665.js +1 -1
- package/.next/standalone/.next/server/chunks/9898.js +11 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/XO1LWKVmDXHwIbl35KRwX/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/chunks/124-3eae600925474bdc.js +1 -0
- package/.next/standalone/.next/static/chunks/1416-bf500768058c7f99.js +5 -0
- package/.next/standalone/.next/static/chunks/1545-5c27c6645e47620e.js +1 -0
- package/.next/standalone/.next/static/chunks/1719-2c95eb5be7096fd4.js +1 -0
- package/.next/standalone/.next/static/chunks/3604-402e83a193703dd5.js +3 -0
- package/.next/standalone/.next/static/chunks/5083-875e22a46dea6150.js +24 -0
- package/.next/standalone/.next/static/chunks/7133-d829c710820740a0.js +1 -0
- package/.next/standalone/.next/static/chunks/{7486-de4a6f3ca66270e1.js → 8409-b769c7ca171825cc.js} +1 -1
- package/.next/standalone/.next/static/chunks/878-6effc693527c06fd.js +1 -0
- package/.next/standalone/.next/static/chunks/9747-9c7022a3f430588b.js +5 -0
- package/.next/standalone/.next/static/chunks/9798-086c0452ca402b9c.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-afa17ad02f1a5b72.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/layout-30f3ef2994aabf66.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-c5245960945c7d7a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-2ffd1120d8289ecd.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-0703323a4462caf0.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-e5278f44e5936ae3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(setup)/layout-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-cc8922011a51f165.js +1 -0
- package/.next/standalone/.next/static/chunks/app/_global-error/page-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/session/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/settings/[[...path]]/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/repos/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/reset/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/generate-commit-message/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/question-options/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/launch/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/status/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/auto-move/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/tasks/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/test/reset/route-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/app/layout-e77efc16259e5bd2.js +1 -0
- package/.next/standalone/.next/static/chunks/app/page-3e702bf1b197ec82.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-1b51237f7b3ff3ff.js +1 -0
- package/.next/standalone/.next/static/chunks/{webpack-9ba1537928a20f04.js → webpack-3e5366b71e90a143.js} +1 -1
- package/.next/standalone/.next/static/css/214e23fa1231e12f.css +3 -0
- package/.next/standalone/.next/static/css/e91b8c49739f08d3.css +1 -0
- package/.next/standalone/.next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
- package/.next/standalone/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
- package/.next/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/database.js +90 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/index.js +3 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/function.js +31 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/table.js +189 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
- package/.next/standalone/node_modules/better-sqlite3/lib/util.js +12 -0
- package/.next/standalone/node_modules/better-sqlite3/package.json +59 -0
- package/.next/standalone/node_modules/bindings/bindings.js +221 -0
- package/.next/standalone/node_modules/bindings/package.json +28 -0
- package/.next/standalone/node_modules/buffer-from/index.js +72 -0
- package/.next/standalone/node_modules/buffer-from/package.json +19 -0
- package/.next/standalone/node_modules/file-uri-to-path/index.js +66 -0
- package/.next/standalone/node_modules/file-uri-to-path/package.json +32 -0
- package/.next/standalone/node_modules/source-map/lib/array-set.js +121 -0
- package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/.next/standalone/node_modules/source-map/lib/base64.js +67 -0
- package/.next/standalone/node_modules/source-map/lib/binary-search.js +111 -0
- package/.next/standalone/node_modules/source-map/lib/mapping-list.js +79 -0
- package/.next/standalone/node_modules/source-map/lib/quick-sort.js +114 -0
- package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/.next/standalone/node_modules/source-map/lib/source-node.js +413 -0
- package/.next/standalone/node_modules/source-map/lib/util.js +488 -0
- package/.next/standalone/node_modules/source-map/package.json +73 -0
- package/.next/standalone/node_modules/source-map/source-map.js +8 -0
- package/.next/standalone/node_modules/source-map-support/package.json +31 -0
- package/.next/standalone/node_modules/source-map-support/source-map-support.js +625 -0
- package/.next/standalone/package.json +11 -10
- package/.next/standalone/public/chat-display-preview.html +280 -0
- package/.next/standalone/public/claude-ai-symbol.svg +7 -0
- package/.next/standalone/public/previews/settings-before-after-preview.html +624 -0
- package/.next/standalone/server.js +1 -1
- package/bin/brigade.js +44 -7
- package/defaults/canon/skills/html-preview.md +14 -5
- package/defaults/canon/workflows/delivery.yaml +4 -4
- package/package.json +10 -9
- package/scripts/brigade-cli.mjs +1 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/chefs/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/skills/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js +0 -2
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/(settings)/settings/workflows/page_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js +0 -6
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/route.js +0 -4
- package/.next/standalone/.next/server/app/api/chefs/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/chefs/skills/route.js +0 -4
- package/.next/standalone/.next/server/app/api/chefs/skills/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/chefs/skills/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/skills/route.js +0 -4
- package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js +0 -3
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js +0 -2
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js +0 -4
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/workflows/[slug]/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/api/workflows/route.js +0 -4
- package/.next/standalone/.next/server/app/api/workflows/route.js.nft.json +0 -1
- package/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +0 -1
- package/.next/standalone/.next/server/app/settings/chefs.html +0 -1
- package/.next/standalone/.next/server/app/settings/chefs.meta +0 -17
- package/.next/standalone/.next/server/app/settings/chefs.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/chefs.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/chefs.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/chefs.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/chefs.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/skills/new.html +0 -1
- package/.next/standalone/.next/server/app/settings/skills/new.meta +0 -18
- package/.next/standalone/.next/server/app/settings/skills/new.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills/new.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/skills.html +0 -1
- package/.next/standalone/.next/server/app/settings/skills.meta +0 -17
- package/.next/standalone/.next/server/app/settings/skills.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/skills.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/skills.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/skills.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/app/settings/workflows.html +0 -1
- package/.next/standalone/.next/server/app/settings/workflows.meta +0 -17
- package/.next/standalone/.next/server/app/settings/workflows.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows/__PAGE__.segment.rsc +0 -9
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
- package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
- package/.next/standalone/.next/server/app/settings/workflows.segments/_full.segment.rsc +0 -22
- package/.next/standalone/.next/server/app/settings/workflows.segments/_head.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/workflows.segments/_index.segment.rsc +0 -6
- package/.next/standalone/.next/server/app/settings/workflows.segments/_tree.segment.rsc +0 -2
- package/.next/standalone/.next/server/chunks/1787.js +0 -24
- package/.next/standalone/.next/server/chunks/2362.js +0 -25
- package/.next/standalone/.next/server/chunks/2753.js +0 -1
- package/.next/standalone/.next/server/chunks/3514.js +0 -1
- package/.next/standalone/.next/server/chunks/426.js +0 -1
- package/.next/standalone/.next/server/chunks/4318.js +0 -8
- package/.next/standalone/.next/server/chunks/4648.js +0 -1
- package/.next/standalone/.next/server/chunks/4702.js +0 -3
- package/.next/standalone/.next/server/chunks/4782.js +0 -1
- package/.next/standalone/.next/server/chunks/4992.js +0 -1
- package/.next/standalone/.next/server/chunks/57.js +0 -3
- package/.next/standalone/.next/server/chunks/6016.js +0 -3
- package/.next/standalone/.next/server/chunks/6365.js +0 -10
- package/.next/standalone/.next/server/chunks/6578.js +0 -3
- package/.next/standalone/.next/server/chunks/6701.js +0 -1
- package/.next/standalone/.next/server/chunks/682.js +0 -1
- package/.next/standalone/.next/server/chunks/7389.js +0 -6
- package/.next/standalone/.next/server/chunks/7450.js +0 -18
- package/.next/standalone/.next/server/chunks/7494.js +0 -1
- package/.next/standalone/.next/server/chunks/7612.js +0 -3
- package/.next/standalone/.next/server/chunks/7805.js +0 -1
- package/.next/standalone/.next/server/chunks/8647.js +0 -1
- package/.next/standalone/.next/server/chunks/8787.js +0 -3
- package/.next/standalone/.next/server/chunks/8944.js +0 -3
- package/.next/standalone/.next/server/chunks/9091.js +0 -5
- package/.next/standalone/.next/server/chunks/9341.js +0 -1
- package/.next/standalone/.next/server/chunks/9366.js +0 -6
- package/.next/standalone/.next/server/chunks/9916.js +0 -1
- package/.next/standalone/.next/static/DXjnbExUDH6VWFcQAZm5W/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/chunks/1890-6f39e9026bcfd6ff.js +0 -5
- package/.next/standalone/.next/static/chunks/194-1e49965b7f56d9d1.js +0 -1
- package/.next/standalone/.next/static/chunks/217-234cf87de775e747.js +0 -1
- package/.next/standalone/.next/static/chunks/2913-3767f8657ed3b76d.js +0 -24
- package/.next/standalone/.next/static/chunks/3562-66874394248003c3.js +0 -1
- package/.next/standalone/.next/static/chunks/3920-91b01322891d6f93.js +0 -1
- package/.next/standalone/.next/static/chunks/4044-8ec32d6e4ca64a61.js +0 -1
- package/.next/standalone/.next/static/chunks/5828-69f930daa6fef786.js +0 -1
- package/.next/standalone/.next/static/chunks/6127-c90ca9f67766c0e0.js +0 -1
- package/.next/standalone/.next/static/chunks/8463-4de0b380dc8aee57.js +0 -1
- package/.next/standalone/.next/static/chunks/8472-5b02197c80e9bdcb.js +0 -6
- package/.next/standalone/.next/static/chunks/app/(board)/board/page-852d9068b15f8902.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/layout-ffd25294d91093a4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-98c59eea481cd922.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-5fe097966f75f673.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-ff943b86544a3563.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-178443b61977aaff.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/layout-8e0a4c83ff4c037a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/[slug]/page-8c0475cf40538e82.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/page-2615f814b43b999a.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/[id]/page-c9d74b8769efd959.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/new/page-6c7a49f73211880f.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/page-3effcb21d7c832b1.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/[slug]/page-ec8c8dd16a2b43bb.js +0 -1
- package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/page-09495b17157fb69b.js +0 -1
- package/.next/standalone/.next/static/chunks/app/_global-error/page-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/session/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/generate-prompt/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/chefs/skills/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chefs/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/skills/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/workflows/[[...path]]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/repos/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/skills/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chef-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/deliver/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/launch-chef/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/thread-state/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/workflow-state/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/tasks/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/test/reset/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/workflows/[slug]/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/workflows/route-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/layout-33746f763b269468.js +0 -1
- package/.next/standalone/.next/static/chunks/app/page-94d1cf482dc9d766.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-00d08e7d87413cf2.js +0 -1
- package/.next/standalone/.next/static/css/aaeb369038c2ce63.css +0 -3
- package/scripts/migrate-chef-naming.mjs +0 -281
- /package/.next/standalone/.next/static/{DXjnbExUDH6VWFcQAZm5W → XO1LWKVmDXHwIbl35KRwX}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1719],{4:(e,t,a)=>{let n;a.d(t,{_:()=>d});var s=a(5155),r=a(6218);let o={sm:"size-2.5",md:"size-3.5",lg:"size-20"},i=Array.from({length:12},(e,t)=>{let a=t/12*Math.PI*2-Math.PI/2;return{cx:+(8+5.2*Math.cos(a)).toFixed(2),cy:+(8+5.2*Math.sin(a)).toFixed(2)}}),l=(n=i.map((e,t)=>{let a=(t/12*55).toFixed(1),n=(+a+4).toFixed(1);return`@keyframes bd${t}{0%,${a}%{opacity:.1}${n}%,75%{opacity:1}88%,to{opacity:.1}}`}).join(""),`${n}@media(prefers-reduced-motion:reduce){.bd{animation:none!important;opacity:.85!important}}`);function d({size:e="md",className:t}){return(0,s.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,r.cn)(o[e],"shrink-0",t),role:"status","aria-label":"Loading",children:[(0,s.jsx)("style",{children:l}),i.map((e,t)=>(0,s.jsx)("circle",{cx:e.cx,cy:e.cy,r:1,fill:"#f97316",className:"bd",style:{opacity:.1,animation:`bd${t} 2.4s ease-in-out infinite`}},t))]})}},553:(e,t,a)=>{a.d(t,{B:()=>u});var n=a(5155),s=a(6998),r=a(8208),o=a(6336),i=a(6218),l=a(2264),d=a(8884),c=a(7114);function u({value:e,onChange:t,disabled:a,defaultModel:u,onDefaultModelChange:p}){let f=(0,d.xq)(e),m=(0,d.xq)(u),g=(0,d.r1)();return(0,n.jsxs)(l.rI,{children:[(0,n.jsx)(l.ty,{asChild:!0,children:(0,n.jsxs)("button",{type:"button",disabled:a,className:(0,i.cn)("flex items-center gap-1 px-1.5 py-1 rounded text-xs font-medium text-muted-foreground","cursor-pointer hover:text-foreground hover:bg-accent transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),children:[(0,n.jsx)(c.v,{provider:f.provider,className:"size-3.5"}),f.label,(0,n.jsx)(s.A,{className:"size-3.5"})]})}),(0,n.jsx)(l.SQ,{align:"start",side:"top",className:"min-w-[280px] p-2",children:g.map((e,a)=>(0,n.jsxs)("div",{children:[a>0&&(0,n.jsx)(l.mB,{className:"my-2"}),(0,n.jsx)("div",{className:"px-2 pb-1.5 pt-1 text-sm text-muted-foreground",children:d.OW[e.provider]}),e.options.map(a=>{let s=a.id===f.id,d=a.id===m.id;return(0,n.jsxs)(l._2,{onSelect:()=>t(a.id),className:(0,i.cn)("group gap-2 py-2",s&&"bg-accent"),children:[(0,n.jsx)(c.v,{provider:e.provider,className:"size-3.5 text-muted-foreground"}),(0,n.jsx)("span",{className:(0,i.cn)("flex-1",s&&"font-medium"),children:a.label}),p&&(0,n.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),p(a.id),t(a.id)},className:(0,i.cn)("rounded p-0.5 transition-opacity",d?"opacity-100 text-primary":"opacity-0 text-muted-foreground group-hover:opacity-100 hover:text-foreground"),"aria-label":`Set ${a.label} as default`,children:(0,n.jsx)(r.A,{className:(0,i.cn)("size-3.5",d&&"fill-current")})}),s&&(0,n.jsx)(o.A,{className:"size-3.5"})]},a.id)})]},e.provider))})]})}},2264:(e,t,a)=>{a.d(t,{SQ:()=>l,_2:()=>d,mB:()=>c,rI:()=>o,ty:()=>i});var n=a(5155);a(2115);var s=a(3562),r=a(6218);let o=s.bL,i=s.l9;function l({className:e,sideOffset:t=4,...a}){return(0,n.jsx)(s.ZL,{children:(0,n.jsx)(s.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,r.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a})})}function d({className:e,inset:t,...a}){return(0,n.jsx)(s.q7,{"data-slot":"dropdown-menu-item",className:(0,r.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...a})}function c({className:e,...t}){return(0,n.jsx)(s.wv,{"data-slot":"dropdown-menu-separator",className:(0,r.cn)("-mx-1 my-1 h-px bg-muted",e),...t})}s.YJ,s.ZL,s.Pb,s.z6},2763:(e,t,a)=>{a.d(t,{Cf:()=>c,Es:()=>p,L3:()=>f,c7:()=>u,lG:()=>i,rr:()=>m});var n=a(5155);a(2115);var s=a(9483),r=a(4268),o=a(6218);function i({...e}){return(0,n.jsx)(s.bL,{"data-slot":"dialog",...e})}function l({...e}){return(0,n.jsx)(s.ZL,{"data-slot":"dialog-portal",...e})}function d({className:e,...t}){return(0,n.jsx)(s.hJ,{"data-slot":"dialog-overlay",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",e),...t})}function c({className:e,children:t,showCloseButton:a=!0,...i}){return(0,n.jsxs)(l,{"data-slot":"dialog-portal",children:[(0,n.jsx)(d,{}),(0,n.jsxs)(s.UC,{"data-slot":"dialog-content",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",e),...i,children:[t,a&&(0,n.jsxs)(s.bm,{"data-slot":"dialog-close",className:"focus:outline-hidden absolute right-4 top-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",children:[(0,n.jsx)(r.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function p({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function f({className:e,...t}){return(0,n.jsx)(s.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg font-semibold leading-none",e),...t})}function m({className:e,...t}){return(0,n.jsx)(s.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...t})}},4621:(e,t,a)=>{a.d(t,{S:()=>l,s:()=>i});var n=a(2115);let s=new Map,r=new Map;function o(e){return e?`/api/repos/${encodeURIComponent(e)}`:"/api"}function i(e){let t=o(e),a=e||"__default__",[i,l]=(0,n.useState)(s.get(a)??[]),[d,c]=(0,n.useState)(r.get(a)??0),[u,p]=(0,n.useState)(!s.has(a));(0,n.useEffect)(()=>{l(s.get(a)??[]),c(r.get(a)??0),p(!s.has(a))},[a]);let f=(0,n.useCallback)(async()=>{try{let e=await fetch(`${t}/tasks`);if(e.ok){let t=await e.json();s.set(a,t.tasks),r.set(a,t.servedTotal??0),l(t.tasks),c(t.servedTotal??0)}}finally{p(!1)}},[t,a]);(0,n.useEffect)(()=>{f()},[f]),(0,n.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&f()};return document.addEventListener("visibilitychange",e),window.addEventListener("focus",e),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("focus",e)}},[f]);let m=(0,n.useRef)(null),g=(0,n.useCallback)(()=>{m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{f(),m.current=null},300)},[f]),x=(0,n.useCallback)(async(e,a)=>!!(await fetch(`${t}/tasks/${e}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:a})})).ok&&(await f(),!0),[t,f]),h=(0,n.useCallback)(async(e,a,n,s,r)=>{let o,i=new AbortController,l=setTimeout(()=>i.abort(),2e4);try{o=await fetch(`${t}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,column:a,context:n,priority:s,createWorktree:r}),signal:i.signal})}catch{return{ok:!1,error:"Task creation timed out. Please try again."}}finally{clearTimeout(l)}if(o.ok)return{ok:!0,slug:(await o.json()).slug};try{let e=await o.json();if("string"==typeof e.error&&e.error.trim().length>0)return{ok:!1,error:e.error}}catch{}return{ok:!1,error:"Failed to create task."}},[t]),v=(0,n.useCallback)(async e=>{if((await fetch(`${t}/tasks/${e}`,{method:"DELETE"})).ok){let t=`kanban-chat-${e}-`;try{for(let e=window.localStorage.length-1;e>=0;e-=1){let a=window.localStorage.key(e);a&&a.startsWith(t)&&window.localStorage.removeItem(a)}}catch{}await f()}},[t,f]);return{tasks:i,loading:u,servedTotal:d,fetchTasks:f,debouncedFetchTasks:g,moveTask:x,createTask:h,deleteTask:v}}function l(e,t){let a=o(t),[s,r]=(0,n.useState)(null),[i,l]=(0,n.useState)(!1),d=(0,n.useCallback)(async()=>{if(!e)return void r(null);try{let t=await fetch(`${a}/tasks/${e}`);t.ok&&r(await t.json())}finally{l(!1)}},[a,e]);return(0,n.useEffect)(()=>{d()},[d]),{task:s,loading:i,fetchTask:d,updateContent:(0,n.useCallback)(async t=>{if(!e)return;let n=await fetch(`${a}/tasks/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t})});n.ok&&r(await n.json())},[a,e]),updateBody:(0,n.useCallback)(async t=>{if(!e)return!1;let n=await fetch(`${a}/tasks/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:t})});return!!n.ok&&(r(await n.json()),!0)},[a,e])}}},6007:(e,t,a)=>{a.d(t,{w:()=>d});var n=a(5155),s=a(7939),r=a(6218);let o=Array.from({length:12},(e,t)=>{let a=t/12*Math.PI*2-Math.PI/2;return{cx:+(8+5.2*Math.cos(a)).toFixed(1),cy:+(8+5.2*Math.sin(a)).toFixed(1)}});function i({litCount:e,className:t}){return(0,n.jsx)("svg",{viewBox:"0 0 16 16",className:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:o.map((t,a)=>(0,n.jsx)("circle",{cx:t.cx,cy:t.cy,r:.9,fill:"currentColor",opacity:a<e?1:.15},a))})}function l({className:e}){return(0,n.jsxs)("svg",{viewBox:"0 0 16 16",className:e,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"7",fill:"currentColor"}),(0,n.jsx)("path",{d:"M8 4.2V8.9",stroke:"white",strokeWidth:"1.8",strokeLinecap:"round"}),(0,n.jsx)("circle",{cx:"8",cy:"11.7",r:"1",fill:"white"})]})}function d({priority:e,className:t}){let a=t??"size-4";switch(e){case"urgent":return(0,n.jsx)(l,{className:(0,r.cn)(a,"text-red-500")});case"high":return(0,n.jsx)(i,{litCount:12,className:(0,r.cn)(a,"text-muted-foreground")});case"medium":return(0,n.jsx)(i,{litCount:8,className:(0,r.cn)(a,"text-muted-foreground")});case"low":return(0,n.jsx)(i,{litCount:4,className:(0,r.cn)(a,"text-muted-foreground")});default:return(0,n.jsx)(s.A,{className:(0,r.cn)(a,"text-muted-foreground/25")})}}},6218:(e,t,a)=>{a.d(t,{cn:()=>r});var n=a(9722),s=a(622);function r(...e){return(0,s.QP)((0,n.$)(e))}},7114:(e,t,a)=>{a.d(t,{v:()=>o});var n=a(5155),s=a(5772),r=a(6218);function o({provider:e,className:t}){return(0,n.jsx)(s.default,{src:"/claude-ai-symbol.svg",alt:"",width:16,height:16,"aria-hidden":"true",className:(0,r.cn)("size-4",t),"data-provider":e})}},7268:(e,t,a)=>{a.d(t,{p:()=>s});let n=new Set(["untitled","untitled order"]);function s(e){return n.has(e?e.trim().replace(/\s+/g," ").toLowerCase():"")}},8884:(e,t,a)=>{a.d(t,{AH:()=>c,G$:()=>l,OW:()=>h,Ou:()=>j,cZ:()=>d,eE:()=>u,fz:()=>p,hZ:()=>m,r1:()=>w,uC:()=>f,xj:()=>g,xq:()=>y,yX:()=>x});var n=a(6518),s=a(1210),r=a(1251),o=a(5451),i=a(2515);let l={pantry:n.A,"mise-en-place":s.A,firing:r.A,review:o.A,served:i.A},d=[{id:"pantry",title:"Pantry",directory:"1-pantry"},{id:"mise-en-place",title:"To Prep",directory:"2-mise-en-place"},{id:"firing",title:"Firing",directory:"3-firing"},{id:"review",title:"Review",directory:"4-review"},{id:"served",title:"Served",directory:"5-served"}],c=[{statuses:["running"],label:"Cooking",dotClass:"bg-orange-500",pillBgClass:"bg-orange-50",pillTextClass:"text-orange-700"},{statuses:["needs_tasting"],label:"Needs tasting",dotClass:"bg-blue-500",pillBgClass:"bg-blue-50",pillTextClass:"text-blue-700"},{statuses:["error"],label:"Burnt",dotClass:"bg-red-500",pillBgClass:"bg-red-50",pillTextClass:"text-red-700"},{statuses:["handing_off"],label:"Handing off",dotClass:"bg-purple-500",pillBgClass:"bg-purple-50",pillTextClass:"text-purple-700"},{statuses:["idle",void 0],label:"Resting",dotClass:"bg-steel-400",pillBgClass:"bg-muted",pillTextClass:"text-muted-foreground"}];function u(e){return c.find(t=>t.statuses.includes(e))??c[c.length-1]}let p=[{value:"none",label:"No priority",numeric:0},{value:"low",label:"Low",numeric:1},{value:"medium",label:"Medium",numeric:2},{value:"high",label:"High",numeric:3},{value:"urgent",label:"Urgent",numeric:4}];function f(e){return p.find(t=>t.value===e)?.numeric??0}function m(e){let t=d.findIndex(t=>t.id===e);return -1===t?0:t+1}let g="opus",x="brigade-chat-default-model",h={anthropic:"Claude Code"},v=["anthropic"],b=[{id:"opus",label:"Opus 4.6",cliModel:"opus",provider:"anthropic",meta:"Powerful"},{id:"sonnet",label:"Sonnet 4.6",cliModel:"sonnet",provider:"anthropic",meta:"Balanced"},{id:"haiku",label:"Haiku 4.5",cliModel:"haiku",provider:"anthropic",meta:"Fast"}];function y(e){return e?b.find(t=>t.id===e)??b.find(e=>e.id===g):b.find(e=>e.id===g)}function w(){return v.map(e=>({provider:e,label:h[e],options:b.filter(t=>t.provider===e)})).filter(e=>e.options.length>0)}function j(e){if(!e)return g;let t=e.trim();if(!t)return g;let a=b.find(e=>e.id===t);if(a)return a.id;let n=b.find(e=>e.cliModel===t);return n?n.id:g}},9239:(e,t,a)=>{a.d(t,{$:()=>l,r:()=>i});var n=a(5155);a(2115);var s=a(2442),r=a(8460),o=a(6218);let i=(0,r.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t,size:a,asChild:r=!1,type:l,...d}){let c=r?s.DX:"button";return(0,n.jsx)(c,{"data-slot":"button",className:(0,o.cn)(i({variant:t,size:a,className:e})),...!r?{type:l??"button"}:{},...d})}},9409:(e,t,a)=>{a.d(t,{x:()=>o});var n=a(5155),s=a(6218);let r={sm:"size-1.5",md:"size-2.5"};function o({size:e="md",className:t}){return(0,n.jsx)("span",{className:(0,s.cn)("shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",r[e],t),role:"status","aria-label":"Active"})}}}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3604],{751:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(3623)._(r(2115)).default.createContext(null)},1172:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=r(2115);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=a(e,n)),t&&(i.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1210:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8698).A)("Slice",[["path",{d:"M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14",key:"1sllp5"}]])},1251:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8698).A)("Flame",[["path",{d:"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z",key:"96xj49"}]])},2515:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8698).A)("UtensilsCrossed",[["path",{d:"m16 2-2.3 2.3a3 3 0 0 0 0 4.2l1.8 1.8a3 3 0 0 0 4.2 0L22 8",key:"n7qcjb"}],["path",{d:"M15 15 3.3 3.3a4.2 4.2 0 0 0 0 6l7.3 7.3c.7.7 2 .7 2.8 0L15 15Zm0 0 7 7",key:"d0u48b"}],["path",{d:"m2.1 21.8 6.4-6.3",key:"yn04lh"}],["path",{d:"m19 5-7 7",key:"194lzd"}]])},2590:(e,t)=>{function r({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:a}){let l=r?40*r:e,o=n?40*n:t,s=l&&o?`viewBox='0 0 ${l} ${o}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${s}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${s?"none":"contain"===a?"xMidYMid":"cover"===a?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},5451:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8698).A)("ConciergeBell",[["path",{d:"M3 20a1 1 0 0 1-1-1v-1a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1Z",key:"1pvr1r"}],["path",{d:"M20 16a8 8 0 1 0-16 0",key:"1pa543"}],["path",{d:"M12 4v4",key:"1bq03y"}],["path",{d:"M10 4h4",key:"1xpv9s"}]])},5762:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={VALID_LOADERS:function(){return i},imageConfigDefault:function(){return a}};for(var n in r)Object.defineProperty(t,n,{enumerable:!0,get:r[n]});let i=["default","imgix","cloudinary","akamai","custom"],a={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},5772:(e,t,r)=>{r.d(t,{default:()=>i.a});var n=r(7651),i=r.n(n)},6095:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(8857),i=r(3887);function a({config:e,src:t,width:r,quality:a}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(a,e),o=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&o?`&dpl=${o}`:""}`}a.__next_img_default=!0;let l=a},6518:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(8698).A)("Refrigerator",[["path",{d:"M5 6a4 4 0 0 1 4-4h6a4 4 0 0 1 4 4v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6Z",key:"fpq118"}],["path",{d:"M5 10h14",key:"elsbfy"}],["path",{d:"M15 7v6",key:"1nx30x"}]])},6686:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return m},defaultHead:function(){return c}};for(var i in n)Object.defineProperty(t,i,{enumerable:!0,get:n[i]});let a=r(3623),l=r(6388),o=r(5155),s=l._(r(2115)),u=a._(r(6899)),d=r(5368);function c(){return[(0,o.jsx)("meta",{charSet:"utf-8"},"charset"),(0,o.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(7284);let p=["name","httpEquiv","charSet","itemProp"];function g(e){let t,r,n,i;return e.reduce(f,[]).reverse().concat(c().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let a=!0,l=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){l=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?a=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?a=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?a=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!l)&&n.has(t)?a=!1:(n.add(t),i[r]=n)}}}return a})).reverse().map((e,t)=>{let r=e.key||t;return s.default.cloneElement(e,{key:r})})}let m=function({children:e}){let t=(0,s.useContext)(d.HeadManagerContext);return(0,o.jsx)(u.default,{reduceComponentsToState:g,headManager:t,children:e})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6899:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(2115),i=n.useLayoutEffect,a=n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),i(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},7150:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(3623)._(r(2115)),i=r(5762),a=n.default.createContext(i.imageConfigDefault)},7651:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return d},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(t,i,{enumerable:!0,get:n[i]});let a=r(3623),l=r(7794),o=r(8437),s=a._(r(6095));function u(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:s.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let d=o.Image},7794:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return u}}),r(7284);let n=r(3887),i=r(2590),a=r(5762),l=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function s(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:d=!1,loading:c,className:f,quality:p,width:g,height:m,fill:h=!1,style:y,overrideSrc:b,onLoad:v,onLoadingComplete:_,placeholder:w="empty",blurDataURL:j,fetchPriority:P,decoding:O="async",layout:x,objectFit:C,objectPosition:S,lazyBoundary:E,lazyRoot:M,...R},k){var z;let A,I,$,{imgConf:D,showAltText:L,blurComplete:N,defaultLoader:q}=k,F=D||a.imageConfigDefault;if("allSizes"in F)A=F;else{let e=[...F.deviceSizes,...F.imageSizes].sort((e,t)=>e-t),t=F.deviceSizes.sort((e,t)=>e-t),r=F.qualities?.sort((e,t)=>e-t);A={...F,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===q)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let T=R.loader||q;delete R.loader,delete R.srcSet;let U="__next_img_default"in T;if(U){if("custom"===A.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
|
|
3
|
+
Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=T;T=t=>{let{config:r,...n}=t;return e(n)}}if(x){"fill"===x&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[x];e&&(y={...y,...e});let r={responsive:"100vw",fill:"100vw"}[x];r&&!t&&(t=r)}let B="",W=s(g),G=s(m);if((z=e)&&"object"==typeof z&&(o(z)||void 0!==z.src)){let t=o(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(I=t.blurWidth,$=t.blurHeight,j=j||t.blurDataURL,B=t.src,!h)if(W||G){if(W&&!G){let e=W/t.width;G=Math.round(t.height*e)}else if(!W&&G){let e=G/t.height;W=Math.round(t.width*e)}}else W=t.width,G=t.height}let V=!u&&!d&&("lazy"===c||void 0===c);(!(e="string"==typeof e?e:B)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,V=!1),A.unoptimized&&(r=!0),U&&!A.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let H=s(p),X=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:C,objectPosition:S}:{},L?{}:{color:"transparent"},y),Z=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:W,heightInt:G,blurWidth:I,blurHeight:$,blurDataURL:j||"",objectFit:X.objectFit})}")`:`url("${w}")`,J=l.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,Q=Z?{backgroundSize:J,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Z}:{},Y=function({config:e,src:t,unoptimized:r,width:i,quality:a,sizes:l,loader:o}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:s,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,l),d=s.length-1;return{sizes:l||"w"!==u?l:"100vw",srcSet:s.map((r,n)=>`${o({config:e,src:t,quality:a,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:o({config:e,src:t,quality:a,width:s[d]})}}({config:A,src:e,unoptimized:r,width:W,quality:H,sizes:t,loader:T}),K=V?"lazy":c;return{props:{...R,loading:K,fetchPriority:P,width:W,height:G,decoding:O,className:f,style:{...X,...Q},sizes:Y.sizes,srcSet:Y.srcSet,src:b||Y.src},meta:{unoptimized:r,preload:d||u,placeholder:w,fill:h}}}},8437:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return _}});let n=r(3623),i=r(6388),a=r(5155),l=i._(r(2115)),o=n._(r(7650)),s=n._(r(6686)),u=r(7794),d=r(5762),c=r(7150);r(7284);let f=r(751),p=n._(r(6095)),g=r(1172),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,a,l){let o=e?.src;e&&e["data-loaded-src"]!==o&&(e["data-loaded-src"]=o,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}let b=(0,l.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:o,className:s,style:u,fetchPriority:d,placeholder:c,loading:f,unoptimized:p,fill:m,onLoadRef:b,onLoadingCompleteRef:v,setBlurComplete:_,setShowAltText:w,sizesInput:j,onLoad:P,onError:O,...x},C)=>{let S=(0,l.useCallback)(e=>{e&&(O&&(e.src=e.src),e.complete&&h(e,c,b,v,_,p,j))},[e,c,b,v,_,O,p,j]),E=(0,g.useMergedRef)(C,S);return(0,a.jsx)("img",{...x,...y(d),loading:f,width:i,height:n,decoding:o,"data-nimg":m?"fill":"1",className:s,style:u,sizes:r,srcSet:t,src:e,ref:E,onLoad:e=>{h(e.currentTarget,c,b,v,_,p,j)},onError:e=>{w(!0),"empty"!==c&&_(!0),O&&O(e)}})});function v({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&o.default.preload?(o.default.preload(t.src,r),null):(0,a.jsx)(s.default,{children:(0,a.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let _=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(f.RouterContext),n=(0,l.useContext)(c.ImageConfigContext),i=(0,l.useMemo)(()=>{let e=m||n||d.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:e.localPatterns}},[n]),{onLoad:o,onLoadingComplete:s}=e,g=(0,l.useRef)(o);(0,l.useEffect)(()=>{g.current=o},[o]);let h=(0,l.useRef)(s);(0,l.useEffect)(()=>{h.current=s},[s]);let[y,_]=(0,l.useState)(!1),[w,j]=(0,l.useState)(!1),{props:P,meta:O}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:w});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(b,{...P,unoptimized:O.unoptimized,placeholder:O.placeholder,fill:O.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:_,setShowAltText:j,sizesInput:e.sizes,ref:t}),O.preload?(0,a.jsx)(v,{isAppRouter:!r,imgAttributes:P}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8857:(e,t)=>{function r(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findClosestQuality",{enumerable:!0,get:function(){return r}})}}]);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5083],{5083:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ti});var r=s(5155),n=s(3321),a=s(2115),l=s(4621),i=s(8990),o=s(6218);function c({className:e,children:t,...s}){return(0,r.jsxs)(i.bL,{"data-slot":"scroll-area",className:(0,o.cn)("relative",e),...s,children:[(0,r.jsx)(i.LM,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:t}),(0,r.jsx)(d,{}),(0,r.jsx)(i.OK,{})]})}function d({className:e,orientation:t="vertical",...s}){return(0,r.jsx)(i.VM,{"data-slot":"scroll-area-scrollbar",orientation:t,className:(0,o.cn)("flex touch-none select-none p-px transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...s,children:(0,r.jsx)(i.lr,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}var u=s(9239),m=s(6998),x=s(8528);function p({title:e,count:t,defaultOpen:s=!1,onToggleAll:n,toggleAllLabel:l,children:i}){let[o,c]=(0,a.useState)(s);return(0,r.jsxs)("div",{className:"rounded border bg-muted/30",children:[(0,r.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 overflow-hidden px-3 py-2",onClick:()=>c(!o),children:[o?(0,r.jsx)(m.A,{className:"size-3.5 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("span",{className:"text-sm font-medium",children:e}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",t,")"]}),n&&t>0&&(0,r.jsx)("button",{className:"ml-auto shrink-0 text-xs text-primary underline hover:text-primary/80 cursor-pointer",onClick:e=>{e.stopPropagation(),n()},children:l??"Toggle all"})]}),o&&(0,r.jsx)("div",{className:"overflow-hidden border-t px-3 py-2",children:i})]})}var f=s(2609),h=s(9304),g=s(4374);function b(e){return e.startsWith("diff --git")?"font-bold text-foreground bg-muted/50 pt-3 mt-2":e.startsWith("@@")?"text-blue-600 font-semibold bg-blue-500/10":e.startsWith("+")&&!e.startsWith("+++")?"bg-green-500/10 text-green-800":e.startsWith("-")&&!e.startsWith("---")?"bg-red-500/10 text-red-800":""}function j({diff:e,truncated:t,totalLines:s,maxHeight:n="400px"}){if(!e)return(0,r.jsx)("div",{className:"flex items-center justify-center py-4 text-xs text-muted-foreground",children:"No changes"});let a=function(e){let t=e.split("\n"),s=[],r=null;for(let e of t){let t=e.match(/^diff --git a\/(.+?) b\/(.+)$/);t?(r&&s.push(r),r={filePath:t[2],lines:[e]}):r&&r.lines.push(e)}return r&&s.push(r),s}(e),l=a.length>0;return(0,r.jsx)(c,{style:{maxHeight:n},children:(0,r.jsxs)("div",{className:"font-mono text-[11px] leading-relaxed",children:[l?a.map((e,t)=>(0,r.jsx)("div",{children:e.lines.map((e,s)=>(0,r.jsx)("div",{className:`px-2 py-px whitespace-pre ${b(e)}`,children:e||"\xa0"},`${t}-${s}`))},t)):e.split("\n").map((e,t)=>(0,r.jsx)("div",{className:`px-2 py-px whitespace-pre ${b(e)}`,children:e||"\xa0"},t)),t&&(0,r.jsxs)("div",{className:"mt-2 px-2 py-1.5 rounded bg-amber-500/10 border border-amber-500/20 text-amber-800 text-xs",children:["Diff truncated — showing first 5,000 of"," ",s?.toLocaleString()," lines"]})]})})}var y=s(8368);let v={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},"?":{label:"?",color:"text-gray-500"},C:{label:"C",color:"text-purple-500"},U:{label:"U",color:"text-yellow-600"}};function N({status:e,path:t,linesAdded:s,linesRemoved:n,checked:l,onToggle:i,slug:o,repoId:c,staged:d}){let u=v[e]||{label:e,color:"text-muted-foreground"},[p,b]=(0,a.useState)(!1),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(!1),[S,A]=(0,a.useState)(!1),[$,z]=(0,a.useState)(0),I=s??0,E=n??0,T=(0,a.useMemo)(()=>o?(0,y.jx)(c,o):null,[c,o]),R=!!o&&"?"!==e,D=async e=>{if(e.stopPropagation(),R){if(p)return void b(!1);if(b(!0),null===N){C(!0);try{let e=await fetch(`${T}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-file",file:t,staged:d})}),s=await e.json();w(s.diff||""),A(s.truncated||!1),z(s.totalLines||0)}catch{w("")}finally{C(!1)}}}};return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded px-1 py-0.5 text-xs",children:[i&&(0,r.jsx)("div",{className:"flex cursor-pointer items-center",onClick:i,children:l?(0,r.jsx)(f.A,{className:"size-4 shrink-0 text-primary"}):(0,r.jsx)(h.A,{className:"size-4 shrink-0 text-muted-foreground/50"})}),(0,r.jsxs)("div",{className:`flex min-w-0 flex-1 items-center gap-2 rounded px-1 py-0.5 ${R?"cursor-pointer hover:bg-muted/50":""}`,onClick:R?D:void 0,children:[R&&(p?(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,r.jsx)("span",{className:`shrink-0 font-mono font-bold ${u.color}`,children:u.label}),(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-foreground/80",children:t}),(I>0||E>0)&&(0,r.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-1 font-mono tabular-nums",children:[I>0&&(0,r.jsxs)("span",{className:"text-green-600",children:["+",I]}),E>0&&(0,r.jsxs)("span",{className:"text-red-600",children:["-",E]})]})]})]}),p&&(0,r.jsx)("div",{className:"ml-6 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:k?(0,r.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,r.jsx)(g.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,r.jsx)(j,{diff:N||"",truncated:S,totalLines:$,maxHeight:"300px"})})]})}let w={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},C:{label:"C",color:"text-purple-500"}};function k({hash:e,author:t,relativeTime:s,message:n,files:l,slug:i,repoId:o}){let[c,d]=(0,a.useState)(!1),[u,p]=(0,a.useState)({}),[f,h]=(0,a.useState)(null),[b,v]=(0,a.useState)(null),N=(0,a.useMemo)(()=>i?(0,y.jx)(o,i):null,[o,i]),k=async t=>{if(b===t)return void v(null);if((v(t),!u[t])&&N){h(t);try{let s=await fetch(`${N}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-commit",hash:e,file:t})}),r=await s.json();p(e=>({...e,[t]:{diff:r.diff||"",truncated:r.truncated||!1,totalLines:r.totalLines||0}}))}catch{p(e=>({...e,[t]:{diff:"",truncated:!1,totalLines:0}}))}finally{h(null)}}};return(0,r.jsxs)("div",{className:"rounded border bg-muted/20",children:[(0,r.jsxs)("div",{className:"flex cursor-pointer items-center gap-2 px-3 py-2",onClick:()=>d(!c),children:[c?(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"size-3 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"min-w-0 truncate text-sm",children:n}),(0,r.jsx)("span",{className:"ml-auto shrink-0 font-mono text-[10px] text-muted-foreground",children:e})]}),c&&(0,r.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"mx-1.5",children:"\xb7"}),(0,r.jsx)("span",{children:s})]}),l&&l.length>0&&(0,r.jsx)("div",{className:"mt-2 flex flex-col gap-0.5",children:l.map((e,t)=>{let s=w[e.status]||{label:e.status,color:"text-muted-foreground"},n=b===e.path,a=!!i;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:`flex min-w-0 items-center gap-2 text-xs rounded px-1 py-0.5 ${a?"cursor-pointer hover:bg-muted/50":""}`,onClick:a?()=>k(e.path):void 0,children:[a&&(n?(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,r.jsx)("span",{className:`shrink-0 font-mono font-bold ${s.color}`,children:s.label}),(0,r.jsx)("span",{className:"truncate font-mono text-foreground/70",children:e.path})]}),n&&(0,r.jsx)("div",{className:"ml-5 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:f===e.path?(0,r.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,r.jsx)(g.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,r.jsx)(j,{diff:u[e.path]?.diff||"",truncated:u[e.path]?.truncated,totalLines:u[e.path]?.totalLines,maxHeight:"300px"})})]},t)})})]})]})}var C=s(5413),S=s(1679);function A({slug:e,repoId:t}){let[s,n]=(0,a.useState)(null),[l,i]=(0,a.useState)(!0),[o,d]=(0,a.useState)(null),[m,x]=(0,a.useState)(!1),[f,h]=(0,a.useState)(null),[b,v]=(0,a.useState)(!1),[w,A]=(0,a.useState)(!1),[$,z]=(0,a.useState)(0),I=(0,a.useMemo)(()=>(0,y.jx)(t,e),[t,e]),E=(0,a.useCallback)(async()=>{i(!0),d(null);try{let e=await fetch(`${I}/git`),t=await e.json();t.error?(d(t.error),n(null)):n(t)}catch{d("Failed to fetch git status")}finally{i(!1)}},[I]);(0,a.useEffect)(()=>{E()},[E]);let T=async()=>{if(m)return void x(!1);if(x(!0),null===f){v(!0);try{let e=await fetch(`${I}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-branch"})}),t=await e.json();h(t.diff||""),A(t.truncated||!1),z(t.totalLines||0)}catch{h("")}finally{v(!1)}}},R=(0,a.useMemo)(()=>{if(!s)return[];let e=new Set,t=[];for(let r of s.staged)e.add(r.path),t.push({...r,staged:!0});for(let r of s.unstaged)e.has(r.path)||t.push(r);return t},[s]);return(0,r.jsx)("div",{className:"flex h-full flex-col",children:(0,r.jsx)(c,{className:"flex-1 min-h-0",children:(0,r.jsxs)("div",{className:"flex w-0 min-w-full flex-col gap-3 overflow-hidden p-3",children:[l&&!s&&(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(g.A,{className:"size-4 animate-spin"})}),o&&(0,r.jsx)("div",{className:"rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:o}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p,{title:"Changes",count:R.length,defaultOpen:R.length>0,children:0===R.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"No changes"}):R.map((s,n)=>(0,r.jsx)(N,{status:s.status,path:s.path,linesAdded:s.linesAdded,linesRemoved:s.linesRemoved,slug:e,repoId:t,staged:s.staged},n))}),!s.onMain&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5",children:[(0,r.jsx)(C.A,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("h3",{className:"text-sm font-medium",children:"Commits"})]}),0===s.commits.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"No commits on this branch yet"}):(0,r.jsx)("div",{className:"flex flex-col gap-1.5",children:s.commits.map(s=>(0,r.jsx)(k,{...s,slug:e,repoId:t},s.hash))})]}),!s.onMain&&s.commits.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(u.$,{variant:"outline",size:"sm",onClick:T,className:"w-full gap-1.5 cursor-pointer",children:[(0,r.jsx)(S.A,{className:"size-3.5"}),m?"Hide all changes":"View all changes vs main"]}),m&&(0,r.jsx)("div",{className:"mt-2 rounded border bg-muted/10 overflow-hidden",children:b?(0,r.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,r.jsx)(g.A,{className:"size-4 animate-spin text-muted-foreground"})}):(0,r.jsx)(j,{diff:f||"",truncated:w,totalLines:$,maxHeight:"500px"})})]})]})]})})})}var $=s(2270);function z(e){return"object"==typeof e&&null!==e}let I=[/oauth token has expired/i,/token has expired/i,/expired.*token/i,/authentication_error/i,/failed to authenticate/i,/please obtain a new token/i];function E(e){let t,s=e.trim(),r=((t=s.match(/\{[\s\S]*"(?:message|detail)"\s*:\s*"([^"]+)"[\s\S]*\}/))?t[1]:null)??s;return/internal server error/i.test(r)?{message:"The AI service hit a temporary issue. You can try sending your message again.",details:s}:/overloaded/i.test(r)?{message:"The AI service is currently overloaded. Please wait a moment and try again.",details:s}:/rate limit/i.test(r)?{message:"Too many requests. Please wait a moment and try again.",details:s}:I.some(e=>e.test(r))?{message:"Authentication expired. Reconnect Claude CLI (`claude auth login`) and try again.",details:s}:/authentication|unauthorized|invalid.*key/i.test(r)?{message:"There was an authentication problem with the AI service.",details:s}:/chat request failed/i.test(r)?{message:"Couldn't reach the AI service. Check your connection and try again.",details:s}:{message:r}}function T(e){return"object"==typeof e&&null!==e}var R=s(9366);let D=new Set;function O(e,t){if(0===t.length&&e.length>0||t.length<e.length)return!1;if(t.length>e.length)return!0;for(let s=0;s<t.length;s++){let r=t[s],n=e[s];if(!n||r.id!==n.id||r.role!==n.role||(0,R.B)(n,r))return!0}return!1}function _(e){if("string"!=typeof e)return null;let t=e.trim();return!t||t.startsWith("pending-")?null:t}function L(e){let t=[],s=e=>{if("string"!=typeof e)return;let s=e.trim();s&&t.push(s)};if(s(e.result),s(e.error),Array.isArray(e.errors))for(let t of e.errors)s(t);return t}var P=s(7536),M=s(8884),F=s(7268),U=s(9392),W=s(4380),B=s(2515),q=s(9056),J=s(9664),H=s(3647),G=s(257),Y=s(1436),K=s(8541),Q=s(9683),V=s(3774),X=s(9702),Z=s(6336);let ee=(0,s(7206).default)(()=>Promise.all([s.e(161),s.e(232)]).then(s.bind(s,7851)).then(e=>({default:e.CodeBlock})),{loadableGenerated:{webpack:()=>[7851]},ssr:!1});function et(e){try{let t=JSON.parse(e);return{code:JSON.stringify(t,null,2),language:"json"}}catch{return{code:e,language:"text"}}}function es(e){try{let t=JSON.parse(e);return"object"==typeof t&&null!==t?t:null}catch{return null}}function er(e){let t=e.split("/").filter(Boolean);return t.length<=2?e:t.slice(-2).join("/")}let en={Bash:U.A,Read:W.A,Edit:B.A,Write:q.A,Grep:J.A,Glob:H.A,WebFetch:G.A,WebSearch:G.A,Task:Y.A,TodoWrite:K.A,Skill:Q.A,NotebookEdit:V.A},ea={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function el({toolCall:e,isStreaming:t,subtle:s=!1}){let[n,l]=(0,a.useState)(!1),i=en[e.name]??X.A,o=!!e.output,c=!o&&!!t,{text:d,code:u}=function(e,t){let s=es(t);switch(e){case"Read":{let e=s?.file_path;return e?{text:"Read",code:er(e)}:{text:"Read file"}}case"Edit":{let e=s?.file_path;return e?{text:"Edit",code:er(e)}:{text:"Edit file"}}case"Write":{let e=s?.file_path;return e?{text:"Write",code:er(e)}:{text:"Write file"}}case"Bash":{let e=s?.command;if(!e)return{text:"Run command"};return{text:"Run",code:e.length>60?e.slice(0,57)+"...":e}}case"Grep":{let e=s?.pattern,t=s?.path;if(!e)return{text:"Search files"};let r=t?` in ${er(t)}`:"";return{text:"Search for",code:`${e}${r}`}}case"Glob":{let e=s?.pattern;return e?{text:"Find files",code:e}:{text:"Find files"}}case"WebFetch":{let e=s?.url;if(!e)return{text:"Fetch URL"};try{return{text:"Fetch",code:new URL(e).hostname}}catch{return{text:"Fetch URL"}}}case"WebSearch":{let e=s?.query;return e?{text:"Search web for",code:e}:{text:"Search the web"}}case"Task":{let e=s?.description;return e?{text:"Launch agent:",code:e}:{text:"Launch sub-agent"}}case"TodoWrite":return{text:"Update task list"};case"Skill":{let e=s?.skill;return e?{text:"Use skill",code:e}:{text:"Use skill"}}case"NotebookEdit":return{text:"Edit notebook"};default:return{text:e}}}(e.name,e.input);return(0,r.jsxs)("div",{className:s?"text-xs":"rounded-md border text-xs",children:[(0,r.jsxs)("button",{type:"button",className:`flex w-full cursor-pointer items-center gap-1.5 text-left transition-colors ${s?"py-0.5 text-muted-foreground hover:text-foreground":"rounded-md px-2 py-1.5 hover:bg-accent/50"}`,onClick:()=>l(!n),children:[c?(0,r.jsx)(g.A,{className:`shrink-0 animate-spin ${s?"size-3 text-orange-500":"size-3.5 text-amber-500"}`}):o?(0,r.jsx)("div",{className:`flex shrink-0 items-center justify-center rounded-full ${s?"size-3 text-muted-foreground":"size-3.5 bg-muted text-muted-foreground"}`,children:(0,r.jsx)(Z.A,{className:"size-2.5",strokeWidth:3})}):(0,r.jsx)("div",{className:`shrink-0 rounded-full border border-muted-foreground/30 ${s?"size-2.5":"size-3.5"}`}),(0,r.jsx)(i,{className:"size-3 shrink-0 text-muted-foreground"}),(0,r.jsxs)("span",{className:`flex-1 truncate ${s?"text-muted-foreground":"text-foreground"}`,children:[d,u&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)("code",{className:`${s?"font-mono text-[11px] text-muted-foreground/90":"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-muted-foreground"}`,children:u})]})]}),n?(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(x.A,{className:"size-3 shrink-0 text-muted-foreground"})]}),n&&(0,r.jsxs)("div",{className:`${s?"ml-6 border-l border-border/70 pl-2.5 py-1.5 space-y-1.5":"border-t px-2 py-1.5 space-y-1.5"}`,children:[e.input&&(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Input"}),(()=>{let{code:t,language:s}=et(e.input);return(0,r.jsx)(ee,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...ea,marginTop:"0.25rem"}})})()]}),e.output&&(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Output"}),(()=>{let{code:t,language:s}=et(e.output);return(0,r.jsx)(ee,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...ea,marginTop:"0.25rem"}})})()]}),c&&!e.output&&(0,r.jsxs)("div",{className:`flex items-center gap-1.5 py-1 text-[11px] ${s?"text-orange-600":"text-amber-600"}`,children:[(0,r.jsx)(g.A,{className:"size-3 animate-spin"}),(0,r.jsx)("span",{children:"Running..."})]})]})]})}var ei=s(2773),eo=s(9266);function ec({questions:e,onAnswer:t,isAnswered:s}){let[n,l]=(0,a.useState)({}),[i,c]=(0,a.useState)({}),[d,u]=(0,a.useState)(!1),m=s||d||!t,x=1===e.length&&!e[0].multiSelect,p=(0,a.useCallback)(t=>{let s=e.map((s,r)=>{let a=n[r]||[],l=(t?.[r]??i[r])?.trim(),o=[...a];if(l&&o.push(l),1===e.length)return o.join(", ");let c=s.header||`Q${r+1}`;return`${c}: ${o.join(", ")}`});return 1===e.length?s[0]:s.join("\n")},[e,n,i]),f=e=>{if(m)return;let s=i[e]?.trim();if(!s)return;let r={...i,[e]:s};if(c(r),x){u(!0),t?.(s);return}let n=p(r);n&&(u(!0),t?.(n))};return(0,r.jsxs)("div",{className:(0,o.cn)("rounded-lg border p-4 space-y-4",m?"border-muted bg-muted/30 opacity-60":"border-primary/20 bg-primary/5"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-primary",children:[(0,r.jsx)(ei.A,{className:"size-4"}),(0,r.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Question"})]}),e.map((s,a)=>(0,r.jsxs)("div",{className:"space-y-2",children:[s.header&&(0,r.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:s.header}),(0,r.jsx)("p",{className:"text-sm font-medium",children:s.question}),(0,r.jsx)("div",{className:"flex flex-col gap-2",children:s.options.map((s,i)=>{let c=(n[a]||[]).includes(s.label);return(0,r.jsxs)("button",{onClick:()=>{var r;return r=s.label,void(m||(e[a].multiSelect?l(e=>{let t=e[a]||[],s=t.includes(r)?t.filter(e=>e!==r):[...t,r];return{...e,[a]:s}}):(l(e=>({...e,[a]:[r]})),x&&(u(!0),t?.(r)))))},disabled:m,className:(0,o.cn)("w-full rounded-lg border bg-background px-3 py-2 text-left transition-colors",m?"cursor-default":"cursor-pointer hover:bg-primary/10",c&&"bg-primary text-primary-foreground border-primary"),children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:`${i+1}. ${s.label}`}),s.description&&(0,r.jsx)("span",{className:(0,o.cn)("block text-xs mt-0.5",c?"text-primary-foreground/70":"text-muted-foreground"),children:s.description})]},s.label)})}),(0,r.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,r.jsx)("input",{type:"text",placeholder:"Type your answer…",value:i[a]||"",onChange:e=>c(t=>({...t,[a]:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),f(a))},disabled:m,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring disabled:opacity-60"}),(0,r.jsx)("button",{onClick:()=>f(a),disabled:m||!i[a]?.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default","aria-label":"Send custom answer",children:(0,r.jsx)(eo.A,{className:"size-3.5"})})]})]},a)),!x&&!m&&(0,r.jsx)("button",{onClick:()=>{if(m)return;let e=p();e&&(u(!0),t?.(e))},disabled:Object.values(n).every(e=>0===e.length)&&Object.values(i).every(e=>!e?.trim()),className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default hover:bg-primary/90 transition-colors",children:"Submit"})]})}var ed=s(8723);function eu({onAnswer:e,isAnswered:t}){let[s,n]=(0,a.useState)(!1),[l,i]=(0,a.useState)(!1),[c,d]=(0,a.useState)(""),u=t||s||!e,m=()=>{!u&&c.trim()&&(n(!0),e?.(c.trim()))};return(0,r.jsxs)("div",{className:(0,o.cn)("rounded-lg border p-4 space-y-3",u?"border-muted bg-muted/30 opacity-60":"border-yellow-500/20 bg-yellow-500/5"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-yellow-600",children:[(0,r.jsx)(ed.A,{className:"size-4"}),(0,r.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Plan ready for review"})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"The agent has prepared a plan and is waiting for your approval to proceed."}),!l&&(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:()=>{u||(n(!0),e?.("Approved — go ahead"))},disabled:u,className:(0,o.cn)("rounded-md px-4 py-2 text-sm font-medium transition-colors",u?"bg-muted text-muted-foreground cursor-default":"bg-green-600 text-white cursor-pointer hover:bg-green-700"),children:"Approve & proceed"}),(0,r.jsx)("button",{onClick:()=>{u||i(!0)},disabled:u,className:(0,o.cn)("rounded-md border px-4 py-2 text-sm font-medium transition-colors",u?"cursor-default":"cursor-pointer hover:bg-primary/10"),children:"Request changes"})]}),l&&!u&&(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("input",{type:"text",placeholder:"Describe what to change…",value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),m())},autoFocus:!0,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)("button",{onClick:m,disabled:!c.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,r.jsx)(eo.A,{className:"size-3.5"})})]})]})}var em=s(8426),ex=s(7890),ep=s(5537),ef=s(3181),eh=s(2763);function eg({html:e}){let[t,s]=(0,a.useState)(!1),[n,l]=(0,a.useState)(!1),[i,o]=(0,a.useState)(150),[c,d]=(0,a.useState)(!1),u=(0,a.useId)(),p=(0,a.useMemo)(()=>{let t;return t=e.replace(/<script[\s\S]*?<\/script>/gi,""),`<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
*, *::before, *::after { box-sizing: border-box; }
|
|
8
|
+
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
|
|
9
|
+
</style>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
${t}
|
|
13
|
+
<script>
|
|
14
|
+
function notifyHeight() {
|
|
15
|
+
var h = document.documentElement.scrollHeight;
|
|
16
|
+
window.parent.postMessage({ type: 'html-preview-resize', id: '${u}', height: h }, '*');
|
|
17
|
+
}
|
|
18
|
+
window.addEventListener('load', notifyHeight);
|
|
19
|
+
new ResizeObserver(notifyHeight).observe(document.body);
|
|
20
|
+
</script>
|
|
21
|
+
</body>
|
|
22
|
+
</html>`},[e,u]);return((0,a.useEffect)(()=>{let e=e=>{if(e.data?.type==="html-preview-resize"&&e.data?.id===u){let t=Math.max(150,Math.round(e.data.height));o(Math.min(t,400)),d(t>400)}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[u]),e.trim())?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"group relative my-2 cursor-pointer overflow-hidden rounded-lg border bg-background transition-colors hover:border-primary",style:{maxHeight:400},onClick:()=>s(!0),children:[(0,r.jsx)("div",{className:"absolute left-2 top-1.5 z-10 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground backdrop-blur-sm",children:"Preview"}),(0,r.jsxs)("div",{className:"absolute bottom-2 right-2 z-10 flex items-center gap-1 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:[(0,r.jsx)(ep.A,{className:"size-3"}),"Click to expand"]}),c&&(0,r.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-[5] h-12 bg-gradient-to-t from-background/80 to-transparent"}),(0,r.jsx)("iframe",{srcDoc:p,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full border-0",style:{height:i,pointerEvents:"none"}})]}),(0,r.jsx)(eh.lG,{open:t,onOpenChange:s,children:(0,r.jsxs)(eh.Cf,{className:"sm:max-w-[90vw] h-[80vh] p-4 flex flex-col overflow-hidden",children:[(0,r.jsx)(eh.L3,{className:"sr-only",children:"HTML Preview"}),(0,r.jsx)("iframe",{srcDoc:p,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full rounded border-0 flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>l(!n),children:[n?(0,r.jsx)(m.A,{className:"size-3"}):(0,r.jsx)(x.A,{className:"size-3"}),(0,r.jsx)(ef.A,{className:"size-3"}),(0,r.jsx)("span",{children:n?"Hide code":"Show code"})]}),n&&(0,r.jsx)("div",{className:"min-h-0 max-h-[35vh] overflow-auto shrink-0 rounded-md",children:(0,r.jsx)(ee,{code:e,language:"html",variant:"light"})})]})})]}):(0,r.jsx)(ee,{code:e,language:"html",variant:"light"})}let eb="prose prose-sm max-w-none prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-li:my-0 prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-xs prose-pre:my-2",ej={code({className:e,children:t,...s}){let n=/language-([\w-]+)/.exec(e||""),a=String(t).replace(/\n$/,"");return n&&"html-preview"===n[1]?(0,r.jsx)(eg,{html:a}):n?(0,r.jsx)(ee,{code:a,language:n[1],variant:"dark",customStyle:{fontFamily:'"JetBrains Mono", monospace'}}):(0,r.jsx)("code",{className:e,...s,children:t})},pre:({children:e})=>(0,r.jsx)(r.Fragment,{children:e})};function ey({text:e}){return(0,r.jsx)("div",{className:eb,children:(0,r.jsx)(em.oz,{remarkPlugins:[ex.A],components:ej,children:e})})}let ev=new Set(["Task","Skill","TodoWrite"]);function eN(e){return ev.has(e.name)}function ew(e){try{let t=JSON.parse(e);return{code:JSON.stringify(t,null,2),language:"json"}}catch{return{code:e,language:"text"}}}let ek={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function eC({block:e,isStreaming:t,subtle:s=!1}){return(0,r.jsx)(el,{toolCall:e,isStreaming:t,subtle:s})}function eS({calls:e,isStreaming:t}){let[s,n]=(0,a.useState)(!1),l=function(e){let t=new Map;for(let s of e)t.set(s.name,(t.get(s.name)||0)+1);let s=Array.from(t.entries()).map(([e,t])=>t>1?`${e} x${t}`:e),r=s.slice(0,4),n=s.length-r.length,a=n>0?` \u00b7 +${n}`:"",l=`Used ${e.length} tool${1===e.length?"":"s"}`;return r.length>0?`${l} \u00b7 ${r.join(" \xb7 ")}${a}`:l}(e);return(0,r.jsxs)("div",{children:[(0,r.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),className:"flex w-full items-center gap-1 text-left text-xs text-muted-foreground transition-colors hover:text-foreground",children:[(0,r.jsx)(x.A,{className:(0,o.cn)("size-3 shrink-0 transition-transform",s&&"rotate-90")}),(0,r.jsx)("span",{className:"truncate",children:l})]}),s&&(0,r.jsx)("div",{className:"mt-1 flex flex-col gap-0.5 pl-4",children:e.map((s,n)=>(0,r.jsx)(eC,{block:s,subtle:!0,isStreaming:t&&n===e.length-1},`${s.name}-${n}`))})]})}function eA({block:e,isStreaming:t}){let[s,n]=(0,a.useState)(!1),l=es(e.input),i="Skill"===e.name,c=i?Q.A:Y.A,d=i?l?.skill||"Using skill":l?.description||l?.subagent_type||"Running subagent",u=i?void 0:l?.subagent_type,m=!!e.output,p=!m&&!!t;return(0,r.jsxs)("div",{className:"rounded-md border border-orange-200/70 bg-orange-50/40 px-2.5 py-1.5",children:[(0,r.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),className:"flex w-full items-center gap-2 text-left",children:[(0,r.jsx)(c,{className:"size-3.5 shrink-0 text-orange-600"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("p",{className:"truncate text-xs font-medium text-orange-900",children:[i?"Skill":"Subagent",": ",d]}),u&&(0,r.jsx)("p",{className:"truncate text-[11px] text-orange-700/90",children:u})]}),p?(0,r.jsx)(g.A,{className:"size-3.5 shrink-0 animate-spin text-orange-600"}):m?(0,r.jsx)(Z.A,{className:"size-3.5 shrink-0 text-orange-600"}):null,(0,r.jsx)(x.A,{className:(0,o.cn)("size-3 shrink-0 text-orange-700 transition-transform",s&&"rotate-90")})]}),s&&(0,r.jsxs)("div",{className:"mt-1.5 space-y-1.5 border-t border-orange-200/80 pt-1.5",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-orange-700",children:"Input"}),(()=>{let{code:t,language:s}=ew(e.input);return(0,r.jsx)(ee,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...ek,marginTop:"0.25rem"}})})()]}),e.output&&(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-orange-700",children:"Output"}),(()=>{let{code:t,language:s}=ew(e.output);return(0,r.jsx)(ee,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...ek,marginTop:"0.25rem"}})})()]}),p&&!e.output&&(0,r.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-[11px] text-orange-600",children:[(0,r.jsx)(g.A,{className:"size-3 animate-spin"}),(0,r.jsx)("span",{children:"Running..."})]})]})]})}function e$({block:e}){let t=es(e.input),s=Array.isArray(t?.todos)?t.todos:[];return 0===s.length?(0,r.jsx)(eC,{block:e,subtle:!0}):(0,r.jsxs)("div",{className:"py-0.5",children:[(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"Todo list"}),(0,r.jsx)("ul",{className:"mt-1 space-y-0.5 text-xs",children:s.map((e,t)=>{let s="completed"===e.status,n="in_progress"===e.status&&e.activeForm?e.activeForm:e.content||"";return(0,r.jsx)("li",{className:(0,o.cn)("leading-relaxed text-foreground",s&&"line-through"),children:n},`${e.content||"todo"}-${t}`)})})]})}function ez({block:e}){return(0,r.jsx)("div",{className:"max-w-[90%] rounded-lg border border-red-200 bg-red-50 px-3.5 py-3 text-sm",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-0.5 shrink-0 text-base leading-none","aria-hidden":!0,children:"⚠️"}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"font-medium text-red-900",children:"Something went wrong"}),(0,r.jsx)("p",{className:"mt-0.5 text-red-700",children:e.message}),e.details&&(0,r.jsxs)("details",{className:"mt-2",children:[(0,r.jsx)("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:"Technical details"}),(0,r.jsx)("pre",{className:"mt-1.5 whitespace-pre-wrap break-all rounded bg-white p-2 text-xs text-muted-foreground",children:e.details})]})]})]})})}function eI({images:e,slug:t,repoId:s}){let[n,l]=(0,a.useState)(null),i=e=>(0,y.wy)(s,t,e);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex gap-1.5 flex-wrap mt-1",children:e.map(e=>(0,r.jsx)("button",{onClick:()=>l(e),className:"size-16 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,r.jsx)("img",{src:i(e),alt:e,className:"size-full object-cover"})},e))}),(0,r.jsx)(eh.lG,{open:!!n,onOpenChange:e=>!e&&l(null),children:(0,r.jsxs)(eh.Cf,{className:"max-w-3xl p-2",showCloseButton:!1,children:[(0,r.jsx)(eh.L3,{className:"sr-only",children:"Image preview"}),n&&(0,r.jsx)("img",{src:i(n),alt:n,className:"w-full rounded object-contain max-h-[80vh]"})]})})]})}let eE=["Tasting","Simmering","Reducing","Prepping","Seasoning","Plating"],eT=["Counting clean forks","Looking for the missing whisk","Trying not to burn garlic","Keeping the pass in order"];function eR(e){let t,s=.25>Math.random()?eT:eE;do t=s[Math.floor(Math.random()*s.length)];while(s.length>1&&t===e);return t}function eD(){let[e,t]=(0,a.useState)(()=>eR());return(0,a.useEffect)(()=>{let e=setInterval(()=>{t(e=>eR(e))},3e3);return()=>clearInterval(e)},[]),(0,r.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,r.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",role:"status","aria-label":"Thinking"}),(0,r.jsxs)("span",{className:"text-sm italic text-orange-600",children:[e,"..."]})]})}function eO({message:e,showThinking:t,slug:s,repoId:n,onQuestionAnswer:a,isQuestionAnswered:l}){let i="assistant"===e.role?e.blocks:void 0;if("system"===e.role)return(0,r.jsx)("div",{className:"flex justify-center py-2",children:(0,r.jsx)("span",{className:"text-xs text-muted-foreground/70 italic",children:e.content})});if("user"===e.role){let t=e.images?.length?e.images:Array.from(e.content.matchAll(/\[Attached image: ([^\]]+)\]/g),e=>e[1]),a=e.images?.length?e.content:e.content.replace(/\[Attached image: [^\]]+\]\n*/g,"").trim();return(0,r.jsx)("div",{className:"flex flex-col items-end",children:(0,r.jsxs)("div",{className:"max-w-[90%] rounded-lg bg-primary/15 px-3 py-2 text-sm text-foreground",children:[t.length>0&&(0,r.jsx)(eI,{images:t,slug:s,repoId:n}),a&&(0,r.jsx)("p",{className:"whitespace-pre-wrap",children:a})]})})}if(i&&i.length>0){let e=i.reduce((e,t,s)=>"tool_call"===t.type?s:e,-1),s=i.reduce((e,t,s)=>"tool_call"===t.type&&"TodoWrite"===t.name?s:e,-1),n=[];for(let o=0;o<i.length;o++){let c=i[o];if("text"===c.type){if(!c.text.trim())continue;n.push((0,r.jsx)(ey,{text:c.text},`text-${o}`));continue}if("error"===c.type){n.push((0,r.jsx)(ez,{block:c},`error-${o}`));continue}if("ask_question"===c.type){n.push((0,r.jsx)(ec,{questions:c.questions,onAnswer:a,isAnswered:l},`question-${o}`));continue}if("plan_approval"===c.type){n.push((0,r.jsx)(eu,{onAnswer:a,isAnswered:l},`plan-${o}`));continue}if("tool_call"!==c.type)continue;if("TodoWrite"===c.name){if(o!==s)continue;n.push((0,r.jsx)(e$,{block:c},`todo-${o}`));continue}let d=o===e;if("Task"===c.name||"Skill"===c.name){n.push((0,r.jsx)(eA,{block:c,isStreaming:d&&t},`agent-${o}`));continue}if(!eN(c)){let s=o,a=[c];for(;o+1<i.length;){let e=i[o+1];if("tool_call"!==e.type||eN(e))break;a.push(e),o+=1}let l=e>=s&&e<=o;n.push((0,r.jsx)(eS,{calls:a,isStreaming:l&&t},`tools-${s}`))}}return(0,r.jsxs)("div",{className:"flex flex-col gap-2 text-sm",children:[n,t&&(0,r.jsx)(eD,{})]})}let o=e.content||"",c=!!o.trim(),d=e.toolCalls&&e.toolCalls.length>0;return c||d?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[c&&(0,r.jsx)("div",{className:"max-w-[90%] rounded-lg bg-muted px-3 py-2 text-sm text-foreground",children:(0,r.jsx)("div",{className:eb,children:(0,r.jsx)(em.oz,{remarkPlugins:[ex.A],components:ej,children:o})})}),d&&(0,r.jsx)("div",{className:"flex max-w-[90%] flex-col gap-1",children:e.toolCalls.map((e,t)=>(0,r.jsx)(el,{toolCall:e,subtle:!0},t))})]}):t?(0,r.jsx)(eD,{}):null}var e_=s(4),eL=s(9913);let eP={warning:{border:"border-amber-200",bg:"bg-amber-50/70",dot:"bg-amber-500",text:"text-amber-800"},success:{border:"border-emerald-200",bg:"bg-emerald-50/70",dot:"bg-emerald-500",text:"text-emerald-700"},muted:{border:"border-border",bg:"bg-muted/50",dot:"bg-muted-foreground",text:"text-muted-foreground"}};function eM({variant:e,dot:t,centered:s,children:n,actions:a,className:l}){let i=eP[e];return(0,r.jsxs)("div",{className:(0,o.cn)("flex items-center gap-3 rounded-lg border px-4 py-2.5 text-xs",i.border,i.bg,s&&"justify-center",l),children:[t&&(0,r.jsx)("span",{className:(0,o.cn)("size-1.5 shrink-0 rounded-full",i.dot,"warning"===e&&"animate-pulse")}),(0,r.jsx)("div",{className:(0,o.cn)("min-w-0",!s&&"flex-1",i.text),children:n}),a&&(0,r.jsx)("div",{className:"ml-auto flex shrink-0 items-center gap-1.5",children:a})]})}var eF=s(872),eU=s(4268),eW=s(1553),eB=s(3927),eq=s(3853),eJ=s(553);let eH=new Set(["image/png","image/jpeg","image/gif","image/webp"]);function eG({onSend:e,onStop:t,isStreaming:s,slug:n,repoId:l,onModelChange:i,selectedModel:c,leftToolbar:d}){let[m,x]=(0,a.useState)(""),[p,f]=(0,a.useState)([]),[h,g]=(0,a.useState)(!1),[b,j]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1),[w,k]=(0,a.useState)(null),C=(0,a.useRef)(null),[S,A]=(0,a.useState)(M.xj),[$,z]=(0,a.useState)(c||M.xj),I=(0,a.useMemo)(()=>(0,y.jx)(l,n),[l,n]);(0,a.useEffect)(()=>{let e=window.localStorage.getItem(M.yX);if(!e)return;let t=(0,M.Ou)(e);A(t),t!==e&&window.localStorage.setItem(M.yX,t)},[]),(0,a.useEffect)(()=>{c&&z(c)},[c]),(0,a.useEffect)(()=>{c||z(S||M.xj)},[S,c]);let E=(0,a.useRef)(i);(0,a.useEffect)(()=>{E.current=i},[i]),(0,a.useEffect)(()=>{E.current?.($)},[$]),(0,a.useEffect)(()=>()=>{p.forEach(e=>URL.revokeObjectURL(e.previewUrl))},[]);let T=(0,a.useCallback)(e=>{j(null);let t=Array.from(e);for(let e of t){if(!eH.has(e.type))return void j("Only images are supported (PNG, JPEG, GIF, WebP).");if(e.size>5242880)return void j("Images must be under 5 MB.")}f(e=>{let s=[...e,...t.map(e=>({file:e,previewUrl:URL.createObjectURL(e)}))];return s.length>5?(j("Maximum 5 images per message."),e):s})},[]),R=(0,a.useCallback)(e=>{f(t=>(URL.revokeObjectURL(t[e].previewUrl),t.filter((t,s)=>s!==e))),j(null)},[]),D=(0,a.useCallback)(e=>{let t=Array.from(e.clipboardData.files).filter(e=>eH.has(e.type));t.length>0&&(e.preventDefault(),T(t))},[T]),O=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!0)},[]),_=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!1)},[]),L=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!1),e.dataTransfer.files.length>0&&T(e.dataTransfer.files)},[T]),P=(0,a.useCallback)(async()=>{let t=m.trim();if((t||0!==p.length)&&!s)if(p.length>0){g(!0),j(null);try{let s=[];for(let e of p){let t=new FormData;t.append("file",e.file);let r=await fetch(`${I}/images`,{method:"POST",body:t});if(!r.ok){let e=await r.json();j(e.error||"Upload failed — try again.");return}let n=await r.json();s.push(n.filename)}p.forEach(e=>URL.revokeObjectURL(e.previewUrl)),f([]),x(""),e(t,s,$)}catch{j("Upload failed — try again.")}finally{g(!1)}}else e(t,void 0,$),x("")},[m,p,s,I,e,$]),F=(0,a.useCallback)(e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),P())},[P]),U=(0,a.useCallback)(e=>{let t=(0,M.Ou)(e);A(t),c||z(t),window.localStorage.setItem(M.yX,t)},[c]);return(0,r.jsxs)("div",{className:(0,o.cn)("py-5",v&&"ring-2 ring-primary ring-inset rounded-md"),onDragOver:O,onDragLeave:_,onDrop:L,children:[p.length>0&&(0,r.jsx)("div",{className:"flex gap-2 px-1 pb-2 flex-wrap",children:p.map((e,t)=>(0,r.jsxs)("div",{className:"relative group",children:[(0,r.jsx)("button",{onClick:()=>k(t),className:"size-14 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,r.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"size-full object-cover"})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),R(t)},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,r.jsx)(eU.A,{className:"size-3"})})]},t))}),(0,r.jsx)(eh.lG,{open:null!==w,onOpenChange:e=>!e&&k(null),children:(0,r.jsxs)(eh.Cf,{className:"max-w-3xl p-2",children:[(0,r.jsx)(eh.L3,{className:"sr-only",children:"Image preview"}),null!==w&&p[w]&&(0,r.jsx)("img",{src:p[w].previewUrl,alt:p[w].file.name,className:"w-full rounded object-contain max-h-[80vh]"})]})}),b&&(0,r.jsx)("div",{className:"px-1 pb-2 text-xs text-destructive",children:b}),(0,r.jsxs)("div",{className:"rounded-xl border bg-white shadow-[0_10px_22px_-20px_rgba(15,23,42,0.3)] transition-shadow focus-within:shadow-[0_12px_26px_-18px_rgba(15,23,42,0.34)] focus-within:ring-2 focus-within:ring-ring",children:[(0,r.jsx)("input",{ref:C,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&T(e.target.files),e.target.value=""}}),(0,r.jsx)("textarea",{className:"w-full resize-none bg-transparent px-6 pt-4 pb-5 text-sm outline-none placeholder:text-muted-foreground",rows:2,placeholder:"Write a message... (Cmd+Enter to send)",value:m,onChange:e=>x(e.target.value),onKeyDown:F,onPaste:D,disabled:s}),(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3",children:[(0,r.jsx)(eF.Y6,{label:"Attach image",children:(0,r.jsx)(u.$,{variant:"ghost",size:"icon",onClick:()=>C.current?.click(),disabled:s||h,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eW.A,{className:"size-4"})})}),d,(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)(eJ.B,{value:$,onChange:z,disabled:s,defaultModel:S,onDefaultModelChange:U}),s?(0,r.jsx)(u.$,{variant:"outline",size:"icon",onClick:t,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eB.A,{className:"size-4"})}):(0,r.jsx)(u.$,{size:"icon",onClick:P,disabled:!m.trim()&&0===p.length||h,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eq.A,{className:"size-4"})})]})]})]})}function eY(e){if("string"!=typeof e)return null;let t=e.trim();return!t||t.startsWith("pending-")?null:t}function eK(e){return(e||"").replace(/\[Attached image: [^\]]+\]\n*/g,"").trim()}function eQ(e){if(!e)return null;let t=e.match(/-(\d{10,})$/);if(!t)return null;let s=Number(t[1]);return Number.isFinite(s)?s:null}function eV({taskSlug:e,taskTitle:t,repoId:s,status:l,onTaskUpdated:i,autoStartContext:o,autoStartModel:c,autoStartImages:d,autoImproveTitle:m=!1,prefetchedActiveChat:x}){let p=(0,n.useParams)(),f=(0,y.NK)(p),h=s||f,g=(0,a.useMemo)(()=>(0,y.Yg)(h),[h]),b=(0,a.useMemo)(()=>(0,y.jx)(h,e),[h,e]),j="chat-main",[v,N]=(0,a.useState)(null),[w,k]=(0,a.useState)(void 0),[C,S]=(0,a.useState)(null),[A,U]=(0,a.useState)(!1),[W,B]=(0,a.useState)(null),[q,J]=(0,a.useState)(!1),{messages:H,isStreaming:G,wasDisconnected:Y,sendMessage:K,stopAgent:Q,clearSessionId:V,injectSystemMessage:X,reloadFromServer:Z,hydrateFromSnapshot:ee,sessionId:et,sessionIdRef:es,awaitingInputFromQuestion:er}=function(e,t="chat-main",s,r){let l=(0,n.useParams)(),i=(0,y.NK)(l),o=r||i,c=(0,a.useMemo)(()=>(0,y.Yg)(o),[o]),d=(0,a.useMemo)(()=>e?(0,y.jx)(o,e):null,[o,e]),[u,m]=(0,a.useState)([]),[x,p]=(0,a.useState)(!1),[f,h]=(0,a.useState)(!1),[g,b]=(0,a.useState)(!1),j=(0,a.useRef)(null),[v,N]=(0,a.useState)(null),w=(0,a.useRef)(null),k=(0,a.useRef)(!1),C=(0,a.useRef)(t),S=(0,a.useRef)([]);S.current=u;let A=(0,a.useRef)(null),R=(0,a.useRef)(!1),P=(0,a.useRef)(!1),M=(0,a.useCallback)(e=>{let t=_(e);j.current=t,N(t)},[]),F=(0,a.useCallback)(e=>{m(t=>O(t,e.messages)?e.messages:t),M(e.sessionId)},[M]),U=(0,a.useCallback)(e=>({messages:e.messages.filter(e=>"assistant"!==e.role||(e.content||"").trim().length>0||e.blocks&&e.blocks.length>0||e.toolCalls&&e.toolCalls.length>0),sessionId:_(e.sessionId)}),[]),W=(0,a.useCallback)(()=>{if(!e)return;let s=S.current,r=j.current;if(R.current){P.current=!0;return}R.current=!0,(0,$.yd)(e,t,s,r,o).finally(()=>{R.current=!1,P.current&&(P.current=!1,W())})},[e,t,o]);(0,a.useEffect)(()=>()=>{if(w.current?.abort(),e&&S.current.length>0){let s=S.current,r=A.current;r&&(s=s.map(e=>e.id===r.id?{...e,content:r.content,blocks:r.blocks}:e),A.current=null),(0,$.YF)(e,t,s,j.current,o)}},[e,t,o]),(0,a.useEffect)(()=>{C.current!==t&&(C.current=t,k.current=!1,m([]),M(null))},[t,M]),(0,a.useEffect)(()=>{if(!s||s.storageId!==t||!s.chat)return;let e=U(s.chat);m(t=>t.length>0?t:e.messages),!j.current&&e.sessionId&&M(e.sessionId)},[s,t,U,M]),(0,a.useEffect)(()=>{if(!e||k.current)return;k.current=!0;let r=s=>{let r=U(s);F(r),r.sessionId!==s.sessionId&&(0,$.yd)(e,t,r.messages,r.sessionId,o).catch(()=>{})};s?.storageId===t&&s.chat?r(s.chat):(0,$.Hg)(e,t,o).then(s=>{if(s){console.log("[BG-AGENT] loadChat: found",s.messages.length,"messages"),r(s);return}try{let s=`kanban-chat-${e}-${t}`,n=localStorage.getItem(s);if(n){let a=JSON.parse(n);if(a.messages&&a.messages.length>0){console.log("[BG-AGENT] migrating localStorage chat to file:",s,a.messages.length,"messages");let n=U(a);r(a),(0,$.yd)(e,t,n.messages,n.sessionId,o).then(()=>{try{localStorage.removeItem(s)}catch{}});return}}}catch{}console.log("[BG-AGENT] loadChat: no persisted chat found for",e,t)})},[e,t,M,F,s,U,o]);let B=(0,a.useCallback)(()=>{e&&(0,$.Hg)(e,t,o).then(e=>{!e||(m(t=>O(t,e.messages)?e.messages:t),e.sessionId&&M(e.sessionId))})},[e,t,M,o]),q=(0,a.useCallback)(async(s,r)=>{let{images:n,model:a}=r||{};if(!e)return;b(!1),h(!1);let l={id:`user-${Date.now()}`,role:"user",content:s,images:n?.length?n:void 0},i=s;if(n&&n.length>0){let e=n.map(e=>`[Attached image: ${e}]`).join("\n");i=`${e}
|
|
23
|
+
|
|
24
|
+
${s}`}S.current=[...S.current,l],m(S.current);let o=`assistant-${Date.now()}`;S.current=[...S.current,{id:o,role:"assistant",content:"",blocks:[]}],m(S.current),w.current?.abort(),w.current=new AbortController;try{d&&await fetch(`${d}/status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"running"})})}catch{}p(!0),W();let u=!1,x=!1;try{let s=_(j.current);s!==j.current&&M(s);let r=!1;for(;;){console.log("[BG-AGENT] sendMessage:",s?`resuming session ${s}`:"starting new session");let n=await fetch(`${c}/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:i,sessionId:s,taskSlug:e,storageId:t,model:a}),signal:w.current.signal});if(!n.ok){let e="Chat request failed";try{let t=await n.json();t?.code==="RUN_ALREADY_ACTIVE"?e=t.error||"A run is already active for this task. Stop it before starting another.":"string"==typeof t?.error&&t.error.trim().length>0&&(e=t.error.trim())}catch{}throw Error(e)}if(!n.body)throw Error("Chat request failed");let l=n.body.getReader(),d=new TextDecoder,p="",f=!1,g=null,j=null,y=!1,v=!1,N=function(e={}){let t=[],s=new Set,r=!1,n=!1,a=!1;return{getBlocks:()=>t,getContentText:()=>t.filter(e=>"text"===e.type).map(e=>e.text).join("\n\n"),hasInputRequestBlock:()=>a,processEvent:l=>{"assistant"===l.type&&l.message?function(l){if(T(l)&&Array.isArray(l.content))for(let i of l.content){if(!T(i)||n)continue;let l="string"==typeof i.type?i.type:"";if("text"===l){let e="string"==typeof i.text?i.text:"";if(!e)continue;if(function(e){return/api error:\s*\d{3}/i.test(e)||I.some(t=>t.test(e))}(e)){!function(e){let s=E(e),r=t[t.length-1];r&&"error"===r.type&&r.message===s.message&&r.details===s.details||t.push({type:"error",message:s.message,details:s.details})}(e),r=!1;continue}let s=t[t.length-1];r||!s||"text"!==s.type?t.push({type:"text",text:e}):s.text=e,r=!1;continue}if("tool_use"===l){let r="string"==typeof i.id?i.id:void 0;if(r&&s.has(r))continue;r&&s.add(r);let l=function(e){if("string"!=typeof e)return e;try{return JSON.parse(e)}catch{return e}}(i.input),o="string"==typeof i.name&&i.name.trim().length>0?i.name:"tool",c="AskUserQuestion"===o?function(e){let t=e;if("string"==typeof t)try{t=JSON.parse(t)}catch{return null}if(!z(t)||!Array.isArray(t.questions))return null;let s=t.questions.map(e=>(function(e){if(!z(e))return null;let t="string"==typeof e.question?e.question.trim():"";if(!t)return null;let s=(Array.isArray(e.options)?e.options:[]).map(e=>(function(e){if(!z(e))return null;let t="string"==typeof e.label?e.label.trim():"";return t?{label:t,description:"string"==typeof e.description&&e.description.trim().length>0?e.description.trim():void 0}:null})(e)).filter(e=>null!==e);return{question:t,header:"string"==typeof e.header&&e.header.trim().length>0?e.header.trim():void 0,options:s,multiSelect:!0===e.multiSelect}})(e)).filter(e=>null!==e);return s.length>0?s:null}(l):null;if(c){t.push({type:"ask_question",questions:c}),a=!0,n=!0,e.onFirstQuestion?.();continue}if("ExitPlanMode"===o){let e=T(l)&&Array.isArray(l.allowedPrompts)?l.allowedPrompts:void 0;t.push({type:"plan_approval",allowedPrompts:e}),a=!0;continue}let d="string"==typeof i.input?i.input:JSON.stringify(i.input||{},null,2);t.push({type:"tool_call",name:o,input:d})}}}(l.message):"user"===l.type&&l.message?function(e){if(T(e)&&Array.isArray(e.content))for(let s of e.content){if(!T(s)||"tool_result"!==s.type)continue;let e="string"==typeof s.content?s.content:JSON.stringify(s.content||"",null,2);for(let s=t.length-1;s>=0;s--){let r=t[s];if("tool_call"===r.type&&!r.output){r.output=e.slice(0,500);break}}r=!0}}(l.message):"error"===l.type&&function(e){if(!("message"in e))return;let s="string"==typeof e.message?e.message:"Provider execution error",n="string"==typeof e.details?e.details:void 0,a=E(n??s);t.push({type:"error",message:n?s:a.message,details:n??a.details}),r=!1}(l)},resetForNewAssistantTurn:()=>{t.length=0,s.clear(),r=!1,n=!1,a=!1}}}({onFirstQuestion:()=>{if(f)return;f=!0,h(!0);let e=N.getContentText(),t=[...N.getBlocks()];A.current={id:o,content:e,blocks:t},m(s=>{let r=s.map(s=>s.id===o?{...s,content:e,blocks:t}:s);return S.current=r,r}),W(),w.current?.abort()}}),k=Date.now();for(;;){let{done:e,value:t}=await l.read();if(e)break;let r=(p+=d.decode(t,{stream:!0})).split("\n");for(let e of(p=r.pop()||"",r)){if(!e.startsWith("data: "))continue;let t=e.slice(6).trim();if("[DONE]"===t){y=!0;continue}try{let e=JSON.parse(t);v=!0,"system"===e.type&&e.session_id&&(M(e.session_id),W()),"result"===e.type&&e.session_id&&M(e.session_id),"result"===e.type&&!0===e.is_error&&(g=g||function(e){if("result"!==e.type||!0!==e.is_error)return null;let t=L(e);return t.length>0?t[0]:null}(e),j=j||function(e,t){if(!t||"result"!==e.type||!0!==e.is_error)return null;for(let s of L(e)){if(!/No conversation found with session ID:/i.test(s))continue;let e=s.match(/No conversation found with session ID:\s*([A-Za-z0-9-]+)/i);if(!e||e[1]===t)return s}return null}(e,s)),("assistant"===e.type||"user"===e.type||"error"===e.type)&&N.processEvent(e);let r=N.getContentText(),n=[...N.getBlocks()];A.current={id:o,content:r,blocks:n},m(e=>e.map(e=>e.id===o?{...e,content:r,blocks:n}:e))}catch{}}let n=Date.now();n-k>=3e3&&(k=n,W())}if(A.current=null,u=y,x=v,j&&s&&!r){r=!0,s=null,M(null),m(e=>{let t=e.map(e=>e.id===o?{...e,content:"",blocks:[]}:e);return S.current=t,t}),W();continue}if(g){let e=E(g);m(t=>{let s=t.map(t=>{if(t.id!==o)return t;let s=t.blocks||[],r=s.some(t=>"error"===t.type&&t.message===e.message&&t.details===e.details);return{...t,content:(t.content||"").trim().length>0?t.content:e.message,blocks:r?s:[...s,{type:"error",message:e.message,details:e.details}]}});return S.current=s,W(),s})}!y&&v&&b(!0),W();break}}catch(e){"AbortError"===e.name?W():(x&&!u&&b(!0),m(t=>{let s=E(e.message||"Chat request failed"),r={type:"error",message:s.message,details:s.details},n=t.map(e=>e.id===o?{...e,content:e.content||s.message,blocks:[...e.blocks||[],r]}:e);return S.current=n,W(),n}))}finally{A.current=null,p(!1),w.current=null}},[e,t,M,W,d,c]),J=(0,a.useCallback)(()=>{w.current?.abort()},[]),H=(0,a.useCallback)(async()=>{if(!e)return;w.current?.abort();let s=j.current;if(!s)try{let r=await fetch(`${c}/chat/session?taskSlug=${encodeURIComponent(e)}&storageId=${encodeURIComponent(t)}`);if(r.ok){let e=await r.json();e.sessionId&&(s=e.sessionId)}}catch{}try{await fetch(`${c}/chat/stop`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,taskSlug:e,storageId:t})})}catch{d&&await fetch(`${d}/status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"idle"})}).catch(()=>{})}p(!1),h(!1)},[e,t,c,d]),G=(0,a.useCallback)(()=>{j.current=null,N(null),h(!1),e&&(0,$.yd)(e,t,S.current,null,o)},[e,t,o]),Y=(0,a.useCallback)(e=>{let t={id:`system-${Date.now()}`,role:"system",content:e};S.current=[...S.current,t],m(S.current),W()},[W]);return{messages:u,isStreaming:x,wasDisconnected:g,sendMessage:q,stopStreaming:J,stopAgent:H,clearChat:(0,a.useCallback)(()=>{if(w.current?.abort(),w.current=null,p(!1),h(!1),m([]),S.current=[],M(null),e){(0,$._e)(e,t,o);let s=`kanban-init-sent-${e}-${t}`;try{sessionStorage.removeItem(s)}catch{}D.delete(s),fetch(`${c}/chat/session?taskSlug=${encodeURIComponent(e)}&storageId=${encodeURIComponent(t)}`,{method:"DELETE"}).catch(()=>{})}},[e,t,M,c,o]),clearSessionId:G,injectSystemMessage:Y,reloadFromServer:B,hydrateFromSnapshot:F,sessionId:v,sessionIdRef:j,awaitingInputFromQuestion:f}}(e,j,x,h),{addSession:en,removeSession:ea,getSession:el}=(0,P.a)(),ei=(0,a.useRef)(null),eo=(0,a.useRef)(null),[ec,ed]=(0,a.useState)(!0),[eu,em]=(0,a.useState)(!1),ex=(0,a.useRef)(i);ex.current=i;let ep=(0,a.useRef)(null),ef=(0,a.useRef)(null),eh=(0,a.useRef)(null),eg=(0,a.useRef)(!1),eb="needs_tasting"===l||eu||er,ej=G||"running"===l&&!eb,ey=w||M.xj,ev=(0,a.useMemo)(()=>(0,M.xq)(ey).provider,[ey]),eN=C?.providers?.[ev],ew=!eN||eN.connected,ek=(0,a.useMemo)(()=>(0,F.p)(t),[t]);(0,a.useEffect)(()=>{eg.current=!1,eh.current=null,em(!1),k(void 0)},[e]);let eC=(0,a.useCallback)(async()=>{U(!0);try{let e=await (0,$.qq)();return e&&S(e),e}finally{U(!1)}},[]);(0,a.useEffect)(()=>{eC()},[eC,ev]),(0,a.useEffect)(()=>{J(!1)},[ev]),(0,a.useEffect)(()=>{if(ew&&!W)return;let e=setInterval(()=>{eC()},5e3);return()=>clearInterval(e)},[ew,W,eC]);let eS=(0,a.useCallback)(async e=>{let t=(0,M.xq)(e).provider,s=C?.providers?.[t],r=C?.checkedAt?Date.parse(C.checkedAt):0,n=r>0&&Date.now()-r<15e3;if(s&&n)return s.connected;let a=await eC(),l=a?.providers?.[t];return!l||l.connected},[C,eC]);(0,a.useEffect)(()=>{eS(w||M.xj)},[w,eS]);let eA=(0,a.useCallback)(async(e,t,s)=>{let r=eY(t),n={messages:[...H],sessionId:eY(es.current)},a=n.sessionId!==r,l=new Set(n.messages.map(e=>e.id)),i=[],o=new Map;for(let t of e){if(l.has(t.id)){let e=n.messages.findIndex(e=>e.id===t.id);-1!==e&&(0,R.B)(n.messages[e],t)&&o.set(e,t);continue}!function(e,t){if("user"!==t.role)return!1;let s=eK(t.content);if(!s)return!1;let r=eQ(t.id);for(let t=e.length-1;t>=0;t--){let n=e[t];if("user"!==n.role||eK(n.content)!==s)continue;let a=eQ(n.id);if(null!==r&&null!==a)return 1e4>=Math.abs(r-a);return!0}return!1}(n.messages,t)&&i.push(t)}if(o.size>0){for(let[e,t]of o)n.messages[e]=t;a=!0}if(i.length>0&&(n.messages=[...n.messages,...i],a=!0),s){let e=n.messages.findIndex(e=>e.id===s.id);-1!==e?(0,R.B)(n.messages[e],s)&&(n.messages[e]=s,a=!0):(n.messages.push(s),a=!0)}a&&ee({messages:n.messages,sessionId:r})},[H,es,ee]);(0,a.useEffect)(()=>{let t=`${e}-${j}`;ep.current!==t&&(ep.current=t,(async()=>{try{let t=await fetch(`${g}/chat/session?taskSlug=${encodeURIComponent(e)}&storageId=${encodeURIComponent(j)}`);if(!t.ok)return;let s=await t.json(),r="string"==typeof s.sessionId?s.sessionId.trim():null,n=eY(r)??r;if(em(!!(s.awaitingInput||"needs_tasting"===s.status)),!n)return void em(!1);let a=await fetch(`${g}/chat/poll?sessionId=${encodeURIComponent(n)}&afterIndex=0`);if(!a.ok)return;let l=await a.json();em(!!(l.awaitingInput||"needs_tasting"===l.status)),await eA(Array.isArray(l.messages)?l.messages:[],n,l.inProgress||null),"running"===l.status?en({sessionId:n,taskSlug:e,storageId:j,lastIndex:l.totalCount||0}):(ea(n),ex.current())}catch{}})())},[e,j,g,en,ea,eA]),(0,a.useEffect)(()=>{if(G)return;let t=el(e,j);if(!(t||et||"running"===l||eb))return;let s=setInterval(()=>{Z(),!el(e,j)&&t&&ex.current()},3e3);return()=>clearInterval(s)},[G,et,l,eb,e,j,el,Z]),(0,a.useEffect)(()=>{if(G&&et){let t=el(e,j);t?.sessionId!==et&&en({sessionId:et,taskSlug:e,storageId:j,lastIndex:0})}},[G,et,e,j,en,el]);let e$=(0,a.useRef)(G);e$.current=G;let ez=(0,a.useRef)(en);ez.current=en,(0,a.useEffect)(()=>()=>{let t=es.current;t&&e$.current&&ez.current({sessionId:t,taskSlug:e,storageId:j,lastIndex:0})},[e,j,es]);let eI=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!eI.current&&G){ex.current(),eI.current=G;return}if(eI.current&&!G){let e=setTimeout(()=>{ex.current()},500);return et&&ea(et),eI.current=G,()=>clearTimeout(e)}eI.current=G},[G,et,ea]),(0,a.useEffect)(()=>{let e=eo.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:s,clientHeight:r}=e;ed(s-t-r<100)};return e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)},[]);let eE=(0,a.useRef)(!1);(0,a.useEffect)(()=>{ec&&(eE.current||!(H.length>0)||(eE.current=!0,ej||eb))&&ei.current?.scrollIntoView({behavior:"smooth"})},[H,ec,ej,eb]),(0,a.useEffect)(()=>{if(eb&&ec){let e=setTimeout(()=>{ei.current?.scrollIntoView({behavior:"smooth"})},100);return()=>clearTimeout(e)}},[eb,ec]);let eT=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(Y&&!G&&!eT.current){eT.current=!0;let e=setTimeout(()=>{V();let e=w||M.xj;(async()=>{if(!await eS(e))return B({id:`queued-${Date.now()}`,message:"Continue where you left off",model:e});X("Connection interrupted — reconnecting…"),K("Continue where you left off",{model:e})})()},2e3);return()=>clearTimeout(e)}Y||G||(eT.current=!1)},[Y,G,V,X,K,w,eS]);let eR=(()=>{if(G||ej)return!1;if(Y)return!0;let e=[...H].reverse().find(e=>"system"===e.role);if(e?.content?.includes("Session restarted")){let t=H.indexOf(e);return!H.slice(t+1).some(e=>"user"===e.role)}return!1})(),eD=(0,a.useCallback)(async(e,t,s)=>{let r=s||w||M.xj;await eS(r)?(B(null),em(!1),eh.current||(eh.current=r),K(e,{images:t,model:r})):B({id:`queued-${Date.now()}`,message:e,images:t,model:r})},[w,eS,K]);(0,a.useEffect)(()=>{v&&(eh.current||(eh.current=v.model||w||M.xj),em(!1),K(v.message,{images:v.images,model:v.model}),N(null))},[v,w,K]);let eP=(0,a.useCallback)(()=>{W&&(B(null),eD(W.message,W.images,W.model))},[W,eD]);(0,a.useEffect)(()=>{if(!W||!ew||ef.current===W.id)return;ef.current=W.id;let e=setTimeout(()=>{eP()},250);return()=>clearTimeout(e)},[W,ew,eP]);let eF=(0,a.useCallback)(e=>{w!==e&&k(e)},[w]),eU=(0,a.useCallback)(async()=>{let e=w||M.xj;await eS(e)?(V(),em(!1),K("Continue where you left off",{model:e})):B({id:`queued-${Date.now()}`,message:"Continue where you left off",model:e})},[w,eS,V,K]),eW=(0,a.useCallback)(async()=>{await Q(),et&&ea(et),ex.current()},[Q,et,ea]),eB=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{if(eB.current)return;let e=o?.trim();e&&(eB.current=!0,c&&k(c),N({message:e,images:d?.length?d:void 0,model:c||w||M.xj}))},[o,c,d,w]),(0,a.useEffect)(()=>{if(!m&&!ek||eg.current||G)return;let e=H.find(e=>"user"===e.role&&(e.content||"").trim().length>0),t=H.find(e=>"assistant"===e.role&&(e.content||"").trim().length>0);e&&t&&(eg.current=!0,fetch(`${b}/improve-title`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:eh.current||c||w||M.xj,userMessage:e.content,assistantMessage:t.content})}).then(e=>e.ok?e.json():null).then(e=>{e?.changed&&ex.current()}).catch(()=>{}))},[m,ek,G,H,b,c,w]),x||0!==H.length||e)?(0,r.jsxs)("div",{className:"flex h-full flex-col overflow-hidden bg-white",children:[(0,r.jsx)("div",{ref:eo,className:"flex-1 min-h-0 overflow-y-auto",children:(0,r.jsxs)("div",{className:"mx-auto flex w-full max-w-4xl flex-col gap-3 px-6 py-4 md:px-10 md:py-5",children:[0===H.length&&!ej&&(0,r.jsx)("div",{className:"py-10 text-center text-xs text-muted-foreground",children:"Start a conversation."}),H.map((t,s)=>{let n=s+1<H.length&&"user"===H[s+1].role;return(0,r.jsx)(eO,{message:t,slug:e,repoId:h,showThinking:ej&&"assistant"===t.role&&s===H.length-1,onQuestionAnswer:eD,isQuestionAnswered:"assistant"===t.role&&n&&!!t.blocks?.some(e=>"ask_question"===e.type||"plan_approval"===e.type)},t.id)}),ej&&(0===H.length||H[H.length-1]?.role!=="assistant")&&(0,r.jsx)(eO,{message:{id:"__tail-thinking__",role:"assistant",content:""},slug:e,repoId:h,showThinking:!0}),(0,r.jsx)("div",{ref:ei})]})}),(0,r.jsxs)("div",{className:"mx-auto flex w-full max-w-4xl flex-col gap-2 px-6 pt-2 pb-4 md:px-10 md:pb-6",children:[eN&&!eN.connected&&(0,r.jsxs)(eM,{variant:"warning",dot:!0,actions:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:async()=>{try{await navigator.clipboard.writeText(eN.reauthCommand),J(!0),window.setTimeout(()=>J(!1),1500)}catch{J(!1)}},className:"rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors",children:q?"Copied":"Reconnect"}),(0,r.jsx)("button",{onClick:()=>{eC()},disabled:A,className:"rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors disabled:opacity-60 disabled:cursor-default",children:A?"Checking...":"Check again"})]}),children:[(0,r.jsxs)("p",{children:["expired"===eN.reason?`${M.OW[ev]} authentication expired.`:`${M.OW[ev]} is disconnected.`," ","Run this command in your terminal:"]}),(0,r.jsx)("code",{className:"mt-1 inline-block rounded bg-amber-100 px-1 py-0.5 text-[11px]",children:eN.reauthCommand}),W&&(0,r.jsx)("p",{className:"mt-1 text-[11px] text-amber-700",children:"Your last message is queued."})]}),W&&ew&&(0,r.jsx)(eM,{variant:"success",dot:!0,actions:(0,r.jsx)("button",{onClick:eP,className:"rounded-full border border-emerald-200 bg-white px-3 py-1 text-xs font-medium text-emerald-700 cursor-pointer hover:bg-emerald-100 transition-colors",children:"Retry now"}),children:"Reconnected. Retrying your queued message automatically."}),eR&&(0,r.jsxs)(eM,{variant:"muted",centered:!0,children:[(0,r.jsx)("span",{children:"Conversation was interrupted"}),(0,r.jsxs)(u.$,{variant:"outline",size:"sm",onClick:eU,className:"ml-2 gap-1 h-7 px-3 text-xs cursor-pointer",children:[(0,r.jsx)(eL.A,{className:"size-3"}),"Resume"]})]}),(0,r.jsx)(eG,{onSend:eD,onModelChange:eF,selectedModel:w,onStop:eW,isStreaming:ej,slug:e,repoId:h})]})]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,r.jsx)(e_._,{size:"lg"})})}var eX=s(2264),eZ=s(1597),e0=s(9467),e1=s(4289),e5=s(774),e2=s(7241),e3=s(1735),e6=s(5357);let e4={pending:null,in_progress:(0,r.jsx)(g.A,{className:"size-3.5 animate-spin text-orange-500"}),done:(0,r.jsx)(Z.A,{className:"size-3.5 text-green-600"}),error:(0,r.jsx)(eU.A,{className:"size-3.5 text-red-500"}),warning:(0,r.jsx)(e3.A,{className:"size-3.5 text-amber-500"})};function e7({steps:e,onRetry:t,onCancel:s,cancelPending:n,onClose:a,isComplete:l,isError:i}){let c=!!(s||l||i);return(0,r.jsxs)("div",{className:"absolute right-0 top-full mt-2 z-50 w-80 rounded-lg border bg-background shadow-lg",children:[(0,r.jsxs)("div",{className:"p-4 space-y-2",children:[0===e.length&&!l&&!i&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin"}),"Starting handoff…"]}),e.map(e=>(0,r.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,r.jsx)("span",{className:"mt-0.5 shrink-0 w-4",children:e4[e.status]}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:(0,o.cn)("error"===e.status&&"text-red-600","done"===e.status&&"text-muted-foreground"),children:e.label}),e.detail&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:e.detail})]})]},e.id)),l&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-green-600 pt-1",children:[(0,r.jsx)(e6.A,{className:"size-4"}),"Handed off!"]})]}),c&&(0,r.jsxs)("div",{className:"border-t px-4 py-2 flex gap-2",children:[s&&(0,r.jsx)(u.$,{size:"sm",variant:"outline",onClick:s,disabled:n,className:"flex-1 text-xs cursor-pointer",children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling…"]}):"Cancel handoff"}),i&&t&&(0,r.jsx)(u.$,{size:"sm",variant:"outline",onClick:t,className:"flex-1 text-xs cursor-pointer",children:"Retry"}),(l||i)&&(0,r.jsx)(u.$,{size:"sm",variant:"ghost",onClick:a,className:"flex-1 text-xs cursor-pointer",children:"Close"})]})]})}let e8=(0,s(8460).F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function e9({className:e,variant:t,...s}){return(0,r.jsx)("div",{className:(0,o.cn)(e8({variant:t}),e),...s})}var te=s(2083);let tt={addition:"bg-green-500/10 text-green-800",deletion:"bg-red-500/10 text-red-800",hunk:"bg-blue-500/8 text-blue-600 font-medium",context:"",meta:"text-muted-foreground"},ts={addition:"bg-green-500/15 text-green-700 border-r border-green-500/20",deletion:"bg-red-500/15 text-red-700 border-r border-red-500/20",hunk:"bg-blue-500/10 border-r border-blue-500/20",context:"bg-muted/30 text-muted-foreground border-r border-border/50",meta:"bg-muted/30 border-r border-border/50"};function tr({open:e,reviewData:t,truncated:s,totalLines:n,attempt:l,onApprove:i,onCancel:o,onResolveDifferently:c,submittingAction:d,submitError:p,onCancelHandoff:h,cancelHandoffPending:b}){let[j,y]=(0,a.useState)(!0),[v,N]=(0,a.useState)(!1),[w,k]=(0,a.useState)(""),[C,S]=(0,a.useState)(new Set),A=new Set(t.conflictFiles.filter(e=>"text"===e.type).map(e=>e.path)),$=new Set(t.conflictFiles.filter(e=>"binary"===e.type).map(e=>e.path)),z=!t.fullDiff||"No diff available"===t.fullDiff,I=(0,a.useMemo)(()=>z?[]:function(e,t,s){let r=e.split("\n"),n=[],a=null,l=0,i=0;for(let e of r){let r=e.match(/^diff --git a\/(.+?) b\/(.+)$/);if(r){a&&n.push(a);let e=r[2];a={filePath:e,lines:[],additions:0,deletions:0,isConflictFile:t.has(e),isBinaryConflict:s.has(e)};continue}if(!a)continue;let o=e.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@(.*)/);if(o){l=parseInt(o[1],10),i=parseInt(o[2],10),a.lines.push({content:e,type:"hunk",oldNum:null,newNum:null});continue}if(e.startsWith("index ")||e.startsWith("--- ")||e.startsWith("+++ ")||e.startsWith("old mode")||e.startsWith("new mode")||e.startsWith("new file")||e.startsWith("deleted file")||e.startsWith("similarity index")||e.startsWith("rename from")||e.startsWith("rename to")||e.startsWith("Binary files")){a.lines.push({content:e,type:"meta",oldNum:null,newNum:null});continue}if(e.startsWith("+")){a.additions++,a.lines.push({content:e.slice(1),type:"addition",oldNum:null,newNum:i++});continue}if(e.startsWith("-")){a.deletions++,a.lines.push({content:e.slice(1),type:"deletion",oldNum:l++,newNum:null});continue}a.lines.push({content:e.startsWith(" ")?e.slice(1):e,type:"context",oldNum:l++,newNum:i++})}return a&&n.push(a),n}(t.fullDiff,A,$),[t.fullDiff,z]),E=(0,a.useMemo)(()=>t.aiExplanation?function(e){let t=[],s=null,r=e.split("\n"),n=[];for(let e of r){let s=e.match(/^\|?\s*`?([^\s|`]+\.\w+)`?\s*\|\s*(.+?)\s*\|?\s*$/);if(s){let e=s[1].split("/").pop()||s[1];t.push({fileName:e,explanation:s[2].trim()});continue}let r=e.match(/^\*\*([^\s*]+\.\w+)\*\*\s*[—:\-–]\s*(.+)$/);if(r){let e=r[1].split("/").pop()||r[1];t.push({fileName:e,explanation:r[2].trim()});continue}let a=e.match(/^[-*]\s+`?([^\s`]+\.\w+)`?\s*[—:\-–]\s*(.+)$/);if(a){let e=a[1].split("/").pop()||a[1];t.push({fileName:e,explanation:a[2].trim()});continue}e.match(/^\|?\s*[-|]+\s*\|?\s*$/)||e.match(/^\|\s*File\s*\|/i)||n.push(e)}let a=n.join("\n").trim();return a&&(s=a),{fileExplanations:t,summary:s}}(t.aiExplanation):null,[t.aiExplanation]);return(0,r.jsx)(eh.lG,{open:e,onOpenChange:()=>{},children:(0,r.jsxs)(eh.Cf,{className:"sm:max-w-4xl max-h-[85vh] flex flex-col overflow-hidden",showCloseButton:!1,onPointerDownOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),children:[(0,r.jsxs)(eh.c7,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eh.L3,{children:"Review conflict resolution"}),l&&l>1&&(0,r.jsxs)(e9,{className:"bg-blue-100 text-blue-800 border-blue-300",children:["Attempt ",l]})]}),(0,r.jsxs)(eh.rr,{children:["The AI resolved ",t.conflictFiles.length," conflict",1!==t.conflictFiles.length?"s":"",". Review the changes before merging."]})]}),(0,r.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto space-y-3",children:[E&&(0,r.jsxs)("div",{className:"rounded-lg border border-indigo-200 bg-indigo-50/50 overflow-hidden",children:[(0,r.jsxs)("button",{onClick:()=>y(!j),className:"flex items-center gap-2 w-full px-3 py-2.5 bg-indigo-100/60 cursor-pointer hover:bg-indigo-100 transition-colors",children:[(0,r.jsx)(te.A,{className:"size-4 text-indigo-600"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-indigo-800",children:"How conflicts were resolved"}),j?(0,r.jsx)(m.A,{className:"size-4 ml-auto text-indigo-500"}):(0,r.jsx)(x.A,{className:"size-4 ml-auto text-indigo-500"})]}),j&&(0,r.jsxs)("div",{className:"px-3 py-3 space-y-2",children:[E.fileExplanations.map((e,t)=>(0,r.jsxs)("div",{className:"flex gap-2.5 p-2.5 rounded-md bg-white border border-border/50",children:[(0,r.jsx)(V.A,{className:"size-4 text-amber-500 mt-0.5 shrink-0"}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-xs font-semibold text-foreground",children:(0,r.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded text-[11px]",children:e.fileName})}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:e.explanation})]})]},t)),0===E.fileExplanations.length&&t.aiExplanation&&(0,r.jsx)("div",{className:"text-xs text-foreground/80 whitespace-pre-wrap leading-relaxed",children:t.aiExplanation}),E.summary&&(0,r.jsxs)("div",{className:"flex items-start gap-2 px-2.5 py-2 rounded-md bg-green-50 border border-green-200 text-xs text-green-800 leading-relaxed",children:[(0,r.jsx)(f.A,{className:"size-3.5 mt-0.5 shrink-0"}),(0,r.jsx)("span",{children:E.summary})]})]})]}),(0,r.jsx)("div",{className:"rounded-lg border",children:z?(0,r.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"No changes detected"}):(0,r.jsxs)("div",{className:"divide-y divide-border",children:[I.map((e,t)=>{let s=C.has(t),n=e.filePath.split("/").pop()||e.filePath,a=e.filePath.includes("/")?e.filePath.slice(0,e.filePath.lastIndexOf("/")+1):"";return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{onClick:()=>{S(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:`flex items-center gap-2 px-3 py-2 cursor-pointer sticky top-0 z-10 ${e.isConflictFile?"bg-amber-50 hover:bg-amber-100/70":"bg-muted/50 hover:bg-muted/80"} transition-colors`,children:[s?(0,r.jsx)(x.A,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,r.jsx)(m.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,r.jsx)(V.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,r.jsxs)("span",{className:"font-mono text-xs truncate",children:[a&&(0,r.jsx)("span",{className:"text-muted-foreground",children:a}),(0,r.jsx)("span",{className:"font-medium",children:n})]}),e.isConflictFile&&(0,r.jsx)(e9,{className:"bg-amber-100 text-amber-800 border-amber-300 text-[10px] px-1.5 py-0",children:"CONFLICT"}),e.isBinaryConflict&&(0,r.jsx)(e9,{className:"bg-red-100 text-red-800 border-red-300 text-[10px] px-1.5 py-0",children:"BINARY"}),(0,r.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs shrink-0",children:[e.additions>0&&(0,r.jsxs)("span",{className:"text-green-600 font-medium",children:["+",e.additions]}),e.additions>0&&e.deletions>0&&(0,r.jsx)("span",{className:"text-muted-foreground",children:"\xb7"}),e.deletions>0&&(0,r.jsxs)("span",{className:"text-red-600 font-medium",children:["−",e.deletions]})]})]}),!s&&(0,r.jsx)("div",{className:"font-mono text-[11px] leading-5",children:e.lines.map((e,t)=>"meta"===e.type?null:(0,r.jsxs)("div",{className:`flex ${tt[e.type]}`,children:[(0,r.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${ts[e.type]}`,children:e.oldNum??""}),(0,r.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${ts[e.type]}`,children:e.newNum??""}),(0,r.jsx)("span",{className:"flex-1 px-2 whitespace-pre overflow-x-auto",children:"hunk"===e.type?(0,r.jsx)("span",{className:"font-medium",children:e.content}):e.content||"\xa0"})]},t))})]},t)}),s&&(0,r.jsxs)("div",{className:"px-3 py-2.5 bg-amber-50 border-t border-amber-200 text-amber-800 text-xs",children:[(0,r.jsx)(e3.A,{className:"size-3.5 inline mr-1.5 -mt-0.5"}),"Diff truncated — showing first 5,000 of"," ",n?.toLocaleString()," lines"]})]})})]}),v&&(0,r.jsxs)("div",{className:"border-t pt-3 mt-3 space-y-2 shrink-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"How should the conflicts be resolved?"}),(0,r.jsx)("textarea",{className:"w-full min-h-[80px] rounded-md border p-2 text-sm",placeholder:"Describe how you want the conflicts resolved...",value:w,onChange:e=>k(e.target.value)}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(u.$,{variant:"outline",size:"sm",onClick:()=>N(!1),disabled:null!==d||b,className:"cursor-pointer",children:"Back"}),(0,r.jsx)(u.$,{size:"sm",onClick:()=>c(w),disabled:!w.trim()||null!==d||b,className:"bg-amber-600 hover:bg-amber-700 text-white cursor-pointer",children:"retry"===d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin mr-1"}),"Submitting…"]}):"Submit feedback"})]})]}),!v&&(0,r.jsxs)(eh.Es,{className:"shrink-0",children:[(0,r.jsxs)("div",{className:"flex w-full justify-between",children:[(0,r.jsx)(u.$,{variant:"outline",onClick:()=>N(!0),disabled:null!==d||b,className:"text-amber-700 border-amber-300 hover:bg-amber-50 cursor-pointer",children:"Resolve differently ↻"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(u.$,{variant:"outline",onClick:o,disabled:null!==d||b,className:"cursor-pointer",children:"cancel"===d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling…"]}):"Cancel"}),(0,r.jsx)(u.$,{onClick:i,disabled:null!==d||b,className:"bg-green-600 hover:bg-green-700 text-white cursor-pointer",children:"approve"===d?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin mr-1"}),"Approving…"]}):"Approve & Merge"})]})]}),(p||h)&&(0,r.jsxs)("div",{className:"flex w-full items-center justify-between gap-2 text-xs",children:[(0,r.jsx)("span",{className:p?"text-red-600":"text-muted-foreground",children:p||"Need to abort immediately? Cancel the whole handoff."}),h&&(0,r.jsx)(u.$,{variant:"ghost",size:"sm",onClick:h,disabled:null!==d||b,className:"text-xs cursor-pointer",children:b?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(g.A,{className:"size-3.5 animate-spin mr-1"}),"Cancelling handoff…"]}):"Cancel handoff now"})]})]})]})})}var tn=s(6007),ta=s(9409),tl=s(2666);function ti(){let e,t=(0,n.useParams)(),s=(0,n.useRouter)(),i=(0,n.useSearchParams)(),c=t.slug,d=(0,y.NK)(t),p=(0,a.useMemo)(()=>(0,y.Yg)(d),[d]),f=d?`/r/${encodeURIComponent(d)}/board`:"/board",h=e=>d?`/r/${encodeURIComponent(d)}/task/${encodeURIComponent(e)}`:`/task/${encodeURIComponent(e)}`,b=(0,a.useMemo)(()=>`${p}/tasks`,[p]),j=(0,a.useMemo)(()=>`${b}/${encodeURIComponent(c)}`,[b,c]),v=i.get("context"),N=i.get("model"),w="1"===i.get("autoTitle"),k=i.get("images")?.split(",").filter(Boolean)||void 0,{task:C,loading:S,fetchTask:z}=(0,l.S)(c,d),{addToast:I}=(0,tl.d)();(0,a.useEffect)(()=>{if(d)return;let e=!1;return fetch("/api/repos").then(e=>e.ok?e.json():null).then(t=>{!e&&t?.lastRepoId&&s.replace(`/r/${encodeURIComponent(t.lastRepoId)}/task/${encodeURIComponent(c)}`)}).catch(()=>{}),()=>{e=!0}},[d,s,c]);let[E,T]=(0,a.useState)(null),R=(0,a.useCallback)(async()=>{try{let e=await fetch(`${b}/counts`),t=await e.json();return T({slugs:t.slugs,total:t.inputNeeded}),t}catch{return null}},[b]);(0,a.useEffect)(()=>{R()},[c,R]);let D=(0,a.useMemo)(()=>{if(!E||0===E.total)return null;let e=E.slugs.indexOf(c);if(-1===e)return{nextSlug:E.slugs[0],total:E.total};let t=(e+1)%E.slugs.length;return{nextSlug:E.slugs[t],total:E.total}},[E,c]),O=(0,a.useCallback)(async()=>{let e=await R();if(!e||0===e.inputNeeded)return;let t=e.slugs.indexOf(c),r=-1===t?e.slugs[0]:e.slugs[(t+1)%e.slugs.length];s.push(h(r))},[R,c,s]),[_,L]=(0,a.useState)(!1),[P,F]=(0,a.useState)(!1),[U,W]=(0,a.useState)(void 0),[B,q]=(0,a.useState)(!1),[J,H]=(0,a.useState)(!1),[G,Y]=(0,a.useState)(""),[K,Q]=(0,a.useState)(null),[V,X]=(0,a.useState)(!1),[ee,et]=(0,a.useState)(null),[es,er]=(0,a.useState)(0),[en,ea]=(0,a.useState)(0),[el,ei]=(0,a.useState)(!1),[eo,ec]=(0,a.useState)(null),[ed,eu]=(0,a.useState)(!1),em=(0,a.useRef)(null),[ex,ep]=(0,a.useState)(null),[ef,eh]=(0,a.useState)(null),[eg,eb]=(0,a.useState)(!1);(0,a.useEffect)(()=>{W(void 0),q(!1);let e=!1;return(async()=>{try{let t=await fetch(`${j}/chat?storageId=${encodeURIComponent("chat-main")}`);if(e)return;let s=t.ok?await t.json():null;if(e)return;W({storageId:"chat-main",chat:s}),q(!0)}catch{if(e)return;W(null),q(!0)}})(),()=>{e=!0}},[c,j]),(0,a.useEffect)(()=>{C?.branch&&fetch(`${j}/pr-status`).then(e=>e.json()).then(e=>{"state"in e?Q(e):Q(null)}).catch(()=>Q(null))},[j,C?.branch]);let ej=!C?.branch;(0,a.useEffect)(()=>{if(!C){X(!1),et(null);return}fetch(`${j}/git`).then(e=>e.json()).then(e=>{if(e.error){X(!1),et(null),er(0),ea(0);return}X((e.staged?.length??0)>0||(e.unstaged?.length??0)>0||(e.commits?.length??0)>0),et(e.worktreeCwd??null);let t=0,s=0;for(let r of e.staged??[])t+=r.linesAdded??0,s+=r.linesRemoved??0;for(let r of e.unstaged??[])t+=r.linesAdded??0,s+=r.linesRemoved??0;er(t),ea(s)}).catch(()=>{X(!1),et(null),er(0),ea(0)})},[j,C]),(0,a.useEffect)(()=>{let e=e=>{if("Escape"!==e.key)return;let t=e.target?.tagName;"INPUT"!==t&&"TEXTAREA"!==t&&s.push(f)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s]);let ey=(0,a.useCallback)(async(e,t)=>{let s=await fetch(`${j}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:e,force:t})});if(s.ok){if((await s.json()).worktreeWarning){window.confirm("This task's worktree has uncommitted changes. Remove worktree anyway?")&&await ey(e,!0);return}await z()}},[j,z]),ev=(0,a.useCallback)(e=>{(0,$.U8)(c,e,d)},[c,d]),eN=(0,a.useCallback)(async()=>{let e=G.trim();if(!e||e===C?.title)return void H(!1);let t=await fetch(j,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e})});if(t.ok){let e=await t.json();H(!1),e.newSlug?(ev(e.newSlug),s.replace(h(e.newSlug))):await z()}},[G,C?.title,j,s,z,ev]),ew=(0,a.useCallback)(async e=>{(await fetch(j,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:e})})).ok&&await z()},[j,z]),ek=(0,a.useCallback)(async()=>{try{let e=await fetch(j,{method:"DELETE",signal:AbortSignal.timeout(3e4)});if(e.ok){let e=`kanban-chat-${c}-`;try{for(let t=window.localStorage.length-1;t>=0;t-=1){let s=window.localStorage.key(t);s&&s.startsWith(e)&&window.localStorage.removeItem(s)}}catch{}s.push(f)}else{let t=await e.json().catch(()=>null);I(t?.error??`Delete failed (${e.status})`,"error")}}catch{I("Delete request timed out — the server may be busy. Try again.","error")}},[j,c,s,f,I]),eC=(0,a.useCallback)(()=>{if(!ee)return;let e=`cd "${ee}"`;navigator.clipboard.writeText(e).then(()=>{ei(!0),setTimeout(()=>ei(!1),2e3)}).catch(()=>{})},[ee]),eS=(0,a.useCallback)(()=>{em.current||(eu(!0),em.current=setInterval(async()=>{try{let e=await fetch(`${j}/handoff`),t=await e.json();if("idle"===t.phase){em.current&&clearInterval(em.current),em.current=null,ec(null),eu(!1),ep(null),eh(null),eb(!1);return}ec(t),"completed"===t.phase?(em.current&&clearInterval(em.current),em.current=null,ep(null),eh(null),eb(!1),await z(),ej?(eu(!1),ec(null),X(!1),er(0),ea(0)):(eu(!1),s.push(f))):("error"===t.phase||"cancelled"===t.phase)&&(em.current&&clearInterval(em.current),em.current=null,ep(null),eb(!1))}catch{}},1500))},[j,z,s,f,ej]);(0,a.useEffect)(()=>()=>{em.current&&(clearInterval(em.current),em.current=null)},[c]),(0,a.useEffect)(()=>{fetch(`${j}/handoff`).then(e=>e.json()).then(e=>{e.phase&&"idle"!==e.phase&&(ec(e),eS())}).catch(()=>{})},[j,eS]);let eA=(0,a.useCallback)(async()=>{if(eo?.phase!=="running"&&eo?.phase!=="awaiting_review"){ec(null),ep(null),eh(null);try{let e=await fetch(`${j}/handoff`,{method:"POST"}),t=await e.json().catch(()=>({}));if(409===e.status&&t.phase&&"idle"!==t.phase){ec(t),eS();return}if(!e.ok){let e="string"==typeof t?.error?t.error:"Failed to start handoff";eu(!0),ec({phase:"error",steps:[{id:"start",label:"Failed to start handoff",status:"error",detail:e}],reviewData:null,reviewTruncated:!1,reviewTotalLines:0,reviewAttempt:1,errorMessage:e,startedAt:new Date().toISOString()});return}ec(t),eS()}catch{let e="Failed to reach handoff API";eu(!0),ec({phase:"error",steps:[{id:"start",label:"Failed to start handoff",status:"error",detail:e}],reviewData:null,reviewTruncated:!1,reviewTotalLines:0,reviewAttempt:1,errorMessage:e,startedAt:new Date().toISOString()})}}},[j,eo,eS]),e$=(0,a.useCallback)(async()=>{if(!eg){eb(!0),eh(null);try{let e=await fetch(`${j}/handoff`,{method:"DELETE"}),t=await e.json().catch(()=>({}));if(!e.ok){let e="string"==typeof t?.error?t.error:"Failed to cancel handoff";eh(e);return}em.current&&(clearInterval(em.current),em.current=null),ep(null),eu(!0),ec(e=>e?{...e,phase:"cancelled",reviewData:null}:null)}catch{eh("Failed to reach handoff cancel API")}finally{eb(!1)}}},[j,eg]),ez=(0,a.useCallback)(async(e,t)=>{if(!ex&&!eg){ep(e.action),eh(null);try{let s=await fetch(`${j}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),r=await s.json().catch(()=>({}));if(!s.ok){let e="string"==typeof r?.error?r.error:"Failed to submit review action";eh(e);try{let e=await fetch(`${j}/handoff`),t=await e.json();t.phase&&"idle"!==t.phase&&(ec(t),eS())}catch{}return}ec(e=>e?{...e,phase:t,reviewData:null}:null)}catch{eh("Failed to reach handoff review API")}finally{ep(null)}}},[j,ex,eg,eS]),eI=(0,a.useCallback)(async()=>{await ez({action:"approve"},"running")},[ez]),eE=(0,a.useCallback)(async()=>{await ez({action:"cancel"},"cancelled")},[ez]),eT=(0,a.useCallback)(async e=>{await ez({action:"retry",feedback:e},"running")},[ez]),eR=(0,a.useCallback)(()=>{eu(!1),ec(null),ep(null),eh(null),setTimeout(()=>eA(),0)},[eA]);if(S||!C)return(0,r.jsx)("div",{className:"flex h-screen items-center justify-center",children:(0,r.jsx)(e_._,{size:"lg"})});let eD=M.cZ.find(e=>e.id===C.column),eO=M.G$[C.column];return(0,r.jsxs)("div",{className:"flex h-screen flex-col",children:[(0,r.jsxs)("header",{className:"relative z-10 border-b border-border bg-background",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 px-4 pt-3 pb-1",children:[(0,r.jsx)(eF.Y6,{label:"Back to board",children:(0,r.jsxs)(u.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>s.push(f),children:[(0,r.jsx)(eZ.A,{className:"size-4"}),"Board"]})}),(0,r.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:J?(0,r.jsx)("input",{className:"w-full min-w-0 max-w-full border-b-2 border-primary bg-transparent px-0 py-0 text-sm font-medium outline-none sm:max-w-[36rem]",value:G,onChange:e=>Y(e.target.value),onBlur:eN,onKeyDown:e=>{"Enter"===e.key&&eN(),"Escape"===e.key&&H(!1)},autoFocus:!0}):(0,r.jsx)("h2",{className:"w-full min-w-0 max-w-full cursor-text truncate rounded px-0.5 text-sm font-medium transition-colors hover:bg-muted/50 sm:max-w-[36rem]",onClick:()=>{Y(C.title),H(!0)},children:C.title})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[C.worktree?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted py-0.5 pl-2.5 pr-1 font-mono text-xs font-medium",children:[(0,r.jsx)(e0.A,{className:"size-3 text-muted-foreground"}),(0,r.jsx)("span",{className:"max-w-44 truncate",children:C.worktree.split("/").pop()||C.branch}),ee&&(0,r.jsx)(eF.Y6,{label:el?"Copied!":"Copy cd path",children:(0,r.jsx)("button",{onClick:eC,className:"ml-0.5 shrink-0 cursor-pointer rounded-full p-1 text-muted-foreground hover:bg-background hover:text-foreground",children:el?(0,r.jsx)(Z.A,{className:"size-3 text-green-600"}):(0,r.jsx)(e1.A,{className:"size-3"})})})]}):C.defaultBranch?(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted py-0.5 px-2.5 font-mono text-xs font-medium text-muted-foreground",children:[(0,r.jsx)(e0.A,{className:"size-3"}),C.defaultBranch]}):null,(es>0||en>0)&&(0,r.jsx)(eF.Y6,{label:"Toggle git panel",children:(0,r.jsxs)(u.$,{variant:"ghost",size:"sm",className:(0,o.cn)("gap-2 font-mono text-xs tabular-nums border border-transparent hover:border-border",P&&"border-primary hover:border-primary"),onClick:()=>F(e=>!e),children:[es>0&&(0,r.jsxs)("span",{className:"text-green-600",children:["+",es]}),en>0&&(0,r.jsxs)("span",{className:"text-red-600",children:["-",en]})]})}),(0,r.jsxs)("div",{className:"relative",children:[K&&"MERGED"===K.state?(0,r.jsxs)(u.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,r.jsx)(Z.A,{className:"size-3.5 text-green-600"}),"Handed off"]}):K&&"CLOSED"===K.state?(0,r.jsxs)(u.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,r.jsx)(eU.A,{className:"size-3.5 text-red-500"}),"PR Closed"]}):(0,r.jsx)(eF.Y6,{label:ej?"Commit and push to main":"Commit, push, create PR, merge, and clean up",children:(0,r.jsxs)(u.$,{variant:"outline",size:"sm",className:(0,o.cn)("gap-1.5 cursor-pointer",V?"border-green-200 bg-green-50 text-green-700 hover:bg-green-100":""),onClick:eA,disabled:!V||eo?.phase==="running"||eo?.phase==="awaiting_review",children:[eo?.phase==="running"||eo?.phase==="awaiting_review"?(0,r.jsx)(g.A,{className:"size-3.5 animate-spin"}):(0,r.jsx)(e5.A,{className:"size-3.5"}),"Hands!"]})}),ed&&eo&&(0,r.jsx)(e7,{steps:eo.steps,onRetry:"error"===eo.phase?eR:void 0,onCancel:"running"===eo.phase||"awaiting_review"===eo.phase?e$:void 0,cancelPending:eg,onClose:()=>{eu(!1),ec(null),ep(null),eh(null)},isComplete:"completed"===eo.phase,isError:"error"===eo.phase||"cancelled"===eo.phase}),eo?.phase==="awaiting_review"&&eo.reviewData&&(0,r.jsx)(tr,{open:!0,reviewData:eo.reviewData,truncated:eo.reviewTruncated,totalLines:eo.reviewTotalLines,attempt:eo.reviewAttempt,onApprove:eI,onCancel:eE,onResolveDifferently:eT,submittingAction:ex,submitError:ef,onCancelHandoff:e$,cancelHandoffPending:eg})]}),_?(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(u.$,{variant:"destructive",size:"sm",onClick:ek,children:"Confirm Delete"}),(0,r.jsx)(u.$,{variant:"ghost",size:"sm",onClick:()=>L(!1),children:"Cancel"})]}):(0,r.jsx)(eF.Y6,{label:"Delete task",children:(0,r.jsx)(u.$,{variant:"ghost",size:"icon",onClick:()=>L(!0),children:(0,r.jsx)(e2.A,{className:"size-4"})})})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3 pt-1",children:[(0,r.jsxs)(eX.rI,{children:[(0,r.jsx)(eX.ty,{asChild:!0,children:(0,r.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium hover:bg-muted/50",children:[eO&&(0,r.jsx)(eO,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("span",{children:eD?.title||C.column}),(0,r.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,r.jsx)(eX.SQ,{align:"start",children:M.cZ.map(e=>{let t=M.G$[e.id];return(0,r.jsxs)(eX._2,{onClick:()=>ey(e.id),children:[t&&(0,r.jsx)(t,{className:"size-3.5 text-muted-foreground"}),e.title,e.id===C.column&&(0,r.jsx)(Z.A,{className:"ml-auto size-3"})]},e.id)})})]}),(0,r.jsxs)(eX.rI,{children:[(0,r.jsx)(eX.ty,{asChild:!0,children:(0,r.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium hover:bg-muted/50",children:[(0,r.jsx)(tn.w,{priority:C.priority}),(0,r.jsx)("span",{children:M.fz.find(e=>e.value===C.priority)?.label??"No priority"}),(0,r.jsx)(m.A,{className:"size-3 text-muted-foreground"})]})}),(0,r.jsx)(eX.SQ,{align:"start",children:M.fz.map(e=>(0,r.jsxs)(eX._2,{onClick:()=>ew(e.value),className:"cursor-pointer",children:[(0,r.jsx)(tn.w,{priority:e.value}),e.label,e.value===C.priority&&(0,r.jsx)(Z.A,{className:"ml-auto size-3"})]},e.value))})]}),(e=(0,M.eE)(C.status),(0,r.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs font-medium ${e.pillBgClass} ${e.pillTextClass}`,children:["running"===C.status?(0,r.jsx)(ta.x,{size:"sm"}):(0,r.jsx)("span",{className:`size-1.5 rounded-full ${e.dotClass}`}),e.label]})),(0,r.jsx)("div",{className:"flex-1"}),D&&(0,r.jsx)(eF.Y6,{label:"Needs tasting",children:(0,r.jsxs)(u.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:O,children:[(0,r.jsx)("span",{className:(0,o.cn)("text-[11px] font-semibold px-[7px] py-px rounded-full tabular-nums",(0,M.eE)("needs_tasting").pillBgClass,(0,M.eE)("needs_tasting").pillTextClass),children:D.total}),1===D.total?"Order needs tasting":"Orders need tasting",(0,r.jsx)(x.A,{className:"size-3.5"})]})})]})]}),(0,r.jsxs)("div",{className:"relative flex flex-1 overflow-hidden",children:[(0,r.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:B?(0,r.jsx)(eV,{taskSlug:c,taskTitle:C.title,repoId:d,status:C.status,onTaskUpdated:z,autoStartContext:v||void 0,autoStartModel:N||void 0,autoStartImages:k,autoImproveTitle:w,prefetchedActiveChat:U}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,r.jsx)(e_._,{size:"lg"})})}),(0,r.jsxs)("div",{className:(0,o.cn)("absolute inset-y-0 right-0 z-20 flex w-[400px] max-w-[50vw] flex-col border-l border-border bg-background shadow-lg transition-transform duration-300 ease-in-out",P?"translate-x-0":"translate-x-full"),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-4 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,r.jsx)(e0.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:C.branch??"main"}),C.worktree&&(0,r.jsx)("span",{className:"shrink-0 rounded bg-green-50 px-1.5 py-0.5 text-[10px] font-medium text-green-700",children:C.worktree.split("/").pop()})]}),(0,r.jsx)(u.$,{variant:"ghost",size:"icon",className:"size-7",onClick:()=>F(!1),children:(0,r.jsx)(eU.A,{className:"size-4"})})]}),P&&(0,r.jsx)(A,{slug:c,repoId:d})]})]})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7133],{379:(e,t,n)=>{function r(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}n.d(t,{mK:()=>r}),"u">typeof window&&window.document&&window.document.createElement},3321:(e,t,n)=>{var r=n(4645);n.o(r,"useParams")&&n.d(t,{useParams:function(){return r.useParams}}),n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},3935:(e,t,n)=>{n.d(t,{C:()=>l});var r=n(2115),o=n(7527),i=n(6294),l=e=>{var t;let n,l,{present:s,children:u}=e,c=function(e){var t,n;let[o,l]=r.useState(),s=r.useRef(null),u=r.useRef(e),c=r.useRef("none"),[f,d]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=a(s.current);c.current="mounted"===f?e:"none"},[f]),(0,i.N)(()=>{let t=s.current,n=u.current;if(n!==e){let r=c.current,o=a(t);e?d("MOUNT"):"none"===o||t?.display==="none"?d("UNMOUNT"):n&&r!==o?d("ANIMATION_OUT"):d("UNMOUNT"),u.current=e}},[e,d]),(0,i.N)(()=>{if(o){let e,t=o.ownerDocument.defaultView??window,n=n=>{let r=a(s.current).includes(CSS.escape(n.animationName));if(n.target===o&&r&&(d("ANIMATION_END"),!u.current)){let n=o.style.animationFillMode;o.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=n)})}},r=e=>{e.target===o&&(c.current=a(s.current))};return o.addEventListener("animationstart",r),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{t.clearTimeout(e),o.removeEventListener("animationstart",r),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}d("ANIMATION_END")},[o,d]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:r.useCallback(e=>{s.current=e?getComputedStyle(e):null,l(e)},[])}}(s),f="function"==typeof u?u({present:c.isPresent}):r.Children.only(u),d=(0,o.s)(c.ref,(t=f,(l=(n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.ref:(l=(n=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof u||c.isPresent?r.cloneElement(f,{ref:d}):null};function a(e){return e?.animationName||"none"}l.displayName="Presence"},4268:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(8698).A)("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},5828:(e,t,n)=>{let r;n.d(t,{Kq:()=>$});var o=n(2115),i=n(379),l=n(7527),a=n(8599),s=n(8454),u=(n(9971),n(8142)),c=(n(9040),n(3935)),f=n(9354),d=n(5155),p=Symbol("radix.slottable"),m=(n(8979),Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"})),h=o.forwardRef((e,t)=>(0,d.jsx)(f.sG.span,{...e,ref:t,style:{...m,...e.style}}));h.displayName="VisuallyHidden";var[g,y]=(0,a.A)("Tooltip",[u.Bk]),v=(0,u.Bk)(),w="TooltipProvider",x="tooltip.open",[b,E]=g(w),R=e=>{let{__scopeTooltip:t,delayDuration:n=700,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:l}=e,a=o.useRef(!0),s=o.useRef(!1),u=o.useRef(0);return o.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,d.jsx)(b,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:o.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:o.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};R.displayName=w;var C="Tooltip",[T,P]=g(C),O="TooltipTrigger";o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,a=P(O,n),s=E(O,n),c=v(n),p=o.useRef(null),m=(0,l.s)(t,p,a.onTriggerChange),h=o.useRef(!1),g=o.useRef(!1),y=o.useCallback(()=>h.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,d.jsx)(u.Mz,{asChild:!0,...c,children:(0,d.jsx)(f.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...r,ref:m,onPointerMove:(0,i.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,i.mK)(e.onPointerLeave,()=>{a.onTriggerLeave(),g.current=!1}),onPointerDown:(0,i.mK)(e.onPointerDown,()=>{a.open&&a.onClose(),h.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,i.mK)(e.onFocus,()=>{h.current||a.onOpen()}),onBlur:(0,i.mK)(e.onBlur,a.onClose),onClick:(0,i.mK)(e.onClick,a.onClose)})})}).displayName=O;var[A,L]=g("TooltipPortal",{forceMount:void 0}),S="TooltipContent",N=o.forwardRef((e,t)=>{let n=L(S,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...i}=e,l=P(S,e.__scopeTooltip);return(0,d.jsx)(c.C,{present:r||l.open,children:l.disableHoverableContent?(0,d.jsx)(W,{side:o,...i,ref:t}):(0,d.jsx)(k,{side:o,...i,ref:t})})}),k=o.forwardRef((e,t)=>{let n=P(S,e.__scopeTooltip),r=E(S,e.__scopeTooltip),i=o.useRef(null),a=(0,l.s)(t,i),[s,u]=o.useState(null),{trigger:c,onClose:f}=n,p=i.current,{onPointerInTransitChange:m}=r,h=o.useCallback(()=>{u(null),m(!1)},[m]),g=o.useCallback((e,t)=>{let n,r=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,r,o,i)){case i:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw Error("unreachable")}}(o,r.getBoundingClientRect());u(((n=[...function(e,t,n=5){let r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(o,i),...function(e){let{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return(n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y)?t:t.concat(n)}(n))),m(!0)},[m]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(c&&p){let e=e=>g(e,p),t=e=>g(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,g,h]),o.useEffect(()=>{if(s){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:n,y:r}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,f=a.y;u>r!=f>r&&n<(c-s)*(r-u)/(f-u)+s&&(o=!o)}return o}(n,s);r?h():o&&(h(),f())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,f,h]),(0,d.jsx)(W,{...e,ref:a})}),[D,j]=g(C,{isInside:!1}),M=((r=({children:e})=>(0,d.jsx)(d.Fragment,{children:e})).displayName="TooltipContent.Slottable",r.__radixId=p,r),W=o.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:l,onPointerDownOutside:a,...c}=e,f=P(S,n),p=v(n),{onClose:m}=f;return o.useEffect(()=>(document.addEventListener(x,m),()=>document.removeEventListener(x,m)),[m]),o.useEffect(()=>{if(f.trigger){let e=e=>{let t=e.target;t?.contains(f.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[f.trigger,m]),(0,d.jsx)(s.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,d.jsxs)(u.UC,{"data-state":f.stateAttribute,...p,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,d.jsx)(M,{children:r}),(0,d.jsx)(D,{scope:n,isInside:!0,children:(0,d.jsx)(h,{id:f.contentId,role:"tooltip",children:i||r})})]})})});N.displayName=S;var _="TooltipArrow";o.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,o=v(n);return j(_,n).isInside?null:(0,d.jsx)(u.i3,{...o,...r,ref:t})}).displayName=_;var $=R},6294:(e,t,n)=>{n.d(t,{N:()=>o});var r=n(2115),o=globalThis?.document?r.useLayoutEffect:()=>{}},7347:(e,t,n)=>{n.d(t,{c:()=>o});var r=n(2115);function o(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}},7527:(e,t,n)=>{n.d(t,{s:()=>l,t:()=>i});var r=n(2115);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():o(e[t],null)}}}}function l(...e){return r.useCallback(i(...e),e)}},8142:(e,t,n)=>{n.d(t,{Mz:()=>e0,i3:()=>e2,UC:()=>e1,bL:()=>eQ,Bk:()=>e_});var r=n(2115);let o=["top","right","bottom","left"],i=Math.min,l=Math.max,a=Math.round,s=Math.floor,u=e=>({x:e,y:e}),c={left:"right",right:"left",bottom:"top",top:"bottom"},f={start:"end",end:"start"};function d(e,t){return"function"==typeof e?e(t):e}function p(e){return e.split("-")[0]}function m(e){return e.split("-")[1]}function h(e){return"x"===e?"y":"x"}function g(e){return"y"===e?"height":"width"}let y=new Set(["top","bottom"]);function v(e){return y.has(p(e))?"y":"x"}function w(e){return e.replace(/start|end/g,e=>f[e])}let x=["left","right"],b=["right","left"],E=["top","bottom"],R=["bottom","top"];function C(e){return e.replace(/left|right|bottom|top/g,e=>c[e])}function T(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function P(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function O(e,t,n){let r,{reference:o,floating:i}=e,l=v(t),a=h(v(t)),s=g(a),u=p(t),c="y"===l,f=o.x+o.width/2-i.width/2,d=o.y+o.height/2-i.height/2,y=o[s]/2-i[s]/2;switch(u){case"top":r={x:f,y:o.y-i.height};break;case"bottom":r={x:f,y:o.y+o.height};break;case"right":r={x:o.x+o.width,y:d};break;case"left":r={x:o.x-i.width,y:d};break;default:r={x:o.x,y:o.y}}switch(m(t)){case"start":r[a]-=y*(n&&c?-1:1);break;case"end":r[a]+=y*(n&&c?-1:1)}return r}async function A(e,t){var n;void 0===t&&(t={});let{x:r,y:o,platform:i,rects:l,elements:a,strategy:s}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=d(t,e),h=T(m),g=a[p?"floating"===f?"reference":"floating":f],y=P(await i.getClippingRect({element:null==(n=await (null==i.isElement?void 0:i.isElement(g)))||n?g:g.contextElement||await (null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:s})),v="floating"===f?{x:r,y:o,width:l.floating.width,height:l.floating.height}:l.reference,w=await (null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),x=await (null==i.isElement?void 0:i.isElement(w))&&await (null==i.getScale?void 0:i.getScale(w))||{x:1,y:1},b=P(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:w,strategy:s}):v);return{top:(y.top-b.top+h.top)/x.y,bottom:(b.bottom-y.bottom+h.bottom)/x.y,left:(y.left-b.left+h.left)/x.x,right:(b.right-y.right+h.right)/x.x}}let L=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:l}=n,a=i.filter(Boolean),s=await (null==l.isRTL?void 0:l.isRTL(t)),u=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:c,y:f}=O(u,r,s),d=r,p={},m=0;for(let n=0;n<a.length;n++){var h;let{name:i,fn:g}=a[n],{x:y,y:v,data:w,reset:x}=await g({x:c,y:f,initialPlacement:r,placement:d,strategy:o,middlewareData:p,rects:u,platform:{...l,detectOverflow:null!=(h=l.detectOverflow)?h:A},elements:{reference:e,floating:t}});c=null!=y?y:c,f=null!=v?v:f,p={...p,[i]:{...p[i],...w}},x&&m<=50&&(m++,"object"==typeof x&&(x.placement&&(d=x.placement),x.rects&&(u=!0===x.rects?await l.getElementRects({reference:e,floating:t,strategy:o}):x.rects),{x:c,y:f}=O(u,d,s)),n=-1)}return{x:c,y:f,placement:d,strategy:o,middlewareData:p}};function S(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function N(e){return o.some(t=>e[t]>=0)}let k=new Set(["left","top"]);async function D(e,t){let{placement:n,platform:r,elements:o}=e,i=await (null==r.isRTL?void 0:r.isRTL(o.floating)),l=p(n),a=m(n),s="y"===v(n),u=k.has(l)?-1:1,c=i&&s?-1:1,f=d(t,e),{mainAxis:h,crossAxis:g,alignmentAxis:y}="number"==typeof f?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&"number"==typeof y&&(g="end"===a?-1*y:y),s?{x:g*c,y:h*u}:{x:h*u,y:g*c}}function j(){return"u">typeof window}function M(e){return $(e)?(e.nodeName||"").toLowerCase():"#document"}function W(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function _(e){var t;return null==(t=($(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function $(e){return!!j()&&(e instanceof Node||e instanceof W(e).Node)}function F(e){return!!j()&&(e instanceof Element||e instanceof W(e).Element)}function I(e){return!!j()&&(e instanceof HTMLElement||e instanceof W(e).HTMLElement)}function B(e){return!(!j()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof W(e).ShadowRoot)}let H=new Set(["inline","contents"]);function z(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!H.has(o)}let V=new Set(["table","td","th"]),U=[":popover-open",":modal"];function K(e){return U.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let G=["transform","translate","scale","rotate","perspective"],X=["transform","translate","scale","rotate","perspective","filter"],Y=["paint","layout","strict","content"];function q(e){let t=Z(),n=F(e)?ee(e):e;return G.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||X.some(e=>(n.willChange||"").includes(e))||Y.some(e=>(n.contain||"").includes(e))}function Z(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let J=new Set(["html","body","#document"]);function Q(e){return J.has(M(e))}function ee(e){return W(e).getComputedStyle(e)}function et(e){return F(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function en(e){if("html"===M(e))return e;let t=e.assignedSlot||e.parentNode||B(e)&&e.host||_(e);return B(t)?t.host:t}function er(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let o=function e(t){let n=en(t);return Q(n)?t.ownerDocument?t.ownerDocument.body:t.body:I(n)&&z(n)?n:e(n)}(e),i=o===(null==(r=e.ownerDocument)?void 0:r.body),l=W(o);if(i){let e=eo(l);return t.concat(l,l.visualViewport||[],z(o)?o:[],e&&n?er(e):[])}return t.concat(o,er(o,[],n))}function eo(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ei(e){let t=ee(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=I(e),i=o?e.offsetWidth:n,l=o?e.offsetHeight:r,s=a(n)!==i||a(r)!==l;return s&&(n=i,r=l),{width:n,height:r,$:s}}function el(e){return F(e)?e:e.contextElement}function ea(e){let t=el(e);if(!I(t))return u(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:i}=ei(t),l=(i?a(n.width):n.width)/r,s=(i?a(n.height):n.height)/o;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}let es=u(0);function eu(e){let t=W(e);return Z()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:es}function ec(e,t,n,r){var o;void 0===t&&(t=!1),void 0===n&&(n=!1);let i=e.getBoundingClientRect(),l=el(e),a=u(1);t&&(r?F(r)&&(a=ea(r)):a=ea(e));let s=(void 0===(o=n)&&(o=!1),r&&(!o||r===W(l))&&o)?eu(l):u(0),c=(i.left+s.x)/a.x,f=(i.top+s.y)/a.y,d=i.width/a.x,p=i.height/a.y;if(l){let e=W(l),t=r&&F(r)?W(r):r,n=e,o=eo(n);for(;o&&r&&t!==n;){let e=ea(o),t=o.getBoundingClientRect(),r=ee(o),i=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,f*=e.y,d*=e.x,p*=e.y,c+=i,f+=l,o=eo(n=W(o))}}return P({width:d,height:p,x:c,y:f})}function ef(e,t){let n=et(e).scrollLeft;return t?t.left+n:ec(_(e)).left+n}function ed(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ef(e,n),y:n.top+t.scrollTop}}let ep=new Set(["absolute","fixed"]);function em(e,t,n){var r;let o;if("viewport"===t)o=function(e,t){let n=W(e),r=_(e),o=n.visualViewport,i=r.clientWidth,l=r.clientHeight,a=0,s=0;if(o){i=o.width,l=o.height;let e=Z();(!e||e&&"fixed"===t)&&(a=o.offsetLeft,s=o.offsetTop)}let u=ef(r);if(u<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),o="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(r.clientWidth-t.clientWidth-o);l<=25&&(i-=l)}else u<=25&&(i+=u);return{width:i,height:l,x:a,y:s}}(e,n);else if("document"===t){let t,n,i,a,s,u,c;r=_(e),t=_(r),n=et(r),i=r.ownerDocument.body,a=l(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),s=l(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),u=-n.scrollLeft+ef(r),c=-n.scrollTop,"rtl"===ee(i).direction&&(u+=l(t.clientWidth,i.clientWidth)-a),o={width:a,height:s,x:u,y:c}}else if(F(t)){let e,r,i,l,a,s;r=(e=ec(t,!0,"fixed"===n)).top+t.clientTop,i=e.left+t.clientLeft,l=I(t)?ea(t):u(1),a=t.clientWidth*l.x,s=t.clientHeight*l.y,o={width:a,height:s,x:i*l.x,y:r*l.y}}else{let n=eu(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return P(o)}function eh(e){return"static"===ee(e).position}function eg(e,t){if(!I(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return _(e)===n&&(n=n.ownerDocument.body),n}function ey(e,t){var n;let r=W(e);if(K(e))return r;if(!I(e)){let t=en(e);for(;t&&!Q(t);){if(F(t)&&!eh(t))return t;t=en(t)}return r}let o=eg(e,t);for(;o&&(n=o,V.has(M(n)))&&eh(o);)o=eg(o,t);return o&&Q(o)&&eh(o)&&!q(o)?r:o||function(e){let t=en(e);for(;I(t)&&!Q(t);){if(q(t))return t;if(K(t))break;t=en(t)}return null}(e)||r}let ev=async function(e){let t=this.getOffsetParent||ey,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=I(t),o=_(t),i="fixed"===n,l=ec(e,!0,i,t),a={scrollLeft:0,scrollTop:0},s=u(0);if(r||!r&&!i)if(("body"!==M(t)||z(o))&&(a=et(t)),r){let e=ec(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else o&&(s.x=ef(o));i&&!r&&o&&(s.x=ef(o));let c=!o||r||i?u(0):ed(o,a);return{x:l.left+a.scrollLeft-s.x-c.x,y:l.top+a.scrollTop-s.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ew={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,i="fixed"===o,l=_(r),a=!!t&&K(t.floating);if(r===l||a&&i)return n;let s={scrollLeft:0,scrollTop:0},c=u(1),f=u(0),d=I(r);if((d||!d&&!i)&&(("body"!==M(r)||z(l))&&(s=et(r)),I(r))){let e=ec(r);c=ea(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}let p=!l||d||i?u(0):ed(l,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+f.x+p.x,y:n.y*c.y-s.scrollTop*c.y+f.y+p.y}},getDocumentElement:_,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,a=[..."clippingAncestors"===n?K(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=er(e,[],!1).filter(e=>F(e)&&"body"!==M(e)),o=null,i="fixed"===ee(e).position,l=i?en(e):e;for(;F(l)&&!Q(l);){let t=ee(l),n=q(l);n||"fixed"!==t.position||(o=null),(i?!n&&!o:!n&&"static"===t.position&&!!o&&ep.has(o.position)||z(l)&&!n&&function e(t,n){let r=en(t);return!(r===n||!F(r)||Q(r))&&("fixed"===ee(r).position||e(r,n))}(e,l))?r=r.filter(e=>e!==l):o=t,l=en(l)}return t.set(e,r),r}(t,this._c):[].concat(n),r],s=a[0],u=a.reduce((e,n)=>{let r=em(t,n,o);return e.top=l(r.top,e.top),e.right=i(r.right,e.right),e.bottom=i(r.bottom,e.bottom),e.left=l(r.left,e.left),e},em(t,s,o));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:ey,getElementRects:ev,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=ei(e);return{width:t,height:n}},getScale:ea,isElement:F,isRTL:function(e){return"rtl"===ee(e).direction}};function ex(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let eb=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:s,elements:u,middlewareData:c}=t,{element:f,padding:p=0}=d(e,t)||{};if(null==f)return{};let y=T(p),w={x:n,y:r},x=h(v(o)),b=g(x),E=await s.getDimensions(f),R="y"===x,C=R?"clientHeight":"clientWidth",P=a.reference[b]+a.reference[x]-w[x]-a.floating[b],O=w[x]-a.reference[x],A=await (null==s.getOffsetParent?void 0:s.getOffsetParent(f)),L=A?A[C]:0;L&&await (null==s.isElement?void 0:s.isElement(A))||(L=u.floating[C]||a.floating[b]);let S=L/2-E[b]/2-1,N=i(y[R?"top":"left"],S),k=i(y[R?"bottom":"right"],S),D=L-E[b]-k,j=L/2-E[b]/2+(P/2-O/2),M=l(N,i(j,D)),W=!c.arrow&&null!=m(o)&&j!==M&&a.reference[b]/2-(j<N?N:k)-E[b]/2<0,_=W?j<N?j-N:j-D:0;return{[x]:w[x]+_,data:{[x]:M,centerOffset:j-M-_,...W&&{alignmentOffset:_}},reset:W}}});var eE=n(7650),eR="u">typeof document?r.useLayoutEffect:function(){};function eC(e,t){let n,r,o;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eC(e[r],t[r]))return!1;return!0}if((n=(o=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){let n=o[r];if(("_owner"!==n||!e.$$typeof)&&!eC(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eT(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eP(e,t){let n=eT(e);return Math.round(t*n)/n}function eO(e){let t=r.useRef(e);return eR(()=>{t.current=e}),t}var eA=n(9354),eL=n(5155),eS=r.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...i}=e;return(0,eL.jsx)(eA.sG.svg,{...i,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,eL.jsx)("polygon",{points:"0,0 30,0 15,10"})})});eS.displayName="Arrow";var eN=n(7527),ek=n(8599),eD=n(7347),ej=n(6294),eM="Popper",[eW,e_]=(0,ek.A)(eM),[e$,eF]=eW(eM),eI=e=>{let{__scopePopper:t,children:n}=e,[o,i]=r.useState(null);return(0,eL.jsx)(e$,{scope:t,anchor:o,onAnchorChange:i,children:n})};eI.displayName=eM;var eB="PopperAnchor",eH=r.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:o,...i}=e,l=eF(eB,n),a=r.useRef(null),s=(0,eN.s)(t,a),u=r.useRef(null);return r.useEffect(()=>{let e=u.current;u.current=o?.current||a.current,e!==u.current&&l.onAnchorChange(u.current)}),o?null:(0,eL.jsx)(eA.sG.div,{...i,ref:s})});eH.displayName=eB;var ez="PopperContent",[eV,eU]=eW(ez),eK=r.forwardRef((e,t)=>{var n,o,a,u,c,f,y,T,P,O,A,j,M;let{__scopePopper:W,side:$="bottom",sideOffset:F=0,align:I="center",alignOffset:B=0,arrowPadding:H=0,avoidCollisions:z=!0,collisionBoundary:V=[],collisionPadding:U=0,sticky:K="partial",hideWhenDetached:G=!1,updatePositionStrategy:X="optimized",onPlaced:Y,...q}=e,Z=eF(ez,W),[J,Q]=r.useState(null),ee=(0,eN.s)(t,e=>Q(e)),[et,en]=r.useState(null),eo=function(e){let[t,n]=r.useState(void 0);return(0,ej.N)(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,o;if(!Array.isArray(t)||!t.length)return;let i=t[0];if("borderBoxSize"in i){let e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,o=t.blockSize}else r=e.offsetWidth,o=e.offsetHeight;n({width:r,height:o})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(et),ei=eo?.width??0,ea=eo?.height??0,es="number"==typeof U?U:{top:0,right:0,bottom:0,left:0,...U},eu=Array.isArray(V)?V:[V],ef=eu.length>0,ed={padding:es,boundary:eu.filter(eq),altBoundary:ef},{refs:ep,floatingStyles:em,placement:eh,isPositioned:eg,middlewareData:ey}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:i,elements:{reference:l,floating:a}={},transform:s=!0,whileElementsMounted:u,open:c}=e,[f,d]=r.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=r.useState(o);eC(p,o)||m(o);let[h,g]=r.useState(null),[y,v]=r.useState(null),w=r.useCallback(e=>{e!==R.current&&(R.current=e,g(e))},[]),x=r.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),b=l||h,E=a||y,R=r.useRef(null),C=r.useRef(null),T=r.useRef(f),P=null!=u,O=eO(u),A=eO(i),S=eO(c),N=r.useCallback(()=>{var e,r;let o,i,l;if(!R.current||!C.current)return;let a={placement:t,strategy:n,middleware:p};A.current&&(a.platform=A.current),(e=R.current,r=C.current,o=new Map,l={...(i={platform:ew,...a}).platform,_c:o},L(e,r,{...i,platform:l})).then(e=>{let t={...e,isPositioned:!1!==S.current};k.current&&!eC(T.current,t)&&(T.current=t,eE.flushSync(()=>{d(t)}))})},[p,t,n,A,S]);eR(()=>{!1===c&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let k=r.useRef(!1);eR(()=>(k.current=!0,()=>{k.current=!1}),[]),eR(()=>{if(b&&(R.current=b),E&&(C.current=E),b&&E){if(O.current)return O.current(b,E,N);N()}},[b,E,N,O,P]);let D=r.useMemo(()=>({reference:R,floating:C,setReference:w,setFloating:x}),[w,x]),j=r.useMemo(()=>({reference:b,floating:E}),[b,E]),M=r.useMemo(()=>{let e={position:n,left:0,top:0};if(!j.floating)return e;let t=eP(j.floating,f.x),r=eP(j.floating,f.y);return s?{...e,transform:"translate("+t+"px, "+r+"px)",...eT(j.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,s,j.floating,f.x,f.y]);return r.useMemo(()=>({...f,update:N,refs:D,elements:j,floatingStyles:M}),[f,N,D,j,M])}({strategy:"fixed",placement:$+("center"!==I?"-"+I:""),whileElementsMounted:(...e)=>(function(e,t,n,r){let o;void 0===r&&(r={});let{ancestorScroll:a=!0,ancestorResize:u=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:f="function"==typeof IntersectionObserver,animationFrame:d=!1}=r,p=el(e),m=a||u?[...p?er(p):[],...er(t)]:[];m.forEach(e=>{a&&e.addEventListener("scroll",n,{passive:!0}),u&&e.addEventListener("resize",n)});let h=p&&f?function(e,t){let n,r=null,o=_(e);function a(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function u(c,f){void 0===c&&(c=!1),void 0===f&&(f=1),a();let d=e.getBoundingClientRect(),{left:p,top:m,width:h,height:g}=d;if(c||t(),!h||!g)return;let y={rootMargin:-s(m)+"px "+-s(o.clientWidth-(p+h))+"px "+-s(o.clientHeight-(m+g))+"px "+-s(p)+"px",threshold:l(0,i(1,f))||1},v=!0;function w(t){let r=t[0].intersectionRatio;if(r!==f){if(!v)return u();r?u(!1,r):n=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==r||ex(d,e.getBoundingClientRect())||u(),v=!1}try{r=new IntersectionObserver(w,{...y,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(w,y)}r.observe(e)}(!0),a}(p,n):null,g=-1,y=null;c&&(y=new ResizeObserver(e=>{let[r]=e;r&&r.target===p&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),n()}),p&&!d&&y.observe(p),y.observe(t));let v=d?ec(e):null;return d&&function t(){let r=ec(e);v&&!ex(v,r)&&n(),v=r,o=requestAnimationFrame(t)}(),n(),()=>{var e;m.forEach(e=>{a&&e.removeEventListener("scroll",n),u&&e.removeEventListener("resize",n)}),null==h||h(),null==(e=y)||e.disconnect(),y=null,d&&cancelAnimationFrame(o)}})(...e,{animationFrame:"always"===X}),elements:{reference:Z.anchor},middleware:[{...{name:"offset",options:o=n={mainAxis:F+ea,alignmentAxis:B},async fn(e){var t,n;let{x:r,y:i,placement:l,middlewareData:a}=e,s=await D(e,o);return l===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:l}}}},options:[n,void 0]},z&&{...{name:"shift",options:c=u={mainAxis:!0,crossAxis:!1,limiter:"partial"===K?{...(a=void 0,{options:a={},fn(e){let{x:t,y:n,placement:r,rects:o,middlewareData:i}=e,{offset:l=0,mainAxis:s=!0,crossAxis:u=!0}=d(a,e),c={x:t,y:n},f=v(r),m=h(f),g=c[m],y=c[f],w=d(l,e),x="number"==typeof w?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(s){let e="y"===m?"height":"width",t=o.reference[m]-o.floating[e]+x.mainAxis,n=o.reference[m]+o.reference[e]-x.mainAxis;g<t?g=t:g>n&&(g=n)}if(u){var b,E;let e="y"===m?"width":"height",t=k.has(p(r)),n=o.reference[f]-o.floating[e]+(t&&(null==(b=i.offset)?void 0:b[f])||0)+(t?0:x.crossAxis),l=o.reference[f]+o.reference[e]+(t?0:(null==(E=i.offset)?void 0:E[f])||0)-(t?x.crossAxis:0);y<n?y=n:y>l&&(y=l)}return{[m]:g,[f]:y}}}),options:[void 0,void 0]}:void 0,...ed},async fn(e){let{x:t,y:n,placement:r,platform:o}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:u={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...f}=d(c,e),m={x:t,y:n},g=await o.detectOverflow(e,f),y=v(p(r)),w=h(y),x=m[w],b=m[y];if(a){let e="y"===w?"top":"left",t="y"===w?"bottom":"right",n=x+g[e],r=x-g[t];x=l(n,i(x,r))}if(s){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",n=b+g[e],r=b-g[t];b=l(n,i(b,r))}let E=u.fn({...e,[w]:x,[y]:b});return{...E,data:{x:E.x-t,y:E.y-n,enabled:{[w]:a,[y]:s}}}}},options:[u,void 0]},z&&{...{name:"flip",options:y=f={...ed},async fn(e){var t,n,r,o,i,l,a,s;let u,c,f,{placement:T,middlewareData:P,rects:O,initialPlacement:A,platform:L,elements:S}=e,{mainAxis:N=!0,crossAxis:k=!0,fallbackPlacements:D,fallbackStrategy:j="bestFit",fallbackAxisSideDirection:M="none",flipAlignment:W=!0,..._}=d(y,e);if(null!=(t=P.arrow)&&t.alignmentOffset)return{};let $=p(T),F=v(A),I=p(A)===A,B=await (null==L.isRTL?void 0:L.isRTL(S.floating)),H=D||(I||!W?[C(A)]:(u=C(A),[w(A),u,w(u)])),z="none"!==M;!D&&z&&H.push(...(c=m(A),f=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?b:x;return t?x:b;case"left":case"right":return t?E:R;default:return[]}}(p(A),"start"===M,B),c&&(f=f.map(e=>e+"-"+c),W&&(f=f.concat(f.map(w)))),f));let V=[A,...H],U=await L.detectOverflow(e,_),K=[],G=(null==(n=P.flip)?void 0:n.overflows)||[];if(N&&K.push(U[$]),k){let e,t,n,r,o=(l=T,a=O,void 0===(s=B)&&(s=!1),e=m(l),n=g(t=h(v(l))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[n]>a.floating[n]&&(r=C(r)),[r,C(r)]);K.push(U[o[0]],U[o[1]])}if(G=[...G,{placement:T,overflows:K}],!K.every(e=>e<=0)){let e=((null==(r=P.flip)?void 0:r.index)||0)+1,t=V[e];if(t&&("alignment"!==k||F===v(t)||G.every(e=>v(e.placement)!==F||e.overflows[0]>0)))return{data:{index:e,overflows:G},reset:{placement:t}};let n=null==(o=G.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:o.placement;if(!n)switch(j){case"bestFit":{let e=null==(i=G.filter(e=>{if(z){let t=v(e.placement);return t===F||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:i[0];e&&(n=e);break}case"initialPlacement":n=A}if(T!==n)return{reset:{placement:n}}}return{}}},options:[f,void 0]},{...{name:"size",options:P=T={...ed,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:o,height:i}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${n}px`),l.setProperty("--radix-popper-available-height",`${r}px`),l.setProperty("--radix-popper-anchor-width",`${o}px`),l.setProperty("--radix-popper-anchor-height",`${i}px`)}},async fn(e){var t,n;let r,o,{placement:a,rects:s,platform:u,elements:c}=e,{apply:f=()=>{},...h}=d(P,e),g=await u.detectOverflow(e,h),y=p(a),w=m(a),x="y"===v(a),{width:b,height:E}=s.floating;"top"===y||"bottom"===y?(r=y,o=w===(await (null==u.isRTL?void 0:u.isRTL(c.floating))?"start":"end")?"left":"right"):(o=y,r="end"===w?"top":"bottom");let R=E-g.top-g.bottom,C=b-g.left-g.right,T=i(E-g[r],R),O=i(b-g[o],C),A=!e.middlewareData.shift,L=T,S=O;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(S=C),null!=(n=e.middlewareData.shift)&&n.enabled.y&&(L=R),A&&!w){let e=l(g.left,0),t=l(g.right,0),n=l(g.top,0),r=l(g.bottom,0);x?S=b-2*(0!==e||0!==t?e+t:l(g.left,g.right)):L=E-2*(0!==n||0!==r?n+r:l(g.top,g.bottom))}await f({...e,availableWidth:S,availableHeight:L});let N=await u.getDimensions(c.floating);return b!==N.width||E!==N.height?{reset:{rects:!0}}:{}}},options:[T,void 0]},et&&{...{name:"arrow",options:A=O={element:et,padding:H},fn(e){let{element:t,padding:n}="function"==typeof A?A(e):A;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?eb({element:t.current,padding:n}).fn(e):{}:t?eb({element:t,padding:n}).fn(e):{}}},options:[O,void 0]},eZ({arrowWidth:ei,arrowHeight:ea}),G&&{...{name:"hide",options:M=j={strategy:"referenceHidden",...ed},async fn(e){let{rects:t,platform:n}=e,{strategy:r="referenceHidden",...o}=d(M,e);switch(r){case"referenceHidden":{let r=S(await n.detectOverflow(e,{...o,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:N(r)}}}case"escaped":{let r=S(await n.detectOverflow(e,{...o,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:N(r)}}}default:return{}}}},options:[j,void 0]}]}),[ev,eS]=eJ(eh),ek=(0,eD.c)(Y);(0,ej.N)(()=>{eg&&ek?.()},[eg,ek]);let eM=ey.arrow?.x,eW=ey.arrow?.y,e_=ey.arrow?.centerOffset!==0,[e$,eI]=r.useState();return(0,ej.N)(()=>{J&&eI(window.getComputedStyle(J).zIndex)},[J]),(0,eL.jsx)("div",{ref:ep.setFloating,"data-radix-popper-content-wrapper":"",style:{...em,transform:eg?em.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:e$,"--radix-popper-transform-origin":[ey.transformOrigin?.x,ey.transformOrigin?.y].join(" "),...ey.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eL.jsx)(eV,{scope:W,placedSide:ev,onArrowChange:en,arrowX:eM,arrowY:eW,shouldHideArrow:e_,children:(0,eL.jsx)(eA.sG.div,{"data-side":ev,"data-align":eS,...q,ref:ee,style:{...q.style,animation:eg?void 0:"none"}})})})});eK.displayName=ez;var eG="PopperArrow",eX={top:"bottom",right:"left",bottom:"top",left:"right"},eY=r.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,o=eU(eG,n),i=eX[o.placedSide];return(0,eL.jsx)("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:(0,eL.jsx)(eS,{...r,ref:t,style:{...r.style,display:"block"}})})});function eq(e){return null!==e}eY.displayName=eG;var eZ=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,a=i?0:e.arrowHeight,[s,u]=eJ(n),c={start:"0%",center:"50%",end:"100%"}[u],f=(o.arrow?.x??0)+l/2,d=(o.arrow?.y??0)+a/2,p="",m="";return"bottom"===s?(p=i?c:`${f}px`,m=`${-a}px`):"top"===s?(p=i?c:`${f}px`,m=`${r.floating.height+a}px`):"right"===s?(p=`${-a}px`,m=i?c:`${d}px`):"left"===s&&(p=`${r.floating.width+a}px`,m=i?c:`${d}px`),{data:{x:p,y:m}}}});function eJ(e){let[t,n="center"]=e.split("-");return[t,n]}var eQ=eI,e0=eH,e1=eK,e2=eY},8454:(e,t,n)=>{n.d(t,{qW:()=>d});var r,o=n(2115),i=n(379),l=n(9354),a=n(7527),s=n(7347),u=n(5155),c="dismissableLayer.update",f=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),d=o.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:d,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:y,onDismiss:v,...w}=e,x=o.useContext(f),[b,E]=o.useState(null),R=b?.ownerDocument??globalThis?.document,[,C]=o.useState({}),T=(0,a.s)(t,e=>E(e)),P=Array.from(x.layers),[O]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),A=P.indexOf(O),L=b?P.indexOf(b):-1,S=x.layersWithOutsidePointerEventsDisabled.size>0,N=L>=A,k=function(e,t=globalThis?.document){let n=(0,s.c)(e),r=o.useRef(!1),i=o.useRef(()=>{});return o.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){m("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",i.current),i.current=r,t.addEventListener("click",i.current,{once:!0})):r()}else t.removeEventListener("click",i.current);r.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",e),t.removeEventListener("click",i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}(e=>{let t=e.target,n=[...x.branches].some(e=>e.contains(t));N&&!n&&(h?.(e),y?.(e),e.defaultPrevented||v?.())},R),D=function(e,t=globalThis?.document){let n=(0,s.c)(e),r=o.useRef(!1);return o.useEffect(()=>{let e=e=>{e.target&&!r.current&&m("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}(e=>{let t=e.target;![...x.branches].some(e=>e.contains(t))&&(g?.(e),y?.(e),e.defaultPrevented||v?.())},R);return!function(e,t=globalThis?.document){let n=(0,s.c)(e);o.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}(e=>{L===x.layers.size-1&&(d?.(e),!e.defaultPrevented&&v&&(e.preventDefault(),v()))},R),o.useEffect(()=>{if(b)return n&&(0===x.layersWithOutsidePointerEventsDisabled.size&&(r=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(b)),x.layers.add(b),p(),()=>{n&&1===x.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=r)}},[b,R,n,x]),o.useEffect(()=>()=>{b&&(x.layers.delete(b),x.layersWithOutsidePointerEventsDisabled.delete(b),p())},[b,x]),o.useEffect(()=>{let e=()=>C({});return document.addEventListener(c,e),()=>document.removeEventListener(c,e)},[]),(0,u.jsx)(l.sG.div,{...w,ref:T,style:{pointerEvents:S?N?"auto":"none":void 0,...e.style},onFocusCapture:(0,i.mK)(e.onFocusCapture,D.onFocusCapture),onBlurCapture:(0,i.mK)(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:(0,i.mK)(e.onPointerDownCapture,k.onPointerDownCapture)})});function p(){let e=new CustomEvent(c);document.dispatchEvent(e)}function m(e,t,n,{discrete:r}){let o=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?(0,l.hO)(o,i):o.dispatchEvent(i)}d.displayName="DismissableLayer",o.forwardRef((e,t)=>{let n=o.useContext(f),r=o.useRef(null),i=(0,a.s)(t,r);return o.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,u.jsx)(l.sG.div,{...e,ref:i})}).displayName="DismissableLayerBranch"},8599:(e,t,n)=>{n.d(t,{A:()=>l,q:()=>i});var r=n(2115),o=n(5155);function i(e,t){let n=r.createContext(t),i=e=>{let{children:t,...i}=e,l=r.useMemo(()=>i,Object.values(i));return(0,o.jsx)(n.Provider,{value:l,children:t})};return i.displayName=e+"Provider",[i,function(o){let i=r.useContext(n);if(i)return i;if(void 0!==t)return t;throw Error(`\`${o}\` must be used within \`${e}\``)}]}function l(e,t=[]){let n=[],i=()=>{let t=n.map(e=>r.createContext(e));return function(n){let o=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:o}}),[n,o])}};return i.scopeName=e,[function(t,i){let l=r.createContext(i),a=n.length;n=[...n,i];let s=t=>{let{scope:n,children:i,...s}=t,u=n?.[e]?.[a]||l,c=r.useMemo(()=>s,Object.values(s));return(0,o.jsx)(u.Provider,{value:c,children:i})};return s.displayName=t+"Provider",[s,function(n,o){let s=o?.[e]?.[a]||l,u=r.useContext(s);if(u)return u;if(void 0!==i)return i;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let o=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}(i,...t)]}},8698:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(2115);let o=(...e)=>e.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim();var i={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let l=(0,r.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:l,className:a="",children:s,iconNode:u,...c},f)=>(0,r.createElement)("svg",{ref:f,...i,width:t,height:t,stroke:e,strokeWidth:l?24*Number(n)/Number(t):n,className:o("lucide",a),...c},[...u.map(([e,t])=>(0,r.createElement)(e,t)),...Array.isArray(s)?s:[s]])),a=(e,t)=>{let n=(0,r.forwardRef)(({className:n,...i},a)=>(0,r.createElement)(l,{ref:a,iconNode:t,className:o(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...i}));return n.displayName=`${e}`,n}},8979:(e,t,n)=>{n.d(t,{i:()=>a});var r,o=n(2115),i=n(6294),l=(r||(r=n.t(o,2)))[" useInsertionEffect ".trim().toString()]||i.N;function a({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,s]=function({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return l(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}({defaultProp:t,onChange:n}),u=void 0!==e,c=u?e:i;{let t=o.useRef(void 0!==e);o.useEffect(()=>{let e=t.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=u},[u,r])}return[c,o.useCallback(t=>{if(u){let n="function"==typeof t?t(e):t;n!==e&&s.current?.(n)}else a(t)},[u,e,a,s])]}Symbol("RADIX:SYNC_STATE")},9040:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(2115),o=n(7650),i=n(9354),l=n(6294),a=n(5155),s=r.forwardRef((e,t)=>{let{container:n,...s}=e,[u,c]=r.useState(!1);(0,l.N)(()=>c(!0),[]);let f=n||u&&globalThis?.document?.body;return f?o.createPortal((0,a.jsx)(i.sG.div,{...s,ref:t}),f):null});s.displayName="Portal"},9354:(e,t,n)=>{n.d(t,{sG:()=>u,hO:()=>c});var r=n(2115),o=n(7650),i=n(7527),l=n(5155),a=Symbol("radix.slottable");function s(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===a}var u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var n,o;let a,u,c,f=(o=n=`Primitive.${t}`,(a=r.forwardRef((e,t)=>{let{children:n,...o}=e;if(r.isValidElement(n)){var l;let e,a,s=(l=n,(a=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(a=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref),u=function(e,t){let n={...t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}(o,n.props);return n.type!==r.Fragment&&(u.ref=t?(0,i.t)(t,s):s),r.cloneElement(n,u)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${o}.SlotClone`,u=a,(c=r.forwardRef((e,t)=>{let{children:n,...o}=e,i=r.Children.toArray(n),a=i.find(s);if(a){let e=a.props.children,n=i.map(t=>t!==a?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,l.jsx)(u,{...o,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,l.jsx)(u,{...o,ref:t,children:n})})).displayName=`${n}.Slot`,c),d=r.forwardRef((e,n)=>{let{asChild:r,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,l.jsx)(r?f:t,{...o,ref:n})});return d.displayName=`Primitive.${t}`,{...e,[t]:d}},{});function c(e,t){e&&o.flushSync(()=>e.dispatchEvent(t))}},9971:(e,t,n)=>{n.d(t,{B:()=>s});var r,o=n(2115),i=n(6294),l=(r||(r=n.t(o,2)))[" useId ".trim().toString()]||(()=>void 0),a=0;function s(e){let[t,n]=o.useState(l());return(0,i.N)(()=>{e||n(e=>e??String(a++))},[e]),e||(t?`radix-${t}`:"")}}}]);
|