vibedoc 1.11.0 → 1.13.0
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/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +5 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +70 -14
- package/.next/routes-manifest.json +24 -0
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/board/page.js.nft.json +1 -1
- package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
- package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
- package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/getting-started/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(app)/getting-started/page/build-manifest.json +20 -0
- package/.next/server/app/(app)/getting-started/page/next-font-manifest.json +11 -0
- package/.next/server/app/(app)/getting-started/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(app)/getting-started/page/server-reference-manifest.json +4 -0
- package/.next/server/app/(app)/getting-started/page.js +15 -0
- package/.next/server/app/(app)/getting-started/page.js.map +5 -0
- package/.next/server/app/(app)/getting-started/page.js.nft.json +1 -0
- package/.next/server/app/(app)/getting-started/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(app)/graph/page.js.nft.json +1 -1
- package/.next/server/app/(app)/graph/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -1
- package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
- package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
- package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
- package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/activity.html +1 -1
- package/.next/server/app/activity.rsc +7 -7
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/activity.segments/_full.segment.rsc +7 -7
- package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/activity/route.js +2 -3
- package/.next/server/app/api/activity/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/route.js +2 -2
- package/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/context/route.js +2 -3
- package/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/route.js +3 -4
- package/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/.next/server/app/api/decisions/route.js +2 -3
- package/.next/server/app/api/decisions/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/graph/route.js +2 -4
- package/.next/server/app/api/docs/graph/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/links/route.js +2 -4
- package/.next/server/app/api/docs/links/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/route.js +2 -3
- package/.next/server/app/api/docs/route.js.nft.json +1 -1
- package/.next/server/app/api/explorer/route.js +3 -4
- package/.next/server/app/api/explorer/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +3 -4
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/delete/route.js +3 -4
- package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/merge/route.js +3 -4
- package/.next/server/app/api/memory/entries/merge/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/merge/undo/route.js +3 -4
- package/.next/server/app/api/memory/entries/merge/undo/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/restore/route.js +3 -4
- package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/route.js +2 -3
- package/.next/server/app/api/memory/entries/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/save/route.js +3 -4
- package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/graph/route.js +3 -4
- package/.next/server/app/api/memory/graph/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/health/dismiss/route.js +3 -4
- package/.next/server/app/api/memory/health/dismiss/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/health/route.js +2 -3
- package/.next/server/app/api/memory/health/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/history/route.js +2 -4
- package/.next/server/app/api/memory/history/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/restore/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/restore/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/restore/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/restore/route.js +8 -0
- package/.next/server/app/api/memory/restore/route.js.map +5 -0
- package/.next/server/app/api/memory/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/restore/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/route.js +2 -3
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/versions/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/versions/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/versions/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/versions/route.js +7 -0
- package/.next/server/app/api/memory/versions/route.js.map +5 -0
- package/.next/server/app/api/memory/versions/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/versions/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/apply/route.js +3 -4
- package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +2 -3
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/route.js +2 -3
- package/.next/server/app/api/registry/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/create/route.js +3 -4
- package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/delete/route.js +3 -4
- package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/generate/route.js +3 -4
- package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/layout/route.js +3 -4
- package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/restore/route.js +3 -4
- package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/route.js +2 -3
- package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/update/route.js +3 -4
- package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +2 -3
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +2 -3
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/generate/route.js +2 -3
- package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/write/route.js +2 -3
- package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
- package/.next/server/app/api/summary/route.js +2 -3
- package/.next/server/app/api/summary/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/bulk/route.js +3 -4
- package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/create/route.js +2 -3
- package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/delete/route.js +3 -4
- package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/manual-tests/route.js +3 -3
- package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/restore/route.js +3 -4
- package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/review/route.js +3 -4
- package/.next/server/app/api/tasks/review/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +2 -3
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/update/route.js +3 -4
- package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
- package/.next/server/app/api/views/route.js +2 -3
- package/.next/server/app/api/views/route.js.nft.json +1 -1
- package/.next/server/app/board.html +1 -1
- package/.next/server/app/board.rsc +7 -7
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/board.segments/_full.segment.rsc +7 -7
- package/.next/server/app/board.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +6 -6
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/chat.segments/_full.segment.rsc +6 -6
- package/.next/server/app/chat.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +7 -7
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/docs.segments/_full.segment.rsc +7 -7
- package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/explorer.html +1 -1
- package/.next/server/app/explorer.rsc +7 -7
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/explorer.segments/_full.segment.rsc +7 -7
- package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/getting-started.html +1 -0
- package/.next/server/app/getting-started.meta +31 -0
- package/.next/server/app/getting-started.rsc +31 -0
- package/.next/server/app/getting-started.segments/!KGFwcCk/getting-started/__PAGE__.segment.rsc +32 -0
- package/.next/server/app/getting-started.segments/_full.segment.rsc +31 -0
- package/.next/server/app/getting-started.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/graph.html +1 -1
- package/.next/server/app/graph.rsc +6 -6
- package/.next/server/app/graph.segments/!KGFwcCk/graph/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/graph.segments/_full.segment.rsc +6 -6
- package/.next/server/app/graph.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/manual-tests.html +1 -1
- package/.next/server/app/manual-tests.rsc +7 -7
- package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/manual-tests.segments/_full.segment.rsc +7 -7
- package/.next/server/app/manual-tests.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/memory.html +1 -1
- package/.next/server/app/memory.rsc +7 -7
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/memory.segments/_full.segment.rsc +7 -7
- package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roadmap.html +1 -1
- package/.next/server/app/roadmap.rsc +7 -7
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/roadmap.segments/_full.segment.rsc +7 -7
- package/.next/server/app/roadmap.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +6 -6
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +11 -9
- package/.next/server/app/settings.segments/_full.segment.rsc +6 -6
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/setup.html +1 -1
- package/.next/server/app/setup.rsc +6 -6
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/setup.segments/_full.segment.rsc +6 -6
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/welcome/page/app-paths-manifest.json +3 -0
- package/.next/server/app/welcome/page/build-manifest.json +20 -0
- package/.next/server/app/welcome/page/next-font-manifest.json +11 -0
- package/.next/server/app/welcome/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/welcome/page/server-reference-manifest.json +4 -0
- package/.next/server/app/welcome/page.js +13 -0
- package/.next/server/app/welcome/page.js.map +5 -0
- package/.next/server/app/welcome/page.js.nft.json +1 -0
- package/.next/server/app/welcome/page_client-reference-manifest.js +3 -0
- package/.next/server/app/welcome.html +1 -0
- package/.next/server/app/welcome.meta +26 -0
- package/.next/server/app/welcome.rsc +27 -0
- package/.next/server/app/welcome.segments/_full.segment.rsc +27 -0
- package/.next/server/app/welcome.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +29 -0
- package/.next/server/app-paths-manifest.json +5 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01gyja3._.js → 11mp_@anthropic-ai_sdk_0-smxh7._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_02lx_j3._.js → 11mp_@anthropic-ai_sdk_0-upxuo._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-r4g2t._.js → 11mp_@anthropic-ai_sdk_00stvd0._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05iv23g._.js → 11mp_@anthropic-ai_sdk_05tlp4j._.js} +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_06i1jku._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_06pqlwo._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_06q_bm6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_098dref._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_09q07e_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_09r9wsn._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_rnqa6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ch0mdl._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0didq3m._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dwtv_z._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e8sqia._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gk-rze._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gywxp1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0h4l0yx._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hjmy82._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jbmnx_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l7teck._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ldf-lc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0oe9p6l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ppgi2h._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ydb8nm._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_11hsr1e._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14pgcis._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_15_sqq8._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16up-b0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jm94w._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1aswx0v._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1bkea9c._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1d41_6l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1d959rx._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1eughke._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ev29eb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1faxy2m._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lginb1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pg6fky._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1qfho5e._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r9e6jv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tjlpeq._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wcdj4f._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x25dnb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywjkuh._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1zbnql3._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1zbnql3._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_208gclq._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_208gclq._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07rnikd._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0cxqkzo._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iemvsj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0losy1p._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0q2-o56._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0v9tonm._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ve_28v._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vta7f6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xme80s._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_12tnhho._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_14-nnf3._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_14e0xcw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1cbywiw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1d4fc7y._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1e89sld._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1emt011._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jgaffx._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1m9p_w8._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mtv1gy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1plmrbl._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1toqkb5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1yc8ml3._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ycnogk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02ym03p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02ym03p._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04qfxm4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04qfxm4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04t339z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04t339z._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05b72pa._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05b72pa._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05jwgm-._.js +261 -0
- package/.next/server/chunks/[root-of-the-server]__05jwgm-._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0rh8yfn._.js → [root-of-the-server]__06ikdrx._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0rh8yfn._.js.map → [root-of-the-server]__06ikdrx._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__06x7kjp._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1wbho9e._.js.map → [root-of-the-server]__06x7kjp._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__07-qwkc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__07-qwkc._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0_j-3zy._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1r_0uma._.js.map → [root-of-the-server]__0_j-3zy._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0pz59qo._.js → [root-of-the-server]__0_paned._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0_paned._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0rikmqn._.js → [root-of-the-server]__0adl8c2._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0be-1oe._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0be-1oe._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0c7qnhb._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0vf-0gp._.js.map → [root-of-the-server]__0c7qnhb._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0dfd91u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dfd91u._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0e_zpd3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0e_zpd3._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0efnsph._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0efnsph._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1sn6-7a._.js → [root-of-the-server]__0gbhsr4._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1sn6-7a._.js.map → [root-of-the-server]__0gbhsr4._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0pb7dzk._.js +261 -0
- package/.next/server/chunks/[root-of-the-server]__0pb7dzk._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0q-h0w3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0q-h0w3._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1yh-4vk._.js → [root-of-the-server]__0r_831n._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0s9wedh._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0s9wedh._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__08v3p50._.js → [root-of-the-server]__0tzsbyx._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0uyhc_4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0uyhc_4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0z2h080._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0z2h080._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1-f1pzo._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0b6w_wb._.js.map → [root-of-the-server]__1-f1pzo._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__120uun8._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__05us508._.js.map → [root-of-the-server]__120uun8._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__12qs29o._.js +261 -0
- package/.next/server/chunks/[root-of-the-server]__12qs29o._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1r67yrn._.js → [root-of-the-server]__146-7zt._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__146-7zt._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__17_dic_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__17_dic_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__19a04nn._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0hg1r2b._.js.map → [root-of-the-server]__19a04nn._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_q8upn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ar-16i._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ar-16i._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1egi_4t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1egi_4t._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1eh1p2_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1eh1p2_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1gwdudg._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__18dt3sr._.js.map → [root-of-the-server]__1gwdudg._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0wc_gnr._.js → [root-of-the-server]__1hz94ca._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1jyx430._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1wcd2x9._.js.map → [root-of-the-server]__1jyx430._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1meifxd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1meifxd._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1mn0d5e._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1mn0d5e._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1o-hldt._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1pjwaan._.js.map → [root-of-the-server]__1o-hldt._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ocnzl5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ocnzl5._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__06ndlro._.js → [root-of-the-server]__1pf07ha._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0zy73pu._.js → [root-of-the-server]__1rtj94g._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__11nbc9e._.js.map → [root-of-the-server]__1rtj94g._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1rz7a1h._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1rz7a1h._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1s7yctb._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0rggulw._.js.map → [root-of-the-server]__1s7yctb._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1tebaoq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tebaoq._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1uh0213._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1skrybv._.js.map → [root-of-the-server]__1uh0213._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1vj_u-e._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1p6-0l0._.js.map → [root-of-the-server]__1vj_u-e._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1_qenei._.js → [root-of-the-server]__20ctbhx._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1_qenei._.js.map → [root-of-the-server]__20ctbhx._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__20nzp64._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1r67yrn._.js.map → [root-of-the-server]__20nzp64._.js.map} +1 -1
- package/.next/server/chunks/_04byth9._.js +19 -18
- package/.next/server/chunks/_04byth9._.js.map +1 -1
- package/.next/server/chunks/_0safx0g._.js +3 -3
- package/.next/server/chunks/_0safx0g._.js.map +1 -1
- package/.next/server/chunks/_1au4syj._.js +1 -1
- package/.next/server/chunks/_1au4syj._.js.map +1 -1
- package/.next/server/chunks/_1b5fqxy._.js +1 -1
- package/.next/server/chunks/_1b5fqxy._.js.map +1 -1
- package/.next/server/chunks/_1ivswa9._.js +1 -1
- package/.next/server/chunks/_1ivswa9._.js.map +1 -1
- package/.next/server/chunks/_1si7nb_._.js +2 -2
- package/.next/server/chunks/_1si7nb_._.js.map +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_memory_restore_route_actions_0679kmo.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_versions_route_actions_13mix75.js +3 -0
- package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js → 0_nd_mermaid_dist_mermaid_core_mjs_1trh599._.js} +2 -2
- package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_0yg8zto._.js → 1u84_katex_dist_katex_mjs_0wukkxe._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0dn-5g9._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dn-5g9._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__08z0szh._.js → [root-of-the-server]__0p_ieww._.js} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1_4pq0_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1_4pq0_._.js.map +1 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1wdwnnp._.js → [root-of-the-server]__1ecvjg8._.js} +1 -1
- package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
- package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
- package/.next/server/chunks/ssr/_09qa3fe._.js +3 -0
- package/.next/server/chunks/ssr/_09qa3fe._.js.map +1 -0
- package/.next/server/chunks/ssr/_0_74-q8._.js +3 -0
- package/.next/server/chunks/ssr/_0_74-q8._.js.map +1 -0
- package/.next/server/chunks/ssr/_0cv0ugs._.js +3 -0
- package/.next/server/chunks/ssr/_0cv0ugs._.js.map +1 -0
- package/.next/server/chunks/ssr/_0ghj-vx._.js +1 -1
- package/.next/server/chunks/ssr/_0ghj-vx._.js.map +1 -1
- package/.next/server/chunks/ssr/_0hck6f0._.js +3 -0
- package/.next/server/chunks/ssr/_0hck6f0._.js.map +1 -0
- package/.next/server/chunks/ssr/_0o8t6j-._.js +3 -0
- package/.next/server/chunks/ssr/_0o8t6j-._.js.map +1 -0
- package/.next/server/chunks/ssr/_0p_5o4z._.js +23 -0
- package/.next/server/chunks/ssr/_0p_5o4z._.js.map +1 -0
- package/.next/server/chunks/ssr/_0rmo9r-._.js +1 -1
- package/.next/server/chunks/ssr/_0rmo9r-._.js.map +1 -1
- package/.next/server/chunks/ssr/_0ust7tw._.js +1 -1
- package/.next/server/chunks/ssr/_0ust7tw._.js.map +1 -1
- package/.next/server/chunks/ssr/_1c46ap6._.js +23 -0
- package/.next/server/chunks/ssr/_1c46ap6._.js.map +1 -0
- package/.next/server/chunks/ssr/_1gxjjvh._.js +1 -1
- package/.next/server/chunks/ssr/_1gxjjvh._.js.map +1 -1
- package/.next/server/chunks/ssr/_1jjs63r._.js +131 -0
- package/.next/server/chunks/ssr/_1jjs63r._.js.map +1 -0
- package/.next/server/chunks/ssr/_1kcyxnh._.js +3 -0
- package/.next/server/chunks/ssr/_1kcyxnh._.js.map +1 -0
- package/.next/server/chunks/ssr/_1lvbdeq._.js +3 -0
- package/.next/server/chunks/ssr/_1lvbdeq._.js.map +1 -0
- package/.next/server/chunks/ssr/_1rewjdw._.js +3 -0
- package/.next/server/chunks/ssr/_1rewjdw._.js.map +1 -0
- package/.next/server/chunks/ssr/_1tv---f._.js +3 -0
- package/.next/server/chunks/ssr/_1tv---f._.js.map +1 -0
- package/.next/server/chunks/ssr/_1zyvi-w._.js +3 -0
- package/.next/server/chunks/ssr/_1zyvi-w._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_getting-started_page_actions_18jod7i.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_welcome_page_actions_1unjea7.js +3 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_03mp7qw._.js → node_modules__pnpm_0-6sq9f._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0jampur._.js → node_modules__pnpm_0-vta96._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_00f4yhs._.js → node_modules__pnpm_04qn321._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0tn5pg3._.js → node_modules__pnpm_06r-oci._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0iu4132._.js → node_modules__pnpm_0fe8aya._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0oyo3yo._.js → node_modules__pnpm_0hpufx1._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0j_-le7._.js → node_modules__pnpm_0k5j0_5._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules__pnpm_0k5j0_5._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0x5wj-4._.js → node_modules__pnpm_0kv8p99._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_06_8fr8._.js → node_modules__pnpm_0m-_au1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1zme4rg._.js → node_modules__pnpm_0mrjd3b._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0mqeoh-._.js → node_modules__pnpm_0p2ufg5._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_03mpmzx._.js → node_modules__pnpm_0r2omyh._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0_e05ka._.js → node_modules__pnpm_0uh9zwf._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_035haet._.js → node_modules__pnpm_0ujugl_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0lkvbt-._.js → node_modules__pnpm_0v-_iaj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0rq9x9q._.js → node_modules__pnpm_0xin4nu._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_139-v1i._.js → node_modules__pnpm_1-zfovp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1i_chik._.js → node_modules__pnpm_11p7w0z._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1jgju12._.js → node_modules__pnpm_16l16l0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1n9oeu0._.js → node_modules__pnpm_16vl5yb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1ydeqw6._.js → node_modules__pnpm_1alnvos._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_03an60e._.js → node_modules__pnpm_1e_74v6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_2045l51._.js → node_modules__pnpm_1kvkjrs._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0zz55xq._.js → node_modules__pnpm_1l4yejo._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1l4yejo._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1ws3ez9._.js → node_modules__pnpm_1uly489._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1zum4yd._.js → node_modules__pnpm_1xntybk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_09nd7ia._.js → node_modules__pnpm_20g30gl._.js} +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_activity_page_tsx_13jd6bn._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_board_page_tsx_0gpfc77._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_getting-started_page_tsx_0dgdc6p._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_getting-started_page_tsx_0dgdc6p._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_manual-tests_page_tsx_01tnunf._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +3 -3
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js +2 -2
- package/.next/server/chunks/ssr/src_app_(app)_roadmap_page_tsx_0vcq3jr._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js +1 -1
- package/.next/server/chunks/ssr/src_components_chat_ChatView_tsx_0h5j-e2._.js.map +1 -1
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +8 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +33 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/056pca8ms7k-9.js +1 -0
- package/.next/static/chunks/07hf_3iqpzmvo.css +1 -0
- package/.next/static/chunks/09-kkj4oxfqu1.js +1 -0
- package/.next/static/chunks/0fvkvef41i5ka.js +1 -0
- package/.next/static/chunks/{1xxzt2y2ttqql.js → 0kmyxrtasrg2e.js} +1 -1
- package/.next/static/chunks/11plpfj6j22fq.js +3 -0
- package/.next/static/chunks/{3ly7b47esdb7j.js → 1on4c-091wzdq.js} +1 -1
- package/.next/static/chunks/22vfp8880q59s.js +1 -0
- package/.next/static/chunks/2kf1_d5fndxdb.js +1 -0
- package/.next/static/chunks/{0_8ovyz2sbr3p.js → 2m7a38m38tx5y.js} +1 -1
- package/.next/static/chunks/31q2_z_ekk94r.js +1 -0
- package/.next/static/chunks/34lxzt8ahe_9n.js +1 -0
- package/.next/static/chunks/3fgzdr870mbms.js +2 -0
- package/.next/static/chunks/3gzt07wmbrocf.js +12 -0
- package/.next/static/chunks/3j_ko3wq2nvby.js +1 -0
- package/.next/static/chunks/3l3l7u2t-n2fh.js +3 -0
- package/.next/static/chunks/3l4yjycfav_7a.js +1 -0
- package/.next/static/chunks/3s8g1yx5n4kmt.js +1 -0
- package/.next/static/chunks/3v8szq-k4jtkg.js +1 -0
- package/.next/static/chunks/3xp-i_0-8cq9_.js +1 -0
- package/.next/static/chunks/41mb4xnwp-aq_.js +1 -0
- package/README.md +9 -2
- package/bin/vibedoc.check.mts +25 -0
- package/bin/vibedoc.mjs +9 -0
- package/docs/getting-started.md +93 -0
- package/package.json +3 -1
- package/.next/server/chunks/0_g__next_1qpfvou._.js +0 -158
- package/.next/server/chunks/0_g__next_1qpfvou._.js.map +0 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_05oneea._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_07fgg-l._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_5gzfy._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_jynr-._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aykesf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0br_1fc._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0cd5lu7._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ckxhy7._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e5qkuv._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0el8pm6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i4w8fv._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7ckik._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l1p4c6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0m-xqs_._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0nltdmf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qxmzg8._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0spr_aj._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0th0pyh._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0x21fif._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-7bj56._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-efoj1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13vu693._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13w62gi._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1887ce1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jq3yb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1agvp6h._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b1-3vt._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ekldtb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ezcndt._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1gr-orf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1hf-884._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ndwnmb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rdesfd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s8h60-._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tgk9wk._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1uugb45._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__05us508._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__09oyvwa._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__09oyvwa._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0cxmrop._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0cxmrop._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js +0 -126
- package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0hk-9ll._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0hk-9ll._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0i1yba1._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0i1yba1._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js +0 -126
- package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0pz59qo._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0rggulw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0usdydm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0usdydm._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0xldguc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0xldguc._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__11nbc9e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11rp-qx._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11rp-qx._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__15c5snv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__15c5snv._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__18dt3sr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1ef-hw_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ef-hw_._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1jel07j._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jel07j._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1pjwaan._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcy2l0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcy2l0._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1r_0uma._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1skrybv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vnine1._.js +0 -126
- package/.next/server/chunks/[root-of-the-server]__1vnine1._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1wbho9e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1zhd93r._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1zhd93r._.js.map +0 -1
- package/.next/server/chunks/ssr/_0kob2si._.js +0 -151
- package/.next/server/chunks/ssr/_0kob2si._.js.map +0 -1
- package/.next/server/chunks/ssr/_0me5_6x._.js +0 -3
- package/.next/server/chunks/ssr/_0me5_6x._.js.map +0 -1
- package/.next/server/chunks/ssr/_0pg63il._.js +0 -3
- package/.next/server/chunks/ssr/_0pg63il._.js.map +0 -1
- package/.next/server/chunks/ssr/_16b4hkt._.js +0 -3
- package/.next/server/chunks/ssr/_16b4hkt._.js.map +0 -1
- package/.next/server/chunks/ssr/_190c11r._.js +0 -3
- package/.next/server/chunks/ssr/_190c11r._.js.map +0 -1
- package/.next/server/chunks/ssr/_1cz8dnu._.js +0 -3
- package/.next/server/chunks/ssr/_1cz8dnu._.js.map +0 -1
- package/.next/server/chunks/ssr/_1feybpz._.js +0 -3
- package/.next/server/chunks/ssr/_1feybpz._.js.map +0 -1
- package/.next/server/chunks/ssr/_1r_t_wi._.js +0 -3
- package/.next/server/chunks/ssr/_1t8it2w._.js +0 -3
- package/.next/server/chunks/ssr/_1t8it2w._.js.map +0 -1
- package/.next/static/chunks/036fex6o238at.css +0 -1
- package/.next/static/chunks/03tzhv775qv5m.js +0 -1
- package/.next/static/chunks/05rjl54wa6y43.js +0 -1
- package/.next/static/chunks/1b9r_vdcewfu7.js +0 -1
- package/.next/static/chunks/1c459q7xpgq6r.js +0 -3
- package/.next/static/chunks/1c5ibgojv8jdi.js +0 -3
- package/.next/static/chunks/1c_8t2kecjnua.js +0 -1
- package/.next/static/chunks/1pmgcotwq-_yh.js +0 -1
- package/.next/static/chunks/1v63qs4kxxcfh.js +0 -1
- package/.next/static/chunks/2-0lpccy0f8bk.js +0 -2
- package/.next/static/chunks/263i_dcdizuvd.js +0 -1
- package/.next/static/chunks/2mf5us3y9wd9g.js +0 -1
- package/.next/static/chunks/36s2k2k_w-or8.js +0 -1
- package/.next/static/chunks/37u2gjz5dzhep.js +0 -1
- package/.next/static/chunks/3ctec-7mnm19m.js +0 -1
- package/.next/static/chunks/3rtr962aa09nh.js +0 -12
- package/.next/static/chunks/42c9smmpcu4re.js +0 -1
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-r4g2t._.js.map → 11mp_@anthropic-ai_sdk_0-smxh7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01gyja3._.js.map → 11mp_@anthropic-ai_sdk_0-upxuo._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_02lx_j3._.js.map → 11mp_@anthropic-ai_sdk_00stvd0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05iv23g._.js.map → 11mp_@anthropic-ai_sdk_05tlp4j._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_05oneea._.js.map → 11mp_@anthropic-ai_sdk_06i1jku._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07fgg-l._.js.map → 11mp_@anthropic-ai_sdk_06pqlwo._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_5gzfy._.js.map → 11mp_@anthropic-ai_sdk_06q_bm6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_jynr-._.js.map → 11mp_@anthropic-ai_sdk_098dref._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0aykesf._.js.map → 11mp_@anthropic-ai_sdk_09q07e_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0br_1fc._.js.map → 11mp_@anthropic-ai_sdk_09r9wsn._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0cd5lu7._.js.map → 11mp_@anthropic-ai_sdk_0_rnqa6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ckxhy7._.js.map → 11mp_@anthropic-ai_sdk_0ch0mdl._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0e5qkuv._.js.map → 11mp_@anthropic-ai_sdk_0didq3m._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0el8pm6._.js.map → 11mp_@anthropic-ai_sdk_0dwtv_z._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0i4w8fv._.js.map → 11mp_@anthropic-ai_sdk_0e8sqia._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0i7ckik._.js.map → 11mp_@anthropic-ai_sdk_0gk-rze._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0l1p4c6._.js.map → 11mp_@anthropic-ai_sdk_0gywxp1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0m-xqs_._.js.map → 11mp_@anthropic-ai_sdk_0h4l0yx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0nltdmf._.js.map → 11mp_@anthropic-ai_sdk_0hjmy82._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qxmzg8._.js.map → 11mp_@anthropic-ai_sdk_0jbmnx_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0spr_aj._.js.map → 11mp_@anthropic-ai_sdk_0l7teck._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0th0pyh._.js.map → 11mp_@anthropic-ai_sdk_0ldf-lc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0x21fif._.js.map → 11mp_@anthropic-ai_sdk_0oe9p6l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1-7bj56._.js.map → 11mp_@anthropic-ai_sdk_0ppgi2h._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1-efoj1._.js.map → 11mp_@anthropic-ai_sdk_0ydb8nm._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13vu693._.js.map → 11mp_@anthropic-ai_sdk_11hsr1e._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13w62gi._.js.map → 11mp_@anthropic-ai_sdk_14pgcis._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1887ce1._.js.map → 11mp_@anthropic-ai_sdk_15_sqq8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_jq3yb._.js.map → 11mp_@anthropic-ai_sdk_16up-b0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1agvp6h._.js.map → 11mp_@anthropic-ai_sdk_1_jm94w._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b1-3vt._.js.map → 11mp_@anthropic-ai_sdk_1aswx0v._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ekldtb._.js.map → 11mp_@anthropic-ai_sdk_1bkea9c._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ezcndt._.js.map → 11mp_@anthropic-ai_sdk_1d41_6l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1gr-orf._.js.map → 11mp_@anthropic-ai_sdk_1d959rx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1hf-884._.js.map → 11mp_@anthropic-ai_sdk_1eughke._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ndwnmb._.js.map → 11mp_@anthropic-ai_sdk_1ev29eb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rdesfd._.js.map → 11mp_@anthropic-ai_sdk_1faxy2m._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1s8h60-._.js.map → 11mp_@anthropic-ai_sdk_1lginb1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1tgk9wk._.js.map → 11mp_@anthropic-ai_sdk_1pg6fky._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1uugb45._.js.map → 11mp_@anthropic-ai_sdk_1qfho5e._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1vcxmui._.js.map → 11mp_@anthropic-ai_sdk_1r9e6jv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1x63qpm._.js.map → 11mp_@anthropic-ai_sdk_1tjlpeq._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1y5oj_h._.js.map → 11mp_@anthropic-ai_sdk_1wcdj4f._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1z0q4jj._.js.map → 11mp_@anthropic-ai_sdk_1x25dnb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_20j6dn7._.js.map → 11mp_@anthropic-ai_sdk_1ywjkuh._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_07rnikd._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0cxqkzo._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iemvsj._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0losy1p._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0q2-o56._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0v9tonm._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ve_28v._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0vta7f6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0xme80s._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_12tnhho._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_14-nnf3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_14e0xcw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1cbywiw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1d4fc7y._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1e89sld._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1emt011._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1jgaffx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1m9p_w8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1mtv1gy._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1plmrbl._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1toqkb5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1yc8ml3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ycnogk._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0rikmqn._.js.map → [root-of-the-server]__0adl8c2._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__08v3p50._.js.map → [root-of-the-server]__0r_831n._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0wc_gnr._.js.map → [root-of-the-server]__0tzsbyx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js.map → [root-of-the-server]__1_q8upn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1yh-4vk._.js.map → [root-of-the-server]__1hz94ca._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__06ndlro._.js.map → [root-of-the-server]__1pf07ha._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0zy73pu._.js.map → _next-internal_server_app_api_memory_restore_route_actions_0679kmo.js.map} +0 -0
- /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map → _next-internal_server_app_api_memory_versions_route_actions_13mix75.js.map} +0 -0
- /package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_0yg8zto._.js.map → 0_nd_mermaid_dist_mermaid_core_mjs_1trh599._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{_1r_t_wi._.js.map → 1u84_katex_dist_katex_mjs_0wukkxe._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__08z0szh._.js.map → [root-of-the-server]__0p_ieww._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{[root-of-the-server]__1wdwnnp._.js.map → [root-of-the-server]__1ecvjg8._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_00f4yhs._.js.map → _next-internal_server_app_(app)_getting-started_page_actions_18jod7i.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0j_-le7._.js.map → _next-internal_server_app_welcome_page_actions_1unjea7.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_03mp7qw._.js.map → node_modules__pnpm_0-6sq9f._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0jampur._.js.map → node_modules__pnpm_0-vta96._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0zz55xq._.js.map → node_modules__pnpm_04qn321._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0tn5pg3._.js.map → node_modules__pnpm_06r-oci._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0iu4132._.js.map → node_modules__pnpm_0fe8aya._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0oyo3yo._.js.map → node_modules__pnpm_0hpufx1._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0x5wj-4._.js.map → node_modules__pnpm_0kv8p99._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_06_8fr8._.js.map → node_modules__pnpm_0m-_au1._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1zme4rg._.js.map → node_modules__pnpm_0mrjd3b._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0mqeoh-._.js.map → node_modules__pnpm_0p2ufg5._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_03mpmzx._.js.map → node_modules__pnpm_0r2omyh._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0_e05ka._.js.map → node_modules__pnpm_0uh9zwf._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_035haet._.js.map → node_modules__pnpm_0ujugl_._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0lkvbt-._.js.map → node_modules__pnpm_0v-_iaj._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0rq9x9q._.js.map → node_modules__pnpm_0xin4nu._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_139-v1i._.js.map → node_modules__pnpm_1-zfovp._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1i_chik._.js.map → node_modules__pnpm_11p7w0z._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1jgju12._.js.map → node_modules__pnpm_16l16l0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1n9oeu0._.js.map → node_modules__pnpm_16vl5yb._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1ydeqw6._.js.map → node_modules__pnpm_1alnvos._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_03an60e._.js.map → node_modules__pnpm_1e_74v6._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_2045l51._.js.map → node_modules__pnpm_1kvkjrs._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1ws3ez9._.js.map → node_modules__pnpm_1uly489._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1zum4yd._.js.map → node_modules__pnpm_1xntybk._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_09nd7ia._.js.map → node_modules__pnpm_20g30gl._.js.map} +0 -0
- /package/.next/static/{5hNes2Kijr5IvUPPw-ez9 → BQD2S1kA-_gIYFyMKyJ2F}/_buildManifest.js +0 -0
- /package/.next/static/{5hNes2Kijr5IvUPPw-ez9 → BQD2S1kA-_gIYFyMKyJ2F}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{5hNes2Kijr5IvUPPw-ez9 → BQD2S1kA-_gIYFyMKyJ2F}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,298367,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(211672),n=e.i(301702),r=e.i(496385),l=e.i(479432),i=e.i(406952),o=e.i(83790);let d={name:"layout-grid",size:24,node:[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]};d.node;let c=(0,o.default)(d);var u=e.i(506534),x=e.i(155515),m=e.i(885600),p=e.i(910172),h=e.i(763371),g=e.i(635743),f=e.i(519455);let b=e=>"done"===e||"cancelled"===e;function j(e,t){let s=new Map(t.map(e=>[e.id,e])),a=e.tasks.map(e=>s.get(e)).filter(e=>!!e),n=e=>[...new Set((e.dependsOn.match(/\bT\d+\b/gi)??[]).map(e=>e.toUpperCase()))].filter(e=>{let t=s.get(e);return!t||!b(t.status)});for(let e of a)if("todo"===e.status&&!n(e).length)return{kind:"ready",taskId:e.id};if(a.every(e=>b(e.status)))return{kind:"finished"};let r=new Set(e.tasks),l=new Map,i=e=>{if(l.has(e))return l.get(e)??!1;l.set(e,!1);let t=s.get(e),a=!!t&&"blocked"!==t.status&&"paused"!==t.status&&"review"!==t.status&&("todo"!==t.status||r.has(e)&&n(t).every(i));return l.set(e,a),a},o=[];for(let t of e.tasks){let e=s.get(t);if(e){if("in-progress"===e.status)o.push({taskId:t,reason:`${t} is in progress (claimed)`});else if("blocked"===e.status)o.push({taskId:t,reason:`${t} is blocked`});else if("paused"===e.status)o.push({taskId:t,reason:`${t} is paused — needs a human to resume it`});else if("review"===e.status)o.push({taskId:t,reason:`${t} in review — needs a human`});else if("todo"===e.status){let a=n(e).map(e=>`${e} (${s.get(e)?.status??"missing"})`);o.push({taskId:t,reason:`${t} waits on ${a.join(", ")}`})}}else o.push({taskId:t,reason:`${t} has no task file`})}return{kind:"waiting",waiting:o,needsHuman:o.every(e=>!i(e.taskId))}}var N=e.i(692172),v=e.i(975157),y=e.i(956555),w=e.i(651581),k=e.i(723528),S=e.i(450768);function C({items:e,today:a,onSelect:n,onItemContextMenu:r,progressById:l}){let i=new Map(e.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order).map((e,t)=>[e.id,t+1])),o=(0,s.useMemo)(()=>(0,S.buildTimeline)(e,a),[e,a]),d=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=d.current;e&&(e.scrollLeft=Math.max(0,o.todayX-(e.clientWidth-200)/3))},[o.todayX]);let c=o.lanes.some(e=>e.markers.length>0);return(0,t.jsxs)("div",{className:"flex flex-1 min-h-0 flex-col",children:[(0,t.jsx)("div",{ref:d,className:"relative flex-1 min-h-0 overflow-auto",children:(0,t.jsxs)("div",{className:"relative",style:{width:200+o.width,minHeight:"100%"},children:[(0,t.jsxs)("div",{className:"pointer-events-none absolute inset-y-0",style:{left:200,width:o.width},children:[o.months.map(e=>(0,t.jsx)("div",{className:"absolute inset-y-0 border-l border-border",style:{left:e.x}},e.x)),(0,t.jsx)("div",{className:"absolute inset-y-0 left-0 bg-surface/50",style:{width:o.todayX}}),(0,t.jsx)("div",{className:"absolute inset-y-0 w-px bg-accent shadow-[0_0_12px_rgb(var(--rgb-accent)/0.8)]",style:{left:o.todayX},children:(0,t.jsx)("span",{className:"absolute -translate-x-1/2 rounded-full bg-accent px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider text-accent-fg",style:{top:42},children:"Today"})})]}),(0,t.jsxs)("div",{className:"sticky top-0 z-20 flex border-b border-border bg-bg",style:{height:36},children:[(0,t.jsx)("div",{className:"sticky left-0 z-10 shrink-0 bg-bg",style:{width:200}}),(0,t.jsx)("div",{className:"relative",children:o.months.map(e=>(0,t.jsx)("span",{className:"absolute top-3 whitespace-nowrap pl-2 font-mono text-[10px] uppercase tracking-widest text-muted",style:{left:e.x},children:e.label},e.x))})]}),o.lanes.map(e=>(0,t.jsxs)("div",{className:"relative flex border-b border-border",children:[(0,t.jsx)(M,{item:e.item,chapter:i.get(e.item.id),progress:l[e.item.id],onSelect:n,onContextMenu:r}),(0,t.jsx)("div",{className:"relative",style:{width:o.width,height:e.rows*S.LANE_ROW_H+12},children:e.markers.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.item.id),onContextMenu:t=>r?.(e.item.id,t),title:`${e.item.id} \xb7 ${e.item.title} \xb7 due ${e.item.due}${"overdue"===e.state?" (overdue)":""}`,className:"group absolute flex items-center gap-1.5",style:{left:e.x-10,top:6+e.row*S.LANE_ROW_H},children:[e.horizon?(0,t.jsx)("span",{className:(0,v.cn)("h-4 w-4 rotate-45 border-2 border-accent","done"===e.item.status?"bg-accent":"bg-bg","overdue"===e.state&&"border-danger")}):(0,t.jsx)("span",{className:(0,v.cn)("rounded-full","overdue"===e.state&&"ring-2 ring-danger ring-offset-1 ring-offset-bg"),children:(0,t.jsx)(w.StatusDot,{status:e.item.status})}),(0,t.jsxs)("span",{className:(0,v.cn)("flex max-w-[150px] flex-col rounded-md border px-2 py-0.5 text-left transition-colors","in-progress"===e.item.status?"border-accent/50 bg-surface shadow-[0_6px_18px_-10px_rgb(var(--rgb-accent)/0.7)]":"done"===e.item.status?"border-border bg-surface/60":"border-dashed border-border2 bg-bg","group-hover:border-accent"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:(0,v.cn)("truncate text-xs","done"===e.item.status?"text-muted":"text-txt",e.horizon&&"font-semibold"),children:e.item.title}),(0,t.jsx)(k.AgentDot,{attach:{kind:"epic",id:e.item.id}})]}),(0,t.jsx)("span",{className:(0,v.cn)("font-mono text-[10px]","overdue"===e.state?"text-danger":"soon"===e.state?"text-amber":"text-muted"),children:(0,S.formatDay)(e.item.due)})]})]},e.item.id))})]},e.item.id)),!c&&(0,t.jsx)("p",{className:"px-6 py-8 text-sm text-muted",style:{marginLeft:200},children:"No due dates yet — open an item and set a Due date."})]})}),o.undated.length>0&&(0,t.jsxs)("div",{className:"max-h-28 shrink-0 overflow-y-auto border-t border-border bg-surface px-4 py-2",children:[(0,t.jsxs)("p",{className:"mb-2 font-mono text-[10px] uppercase tracking-widest text-muted",children:["No due date · ",o.undated.length]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:o.undated.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),onContextMenu:t=>r?.(e.id,t),className:"flex items-center gap-1 rounded-md border border-border px-1.5 py-0.5 text-xs text-muted hover:border-accent hover:text-txt",children:[(0,t.jsx)(w.StatusDot,{status:e.status}),e.title,(0,t.jsx)(k.AgentDot,{attach:{kind:"epic",id:e.id}})]},e.id))})]})]})}function M({item:e,chapter:s,progress:a,onSelect:n,onContextMenu:r}){return(0,t.jsxs)("button",{type:"button",onClick:()=>n(e.id),onContextMenu:t=>r?.(e.id,t),className:"sticky left-0 z-10 flex shrink-0 items-center gap-3 border-r border-border bg-surface px-3 text-left hover:bg-surface2",style:{width:200},children:[(0,t.jsx)("span",{className:(0,v.cn)("font-mono text-lg font-semibold tabular-nums","in-progress"===e.status?"text-accent":"done"===e.status?"text-teal":"text-muted"),children:s?String(s).padStart(2,"0"):"··"}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsx)("span",{className:"line-clamp-2 text-[11px] font-semibold uppercase leading-snug tracking-wider text-txt",children:e.title}),a&&(0,t.jsx)("span",{className:"h-1 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("span",{className:"block h-full rounded-full bg-teal",style:{width:`${a.done/a.total*100}%`}})})]})]})}var D=e.i(640818),z=e.i(363216),$=e.i(675964),T=e.i(811613),B=e.i(628137);let A={name:"layers",size:24,node:[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],aliases:["layers-3"]};A.node;let I=(0,o.default)(A);var O=e.i(880790),E=e.i(475850),P=e.i(424991),L=e.i(343253),_=e.i(980376),F=e.i(793479),R=e.i(998822),H=e.i(481523),U=e.i(244267),W=e.i(609617),q=e.i(246978),K=e.i(248070),X=e.i(458055),G=e.i(755146),J=e.i(903763);let V=["planned","in-progress","paused","done"];function Z({item:e,items:s,actions:a}){let n=null===e.parent,r=s.filter(t=>null===t.parent&&t.id!==e.parent).sort((e,t)=>e.order-t.order),l=s.filter(t=>t.parent===e.id).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.edit(e.id),children:[(0,t.jsx)(P.Pencil,{})," Edit",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("edit")})]}),(0,t.jsxs)(G.DropdownMenuSub,{children:[(0,t.jsxs)(G.DropdownMenuSubTrigger,{children:[(0,t.jsx)(w.StatusDot,{status:e.status})," Status",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("status")})]}),(0,t.jsx)(G.DropdownMenuSubContent,{children:V.map(s=>(0,t.jsxs)(G.DropdownMenuItem,{disabled:s===e.status,onSelect:()=>a.setStatus(e.id,s),children:[(0,t.jsx)(w.StatusDot,{status:s})," ",w.STATUS_LABEL[s]]},s))})]}),!n&&r.length>0&&(0,t.jsxs)(G.DropdownMenuSub,{children:[(0,t.jsxs)(G.DropdownMenuSubTrigger,{children:[(0,t.jsx)(q.FolderInput,{})," Move to horizon"]}),(0,t.jsx)(G.DropdownMenuSubContent,{className:"max-h-72 overflow-y-auto",children:r.map(s=>(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.move(e.id,s.id),children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:s.id})," ",s.title]},s.id))})]}),n&&(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.addEpic(e.id),children:[(0,t.jsx)(x.Plus,{})," Add epic"]}),(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.duplicate(e.id),children:[(0,t.jsx)(W.Copy,{})," Duplicate",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("duplicate")})]}),(0,t.jsx)(G.DropdownMenuSeparator,{}),!n&&(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.chat(e.id),children:[(0,t.jsx)(E.MessageSquare,{})," Chat about it",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("chat")})]}),(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.openFile(e.file),children:[(0,t.jsx)(i.FileText,{})," Open file"]}),(0,t.jsx)(G.DropdownMenuSeparator,{}),l>0?(0,t.jsxs)(G.DropdownMenuItem,{disabled:!0,className:"flex-col items-start gap-0",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(X.Trash2,{})," Delete"]}),(0,t.jsxs)("span",{className:"pl-6 text-[11px]",children:["Move or delete its ",l," epic",1===l?"":"s"," first"]})]}):(0,t.jsxs)(G.DropdownMenuItem,{onSelect:()=>a.remove(e.id),className:"text-danger focus:text-danger",children:[(0,t.jsx)(X.Trash2,{})," Delete",(0,t.jsx)(G.DropdownMenuShortcut,{children:(0,J.itemKeyLabel)("remove")})]})]})}function Y({item:e,items:s,actions:a,className:n,open:r,onOpenChange:l}){return(0,t.jsxs)(G.DropdownMenu,{open:r,onOpenChange:l,children:[(0,t.jsx)(G.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":`Actions for ${e.id}`,className:(0,v.cn)("grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt",n),children:(0,t.jsx)(K.MoreHorizontal,{className:"size-4"})})}),(0,t.jsx)(G.DropdownMenuContent,{align:"end",className:"w-52",children:(0,t.jsx)(Z,{item:e,items:s,actions:a})})]})}function Q({at:e,items:s,actions:a,onClose:n}){let r=e&&s.find(t=>t.id===e.id);return e&&r?(0,t.jsxs)(G.DropdownMenu,{open:!0,onOpenChange:e=>{e||n()},children:[(0,t.jsx)(G.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none fixed size-0",style:{left:e.x,top:e.y}})}),(0,t.jsx)(G.DropdownMenuContent,{align:"start",className:"w-52",children:(0,t.jsx)(Z,{item:r,items:s,actions:a})})]},`${e.id}:${e.x}:${e.y}`):null}var ee=e.i(35032),et=e.i(508540),es=e.i(65112),ea=e.i(775549),en=e.i(673635);let er=["planned","in-progress","paused","done"],el="w-full rounded-md border border-border bg-bg px-3 py-2 text-sm text-txt focus:outline-hidden focus:ring-1 focus:ring-accent disabled:opacity-50",ei="text-xs font-medium text-muted",eo="font-mono text-[10px] uppercase tracking-widest text-muted";function ed({item:e,onClose:s,...a}){return(0,t.jsx)(_.Sheet,{open:!!e,onOpenChange:e=>{e||s()},children:(0,t.jsx)(_.SheetContent,{className:"w-full sm:w-[480px] sm:max-w-[480px] gap-0 bg-surface border-border text-txt flex flex-col overflow-y-auto p-0",children:e&&(0,t.jsx)(ec,{item:e,onClose:s,...a},e.id)})})}function ec(e){return e.editing?(0,t.jsx)(ex,{...e,onCancel:()=>e.onEditingChange(!1)}):(0,t.jsx)(eu,{...e,onEdit:()=>e.onEditingChange(!0)})}function eu({item:e,items:a,onClose:n,onAddFeature:r,onEditRaw:o,onSelect:d,tasksById:c,progressById:u,onEdit:m,actions:p,onSave:g}){let b=null===e.parent,j=a.find(t=>t.id===e.parent),S=a.filter(t=>t.parent===e.id).sort((e,t)=>e.order-t.order),C=u[e.id],M=(0,N.localToday)(),{chats:D,showAbout:A}=(0,U.useChats)(),{demo:F}=(0,h.useApp)(),W=b?void 0:(0,H.chatFor)(D,{kind:"epic",id:e.id}),q=!b&&0===e.tasks.length&&!W,[K,X]=(0,s.useState)(!1),G=t=>{g(e.id,t).then(e=>{e&&(0,en.toast)(e)})};return(0,J.useItemCommands)(`${e.id} \xb7 ${e.title}`,[{action:"edit",label:"Edit",run:m},{action:"status",label:"Change status…",run:()=>X(!0)},{action:"duplicate",label:"Duplicate",run:()=>p.duplicate(e.id)},...b?[]:[{action:"chat",label:"Chat about it",run:()=>p.chat(e.id)}],...S.length?[]:[{action:"remove",label:"Delete",run:()=>p.remove(e.id)}]]),(0,t.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,t.jsx)(et.ItemPanelHeader,{className:(0,v.cn)("px-6","in-progress"===e.status&&"bg-[linear-gradient(180deg,rgb(var(--rgb-accent)/0.08),transparent)]"),kicker:(0,t.jsx)(_.SheetDescription,{asChild:!0,children:(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[j&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>d(j.id),className:"truncate hover:text-txt",children:j.title}),(0,t.jsx)($.ChevronRight,{className:"h-3 w-3 shrink-0"})]}),(0,t.jsxs)("span",{className:"shrink-0",children:[e.id," · ",b?"horizon":"epic"]}),(0,t.jsx)(k.AgentMark,{attach:{kind:"epic",id:e.id}})]})}),title:(0,t.jsx)(_.SheetTitle,{className:"text-xl font-semibold leading-tight text-txt",children:e.title}),menu:F?void 0:(0,t.jsx)(Y,{item:e,items:a,actions:p,open:K,onOpenChange:X}),properties:[{label:"Status",icon:T.CircleDashed,value:(0,t.jsx)(es.InlineSelect,{label:`Status of ${e.id}`,value:e.status,onChange:t=>p.setStatus(e.id,t),options:er.map(e=>({value:e,label:w.STATUS_LABEL[e],node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.StatusDot,{status:e}),w.STATUS_LABEL[e]]})})),children:(0,t.jsx)(w.StatusPill,{status:e.status})})},{label:"Priority",icon:B.Flag,value:(0,t.jsx)(ea.PriorityField,{label:`Priority of ${e.id}`,value:e.priority??null,onChange:e=>G({priority:e})})},{label:"Owner",icon:L.User,value:(0,t.jsx)(es.InlineSelect,{label:`Owner of ${e.id}`,value:e.owner??"",onChange:e=>G({owner:e||null}),options:[{value:"human",label:"Human",node:(0,t.jsx)(ee.OwnerChip,{owner:"human",className:"text-xs"})},...[...new Set(["ai:claude",...e.owner?.startsWith("ai:")?[e.owner]:[]])].map(e=>({value:e,label:e,node:(0,t.jsx)(ee.OwnerChip,{owner:e,className:"text-xs"})})),{value:"",label:"No owner",node:(0,t.jsx)("span",{className:"text-muted",children:"No owner"})}],children:e.owner?(0,t.jsx)(ee.OwnerChip,{owner:e.owner,className:"text-xs"}):(0,t.jsx)("span",{className:"text-muted",children:"—"})})},{label:"Due",icon:z.Calendar,value:(0,t.jsx)(es.InlineDate,{label:`Due date of ${e.id}`,value:e.due,onChange:e=>G({due:e}),children:e.due?(0,t.jsx)(w.DueChip,{due:e.due,state:(0,N.dueState)(e.due,e.status,M)}):(0,t.jsx)("span",{className:"text-muted",children:"—"})})},{label:b?"Epics":"Tasks",icon:b?I:O.ListChecks,value:(0,t.jsx)("span",{className:"font-mono",children:b?S.length:e.tasks.length})}],children:C&&(0,t.jsxs)("div",{className:"mt-2 flex items-end gap-4",children:[(0,t.jsxs)("p",{className:"font-mono text-3xl font-semibold leading-none tabular-nums text-txt",children:[Math.round(C.done/C.total*100),(0,t.jsx)("span",{className:"text-base text-muted",children:"%"})]}),(0,t.jsxs)("div",{className:"flex-1 pb-1",children:[(0,t.jsxs)("p",{className:"mb-1.5 font-mono text-[10px] text-muted",children:[C.done," of ",C.total,b?"":" tasks"," done"]}),b?(0,t.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("div",{className:"h-full rounded-full bg-teal",style:{width:`${C.done/C.total*100}%`}})}):(0,t.jsx)(w.SegmentedProgress,{statuses:e.tasks.map(e=>c[e]?.status).filter(e=>!!e&&"cancelled"!==e)})]})]})}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-6 py-5",children:[!b&&e.tasks.length>0&&(0,t.jsx)(em,{item:e,tasksById:c,onOpen:o}),b&&(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("p",{className:eo,children:["Epics · ",S.length]}),0===S.length&&(0,t.jsx)("p",{className:"text-sm text-muted",children:"No epics yet."}),(0,t.jsx)("ul",{className:"-mx-2 flex flex-col",children:S.map(e=>{let s=u[e.id];return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>d(e.id),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 text-left hover:bg-surface2",children:[(0,t.jsx)(w.StatusDot,{status:e.status}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:(0,v.cn)("min-w-0 flex-1 truncate text-sm","done"===e.status?"text-muted":"text-txt"),children:e.title}),s&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:[s.done,"/",s.total]})]})},e.id)})})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:eo,children:"Brief"}),e.body.trim()?(0,t.jsx)(R.MarkdownRenderer,{content:e.body,className:"text-sm"}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No description. Edit to add the outcome, scope and “done when”."})]})]}),(0,t.jsxs)("footer",{className:"sticky bottom-0 flex flex-wrap items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[!F&&(0,t.jsxs)(t.Fragment,{children:[q&&(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>{n(),(0,y.askAgent)(`Break down epic ${e.id} into tasks.`)},className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(l.Bot,{})," Break down with agent"]}),!b&&(0,t.jsxs)(f.Button,{size:"sm",variant:q?"outline":"default",onClick:()=>{n(),A({kind:"epic",id:e.id})},className:(0,v.cn)(!q&&"bg-accent text-accent-fg hover:bg-accent/90"),children:[(0,t.jsx)(E.MessageSquare,{})," ",W?"Open chat":"Chat"]}),b&&(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>r(e.id),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(x.Plus,{})," Add epic"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:m,children:[(0,t.jsx)(P.Pencil,{})," Edit"]})]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"ghost",onClick:()=>o(e.file),className:"ml-auto text-muted hover:text-txt",children:[(0,t.jsx)(i.FileText,{})," Open file"]})]})]})}function ex({item:e,items:a,onClose:n,onSave:r,onDelete:l,onCancel:i}){let[o]=(0,s.useState)(e),[d,c]=(0,s.useState)(e.title),[u,x]=(0,s.useState)(e.status),[m,p]=(0,s.useState)(e.parent??""),[h,g]=(0,s.useState)(String(e.order)),[b,j]=(0,s.useState)(e.tasks.join(", ")),[N,v]=(0,s.useState)(e.due??""),[y,w]=(0,s.useState)(e.body),[k,S]=(0,s.useState)(null),[C,M]=(0,s.useState)(!1),D=a.some(t=>t.parent===e.id),z=a.filter(t=>null===t.parent&&t.id!==e.id),$=null===e.parent,T=null!==e.parent&&!z.some(t=>t.id===e.parent);async function B(e){M(!0),S(null);let t=await e();return M(!1),t&&S(t),!t}async function A(){let t={},s=d.trim()||o.title;if(s!==o.title&&(t.title=s),u!==o.status&&(t.status=u),(m||null)!==o.parent&&(t.parent=m||null),h.trim()!==String(o.order)){let e=Number(h);if(""===h.trim()||!Number.isFinite(e))return void S("Order must be a number");t.order=e}let a=b.split(",").map(e=>e.trim()).filter(Boolean);(a.join(",")!==o.tasks.join(",")&&(t.tasks=a),(N||null)!==o.due&&(t.due=N||null),y!==o.body&&(t.body=y),0===Object.keys(t).length)?i():await B(()=>r(e.id,t))&&n()}async function I(){await B(()=>l(e.id))&&n()}return(0,t.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,t.jsxs)("div",{className:"border-b border-border px-6 pb-4 pt-6 pr-12",children:[(0,t.jsxs)(_.SheetDescription,{className:"font-mono text-[11px] text-muted",children:["Editing ",e.id," · ",$?"horizon":"epic"]}),(0,t.jsx)(_.SheetTitle,{className:"mt-1 text-base text-txt",children:e.title})]}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-4 px-6 py-5",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Title"}),(0,t.jsx)(F.Input,{value:d,onChange:e=>c(e.target.value),className:"bg-bg border-border text-txt"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Status"}),(0,t.jsx)("select",{value:u,onChange:e=>x(e.target.value),className:el,children:er.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Parent"}),(0,t.jsxs)("select",{value:m,onChange:e=>p(e.target.value),disabled:D,title:D?"Items with children must stay on the spine":void 0,className:el,children:[(0,t.jsx)("option",{value:"",children:"— (horizon)"}),T&&(0,t.jsxs)("option",{value:e.parent??"",children:[e.parent," · missing"]}),z.map(e=>(0,t.jsxs)("option",{value:e.id,children:[e.id," · ",e.title]},e.id))]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Order"}),(0,t.jsx)(F.Input,{type:"number",step:10,value:h,onChange:e=>g(e.target.value),title:$?"Position on the spine":"Position within the branch",className:"bg-bg border-border text-txt"})]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Due"}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(F.Input,{type:"date",value:N,onChange:e=>v(e.target.value),className:"bg-bg border-border text-txt scheme-light dark:scheme-dark"}),N&&(0,t.jsx)("button",{type:"button",onClick:()=>v(""),className:"text-xs text-muted hover:text-txt",children:"Clear"})]})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Tasks"}),(0,t.jsx)(F.Input,{value:b,onChange:e=>j(e.target.value),placeholder:"T001, T012",className:"bg-bg border-border text-txt font-mono"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,t.jsx)("span",{className:ei,children:"Body (markdown)"}),(0,t.jsx)("textarea",{value:y,onChange:e=>w(e.target.value),rows:12,className:`${el} font-mono resize-y`})]}),k&&(0,t.jsx)("p",{className:"text-xs text-danger",children:k})]}),(0,t.jsxs)("footer",{className:"sticky bottom-0 flex items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[(0,t.jsx)(f.Button,{size:"sm",onClick:A,disabled:C,className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Save"}),(0,t.jsx)(f.Button,{size:"sm",variant:"ghost",onClick:i,disabled:C,className:"text-txt",children:"Cancel"}),(0,t.jsx)(f.Button,{size:"sm",variant:"ghost",onClick:I,disabled:C,className:"ml-auto text-danger hover:text-danger",children:"Delete"})]})]})}function em({item:e,tasksById:s,onOpen:a}){let n=(0,N.localToday)(),r=j(e,Object.values(s)),l="ready"===r.kind?r.taskId:null,i="waiting"===r.kind?[...r.waiting].sort((e,t)=>Number(s[t.taskId]?.status==="todo")-Number(s[e.taskId]?.status==="todo")).map(e=>e.reason):[];return(0,t.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("p",{className:eo,children:["Tasks · ",e.tasks.length]}),(0,t.jsx)("ul",{className:"-mx-2 flex flex-col",children:e.tasks.map(e=>{let r=s[e];if(!r)return(0,t.jsxs)("li",{className:"px-2 py-2 font-mono text-xs text-danger",children:[e," · missing task file"]},e);let i=r.id===l;return(0,t.jsxs)("li",{className:(0,v.cn)("group flex items-center rounded-md hover:bg-surface2",i&&"bg-accent/10 hover:bg-accent/15"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>a(r.file),className:"flex min-w-0 flex-1 items-center gap-3 px-2 py-2 text-left",children:[(0,t.jsx)("span",{title:r.status,className:(0,v.cn)("h-2 w-2 shrink-0 rounded-full",w.TASK_STATUS_BG[r.status])}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:r.id}),(0,t.jsx)("span",{className:(0,v.cn)("min-w-0 flex-1 truncate text-sm","cancelled"===r.status?"text-muted line-through":"done"===r.status?"text-muted":"text-txt"),children:r.title}),(0,t.jsx)(w.DueChip,{due:r.due,state:(0,N.dueState)(r.due,"done"===r.status?"done":"planned",n)}),i?(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] uppercase tracking-wider text-accent",children:"Next up"}):r.size&&"—"!==r.size&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:r.size.split(" ")[0]}),(0,t.jsx)(k.AgentDot,{attach:{kind:"task",id:r.id}})]}),(0,t.jsx)(ep,{taskId:r.id})]},e)})}),i.length>0&&(0,t.jsxs)("p",{className:"truncate text-xs text-muted",title:i.join("\n"),children:[i[0],i.length>1&&` (+${i.length-1} more)`]})]})}function ep({taskId:e}){let{chats:s,showAbout:a}=(0,U.useChats)(),{demo:n}=(0,h.useApp)(),r=!!(0,H.chatFor)(s,{kind:"task",id:e});return n?null:(0,t.jsx)("button",{type:"button",onClick:()=>a({kind:"task",id:e}),"aria-label":`${r?"Open chat":"Chat"} about ${e}`,title:r?`Open the chat about ${e}`:`Chat about ${e}`,className:(0,v.cn)("mr-1 grid size-7 shrink-0 place-items-center rounded-md text-muted transition-[opacity,color] duration-(--duration-fast) hover:bg-surface hover:text-accent focus-visible:opacity-100",r?"text-accent opacity-100":"opacity-0 group-hover:opacity-100"),children:(0,t.jsx)(E.MessageSquare,{className:"size-3.5"})})}var eh=e.i(776639);function eg({open:e,heading:a,onOpenChange:n,onSubmit:r}){let[l,i]=(0,s.useState)(""),[o,d]=(0,s.useState)(null),[c,u]=(0,s.useState)(!1);function x(e){e||(i(""),d(null)),n(e)}async function m(e){if(e.preventDefault(),!l.trim())return;u(!0);let t=await r(l.trim());u(!1),t?d(t):x(!1)}return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:x,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-sm bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:a}),(0,t.jsxs)("form",{onSubmit:m,className:"flex flex-col gap-3",children:[(0,t.jsx)(F.Input,{autoFocus:!0,value:l,onChange:e=>i(e.target.value),placeholder:"Title",className:"bg-bg border-border text-txt"}),o&&(0,t.jsx)("p",{className:"text-xs text-danger",children:o}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>x(!1),children:"Cancel"}),(0,t.jsx)(f.Button,{type:"submit",size:"sm",disabled:c||!l.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Create"})]})]})]})})}function ef({open:e,onOpenChange:a}){let[n,r]=(0,s.useState)("");return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Plan from spec"}),(0,t.jsxs)("form",{onSubmit:function(e){e.preventDefault(),n.trim()&&(a(!1),(0,y.askAgent)(`Break down this spec into tasks:
|
|
2
|
+
|
|
3
|
+
${n.trim()}`))},className:"flex flex-col gap-3",children:[(0,t.jsx)("textarea",{autoFocus:!0,value:n,onChange:e=>r(e.target.value),placeholder:"Paste a feature spec…",rows:12,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 text-sm text-txt placeholder:text-muted focus:outline-none focus:ring-1 focus:ring-accent"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"The agent asks where the tasks go (a new epic, an existing epic, or no epic) and shows a plan before writing anything."}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{r(""),a(!1)},children:"Cancel"}),(0,t.jsx)(f.Button,{type:"submit",size:"sm",disabled:!n.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Break down"})]})]})]})})}function eb({open:e,onOpenChange:s,items:a}){return(0,t.jsx)(eh.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(eh.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,t.jsx)(eh.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Break down epics"}),(0,t.jsx)(ej,{items:a,onDone:()=>s(!1)})]})})}function ej({items:e,onDone:a}){let n,r=(n=(e,t)=>e.order-t.order,e.filter(e=>null===e.parent).sort(n).map(t=>({horizon:t,epics:e.filter(e=>e.parent===t.id&&"done"!==e.status).sort((e,t)=>Number(e.tasks.length>0)-Number(t.tasks.length>0)||n(e,t))})).filter(e=>e.epics.length>0)),[l,i]=(0,s.useState)(()=>new Set(r.flatMap(e=>e.epics.filter(e=>0===e.tasks.length).map(e=>e.id)))),o=(0,U.useChats)().runningCount,d=Math.max(0,H.MAX_RUNNING_CHATS-o),c=l.size>d;return(0,t.jsxs)("form",{onSubmit:function(e){if(e.preventDefault(),l.size&&!c)for(let e of(a(),r))for(let t of e.epics)l.has(t.id)&&(0,y.askAgent)(`Break down epic ${t.id} into tasks.`,{newChat:!0})},className:"flex flex-col gap-3",children:[(0,t.jsx)("div",{className:"max-h-[50vh] overflow-y-auto rounded-md border border-border",children:r.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"sticky top-0 bg-surface2 px-3 py-1 text-[10px] font-mono uppercase tracking-widest text-muted",children:[e.horizon.id," · ",e.horizon.title]}),(0,t.jsx)("ul",{children:e.epics.map(e=>{let s=l.has(e.id);return(0,t.jsx)("li",{className:"border-b border-border last:border-b-0",children:(0,t.jsxs)("label",{className:"flex items-start gap-2 px-3 py-1.5 text-xs cursor-pointer has-[:disabled]:cursor-not-allowed",children:[(0,t.jsx)("input",{type:"checkbox",checked:s,disabled:!s&&l.size>=d,onChange:()=>{var t;return t=e.id,void i(e=>{let s=new Set(e);return s.delete(t)||s.add(t),s})},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"flex-1 min-w-0 text-txt",children:[(0,t.jsx)("span",{className:"font-mono text-muted mr-1",children:e.id}),e.title]}),e.tasks.length>0&&(0,t.jsxs)("span",{className:"shrink-0 text-[10px] font-mono text-muted",children:["has ",e.tasks.length," task",1===e.tasks.length?"":"s"]})]})},e.id)})})]},e.horizon.id))}),(0,t.jsx)("p",{className:c||0===d?"text-xs text-amber":"text-xs text-muted",children:0===d?`All ${H.MAX_RUNNING_CHATS} agent slots are busy. Stop a chat or wait for one to finish.`:c?`${l.size} selected, but only ${d} of ${H.MAX_RUNNING_CHATS} agent slots ${1===d?"is":"are"} free (${o} running). Uncheck some or stop a chat.`:`One chat per epic, running at once (${d} of ${H.MAX_RUNNING_CHATS} agent slots free). Each shows a plan before writing anything.`}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:a,children:"Cancel"}),(0,t.jsxs)(f.Button,{type:"submit",size:"sm",disabled:!l.size||c,className:"bg-accent text-accent-fg hover:bg-accent/90",children:["Break down ",l.size||""," epic",1===l.size?"":"s"]})]})]})}async function eN(e,t){try{let s=await fetch(e,void 0===t?void 0:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json().catch(()=>null);if(!s.ok)return{error:a?.error??`Request failed (${s.status})`};return{data:a}}catch{return{error:"Could not reach the server"}}}function ev(e,t,s,a){var r;let l,i,o,d,c,[u,x]=(r=!a,i=(l=e=>({x:e.position.x+(e.measured?.width??("horizon"===e.type?D.HORIZON_W:D.FEATURE_W))/2,y:e.position.y+(e.measured?.height??48)/2}))(t),d=(o=l(s)).x-i.x,c=o.y-i.y,r||Math.abs(d)>Math.abs(c)?d>0?[n.Position.Right,n.Position.Left]:[n.Position.Left,n.Position.Right]:c>0?[n.Position.Bottom,n.Position.Top]:[n.Position.Top,n.Position.Bottom]);return{id:e,source:t.id,target:s.id,sourceHandle:u,targetHandle:`${x}-t`,type:a?"straight":"default",selectable:!1,...function(e,t,s){if(s)return"done"===e.data.item.status?{style:{stroke:"var(--color-accent)",strokeWidth:3}}:{style:{stroke:"var(--color-border2)",strokeWidth:3,strokeDasharray:"6 6"}};let a=t.data.item.status;return"in-progress"===a?{animated:!0,style:{stroke:"var(--color-accent)",strokeWidth:2}}:"done"===a?{style:{stroke:"var(--color-border2)",strokeWidth:1.5}}:{style:{stroke:"var(--color-border2)",strokeWidth:1.5,strokeDasharray:"2 5",strokeLinecap:"round"}}}(t,s,a)}}function ey(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}let ew={"--xy-background-color":"var(--color-bg)"};function ek(){let{rootParam:e,openDoc:n,board:r,demo:o}=(0,h.useApp)(),{showAbout:d}=(0,U.useChats)(),b=(0,p.useRouter)(),k=(0,p.useSearchParams)(),S="timeline"===k.get("view")?"timeline":"map",M=(0,N.localToday)(),[z,$]=(0,s.useState)([]),[T,B]=(0,s.useState)({}),[A,I]=(0,s.useState)([]),[O,E]=(0,s.useState)(!0),[P,L]=(0,s.useState)(null),[_,F]=(0,s.useState)(null),[R,H]=(0,s.useState)(null),[W,q]=(0,s.useState)(null),K=k.get("item"),[X,G]=(0,s.useState)(null);K!==X&&(G(K),K&&F(K));let[J,V]=(0,s.useState)(null),[Z,Y]=(0,s.useState)(!1),[ee,et]=(0,s.useState)(null),[es,ea]=(0,s.useState)(!1),[er,el]=(0,s.useState)(!1),ei=(0,s.useRef)(!1),eo=(0,s.useRef)(null),ec=(0,s.useRef)(null),eu=(0,s.useCallback)((e,t=0)=>{ec.current=e;let s=eo.current?.clientWidth??0,a=e.getNodesBounds(e.getNodes());if(!s||!a.width)return;let n=Math.min(1,Math.max(.75,(s-80)/a.width));e.setViewport({x:s/2-(a.x+a.width/2)*n,y:40-a.y*n,zoom:n},{duration:t})},[]),ex=(0,s.useRef)(!1),em=(0,s.useRef)(0),ep=(0,s.useSyncExternalStore)(ey,()=>document.documentElement.classList.contains("dark"),()=>!0),eh=(0,s.useCallback)((e,t)=>{$(e),B(t),I(s=>{let a,n;return a=(0,D.resolvePositions)(e,t),n=new Map(s.map(e=>[e.id,e])),e.map(e=>{let t=n.get(e.id);return{id:e.id,type:null===e.parent?"horizon":"feature",position:a[e.id]??{x:0,y:0},data:{item:e},measured:t?.measured,selected:t?.selected}})})},[]),ej=(0,s.useCallback)(()=>{let t=++em.current;return eN(`/api/roadmap${e}`).then(({data:e,error:s})=>{if(t===em.current){if(E(!1),s){L(s),eh([],{}),F(null);return}L(null),V(e?.generateSource??null),eh(e?.items??[],e?.layout??{})}})},[e,eh]);(0,s.useEffect)(()=>{ej()},[ej]),(0,s.useEffect)(()=>{let e=new EventSource("/api/events");return e.onmessage=e=>{try{let t=JSON.parse(e.data);if("roadmap_updated"!==t.type)return;ei.current?ex.current=!0:ej()}catch{}},()=>e.close()},[ej]);let ek=(0,s.useMemo)(()=>{let e=new Map(A.map(e=>[e.id,e])),t=[],s=z.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order);for(let a of(s.forEach((a,n)=>{let r=e.get(a.id),l=s[n+1]&&e.get(s[n+1].id);r&&l&&t.push(ev(`spine-${a.id}`,r,l,!0))}),z)){let s=a.parent&&e.get(a.parent),n=e.get(a.id);s&&n&&"horizon"===s.type&&t.push(ev(`branch-${a.id}`,s,n,!1))}return t},[z,A]),eM=(0,s.useMemo)(()=>Object.fromEntries(Object.values(r??{}).flat().map(e=>[e.id,e])),[r]),eD=(0,s.useMemo)(()=>(0,N.roadmapHealth)(z,eM,M),[z,eM,M]),ez=(0,s.useMemo)(()=>{let e=Object.values(eM),t=new Map(z.filter(e=>null===e.parent).sort((e,t)=>e.order-t.order).map((e,t)=>[e.id,t+1]));return A.map(s=>{var a;let n,{item:r}=s.data,l=z.filter(e=>e.parent===r.id),i="feature"===s.type&&"in-progress"===r.status?j(r,e):null;return{...s,data:{...s.data,progress:eD.progress[s.id],drift:eD.drift.filter(e=>e.id===s.id).map(e=>e.message),dueState:(0,N.dueState)(r.due,r.status,M),..."feature"===s.type&&{...(a=r.tasks,{taskDue:n=(0,N.taskDueSummary)(a,eM,M),taskDueSoon:!!n?.next&&"soon"===(0,N.dueState)(n.next,"planned",M)}),taskStatuses:r.tasks.map(e=>eM[e]?.status).filter(e=>!!e&&"cancelled"!==e),nextTaskId:i?.kind==="ready"?i.taskId:null},..."horizon"===s.type&&{chapter:t.get(r.id),epics:{done:l.filter(e=>"done"===e.status).length,total:l.length}}}}})},[A,z,eD,M,eM]),e$=(0,s.useCallback)(e=>I(t=>(0,a.applyNodeChanges)(e,t)),[]),[eT,eB]=(0,s.useState)(!1);async function eA(){Y(!0),L(null);let{data:t,error:s}=await eN(`/api/roadmap/generate${e}`,{});if(s){L(s),Y(!1);return}let a=Object.fromEntries(Object.entries((0,D.resolvePositions)(t?.items??[],{})).map(([e,t])=>[e,{x:Math.round(t.x),y:Math.round(t.y)}])),{error:n}=await eN(`/api/roadmap/layout${e}`,{positions:a});await ej(),n&&L(n),Y(!1)}let eI=Object.values(r??{}).flat().filter(e=>"cancelled"!==e.status).length,eO="roadmap-md"===J?"from ROADMAP.md":"tasks"===J?`from ${eI} tasks, grouped by phase`:"starter horizons: Shipped · Now · Next · Later";async function eE(t){let{error:s}=await eN(`/api/roadmap/create${e}`,{title:t,parent:ee||null});return s||(await ej(),null)}async function eP(t,s){eh(z.map(e=>e.id===t?{...e,...s}:e),T);let{data:a,error:n}=await eN(`/api/roadmap/update${e}`,{id:t,patch:s});if(n)return await ej(),n;let r=a?.item;return r?eh(z.map(e=>e.id===t?r:e),T):await ej(),null}async function eL(t){let{data:s,error:a}=await eN(`/api/roadmap/delete${e}`,{id:t});return a||(eh(z.filter(e=>e.id!==t),T),s&&(0,en.undoToast)(`Deleted ${t}`,async()=>{let{error:t}=await eN(`/api/roadmap/restore${e}`,s);if(t)throw Error(t);await ej()}),null)}let e_=z.find(e=>e.id===_)??null,eF=e=>{e&&L(e)},eR={edit:e=>{F(e),H(e)},setStatus:(e,t)=>{eP(e,{status:t}).then(eF)},move:(e,t)=>{eP(e,{parent:t}).then(eF)},addEpic:e=>{F(null),et(e)},duplicate:async t=>{let s=z.find(e=>e.id===t);if(!s)return;let{data:a,error:n}=await eN(`/api/roadmap/create${e}`,{title:`${s.title} (copy)`,parent:s.parent,status:"planned",order:s.order+1,due:s.due,body:s.body});if(n)return L(n);await ej(),a?.item&&F(a.item.id)},openFile:e=>n(e),chat:e=>{F(null),d({kind:"epic",id:e})},remove:async e=>{let t=await eL(e);if(t)return L(t);_===e&&F(null)}},eH=(e,t)=>{o||(t.preventDefault(),q({id:e,x:t.clientX,y:t.clientY}))},eU=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eg,{open:null!==ee,heading:ee?`New feature under ${ee}`:"New horizon",onOpenChange:e=>{e||et(null)},onSubmit:eE}),(0,t.jsx)(ef,{open:es,onOpenChange:ea}),(0,t.jsx)(eb,{open:er,onOpenChange:el,items:z})]});return O?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center text-sm text-muted",children:"Loading…"}):0===z.length?(0,t.jsxs)("div",{className:"flex-1 p-6",children:[P&&(0,t.jsx)("p",{className:"mb-4 text-sm text-danger",children:P}),(0,t.jsx)(g.EmptyState,{icon:"🗺️",message:"No roadmap yet",subMessage:"Items live in plans/roadmap/R*.md",bordered:!0}),!o&&(0,t.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(f.Button,{size:"sm",onClick:eA,disabled:Z,className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(m.Sparkles,{})," ",Z?"Generating…":"Generate roadmap"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>(0,y.askAgent)("Plan a roadmap for this project."),disabled:Z,children:[(0,t.jsx)(l.Bot,{})," Plan with agent"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>ea(!0),disabled:Z,children:[(0,t.jsx)(i.FileText,{})," Plan from spec"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>et(""),disabled:Z,children:[(0,t.jsx)(x.Plus,{})," Create first horizon"]})]}),(0,t.jsxs)("p",{className:"text-xs text-muted",children:["Generate ",eO,". Existing files are not modified."]})]}),eU]}):(0,t.jsxs)("div",{className:"relative flex flex-1 min-h-0 flex-col",children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-4 border-b border-border px-3 py-2",children:[(0,t.jsx)("div",{className:"flex rounded-md border border-border p-0.5 text-xs",children:["map","timeline"].map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>{let t,s;return t=new URLSearchParams(k.toString()),"map"===e?t.delete("view"):t.set("view",e),s=t.toString(),void b.replace(s?`/roadmap?${s}`:"/roadmap")},className:(0,v.cn)("rounded-sm px-3 py-1 capitalize",S===e?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:e},e))}),(0,t.jsx)(eS,{items:z,tasksById:eM}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[P&&(0,t.jsx)("p",{className:"text-xs text-danger",children:P}),eD.drift.length>0&&(0,t.jsx)(eC,{drift:eD.drift,onSelect:F,onApply:o?void 0:e=>e.suggestedStatus&&eP(e.id,{status:e.suggestedStatus}).then(e=>{e&&L(e)})}),!o&&(0,t.jsxs)(t.Fragment,{children:["map"===S&&(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:function(){let t=e=>({x:Math.round(e.x),y:Math.round(e.y)}),s=new Map(A.map(e=>[e.id,e.measured?.height??48])),a=(0,D.resolvePositions)(z,T),n=Object.fromEntries(Object.entries((0,D.arrangePositions)(z,e=>s.get(e)??48)).map(([e,s])=>[e,t(s)])),r=Object.fromEntries(Object.entries(a).map(([e,s])=>[e,t(s)]));eB(!0);let l=()=>{eh(z,{...T,...n}),eB(!1),requestAnimationFrame(()=>{ec.current&&eu(ec.current,320)}),eN(`/api/roadmap/layout${e}`,{positions:n}).then(({error:t})=>{if(t)return L(t);(0,en.undoToast)("Arranged the map",async()=>{let{error:t}=await eN(`/api/roadmap/layout${e}`,{positions:r});if(t)throw Error(t);await ej()})})};if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return l();let i=new Map(A.map(e=>[e.id,e.position])),o=performance.now(),d=e=>{let t=Math.min(1,(e-o)/420),s=1-Math.pow(1-t,4);I(e=>e.map(e=>{let t=i.get(e.id),a=n[e.id];return t&&a?{...e,position:{x:t.x+(a.x-t.x)*s,y:t.y+(a.y-t.y)*s}}:e})),t<1?requestAnimationFrame(d):l()};requestAnimationFrame(d)},disabled:eT,title:"Tidy the map: epics in one column each side of their horizon, nothing overlapping",children:[(0,t.jsx)(c,{})," Arrange"]}),(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>ea(!0),children:[(0,t.jsx)(i.FileText,{})," Plan from spec"]}),z.some(e=>null!==e.parent&&"done"!==e.status)&&(0,t.jsxs)(f.Button,{size:"sm",variant:"outline",onClick:()=>el(!0),children:[(0,t.jsx)(u.ListTree,{})," Break down epics…"]}),(0,t.jsxs)(f.Button,{size:"sm",onClick:()=>et(""),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,t.jsx)(x.Plus,{})," Horizon"]})]})]})]}),"map"===S?(0,t.jsx)("div",{ref:eo,className:"relative flex-1 min-h-0",children:(0,t.jsxs)(a.ReactFlow,{nodes:ez,edges:ek,nodeTypes:w.nodeTypes,onNodesChange:e$,nodesDraggable:!o,onNodeClick:(e,t)=>F(t.id),onNodeContextMenu:(e,t)=>eH(t.id,e),onNodeDragStart:()=>{ei.current=!0},onNodeDragStop:(t,s,a)=>{let n;return ei.current=!1,n=Object.fromEntries(a.map(e=>[e.id,{x:Math.round(e.position.x),y:Math.round(e.position.y)}])),void(eh(z,{...T,...n}),eN(`/api/roadmap/layout${e}`,{positions:n}).then(({error:e})=>{e&&L(e),ex.current&&(ex.current=!1,ej())}))},nodesConnectable:!1,deleteKeyCode:null,colorMode:ep?"dark":"light",onInit:eu,minZoom:.2,style:ew,children:[(0,t.jsx)(a.Background,{variant:a.BackgroundVariant.Dots,gap:20,size:1}),(0,t.jsx)(a.Controls,{showInteractive:!1})]})}):(0,t.jsx)(C,{items:z,today:M,onSelect:F,onItemContextMenu:eH,progressById:eD.progress}),(0,t.jsx)(ed,{item:e_,items:z,onClose:()=>F(null),editing:!!e_&&R===e_.id,onEditingChange:e=>H(e?_:null),actions:eR,onSave:eP,onDelete:eL,onAddFeature:e=>{F(null),et(e)},onEditRaw:e=>{n(e)},tasksById:eM,progressById:eD.progress,onSelect:F}),(0,t.jsx)(Q,{at:W,items:z,actions:eR,onClose:()=>q(null)}),eU]})}function eS({items:e,tasksById:s}){let a=e.filter(e=>null!==e.parent),n=e=>a.filter(t=>t.status===e).length,r=[...new Set(a.flatMap(e=>e.tasks))].map(e=>s[e]).filter(e=>e&&"cancelled"!==e.status),l=r.filter(e=>"done"===e.status).length;return(0,t.jsxs)("div",{className:"hidden items-center gap-4 font-mono text-[11px] text-muted md:flex",children:[["in-progress","paused","done","planned"].filter(e=>"paused"!==e||n(e)>0).map(e=>(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(w.StatusDot,{status:e}),(0,t.jsx)("span",{className:(0,v.cn)("tabular-nums","in-progress"===e&&n(e)>0?"text-accent":"text-txt"),children:n(e)}),w.STATUS_LABEL[e].toLowerCase()]},e)),r.length>0&&(0,t.jsxs)("span",{className:"flex items-center gap-2 border-l border-border pl-4",children:[(0,t.jsx)("span",{className:"relative h-1 w-20 overflow-hidden rounded-full bg-border",children:(0,t.jsx)("span",{className:"absolute inset-y-0 left-0 rounded-full bg-teal",style:{width:`${l/r.length*100}%`}})}),(0,t.jsxs)("span",{children:[(0,t.jsxs)("span",{className:"tabular-nums text-txt",children:[l,"/",r.length]})," tasks"]})]})]})}function eC({drift:e,onSelect:s,onApply:a}){return(0,t.jsxs)("details",{className:"group relative",children:[(0,t.jsxs)("summary",{className:"flex h-8 cursor-pointer list-none items-center gap-1.5 rounded-md border border-amber/40 bg-amber/10 px-2.5 text-xs font-medium text-txt hover:bg-amber/15 [&::-webkit-details-marker]:hidden",children:[(0,t.jsx)(r.AlertTriangle,{className:"h-3.5 w-3.5 text-amber"})," ",e.length," need attention"]}),(0,t.jsx)("ul",{className:"absolute right-0 top-full z-30 mt-1.5 max-h-72 w-80 overflow-y-auto rounded-lg border border-border bg-surface text-xs shadow-xl",children:e.map(e=>(0,t.jsxs)("li",{className:"flex items-start gap-2 border-b border-border px-3 py-2.5 last:border-0",children:[(0,t.jsx)("span",{className:"mt-1 h-1.5 w-1.5 shrink-0 rounded-full bg-amber"}),(0,t.jsx)("button",{type:"button",onClick:()=>s(e.id),className:"flex-1 text-left leading-relaxed text-muted hover:text-txt",children:e.message}),e.suggestedStatus&&a&&(0,t.jsxs)("button",{type:"button",onClick:()=>a(e),className:"shrink-0 rounded-sm border border-border px-1.5 py-0.5 font-mono text-[10px] text-txt hover:border-accent hover:text-accent",title:`Set status to ${e.suggestedStatus}`,children:["→ ",e.suggestedStatus]})]},`${e.id}-${e.kind}`))})]})}e.s(["default",0,function(){return(0,t.jsx)("div",{className:"flex flex-col h-[calc(100svh-3rem)]",children:(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(ek,{})})})}],298367)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,955787,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(910172),n=e.i(763371),r=e.i(155515),l=e.i(244267),i=e.i(605663),o=e.i(650312),d=e.i(83790);let c={name:"bookmark",size:24,node:[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]]};c.node;let u=(0,d.default)(c),x={name:"chart-gantt",size:24,node:[["path",{d:"M10 6h8",key:"zvc2xc"}],["path",{d:"M12 16h6",key:"yi5mkt"}],["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M8 11h7",key:"wz2hg0"}]]};x.node;let p=(0,d.default)(x);var m=e.i(709948),h=e.i(506534),b=e.i(424991);let f={name:"rotate-ccw",size:24,node:[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]};f.node;let g=(0,d.default)(f),j={name:"square-kanban",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]],aliases:["kanban-square"]};j.node;let v=(0,d.default)(j),N={name:"table-2",size:24,node:[["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]};N.node;let w=(0,d.default)(N);var k=e.i(458055),y=e.i(975157),S=e.i(755146);let M={board:v,table:w,epic:h.ListTree,timeline:p},C=["board","table","epic","timeline"],z="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",D=(0,y.cn)("relative inline-flex h-9 shrink-0 items-center gap-1.5 whitespace-nowrap border-b-2 border-transparent px-0.5 text-[13px] font-medium","transition-colors duration-(--duration-fast) ease-out-soft",z),T="rounded-sm border border-border2 bg-surface2 px-1 py-0.5 font-mono text-[10px] leading-none text-txt";function $({views:e,activeId:a,onSelect:n,onNew:l,onRename:i,onDelete:o,customizedIds:d,onRestore:c}){let x=[...e.filter(e=>C.includes(e.id)),...e.filter(e=>!C.includes(e.id))],[p,h]=(0,s.useState)(null),f=(0,s.useRef)(new Map),j=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let e=j.current;if(!e)return;let t=f.current.get(e);t&&(t.focus(),j.current=null)}),(0,t.jsxs)("div",{role:"group","aria-label":"Views",className:"flex items-center gap-4 overflow-x-auto border-b border-border [scrollbar-width:none]",children:[x.map(e=>{let s=C.includes(e.id),r=s?M[e.kind]:u,l=e.id===a;return p===e.id?(0,t.jsx)(I,{initial:e.name,onDone:(t,s)=>{h(null),s&&(j.current=e.id),t&&t!==e.name&&i(e.id,t)}},e.id):(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center",children:[(0,t.jsxs)("button",{ref:t=>{t?f.current.set(e.id,t):f.current.delete(e.id)},type:"button","aria-pressed":l,title:s?void 0:`Saved view: ${e.name}`,onClick:()=>n(e.id),className:(0,y.cn)(D,l?"text-txt":"text-muted hover:text-txt"),children:[(0,t.jsx)(r,{"aria-hidden":!0,className:s?"size-[15px]":"size-3.5"}),e.name,l&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-x-0 -bottom-0.5 h-0.5 bg-accent [view-transition-name:board-view-tab]"})]}),l&&(!s||d.includes(e.id))&&(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{"aria-label":`View options for ${e.name}`,className:(0,y.cn)("ml-0.5 inline-flex size-6 items-center justify-center rounded-sm text-muted hover:bg-surface2 hover:text-txt",z),children:(0,t.jsx)(m.ChevronDown,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)(S.DropdownMenuContent,{align:"start",children:s?(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{j.current=e.id,c(e.id)},children:[(0,t.jsx)(g,{"aria-hidden":!0,className:"size-3.5"}),"Restore default"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>h(e.id),children:[(0,t.jsx)(b.Pencil,{"aria-hidden":!0,className:"size-3.5"}),"Rename"]}),(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{o(e.id)&&(j.current=e.kind)},className:"text-danger focus:text-danger",children:[(0,t.jsx)(k.Trash2,{"aria-hidden":!0,className:"size-3.5"}),"Delete view"]})]})})]})]},e.id)}),(0,t.jsx)("button",{type:"button","aria-label":"New view",title:"New view",onClick:l,className:(0,y.cn)(D,"border-transparent text-muted hover:text-txt"),children:(0,t.jsx)(r.Plus,{"aria-hidden":!0,className:"size-[15px]"})}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsxs)("span",{className:"hidden shrink-0 items-center gap-1.5 pb-1.5 text-[11px] text-muted sm:flex",children:[(0,t.jsx)("kbd",{className:T,children:"v"}),"next view",(0,t.jsx)("kbd",{className:(0,y.cn)(T,"ml-1.5"),children:"1"}),"–",(0,t.jsx)("kbd",{className:T,children:"4"})]})]})}function I({initial:e,onDone:a}){let[n,r]=(0,s.useState)(e),l=(0,s.useRef)(null),i=(0,s.useRef)(!1),o=(e,t=!1)=>{i.current||(i.current=!0,a(e.trim(),t))};return(0,s.useEffect)(()=>{let e=setTimeout(()=>l.current?.select(),0);return()=>clearTimeout(e)},[]),(0,t.jsx)("input",{ref:l,"aria-label":"View name",value:n,maxLength:60,onChange:e=>r(e.target.value),onBlur:()=>o(n),onKeyDown:t=>{"Enter"===t.key&&o(n,!0),"Escape"===t.key&&(t.stopPropagation(),o(e,!0))},className:"my-1 h-7 w-40 shrink-0 rounded-md border border-accent bg-bg px-2 text-[13px] text-txt outline-hidden"})}var E=e.i(169777),O=e.i(270379);let R={name:"arrow-up-down",size:24,node:[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]};R.node;let L=(0,d.default)(R);var F=e.i(226230);let A={name:"rows-3",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M21 9H3",key:"1338ky"}],["path",{d:"M21 15H3",key:"9uk58r"}]],aliases:["panels-top-bottom"]};A.node;let P=(0,d.default)(A);var q=e.i(161863);let _={name:"sliders-horizontal",size:24,node:[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]};_.node;let U=(0,d.default)(_);var W=e.i(765470),V=e.i(464750),G=e.i(574990);let H=[{prop:"status",label:"Status"},{prop:"epic",label:"Epic"},{prop:"size",label:"Size"},{prop:"due",label:"Due"},{prop:"deps",label:"Depends on"},{prop:"tests",label:"Tests"},{prop:"agent",label:"Agent"},{prop:"ready",label:"Ready"},{prop:"owner",label:"Owner"}],K=Object.fromEntries(H.map(e=>[e.prop,e.label])),B={status:{is:"is","is-not":"is not"},epic:{is:"is","is-not":"is not"},size:{is:"is","is-not":"is not"},due:{before:"is before",after:"is after","is-set":"is set","not-set":"is not set"},deps:{"is-set":"anything","not-set":"nothing"},tests:{"is-set":"reported","not-set":"not reported"},agent:{"is-set":"is active","not-set":"is not active"},ready:{"is-set":"yes","not-set":"no"},owner:{is:"is","is-not":"is not"}},X=["status","epic","size","owner"],J={human:"Human",ai:"AI agent",none:"No owner"},Y=["XS","S","M","L","XL"],Z=[{prop:"status",label:"Status"},{prop:"id",label:"ID"},{prop:"epic",label:"Epic"},{prop:"size",label:"Size"},{prop:"due",label:"Due"},{prop:"title",label:"Title"}],Q=[{value:"status",label:"Status"},{value:"epic",label:"Epic"},{value:"size",label:"Size"},{value:"owner",label:"Owner"},{value:"none",label:"None"}],ee=[{value:"epic",label:"Epic"},{value:"size",label:"Size"},{value:"none",label:"None"}],et=[{key:"status",label:"Status"},{key:"epic",label:"Epic"},{key:"size",label:"Size"},{key:"due",label:"Due"},{key:"deps",label:"Depends on"},{key:"tests",label:"Tests"},{key:"agent",label:"Agent"},{key:"owner",label:"Owner"}];function es(e,t){switch(e){case"status":return{prop:e,op:"is-not",value:["done"]};case"epic":return{prop:e,op:"is",value:[(t.find(e=>e.open)??t[0])?.id??"none"]};case"size":return{prop:e,op:"is",value:["M"]};case"due":let s;return{prop:e,op:"before",value:[(s=new Date,`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`)]};case"owner":return{prop:e,op:"is",value:["ai"]};default:return{prop:e,op:"is-set",value:[]}}}let ea="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg",en=(0,y.cn)("inline-flex h-8 items-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-2.5 text-xs font-medium text-muted","transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2 hover:text-txt",ea),er="border-border2 bg-surface2 text-txt",el=(0,y.cn)("h-7.5 min-w-0 rounded-md border border-border bg-bg px-2 text-[13px] text-txt",ea),ei="rounded-sm border border-border2 bg-surface2 px-1 py-0.5 font-mono text-[10px] leading-none text-txt",eo=(0,y.cn)("inline-flex size-7 shrink-0 items-center justify-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-40 disabled:hover:bg-transparent",ea);function ed({open:e,onOpenChange:a,label:n,trigger:r,triggerClassName:l,panelClassName:i,anchorClassName:o,children:d}){let c=(0,s.useRef)(null),u=(0,s.useRef)(null),x=(0,s.useRef)(null),p=(0,s.useRef)(a),m=(0,s.useId)();return(0,s.useEffect)(()=>{p.current=a}),(0,s.useEffect)(()=>{if(!e)return;x.current?.querySelector("button, input, select")?.focus();let t=e=>{c.current?.contains(e.target)||p.current(!1)};return document.addEventListener("pointerdown",t),()=>document.removeEventListener("pointerdown",t)},[e]),(0,t.jsxs)("div",{ref:c,className:(0,y.cn)("max-sm:flex max-sm:flex-1",o??"sm:relative"),children:[(0,t.jsx)("button",{ref:u,type:"button","aria-expanded":e,"aria-haspopup":"dialog","aria-controls":e?m:void 0,onClick:()=>a(!e),className:l,children:r}),e&&(0,t.jsx)("div",{ref:x,id:m,role:"dialog","aria-label":n,onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),a(!1),u.current?.focus())},className:(0,y.cn)("absolute top-full z-30 mt-1 rounded-lg border border-border2 bg-surface p-3 text-txt shadow-lg","origin-top-right animate-in fade-in-0 zoom-in-[0.98] slide-in-from-top-1 duration-(--duration-fast) ease-out-soft",i),children:d})]})}function ec({state:e,onChange:a,epics:n,dirty:l,activeIsBuiltIn:i,onSave:o,onSaveAs:d,onReset:c,searchInputId:u,filterOpen:x,onFilterOpenChange:p}){let[m,h]=(0,s.useState)(!1),b=t=>a({...e,...t}),[f,g]=(0,s.useState)(e.q),[j,v]=(0,s.useState)(e.q),[N,w]=(0,s.useState)(null);e.q!==j&&(v(e.q),e.q===N?w(null):null===N&&g(e.q));let k=t=>{g(t),w(t===e.q?null:t),b({q:t})},M="timeline"===e.kind,C="board"===e.kind,z=M?Q.filter(e=>"epic"===e.value||"none"===e.value):Q,D=Q.find(t=>t.value===e.group)?.label??"None",T=ee.find(t=>t.value===e.subGroup)?.label??"None",$="max-sm:h-9 max-sm:flex-1 max-sm:justify-center max-sm:border-border";return(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-1",children:[(0,t.jsxs)("label",{className:"flex h-8 w-full items-center gap-2 rounded-md border border-border bg-bg px-2.5 text-[13px] text-muted focus-within:border-accent sm:w-65 max-sm:h-9",children:[(0,t.jsx)(q.Search,{"aria-hidden":!0,className:"size-3.5 shrink-0"}),(0,t.jsx)("span",{className:"sr-only",children:"Filter by title or ID"}),(0,t.jsx)("input",{id:u,type:"search",value:f,placeholder:"Filter by title or ID…",onChange:e=>k(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(f?k(""):e.currentTarget.blur())},className:"min-w-0 grow bg-transparent text-txt outline-hidden placeholder:text-muted [&::-webkit-search-cancel-button]:hidden"}),(0,t.jsx)("kbd",{className:(0,y.cn)(ei,"max-sm:hidden"),children:"/"})]}),(0,t.jsx)("span",{className:"grow max-sm:hidden"}),(0,t.jsxs)("div",{className:"relative flex gap-1.5 max-sm:w-full sm:static sm:gap-1",children:[(0,t.jsx)(ed,{open:x,onOpenChange:p,label:"Filter",triggerClassName:(0,y.cn)(en,$,(x||e.filters.length>0)&&er),panelClassName:"inset-x-0 sm:left-auto sm:right-0 sm:w-140",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(F.ListFilter,{"aria-hidden":!0,className:"size-3.5"}),"Filter",e.filters.length>0&&(0,t.jsx)("span",{className:"font-mono text-txt",children:e.filters.length}),(0,t.jsx)("kbd",{className:(0,y.cn)(ei,"ml-0.5 max-sm:hidden"),children:"f"})]}),children:(0,t.jsx)(em,{filters:e.filters,epics:n,onChange:e=>b({filters:e})})}),(0,t.jsx)(ed,{open:m,onOpenChange:h,label:"Sort",triggerClassName:(0,y.cn)(en,$,(m||e.sorts.length>0)&&er),panelClassName:"inset-x-0 sm:left-auto sm:right-0 sm:w-95",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L,{"aria-hidden":!0,className:"size-3.5"}),"Sort",e.sorts.length>0&&(0,t.jsx)("span",{className:"font-mono text-txt",children:e.sorts.length})]}),children:(0,t.jsx)(ef,{sorts:e.sorts,onChange:e=>b({sorts:e})})}),(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsxs)(S.DropdownMenuTrigger,{className:(0,y.cn)(en,$,C&&"max-md:hidden"),children:[(0,t.jsx)(P,{"aria-hidden":!0,className:"size-3.5"}),(0,t.jsx)("span",{className:"max-sm:hidden",children:"Group"}),C?(0,t.jsxs)("span",{className:"text-txt",children:["Status","none"!==e.subGroup&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"px-1 text-muted",children:"›"}),T]})]}):(0,t.jsx)("span",{className:"text-txt",children:D})]}),(0,t.jsx)(S.DropdownMenuContent,{align:"end",children:C?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Swimlanes"}),(0,t.jsx)(S.DropdownMenuRadioGroup,{value:e.subGroup,onValueChange:e=>b({subGroup:e}),children:ee.map(e=>(0,t.jsx)(S.DropdownMenuRadioItem,{value:e.value,children:e.label},e.value))})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Group by"}),(0,t.jsx)(S.DropdownMenuRadioGroup,{value:e.group,onValueChange:e=>b({group:e}),children:z.map(e=>(0,t.jsx)(S.DropdownMenuRadioItem,{value:e.value,children:e.label},e.value))})]})})]}),!M&&(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsxs)(S.DropdownMenuTrigger,{className:(0,y.cn)(en,"max-sm:hidden"),children:[(0,t.jsx)(U,{"aria-hidden":!0,className:"size-3.5"}),"Properties"]}),(0,t.jsxs)(S.DropdownMenuContent,{align:"end",children:[(0,t.jsx)(S.DropdownMenuLabel,{className:"text-xs text-muted",children:"Show"}),et.map(s=>(0,t.jsx)(S.DropdownMenuCheckboxItem,{checked:e.properties.includes(s.key),onSelect:e=>e.preventDefault(),onCheckedChange:t=>b({properties:et.map(e=>e.key).filter(a=>a===s.key?!0===t:e.properties.includes(a))}),children:s.label},s.key))]})]})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[e.filters.map((s,a)=>(0,t.jsx)(ex,{rule:s,onRemove:()=>b({filters:e.filters.filter((e,t)=>t!==a)})},a)),(0,t.jsxs)("button",{type:"button",onClick:()=>p(!0),className:(0,y.cn)(en,"h-6.5 px-2"),children:[(0,t.jsx)(r.Plus,{"aria-hidden":!0,className:"size-3.25"}),"Add filter"]}),(0,t.jsx)("span",{className:"grow"}),l&&(0,t.jsx)(ep,{activeIsBuiltIn:i,onSave:o,onSaveAs:d,onReset:c})]})]})}function eu(e){return"is"===e.op&&e.value.length>1?"is any of":B[e.prop][e.op]??e.op}function ex({rule:e,onRemove:s}){var a;let n="is-set"!==e.op&&"not-set"!==e.op,r=(a=(0,V.useStatusLabel)(),"status"===e.prop?{text:e.value.map(a).join(", "),mono:!1}:"epic"===e.prop?{text:e.value.map(e=>"none"===e?"No epic":e).join(", "),mono:!e.value.includes("none")}:"owner"===e.prop?{text:e.value.map(e=>J[e]??e).join(", "),mono:!1}:{text:e.value.join(", "),mono:!0}),l=`${K[e.prop]} ${eu(e)}${n?` ${r.text}`:""}`;return(0,t.jsxs)("span",{className:"inline-flex h-6.5 max-w-full items-center gap-1.5 rounded-sm border border-border2 bg-surface pl-2.25 pr-1 text-xs text-txt",children:[(0,t.jsxs)("span",{className:"truncate",children:[(0,t.jsx)("b",{className:"font-medium text-muted",children:K[e.prop]})," ",eu(e),n&&(0,t.jsxs)(t.Fragment,{children:[" ",(0,t.jsx)("span",{className:(0,y.cn)("text-txt",r.mono&&"font-mono text-[11px]"),children:r.text||"—"})]})]}),(0,t.jsx)("button",{type:"button","aria-label":`Remove filter: ${l}`,onClick:s,className:(0,y.cn)("inline-flex rounded-xs p-0.75 text-muted hover:text-txt",ea),children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3"})})]})}function ep({activeIsBuiltIn:e,onSave:a,onSaveAs:n,onReset:r}){let[l,i]=(0,s.useState)(!1),[o,d]=(0,s.useState)("");return l?(0,t.jsxs)("form",{className:"flex items-center gap-1.5",onSubmit:e=>{let t;e.preventDefault(),(t=o.trim())&&(n(t),i(!1),d(""))},children:[(0,t.jsx)("input",{autoFocus:!0,"aria-label":"New view name",placeholder:"View name",value:o,maxLength:60,onChange:e=>d(e.target.value),onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),i(!1))},className:"h-7 w-44 rounded-md border border-accent bg-bg px-2 text-[13px] text-txt outline-hidden placeholder:text-muted"}),(0,t.jsx)("button",{type:"submit",disabled:!o.trim(),className:(0,y.cn)(en,er,"h-7 disabled:opacity-40"),children:"Save"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(!1),className:(0,y.cn)(en,"h-7"),children:"Cancel"})]}):(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"mr-1 text-xs text-muted",children:"Unsaved changes"}),(0,t.jsx)("button",{type:"button",onClick:r,className:(0,y.cn)(en,"text-txt"),children:"Reset"}),(0,t.jsx)("button",{type:"button",onClick:()=>i(!0),className:(0,y.cn)(en,"text-txt"),children:e?"Save as new view":"Save as new"}),(0,t.jsxs)("button",{type:"button",onClick:a,className:(0,y.cn)(en,er),children:[(0,t.jsx)(u,{"aria-hidden":!0,className:"size-3.25"}),"Save view"]})]})}function em({filters:e,epics:a,onChange:n}){let l=(t,s)=>n(e.map((e,a)=>a===t?s:e)),i=(0,s.useId)();return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{id:i,className:"mb-2.5 ml-0.5 text-xs font-semibold",children:"Show tasks where"}),0===e.length&&(0,t.jsx)("p",{className:"mb-1 ml-0.5 text-xs text-muted",children:"No filters yet. Every task shows except cancelled ones."}),(0,t.jsx)("ul",{"aria-labelledby":i,className:"flex flex-col gap-1.5",children:e.map((s,r)=>{let i=Object.entries(B[s.prop]),o=r+1;return(0,t.jsxs)("li",{className:"flex flex-wrap items-center gap-1.5 text-xs text-muted sm:grid sm:grid-cols-[48px_120px_100px_minmax(0,1fr)_28px]",children:[(0,t.jsx)("span",{className:"w-10 pl-1 sm:w-auto",children:0===r?"Where":"and"}),(0,t.jsx)("select",{"aria-label":`Rule ${o} property`,value:s.prop,onChange:e=>l(r,es(e.target.value,a)),className:(0,y.cn)(el,"w-32.5 sm:w-auto"),children:H.map(e=>(0,t.jsx)("option",{value:e.prop,children:e.label},e.prop))}),(0,t.jsx)("select",{"aria-label":`Rule ${o} condition`,value:s.op,onChange:e=>{let t=e.target.value,n="is-set"===t||"not-set"===t?[]:s.value.length?s.value:es(s.prop,a).value;l(r,{...s,op:t,value:n})},className:(0,y.cn)(el,"w-27.5 sm:w-auto"),children:i.map(([e,s])=>(0,t.jsx)("option",{value:e,children:s},e))}),(0,t.jsx)("span",{className:"min-w-0 grow basis-40 sm:basis-auto",children:(0,t.jsx)(eh,{rule:s,n:o,epics:a,onChange:e=>l(r,{...s,value:e})})}),(0,t.jsx)("button",{type:"button","aria-label":`Remove rule ${o}`,onClick:()=>n(e.filter((e,t)=>t!==r)),className:eo,children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3.5"})})]},r)})}),(0,t.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-1.5 border-t border-border pt-2.5",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>n([...e,es("status",a)]),className:en,children:[(0,t.jsx)(r.Plus,{"aria-hidden":!0,className:"size-3.5"}),"Add rule"]}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsx)("span",{className:"text-[11px] text-muted max-sm:hidden",children:"Rules combine with and"})]})]})}function eh({rule:e,n:s,epics:a,onChange:n}){return"is-set"===e.op||"not-set"===e.op?null:"due"===e.prop?(0,t.jsx)("input",{type:"date","aria-label":`Rule ${s} date`,value:e.value[0]??"",onChange:e=>n(e.target.value?[e.target.value]:[]),className:(0,y.cn)(el,"w-full scheme-dark")}):X.includes(e.prop)?(0,t.jsx)(eb,{rule:e,n:s,epics:a,onChange:n}):null}function eb({rule:e,n:a,epics:n,onChange:r}){let[l,i]=(0,s.useState)(!1),o=(0,G.useStatusDefs)(),d=(0,V.useStatusLabel)(),c="status"===e.prop?o.map(e=>({value:e.id,node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(V.StatusIcon,{status:e.id}),e.label]})})):"epic"===e.prop?[{value:"none",node:(0,t.jsx)("span",{className:"text-muted",children:"No epic"})},...n.map(e=>({value:e.id,node:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:"truncate",children:e.title})]})}))]:"owner"===e.prop?Object.entries(J).map(([e,s])=>({value:e,node:(0,t.jsx)("span",{children:s})})):Y.map(e=>({value:e,node:(0,t.jsx)("span",{className:"font-mono",children:e})})),u=e.value[0],x=u?"status"===e.prop?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(V.StatusIcon,{status:u}),(0,t.jsx)("span",{className:"truncate",children:d(u)})]}):"owner"===e.prop?(0,t.jsx)("span",{className:"truncate",children:J[u]??u}):"epic"===e.prop&&"none"!==u?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:u}),(0,t.jsx)("span",{className:"truncate",children:n.find(e=>e.id===u)?.title??""})]}):(0,t.jsx)("span",{className:(0,y.cn)("truncate","size"===e.prop&&"font-mono"),children:"none"===u?"No epic":u}):(0,t.jsx)("span",{className:"text-muted",children:"Choose…"});return(0,t.jsx)(ed,{open:l,onOpenChange:i,label:`${K[e.prop]} values`,anchorClassName:"relative",triggerClassName:(0,y.cn)(el,"flex w-full items-center gap-1.5 text-left"),panelClassName:"left-0 z-40 max-h-64 w-64 overflow-y-auto p-1",trigger:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("span",{className:"sr-only",children:["Rule ",a," values: "]}),x,e.value.length>1&&(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted",children:["+",e.value.length-1]}),(0,t.jsx)("span",{className:"grow"}),(0,t.jsx)(m.ChevronDown,{"aria-hidden":!0,className:"size-3.5 shrink-0 text-muted"})]}),children:(0,t.jsx)("ul",{className:"flex flex-col",children:c.map(s=>(0,t.jsx)("li",{children:(0,t.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-[13px] text-txt hover:bg-surface2",children:[(0,t.jsx)("input",{type:"checkbox",checked:e.value.includes(s.value),onChange:t=>r(t.target.checked?[...e.value,s.value]:e.value.filter(e=>e!==s.value)),className:"size-3.5 accent-accent"}),(0,t.jsx)("span",{className:"flex min-w-0 items-center gap-1.5",children:s.node})]})},s.value))})})}function ef({sorts:e,onChange:s}){let a=(t,a)=>s(e.map((e,s)=>s===t?a:e)),n=(t,a)=>{let n=[...e];[n[t],n[t+a]]=[n[t+a],n[t]],s(n)},l=Z.filter(t=>!e.some(e=>e.prop===t.prop));return(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-2.5 ml-0.5 text-xs font-semibold",children:"Sort by"}),0===e.length&&(0,t.jsx)("p",{className:"mb-1 ml-0.5 text-xs text-muted",children:"Default order: by ID."}),(0,t.jsx)("ol",{className:"flex flex-col gap-1.5",children:e.map((r,l)=>{let i=l+1,o=Z.find(e=>e.prop===r.prop)?.label??r.prop;return(0,t.jsxs)("li",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{type:"button","aria-label":`Move ${o} sort up`,disabled:0===l,onClick:()=>n(l,-1),className:eo,children:(0,t.jsx)(O.ArrowUp,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${o} sort down`,disabled:l===e.length-1,onClick:()=>n(l,1),className:eo,children:(0,t.jsx)(E.ArrowDown,{"aria-hidden":!0,className:"size-3.5"})}),(0,t.jsx)("select",{"aria-label":`Sort ${i} property`,value:r.prop,onChange:e=>a(l,{...r,prop:e.target.value}),className:(0,y.cn)(el,"ml-0.5 grow"),children:Z.filter(t=>t.prop===r.prop||!e.some(e=>e.prop===t.prop)).map(e=>(0,t.jsx)("option",{value:e.prop,children:e.label},e.prop))}),(0,t.jsxs)("select",{"aria-label":`Sort ${i} direction`,value:r.dir,onChange:e=>a(l,{...r,dir:e.target.value}),className:(0,y.cn)(el,"w-37.5"),children:[(0,t.jsx)("option",{value:"asc",children:"status"===r.prop?"Workflow order":"Ascending"}),(0,t.jsx)("option",{value:"desc",children:"status"===r.prop?"Reverse workflow":"Descending"})]}),(0,t.jsx)("button",{type:"button","aria-label":`Remove ${o} sort`,onClick:()=>s(e.filter((e,t)=>t!==l)),className:eo,children:(0,t.jsx)(W.X,{"aria-hidden":!0,className:"size-3.5"})})]},r.prop)})}),(0,t.jsx)("div",{className:"mt-2.5 border-t border-border pt-2.5",children:(0,t.jsxs)("button",{type:"button",disabled:!l.length,onClick:()=>s([...e,{prop:l[0].prop,dir:"asc"}]),className:(0,y.cn)(en,"disabled:opacity-40"),children:[(0,t.jsx)(r.Plus,{"aria-hidden":!0,className:"size-3.5"}),"Add sort"]})}),(0,t.jsx)("p",{className:"mx-0.5 mt-2 text-[11px] leading-normal text-muted",children:"Workflow order: In progress → Review → Todo → Blocked → Done. Ties fall back to ID."})]})}var eg=e.i(675964),ej=e.i(694628),ev=e.i(138324);let eN={name:"corner-down-right",size:24,node:[["path",{d:"m15 10 5 5-5 5",key:"qqa56n"}],["path",{d:"M4 4v7a4 4 0 0 0 4 4h12",key:"z08zvw"}]]};eN.node;let ew=(0,d.default)(eN);var ek=e.i(690457),ey=e.i(666326),eS=e.i(248070);let eM={name:"panel-right-open",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m10 15-3-3 3-3",key:"1pgupc"}]]};eM.node;let eC=(0,d.default)(eM);var ez=e.i(564849),eD=e.i(35032),eT=e.i(901778),e$=e.i(673635),eI=e.i(723528),eE=e.i(67874);let eO=["status","epic","size","due","deps","tests","agent","owner"];function eR({task:e,onOpen:a,properties:r=eO,selected:l=!1,onSelect:i}){let[d,c]=(0,s.useState)(!1),{demo:u}=(0,n.useApp)(),x=r.includes("epic")&&e.phase?(0,o.epicOf)(e.phase):null,p="todo"===e.status&&e.raw?(0,eE.latestReview)(e.raw):null,m=r.includes("size")?(0,o.sizeOf)(e):null,h="done"===e.status||"cancelled"===e.status,b=r.includes("deps")?e.dependsOn.match(/\bT\d+\b/g)??[]:[],f=r.includes("tests")?e.manualTests:null,g=p?.outcome==="changes requested";return(0,t.jsxs)("div",{draggable:!u,role:"button",tabIndex:0,"aria-label":`${e.id} ${e.title}`,"aria-pressed":i?l:void 0,onClick:e=>{i&&(e.shiftKey||e.metaKey||e.ctrlKey)?i():a()},onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a())},onDragStart:t=>{t.dataTransfer.setData("taskId",e.id),t.dataTransfer.effectAllowed="move",c(!0)},onDragEnd:()=>c(!1),style:{viewTransitionName:`task-${e.file.replace(/[^a-zA-Z0-9_-]/g,"_")}`},className:(0,y.cn)("group cursor-pointer rounded-lg border border-border bg-surface px-3 py-2.5 text-left outline-hidden","transition-[border-color,background-color,opacity,box-shadow] duration-(--duration-fast)","hover:border-border2 hover:bg-surface2/50 focus-visible:border-accent/60 focus-visible:shadow-[0_0_0_3px_rgb(var(--rgb-accent)/0.15)]",d&&"cursor-grabbing opacity-50",l&&"border-accent bg-accent/5 hover:border-accent"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e.id}),r.includes("agent")&&(0,t.jsx)(eI.AgentDot,{attach:{kind:"task",id:e.id}}),r.includes("owner")&&e.owner&&(0,t.jsx)(eT.TaskOwnerField,{task:e,children:(0,t.jsx)(eD.OwnerChip,{owner:e.owner,className:"text-[10px] [&_svg]:size-3"})}),(0,t.jsx)("span",{className:"flex-1"}),r.includes("due")&&e.due&&!h&&(0,t.jsx)(eT.TaskDueField,{task:e,children:(0,t.jsx)("span",{title:"Due",children:e.due.slice(5)})}),m&&(0,t.jsx)(eT.TaskSizeField,{task:e,children:(0,t.jsx)("span",{title:e.size,className:"rounded-sm bg-surface2 px-1 text-[10px]",children:m})}),!u&&(0,t.jsx)(eL,{task:e,onOpen:a})]}),(0,t.jsx)("p",{className:(0,y.cn)("mt-1 line-clamp-2 text-[13px] font-medium leading-snug",h?"text-muted":"text-txt"),children:e.title}),(x||g||b.length>0||f)&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-x-2 gap-y-1.5",children:[x&&(0,t.jsxs)("span",{className:"inline-flex min-w-0 max-w-full items-center gap-1 text-[11px] text-muted",title:e.phase,children:[x.id&&(0,t.jsx)("span",{className:"font-mono text-[10px]",children:x.id}),(0,t.jsx)("span",{className:"truncate",children:x.title})]}),g&&(0,t.jsxs)("span",{title:p?.note,className:"inline-flex items-center gap-1 rounded-sm border border-amber/40 bg-amber/5 px-1.5 py-0.5 text-[10px] text-amber",children:[(0,t.jsx)(ek.CornerUpLeft,{className:"size-3","aria-hidden":!0})," changes requested"]}),b.length>0&&(0,t.jsxs)("span",{title:`Depends on ${b.join(", ")}`,className:"inline-flex items-center gap-1 font-mono text-[10px] text-muted",children:[(0,t.jsx)(ew,{className:"size-3","aria-label":"Depends on"}),b.join(", ")]}),f&&(0,t.jsxs)(ev.default,{href:`/manual-tests#${e.id}`,draggable:!1,onClick:e=>e.stopPropagation(),title:`Manual tests: ${f.done} of ${f.total} ticked`,className:(0,y.cn)("inline-flex items-center gap-1 rounded-sm border px-1.5 py-0.5 font-mono text-[10px] transition-colors hover:border-accent/50",f.done===f.total?"border-teal/30 bg-teal/5 text-teal":"border-border text-muted"),children:[(0,t.jsx)(ey.FlaskConical,{className:"size-3","aria-hidden":!0}),f.done,"/",f.total]})]})]})}function eL({task:e,onOpen:s}){let{rootParam:a}=(0,n.useApp)(),r=e=>e.stopPropagation();return(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",draggable:!1,"aria-label":`Actions for ${e.id}`,onClick:r,onKeyDown:r,className:"-my-1 -mr-1 grid size-5 place-items-center rounded-sm text-muted opacity-0 transition-opacity hover:bg-surface2 hover:text-txt focus-visible:opacity-100 group-hover:opacity-100 data-[state=open]:opacity-100",children:(0,t.jsx)(eS.MoreHorizontal,{className:"size-3.5"})})}),(0,t.jsxs)(S.DropdownMenuContent,{align:"end",className:"w-40",onClick:r,onKeyDown:r,children:[(0,t.jsxs)(S.DropdownMenuItem,{onSelect:s,children:[(0,t.jsx)(eC,{})," Open"]}),(0,t.jsx)(S.DropdownMenuSeparator,{}),(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>{(0,ez.deleteTaskWithUndo)(e,a).catch(e=>(0,e$.toast)(e.message))},className:"text-danger focus:text-danger",children:[(0,t.jsx)(k.Trash2,{})," Delete"]})]})]})}let eF=["in-progress","review","todo","blocked","paused","done"],eA={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border"},eP=e=>"done"===e.status||"cancelled"===e.status,eq=(e,t)=>t.id.localeCompare(e.id,void 0,{numeric:!0}),e_=(e,t)=>e.filter(e=>(0,ej.displayStatus)(e)===t||"done"===t&&"cancelled"===e.status);function eU({tasks:e,state:a,onOpenTask:n,onMoveTask:r,selected:l,onToggleSelect:i}){let[d,c]=(0,s.useState)(!1),u=(0,G.useStatusDefs)(),x=(0,V.useStatusLabel)(),p=u.filter(e=>"cancelled"!==e.id).map(e=>e.id),h=[...u.filter(e=>"cancelled"!==e.id)].sort((e,t)=>eF.indexOf(e.category)-eF.indexOf(t.category)).map(e=>e.id),[b,f]=(0,s.useState)(!1),[g,j]=(0,s.useState)({}),[v,N]=(0,s.useState)(!1),[w,k]=(0,s.useState)(!1);if(0===e.length)return(0,t.jsxs)("div",{className:"grid place-items-center rounded-lg border border-dashed border-border px-4 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Remove a filter or clear the search to see more."})]});let S="none"===a.subGroup?null:(0,o.groupTasks)(e,a.subGroup),M="epic"===a.subGroup?a.properties.filter(e=>"epic"!==e):a.properties,C=e=>(0,t.jsx)(eR,{task:e,properties:M,onOpen:()=>n(e),selected:l?.has(e.id),onSelect:i&&(()=>i([e.id]))},e.id),z=S?.filter(e=>!e.tasks.every(eP))??[],D=S?.filter(e=>e.tasks.every(eP))??[],T=v?0:Math.max(0,D.length-4),$=[...z,...D.slice(0,D.length-T)],I="epic"===a.subGroup?"epics":"sizes",E=d||D.some(e=>g[e.key]),O=()=>{E?(c(!1),j(e=>Object.fromEntries(Object.entries(e).filter(([e])=>!D.some(t=>t.key===e))))):c(!0)},R={gridTemplateColumns:p.map(e=>("done"!==e||E)&&("paused"!==e||b)?"minmax(0,1fr)":"140px").join(" ")},L=(e,s)=>p.map(a=>{let l=e_(e,a);return(0,t.jsx)(eW,{status:a,onMoveTask:r,children:("done"!==a||E)&&("paused"!==a||b)?l.length?("done"===a?[...l].sort(eq):l).map(C):s&&!w?null:(0,t.jsx)("div",{className:"grid h-11 place-items-center rounded-lg border border-dashed border-border text-[11px] text-muted/70",children:s?"":"Drop a task here"}):(0,t.jsx)(eV,{tasks:l,noun:"done"===a?"done":"paused",compact:s,dragging:w,onOpenTask:n})},a)});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"hidden md:block",onDragStartCapture:()=>k(!0),onDragEndCapture:()=>k(!1),children:[(0,t.jsx)("div",{className:(0,y.cn)("grid gap-3 border-b border-border",S&&"pl-7.5"),style:R,children:p.map(s=>{let a;return(0,t.jsx)(eW,{status:s,onMoveTask:r,header:!0,children:(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5 px-0.5 pb-2 text-xs font-semibold text-txt",children:[(0,t.jsx)(V.StatusIcon,{status:s}),(0,t.jsx)("h2",{className:"truncate",children:x(s)}),(0,t.jsx)("span",{className:"font-mono font-normal text-muted tabular-nums",children:e_(e,s).length}),("done"===s||"paused"===s)&&(a="done"===s?E:b,(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("button",{type:"button",onClick:"done"===s?O:()=>f(e=>!e),"aria-expanded":a,"aria-label":`${a?"Collapse":"Expand"} ${x(s)}`,className:"-my-1 grid size-6 place-items-center rounded-md text-muted outline-hidden transition-colors duration-(--duration-fast) hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:(0,t.jsx)(eg.ChevronRight,{className:(0,y.cn)("size-3.5 transition-transform duration-(--duration-base) ease-out-soft",a&&"rotate-180"),"aria-hidden":!0})})]}))]})},s)})}),S?(0,t.jsxs)(t.Fragment,{children:[$.map(e=>{let s=e.tasks.every(eP),a=g[e.key]??!s,n=e.tasks.filter(eP).length;return(0,t.jsxs)("section",{"aria-label":e.epicId?`${e.epicId} ${e.label}`:e.label,children:[(0,t.jsxs)("button",{type:"button",onClick:()=>j(t=>({...t,[e.key]:!a})),"aria-expanded":a,className:"mt-1.5 flex h-8.5 w-full items-center gap-2.5 rounded-md px-1.5 text-left outline-hidden transition-colors duration-(--duration-fast) hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60",children:[a?(0,t.jsx)(m.ChevronDown,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}):(0,t.jsx)(eg.ChevronRight,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[13px] font-semibold text-txt",children:e.label}),(0,t.jsx)("span",{className:"flex w-30 shrink-0 gap-0.5","aria-hidden":!0,children:e.tasks.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-1 flex-1 rounded-full",eA[e.status])},e.id))}),(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted tabular-nums","aria-label":`${n} of ${e.tasks.length} done`,children:[(0,t.jsx)("span",{className:"text-txt",children:n}),"/",e.tasks.length]}),s&&(0,t.jsx)("span",{className:"text-xs text-muted",children:"all done"})]}),(0,t.jsx)("div",{className:(0,y.cn)("grid transition-[grid-template-rows,opacity] duration-(--duration-base) ease-out-soft",a?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:(0,t.jsx)("div",{className:"min-h-0 overflow-hidden",inert:!a,children:(0,t.jsx)("div",{className:"grid gap-3 pt-2 pb-1 pl-7.5",style:R,children:L(e.tasks,!0)})})})]},e.key)}),T>0&&(0,t.jsxs)("p",{className:"mt-2 ml-9 text-xs text-muted",children:["+ ",(0,t.jsx)("span",{className:"font-mono",children:T})," more ",I,", all done ·"," ",(0,t.jsx)("button",{type:"button",onClick:()=>N(!0),className:"rounded-sm text-txt underline decoration-accent underline-offset-2 outline-hidden hover:decoration-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:"Show"})]})]}):(0,t.jsx)("div",{className:"grid gap-3 pt-3",style:R,children:L(e,!1)})]}),(0,t.jsxs)("div",{className:"md:hidden",children:[e.every(eP)&&(0,t.jsx)("p",{className:"mt-3.5 text-sm text-muted",children:"Nothing open. Every task here is done."}),h.map(s=>{let a=e_(e,s);if(!a.length)return null;let n="done"===s&&!d||"paused"===s&&!b;return(0,t.jsxs)("section",{"aria-label":x(s),children:[(0,t.jsxs)("h2",{className:"mt-3.5 mb-2 flex items-center gap-1.5 text-xs font-semibold text-txt",children:[(0,t.jsx)(V.StatusIcon,{status:s}),x(s),(0,t.jsx)("span",{className:"font-mono font-normal text-muted tabular-nums",children:a.length}),(0,t.jsx)("span",{className:"h-px flex-1 bg-border"}),("done"===s||"paused"===s)&&(0,t.jsx)("button",{type:"button",onClick:()=>("done"===s?c:f)(e=>!e),"aria-expanded":!n,className:"min-h-11 rounded-md px-2 text-xs font-normal text-muted outline-hidden hover:text-txt focus-visible:ring-2 focus-visible:ring-accent/60",children:n?"Show":"Hide"})]}),!n&&(0,t.jsx)("div",{className:"flex flex-col gap-2",children:("done"===s?[...a].sort(eq):a).map(C)})]},s)})]})]})}function eW({status:e,onMoveTask:a,header:n=!1,children:r}){let[l,i]=(0,s.useState)(!1);return(0,t.jsx)("div",{"data-column":n?void 0:e,"data-column-header":n?e:void 0,className:(0,y.cn)("flex min-w-0 flex-col gap-2 rounded-lg",!n&&"min-h-11","transition-[background-color,box-shadow] duration-(--duration-fast)",l&&"bg-accent/5 shadow-[0_0_0_1px_rgb(var(--rgb-accent)/0.5)]"),onDragOver:e=>{e.preventDefault(),i(!0)},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||i(!1)},onDrop:t=>{t.preventDefault(),i(!1);let s=t.dataTransfer.getData("taskId");s&&a(s,e)},children:r})}function eV({tasks:e,noun:s,compact:a,dragging:n,onOpenTask:r}){if(!e.length)return a&&!n?null:(0,t.jsx)("div",{className:"grid h-11 place-items-center rounded-lg border border-dashed border-border text-[11px] text-muted/70",children:a?"":"Drop here"});let l=[...e].sort(eq).slice(0,5);return(0,t.jsxs)("div",{className:"flex flex-col gap-1 rounded-lg border border-dashed border-border2 px-2 py-1.5 text-[11px] text-muted",children:[(0,t.jsx)("span",{className:"flex flex-wrap gap-x-1.5 font-mono",children:l.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>r(e),title:e.title,className:"rounded-sm text-txt outline-hidden hover:text-accent focus-visible:ring-2 focus-visible:ring-accent/60",children:e.id},e.id))}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"font-mono",children:e.length})," ",s]})]})}var eG=e.i(479432),eH=e.i(837001),eK=e.i(818748),eB=e.i(692172);let eX=["status","epic","owner","size","due","deps","tests","agent"],eJ={status:"Status",epic:"Epic",size:"Size",due:"Due",deps:"Depends on",tests:"Tests",agent:"Agent",owner:"Owner"},eY={status:"w-[120px]",epic:"w-[170px]",size:"w-[56px]",due:"w-[92px]",deps:"w-[140px]",tests:"w-[72px]",agent:"w-[88px]",owner:"w-[104px]"},eZ=new Set(["epic","size","deps","tests","owner"]),eQ=new Set(["id","title","status","epic","size","due"]),e0={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border"},e1="font-mono text-[11px] text-muted",e2="focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent";function e5({tasks:e,state:a,agentTasks:n,onOpenTask:r,onSort:l,selected:i=new Set,onToggleSelect:d}){let c=(0,G.useStatusDefs)(),u=eX.filter(e=>a.properties.includes(e)),x="none"===a.group?[{key:"all",label:"All tasks",epicId:null,tasks:e}]:(0,o.groupTasks)(e,a.group,c),[p,m]=(0,s.useState)({}),h=(0,eB.localToday)();if(0===e.length)return(0,t.jsxs)("div",{className:"rounded-lg border border-border px-4 py-12 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Remove a filter or clear the search to see more."})]});let b=3+u.length,f=e.every(e=>i.has(e.id)),g=!f&&e.some(e=>i.has(e.id)),j=e=>eZ.has(e)?"hidden md:table-cell":"",v=(e,s,n="")=>{let r=a.sorts.findIndex(t=>t.prop===e),i=r>=0?a.sorts[r]:null;if(!eQ.has(e))return(0,t.jsx)("th",{scope:"col",className:(0,y.cn)("px-2.5 text-left font-medium",n),children:s},e);let o=i?.dir==="desc"?E.ArrowDown:O.ArrowUp;return(0,t.jsx)("th",{scope:"col","aria-sort":0===r?i?.dir==="desc"?"descending":"ascending":"none",className:(0,y.cn)("px-1 text-left font-medium",n),children:(0,t.jsxs)("button",{type:"button",title:"Click to sort · Shift-click to add a sort",onClick:t=>{var s,n;let r,i;return l((s=a.sorts,n=t.shiftKey,r=s.findIndex(t=>t.prop===e),i=e=>({prop:e.prop,dir:"asc"===e.dir?"desc":"asc"}),n?r<0?[...s,{prop:e,dir:"asc"}]:s.map((e,t)=>t===r?i(e):e):1===s.length&&0===r?[i(s[0])]:[{prop:e,dir:"asc"}]))},className:(0,y.cn)("inline-flex h-7 items-center gap-1 rounded-sm px-1.5 transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2 hover:text-txt",i&&"text-txt",e2),children:[s,i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o,{className:"size-3","aria-hidden":!0}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted",children:r+1})]})]})},e)},N=e=>{let s="done"===e.status||"cancelled"===e.status;return(0,t.jsxs)("tr",{onClick:t=>{t.target.closest("button")||r(e)},className:(0,y.cn)("h-9 cursor-pointer border-b border-border text-[13px] transition-colors duration-(--duration-fast) ease-out-soft last:border-b-0 hover:bg-surface2",i.has(e.id)&&"bg-accent/5"),children:[(0,t.jsx)("td",{className:"pl-3",onClick:e=>e.stopPropagation(),children:d&&(0,t.jsx)(e3,{label:`Select ${e.id}`,checked:i.has(e.id),onChange:()=>d([e.id])})}),(0,t.jsx)("td",{className:(0,y.cn)("px-2.5",e1),children:e.id}),(0,t.jsx)("td",{className:"min-w-0 px-1",children:(0,t.jsx)("button",{type:"button",onClick:()=>r(e),title:e.title,className:(0,y.cn)("block w-full truncate rounded-sm px-1.5 py-1 text-left font-medium",s?"text-muted":"text-txt",e2),children:e.title})}),u.map(s=>((e,s)=>{let a=(0,y.cn)("px-2.5",j(s));switch(s){case"status":return(0,t.jsx)("td",{className:a,children:(0,t.jsx)(eT.TaskStatusField,{task:e})},s);case"epic":{let n=(0,o.epicOf)(e.phase);return(0,t.jsx)("td",{className:a,children:n.id||n.title?(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",children:[n.id&&(0,t.jsx)("span",{className:e1,children:n.id}),(0,t.jsx)("span",{className:"truncate text-muted",children:n.title})]}):(0,t.jsx)("span",{className:e1,children:"—"})},s)}case"size":return(0,t.jsx)("td",{className:(0,y.cn)(a,e1),children:(0,t.jsx)(eT.TaskSizeField,{task:e})},s);case"owner":return(0,t.jsx)("td",{className:a,children:(0,t.jsx)(eT.TaskOwnerField,{task:e})},s);case"due":{let n=!!e.due&&"done"!==e.status&&"cancelled"!==e.status&&e.due<h;return(0,t.jsx)("td",{className:(0,y.cn)(a,e1),children:(0,t.jsx)(eT.TaskDueField,{task:e,children:(0,t.jsx)("span",{className:(0,y.cn)("font-mono text-[11px]",n?"text-amber":e.due?"text-muted":"text-muted/70"),children:e.due??"—"})})},s)}case"deps":{let n=e.dependsOn.match(/T\d+/g);return(0,t.jsx)("td",{className:(0,y.cn)(a,e1,"truncate"),children:n?n.join(", "):"—"},s)}case"tests":return(0,t.jsx)("td",{className:(0,y.cn)(a,e1),children:e.manualTests?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,t.jsx)(ey.FlaskConical,{className:"size-3","aria-hidden":!0}),e.manualTests.done,"/",e.manualTests.total]}):"—"},s);case"agent":return(0,t.jsx)("td",{className:a,children:n.has(e.id)?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-txt",children:[(0,t.jsx)(eG.Bot,{className:"size-3.5 text-accent","aria-hidden":!0}),"working"]}):(0,t.jsx)("span",{className:e1,children:"—"})},s)}})(e,s))]},e.id)};return(0,t.jsx)("div",{className:"overflow-x-auto rounded-lg border border-border",children:(0,t.jsxs)("table",{className:"w-full min-w-[580px] table-fixed border-collapse md:min-w-[760px]",children:[(0,t.jsxs)("colgroup",{children:[(0,t.jsx)("col",{className:"w-[34px]"}),(0,t.jsx)("col",{className:"w-[72px]"}),(0,t.jsx)("col",{className:"w-[200px] md:w-auto"}),u.map(e=>(0,t.jsx)("col",{className:(0,y.cn)(eY[e],eZ.has(e)&&"hidden md:table-column")},e))]}),(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"h-[34px] border-b border-border2 bg-bg text-[11px] text-muted",children:[(0,t.jsx)("th",{scope:"col",className:"pl-3 text-left",children:d&&(0,t.jsx)(e3,{label:"Select all shown tasks",checked:f,mixed:g,onChange:()=>d(e.map(e=>e.id),!f)})}),v("id","ID"),v("title","Title"),u.map(e=>v(e,eJ[e],j(e)))]})}),x.map(e=>{let s=e.tasks.filter(e=>"done"===e.status).length,n=e.tasks.length>0&&e.tasks.every(e=>"done"===e.status||"cancelled"===e.status),r="none"===a.group||(p[e.key]??!n);return(0,t.jsxs)("tbody",{children:["none"!==a.group&&(0,t.jsx)("tr",{className:"h-[38px] border-b border-border bg-surface",children:(0,t.jsx)("th",{scope:"rowgroup",colSpan:b,className:"p-0 text-left font-normal",children:(0,t.jsxs)("button",{type:"button","aria-expanded":r,onClick:()=>m(t=>({...t,[e.key]:!r})),className:(0,y.cn)("flex h-[38px] w-full items-center gap-2.5 px-2 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e2),children:[(0,t.jsx)(eg.ChevronRight,{className:(0,y.cn)("size-3.5 shrink-0 text-muted transition-transform duration-(--duration-fast) ease-out-soft",r&&"rotate-90"),"aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:e1,children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[13px] font-semibold text-txt",children:e.label}),(0,t.jsx)("span",{className:"flex w-[110px] shrink-0 gap-0.5","aria-hidden":!0,children:e.tasks.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-1 flex-1 rounded-full",e0[e.status])},e.id))}),(0,t.jsxs)("span",{className:e1,children:[(0,t.jsx)("span",{className:"text-txt",children:s}),"/",e.tasks.length]})]})})}),r&&e.tasks.map(N)]},e.key)})]})})}function e3({label:e,checked:s,mixed:a=!1,onChange:n}){return(0,t.jsxs)("span",{className:"relative inline-flex size-4 align-middle",children:[(0,t.jsx)("input",{type:"checkbox","aria-label":e,checked:s,ref:e=>{e&&(e.indeterminate=a)},onChange:n,className:(0,y.cn)("peer size-4 cursor-pointer appearance-none rounded-sm border border-muted bg-bg transition-colors duration-(--duration-fast)","checked:border-accent checked:bg-accent hover:border-txt focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",a&&"border-accent")}),a?(0,t.jsx)(eK.Minus,{strokeWidth:3,className:"pointer-events-none absolute inset-0.5 size-3 text-accent","aria-hidden":!0}):(0,t.jsx)(eH.Check,{strokeWidth:3,className:"pointer-events-none absolute inset-0.5 size-3 text-accent-fg opacity-0 peer-checked:opacity-100","aria-hidden":!0})]})}let e4={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};e4.node;let e8=(0,d.default)(e4),e6="focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",e7={todo:"bg-border2","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",done:"bg-teal",cancelled:"bg-border2"},e9=e=>parseInt(e.replace(/\D/g,""),10)||0,te=(e,t)=>e9(e.id)-e9(t.id),tt=e=>e.dependsOn.match(/T\d+/g)??[];function ts({tasks:e,allTasks:a,agentTasks:n,onOpenTask:r}){let[l,i]=(0,s.useState)(new Set),[d,c]=(0,s.useState)(!1),u=(0,s.useMemo)(()=>new Map(a.map(e=>[e.id,e])),[a]),x=(0,s.useMemo)(()=>(0,o.groupTasks)(e,"epic"),[e]),{firstReady:p,upNext:m}=(0,s.useMemo)(()=>{let e=new Set,t=[],s=[];for(let a of x){let n=[...a.tasks].sort(te),r=n.filter(e=>(0,o.isReady)(e,u));for(let a of(r[0]&&e.add(r[0].id),t.push(...r),n)){if("todo"!==a.status&&"blocked"!==a.status)continue;let e=tt(a).filter(e=>u.get(e)?.status!=="done");1===e.length&&s.push({task:a,on:e[0]})}}return{firstReady:e,upNext:[...t.map(e=>({task:e,on:null})),...s].slice(0,5)}},[x,u]);if(0===e.length)return(0,t.jsxs)("div",{className:"px-8 py-16 text-center",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Clear a filter or the search to see more epics."})]});let h=e=>i(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s}),b=0,f=[],g=x.map(e=>{let s=function(e){if(e.some(e=>"in-progress"===e.status||"review"===e.status))return"in-progress";let t=e.filter(e=>"done"!==e.status&&"cancelled"!==e.status);return t.length>0&&t.every(e=>"blocked"===e.status)?"blocked":e.length>0&&e.every(e=>"done"===e.status)?"done":"todo"}(e.tasks);return"done"!==s||l.has(e.key)?(0,t.jsx)(tr,{group:e,status:s,collapsible:"done"===s,onCollapse:()=>h(e.key),firstReady:p,agentTasks:n,onOpenTask:r},e.key):++b>3&&!d?(f.push(e),null):(0,t.jsx)(tn,{group:e,onExpand:()=>h(e.key)},e.key)});return(0,t.jsxs)("div",{className:"grid gap-6 px-4 pt-[18px] pb-8 sm:px-8 lg:grid-cols-[minmax(0,1fr)_280px]",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3.5",children:[g,f.length>0&&(0,t.jsxs)("p",{className:"mx-0.5 text-xs text-muted",children:["+ ",(0,t.jsx)("span",{className:"font-mono",children:f.slice(0,3).map(e=>e.epicId??e.label).join(", ")}),f.length>3&&(0,t.jsxs)(t.Fragment,{children:[" and ",(0,t.jsx)("span",{className:"font-mono",children:f.length-3})," more"]}),", all done ·"," ",(0,t.jsx)("button",{type:"button",onClick:()=>c(!0),className:(0,y.cn)("rounded-sm text-txt underline decoration-accent underline-offset-2 hover:decoration-txt",e6),children:"Show"})]})]}),(0,t.jsxs)("aside",{"aria-label":"Up next",className:"flex flex-col gap-2.5 lg:pt-1",children:[(0,t.jsx)("p",{className:"text-xs font-semibold text-txt",children:"Up next"}),0===m.length&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Nothing is ready right now."}),m.map(({task:e,on:s})=>(0,t.jsxs)("button",{type:"button",onClick:()=>r(e),className:(0,y.cn)("flex flex-col gap-1.5 rounded-lg border border-border bg-surface px-[11px] py-[9px] text-left transition-colors duration-(--duration-fast) ease-out-soft hover:border-border2",s&&"opacity-90",e6),children:[(0,t.jsxs)("span",{className:(0,y.cn)("flex items-center gap-1.5 text-xs",s?"text-muted":"text-txt"),children:[(0,t.jsx)(V.StatusIcon,{status:e.status}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),s?(0,t.jsxs)(t.Fragment,{children:["Waiting on ",(0,t.jsx)("span",{className:"font-mono",children:s})]}):"Ready"]}),(0,t.jsx)("span",{className:"text-[13px] font-medium text-txt",children:e.title})]},e.id)),(0,t.jsxs)("p",{className:"mt-1.5 text-[11px] leading-normal text-muted",children:["Same order as ",(0,t.jsx)("span",{className:"font-mono",children:"vibedoc_next_task"}),": a task is ready when everything it depends on is done."]})]})]})}function ta({tasks:e}){let s=e.filter(e=>"done"===e.status).length;return(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{className:"text-txt",children:s}),"/",e.length]})}function tn({group:e,onExpand:s}){return(0,t.jsxs)("button",{type:"button","aria-expanded":!1,onClick:s,className:(0,y.cn)("flex h-10 items-center gap-3 rounded-lg border border-border bg-surface px-4 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e6),children:[(0,t.jsx)(eg.ChevronRight,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"min-w-0 truncate text-sm font-medium text-muted",children:e.label}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(V.StatusIcon,{status:"done"}),(0,t.jsx)(ta,{tasks:e.tasks})]})}function tr({group:e,status:a,collapsible:n,onCollapse:r,firstReady:l,agentTasks:i,onOpenTask:d}){let c=(0,s.useMemo)(()=>(0,o.depOutline)(e.tasks),[e.tasks]),u=V.STATUS_META[a],x=[...e.tasks].sort(te);return(0,t.jsxs)("section",{className:"flex flex-col gap-2.5 rounded-lg border border-border bg-surface px-3.5 pt-3.5 pb-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-1 px-0.5",children:[e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("h2",{className:"m-0 min-w-0 text-[1.1rem] font-semibold text-txt",children:e.label}),(0,t.jsxs)("span",{className:(0,y.cn)("inline-flex items-center gap-1.5 self-center text-xs",u.text),children:[(0,t.jsx)(V.StatusIcon,{status:a}),u.label]}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)(ta,{tasks:e.tasks}),n&&(0,t.jsx)("button",{type:"button","aria-expanded":!0,onClick:r,className:(0,y.cn)("self-center rounded-sm text-xs text-muted hover:text-txt",e6),children:"Collapse"})]}),(0,t.jsx)("div",{className:"flex gap-[3px] px-0.5","aria-hidden":!0,children:x.map(e=>(0,t.jsx)("span",{className:(0,y.cn)("h-[5px] flex-1 rounded-full",e7[e.status])},e.id))}),(0,t.jsx)("ul",{className:"flex flex-col",children:c.map(({task:e,depth:s,alsoAfter:a})=>{let n="done"===e.status,r=(0,o.sizeOf)(e);return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>d(e),style:{paddingLeft:16+26*s},className:(0,y.cn)("relative flex h-[38px] w-full items-center gap-2.5 rounded-md pr-3 text-left transition-colors duration-(--duration-fast) ease-out-soft hover:bg-surface2",e6),children:[s>0&&(0,t.jsx)("span",{"aria-hidden":!0,style:{left:2+26*s},className:"absolute top-0 bottom-1/2 w-2.5 rounded-bl-md border-b border-l border-border2"}),(0,t.jsx)(V.StatusIcon,{status:e.status}),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:(0,y.cn)("min-w-0 truncate text-[13.5px] font-medium",n?"text-muted":"text-txt"),children:e.title}),a.length>0&&(0,t.jsxs)("span",{className:"hidden shrink-0 font-mono text-[10px] text-muted sm:inline",children:["also after ",a.join(", ")]}),l.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex h-5 shrink-0 items-center gap-1 rounded-sm border border-accent px-[7px] text-[11px] text-txt",children:[(0,t.jsx)(e8,{className:"size-2.5 text-accent","aria-hidden":!0}),"Ready · next for the agent"]}),i.has(e.id)&&(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 text-[11px] text-txt",children:[(0,t.jsx)(eG.Bot,{className:"size-3 text-accent","aria-hidden":!0}),"working"]}),(0,t.jsx)("span",{className:"flex-1"}),r&&(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted",children:r})]})},e.id)})})]})}let tl=[{value:"active",label:"Active time"},{value:"day",label:"Day"},{value:"week",label:"Week"}],ti=e=>new Date(e).toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1}),to=e=>new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"}),td=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()};function tc(e){let t=Math.round(e/6e4);if(t<60)return`${t}m`;let s=Math.floor(t/60);return s>=24?`${Math.round(t/60)}h`:t%60?`${s}h ${t%60}m`:`${s}h`}function tu(e,t){for(let s of e)if(t>=s.startMs&&t<=s.endMs){let e=s.endMs-s.startMs||1;return s.x+(t-s.startMs)/e*s.width}return null}function tx({tasks:e,state:a,agentTasks:n,onOpenTask:r,events:l,loading:i,onScale:d}){let c=function(e=3e4){let[t,a]=(0,s.useState)(()=>Date.now());return(0,s.useEffect)(()=>{let t=setInterval(()=>a(Date.now()),e);return()=>clearInterval(t)},[e]),t}(),u=a.scale,x=(0,s.useMemo)(()=>(0,o.timelineBars)(e,l,c),[e,l,c]),p=(0,s.useMemo)(()=>(function(e,t,s){if(!e.length)return[];if("active"===t){let t=0;return(0,o.foldAxis)(e,18e5).map((e,s)=>{s>0&&(t+=56);let a=Math.max(170,(e.endMs-e.startMs)/6e4*2.2),n={...e,x:t,width:a};return t+=a,n})}let a=Math.min(...e.map(e=>e.startMs)),n=Math.max(...e.map(e=>e.endMs),e.some(e=>e.open)?s:0),r=td(a),l=td(n)+864e5;return[{startMs:r,endMs:l,x:0,width:(l-r)*("day"===t?11111111111111112e-21:1388888888888889e-21)}]})(x,u,c),[x,u,c]),m=(0,s.useMemo)(()=>(function(e,t){let s=[];for(let a of e){let e=a.endMs-a.startMs,n="week"===t?864e5:"day"===t?216e5:e<=108e5?18e5:e<=288e5?36e5:108e5,r="active"===t?Math.ceil(a.startMs/n)*n:a.startMs;for(let e=r;e<=a.endMs;e+=n){let n=tu([a],e);null!=n&&s.push({x:n,label:"week"===t?to(e):"day"===t?"00:00"===ti(e)?to(e):ti(e):null})}}return s})(p,u),[p,u]),h=(0,s.useMemo)(()=>{let t=new Map(x.map(e=>[e.taskId,e]));return(0,o.groupTasks)(e,a.group).map(e=>{let s=e.tasks.filter(e=>t.has(e.id)).map(e=>({task:e,bar:t.get(e.id)})).sort((e,t)=>e.bar.startMs-t.bar.startMs),a=e.tasks.filter(e=>!t.has(e.id)&&"done"!==e.status&&"cancelled"!==e.status),n=(0,o.depOutline)(a).map(e=>e.task),r=!n.length&&e.tasks.every(e=>"done"===e.status||"cancelled"===e.status);return{group:e,worked:s,planned:n,compact:r}}).filter(e=>e.worked.length||e.planned.length)},[e,x,a.group]),b=p.length?p[p.length-1].x+p[p.length-1].width:0,f=b+200,g=tu(p,c),j=p.length?p[p.length-1].x:null,v=(0,s.useRef)(null),N=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=v.current;if(!e||null==j||N.current===u)return;N.current=u;let t=e.querySelector("[data-gutter]")?.offsetWidth??0;e.scrollLeft=null!=g?g-(e.clientWidth-t)/2:Math.min(e.scrollWidth-e.clientWidth,j-16)},[g,u,j]);let w=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-muted max-sm:hidden",children:"Scale"}),(0,t.jsx)("div",{role:"group","aria-label":"Timeline scale",className:"flex rounded-md border border-border p-0.5",children:tl.map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":u===e.value,onClick:()=>d(e.value),className:(0,y.cn)("h-6 rounded-[5px] border border-transparent px-2.5 text-xs font-medium text-muted outline-none transition-colors duration-(--duration-fast) ease-out-soft","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",u===e.value&&"border-border2 bg-surface2 text-txt"),children:e.label},e.value))}),"active"===u&&(0,t.jsx)("span",{className:"ml-2 text-xs text-muted max-sm:hidden",children:"Idle gaps folded"})]});if(!e.length)return(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),(0,t.jsxs)("div",{className:"rounded-lg border border-dashed border-border px-6 py-10 text-center",children:[(0,t.jsx)("p",{className:"text-sm text-txt",children:"No tasks match these filters."}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted",children:"Clear a filter or the search to see more of the timeline."})]})]});if(i&&!l.length)return(0,t.jsxs)("div",{className:"flex flex-col gap-4","aria-busy":"true","aria-label":"Loading timeline",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),[0,1,2].map(e=>(0,t.jsxs)("div",{className:"flex gap-4 border-b border-border pb-4",children:[(0,t.jsx)("div",{className:"h-9 w-[200px] animate-pulse rounded bg-surface2"}),(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1.5 pt-1",children:[(0,t.jsx)("div",{className:"h-3.5 w-1/3 animate-pulse rounded-sm bg-surface2",style:{marginLeft:`${10+15*e}%`}}),(0,t.jsx)("div",{className:"h-3.5 w-1/5 animate-pulse rounded-sm bg-surface2",style:{marginLeft:`${30+10*e}%`}})]})]},e))]});let k=e.some(e=>e.due);return(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsx)("div",{className:"flex justify-end",children:w}),!x.length&&(0,t.jsx)("p",{className:"text-sm text-muted",children:"No task moves in the activity log yet — bars appear once tasks move to In progress."}),(0,t.jsx)("div",{ref:v,className:"min-w-0 overflow-x-auto overscroll-x-contain",children:(0,t.jsxs)("div",{className:(0,y.cn)("relative","[--gw:110px] sm:[--gw:220px]"),style:{width:`calc(var(--gw) + ${f}px)`},children:[(0,t.jsxs)("div",{className:"flex",style:{height:36},children:[(0,t.jsx)("div",{"data-gutter":!0,className:"sticky left-0 z-20 w-(--gw) shrink-0 bg-bg"}),(0,t.jsxs)("div",{className:"relative",style:{width:f},children:[p.map((e,s)=>(0,t.jsxs)("div",{children:["active"===u&&(0,t.jsx)("div",{className:"absolute bottom-0 truncate border-b border-border2 font-mono text-[11px] text-txt",style:{left:e.x,width:e.width,height:28},children:to(e.startMs)===to(e.endMs)?`${to(e.startMs)} \xb7 ${ti(e.startMs)}–${ti(e.endMs)}`:`${to(e.startMs)} ${ti(e.startMs)} – ${to(e.endMs)} ${ti(e.endMs)}`}),"active"===u&&s>0&&(0,t.jsx)("span",{className:"absolute bottom-0 flex justify-center font-mono text-[10px] whitespace-nowrap text-muted",style:{left:e.x-56,width:56,height:28},title:`Idle gap of ${tc(e.startMs-p[s-1].endMs)} folded`,children:tc(e.startMs-p[s-1].endMs)})]},e.startMs)),"active"!==u&&p.length>0&&(0,t.jsx)("div",{className:"absolute bottom-0 border-b border-border2",style:{left:0,width:b,height:28},children:m.map(e=>e.label&&(0,t.jsx)("span",{className:"absolute top-0 pl-1 font-mono text-[11px] whitespace-nowrap text-txt",style:{left:e.x},children:e.label},e.x))}),null!=g&&(0,t.jsx)("span",{className:"absolute top-0 z-10 -translate-x-1/2 rounded bg-accent px-1.5 py-0.5 font-mono text-[10px] text-accent-fg",style:{left:g},children:ti(c)})]})]}),h.map(({group:e,worked:s,planned:a,compact:l},i)=>{let o=Math.max(52,(l?1:s.length+a.length)*20+20),d=(s.reduce((e,t)=>{let s=tu(p,t.bar.endMs);return null==s?e:Math.max(e??0,s)},null)??g??0)+8;return(0,t.jsxs)("section",{className:"flex border-b border-border","aria-label":e.epicId?`${e.epicId} ${e.label}`:e.label,children:[(0,t.jsxs)("div",{className:"sticky left-0 z-20 flex w-(--gw) shrink-0 flex-col gap-0.5 bg-bg py-2.5 pr-2 sm:pr-4",children:[e.epicId&&(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.epicId}),(0,t.jsx)("span",{className:"line-clamp-2 text-[13px] leading-tight font-semibold text-txt sm:line-clamp-none",title:e.label,children:e.label})]}),(0,t.jsxs)("div",{className:"relative",style:{width:f,height:o},children:[m.map(e=>(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 w-px bg-border opacity-60",style:{left:e.x}},e.x)),"active"===u&&p.slice(1).map(e=>(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 border-l border-dashed border-border2",style:{left:e.x-28}},e.startMs)),null!=g&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-y-0 z-10 w-px bg-accent",style:{left:g}}),s.map(({task:e,bar:s},a)=>{var o;let d,c=tu(p,s.startMs)??0,u=Math.max(4,(tu(p,s.endMs)??c)-c),x=10+(l?0:a)*20,m=n.has(e.id),h=s.open&&"in-progress"===s.status,b=h?`${e.id} \xb7 in progress since ${ti(s.startMs)}`:s.open?`${e.id} \xb7 ${V.STATUS_META[s.status].label.toLowerCase()}, first moved ${to(s.startMs)} ${ti(s.startMs)}`:`${e.id} \xb7 worked ${to(s.startMs)} ${ti(s.startMs)}–${ti(s.endMs)}`,f=(o=e.due,(d=o?.match(/^(\d{4})-(\d{2})-(\d{2})$/))?new Date(Number(d[1]),Number(d[2])-1,Number(d[3])).getTime():null),g=null==f?null:tu(p,f);return(0,t.jsxs)("div",{children:[(0,t.jsx)("button",{type:"button",title:`${b} — ${e.title}`,"aria-label":`${b} — ${e.title}`,onClick:()=>r(e),className:(0,y.cn)("absolute h-3.5 origin-left animate-grow-x rounded-[3px] outline-none transition-opacity duration-(--duration-fast) ease-out-soft hover:opacity-80","focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-1 focus-visible:ring-offset-bg",h?"bg-amber":"done"===s.status?"bg-teal":"bg-border2"),style:{left:c,width:u,top:x+3,animationDelay:`${Math.min(40*i,240)}ms`}}),!l&&(0,t.jsxs)("span",{className:(0,y.cn)("pointer-events-none absolute font-mono text-[10px] leading-[14px] whitespace-nowrap",h?"text-txt":"text-muted"),style:{left:c+u+6,top:x+3},children:[e.id,h&&(m?" · agent working":" · in progress")]}),null!=g&&(0,t.jsx)(tp,{x:g,top:x+3,due:e.due})]},e.id)}),a.map((e,a)=>{let n=10+(s.length+a)*20;return(0,t.jsxs)("button",{type:"button",onClick:()=>r(e),title:`${e.id} \xb7 planned — ${e.title}`,"aria-label":`${e.id} \xb7 planned — ${e.title}`,className:"group absolute flex items-center gap-1.5 rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-accent",style:{left:d,top:n+3},children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-3.5 w-6 rounded-[3px] border border-dashed border-muted transition-colors duration-(--duration-fast) group-hover:border-txt"}),(0,t.jsxs)("span",{className:"font-mono text-[10px] leading-[14px] whitespace-nowrap text-txt",children:[e.id," · planned"]})]},e.id)})]})]},e.key)})]})}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 text-[11px] text-muted",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm bg-teal"}),"Worked: first move to In progress → Done (activity log)"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm bg-amber"}),"In progress now"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"h-2 w-[18px] rounded-sm border border-dashed border-muted"}),"Planned: queued in dependency order"]}),(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"size-2.5 rotate-45 border border-txt"}),k?"Due date":"Due date (none set in these tasks)"]})]})]})}function tp({x:e,top:s,due:a}){return(0,t.jsx)("span",{role:"img","aria-label":`Due ${a}`,title:`Due ${a}`,className:"absolute size-2.5 -translate-x-1/2 rotate-45 border border-txt bg-bg",style:{left:e,top:s+2}})}let tm={name:"chevron-up",size:24,node:[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]};tm.node;let th=(0,d.default)(tm);var tb=e.i(246978),tf=e.i(903763);async function tg(e,t){let s=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json().catch(()=>null);if(!s.ok)throw Error(a?.error??`Request failed (${s.status})`);return a}let tj="inline-flex h-8 items-center gap-1.5 rounded-md px-2.5 text-xs text-txt hover:bg-surface transition-colors";function tv({ids:e,onClear:a}){let{rootParam:r}=(0,n.useApp)(),[l,i]=(0,s.useState)([]),[o,d]=(0,s.useState)(!1),[c,u]=(0,s.useState)(!1),x=(0,G.useStatusDefs)();async function p(t,s){d(!0);try{let n=await tg(`/api/tasks/bulk${r}`,{ids:e,action:t});a(),s?.(n)}catch(e){(0,e$.toast)(e.message)}finally{d(!1)}}(0,s.useEffect)(()=>{fetch(`/api/roadmap${r}`).then(e=>e.ok?e.json():null).then(e=>i((e?.items??[]).filter(e=>null!==e.parent&&"done"!==e.status))).catch(()=>i([]))},[r]);let m=()=>p({delete:!0},({deleted:e})=>{(0,e$.undoToast)(`Deleted ${e.length} task${1===e.length?"":"s"}`,async()=>{for(let{task:t,links:s}of[...e].reverse())await tg(`/api/tasks/restore${r}`,{file:t.file,raw:t.raw,links:s})})});return(0,tf.useItemCommands)(`${e.length} selected task${1===e.length?"":"s"}`,[{action:"status",label:"Change status…",run:()=>u(!0)},{action:"remove",label:`Delete ${e.length} task${1===e.length?"":"s"}`,run:m}]),(0,t.jsxs)("div",{role:"toolbar","aria-label":"Bulk actions",className:"fixed bottom-6 left-1/2 z-50 flex -translate-x-1/2 animate-slide-in items-center gap-1 rounded-lg border border-border bg-surface2 p-1 pl-3 shadow-xl",children:[(0,t.jsxs)("span",{className:"mr-1 font-mono text-xs tabular-nums text-txt",children:[e.length," selected"]}),(0,t.jsxs)(S.DropdownMenu,{open:c,onOpenChange:u,children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:o,className:tj,children:["Status ",(0,t.jsx)(th,{className:"size-3.5 text-muted"})]})}),(0,t.jsx)(S.DropdownMenuContent,{side:"top",className:"w-44",children:x.map(e=>(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>p({status:e.id}),children:[(0,t.jsx)(V.StatusIcon,{status:e.id})," ",e.label]},e.id))})]}),(0,t.jsxs)(S.DropdownMenu,{children:[(0,t.jsx)(S.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button",disabled:o,className:tj,children:[(0,t.jsx)(tb.FolderInput,{className:"size-3.5 text-muted"})," Epic ",(0,t.jsx)(th,{className:"size-3.5 text-muted"})]})}),(0,t.jsxs)(S.DropdownMenuContent,{side:"top",className:"max-h-72 w-64 overflow-y-auto",children:[l.map(e=>(0,t.jsxs)(S.DropdownMenuItem,{onSelect:()=>p({epic:e.id}),children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id})," ",(0,t.jsx)("span",{className:"truncate",children:e.title})]},e.id)),l.length>0&&(0,t.jsx)(S.DropdownMenuSeparator,{}),(0,t.jsx)(S.DropdownMenuItem,{onSelect:()=>p({epic:null}),children:"No epic"})]})]}),(0,t.jsxs)("button",{type:"button",disabled:o,onClick:m,className:`${tj} text-danger hover:text-danger`,children:[(0,t.jsx)(k.Trash2,{className:"size-3.5"})," Delete"]}),(0,t.jsx)("button",{type:"button","aria-label":"Clear selection",onClick:a,className:"grid size-8 place-items-center rounded-md text-muted hover:bg-surface hover:text-txt",children:(0,t.jsx)(W.X,{className:"size-4"})})]})}let tN=o.DEFAULT_VIEWS.map(e=>e.id),tw=["view","g","sg","s","f","q","p","sc"];function tk(e){let t=o.DEFAULT_VIEWS.find(t=>t.id===e.id);return!!t&&(e.name!==t.name||(0,o.isDirty)((({id:e,name:t,...s})=>s)(e),t))}function ty({tasks:e,onMoveTask:d,onOpenTask:c,onNewTask:u}){let{rootParam:x,demo:p}=(0,n.useApp)(),{agents:m}=(0,l.useChats)(),h=(0,a.useSearchParams)(),[b,f]=(0,s.useState)(o.DEFAULT_VIEWS),[g,j]=(0,s.useState)(!1),[v,N]=(0,s.useState)([]),[w,k]=(0,s.useState)(!1),[y,S]=(0,s.useState)(new Set),M=(0,s.useCallback)(()=>{fetch(`/api/views${x}`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{var t;let s;return f((s=new Map((t=e.views??[]).map(e=>[e.id,e])),[...o.DEFAULT_VIEWS.map(e=>s.get(e.id)??e),...t.filter(e=>!tN.includes(e.id))]))}).catch(e=>console.warn("[vibedoc] could not load views:",e))},[x]);(0,s.useEffect)(()=>{M();let e=e=>{e.detail?.type==="views_updated"&&M()};return window.addEventListener("vibedoc:sse",e),()=>window.removeEventListener("vibedoc:sse",e)},[M]);let C=(0,s.useCallback)(e=>{f(e),p||fetch(`/api/views${x}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:e.filter(e=>!tN.includes(e.id)||tk(e))})}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`)}).catch(e=>{console.warn("[vibedoc] could not save views:",e),M()})},[x,M,p]),z=h.get("v"),D=tw.some(e=>h.has(e)),T=h.toString(),I=(0,s.useMemo)(()=>(0,o.fromParams)(new URLSearchParams(T)),[T]),E=b.find(e=>e.id===z)??b.find(e=>e.id===I.kind)??b[0],O=(0,s.useMemo)(()=>D?I:(({id:e,name:t,...s})=>s)(E),[D,I,E]),R=(0,o.isDirty)(O,E),L=(0,s.useCallback)((e,t)=>{let s=new URLSearchParams(window.location.search);for(let e of[...tw,"v"])s.delete(e);if(s.set("v",e),t){let e=(0,o.toParams)(t);[...e.keys()].length||e.set("view",t.kind),e.forEach((e,t)=>s.set(t,e))}window.history.replaceState(null,"",`${window.location.pathname}?${s}`)},[]),F=e=>L(E.id,e),A=(0,s.useCallback)(e=>{j(!1);let t=b.find(t=>t.id===e)?.kind,s=document.querySelector("[data-board-view]");t&&s&&"startViewTransition"in document?document.startViewTransition(()=>new Promise(a=>{let n=()=>{r.disconnect(),clearTimeout(l),a()},r=new MutationObserver(()=>{s.dataset.boardView===t&&n()}),l=setTimeout(n,300);r.observe(s,{attributes:!0,attributeFilter:["data-board-view"]}),L(e,null),s.dataset.boardView===t&&n()})):L(e,null)},[L,b]),P=e=>{let t,s=(t=e,`${t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,30)||"view"}-${Math.random().toString(36).slice(2,6)}`);C([...b,{...O,q:"",id:s,name:e}]),L(s,null)},q=(0,s.useMemo)(()=>new Set(Object.keys(m).filter(e=>e.startsWith("task:")).map(e=>e.slice(5))),[m]),_=(0,s.useMemo)(()=>(0,o.applyView)(e,O,{agentTasks:q}),[e,O,q]),U=(0,s.useMemo)(()=>{let t=new Map;for(let s of e){let e=(0,o.epicOf)(s.phase);if(!e.id)continue;let a=t.get(e.id)??{id:e.id,title:e.title,open:!1};a.title||(a.title=e.title),"done"!==s.status&&"cancelled"!==s.status&&(a.open=!0),t.set(e.id,a)}return[...t.values()].sort((e,t)=>e.id.localeCompare(t.id,void 0,{numeric:!0}))},[e]),W="timeline"===O.kind;(0,s.useEffect)(()=>{if(!W)return;let e=!0,t=()=>{k(!0),fetch(`/api/activity${x}&limit=2000`).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(t=>{e&&N(Array.isArray(t)?t:[])}).catch(e=>console.warn("[vibedoc] could not load activity:",e)).finally(()=>{e&&k(!1)})},s=e=>{let s=e.detail?.type;"chat_saved"!==s&&"views_updated"!==s&&t()};return t(),window.addEventListener("vibedoc:sse",s),()=>{e=!1,window.removeEventListener("vibedoc:sse",s)}},[W,x]);let V=b.map(e=>e.id).join(","),G=E.id;(0,s.useEffect)(()=>{function e(e){if(!(0,i.shouldHandleShortcut)(e)||document.querySelector("[role=dialog]"))return;let t=Number(e.key),s=V.split(",");if("v"===e.key)A(s[(s.indexOf(G)+1)%s.length]);else if(t>=1&&t<=4)A(tN[t-1]);else if("f"===e.key)j(!0);else{if("n"!==e.key||p)return;u()}e.preventDefault()}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[V,G,A,u,p]);let H=(0,s.useMemo)(()=>new Set(_.map(e=>e.id).filter(e=>y.has(e))),[_,y]),K=(0,s.useCallback)((e,t)=>S(s=>{let a=new Set(s);for(let s of e)t??!a.has(s)?a.add(s):a.delete(s);return a}),[]),B=(0,s.useCallback)(()=>S(new Set),[]);(0,s.useEffect)(()=>{if(0===H.size)return;let e=e=>{"Escape"!==e.key||document.querySelector("[role=dialog],[role=menu]")||B()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[H.size,B]);let X=(...t)=>e.filter(e=>t.includes(e.status)).length,J={tasks:_,allTasks:e,state:O,agentTasks:q,onOpenTask:c,selected:H,onToggleSelect:p?void 0:K};return(0,t.jsxs)("div",{className:"flex min-w-0 flex-col",children:[(0,t.jsxs)("header",{className:"flex items-end gap-6 px-4 pt-8 sm:px-8",children:[(0,t.jsxs)("div",{className:"min-w-0 grow",children:[(0,t.jsx)("h1",{className:"text-[1.6rem] leading-tight font-semibold tracking-[-0.02em] text-txt",children:"Board"}),(0,t.jsxs)("p",{className:"mt-2 text-[1.1rem] leading-snug font-semibold text-txt",children:[(0,t.jsx)("span",{className:"font-mono tabular-nums",children:X("todo","in-progress","review","blocked")})," open ·"," ",(0,t.jsx)("span",{className:"font-mono tabular-nums",children:X("in-progress")})," in progress"," ",(0,t.jsxs)("span",{className:"font-normal text-muted",children:["· ",(0,t.jsx)("span",{className:"font-mono tabular-nums",children:X("done")})," done"]})]})]}),!p&&(0,t.jsxs)("button",{type:"button",onClick:u,className:"inline-flex h-8.5 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md bg-accent px-3 text-[13px] font-medium text-accent-fg transition-colors duration-(--duration-fast) ease-out-soft hover:bg-accent/90 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 focus-visible:ring-offset-bg",children:[(0,t.jsx)(r.Plus,{"aria-hidden":!0,className:"size-[15px]"}),"New task",(0,t.jsx)("kbd",{className:"rounded-sm border border-accent-fg/25 bg-accent-fg/15 px-1 py-0.5 font-mono text-[10px] leading-none max-sm:hidden",children:"n"})]})]}),(0,t.jsx)("div",{className:"mt-[18px] px-4 sm:px-8",children:(0,t.jsx)($,{views:b,activeId:G,onSelect:A,onNew:()=>P("New view"),onRename:(e,t)=>C(b.map(s=>s.id===e?{...s,name:t}:s)),onDelete:e=>{let t=b.find(t=>t.id===e);return!!t&&!!window.confirm(`Delete the view "${t.name}"? Tasks are not affected.`)&&(C(b.filter(t=>t.id!==e)),E.id===e&&L(t.kind,null),!0)},customizedIds:b.filter(tk).map(e=>e.id),onRestore:e=>{let t=o.DEFAULT_VIEWS.find(t=>t.id===e);t&&(C(b.map(s=>s.id===e?t:s)),L(e,null))}})}),(0,t.jsx)("div",{className:"px-4 pt-3 sm:px-8",children:(0,t.jsx)(ec,{state:O,onChange:F,epics:U,dirty:R,activeIsBuiltIn:tN.includes(G),onSave:()=>C(b.map(e=>e.id===E.id?{...O,q:"",id:e.id,name:e.name}:e)),onSaveAs:P,onReset:()=>A(G),searchInputId:"board-search",filterOpen:g,onFilterOpenChange:j})}),(0,t.jsx)("div",{"data-board-view":O.kind,className:"[view-transition-name:board-view-body]",children:"epic"===O.kind?(0,t.jsx)(ts,{...J}):(0,t.jsxs)("div",{className:"min-w-0 px-4 pt-[18px] pb-8 sm:px-8",children:["board"===O.kind&&(0,t.jsx)(eU,{...J,onMoveTask:d}),"table"===O.kind&&(0,t.jsx)(e5,{...J,onSort:e=>F({...O,sorts:e})}),W&&(0,t.jsx)(tx,{...J,events:v,loading:w,onScale:e=>F({...O,scale:e})})]})}),H.size>0&&(0,t.jsx)(tv,{ids:[...H],onClear:B})]})}var tS=e.i(592381),tM=e.i(287272),tC=e.i(240595);let tz=[{value:"XS (< 1 hr)",label:"XS — under 1 hr"},{value:"S (1-2 hrs)",label:"S — 1–2 hrs"},{value:"M (3-4 hrs)",label:"M — 3–4 hrs"},{value:"L (5-8 hrs)",label:"L — 5–8 hrs"},{value:"XL (> 1 day)",label:"XL — over a day"}];function tD({open:e,onOpenChange:a,rootParam:n,onTaskCreated:l}){let[i,o]=(0,s.useState)(""),[d,c]=(0,s.useState)(""),[u,x]=(0,s.useState)(""),[p,m]=(0,s.useState)(""),[h,b]=(0,s.useState)(""),[f,g]=(0,s.useState)(""),[j,v]=(0,s.useState)(!1);async function N(e){if(e.preventDefault(),!i.trim())return void g("Title is required");v(!0),g("");try{let e=await fetch(`/api/tasks/create${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:i.trim(),phase:d.trim()||void 0,size:u||void 0,description:p.trim()||void 0,dependsOn:h.trim()||void 0})});if(!e.ok){let t=await e.json();g(t.error??"Failed to create task"),v(!1);return}v(!1),l(),a(!1)}catch{g("Network error — please try again"),v(!1)}}return(0,s.useEffect)(()=>{e&&(o(""),c(""),x(""),m(""),b(""),g(""),v(!1))},[e]),(0,t.jsx)(tM.Root,{open:e,onOpenChange:a,children:(0,t.jsxs)(tM.Portal,{children:[(0,t.jsx)(tM.Overlay,{className:"fixed inset-0 z-50 bg-black/60"}),(0,t.jsxs)(tM.Content,{className:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-lg bg-surface border border-border rounded-xl shadow-2xl",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-border",children:[(0,t.jsx)(tM.Title,{className:"font-semibold text-txt",children:"New Task"}),(0,t.jsx)(tM.Close,{className:"text-muted hover:text-txt transition-colors",children:(0,t.jsx)(W.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("form",{onSubmit:N,className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:["Title ",(0,t.jsx)("span",{className:"text-danger",children:"*"})]}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:i,onChange:e=>o(e.target.value),placeholder:"e.g. Add drag-and-drop to kanban",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Phase"}),(0,t.jsx)("input",{type:"text",value:d,onChange:e=>c(e.target.value),placeholder:"e.g. 1 — Core",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Size"}),(0,t.jsxs)("select",{value:u,onChange:e=>x(e.target.value),className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt focus:outline-hidden focus:border-accent transition-colors",children:[(0,t.jsx)("option",{value:"",children:"—"}),tz.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))]})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Depends on"}),(0,t.jsx)("input",{type:"text",value:h,onChange:e=>b(e.target.value),placeholder:"e.g. T001, T003",className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-xs font-medium text-muted uppercase tracking-wide",children:"Description"}),(0,t.jsx)("textarea",{value:p,onChange:e=>m(e.target.value),placeholder:"What needs to be built?",rows:3,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm text-txt placeholder:text-muted focus:outline-hidden focus:border-accent transition-colors resize-none"})]}),f&&(0,t.jsx)("p",{className:"text-sm text-danger",children:f}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,t.jsx)(tM.Close,{type:"button",className:"px-4 py-2 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{type:"submit",disabled:j||!i.trim(),className:(0,y.cn)("flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors","bg-accent text-accent-fg hover:bg-accent/90 disabled:opacity-50 disabled:cursor-not-allowed"),children:[j?(0,t.jsx)(tC.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(r.Plus,{className:"w-4 h-4"}),j?"Creating…":"Create Task"]})]})]})]})]})})}function tT(){let{board:e,moveTask:r,refresh:l,rootParam:i}=(0,n.useApp)(),o=(0,a.useRouter)(),[d,c]=(0,s.useState)(null),u=(0,a.useSearchParams)().get("task"),[x,p]=(0,s.useState)(null);e&&u!==x&&(p(u),u&&Object.values(e).flat().some(e=>e.id===u)&&c(u));let[m,h]=(0,s.useState)(!1),b=(0,s.useMemo)(()=>e?Object.values(e).flat():[],[e]),f=b.find(e=>e.id===d)??null;return e?(0,t.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,t.jsx)(ty,{tasks:b,onMoveTask:r,onOpenTask:e=>c(e.id),onNewTask:()=>h(!0)}),(0,t.jsx)(tS.TaskDetailPanel,{task:f,onClose:()=>{let e;c(null),u&&((e=new URLSearchParams(window.location.search)).delete("task"),o.replace(e.size?`/board?${e}`:"/board",{scroll:!1}))},onMove:r}),(0,t.jsx)(tD,{open:m,onOpenChange:h,rootParam:i,onTaskCreated:l})]}):null}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(tT,{})})}],955787)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,456526,e=>{e.v(t=>Promise.all(["static/chunks/0uy8t2jirrcbm.js"].map(t=>e.l(t))).then(()=>t(136507)))},973121,e=>{e.v(e=>Promise.resolve().then(()=>e(588395)))},248070,65112,775549,e=>{"use strict";var t=e.i(83790);let a={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};a.node;let n=(0,t.default)(a);e.s(["MoreHorizontal",0,n],248070);var s=e.i(72345),i=e.i(975157),l=e.i(940837),r=e.i(180338),d=e.i(837001),o=e.i(755146),c=e.i(763371);let u=e=>e.stopPropagation(),m="inline-flex min-w-0 items-center gap-1 rounded-sm px-1 -mx-1 text-left outline-hidden hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60",p=({children:e,className:t})=>(0,s.jsx)("span",{className:(0,i.cn)("inline-flex min-w-0 items-center gap-1",t),children:e});function h({label:e,value:t,options:a,onChange:n,children:l,className:r}){let{demo:x}=(0,c.useApp)();return x?(0,s.jsx)(p,{className:r,children:l}):(0,s.jsxs)(o.DropdownMenu,{children:[(0,s.jsx)(o.DropdownMenuTrigger,{asChild:!0,children:(0,s.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:u,onKeyDown:u,onPointerDown:u,className:(0,i.cn)(m,r),children:l})}),(0,s.jsx)(o.DropdownMenuContent,{align:"start",className:"max-h-72 w-48 overflow-y-auto",onClick:u,onKeyDown:u,children:a.map(e=>(0,s.jsxs)(o.DropdownMenuItem,{onSelect:()=>{e.value!==t&&n(e.value)},children:[e.node??e.label,e.value===t&&(0,s.jsx)(d.Check,{className:"ml-auto size-3.5 text-muted","aria-hidden":!0})]},e.value))})]})}e.s(["InlineDate",0,function({label:e,value:t,onChange:a,children:n,className:l}){let[d,o]=(0,r.useState)(!1),[h,x]=(0,r.useState)(t??""),{demo:f}=(0,c.useApp)(),b=()=>{o(!1),(h||null)!==t&&a(h||null)};return f?(0,s.jsx)(p,{className:l,children:n}):d?(0,s.jsx)("input",{type:"date",autoFocus:!0,"aria-label":e,value:h,onChange:e=>x(e.target.value),onClick:u,onPointerDown:u,onKeyDown:e=>{u(e),"Enter"===e.key&&(e.preventDefault(),b()),"Escape"===e.key&&(e.preventDefault(),o(!1))},onBlur:b,className:"h-6 rounded-sm border border-accent/60 bg-bg px-1 font-mono text-[11px] text-txt scheme-light outline-hidden dark:scheme-dark"}):(0,s.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{u(e),x(t??""),o(!0)},onKeyDown:u,className:(0,i.cn)(m,l),children:n})},"InlineSelect",0,h,"InlineText",0,function({label:e,value:t,onChange:a,children:n,className:l,placeholder:d,startEditing:o=!1,onCancel:h}){let[x,f]=(0,r.useState)(o),[b,g]=(0,r.useState)(t??""),{demo:y}=(0,c.useApp)(),v=()=>{f(!1);let e=b.trim()||null;e!==t?a(e):e||h?.()};return y?(0,s.jsx)(p,{className:l,children:n}):x?(0,s.jsx)("input",{autoFocus:!0,"aria-label":e,value:b,placeholder:d,onChange:e=>g(e.target.value),onClick:u,onPointerDown:u,onKeyDown:e=>{u(e),"Enter"===e.key&&(e.preventDefault(),v()),"Escape"===e.key&&(e.preventDefault(),f(!1),h?.())},onBlur:v,className:"h-7 w-full min-w-0 rounded-sm border border-accent/60 bg-bg px-1.5 text-[13px] text-txt outline-hidden placeholder:text-muted"}):(0,s.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{u(e),g(t??""),f(!0)},onKeyDown:u,className:(0,i.cn)(m,l),children:n})}],65112);let x={P0:"bg-danger/12 text-danger",P1:"bg-amber/12 text-amber",P2:"bg-surface2 text-txt",P3:"bg-surface2 text-muted"};function f({priority:e,className:t}){return(0,s.jsx)("span",{className:(0,i.cn)("inline-flex h-4 shrink-0 items-center rounded-sm px-1 font-mono text-[10px] font-medium leading-none",x[e],t),children:e})}let b=[...l.PRIORITIES.map(e=>({value:e,label:e,node:(0,s.jsx)(f,{priority:e})})),{value:"",label:"No priority",node:(0,s.jsx)("span",{className:"text-muted",children:"No priority"})}];e.s(["PriorityBadge",0,f,"PriorityField",0,function({label:e,value:t,onChange:a,empty:n}){return(0,s.jsx)(h,{label:e,value:t??"",options:b,onChange:e=>a(e||null),children:t?(0,s.jsx)(f,{priority:t}):n??(0,s.jsx)("span",{className:"text-muted",children:"—"})})}],775549)},246978,e=>{"use strict";var t=e.i(83790);let a={name:"folder-input",size:24,node:[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]};a.node;let n=(0,t.default)(a);e.s(["FolderInput",0,n],246978)},875581,107308,487486,e=>{"use strict";var t=e.i(83790);let a={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};a.node;let n=(0,t.default)(a);e.s(["Folder",0,n],875581);var s=e.i(180338),i=e.i(543836),l=e.i(264145),r=e.i(315671),d=e.i(44532),o=e.i(166100),c=e.i(978238),u=e.i(997611),m=e.i(432567),p=e.i(72345),h=Object.defineProperty,x=(e,t)=>h(e,"name",{value:t,configurable:!0}),f="Collapsible",[b,g]=(0,l.createContextScope)(f),[y,v]=b(f),k=s.forwardRef(x(function(e,t){let{__scopeCollapsible:a,open:n,defaultOpen:i,disabled:l,onOpenChange:d,...o}=e,[u,h]=(0,r.useControllableState)({prop:n,defaultProp:i??!1,onChange:d,caller:f});return(0,p.jsx)(y,{scope:a,disabled:l,contentId:(0,m.useId)(),open:u,onOpenToggle:s.useCallback(()=>h(e=>!e),[h]),children:(0,p.jsx)(c.Primitive.div,{"data-state":C(u),"data-disabled":l?"":void 0,...o,ref:t})})},"Collapsible")),j=s.forwardRef(x(function(e,t){let{__scopeCollapsible:a,...n}=e,s=v("CollapsibleTrigger",a);return(0,p.jsx)(c.Primitive.button,{type:"button","aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open||!1,"data-state":C(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...n,ref:t,onClick:(0,i.composeEventHandlers)(e.onClick,s.onOpenToggle)})},"CollapsibleTrigger")),w="CollapsibleContent",M=s.forwardRef(x(function(e,t){let{forceMount:a,...n}=e,s=v(w,e.__scopeCollapsible);return(0,p.jsx)(u.Presence,{present:a||s.open,children:({present:e})=>(0,p.jsx)(N,{...n,ref:t,present:e})})},"CollapsibleContent")),N=s.forwardRef(x(function(e,t){let{__scopeCollapsible:a,present:n,children:i,...l}=e,r=v(w,a),[u,m]=s.useState(n),h=s.useRef(null),x=(0,o.useComposedRefs)(t,h),f=s.useRef(0),b=f.current,g=s.useRef(0),y=g.current,k=r.open||u,j=s.useRef(k),M=s.useRef(void 0);return s.useEffect(()=>{let e=requestAnimationFrame(()=>j.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.useLayoutEffect)(()=>{let e=h.current;if(e){M.current=M.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();f.current=t.height,g.current=t.width,j.current||(e.style.transitionDuration=M.current.transitionDuration,e.style.animationName=M.current.animationName),m(n)}},[r.open,n]),(0,p.jsx)(c.Primitive.div,{"data-state":C(r.open),"data-disabled":r.disabled?"":void 0,id:r.contentId,hidden:!k,...l,ref:x,style:{"--radix-collapsible-content-height":b?`${b}px`:void 0,"--radix-collapsible-content-width":y?`${y}px`:void 0,...e.style},children:k&&i})},"CollapsibleContentImpl"));function C(e){return e?"open":"closed"}x(C,"getState"),e.s(["Collapsible",0,k,"CollapsibleContent",0,M,"CollapsibleTrigger",0,j],107308);var _=e.i(294237),z=e.i(975157);let D=(0,_.cva)("inline-flex items-center rounded-full border border-border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-accent text-accent-fg hover:bg-accent/80",secondary:"border-transparent bg-surface2 text-txt hover:bg-surface2/80",destructive:"border-transparent bg-danger text-destructive-foreground hover:bg-danger/80",outline:"text-txt"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:t,...a}){return(0,p.jsx)("div",{className:(0,z.cn)(D({variant:t}),e),...a})}],487486)},880790,e=>{"use strict";var t=e.i(83790);let a={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};a.node;let n=(0,t.default)(a);e.s(["ListChecks",0,n],880790)},226230,e=>{"use strict";var t=e.i(83790);let a={name:"list-filter",size:24,node:[["path",{d:"M2 5h20",key:"1fs1ex"}],["path",{d:"M6 12h12",key:"8npq4p"}],["path",{d:"M9 19h6",key:"456am0"}]]};a.node;let n=(0,t.default)(a);e.s(["ListFilter",0,n],226230)},475850,e=>{"use strict";var t=e.i(83790);let a={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};a.node;let n=(0,t.default)(a);e.s(["MessageSquare",0,n],475850)},818748,e=>{"use strict";var t=e.i(83790);let a={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};a.node;let n=(0,t.default)(a);e.s(["Minus",0,n],818748)},424991,e=>{"use strict";var t=e.i(83790);let a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};a.node;let n=(0,t.default)(a);e.s(["Pencil",0,n],424991)},496699,e=>{"use strict";var t=e.i(83790);let a={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};a.node;let n=(0,t.default)(a);e.s(["RefreshCw",0,n],496699)},434864,e=>{"use strict";var t=e.i(83790);let a={name:"type",size:24,node:[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]};a.node;let n=(0,t.default)(a);e.s(["Type",0,n],434864)},172856,798103,394512,e=>{"use strict";var t=e.i(83790);let a={name:"users",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]};a.node;let n=(0,t.default)(a);e.s(["Users",0,n],172856);let s={name:"code-xml",size:24,node:[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],aliases:["code-2"]};s.node;let i=(0,t.default)(s);e.s(["Code2",0,i],798103);let l={name:"list",size:24,node:[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]};l.node;let r=(0,t.default)(l);e.s(["List",0,r],394512)},169155,e=>{e.v(t=>Promise.all(["static/chunks/09_ppmd5llmj7.js","static/chunks/0ui2glzbpp23i.js"].map(t=>e.l(t))).then(()=>t(518762)))},685361,e=>{e.v(t=>Promise.all(["static/chunks/3f6_nfqj52vj9.js","static/chunks/0ui2glzbpp23i.js"].map(t=>e.l(t))).then(()=>t(304544)))},892171,e=>{e.v(t=>Promise.all(["static/chunks/15urlbk7lut04.js","static/chunks/0ui2glzbpp23i.js"].map(t=>e.l(t))).then(()=>t(714931)))},329090,86384,e=>{"use strict";var t=e.i(72345),a=e.i(479432),n=e.i(343253),s=e.i(83790);let i={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};i.node;let l=(0,s.default)(i);var r=e.i(760930);let d={name:"file-search",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"11.5",cy:"14.5",r:"2.5",key:"1bq0ko"}],["path",{d:"M13.3 16.3 15 18",key:"2quom7"}]]};d.node;let o=(0,s.default)(d);var c=e.i(406952);let u={name:"file-x",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]};u.node;let m=(0,s.default)(u);var p=e.i(880790),h=e.i(192871),x=e.i(15205),f=e.i(496699),b=e.i(678677),g=e.i(737152),y=e.i(464750);let v={task_updated:"task",roadmap_updated:"epic",memory_updated:"memory",decision_logged:"decision",session_start:"session",doc_read:"doc",doc_created:"doc",doc_updated:"doc",doc_deleted:"doc",doc_renamed:"doc",registry_rebuilt:"doc"},k=e=>v[e.type]??"doc",j={doc_created:"created",doc_updated:"edited",doc_deleted:"deleted",doc_renamed:"renamed",doc_read:"read",decision_logged:"logged",session_start:"connected",registry_rebuilt:"rebuilt"},w=[[/\bmoved to\b/,"moved"],[/\bundone$/,"undone"],[/\bmerged\b/i,"merged"],[/\bdismissed$/,"dismissed"],[/^Restored\b|\brestored$/,"restored"],[/\bcreated\b/,"created"],[/\bdeleted$/,"deleted"],[/\bedited$/,"edited"],[/\bsaved$/,"saved"],[/\bgenerated\b/,"created"]];function M(e){let t=j[e.type];return t||(w.find(([t])=>t.test(e.title))?.[1]??"updated")}function N(e){if("deleted"===M(e))return null;switch(e.type){case"task_updated":return e.taskId?{kind:"task",id:e.taskId}:null;case"roadmap_updated":{let t=e.title.match(/^(R\d+)\b/)?.[1];return t?{kind:"epic",id:t}:null}case"memory_updated":{let t=e.title.match(/\b(E\d+)\b/)?.[1];return t?{kind:"entry",id:t}:{kind:"memory"}}case"decision_logged":{let t=e.title.match(/^(ADR-\d+)/)?.[1];return t?{kind:"doc",path:t}:null}case"doc_created":case"doc_updated":case"doc_read":{let t=e.detail??e.title.replace(/^(Created:|Edited)\s*/,"");return t?{kind:"doc",path:t}:null}case"doc_renamed":{let t=e.title.split(" → ")[1]?.trim();return t?{kind:"doc",path:t}:null}default:return null}}e.s(["EVENT_CATEGORIES",0,[{id:"task",label:"Tasks"},{id:"doc",label:"Docs"},{id:"epic",label:"Epics"},{id:"memory",label:"Memory"},{id:"decision",label:"Decisions"},{id:"session",label:"Sessions"}],"eventAction",0,M,"eventCategory",0,k,"eventTarget",0,N,"filterEvents",0,function(e,{category:t,actor:a}){return e.filter(e=>(!t||k(e)===t)&&(!a||e.actor===a))}],86384);var C=e.i(975157);let _={task_updated:p.ListChecks,decision_logged:b.Scale,memory_updated:g.Brain,doc_read:o,doc_created:r.FilePlus,doc_updated:c.FileText,doc_deleted:m,doc_renamed:l,session_start:x.Plug,registry_rebuilt:f.RefreshCw,roadmap_updated:h.Map},z=e=>new Date(e).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",hourCycle:"h23"}),D={created:"border-teal/30 bg-teal/5 text-teal",restored:"border-teal/30 bg-teal/5 text-teal",deleted:"border-danger/30 bg-danger/5 text-danger"},P="inline-flex shrink-0 items-center rounded-sm border px-1.5 py-0.5 text-[10px] leading-none font-medium";function S({event:e}){let a=M(e);return"moved"===a&&e.taskStatus?(0,t.jsx)(R,{status:e.taskStatus}):(0,t.jsx)("span",{className:(0,C.cn)(P,D[a]??"border-border2 text-muted"),children:a})}function R({status:e}){let a=(0,y.useStatusMeta)(e);return(0,t.jsxs)("span",{className:(0,C.cn)(P,a.chip),children:["→ ",a.label]})}e.s(["ActivityEventRow",0,function({event:e,showActor:s=!1,onOpen:i}){let l=_[e.type]??c.FileText,r=i?N(e):null,d="min-w-0 text-left text-sm leading-5 text-txt sm:shrink-0 sm:max-w-[60%] sm:truncate";return(0,t.jsxs)("div",{className:"grid grid-cols-[2.75rem_1.5rem_minmax(0,1fr)] items-start py-1.5",children:[(0,t.jsx)("time",{dateTime:e.timestamp,title:new Date(e.timestamp).toLocaleString(),className:"pt-px text-right font-mono text-[11px] leading-5 text-muted tabular-nums",children:z(e.timestamp)}),(0,t.jsx)("span",{className:"flex justify-center pt-[3px]",children:"task_updated"===e.type&&e.taskStatus?(0,t.jsx)(y.StatusIcon,{status:e.taskStatus}):(0,t.jsx)(l,{className:"size-3.5 text-muted","aria-hidden":!0})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-0.5 sm:flex-row sm:items-baseline sm:gap-2",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-baseline gap-2 sm:contents",children:[(0,t.jsx)(S,{event:e}),r&&i?(0,t.jsx)("button",{type:"button",onClick:()=>i(r),className:(0,C.cn)(d,"rounded-sm underline-offset-2 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60"),children:e.title}):(0,t.jsx)("span",{className:d,children:e.title})]}),e.detail&&(0,t.jsx)("span",{className:"min-w-0 truncate text-xs leading-5 text-muted",children:e.detail}),s&&(0,t.jsx)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[10px] text-muted sm:ml-auto",children:"human"===e.actor?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.User,{className:"size-3","aria-hidden":!0}),"you"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.Bot,{className:"size-3","aria-hidden":!0}),"AI"]})})]})]})},"clock",0,z,"timeAgo",0,function(e){let t=(Date.now()-new Date(e).getTime())/1e3;return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}],329090)},813346,e=>{e.v(t=>Promise.all(["static/chunks/2x6eh3w-u8lk4.js"].map(t=>e.l(t))).then(()=>t(318103)))},508540,e=>{"use strict";var t=e.i(72345),a=e.i(975157);function n({properties:e,className:s,children:i}){let l=e.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return 0!==l.length||i?(0,t.jsxs)("dl",{className:(0,a.cn)("grid grid-cols-[minmax(6.5rem,8.5rem)_minmax(0,1fr)] items-center gap-x-2 text-[13px]",s),children:[l.map(e=>(0,t.jsxs)("div",{className:"contents",children:[(0,t.jsxs)("dt",{className:"flex min-h-8 min-w-0 items-center gap-2 text-muted",children:[e.icon&&(0,t.jsx)(e.icon,{className:"size-3.5 shrink-0","aria-hidden":!0}),(0,t.jsx)("span",{className:"min-w-0 truncate",children:e.label})]}),(0,t.jsx)("dd",{className:"flex min-h-8 min-w-0 items-center gap-2 text-txt",children:e.value})]},e.id??String(e.label))),i&&(0,t.jsx)("div",{className:"col-span-2 flex min-h-8 items-center",children:i})]}):null}e.s(["ItemPanelHeader",0,function({kicker:e,title:s,menu:i,properties:l,className:r,children:d}){return(0,t.jsxs)("header",{"data-item-header":!0,className:(0,a.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",r),children:[(0,t.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,t.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),i]}),(0,t.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:s}),(0,t.jsx)(n,{properties:l,className:"-my-0.5"}),d]})},"PropertyRows",0,n])}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,543836,e=>{"use strict";var t=Object.defineProperty,n=(e,n)=>t(e,"name",{value:n,configurable:!0}),r=!!("u">typeof window&&window.document&&window.document.createElement);function o(e,t,{checkForDefaultPrevented:r=!0}={}){return n(function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)},"handleEvent")}function i(e){if(!r)throw Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}function u(e){return"IFRAME"===e.tagName}n(o,"composeEventHandlers"),n(function(e){if(!r)throw Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window},"getOwnerWindow"),n(i,"getOwnerDocument"),n(function e(t,n=!1){let{activeElement:r}=i(t);if(!r?.nodeName)return null;if(u(r)&&r.contentDocument)return e(r.contentDocument.body,n);if(n){let e=r.getAttribute("aria-activedescendant");if(e){let t=i(r).getElementById(e);if(t)return t}}return r},"getActiveElement"),n(u,"isFrame"),e.s(["composeEventHandlers",0,o])},899300,e=>{"use strict";e.s(["IS_DEVELOPMENT",0,!1])},166100,e=>{"use strict";var t=e.i(180338),n=Object.defineProperty,r=(e,t)=>n(e,"name",{value:t,configurable:!0});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 u(...e){return t.useCallback(i(...e),e)}r(o,"setRef"),r(i,"composeRefs"),r(u,"useComposedRefs"),e.s(["useComposedRefs",0,u])},264145,e=>{"use strict";var t=e.i(180338),n=e.i(72345),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,r=[]){let a=[];function l(r,i){let u=t.createContext(i);u.displayName=r+"Context";let l=a.length;a=[...a,i];let s=o(r=>{let{scope:o,children:i,...a}=r,s=o?.[e]?.[l]||u,c=t.useMemo(()=>a,Object.values(a));return(0,n.jsx)(s.Provider,{value:c,children:i})},"Provider");function c(n,o,a={}){let{optional:s=!1}=a,f=o?.[e]?.[l]||u,d=t.useContext(f);if(d)return d;if(void 0!==i)return i;if(!s)throw Error(`\`${n}\` must be used within \`${r}\``)}return s.displayName=r+"Provider",o(c,"useContext"),[s,c]}o(l,"createContext");let s=o(()=>{let n=a.map(e=>t.createContext(e));return o(function(r){let o=r?.[e]||n;return t.useMemo(()=>({[`__scope${e}`]:{...r,[e]:o}}),[r,o])},"useScope")},"createScope");return s.scopeName=e,[l,u(s,...r)]}function u(...e){let n=e[0];if(1===e.length)return n;let r=o(()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return o(function(e){let o=r.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return t.useMemo(()=>({[`__scope${n.scopeName}`]:o}),[o])},"useComposedScopes")},"createScope");return r.scopeName=n.scopeName,r}o(function(e,r){let i=t.createContext(r);i.displayName=e+"Context";let u=o(e=>{let{children:r,...o}=e,u=t.useMemo(()=>o,Object.values(o));return(0,n.jsx)(i.Provider,{value:u,children:r})},"Provider");function a(n,o={}){let{optional:u=!1}=o,l=t.useContext(i);if(l)return l;if(void 0!==r)return r;if(!u)throw Error(`\`${n}\` must be used within \`${e}\``)}return u.displayName=e+"Provider",o(a,"useContext"),[u,a]},"createContext"),o(i,"createContextScope"),o(u,"composeContextScopes"),e.s(["createContextScope",0,i])},900877,e=>{"use strict";var t=e.i(180338),n=(e.i(72345),Object.defineProperty),r=t.createContext(void 0);function o(e){let n=t.useContext(r);return e||n||"ltr"}n(o,"name",{value:"useDirection",configurable:!0}),e.s(["useDirection",0,o])},432567,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=t[" useId ".trim().toString()]||(()=>void 0),i=0;function u(e){let[r,u]=t.useState(o());return(0,n.useLayoutEffect)(()=>{e||u(e=>e??String(i++))},[e]),e||(r?`radix-${r}`:"")}r(u,"name",{value:"useId",configurable:!0}),e.s(["useId",0,u])},997611,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,n){return t.useReducer((e,t)=>n[e][t]??e,e)}o(i,"useStateMachine");var u=o(e=>{let{present:n,children:r}=e,o=a(n),i="function"==typeof r?r({present:o.isPresent}):t.Children.only(r),u=s(o.ref,f(i));return"function"==typeof r||o.isPresent?t.cloneElement(i,{ref:u}):null},"Presence");function a(e){let[r,u]=t.useState(),a=t.useRef(null),l=t.useRef(e),s=t.useRef("none"),f=t.useRef(void 0),[d,p]=i(e?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return t.useEffect(()=>{"mounted"===d?(s.current=f.current??c(a.current),f.current=void 0):s.current="none"},[d]),(0,n.useLayoutEffect)(()=>{let t=a.current,n=l.current;if(n!==e){let r=s.current,o=c(t);e?(f.current=o,p("MOUNT")):"none"===o||t?.display==="none"?p("UNMOUNT"):n&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),l.current=e}},[e,p]),(0,n.useLayoutEffect)(()=>{if(r){let e,t=r.ownerDocument.defaultView??window,n=o(n=>{let o=c(a.current).includes(CSS.escape(n.animationName));if(n.target===r&&o&&(p("ANIMATION_END"),!l.current)){let n=r.style.animationFillMode;r.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=n)})}},"handleAnimationEnd"),i=o(e=>{e.target===r&&(s.current=c(a.current))},"handleAnimationStart");return r.addEventListener("animationstart",i),r.addEventListener("animationcancel",n),r.addEventListener("animationend",n),()=>{t.clearTimeout(e),r.removeEventListener("animationstart",i),r.removeEventListener("animationcancel",n),r.removeEventListener("animationend",n)}}p("ANIMATION_END")},[r,p]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:t.useCallback(e=>{if(e){let t=getComputedStyle(e);a.current=t,f.current=c(t)}else a.current=null;u(e)},[])}}function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function s(...e){let n=t.useRef(e);return n.current=e,t.useCallback(e=>{let t=n.current,r=!1,o=t.map(t=>{let n=l(t,e);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let e=0;e<o.length;e++){let n=o[e];"function"==typeof n?n():l(t[e],null)}}},[])}function c(e){return e?.animationName||"none"}function f(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}o(a,"usePresence"),o(l,"setRef"),o(s,"useStableComposedRefs"),o(c,"getAnimationName"),o(f,"getElementRef"),e.s(["Presence",0,u])},978238,e=>{"use strict";var t=e.i(180338),n=e.i(399531),r=e.i(617739),o=e.i(72345),i=Object.defineProperty,u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,r.createSlot)(`Primitive.${n}`),u=t.forwardRef((e,t)=>{let{asChild:r,...u}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(r?i:n,{...u,ref:t})});return u.displayName=`Primitive.${n}`,{...e,[n]:u}},{});function a(e,t){e&&n.flushSync(()=>e.dispatchEvent(t))}i(a,"name",{value:"dispatchDiscreteCustomEvent",configurable:!0}),e.s(["Primitive",0,u,"dispatchDiscreteCustomEvent",0,a])},617739,e=>{"use strict";var t=e.i(180338),n=e.i(166100),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e){let r=t.forwardRef((r,o)=>{let{children:i,...u}=r,a=null,l=!1,p=[];m(i)&&"function"==typeof v&&(i=v(i._payload)),t.Children.forEach(i,e=>{if(d(e)){l=!0;let t="child"in e.props?e.props.child:e.props.children;m(t)&&"function"==typeof v&&(t=v(t._payload)),a=s(e,t),p.push(a?.props?.children)}else p.push(e)}),a?a=t.cloneElement(a,void 0,p):!l&&1===t.Children.count(i)&&t.isValidElement(i)&&(a=i);let h=a?f(a):void 0,b=(0,n.useComposedRefs)(o,h);if(!a){if(i||0===i)throw Error(l?g(e):y(e));return i}let E=c(u,a.props??{});return a.type!==t.Fragment&&(E.ref=o?b:h),t.cloneElement(a,E)});return r.displayName=`${e}.Slot`,r}o(i,"createSlot");var u=i("Slot"),a=Symbol.for("radix.slottable");function l(e){let t=o(e=>"child"in e?e.children(e.child):e.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=a,t}o(l,"createSlottable");var s=o((e,n)=>{if("child"in e.props){let n=e.props.child;return t.isValidElement(n)?t.cloneElement(n,void 0,e.props.children(n.props.children)):null}return t.isValidElement(n)?n:null},"getSlottableElementFromSlottable");function c(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}}function f(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}function d(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===a}o(c,"mergeProps"),o(f,"getElementRef"),o(d,"isSlottable");var p=Symbol.for("react.lazy");function m(e){return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===p&&"_payload"in e&&h(e._payload)}function h(e){return"object"==typeof e&&null!==e&&"then"in e}o(m,"isLazyComponent"),o(h,"isPromiseLike");var y=o(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),g=o(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),v=t[" use ".trim().toString()];e.s(["Slot",0,u,"createSlot",0,i,"createSlottable",0,l])},232253,e=>{"use strict";var t=e.i(180338);function n(e){let n=t.useRef(e);return t.useEffect(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}(0,Object.defineProperty)(n,"name",{value:"useCallbackRef",configurable:!0}),e.s(["useCallbackRef",0,n])},315671,e=>{"use strict";var t=e.i(180338),n=e.i(899300),r=e.i(44532),o=Object.defineProperty,i=t[" useEffectEvent ".trim().toString()],u=t[" useInsertionEffect ".trim().toString()];function a(e){if("function"==typeof i)return i(e);let n=t.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof u?u(()=>{n.current=e}):(0,r.useLayoutEffect)(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}o(a,"name",{value:"useEffectEvent",configurable:!0});var l=Object.defineProperty,s=(e,t)=>l(e,"name",{value:t,configurable:!0}),c=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function f({prop:e,defaultProp:r,onChange:o=s(()=>{},"onChange"),caller:i}){let[u,a,l]=d({defaultProp:r,onChange:o}),c=void 0!==e,m=c?e:u;if(n.IS_DEVELOPMENT){let n=t.useRef(void 0!==e);t.useEffect(()=>{let e=n.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${i} 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.`)}n.current=c},[c,i])}return[m,t.useCallback(t=>{if(c){let n=p(t)?t(e):t;n!==e&&l.current?.(n)}else a(t)},[c,e,a,l])]}function d({defaultProp:e,onChange:n}){let[r,o]=t.useState(e),i=t.useRef(r),u=t.useRef(n);return c(()=>{u.current=n},[n]),t.useEffect(()=>{i.current!==r&&(u.current?.(r),i.current=r)},[r,i]),[r,o,u]}function p(e){return"function"==typeof e}s(f,"useControllableState"),s(d,"useUncontrolledState"),s(p,"isFunction");var m=Symbol("RADIX:SYNC_STATE");s(function(e,r,o,i){let{prop:u,defaultProp:l,onChange:s,caller:c}=r,f=void 0!==u,d=a(s);if(n.IS_DEVELOPMENT){let e=t.useRef(void 0!==u);t.useEffect(()=>{let t=e.current;if(t!==f){let e=f?"controlled":"uncontrolled";console.warn(`${c} is changing from ${t?"controlled":"uncontrolled"} to ${e}. 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.`)}e.current=f},[f,c])}let p=[{...o,state:l}];i&&p.push(i);let[h,y]=t.useReducer((t,n)=>{if(n.type===m)return{...t,state:n.state};let r=e(t,n);return f&&!Object.is(r.state,t.state)&&d(r.state),r},...p),g=h.state,v=t.useRef(g);t.useEffect(()=>{v.current!==g&&(v.current=g,f||d(g))},[g,v,f]);let b=t.useMemo(()=>void 0!==u?{...h,state:u}:h,[h,u]);return t.useEffect(()=>{f&&!Object.is(u,h.state)&&y({type:m,state:u})},[u,h.state,f]),[b,y]},"useControllableStateReducer"),e.s(["useControllableState",0,f],315671)},44532,e=>{"use strict";var t=e.i(180338),n=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",0,n])},294237,e=>{"use strict";var t=e.i(7284);let n=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,r=t.clsx;e.s(["cva",0,(e,t)=>o=>{var i;if((null==t?void 0:t.variants)==null)return r(e,null==o?void 0:o.class,null==o?void 0:o.className);let{variants:u,defaultVariants:a}=t,l=Object.keys(u).map(e=>{let t=null==o?void 0:o[e],r=null==a?void 0:a[e];if(null===t)return null;let i=n(t)||n(r);return u[e][i]}),s=o&&Object.entries(o).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return r(e,l,null==t||null==(i=t.compoundVariants)?void 0:i.reduce((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...a,...s}[t]):({...a,...s})[t]===n})?[...e,n,r]:e},[]),null==o?void 0:o.class,null==o?void 0:o.className)}])},675964,e=>{"use strict";var t=e.i(83790);let n={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};n.node;let r=(0,t.default)(n);e.s(["ChevronRight",0,r],675964)},666326,e=>{"use strict";var t=e.i(83790);let n={name:"flask-conical",size:24,node:[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]};n.node;let r=(0,t.default)(n);e.s(["FlaskConical",0,r],666326)},138324,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return g},useLinkStatus:function(){return b}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421),u=e.r(72345),a=i._(e.r(180338)),l=e.r(626167),s=e.r(757336),c=e.r(863555),f=e.r(549757),d=e.r(671412),p=e.r(235871),m=e.r(716851),h=e.r(658853),y=e.r(571921);function g(t){var n;let r,o,i,[g,b]=(0,a.useOptimistic)(m.IDLE_LINK_STATUS),E=(0,a.useRef)(null),{href:S,as:N,children:C,prefetch:w=null,passHref:O,replace:P,shallow:x,scroll:R,onClick:j,onMouseEnter:_,onTouchStart:T,legacyBehavior:M=!1,onNavigate:A,transitionTypes:I,ref:$,unstable_dynamicOnHover:L,...D}=t;r=C,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,u.jsx)("a",{children:r}));let k=a.default.useContext(s.AppRouterContext),U=!1!==w,F=!1===w?"none":!0===w?"full":"auto",B="none"!==F?"auto"===F?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,V="string"==typeof(n=N||S)?n:(0,l.formatUrl)(n);if(M){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=a.default.Children.only(r)}let z=M?o&&"object"==typeof o&&o.ref:$,K,W=a.default.useCallback(e=>(null!==k&&(E.current=(0,m.mountLinkInstance)(e,V,k,B,U,b,K)),()=>{E.current&&((0,m.unmountLinkForCurrentNavigation)(E.current),E.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,V,k,B,b,K]),H={ref:(0,c.useMergedRef)(W,z),onClick(t){M||"function"!=typeof j||j(t),M&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!k||t.defaultPrevented||function(t,n,r,o,i,u,l,s="none"){if("u">typeof window){let c,{nodeName:f}=t.currentTarget;if("A"===f.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),u){let e=!1;if(u({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(187250);a.default.startTransition(()=>{d(n,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,l,s)})}}(t,V,E,P,R,A,I,F)},onMouseEnter(e){M||"function"!=typeof _||_(e),M&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),k&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){M||"function"!=typeof T||T(e),M&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),k&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,f.isAbsoluteUrl)(V)?H.href=V:M&&!O&&("a"!==o.type||"href"in o.props)||(H.href=(0,d.addBasePath)(V)),i=M?a.default.cloneElement(o,H):(0,u.jsx)("a",{...D,...H,children:r}),(0,u.jsx)(v.Provider,{value:g,children:i})}let v=(0,a.createContext)(m.IDLE_LINK_STATUS),b=()=>(0,a.useContext)(v);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},863555,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(180338);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=i(e,r)),t&&(o.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},549757,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return S},MissingStaticPage:function(){return E},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return y},WEB_VITALS:function(){return i},execOnce:function(){return u},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return d},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return N}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function u(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let a=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&a.test(e)};function s(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&d(n))return r;if(!r)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let h="u">typeof performance,y=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class E extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class S extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function N(e){return JSON.stringify({message:e.message,stack:e.stack})}},658853,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(549757),o=e.r(144654);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},818732,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return a}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});function i(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function u(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,u(e));else t.set(n,u(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},626167,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421)._(e.r(818732)),u=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",a=e.hash||"",l=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:n&&(s=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(s+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||u.test(r))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${s}${o}${c}${a}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},903763,e=>{"use strict";var t=e.i(180338),n=e.i(605663),r=e.i(763371);let o=[],i=new Set,u=()=>i.forEach(e=>e()),a=e=>(i.add(e),()=>{i.delete(e)}),l=()=>o[o.length-1]??null;e.s(["ItemCommandKeys",0,function(){return(0,t.useEffect)(()=>{function e(e){let t=(0,n.itemActionForKey)(e.key);if(!t||!(0,n.shouldHandleShortcut)(e)||document.querySelector("[role=menu]"))return;let r=l()?.get().find(e=>e.action===t);r&&(e.preventDefault(),r.run())}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),null},"itemKeyLabel",0,e=>n.ITEM_KEYS[e].label,"useCurrentItemCommands",0,function(){let e=(0,t.useSyncExternalStore)(a,l,()=>null);return e&&{title:e.title,commands:e.get()}},"useItemCommands",0,function(e,n){let i=(0,t.useRef)(n),{demo:a}=(0,r.useApp)();(0,t.useEffect)(()=>{i.current=n}),(0,t.useEffect)(()=>{if(!e||a)return;let t={title:e,get:()=>i.current};return o=[...o,t],u(),()=>{o=o.filter(e=>e!==t),u()}},[e,a])}])},980376,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(287272),o=e.i(294237),i=e.i(765470),u=e.i(975157);let a=r.Root;r.Trigger,r.Close;let l=r.Portal,s=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Overlay,{className:(0,u.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n,ref:o}));s.displayName=r.Overlay.displayName;let c=(0,o.cva)("fixed z-50 gap-4 bg-surface p-6 shadow-lg transition ease-(--ease-out-soft) data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-(--duration-base) data-[state=open]:duration-(--duration-slow)",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),f=n.forwardRef(({side:e="right",className:n,children:o,...a},f)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(s,{}),(0,t.jsxs)(r.Content,{ref:f,className:(0,u.cn)(c({side:e}),n),...a,children:[o,(0,t.jsxs)(r.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));f.displayName=r.Content.displayName;let d=({className:e,...n})=>(0,t.jsx)("div",{className:(0,u.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...n});d.displayName="SheetHeader";let p=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Title,{ref:o,className:(0,u.cn)("text-lg font-semibold text-txt",e),...n}));p.displayName=r.Title.displayName;let m=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Description,{ref:o,className:(0,u.cn)("text-sm text-muted",e),...n}));m.displayName=r.Description.displayName,e.s(["Sheet",0,a,"SheetContent",0,f,"SheetDescription",0,m,"SheetHeader",0,d,"SheetTitle",0,p])}]);
|