vibedoc 1.9.0 → 1.11.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 +7 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +41 -13
- package/.next/routes-manifest.json +42 -6
- 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)/graph/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(app)/graph/page/build-manifest.json +20 -0
- package/.next/server/app/(app)/graph/page/next-font-manifest.json +11 -0
- package/.next/server/app/(app)/graph/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(app)/graph/page.js +15 -0
- package/.next/server/app/(app)/graph/page.js.nft.json +1 -0
- package/.next/server/app/(app)/graph/page_client-reference-manifest.js +3 -0
- 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.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 +23 -22
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/activity.segments/_full.segment.rsc +23 -22
- package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/activity/route.js +2 -2
- 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 -2
- package/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/route.js +2 -2
- package/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/.next/server/app/api/decisions/route.js +2 -2
- package/.next/server/app/api/decisions/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/graph/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/docs/graph/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/docs/graph/route.js +9 -0
- package/.next/server/app/api/docs/graph/route.js.map +5 -0
- package/.next/server/app/api/docs/graph/route.js.nft.json +1 -0
- package/.next/server/app/api/docs/graph/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/docs/links/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/docs/links/route/build-manifest.json +12 -0
- package/.next/server/app/api/docs/links/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/docs/links/route.js +9 -0
- package/.next/server/app/api/docs/links/route.js.map +5 -0
- package/.next/server/app/api/docs/links/route.js.nft.json +1 -0
- package/.next/server/app/api/docs/links/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/docs/route.js +2 -2
- package/.next/server/app/api/docs/route.js.nft.json +1 -1
- package/.next/server/app/api/explorer/route.js +2 -2
- package/.next/server/app/api/explorer/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/delete/route.js +2 -2
- package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/merge/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/merge/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/merge/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/merge/route.js +9 -0
- package/.next/server/app/api/memory/entries/merge/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/merge/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/merge/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js +9 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/merge/undo/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/restore/route.js +2 -2
- package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/route.js +2 -2
- package/.next/server/app/api/memory/entries/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/save/route.js +2 -2
- package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/graph/route.js +2 -2
- package/.next/server/app/api/memory/graph/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/health/dismiss/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/health/dismiss/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/health/dismiss/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/health/dismiss/route.js +9 -0
- package/.next/server/app/api/memory/health/dismiss/route.js.map +5 -0
- package/.next/server/app/api/memory/health/dismiss/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/health/dismiss/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/health/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/health/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/health/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/health/route.js +8 -0
- package/.next/server/app/api/memory/health/route.js.map +5 -0
- package/.next/server/app/api/memory/health/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/health/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/history/route.js +2 -2
- package/.next/server/app/api/memory/history/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +2 -2
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/plan/apply/route.js +2 -2
- package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/route.js +2 -2
- package/.next/server/app/api/registry/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/create/route.js +2 -2
- package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/delete/route.js +2 -2
- package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/generate/route.js +2 -2
- package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/layout/route.js +2 -2
- package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/restore/route.js +2 -2
- package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/route.js +2 -2
- package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/update/route.js +2 -2
- package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +2 -2
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +2 -2
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/generate/route.js +2 -2
- package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/write/route.js +2 -2
- package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
- package/.next/server/app/api/summary/route.js +2 -2
- package/.next/server/app/api/summary/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/bulk/route.js +2 -2
- package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/create/route.js +2 -2
- package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/delete/route.js +2 -2
- package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/manual-tests/route.js +2 -2
- package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/restore/route.js +2 -2
- package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/review/route.js +2 -2
- package/.next/server/app/api/tasks/review/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +2 -2
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/update/route.js +2 -2
- package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
- package/.next/server/app/api/views/route.js +2 -2
- 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 +23 -22
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/board.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/chat.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/docs.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/explorer.segments/_full.segment.rsc +23 -22
- package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/graph.html +1 -0
- package/.next/server/app/graph.meta +31 -0
- package/.next/server/app/graph.rsc +32 -0
- package/.next/server/app/graph.segments/!KGFwcCk/graph/__PAGE__.segment.rsc +33 -0
- package/.next/server/app/graph.segments/_full.segment.rsc +32 -0
- package/.next/server/app/graph.segments/_tree.segment.rsc +6 -0
- 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 +23 -22
- package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/manual-tests.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/memory.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/roadmap.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +9 -10
- package/.next/server/app/settings.segments/_full.segment.rsc +23 -22
- 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 +23 -22
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/setup.segments/_full.segment.rsc +23 -22
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app-paths-manifest.json +7 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-_cqh8._.js → 11mp_@anthropic-ai_sdk_0-r4g2t._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00o5o78._.js → 11mp_@anthropic-ai_sdk_01gyja3._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_03cp17a._.js → 11mp_@anthropic-ai_sdk_02lx_j3._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07dk2er._.js → 11mp_@anthropic-ai_sdk_05iv23g._.js} +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_05oneea._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_07fgg-l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_5gzfy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_jynr-._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aykesf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0br_1fc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0cd5lu7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ckxhy7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e5qkuv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0el8pm6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i4w8fv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7ckik._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l1p4c6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0m-xqs_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0nltdmf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qxmzg8._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0spr_aj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0th0pyh._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0x21fif._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-7bj56._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-efoj1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13vu693._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13w62gi._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1887ce1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jq3yb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1agvp6h._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b1-3vt._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ekldtb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ezcndt._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1gr-orf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1hf-884._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ndwnmb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rdesfd._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s8h60-._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tgk9wk._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1uugb45._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0hfyuhq._.js → [root-of-the-server]__06ndlro._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0b2488c._.js → [root-of-the-server]__08v3p50._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0ikbk15._.js → [root-of-the-server]__0cxmrop._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js +126 -0
- package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1b448u7._.js → [root-of-the-server]__0hk-9ll._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__16u25oa._.js → [root-of-the-server]__0i1yba1._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js +126 -0
- package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1jz98vb._.js → [root-of-the-server]__0pz59qo._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0rggulw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rggulw._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__08yaps5._.js → [root-of-the-server]__0rikmqn._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__008focd._.js → [root-of-the-server]__0usdydm._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1z3tswg._.js → [root-of-the-server]__0wc_gnr._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1gvv2xp._.js → [root-of-the-server]__0xldguc._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1xpp36t._.js → [root-of-the-server]__0zy73pu._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1tu85zx._.js → [root-of-the-server]__11nbc9e._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__11nbc9e._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0m8hmg0._.js → [root-of-the-server]__11rp-qx._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0y5usoz._.js → [root-of-the-server]__1ef-hw_._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1pjwaan._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__01xmabe._.js.map → [root-of-the-server]__1pjwaan._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0qij7wy._.js → [root-of-the-server]__1qcy2l0._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0axugex._.js → [root-of-the-server]__1r67yrn._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1skrybv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1skrybv._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__03ogp2r._.js → [root-of-the-server]__1sn6-7a._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1vnine1._.js +126 -0
- package/.next/server/chunks/[root-of-the-server]__1vnine1._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0x8wtot._.js → [root-of-the-server]__1wbho9e._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1ssunti._.js → [root-of-the-server]__1yh-4vk._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0cbh1s-._.js → [root-of-the-server]__1zhd93r._.js} +2 -2
- package/.next/server/chunks/_04byth9._.js +33 -28
- 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/_next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js.map +1 -0
- package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js → 0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js} +2 -2
- package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map +1 -0
- package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_1kb5xea._.js → 1u84_katex_dist_katex_mjs_0yg8zto._.js} +1 -1
- package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_0yg8zto._.js.map +1 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1tcci-3._.js +3 -0
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1tcci-3._.js.map +1 -0
- package/.next/server/chunks/ssr/{1x05_lucide-react_dist_esm_icons_14hl50o._.js → 1x05_lucide-react_dist_esm_icons_1uybmua._.js} +2 -2
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_1uybmua._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js.map +1 -0
- package/.next/server/chunks/ssr/_02ks8_a._.js +3 -0
- package/.next/server/chunks/ssr/_02ks8_a._.js.map +1 -0
- 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/_0696iog._.js +3 -0
- package/.next/server/chunks/ssr/_0696iog._.js.map +1 -0
- package/.next/server/chunks/ssr/_0ghj-vx._.js +3 -0
- package/.next/server/chunks/ssr/_0ghj-vx._.js.map +1 -0
- package/.next/server/chunks/ssr/{_0idb-vo._.js → _0kob2si._.js} +2 -2
- package/.next/server/chunks/ssr/_0kob2si._.js.map +1 -0
- package/.next/server/chunks/ssr/_0me5_6x._.js +3 -0
- package/.next/server/chunks/ssr/_0me5_6x._.js.map +1 -0
- package/.next/server/chunks/ssr/_0pg63il._.js +3 -0
- package/.next/server/chunks/ssr/_0pg63il._.js.map +1 -0
- package/.next/server/chunks/ssr/_0rmo9r-._.js +4 -0
- package/.next/server/chunks/ssr/_0rmo9r-._.js.map +1 -0
- package/.next/server/chunks/ssr/_0ust7tw._.js +4 -0
- package/.next/server/chunks/ssr/_0ust7tw._.js.map +1 -0
- package/.next/server/chunks/ssr/_16b4hkt._.js +3 -0
- package/.next/server/chunks/ssr/_16b4hkt._.js.map +1 -0
- package/.next/server/chunks/ssr/_190c11r._.js +3 -0
- package/.next/server/chunks/ssr/_190c11r._.js.map +1 -0
- package/.next/server/chunks/ssr/_19k2iz0._.js +70 -0
- package/.next/server/chunks/ssr/_19k2iz0._.js.map +1 -0
- package/.next/server/chunks/ssr/_1b82nz3._.js +3 -0
- package/.next/server/chunks/ssr/_1b82nz3._.js.map +1 -0
- package/.next/server/chunks/ssr/_1cz8dnu._.js +3 -0
- package/.next/server/chunks/ssr/_1cz8dnu._.js.map +1 -0
- package/.next/server/chunks/ssr/_1feybpz._.js +3 -0
- package/.next/server/chunks/ssr/_1feybpz._.js.map +1 -0
- package/.next/server/chunks/ssr/_1r_t_wi._.js +3 -0
- package/.next/server/chunks/ssr/_1r_t_wi._.js.map +1 -0
- package/.next/server/chunks/ssr/_1t8it2w._.js +3 -0
- package/.next/server/chunks/ssr/_1t8it2w._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_189m48n._.js → node_modules__pnpm_00f4yhs._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_00f4yhs._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1min2jl._.js → node_modules__pnpm_035haet._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1uwkcin._.js → node_modules__pnpm_03an60e._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1q_hhr3._.js → node_modules__pnpm_03mp7qw._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ctisl0._.js → node_modules__pnpm_03mpmzx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0fwp8jm._.js → node_modules__pnpm_06_8fr8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_17i6z2d._.js → node_modules__pnpm_09nd7ia._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_192f222._.js → node_modules__pnpm_0_e05ka._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1ygal0c._.js → node_modules__pnpm_0iu4132._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_16u1vfb._.js → node_modules__pnpm_0j_-le7._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules__pnpm_0j_-le7._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0kpu0-2._.js → node_modules__pnpm_0jampur._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1aa37e1._.js → node_modules__pnpm_0lkvbt-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0vry74x._.js → node_modules__pnpm_0mqeoh-._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_06d-fdo._.js → node_modules__pnpm_0oyo3yo._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_1qp_jvj._.js → node_modules__pnpm_0rq9x9q._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_01bjcv9._.js → node_modules__pnpm_0tn5pg3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0ycbjbd._.js → node_modules__pnpm_0x5wj-4._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_14piqi4._.js → node_modules__pnpm_0zz55xq._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0zz55xq._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1fn3ejy._.js → node_modules__pnpm_139-v1i._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1txccoj._.js → node_modules__pnpm_1i_chik._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1qmkxyo._.js → node_modules__pnpm_1jgju12._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1ssjj4u._.js → node_modules__pnpm_1n9oeu0._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1-76qxg._.js → node_modules__pnpm_1ws3ez9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1-r94f7._.js → node_modules__pnpm_1ydeqw6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1f440kx._.js → node_modules__pnpm_1zme4rg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_03qrzdb._.js → node_modules__pnpm_1zum4yd._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1a48_nl._.js → node_modules__pnpm_2045l51._.js} +1 -1
- package/.next/server/chunks/ssr/src_1e9kctc._.js +3 -0
- package/.next/server/chunks/ssr/src_1e9kctc._.js.map +1 -0
- 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)_chat_page_tsx_0c3e4l4._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.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)_memory_page_tsx_19jhb1c._.js +3 -2
- 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_app_(app)_settings_page_tsx_0zevtee._.js +2 -2
- package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_1yids_n._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_docs_editor-theme_ts_0ji4rd5._.js +3 -0
- package/.next/server/chunks/ssr/src_components_docs_editor-theme_ts_0ji4rd5._.js.map +1 -0
- package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js.map +1 -0
- 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 +4 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +19 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/036fex6o238at.css +1 -0
- package/.next/static/chunks/03tzhv775qv5m.js +1 -0
- package/.next/static/chunks/05rjl54wa6y43.js +1 -0
- package/.next/static/chunks/0_8ovyz2sbr3p.js +1 -0
- package/.next/static/chunks/0do6j4i1v_c6s.js +1 -0
- package/.next/static/chunks/{3xqcluqa32mjv.js → 0h52yb69w77nq.js} +2 -2
- package/.next/static/chunks/0kb25y5g772mn.js +1 -0
- package/.next/static/chunks/0pmpdvev8bf-o.js +1 -0
- package/.next/static/chunks/10itjt9fhlzr1.js +68 -0
- package/.next/static/chunks/13cz-8lvre7gj.js +1 -0
- package/.next/static/chunks/1b9r_vdcewfu7.js +1 -0
- package/.next/static/chunks/1c459q7xpgq6r.js +3 -0
- package/.next/static/chunks/1c5ibgojv8jdi.js +3 -0
- package/.next/static/chunks/1huu1nljqois-.js +1 -0
- package/.next/static/chunks/1l8fp2uesk29q.js +1 -0
- package/.next/static/chunks/1pmgcotwq-_yh.js +1 -0
- package/.next/static/chunks/1s64z5c36fv-4.js +21 -0
- package/.next/static/chunks/1v63qs4kxxcfh.js +1 -0
- package/.next/static/chunks/{1l_dys0-y5-r7.js → 1xxzt2y2ttqql.js} +1 -1
- package/.next/static/chunks/2-0lpccy0f8bk.js +2 -0
- package/.next/static/chunks/263i_dcdizuvd.js +1 -0
- package/.next/static/chunks/2mf5us3y9wd9g.js +1 -0
- package/.next/static/chunks/2x6eh3w-u8lk4.js +1 -0
- package/.next/static/chunks/36s2k2k_w-or8.js +1 -0
- package/.next/static/chunks/37u2gjz5dzhep.js +1 -0
- package/.next/static/chunks/3ctec-7mnm19m.js +1 -0
- package/.next/static/chunks/3rtr962aa09nh.js +12 -0
- package/.next/static/chunks/3x43gd45wlhbl.js +1 -0
- package/.next/static/chunks/42c9smmpcu4re.js +1 -0
- package/README.md +12 -6
- package/package.json +3 -2
- package/.next/server/app/api/backlinks/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/backlinks/route.js +0 -8
- package/.next/server/app/api/backlinks/route.js.nft.json +0 -1
- package/.next/server/app/api/backlinks/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_e9zpr._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_xx_qf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aer9lc._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ax30pe._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gn7vgs._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hye94a._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ir5cgk._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0je0_pa._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jfgh0o._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0mha4x1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0n__boa._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0sqv26_._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wnc6g-._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0xh0g59._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-5wyhj._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13ahm3n._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13e6aq4._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14eg0ld._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_15md1n2._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16av8b9._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16hjhv1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16txvf7._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__01xmabe._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js +0 -110
- package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js +0 -110
- package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js +0 -110
- package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_backlinks_route_actions_1_58m09.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_0wurouw._.js.map +0 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_14hl50o._.js.map +0 -1
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +0 -1
- package/.next/server/chunks/ssr/_071j6mr._.js +0 -4
- package/.next/server/chunks/ssr/_071j6mr._.js.map +0 -1
- package/.next/server/chunks/ssr/_0i75x-o._.js +0 -3
- package/.next/server/chunks/ssr/_0i75x-o._.js.map +0 -1
- package/.next/server/chunks/ssr/_0idb-vo._.js.map +0 -1
- package/.next/server/chunks/ssr/_0qp3gu7._.js +0 -3
- package/.next/server/chunks/ssr/_0qp3gu7._.js.map +0 -1
- package/.next/server/chunks/ssr/_15qpb4z._.js +0 -3
- package/.next/server/chunks/ssr/_15qpb4z._.js.map +0 -1
- package/.next/server/chunks/ssr/_1fg0usp._.js +0 -3
- package/.next/server/chunks/ssr/_1fg0usp._.js.map +0 -1
- package/.next/server/chunks/ssr/_1h0wfpz._.js +0 -3
- package/.next/server/chunks/ssr/_1h0wfpz._.js.map +0 -1
- package/.next/server/chunks/ssr/_1ncdakv._.js +0 -4
- package/.next/server/chunks/ssr/_1ncdakv._.js.map +0 -1
- package/.next/server/chunks/ssr/_1ocnpth._.js +0 -3
- package/.next/server/chunks/ssr/_1ocnpth._.js.map +0 -1
- package/.next/server/chunks/ssr/_1t76zdx._.js +0 -3
- package/.next/server/chunks/ssr/_1t76zdx._.js.map +0 -1
- package/.next/server/chunks/ssr/_1uno162._.js +0 -3
- package/.next/server/chunks/ssr/_1uno162._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1xeothw._.js +0 -3
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +0 -3
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_1s861m8._.js +0 -3
- package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_1kshaz1._.js +0 -70
- package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_1kshaz1._.js.map +0 -1
- package/.next/static/chunks/02cj5_i9np4sg.js +0 -3
- package/.next/static/chunks/0b547y6rqct9z.js +0 -1
- package/.next/static/chunks/0e3ha56i_0j05.css +0 -1
- package/.next/static/chunks/0f32hudp0yir7.js +0 -2
- package/.next/static/chunks/0mgifb98wbesa.js +0 -1
- package/.next/static/chunks/0rsmz1jgro1kj.js +0 -1
- package/.next/static/chunks/0wnq_kh8-6wc1.js +0 -2
- package/.next/static/chunks/13l4l-boqg8fx.js +0 -1
- package/.next/static/chunks/14hxe1qiaram9.js +0 -1
- package/.next/static/chunks/16k196zyl-n9q.js +0 -1
- package/.next/static/chunks/18b5l8p0vd9f8.js +0 -1
- package/.next/static/chunks/1acpfyut6j4e2.js +0 -1
- package/.next/static/chunks/1rko_88i85yqb.js +0 -21
- package/.next/static/chunks/1tu8lforstp1o.js +0 -1
- package/.next/static/chunks/20mdcup14_0yi.js +0 -11
- package/.next/static/chunks/23-xknrz6o748.js +0 -1
- package/.next/static/chunks/24u_rc2tbkhai.js +0 -3
- package/.next/static/chunks/2p-pkveutoh75.js +0 -1
- package/.next/static/chunks/329sozud9-tvr.js +0 -1
- package/.next/static/chunks/3qqvn9vv6i0gy.js +0 -68
- package/.next/static/chunks/3ruw8lu2_re-h.js +0 -1
- /package/.next/server/app/{api/backlinks/route → (app)/graph/page}/server-reference-manifest.json +0 -0
- /package/.next/server/app/{api/backlinks/route.js.map → (app)/graph/page.js.map} +0 -0
- /package/.next/server/app/api/{backlinks → docs/graph}/route/build-manifest.json +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0-_cqh8._.js.map → 11mp_@anthropic-ai_sdk_0-r4g2t._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00o5o78._.js.map → 11mp_@anthropic-ai_sdk_01gyja3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_03cp17a._.js.map → 11mp_@anthropic-ai_sdk_02lx_j3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07dk2er._.js.map → 11mp_@anthropic-ai_sdk_05iv23g._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_e9zpr._.js.map → 11mp_@anthropic-ai_sdk_05oneea._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_xx_qf._.js.map → 11mp_@anthropic-ai_sdk_07fgg-l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0aer9lc._.js.map → 11mp_@anthropic-ai_sdk_0_5gzfy._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ax30pe._.js.map → 11mp_@anthropic-ai_sdk_0_jynr-._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gn7vgs._.js.map → 11mp_@anthropic-ai_sdk_0aykesf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0hye94a._.js.map → 11mp_@anthropic-ai_sdk_0br_1fc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ir5cgk._.js.map → 11mp_@anthropic-ai_sdk_0cd5lu7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0je0_pa._.js.map → 11mp_@anthropic-ai_sdk_0ckxhy7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0jfgh0o._.js.map → 11mp_@anthropic-ai_sdk_0e5qkuv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0mha4x1._.js.map → 11mp_@anthropic-ai_sdk_0el8pm6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0n__boa._.js.map → 11mp_@anthropic-ai_sdk_0i4w8fv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0sqv26_._.js.map → 11mp_@anthropic-ai_sdk_0i7ckik._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wnc6g-._.js.map → 11mp_@anthropic-ai_sdk_0l1p4c6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0xh0g59._.js.map → 11mp_@anthropic-ai_sdk_0m-xqs_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1-5wyhj._.js.map → 11mp_@anthropic-ai_sdk_0nltdmf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13ahm3n._.js.map → 11mp_@anthropic-ai_sdk_0qxmzg8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_13e6aq4._.js.map → 11mp_@anthropic-ai_sdk_0spr_aj._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_14eg0ld._.js.map → 11mp_@anthropic-ai_sdk_0th0pyh._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15md1n2._.js.map → 11mp_@anthropic-ai_sdk_0x21fif._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16av8b9._.js.map → 11mp_@anthropic-ai_sdk_1-7bj56._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16hjhv1._.js.map → 11mp_@anthropic-ai_sdk_1-efoj1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_16txvf7._.js.map → 11mp_@anthropic-ai_sdk_13vu693._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_198yu7d._.js.map → 11mp_@anthropic-ai_sdk_13w62gi._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_9tfq3._.js.map → 11mp_@anthropic-ai_sdk_1887ce1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1_izr2o._.js.map → 11mp_@anthropic-ai_sdk_1_jq3yb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fljcyg._.js.map → 11mp_@anthropic-ai_sdk_1agvp6h._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lrt6ul._.js.map → 11mp_@anthropic-ai_sdk_1b1-3vt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1nev_ee._.js.map → 11mp_@anthropic-ai_sdk_1ekldtb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1pgoe2i._.js.map → 11mp_@anthropic-ai_sdk_1ezcndt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rgl7mu._.js.map → 11mp_@anthropic-ai_sdk_1gr-orf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1slq49k._.js.map → 11mp_@anthropic-ai_sdk_1hf-884._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1t9bdf0._.js.map → 11mp_@anthropic-ai_sdk_1ndwnmb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1u6qqm2._.js.map → 11mp_@anthropic-ai_sdk_1rdesfd._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1v7ygvz._.js.map → 11mp_@anthropic-ai_sdk_1s8h60-._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1wls8zc._.js.map → 11mp_@anthropic-ai_sdk_1tgk9wk._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ywboja._.js.map → 11mp_@anthropic-ai_sdk_1uugb45._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0hfyuhq._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1tu85zx._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1xpp36t._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js.map} +0 -0
- /package/.next/server/chunks/{_next-internal_server_app_api_backlinks_route_actions_1_58m09.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_027n2yl._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_1kb5xea._.js.map → [root-of-the-server]__06ndlro._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0b2488c._.js.map → [root-of-the-server]__08v3p50._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0ikbk15._.js.map → [root-of-the-server]__0cxmrop._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1b448u7._.js.map → [root-of-the-server]__0hk-9ll._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__16u25oa._.js.map → [root-of-the-server]__0i1yba1._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1jz98vb._.js.map → [root-of-the-server]__0pz59qo._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__08yaps5._.js.map → [root-of-the-server]__0rikmqn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__008focd._.js.map → [root-of-the-server]__0usdydm._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1ssunti._.js.map → [root-of-the-server]__0wc_gnr._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1gvv2xp._.js.map → [root-of-the-server]__0xldguc._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_14piqi4._.js.map → [root-of-the-server]__0zy73pu._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0m8hmg0._.js.map → [root-of-the-server]__11rp-qx._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0y5usoz._.js.map → [root-of-the-server]__1ef-hw_._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0qij7wy._.js.map → [root-of-the-server]__1qcy2l0._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0axugex._.js.map → [root-of-the-server]__1r67yrn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__03ogp2r._.js.map → [root-of-the-server]__1sn6-7a._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0x8wtot._.js.map → [root-of-the-server]__1wbho9e._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1z3tswg._.js.map → [root-of-the-server]__1yh-4vk._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0cbh1s-._.js.map → [root-of-the-server]__1zhd93r._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_16u1vfb._.js.map → _next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_189m48n._.js.map → _next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_1xeothw._.js.map → _next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1min2jl._.js.map → node_modules__pnpm_035haet._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1uwkcin._.js.map → node_modules__pnpm_03an60e._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1q_hhr3._.js.map → node_modules__pnpm_03mp7qw._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ctisl0._.js.map → node_modules__pnpm_03mpmzx._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0fwp8jm._.js.map → node_modules__pnpm_06_8fr8._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_17i6z2d._.js.map → node_modules__pnpm_09nd7ia._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_192f222._.js.map → node_modules__pnpm_0_e05ka._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1ygal0c._.js.map → node_modules__pnpm_0iu4132._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0kpu0-2._.js.map → node_modules__pnpm_0jampur._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1aa37e1._.js.map → node_modules__pnpm_0lkvbt-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0vry74x._.js.map → node_modules__pnpm_0mqeoh-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_06d-fdo._.js.map → node_modules__pnpm_0oyo3yo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1qp_jvj._.js.map → node_modules__pnpm_0rq9x9q._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_01bjcv9._.js.map → node_modules__pnpm_0tn5pg3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0ycbjbd._.js.map → node_modules__pnpm_0x5wj-4._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1fn3ejy._.js.map → node_modules__pnpm_139-v1i._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1txccoj._.js.map → node_modules__pnpm_1i_chik._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1qmkxyo._.js.map → node_modules__pnpm_1jgju12._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1ssjj4u._.js.map → node_modules__pnpm_1n9oeu0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1-76qxg._.js.map → node_modules__pnpm_1ws3ez9._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1-r94f7._.js.map → node_modules__pnpm_1ydeqw6._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1f440kx._.js.map → node_modules__pnpm_1zme4rg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_03qrzdb._.js.map → node_modules__pnpm_1zum4yd._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1a48_nl._.js.map → node_modules__pnpm_2045l51._.js.map} +0 -0
- /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx → 5hNes2Kijr5IvUPPw-ez9}/_buildManifest.js +0 -0
- /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx → 5hNes2Kijr5IvUPPw-ez9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Q29Tn_NjyVms0d3pKn4Yx → 5hNes2Kijr5IvUPPw-ez9}/_ssgManifest.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
module.exports=[690793,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(365465),e=a.i(152716),f=a.i(340933),g=a.i(795667),h=a.i(926128),i=a.i(553415),j=a.i(200382),k=a.i(551729),l=a.i(913975),m=a.i(544394),n=a.i(21215),o=a.i(699570);let p=a=>"done"===a||"cancelled"===a;function q(a,b){let c=new Map(b.map(a=>[a.id,a])),d=a.tasks.map(a=>c.get(a)).filter(a=>!!a),e=a=>[...new Set((a.dependsOn.match(/\bT\d+\b/gi)??[]).map(a=>a.toUpperCase()))].filter(a=>{let b=c.get(a);return!b||!p(b.status)});for(let a of d)if("todo"===a.status&&!e(a).length)return{kind:"ready",taskId:a.id};if(d.every(a=>p(a.status)))return{kind:"finished"};let f=new Set(a.tasks),g=new Map,h=a=>{if(g.has(a))return g.get(a)??!1;g.set(a,!1);let b=c.get(a),d=!!b&&"blocked"!==b.status&&"paused"!==b.status&&"review"!==b.status&&("todo"!==b.status||f.has(a)&&e(b).every(h));return g.set(a,d),d},i=[];for(let b of a.tasks){let a=c.get(b);if(a){if("in-progress"===a.status)i.push({taskId:b,reason:`${b} is in progress (claimed)`});else if("blocked"===a.status)i.push({taskId:b,reason:`${b} is blocked`});else if("paused"===a.status)i.push({taskId:b,reason:`${b} is paused — needs a human to resume it`});else if("review"===a.status)i.push({taskId:b,reason:`${b} in review — needs a human`});else if("todo"===a.status){let d=e(a).map(a=>`${a} (${c.get(a)?.status??"missing"})`);i.push({taskId:b,reason:`${b} waits on ${d.join(", ")}`})}}else i.push({taskId:b,reason:`${b} has no task file`})}return{kind:"waiting",waiting:i,needsHuman:i.every(a=>!h(a.taskId))}}var r=a.i(452696),s=a.i(368114),t=a.i(525395),u=a.i(618940),v=a.i(815122),w=a.i(581040);function x({items:a,today:d,onSelect:e,onItemContextMenu:f,progressById:g}){let h=new Map(a.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order).map((a,b)=>[a.id,b+1])),i=(0,c.useMemo)(()=>(0,w.buildTimeline)(a,d),[a,d]),j=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=j.current;a&&(a.scrollLeft=Math.max(0,i.todayX-(a.clientWidth-200)/3))},[i.todayX]);let k=i.lanes.some(a=>a.markers.length>0);return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0 flex-col",children:[(0,b.jsx)("div",{ref:j,className:"relative flex-1 min-h-0 overflow-auto",children:(0,b.jsxs)("div",{className:"relative",style:{width:200+i.width,minHeight:"100%"},children:[(0,b.jsxs)("div",{className:"pointer-events-none absolute inset-y-0",style:{left:200,width:i.width},children:[i.months.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 border-l border-border",style:{left:a.x}},a.x)),(0,b.jsx)("div",{className:"absolute inset-y-0 left-0 bg-surface/50",style:{width:i.todayX}}),(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-accent shadow-[0_0_12px_rgb(var(--rgb-accent)/0.8)]",style:{left:i.todayX},children:(0,b.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,b.jsxs)("div",{className:"sticky top-0 z-20 flex border-b border-border bg-bg",style:{height:36},children:[(0,b.jsx)("div",{className:"sticky left-0 z-10 shrink-0 bg-bg",style:{width:200}}),(0,b.jsx)("div",{className:"relative",children:i.months.map(a=>(0,b.jsx)("span",{className:"absolute top-3 whitespace-nowrap pl-2 font-mono text-[10px] uppercase tracking-widest text-muted",style:{left:a.x},children:a.label},a.x))})]}),i.lanes.map(a=>(0,b.jsxs)("div",{className:"relative flex border-b border-border",children:[(0,b.jsx)(y,{item:a.item,chapter:h.get(a.item.id),progress:g[a.item.id],onSelect:e,onContextMenu:f}),(0,b.jsx)("div",{className:"relative",style:{width:i.width,height:a.rows*w.LANE_ROW_H+12},children:a.markers.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.item.id),onContextMenu:b=>f?.(a.item.id,b),title:`${a.item.id} \xb7 ${a.item.title} \xb7 due ${a.item.due}${"overdue"===a.state?" (overdue)":""}`,className:"group absolute flex items-center gap-1.5",style:{left:a.x-10,top:6+a.row*w.LANE_ROW_H},children:[a.horizon?(0,b.jsx)("span",{className:(0,s.cn)("h-4 w-4 rotate-45 border-2 border-accent","done"===a.item.status?"bg-accent":"bg-bg","overdue"===a.state&&"border-danger")}):(0,b.jsx)("span",{className:(0,s.cn)("rounded-full","overdue"===a.state&&"ring-2 ring-danger ring-offset-1 ring-offset-bg"),children:(0,b.jsx)(u.StatusDot,{status:a.item.status})}),(0,b.jsxs)("span",{className:(0,s.cn)("flex max-w-[150px] flex-col rounded-md border px-2 py-0.5 text-left transition-colors","in-progress"===a.item.status?"border-accent/50 bg-surface shadow-[0_6px_18px_-10px_rgb(var(--rgb-accent)/0.7)]":"done"===a.item.status?"border-border bg-surface/60":"border-dashed border-border2 bg-bg","group-hover:border-accent"),children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:(0,s.cn)("truncate text-xs","done"===a.item.status?"text-muted":"text-txt",a.horizon&&"font-semibold"),children:a.item.title}),(0,b.jsx)(v.AgentDot,{attach:{kind:"epic",id:a.item.id}})]}),(0,b.jsx)("span",{className:(0,s.cn)("font-mono text-[10px]","overdue"===a.state?"text-danger":"soon"===a.state?"text-amber":"text-muted"),children:(0,w.formatDay)(a.item.due)})]})]},a.item.id))})]},a.item.id)),!k&&(0,b.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."})]})}),i.undated.length>0&&(0,b.jsxs)("div",{className:"max-h-28 shrink-0 overflow-y-auto border-t border-border bg-surface px-4 py-2",children:[(0,b.jsxs)("p",{className:"mb-2 font-mono text-[10px] uppercase tracking-widest text-muted",children:["No due date · ",i.undated.length]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.undated.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.id),onContextMenu:b=>f?.(a.id,b),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,b.jsx)(u.StatusDot,{status:a.status}),a.title,(0,b.jsx)(v.AgentDot,{attach:{kind:"epic",id:a.id}})]},a.id))})]})]})}function y({item:a,chapter:c,progress:d,onSelect:e,onContextMenu:f}){return(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.id),onContextMenu:b=>f?.(a.id,b),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,b.jsx)("span",{className:(0,s.cn)("font-mono text-lg font-semibold tabular-nums","in-progress"===a.status?"text-accent":"done"===a.status?"text-teal":"text-muted"),children:c?String(c).padStart(2,"0"):"··"}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:"line-clamp-2 text-[11px] font-semibold uppercase leading-snug tracking-wider text-txt",children:a.title}),d&&(0,b.jsx)("span",{className:"h-1 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("span",{className:"block h-full rounded-full bg-teal",style:{width:`${d.done/d.total*100}%`}})})]})]})}var z=a.i(453161),A=a.i(156298),B=a.i(441852),C=a.i(661661),D=a.i(757061),E=a.i(866718),F=a.i(149350),G=a.i(107742),H=a.i(685698),I=a.i(60084),J=a.i(717143),K=a.i(763747),L=a.i(28386),M=a.i(335732),N=a.i(890728);let O=["planned","in-progress","paused","done"];function P({item:a,items:c,actions:d}){let e=null===a.parent,f=c.filter(b=>null===b.parent&&b.id!==a.parent).sort((a,b)=>a.order-b.order),g=c.filter(b=>b.parent===a.id).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.edit(a.id),children:[(0,b.jsx)(C.Pencil,{})," Edit",(0,b.jsx)(M.DropdownMenuShortcut,{children:(0,N.itemKeyLabel)("edit")})]}),(0,b.jsxs)(M.DropdownMenuSub,{children:[(0,b.jsxs)(M.DropdownMenuSubTrigger,{children:[(0,b.jsx)(u.StatusDot,{status:a.status})," Status",(0,b.jsx)(M.DropdownMenuShortcut,{children:(0,N.itemKeyLabel)("status")})]}),(0,b.jsx)(M.DropdownMenuSubContent,{children:O.map(c=>(0,b.jsxs)(M.DropdownMenuItem,{disabled:c===a.status,onSelect:()=>d.setStatus(a.id,c),children:[(0,b.jsx)(u.StatusDot,{status:c})," ",u.STATUS_LABEL[c]]},c))})]}),!e&&f.length>0&&(0,b.jsxs)(M.DropdownMenuSub,{children:[(0,b.jsxs)(M.DropdownMenuSubTrigger,{children:[(0,b.jsx)(J.FolderInput,{})," Move to horizon"]}),(0,b.jsx)(M.DropdownMenuSubContent,{className:"max-h-72 overflow-y-auto",children:f.map(c=>(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.move(a.id,c.id),children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted",children:c.id})," ",c.title]},c.id))})]}),e&&(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.addEpic(a.id),children:[(0,b.jsx)(j.Plus,{})," Add epic"]}),(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.duplicate(a.id),children:[(0,b.jsx)(I.Copy,{})," Duplicate",(0,b.jsx)(M.DropdownMenuShortcut,{children:(0,N.itemKeyLabel)("duplicate")})]}),(0,b.jsx)(M.DropdownMenuSeparator,{}),!e&&(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.chat(a.id),children:[(0,b.jsx)(B.MessageSquare,{})," Chat about it",(0,b.jsx)(M.DropdownMenuShortcut,{children:(0,N.itemKeyLabel)("chat")})]}),(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.openFile(a.file),children:[(0,b.jsx)(h.FileText,{})," Open file"]}),(0,b.jsx)(M.DropdownMenuSeparator,{}),g>0?(0,b.jsxs)(M.DropdownMenuItem,{disabled:!0,className:"flex-col items-start gap-0",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(L.Trash2,{})," Delete"]}),(0,b.jsxs)("span",{className:"pl-6 text-[11px]",children:["Move or delete its ",g," epic",1===g?"":"s"," first"]})]}):(0,b.jsxs)(M.DropdownMenuItem,{onSelect:()=>d.remove(a.id),className:"text-danger focus:text-danger",children:[(0,b.jsx)(L.Trash2,{})," Delete",(0,b.jsx)(M.DropdownMenuShortcut,{children:(0,N.itemKeyLabel)("remove")})]})]})}function Q({item:a,items:c,actions:d,className:e,open:f,onOpenChange:g}){return(0,b.jsxs)(M.DropdownMenu,{open:f,onOpenChange:g,children:[(0,b.jsx)(M.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":`Actions for ${a.id}`,className:(0,s.cn)("grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt",e),children:(0,b.jsx)(K.MoreHorizontal,{className:"size-4"})})}),(0,b.jsx)(M.DropdownMenuContent,{align:"end",className:"w-52",children:(0,b.jsx)(P,{item:a,items:c,actions:d})})]})}function R({at:a,items:c,actions:d,onClose:e}){let f=a&&c.find(b=>b.id===a.id);return a&&f?(0,b.jsxs)(M.DropdownMenu,{open:!0,onOpenChange:a=>{a||e()},children:[(0,b.jsx)(M.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none fixed size-0",style:{left:a.x,top:a.y}})}),(0,b.jsx)(M.DropdownMenuContent,{align:"start",className:"w-52",children:(0,b.jsx)(P,{item:f,items:c,actions:d})})]},`${a.id}:${a.x}:${a.y}`):null}var S=a.i(813722),T=a.i(192698),U=a.i(787714),V=a.i(269769);let W=["planned","in-progress","paused","done"],X="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",Y="text-xs font-medium text-muted",Z="font-mono text-[10px] uppercase tracking-widest text-muted";function $({item:a,onClose:c,...d}){return(0,b.jsx)(D.Sheet,{open:!!a,onOpenChange:a=>{a||c()},children:(0,b.jsx)(D.SheetContent,{className:"w-[480px] sm:max-w-[480px] gap-0 bg-surface border-border text-txt flex flex-col overflow-y-auto p-0",children:a&&(0,b.jsx)(_,{item:a,onClose:c,...d},a.id)})})}function _(a){return a.editing?(0,b.jsx)(ab,{...a,onCancel:()=>a.onEditingChange(!1)}):(0,b.jsx)(aa,{...a,onEdit:()=>a.onEditingChange(!0)})}function aa({item:a,items:d,onClose:e,onAddFeature:f,onEditRaw:i,onSelect:k,tasksById:l,progressById:m,onEdit:n,actions:p,onSave:q}){let w=null===a.parent,x=d.find(b=>b.id===a.parent),y=d.filter(b=>b.parent===a.id).sort((a,b)=>a.order-b.order),z=m[a.id],E=(0,r.localToday)(),{chats:I,showAbout:J}=(0,H.useChats)(),K=w?void 0:(0,G.chatFor)(I,{kind:"epic",id:a.id}),L=!w&&0===a.tasks.length&&!K,[M,O]=(0,c.useState)(!1),P=b=>{q(a.id,b).then(a=>{a&&(0,V.toast)(a)})};return(0,N.useItemCommands)(`${a.id} \xb7 ${a.title}`,[{action:"edit",label:"Edit",run:n},{action:"status",label:"Change status…",run:()=>O(!0)},{action:"duplicate",label:"Duplicate",run:()=>p.duplicate(a.id)},...w?[]:[{action:"chat",label:"Chat about it",run:()=>p.chat(a.id)}],...y.length?[]:[{action:"remove",label:"Delete",run:()=>p.remove(a.id)}]]),(0,b.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,b.jsx)(T.ItemPanelHeader,{className:(0,s.cn)("px-6","in-progress"===a.status&&"bg-[linear-gradient(180deg,rgb(var(--rgb-accent)/0.08),transparent)]"),kicker:(0,b.jsx)(D.SheetDescription,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[x&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",onClick:()=>k(x.id),className:"truncate hover:text-txt",children:x.title}),(0,b.jsx)(A.ChevronRight,{className:"h-3 w-3 shrink-0"})]}),(0,b.jsxs)("span",{className:"shrink-0",children:[a.id," · ",w?"horizon":"epic"]}),(0,b.jsx)(v.AgentMark,{attach:{kind:"epic",id:a.id}})]})}),title:(0,b.jsx)(D.SheetTitle,{className:"text-xl font-semibold leading-tight text-txt",children:a.title}),menu:(0,b.jsx)(Q,{item:a,items:d,actions:p,open:M,onOpenChange:O}),properties:[{label:"Status",value:(0,b.jsx)(U.InlineSelect,{label:`Status of ${a.id}`,value:a.status,onChange:b=>p.setStatus(a.id,b),options:W.map(a=>({value:a,label:u.STATUS_LABEL[a],node:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.StatusDot,{status:a}),u.STATUS_LABEL[a]]})})),children:(0,b.jsx)(u.StatusPill,{status:a.status})})},{label:"Owner",value:(0,b.jsx)(U.InlineSelect,{label:`Owner of ${a.id}`,value:a.owner??"",onChange:a=>P({owner:a||null}),options:[{value:"human",label:"Human",node:(0,b.jsx)(S.OwnerChip,{owner:"human",className:"text-xs"})},...[...new Set(["ai:claude",...a.owner?.startsWith("ai:")?[a.owner]:[]])].map(a=>({value:a,label:a,node:(0,b.jsx)(S.OwnerChip,{owner:a,className:"text-xs"})})),{value:"",label:"No owner",node:(0,b.jsx)("span",{className:"text-muted",children:"No owner"})}],children:a.owner?(0,b.jsx)(S.OwnerChip,{owner:a.owner,className:"text-xs"}):(0,b.jsx)("span",{className:"text-muted",children:"—"})})},{label:"Due",value:(0,b.jsx)(U.InlineDate,{label:`Due date of ${a.id}`,value:a.due,onChange:a=>P({due:a}),children:a.due?(0,b.jsx)(u.DueChip,{due:a.due,state:(0,r.dueState)(a.due,a.status,E)}):(0,b.jsx)("span",{className:"text-muted",children:"—"})})},{label:w?"Epics":"Tasks",value:(0,b.jsx)("span",{className:"font-mono",children:w?y.length:a.tasks.length})}],children:z&&(0,b.jsxs)("div",{className:"mt-2 flex items-end gap-4",children:[(0,b.jsxs)("p",{className:"font-mono text-3xl font-semibold leading-none tabular-nums text-txt",children:[Math.round(z.done/z.total*100),(0,b.jsx)("span",{className:"text-base text-muted",children:"%"})]}),(0,b.jsxs)("div",{className:"flex-1 pb-1",children:[(0,b.jsxs)("p",{className:"mb-1.5 font-mono text-[10px] text-muted",children:[z.done," of ",z.total,w?"":" tasks"," done"]}),w?(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-teal",style:{width:`${z.done/z.total*100}%`}})}):(0,b.jsx)(u.SegmentedProgress,{statuses:a.tasks.map(a=>l[a]?.status).filter(a=>!!a&&"cancelled"!==a)})]})]})}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-6 py-5",children:[!w&&a.tasks.length>0&&(0,b.jsx)(ac,{item:a,tasksById:l,onOpen:i}),w&&(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:Z,children:["Epics · ",y.length]}),0===y.length&&(0,b.jsx)("p",{className:"text-sm text-muted",children:"No epics yet."}),(0,b.jsx)("ul",{className:"-mx-2 flex flex-col",children:y.map(a=>{let c=m[a.id];return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>k(a.id),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 text-left hover:bg-surface2",children:[(0,b.jsx)(u.StatusDot,{status:a.status}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:a.id}),(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate text-sm","done"===a.status?"text-muted":"text-txt"),children:a.title}),c&&(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:[c.done,"/",c.total]})]})},a.id)})})]}),(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsx)("p",{className:Z,children:"Brief"}),a.body.trim()?(0,b.jsx)(F.MarkdownRenderer,{content:a.body,className:"text-sm"}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No description. Edit to add the outcome, scope and “done when”."})]})]}),(0,b.jsxs)("footer",{className:"sticky bottom-0 flex flex-wrap items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[L&&(0,b.jsxs)(o.Button,{size:"sm",onClick:()=>{e(),(0,t.askAgent)(`Break down epic ${a.id} into tasks.`)},className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(g.Bot,{})," Break down with agent"]}),!w&&(0,b.jsxs)(o.Button,{size:"sm",variant:L?"outline":"default",onClick:()=>{e(),J({kind:"epic",id:a.id})},className:(0,s.cn)(!L&&"bg-accent text-accent-fg hover:bg-accent/90"),children:[(0,b.jsx)(B.MessageSquare,{})," ",K?"Open chat":"Chat"]}),w&&(0,b.jsxs)(o.Button,{size:"sm",onClick:()=>f(a.id),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(j.Plus,{})," Add epic"]}),(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:n,children:[(0,b.jsx)(C.Pencil,{})," Edit"]}),(0,b.jsxs)(o.Button,{size:"sm",variant:"ghost",onClick:()=>i(a.file),className:"ml-auto text-muted hover:text-txt",children:[(0,b.jsx)(h.FileText,{})," Open file"]})]})]})}function ab({item:a,items:d,onClose:e,onSave:f,onDelete:g,onCancel:h}){let[i]=(0,c.useState)(a),[j,k]=(0,c.useState)(a.title),[l,m]=(0,c.useState)(a.status),[n,p]=(0,c.useState)(a.parent??""),[q,r]=(0,c.useState)(String(a.order)),[s,t]=(0,c.useState)(a.tasks.join(", ")),[u,v]=(0,c.useState)(a.due??""),[w,x]=(0,c.useState)(a.body),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(!1),C=d.some(b=>b.parent===a.id),F=d.filter(b=>null===b.parent&&b.id!==a.id),G=null===a.parent,H=null!==a.parent&&!F.some(b=>b.id===a.parent);async function I(a){B(!0),z(null);let b=await a();return B(!1),b&&z(b),!b}async function J(){let b={},c=j.trim()||i.title;if(c!==i.title&&(b.title=c),l!==i.status&&(b.status=l),(n||null)!==i.parent&&(b.parent=n||null),q.trim()!==String(i.order)){let a=Number(q);if(""===q.trim()||!Number.isFinite(a))return void z("Order must be a number");b.order=a}let d=s.split(",").map(a=>a.trim()).filter(Boolean);(d.join(",")!==i.tasks.join(",")&&(b.tasks=d),(u||null)!==i.due&&(b.due=u||null),w!==i.body&&(b.body=w),0===Object.keys(b).length)?h():await I(()=>f(a.id,b))&&e()}async function K(){await I(()=>g(a.id))&&e()}return(0,b.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,b.jsxs)("div",{className:"border-b border-border px-6 pb-4 pt-6 pr-12",children:[(0,b.jsxs)(D.SheetDescription,{className:"font-mono text-[11px] text-muted",children:["Editing ",a.id," · ",G?"horizon":"epic"]}),(0,b.jsx)(D.SheetTitle,{className:"mt-1 text-base text-txt",children:a.title})]}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-4 px-6 py-5",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Title"}),(0,b.jsx)(E.Input,{value:j,onChange:a=>k(a.target.value),className:"bg-bg border-border text-txt"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Status"}),(0,b.jsx)("select",{value:l,onChange:a=>m(a.target.value),className:X,children:W.map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Parent"}),(0,b.jsxs)("select",{value:n,onChange:a=>p(a.target.value),disabled:C,title:C?"Items with children must stay on the spine":void 0,className:X,children:[(0,b.jsx)("option",{value:"",children:"— (horizon)"}),H&&(0,b.jsxs)("option",{value:a.parent??"",children:[a.parent," · missing"]}),F.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.id," · ",a.title]},a.id))]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Order"}),(0,b.jsx)(E.Input,{type:"number",step:10,value:q,onChange:a=>r(a.target.value),title:G?"Position on the spine":"Position within the branch",className:"bg-bg border-border text-txt"})]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Due"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(E.Input,{type:"date",value:u,onChange:a=>v(a.target.value),className:"bg-bg border-border text-txt scheme-light dark:scheme-dark"}),u&&(0,b.jsx)("button",{type:"button",onClick:()=>v(""),className:"text-xs text-muted hover:text-txt",children:"Clear"})]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Tasks"}),(0,b.jsx)(E.Input,{value:s,onChange:a=>t(a.target.value),placeholder:"T001, T012",className:"bg-bg border-border text-txt font-mono"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:Y,children:"Body (markdown)"}),(0,b.jsx)("textarea",{value:w,onChange:a=>x(a.target.value),rows:12,className:`${X} font-mono resize-y`})]}),y&&(0,b.jsx)("p",{className:"text-xs text-danger",children:y})]}),(0,b.jsxs)("footer",{className:"sticky bottom-0 flex items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[(0,b.jsx)(o.Button,{size:"sm",onClick:J,disabled:A,className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Save"}),(0,b.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:h,disabled:A,className:"text-txt",children:"Cancel"}),(0,b.jsx)(o.Button,{size:"sm",variant:"ghost",onClick:K,disabled:A,className:"ml-auto text-danger hover:text-danger",children:"Delete"})]})]})}function ac({item:a,tasksById:c,onOpen:d}){let e=(0,r.localToday)(),f=q(a,Object.values(c)),g="ready"===f.kind?f.taskId:null,h="waiting"===f.kind?[...f.waiting].sort((a,b)=>Number(c[b.taskId]?.status==="todo")-Number(c[a.taskId]?.status==="todo")).map(a=>a.reason):[];return(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:Z,children:["Tasks · ",a.tasks.length]}),(0,b.jsx)("ul",{className:"-mx-2 flex flex-col",children:a.tasks.map(a=>{let f=c[a];if(!f)return(0,b.jsxs)("li",{className:"px-2 py-2 font-mono text-xs text-danger",children:[a," · missing task file"]},a);let h=f.id===g;return(0,b.jsxs)("li",{className:(0,s.cn)("group flex items-center rounded-md hover:bg-surface2",h&&"bg-accent/10 hover:bg-accent/15"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>d(f.file),className:"flex min-w-0 flex-1 items-center gap-3 px-2 py-2 text-left",children:[(0,b.jsx)("span",{title:f.status,className:(0,s.cn)("h-2 w-2 shrink-0 rounded-full",u.TASK_STATUS_BG[f.status])}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:f.id}),(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate text-sm","cancelled"===f.status?"text-muted line-through":"done"===f.status?"text-muted":"text-txt"),children:f.title}),(0,b.jsx)(u.DueChip,{due:f.due,state:(0,r.dueState)(f.due,"done"===f.status?"done":"planned",e)}),h?(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] uppercase tracking-wider text-accent",children:"Next up"}):f.size&&"—"!==f.size&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:f.size.split(" ")[0]}),(0,b.jsx)(v.AgentDot,{attach:{kind:"task",id:f.id}})]}),(0,b.jsx)(ad,{taskId:f.id})]},a)})}),h.length>0&&(0,b.jsxs)("p",{className:"truncate text-xs text-muted",title:h.join("\n"),children:[h[0],h.length>1&&` (+${h.length-1} more)`]})]})}function ad({taskId:a}){let{chats:c,showAbout:d}=(0,H.useChats)(),e=!!(0,G.chatFor)(c,{kind:"task",id:a});return(0,b.jsx)("button",{type:"button",onClick:()=>d({kind:"task",id:a}),"aria-label":`${e?"Open chat":"Chat"} about ${a}`,title:e?`Open the chat about ${a}`:`Chat about ${a}`,className:(0,s.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",e?"text-accent opacity-100":"opacity-0 group-hover:opacity-100"),children:(0,b.jsx)(B.MessageSquare,{className:"size-3.5"})})}var ae=a.i(814574);function af({open:a,heading:d,onOpenChange:e,onSubmit:f}){let[g,h]=(0,c.useState)(""),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1);function m(a){a||(h(""),j(null)),e(a)}async function n(a){if(a.preventDefault(),!g.trim())return;l(!0);let b=await f(g.trim());l(!1),b?j(b):m(!1)}return(0,b.jsx)(ae.Dialog,{open:a,onOpenChange:m,children:(0,b.jsxs)(ae.DialogContent,{className:"max-w-sm bg-surface border-border text-txt",children:[(0,b.jsx)(ae.DialogTitle,{className:"text-sm font-semibold text-txt",children:d}),(0,b.jsxs)("form",{onSubmit:n,className:"flex flex-col gap-3",children:[(0,b.jsx)(E.Input,{autoFocus:!0,value:g,onChange:a=>h(a.target.value),placeholder:"Title",className:"bg-bg border-border text-txt"}),i&&(0,b.jsx)("p",{className:"text-xs text-danger",children:i}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(o.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>m(!1),children:"Cancel"}),(0,b.jsx)(o.Button,{type:"submit",size:"sm",disabled:k||!g.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Create"})]})]})]})})}function ag({open:a,onOpenChange:d}){let[e,f]=(0,c.useState)("");return(0,b.jsx)(ae.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(ae.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,b.jsx)(ae.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Plan from spec"}),(0,b.jsxs)("form",{onSubmit:function(a){a.preventDefault(),e.trim()&&(d(!1),(0,t.askAgent)(`Break down this spec into tasks:
|
|
1
|
+
module.exports=[690793,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(365465),e=a.i(152716),f=a.i(340933),g=a.i(795667),h=a.i(926128),i=a.i(256857);let j={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"}]]};j.node;let k=(0,i.default)(j);var l=a.i(553415),m=a.i(200382),n=a.i(551729),o=a.i(913975),p=a.i(544394),q=a.i(21215),r=a.i(699570);let s=a=>"done"===a||"cancelled"===a;function t(a,b){let c=new Map(b.map(a=>[a.id,a])),d=a.tasks.map(a=>c.get(a)).filter(a=>!!a),e=a=>[...new Set((a.dependsOn.match(/\bT\d+\b/gi)??[]).map(a=>a.toUpperCase()))].filter(a=>{let b=c.get(a);return!b||!s(b.status)});for(let a of d)if("todo"===a.status&&!e(a).length)return{kind:"ready",taskId:a.id};if(d.every(a=>s(a.status)))return{kind:"finished"};let f=new Set(a.tasks),g=new Map,h=a=>{if(g.has(a))return g.get(a)??!1;g.set(a,!1);let b=c.get(a),d=!!b&&"blocked"!==b.status&&"paused"!==b.status&&"review"!==b.status&&("todo"!==b.status||f.has(a)&&e(b).every(h));return g.set(a,d),d},i=[];for(let b of a.tasks){let a=c.get(b);if(a){if("in-progress"===a.status)i.push({taskId:b,reason:`${b} is in progress (claimed)`});else if("blocked"===a.status)i.push({taskId:b,reason:`${b} is blocked`});else if("paused"===a.status)i.push({taskId:b,reason:`${b} is paused — needs a human to resume it`});else if("review"===a.status)i.push({taskId:b,reason:`${b} in review — needs a human`});else if("todo"===a.status){let d=e(a).map(a=>`${a} (${c.get(a)?.status??"missing"})`);i.push({taskId:b,reason:`${b} waits on ${d.join(", ")}`})}}else i.push({taskId:b,reason:`${b} has no task file`})}return{kind:"waiting",waiting:i,needsHuman:i.every(a=>!h(a.taskId))}}var u=a.i(452696),v=a.i(368114),w=a.i(525395),x=a.i(618940),y=a.i(815122),z=a.i(581040);function A({items:a,today:d,onSelect:e,onItemContextMenu:f,progressById:g}){let h=new Map(a.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order).map((a,b)=>[a.id,b+1])),i=(0,c.useMemo)(()=>(0,z.buildTimeline)(a,d),[a,d]),j=(0,c.useRef)(null);(0,c.useEffect)(()=>{let a=j.current;a&&(a.scrollLeft=Math.max(0,i.todayX-(a.clientWidth-200)/3))},[i.todayX]);let k=i.lanes.some(a=>a.markers.length>0);return(0,b.jsxs)("div",{className:"flex flex-1 min-h-0 flex-col",children:[(0,b.jsx)("div",{ref:j,className:"relative flex-1 min-h-0 overflow-auto",children:(0,b.jsxs)("div",{className:"relative",style:{width:200+i.width,minHeight:"100%"},children:[(0,b.jsxs)("div",{className:"pointer-events-none absolute inset-y-0",style:{left:200,width:i.width},children:[i.months.map(a=>(0,b.jsx)("div",{className:"absolute inset-y-0 border-l border-border",style:{left:a.x}},a.x)),(0,b.jsx)("div",{className:"absolute inset-y-0 left-0 bg-surface/50",style:{width:i.todayX}}),(0,b.jsx)("div",{className:"absolute inset-y-0 w-px bg-accent shadow-[0_0_12px_rgb(var(--rgb-accent)/0.8)]",style:{left:i.todayX},children:(0,b.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,b.jsxs)("div",{className:"sticky top-0 z-20 flex border-b border-border bg-bg",style:{height:36},children:[(0,b.jsx)("div",{className:"sticky left-0 z-10 shrink-0 bg-bg",style:{width:200}}),(0,b.jsx)("div",{className:"relative",children:i.months.map(a=>(0,b.jsx)("span",{className:"absolute top-3 whitespace-nowrap pl-2 font-mono text-[10px] uppercase tracking-widest text-muted",style:{left:a.x},children:a.label},a.x))})]}),i.lanes.map(a=>(0,b.jsxs)("div",{className:"relative flex border-b border-border",children:[(0,b.jsx)(B,{item:a.item,chapter:h.get(a.item.id),progress:g[a.item.id],onSelect:e,onContextMenu:f}),(0,b.jsx)("div",{className:"relative",style:{width:i.width,height:a.rows*z.LANE_ROW_H+12},children:a.markers.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.item.id),onContextMenu:b=>f?.(a.item.id,b),title:`${a.item.id} \xb7 ${a.item.title} \xb7 due ${a.item.due}${"overdue"===a.state?" (overdue)":""}`,className:"group absolute flex items-center gap-1.5",style:{left:a.x-10,top:6+a.row*z.LANE_ROW_H},children:[a.horizon?(0,b.jsx)("span",{className:(0,v.cn)("h-4 w-4 rotate-45 border-2 border-accent","done"===a.item.status?"bg-accent":"bg-bg","overdue"===a.state&&"border-danger")}):(0,b.jsx)("span",{className:(0,v.cn)("rounded-full","overdue"===a.state&&"ring-2 ring-danger ring-offset-1 ring-offset-bg"),children:(0,b.jsx)(x.StatusDot,{status:a.item.status})}),(0,b.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"===a.item.status?"border-accent/50 bg-surface shadow-[0_6px_18px_-10px_rgb(var(--rgb-accent)/0.7)]":"done"===a.item.status?"border-border bg-surface/60":"border-dashed border-border2 bg-bg","group-hover:border-accent"),children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("span",{className:(0,v.cn)("truncate text-xs","done"===a.item.status?"text-muted":"text-txt",a.horizon&&"font-semibold"),children:a.item.title}),(0,b.jsx)(y.AgentDot,{attach:{kind:"epic",id:a.item.id}})]}),(0,b.jsx)("span",{className:(0,v.cn)("font-mono text-[10px]","overdue"===a.state?"text-danger":"soon"===a.state?"text-amber":"text-muted"),children:(0,z.formatDay)(a.item.due)})]})]},a.item.id))})]},a.item.id)),!k&&(0,b.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."})]})}),i.undated.length>0&&(0,b.jsxs)("div",{className:"max-h-28 shrink-0 overflow-y-auto border-t border-border bg-surface px-4 py-2",children:[(0,b.jsxs)("p",{className:"mb-2 font-mono text-[10px] uppercase tracking-widest text-muted",children:["No due date · ",i.undated.length]}),(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:i.undated.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.id),onContextMenu:b=>f?.(a.id,b),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,b.jsx)(x.StatusDot,{status:a.status}),a.title,(0,b.jsx)(y.AgentDot,{attach:{kind:"epic",id:a.id}})]},a.id))})]})]})}function B({item:a,chapter:c,progress:d,onSelect:e,onContextMenu:f}){return(0,b.jsxs)("button",{type:"button",onClick:()=>e(a.id),onContextMenu:b=>f?.(a.id,b),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,b.jsx)("span",{className:(0,v.cn)("font-mono text-lg font-semibold tabular-nums","in-progress"===a.status?"text-accent":"done"===a.status?"text-teal":"text-muted"),children:c?String(c).padStart(2,"0"):"··"}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,b.jsx)("span",{className:"line-clamp-2 text-[11px] font-semibold uppercase leading-snug tracking-wider text-txt",children:a.title}),d&&(0,b.jsx)("span",{className:"h-1 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("span",{className:"block h-full rounded-full bg-teal",style:{width:`${d.done/d.total*100}%`}})})]})]})}var C=a.i(453161),D=a.i(658978),E=a.i(156298),F=a.i(388637),G=a.i(717371);let H={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"]};H.node;let I=(0,i.default)(H);var J=a.i(340753),K=a.i(441852),L=a.i(661661),M=a.i(892678),N=a.i(757061),O=a.i(866718),P=a.i(149350),Q=a.i(107742),R=a.i(685698),S=a.i(60084),T=a.i(717143),U=a.i(763747),V=a.i(28386),W=a.i(335732),X=a.i(890728);let Y=["planned","in-progress","paused","done"];function Z({item:a,items:c,actions:d}){let e=null===a.parent,f=c.filter(b=>null===b.parent&&b.id!==a.parent).sort((a,b)=>a.order-b.order),g=c.filter(b=>b.parent===a.id).length;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.edit(a.id),children:[(0,b.jsx)(L.Pencil,{})," Edit",(0,b.jsx)(W.DropdownMenuShortcut,{children:(0,X.itemKeyLabel)("edit")})]}),(0,b.jsxs)(W.DropdownMenuSub,{children:[(0,b.jsxs)(W.DropdownMenuSubTrigger,{children:[(0,b.jsx)(x.StatusDot,{status:a.status})," Status",(0,b.jsx)(W.DropdownMenuShortcut,{children:(0,X.itemKeyLabel)("status")})]}),(0,b.jsx)(W.DropdownMenuSubContent,{children:Y.map(c=>(0,b.jsxs)(W.DropdownMenuItem,{disabled:c===a.status,onSelect:()=>d.setStatus(a.id,c),children:[(0,b.jsx)(x.StatusDot,{status:c})," ",x.STATUS_LABEL[c]]},c))})]}),!e&&f.length>0&&(0,b.jsxs)(W.DropdownMenuSub,{children:[(0,b.jsxs)(W.DropdownMenuSubTrigger,{children:[(0,b.jsx)(T.FolderInput,{})," Move to horizon"]}),(0,b.jsx)(W.DropdownMenuSubContent,{className:"max-h-72 overflow-y-auto",children:f.map(c=>(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.move(a.id,c.id),children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted",children:c.id})," ",c.title]},c.id))})]}),e&&(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.addEpic(a.id),children:[(0,b.jsx)(m.Plus,{})," Add epic"]}),(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.duplicate(a.id),children:[(0,b.jsx)(S.Copy,{})," Duplicate",(0,b.jsx)(W.DropdownMenuShortcut,{children:(0,X.itemKeyLabel)("duplicate")})]}),(0,b.jsx)(W.DropdownMenuSeparator,{}),!e&&(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.chat(a.id),children:[(0,b.jsx)(K.MessageSquare,{})," Chat about it",(0,b.jsx)(W.DropdownMenuShortcut,{children:(0,X.itemKeyLabel)("chat")})]}),(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.openFile(a.file),children:[(0,b.jsx)(h.FileText,{})," Open file"]}),(0,b.jsx)(W.DropdownMenuSeparator,{}),g>0?(0,b.jsxs)(W.DropdownMenuItem,{disabled:!0,className:"flex-col items-start gap-0",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2",children:[(0,b.jsx)(V.Trash2,{})," Delete"]}),(0,b.jsxs)("span",{className:"pl-6 text-[11px]",children:["Move or delete its ",g," epic",1===g?"":"s"," first"]})]}):(0,b.jsxs)(W.DropdownMenuItem,{onSelect:()=>d.remove(a.id),className:"text-danger focus:text-danger",children:[(0,b.jsx)(V.Trash2,{})," Delete",(0,b.jsx)(W.DropdownMenuShortcut,{children:(0,X.itemKeyLabel)("remove")})]})]})}function $({item:a,items:c,actions:d,className:e,open:f,onOpenChange:g}){return(0,b.jsxs)(W.DropdownMenu,{open:f,onOpenChange:g,children:[(0,b.jsx)(W.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button","aria-label":`Actions for ${a.id}`,className:(0,v.cn)("grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt",e),children:(0,b.jsx)(U.MoreHorizontal,{className:"size-4"})})}),(0,b.jsx)(W.DropdownMenuContent,{align:"end",className:"w-52",children:(0,b.jsx)(Z,{item:a,items:c,actions:d})})]})}function _({at:a,items:c,actions:d,onClose:e}){let f=a&&c.find(b=>b.id===a.id);return a&&f?(0,b.jsxs)(W.DropdownMenu,{open:!0,onOpenChange:a=>{a||e()},children:[(0,b.jsx)(W.DropdownMenuTrigger,{asChild:!0,children:(0,b.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none fixed size-0",style:{left:a.x,top:a.y}})}),(0,b.jsx)(W.DropdownMenuContent,{align:"start",className:"w-52",children:(0,b.jsx)(Z,{item:f,items:c,actions:d})})]},`${a.id}:${a.x}:${a.y}`):null}var aa=a.i(813722),ab=a.i(192698),ac=a.i(787714),ad=a.i(891397),ae=a.i(269769);let af=["planned","in-progress","paused","done"],ag="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",ah="text-xs font-medium text-muted",ai="font-mono text-[10px] uppercase tracking-widest text-muted";function aj({item:a,onClose:c,...d}){return(0,b.jsx)(N.Sheet,{open:!!a,onOpenChange:a=>{a||c()},children:(0,b.jsx)(N.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:a&&(0,b.jsx)(ak,{item:a,onClose:c,...d},a.id)})})}function ak(a){return a.editing?(0,b.jsx)(am,{...a,onCancel:()=>a.onEditingChange(!1)}):(0,b.jsx)(al,{...a,onEdit:()=>a.onEditingChange(!0)})}function al({item:a,items:d,onClose:e,onAddFeature:f,onEditRaw:i,onSelect:j,tasksById:k,progressById:l,onEdit:n,actions:o,onSave:p}){let q=null===a.parent,s=d.find(b=>b.id===a.parent),t=d.filter(b=>b.parent===a.id).sort((a,b)=>a.order-b.order),z=l[a.id],A=(0,u.localToday)(),{chats:B,showAbout:C}=(0,R.useChats)(),H=q?void 0:(0,Q.chatFor)(B,{kind:"epic",id:a.id}),O=!q&&0===a.tasks.length&&!H,[S,T]=(0,c.useState)(!1),U=b=>{p(a.id,b).then(a=>{a&&(0,ae.toast)(a)})};return(0,X.useItemCommands)(`${a.id} \xb7 ${a.title}`,[{action:"edit",label:"Edit",run:n},{action:"status",label:"Change status…",run:()=>T(!0)},{action:"duplicate",label:"Duplicate",run:()=>o.duplicate(a.id)},...q?[]:[{action:"chat",label:"Chat about it",run:()=>o.chat(a.id)}],...t.length?[]:[{action:"remove",label:"Delete",run:()=>o.remove(a.id)}]]),(0,b.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,b.jsx)(ab.ItemPanelHeader,{className:(0,v.cn)("px-6","in-progress"===a.status&&"bg-[linear-gradient(180deg,rgb(var(--rgb-accent)/0.08),transparent)]"),kicker:(0,b.jsx)(N.SheetDescription,{asChild:!0,children:(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-1",children:[s&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("button",{type:"button",onClick:()=>j(s.id),className:"truncate hover:text-txt",children:s.title}),(0,b.jsx)(E.ChevronRight,{className:"h-3 w-3 shrink-0"})]}),(0,b.jsxs)("span",{className:"shrink-0",children:[a.id," · ",q?"horizon":"epic"]}),(0,b.jsx)(y.AgentMark,{attach:{kind:"epic",id:a.id}})]})}),title:(0,b.jsx)(N.SheetTitle,{className:"text-xl font-semibold leading-tight text-txt",children:a.title}),menu:(0,b.jsx)($,{item:a,items:d,actions:o,open:S,onOpenChange:T}),properties:[{label:"Status",icon:F.CircleDashed,value:(0,b.jsx)(ac.InlineSelect,{label:`Status of ${a.id}`,value:a.status,onChange:b=>o.setStatus(a.id,b),options:af.map(a=>({value:a,label:x.STATUS_LABEL[a],node:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(x.StatusDot,{status:a}),x.STATUS_LABEL[a]]})})),children:(0,b.jsx)(x.StatusPill,{status:a.status})})},{label:"Priority",icon:G.Flag,value:(0,b.jsx)(ad.PriorityField,{label:`Priority of ${a.id}`,value:a.priority??null,onChange:a=>U({priority:a})})},{label:"Owner",icon:M.User,value:(0,b.jsx)(ac.InlineSelect,{label:`Owner of ${a.id}`,value:a.owner??"",onChange:a=>U({owner:a||null}),options:[{value:"human",label:"Human",node:(0,b.jsx)(aa.OwnerChip,{owner:"human",className:"text-xs"})},...[...new Set(["ai:claude",...a.owner?.startsWith("ai:")?[a.owner]:[]])].map(a=>({value:a,label:a,node:(0,b.jsx)(aa.OwnerChip,{owner:a,className:"text-xs"})})),{value:"",label:"No owner",node:(0,b.jsx)("span",{className:"text-muted",children:"No owner"})}],children:a.owner?(0,b.jsx)(aa.OwnerChip,{owner:a.owner,className:"text-xs"}):(0,b.jsx)("span",{className:"text-muted",children:"—"})})},{label:"Due",icon:D.Calendar,value:(0,b.jsx)(ac.InlineDate,{label:`Due date of ${a.id}`,value:a.due,onChange:a=>U({due:a}),children:a.due?(0,b.jsx)(x.DueChip,{due:a.due,state:(0,u.dueState)(a.due,a.status,A)}):(0,b.jsx)("span",{className:"text-muted",children:"—"})})},{label:q?"Epics":"Tasks",icon:q?I:J.ListChecks,value:(0,b.jsx)("span",{className:"font-mono",children:q?t.length:a.tasks.length})}],children:z&&(0,b.jsxs)("div",{className:"mt-2 flex items-end gap-4",children:[(0,b.jsxs)("p",{className:"font-mono text-3xl font-semibold leading-none tabular-nums text-txt",children:[Math.round(z.done/z.total*100),(0,b.jsx)("span",{className:"text-base text-muted",children:"%"})]}),(0,b.jsxs)("div",{className:"flex-1 pb-1",children:[(0,b.jsxs)("p",{className:"mb-1.5 font-mono text-[10px] text-muted",children:[z.done," of ",z.total,q?"":" tasks"," done"]}),q?(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("div",{className:"h-full rounded-full bg-teal",style:{width:`${z.done/z.total*100}%`}})}):(0,b.jsx)(x.SegmentedProgress,{statuses:a.tasks.map(a=>k[a]?.status).filter(a=>!!a&&"cancelled"!==a)})]})]})}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-6 px-6 py-5",children:[!q&&a.tasks.length>0&&(0,b.jsx)(an,{item:a,tasksById:k,onOpen:i}),q&&(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:ai,children:["Epics · ",t.length]}),0===t.length&&(0,b.jsx)("p",{className:"text-sm text-muted",children:"No epics yet."}),(0,b.jsx)("ul",{className:"-mx-2 flex flex-col",children:t.map(a=>{let c=l[a.id];return(0,b.jsx)("li",{children:(0,b.jsxs)("button",{type:"button",onClick:()=>j(a.id),className:"flex w-full items-center gap-3 rounded-md px-2 py-2 text-left hover:bg-surface2",children:[(0,b.jsx)(x.StatusDot,{status:a.status}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:a.id}),(0,b.jsx)("span",{className:(0,v.cn)("min-w-0 flex-1 truncate text-sm","done"===a.status?"text-muted":"text-txt"),children:a.title}),c&&(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:[c.done,"/",c.total]})]})},a.id)})})]}),(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsx)("p",{className:ai,children:"Brief"}),a.body.trim()?(0,b.jsx)(P.MarkdownRenderer,{content:a.body,className:"text-sm"}):(0,b.jsx)("p",{className:"text-sm text-muted",children:"No description. Edit to add the outcome, scope and “done when”."})]})]}),(0,b.jsxs)("footer",{className:"sticky bottom-0 flex flex-wrap items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[O&&(0,b.jsxs)(r.Button,{size:"sm",onClick:()=>{e(),(0,w.askAgent)(`Break down epic ${a.id} into tasks.`)},className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(g.Bot,{})," Break down with agent"]}),!q&&(0,b.jsxs)(r.Button,{size:"sm",variant:O?"outline":"default",onClick:()=>{e(),C({kind:"epic",id:a.id})},className:(0,v.cn)(!O&&"bg-accent text-accent-fg hover:bg-accent/90"),children:[(0,b.jsx)(K.MessageSquare,{})," ",H?"Open chat":"Chat"]}),q&&(0,b.jsxs)(r.Button,{size:"sm",onClick:()=>f(a.id),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(m.Plus,{})," Add epic"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:n,children:[(0,b.jsx)(L.Pencil,{})," Edit"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"ghost",onClick:()=>i(a.file),className:"ml-auto text-muted hover:text-txt",children:[(0,b.jsx)(h.FileText,{})," Open file"]})]})]})}function am({item:a,items:d,onClose:e,onSave:f,onDelete:g,onCancel:h}){let[i]=(0,c.useState)(a),[j,k]=(0,c.useState)(a.title),[l,m]=(0,c.useState)(a.status),[n,o]=(0,c.useState)(a.parent??""),[p,q]=(0,c.useState)(String(a.order)),[s,t]=(0,c.useState)(a.tasks.join(", ")),[u,v]=(0,c.useState)(a.due??""),[w,x]=(0,c.useState)(a.body),[y,z]=(0,c.useState)(null),[A,B]=(0,c.useState)(!1),C=d.some(b=>b.parent===a.id),D=d.filter(b=>null===b.parent&&b.id!==a.id),E=null===a.parent,F=null!==a.parent&&!D.some(b=>b.id===a.parent);async function G(a){B(!0),z(null);let b=await a();return B(!1),b&&z(b),!b}async function H(){let b={},c=j.trim()||i.title;if(c!==i.title&&(b.title=c),l!==i.status&&(b.status=l),(n||null)!==i.parent&&(b.parent=n||null),p.trim()!==String(i.order)){let a=Number(p);if(""===p.trim()||!Number.isFinite(a))return void z("Order must be a number");b.order=a}let d=s.split(",").map(a=>a.trim()).filter(Boolean);(d.join(",")!==i.tasks.join(",")&&(b.tasks=d),(u||null)!==i.due&&(b.due=u||null),w!==i.body&&(b.body=w),0===Object.keys(b).length)?h():await G(()=>f(a.id,b))&&e()}async function I(){await G(()=>g(a.id))&&e()}return(0,b.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,b.jsxs)("div",{className:"border-b border-border px-6 pb-4 pt-6 pr-12",children:[(0,b.jsxs)(N.SheetDescription,{className:"font-mono text-[11px] text-muted",children:["Editing ",a.id," · ",E?"horizon":"epic"]}),(0,b.jsx)(N.SheetTitle,{className:"mt-1 text-base text-txt",children:a.title})]}),(0,b.jsxs)("div",{className:"flex flex-1 flex-col gap-4 px-6 py-5",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Title"}),(0,b.jsx)(O.Input,{value:j,onChange:a=>k(a.target.value),className:"bg-bg border-border text-txt"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Status"}),(0,b.jsx)("select",{value:l,onChange:a=>m(a.target.value),className:ag,children:af.map(a=>(0,b.jsx)("option",{value:a,children:a},a))})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Parent"}),(0,b.jsxs)("select",{value:n,onChange:a=>o(a.target.value),disabled:C,title:C?"Items with children must stay on the spine":void 0,className:ag,children:[(0,b.jsx)("option",{value:"",children:"— (horizon)"}),F&&(0,b.jsxs)("option",{value:a.parent??"",children:[a.parent," · missing"]}),D.map(a=>(0,b.jsxs)("option",{value:a.id,children:[a.id," · ",a.title]},a.id))]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Order"}),(0,b.jsx)(O.Input,{type:"number",step:10,value:p,onChange:a=>q(a.target.value),title:E?"Position on the spine":"Position within the branch",className:"bg-bg border-border text-txt"})]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Due"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(O.Input,{type:"date",value:u,onChange:a=>v(a.target.value),className:"bg-bg border-border text-txt scheme-light dark:scheme-dark"}),u&&(0,b.jsx)("button",{type:"button",onClick:()=>v(""),className:"text-xs text-muted hover:text-txt",children:"Clear"})]})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Tasks"}),(0,b.jsx)(O.Input,{value:s,onChange:a=>t(a.target.value),placeholder:"T001, T012",className:"bg-bg border-border text-txt font-mono"})]}),(0,b.jsxs)("label",{className:"flex flex-col gap-1",children:[(0,b.jsx)("span",{className:ah,children:"Body (markdown)"}),(0,b.jsx)("textarea",{value:w,onChange:a=>x(a.target.value),rows:12,className:`${ag} font-mono resize-y`})]}),y&&(0,b.jsx)("p",{className:"text-xs text-danger",children:y})]}),(0,b.jsxs)("footer",{className:"sticky bottom-0 flex items-center gap-2 border-t border-border bg-surface px-6 py-3",children:[(0,b.jsx)(r.Button,{size:"sm",onClick:H,disabled:A,className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Save"}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:h,disabled:A,className:"text-txt",children:"Cancel"}),(0,b.jsx)(r.Button,{size:"sm",variant:"ghost",onClick:I,disabled:A,className:"ml-auto text-danger hover:text-danger",children:"Delete"})]})]})}function an({item:a,tasksById:c,onOpen:d}){let e=(0,u.localToday)(),f=t(a,Object.values(c)),g="ready"===f.kind?f.taskId:null,h="waiting"===f.kind?[...f.waiting].sort((a,b)=>Number(c[b.taskId]?.status==="todo")-Number(c[a.taskId]?.status==="todo")).map(a=>a.reason):[];return(0,b.jsxs)("section",{className:"flex flex-col gap-2",children:[(0,b.jsxs)("p",{className:ai,children:["Tasks · ",a.tasks.length]}),(0,b.jsx)("ul",{className:"-mx-2 flex flex-col",children:a.tasks.map(a=>{let f=c[a];if(!f)return(0,b.jsxs)("li",{className:"px-2 py-2 font-mono text-xs text-danger",children:[a," · missing task file"]},a);let h=f.id===g;return(0,b.jsxs)("li",{className:(0,v.cn)("group flex items-center rounded-md hover:bg-surface2",h&&"bg-accent/10 hover:bg-accent/15"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>d(f.file),className:"flex min-w-0 flex-1 items-center gap-3 px-2 py-2 text-left",children:[(0,b.jsx)("span",{title:f.status,className:(0,v.cn)("h-2 w-2 shrink-0 rounded-full",x.TASK_STATUS_BG[f.status])}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:f.id}),(0,b.jsx)("span",{className:(0,v.cn)("min-w-0 flex-1 truncate text-sm","cancelled"===f.status?"text-muted line-through":"done"===f.status?"text-muted":"text-txt"),children:f.title}),(0,b.jsx)(x.DueChip,{due:f.due,state:(0,u.dueState)(f.due,"done"===f.status?"done":"planned",e)}),h?(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] uppercase tracking-wider text-accent",children:"Next up"}):f.size&&"—"!==f.size&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:f.size.split(" ")[0]}),(0,b.jsx)(y.AgentDot,{attach:{kind:"task",id:f.id}})]}),(0,b.jsx)(ao,{taskId:f.id})]},a)})}),h.length>0&&(0,b.jsxs)("p",{className:"truncate text-xs text-muted",title:h.join("\n"),children:[h[0],h.length>1&&` (+${h.length-1} more)`]})]})}function ao({taskId:a}){let{chats:c,showAbout:d}=(0,R.useChats)(),e=!!(0,Q.chatFor)(c,{kind:"task",id:a});return(0,b.jsx)("button",{type:"button",onClick:()=>d({kind:"task",id:a}),"aria-label":`${e?"Open chat":"Chat"} about ${a}`,title:e?`Open the chat about ${a}`:`Chat about ${a}`,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",e?"text-accent opacity-100":"opacity-0 group-hover:opacity-100"),children:(0,b.jsx)(K.MessageSquare,{className:"size-3.5"})})}var ap=a.i(814574);function aq({open:a,heading:d,onOpenChange:e,onSubmit:f}){let[g,h]=(0,c.useState)(""),[i,j]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1);function m(a){a||(h(""),j(null)),e(a)}async function n(a){if(a.preventDefault(),!g.trim())return;l(!0);let b=await f(g.trim());l(!1),b?j(b):m(!1)}return(0,b.jsx)(ap.Dialog,{open:a,onOpenChange:m,children:(0,b.jsxs)(ap.DialogContent,{className:"max-w-sm bg-surface border-border text-txt",children:[(0,b.jsx)(ap.DialogTitle,{className:"text-sm font-semibold text-txt",children:d}),(0,b.jsxs)("form",{onSubmit:n,className:"flex flex-col gap-3",children:[(0,b.jsx)(O.Input,{autoFocus:!0,value:g,onChange:a=>h(a.target.value),placeholder:"Title",className:"bg-bg border-border text-txt"}),i&&(0,b.jsx)("p",{className:"text-xs text-danger",children:i}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>m(!1),children:"Cancel"}),(0,b.jsx)(r.Button,{type:"submit",size:"sm",disabled:k||!g.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Create"})]})]})]})})}function ar({open:a,onOpenChange:d}){let[e,f]=(0,c.useState)("");return(0,b.jsx)(ap.Dialog,{open:a,onOpenChange:d,children:(0,b.jsxs)(ap.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,b.jsx)(ap.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Plan from spec"}),(0,b.jsxs)("form",{onSubmit:function(a){a.preventDefault(),e.trim()&&(d(!1),(0,w.askAgent)(`Break down this spec into tasks:
|
|
2
2
|
|
|
3
|
-
${e.trim()}`))},className:"flex flex-col gap-3",children:[(0,b.jsx)("textarea",{autoFocus:!0,value:e,onChange:a=>f(a.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,b.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,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(o.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{f(""),d(!1)},children:"Cancel"}),(0,b.jsx)(o.Button,{type:"submit",size:"sm",disabled:!e.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Break down"})]})]})]})})}function ah({open:a,onOpenChange:c,items:d}){return(0,b.jsx)(ae.Dialog,{open:a,onOpenChange:c,children:(0,b.jsxs)(ae.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,b.jsx)(ae.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Break down epics"}),(0,b.jsx)(ai,{items:d,onDone:()=>c(!1)})]})})}function ai({items:a,onDone:d}){let e,f=(e=(a,b)=>a.order-b.order,a.filter(a=>null===a.parent).sort(e).map(b=>({horizon:b,epics:a.filter(a=>a.parent===b.id&&"done"!==a.status).sort((a,b)=>Number(a.tasks.length>0)-Number(b.tasks.length>0)||e(a,b))})).filter(a=>a.epics.length>0)),[g,h]=(0,c.useState)(()=>new Set(f.flatMap(a=>a.epics.filter(a=>0===a.tasks.length).map(a=>a.id)))),i=(0,H.useChats)().runningCount,j=Math.max(0,G.MAX_RUNNING_CHATS-i),k=g.size>j;return(0,b.jsxs)("form",{onSubmit:function(a){if(a.preventDefault(),g.size&&!k)for(let a of(d(),f))for(let b of a.epics)g.has(b.id)&&(0,t.askAgent)(`Break down epic ${b.id} into tasks.`,{newChat:!0})},className:"flex flex-col gap-3",children:[(0,b.jsx)("div",{className:"max-h-[50vh] overflow-y-auto rounded-md border border-border",children:f.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"sticky top-0 bg-surface2 px-3 py-1 text-[10px] font-mono uppercase tracking-widest text-muted",children:[a.horizon.id," · ",a.horizon.title]}),(0,b.jsx)("ul",{children:a.epics.map(a=>{let c=g.has(a.id);return(0,b.jsx)("li",{className:"border-b border-border last:border-b-0",children:(0,b.jsxs)("label",{className:"flex items-start gap-2 px-3 py-1.5 text-xs cursor-pointer has-[:disabled]:cursor-not-allowed",children:[(0,b.jsx)("input",{type:"checkbox",checked:c,disabled:!c&&g.size>=j,onChange:()=>{var b;return b=a.id,void h(a=>{let c=new Set(a);return c.delete(b)||c.add(b),c})},className:"mt-0.5 accent-accent"}),(0,b.jsxs)("span",{className:"flex-1 min-w-0 text-txt",children:[(0,b.jsx)("span",{className:"font-mono text-muted mr-1",children:a.id}),a.title]}),a.tasks.length>0&&(0,b.jsxs)("span",{className:"shrink-0 text-[10px] font-mono text-muted",children:["has ",a.tasks.length," task",1===a.tasks.length?"":"s"]})]})},a.id)})})]},a.horizon.id))}),(0,b.jsx)("p",{className:k||0===j?"text-xs text-amber":"text-xs text-muted",children:0===j?`All ${G.MAX_RUNNING_CHATS} agent slots are busy. Stop a chat or wait for one to finish.`:k?`${g.size} selected, but only ${j} of ${G.MAX_RUNNING_CHATS} agent slots ${1===j?"is":"are"} free (${i} running). Uncheck some or stop a chat.`:`One chat per epic, running at once (${j} of ${G.MAX_RUNNING_CHATS} agent slots free). Each shows a plan before writing anything.`}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(o.Button,{type:"button",variant:"ghost",size:"sm",onClick:d,children:"Cancel"}),(0,b.jsxs)(o.Button,{type:"submit",size:"sm",disabled:!g.size||k,className:"bg-accent text-accent-fg hover:bg-accent/90",children:["Break down ",g.size||""," epic",1===g.size?"":"s"]})]})]})}async function aj(a,b){try{let c=await fetch(a,void 0===b?void 0:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>null);if(!c.ok)return{error:d?.error??`Request failed (${c.status})`};return{data:d}}catch{return{error:"Could not reach the server"}}}function ak(a,b,c,d){var f;let g,h,i,j,k,[l,m]=(f=!d,h=(g=a=>({x:a.position.x+(a.measured?.width??("horizon"===a.type?z.HORIZON_W:z.FEATURE_W))/2,y:a.position.y+(a.measured?.height??48)/2}))(b),j=(i=g(c)).x-h.x,k=i.y-h.y,f||Math.abs(j)>Math.abs(k)?j>0?[e.Position.Right,e.Position.Left]:[e.Position.Left,e.Position.Right]:k>0?[e.Position.Bottom,e.Position.Top]:[e.Position.Top,e.Position.Bottom]);return{id:a,source:b.id,target:c.id,sourceHandle:l,targetHandle:`${m}-t`,type:d?"straight":"default",selectable:!1,...function(a,b,c){if(c)return"done"===a.data.item.status?{style:{stroke:"var(--color-accent)",strokeWidth:3}}:{style:{stroke:"var(--color-border2)",strokeWidth:3,strokeDasharray:"6 6"}};let d=b.data.item.status;return"in-progress"===d?{animated:!0,style:{stroke:"var(--color-accent)",strokeWidth:2}}:"done"===d?{style:{stroke:"var(--color-border2)",strokeWidth:1.5}}:{style:{stroke:"var(--color-border2)",strokeWidth:1.5,strokeDasharray:"2 5",strokeLinecap:"round"}}}(b,c,d)}}function al(a){let b=new MutationObserver(a);return b.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>b.disconnect()}let am={"--xy-background-color":"var(--color-bg)"};function an(){let{rootParam:a,openDoc:e,board:f}=(0,m.useApp)(),{showAbout:p}=(0,H.useChats)(),v=(0,l.useRouter)(),w=(0,l.useSearchParams)(),y="timeline"===w.get("view")?"timeline":"map",A=(0,r.localToday)(),[B,C]=(0,c.useState)([]),[D,E]=(0,c.useState)({}),[F,G]=(0,c.useState)([]),[I,J]=(0,c.useState)(!0),[K,L]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(null),[Q,S]=(0,c.useState)(null),T=w.get("item"),[U,W]=(0,c.useState)(null);T!==U&&(W(T),T&&N(T));let[X,Y]=(0,c.useState)(null),[Z,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(null),[ac,ad]=(0,c.useState)(!1),[ae,ai]=(0,c.useState)(!1),an=(0,c.useRef)(!1),aq=(0,c.useRef)(null),ar=(0,c.useCallback)(a=>{let b=aq.current?.clientWidth??0,c=a.getNodesBounds(a.getNodes());if(!b||!c.width)return;let d=Math.min(1,Math.max(.75,(b-80)/c.width));a.setViewport({x:b/2-(c.x+c.width/2)*d,y:40-c.y*d,zoom:d})},[]),as=(0,c.useRef)(!1),at=(0,c.useRef)(0),au=(0,c.useSyncExternalStore)(al,()=>document.documentElement.classList.contains("dark"),()=>!0),av=(0,c.useCallback)((a,b)=>{C(a),E(b),G(c=>{let d,e;return d=(0,z.resolvePositions)(a,b),e=new Map(c.map(a=>[a.id,a])),a.map(a=>{let b=e.get(a.id);return{id:a.id,type:null===a.parent?"horizon":"feature",position:d[a.id]??{x:0,y:0},data:{item:a},measured:b?.measured,selected:b?.selected}})})},[]),aw=(0,c.useCallback)(()=>{let b=++at.current;return aj(`/api/roadmap${a}`).then(({data:a,error:c})=>{if(b===at.current){if(J(!1),c){L(c),av([],{}),N(null);return}L(null),Y(a?.generateSource??null),av(a?.items??[],a?.layout??{})}})},[a,av]);(0,c.useEffect)(()=>{aw()},[aw]),(0,c.useEffect)(()=>{let a=new EventSource("/api/events");return a.onmessage=a=>{try{let b=JSON.parse(a.data);if("roadmap_updated"!==b.type)return;an.current?as.current=!0:aw()}catch{}},()=>a.close()},[aw]);let ax=(0,c.useMemo)(()=>{let a=new Map(F.map(a=>[a.id,a])),b=[],c=B.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order);for(let d of(c.forEach((d,e)=>{let f=a.get(d.id),g=c[e+1]&&a.get(c[e+1].id);f&&g&&b.push(ak(`spine-${d.id}`,f,g,!0))}),B)){let c=d.parent&&a.get(d.parent),e=a.get(d.id);c&&e&&"horizon"===c.type&&b.push(ak(`branch-${d.id}`,c,e,!1))}return b},[B,F]),ay=(0,c.useMemo)(()=>Object.fromEntries(Object.values(f??{}).flat().map(a=>[a.id,a])),[f]),az=(0,c.useMemo)(()=>(0,r.roadmapHealth)(B,ay,A),[B,ay,A]),aA=(0,c.useMemo)(()=>{let a=Object.values(ay),b=new Map(B.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order).map((a,b)=>[a.id,b+1]));return F.map(c=>{var d;let e,{item:f}=c.data,g=B.filter(a=>a.parent===f.id),h="feature"===c.type&&"in-progress"===f.status?q(f,a):null;return{...c,data:{...c.data,progress:az.progress[c.id],drift:az.drift.filter(a=>a.id===c.id).map(a=>a.message),dueState:(0,r.dueState)(f.due,f.status,A),..."feature"===c.type&&{...(d=f.tasks,{taskDue:e=(0,r.taskDueSummary)(d,ay,A),taskDueSoon:!!e?.next&&"soon"===(0,r.dueState)(e.next,"planned",A)}),taskStatuses:f.tasks.map(a=>ay[a]?.status).filter(a=>!!a&&"cancelled"!==a),nextTaskId:h?.kind==="ready"?h.taskId:null},..."horizon"===c.type&&{chapter:b.get(f.id),epics:{done:g.filter(a=>"done"===a.status).length,total:g.length}}}}})},[F,B,az,A,ay]),aB=(0,c.useCallback)(a=>G(b=>(0,d.applyNodeChanges)(a,b)),[]);async function aC(){_(!0),L(null);let{data:b,error:c}=await aj(`/api/roadmap/generate${a}`,{});if(c){L(c),_(!1);return}let d=Object.fromEntries(Object.entries((0,z.resolvePositions)(b?.items??[],{})).map(([a,b])=>[a,{x:Math.round(b.x),y:Math.round(b.y)}])),{error:e}=await aj(`/api/roadmap/layout${a}`,{positions:d});await aw(),e&&L(e),_(!1)}let aD=Object.values(f??{}).flat().filter(a=>"cancelled"!==a.status).length,aE="roadmap-md"===X?"from ROADMAP.md":"tasks"===X?`from ${aD} tasks, grouped by phase`:"starter horizons: Shipped · Now · Next · Later";async function aF(b){let{error:c}=await aj(`/api/roadmap/create${a}`,{title:b,parent:aa||null});return c||(await aw(),null)}async function aG(b,c){av(B.map(a=>a.id===b?{...a,...c}:a),D);let{data:d,error:e}=await aj(`/api/roadmap/update${a}`,{id:b,patch:c});if(e)return await aw(),e;let f=d?.item;return f?av(B.map(a=>a.id===b?f:a),D):await aw(),null}async function aH(b){let{data:c,error:d}=await aj(`/api/roadmap/delete${a}`,{id:b});return d||(av(B.filter(a=>a.id!==b),D),c&&(0,V.undoToast)(`Deleted ${b}`,async()=>{let{error:b}=await aj(`/api/roadmap/restore${a}`,c);if(b)throw Error(b);await aw()}),null)}let aI=B.find(a=>a.id===M)??null,aJ=a=>{a&&L(a)},aK={edit:a=>{N(a),P(a)},setStatus:(a,b)=>{aG(a,{status:b}).then(aJ)},move:(a,b)=>{aG(a,{parent:b}).then(aJ)},addEpic:a=>{N(null),ab(a)},duplicate:async b=>{let c=B.find(a=>a.id===b);if(!c)return;let{data:d,error:e}=await aj(`/api/roadmap/create${a}`,{title:`${c.title} (copy)`,parent:c.parent,status:"planned",order:c.order+1,due:c.due,body:c.body});if(e)return L(e);await aw(),d?.item&&N(d.item.id)},openFile:a=>e(a),chat:a=>{N(null),p({kind:"epic",id:a})},remove:async a=>{let b=await aH(a);if(b)return L(b);M===a&&N(null)}},aL=(a,b)=>{b.preventDefault(),S({id:a,x:b.clientX,y:b.clientY})},aM=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(af,{open:null!==aa,heading:aa?`New feature under ${aa}`:"New horizon",onOpenChange:a=>{a||ab(null)},onSubmit:aF}),(0,b.jsx)(ag,{open:ac,onOpenChange:ad}),(0,b.jsx)(ah,{open:ae,onOpenChange:ai,items:B})]});return I?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center text-sm text-muted",children:"Loading…"}):0===B.length?(0,b.jsxs)("div",{className:"flex-1 p-6",children:[K&&(0,b.jsx)("p",{className:"mb-4 text-sm text-danger",children:K}),(0,b.jsx)(n.EmptyState,{icon:"🗺️",message:"No roadmap yet",subMessage:"Items live in plans/roadmap/R*.md",bordered:!0}),(0,b.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(o.Button,{size:"sm",onClick:aC,disabled:Z,className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(k.Sparkles,{})," ",Z?"Generating…":"Generate roadmap"]}),(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>(0,t.askAgent)("Plan a roadmap for this project."),disabled:Z,children:[(0,b.jsx)(g.Bot,{})," Plan with agent"]}),(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>ad(!0),disabled:Z,children:[(0,b.jsx)(h.FileText,{})," Plan from spec"]}),(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>ab(""),disabled:Z,children:[(0,b.jsx)(j.Plus,{})," Create first horizon"]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted",children:["Generate ",aE,". Existing files are not modified."]})]}),aM]}):(0,b.jsxs)("div",{className:"relative flex flex-1 min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 border-b border-border px-3 py-2",children:[(0,b.jsx)("div",{className:"flex rounded-md border border-border p-0.5 text-xs",children:["map","timeline"].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>{let b,c;return b=new URLSearchParams(w.toString()),"map"===a?b.delete("view"):b.set("view",a),c=b.toString(),void v.replace(c?`/roadmap?${c}`:"/roadmap")},className:(0,s.cn)("rounded-sm px-3 py-1 capitalize",y===a?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:a},a))}),(0,b.jsx)(ao,{items:B,tasksById:ay}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[K&&(0,b.jsx)("p",{className:"text-xs text-danger",children:K}),az.drift.length>0&&(0,b.jsx)(ap,{drift:az.drift,onSelect:N,onApply:a=>a.suggestedStatus&&aG(a.id,{status:a.suggestedStatus}).then(a=>{a&&L(a)})}),(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>ad(!0),children:[(0,b.jsx)(h.FileText,{})," Plan from spec"]}),B.some(a=>null!==a.parent&&"done"!==a.status)&&(0,b.jsxs)(o.Button,{size:"sm",variant:"outline",onClick:()=>ai(!0),children:[(0,b.jsx)(i.ListTree,{})," Break down epics…"]}),(0,b.jsxs)(o.Button,{size:"sm",onClick:()=>ab(""),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(j.Plus,{})," Horizon"]})]})]}),"map"===y?(0,b.jsx)("div",{ref:aq,className:"relative flex-1 min-h-0",children:(0,b.jsxs)(d.ReactFlow,{nodes:aA,edges:ax,nodeTypes:u.nodeTypes,onNodesChange:aB,onNodeClick:(a,b)=>N(b.id),onNodeContextMenu:(a,b)=>aL(b.id,a),onNodeDragStart:()=>{an.current=!0},onNodeDragStop:(b,c,d)=>{let e;return an.current=!1,e=Object.fromEntries(d.map(a=>[a.id,{x:Math.round(a.position.x),y:Math.round(a.position.y)}])),void(av(B,{...D,...e}),aj(`/api/roadmap/layout${a}`,{positions:e}).then(({error:a})=>{a&&L(a),as.current&&(as.current=!1,aw())}))},nodesConnectable:!1,deleteKeyCode:null,colorMode:au?"dark":"light",onInit:ar,minZoom:.2,style:am,children:[(0,b.jsx)(d.Background,{variant:d.BackgroundVariant.Dots,gap:20,size:1}),(0,b.jsx)(d.Controls,{showInteractive:!1})]})}):(0,b.jsx)(x,{items:B,today:A,onSelect:N,onItemContextMenu:aL,progressById:az.progress}),(0,b.jsx)($,{item:aI,items:B,onClose:()=>N(null),editing:!!aI&&O===aI.id,onEditingChange:a=>P(a?M:null),actions:aK,onSave:aG,onDelete:aH,onAddFeature:a=>{N(null),ab(a)},onEditRaw:a=>{e(a)},tasksById:ay,progressById:az.progress,onSelect:N}),(0,b.jsx)(R,{at:Q,items:B,actions:aK,onClose:()=>S(null)}),aM]})}function ao({items:a,tasksById:c}){let d=a.filter(a=>null!==a.parent),e=a=>d.filter(b=>b.status===a).length,f=[...new Set(d.flatMap(a=>a.tasks))].map(a=>c[a]).filter(a=>a&&"cancelled"!==a.status),g=f.filter(a=>"done"===a.status).length;return(0,b.jsxs)("div",{className:"hidden items-center gap-4 font-mono text-[11px] text-muted md:flex",children:[["in-progress","paused","done","planned"].filter(a=>"paused"!==a||e(a)>0).map(a=>(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(u.StatusDot,{status:a}),(0,b.jsx)("span",{className:(0,s.cn)("tabular-nums","in-progress"===a&&e(a)>0?"text-accent":"text-txt"),children:e(a)}),u.STATUS_LABEL[a].toLowerCase()]},a)),f.length>0&&(0,b.jsxs)("span",{className:"flex items-center gap-2 border-l border-border pl-4",children:[(0,b.jsx)("span",{className:"relative h-1 w-20 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("span",{className:"absolute inset-y-0 left-0 rounded-full bg-teal",style:{width:`${g/f.length*100}%`}})}),(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{className:"tabular-nums text-txt",children:[g,"/",f.length]})," tasks"]})]})]})}function ap({drift:a,onSelect:c,onApply:d}){return(0,b.jsxs)("details",{className:"group relative",children:[(0,b.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,b.jsx)(f.AlertTriangle,{className:"h-3.5 w-3.5 text-amber"})," ",a.length," need attention"]}),(0,b.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:a.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 border-b border-border px-3 py-2.5 last:border-0",children:[(0,b.jsx)("span",{className:"mt-1 h-1.5 w-1.5 shrink-0 rounded-full bg-amber"}),(0,b.jsx)("button",{type:"button",onClick:()=>c(a.id),className:"flex-1 text-left leading-relaxed text-muted hover:text-txt",children:a.message}),a.suggestedStatus&&(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),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 ${a.suggestedStatus}`,children:["→ ",a.suggestedStatus]})]},`${a.id}-${a.kind}`))})]})}a.s(["default",0,function(){return(0,b.jsx)("div",{className:"flex flex-col h-[calc(100svh-3rem)]",children:(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(an,{})})})}],690793)}];
|
|
3
|
+
${e.trim()}`))},className:"flex flex-col gap-3",children:[(0,b.jsx)("textarea",{autoFocus:!0,value:e,onChange:a=>f(a.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,b.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,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>{f(""),d(!1)},children:"Cancel"}),(0,b.jsx)(r.Button,{type:"submit",size:"sm",disabled:!e.trim(),className:"bg-accent text-accent-fg hover:bg-accent/90",children:"Break down"})]})]})]})})}function as({open:a,onOpenChange:c,items:d}){return(0,b.jsx)(ap.Dialog,{open:a,onOpenChange:c,children:(0,b.jsxs)(ap.DialogContent,{className:"max-w-lg bg-surface border-border text-txt",children:[(0,b.jsx)(ap.DialogTitle,{className:"text-sm font-semibold text-txt",children:"Break down epics"}),(0,b.jsx)(at,{items:d,onDone:()=>c(!1)})]})})}function at({items:a,onDone:d}){let e,f=(e=(a,b)=>a.order-b.order,a.filter(a=>null===a.parent).sort(e).map(b=>({horizon:b,epics:a.filter(a=>a.parent===b.id&&"done"!==a.status).sort((a,b)=>Number(a.tasks.length>0)-Number(b.tasks.length>0)||e(a,b))})).filter(a=>a.epics.length>0)),[g,h]=(0,c.useState)(()=>new Set(f.flatMap(a=>a.epics.filter(a=>0===a.tasks.length).map(a=>a.id)))),i=(0,R.useChats)().runningCount,j=Math.max(0,Q.MAX_RUNNING_CHATS-i),k=g.size>j;return(0,b.jsxs)("form",{onSubmit:function(a){if(a.preventDefault(),g.size&&!k)for(let a of(d(),f))for(let b of a.epics)g.has(b.id)&&(0,w.askAgent)(`Break down epic ${b.id} into tasks.`,{newChat:!0})},className:"flex flex-col gap-3",children:[(0,b.jsx)("div",{className:"max-h-[50vh] overflow-y-auto rounded-md border border-border",children:f.map(a=>(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"sticky top-0 bg-surface2 px-3 py-1 text-[10px] font-mono uppercase tracking-widest text-muted",children:[a.horizon.id," · ",a.horizon.title]}),(0,b.jsx)("ul",{children:a.epics.map(a=>{let c=g.has(a.id);return(0,b.jsx)("li",{className:"border-b border-border last:border-b-0",children:(0,b.jsxs)("label",{className:"flex items-start gap-2 px-3 py-1.5 text-xs cursor-pointer has-[:disabled]:cursor-not-allowed",children:[(0,b.jsx)("input",{type:"checkbox",checked:c,disabled:!c&&g.size>=j,onChange:()=>{var b;return b=a.id,void h(a=>{let c=new Set(a);return c.delete(b)||c.add(b),c})},className:"mt-0.5 accent-accent"}),(0,b.jsxs)("span",{className:"flex-1 min-w-0 text-txt",children:[(0,b.jsx)("span",{className:"font-mono text-muted mr-1",children:a.id}),a.title]}),a.tasks.length>0&&(0,b.jsxs)("span",{className:"shrink-0 text-[10px] font-mono text-muted",children:["has ",a.tasks.length," task",1===a.tasks.length?"":"s"]})]})},a.id)})})]},a.horizon.id))}),(0,b.jsx)("p",{className:k||0===j?"text-xs text-amber":"text-xs text-muted",children:0===j?`All ${Q.MAX_RUNNING_CHATS} agent slots are busy. Stop a chat or wait for one to finish.`:k?`${g.size} selected, but only ${j} of ${Q.MAX_RUNNING_CHATS} agent slots ${1===j?"is":"are"} free (${i} running). Uncheck some or stop a chat.`:`One chat per epic, running at once (${j} of ${Q.MAX_RUNNING_CHATS} agent slots free). Each shows a plan before writing anything.`}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"sm",onClick:d,children:"Cancel"}),(0,b.jsxs)(r.Button,{type:"submit",size:"sm",disabled:!g.size||k,className:"bg-accent text-accent-fg hover:bg-accent/90",children:["Break down ",g.size||""," epic",1===g.size?"":"s"]})]})]})}async function au(a,b){try{let c=await fetch(a,void 0===b?void 0:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>null);if(!c.ok)return{error:d?.error??`Request failed (${c.status})`};return{data:d}}catch{return{error:"Could not reach the server"}}}function av(a,b,c,d){var f;let g,h,i,j,k,[l,m]=(f=!d,h=(g=a=>({x:a.position.x+(a.measured?.width??("horizon"===a.type?C.HORIZON_W:C.FEATURE_W))/2,y:a.position.y+(a.measured?.height??48)/2}))(b),j=(i=g(c)).x-h.x,k=i.y-h.y,f||Math.abs(j)>Math.abs(k)?j>0?[e.Position.Right,e.Position.Left]:[e.Position.Left,e.Position.Right]:k>0?[e.Position.Bottom,e.Position.Top]:[e.Position.Top,e.Position.Bottom]);return{id:a,source:b.id,target:c.id,sourceHandle:l,targetHandle:`${m}-t`,type:d?"straight":"default",selectable:!1,...function(a,b,c){if(c)return"done"===a.data.item.status?{style:{stroke:"var(--color-accent)",strokeWidth:3}}:{style:{stroke:"var(--color-border2)",strokeWidth:3,strokeDasharray:"6 6"}};let d=b.data.item.status;return"in-progress"===d?{animated:!0,style:{stroke:"var(--color-accent)",strokeWidth:2}}:"done"===d?{style:{stroke:"var(--color-border2)",strokeWidth:1.5}}:{style:{stroke:"var(--color-border2)",strokeWidth:1.5,strokeDasharray:"2 5",strokeLinecap:"round"}}}(b,c,d)}}function aw(a){let b=new MutationObserver(a);return b.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>b.disconnect()}let ax={"--xy-background-color":"var(--color-bg)"};function ay(){let{rootParam:a,openDoc:e,board:f}=(0,p.useApp)(),{showAbout:i}=(0,R.useChats)(),j=(0,o.useRouter)(),s=(0,o.useSearchParams)(),y="timeline"===s.get("view")?"timeline":"map",z=(0,u.localToday)(),[B,D]=(0,c.useState)([]),[E,F]=(0,c.useState)({}),[G,H]=(0,c.useState)([]),[I,J]=(0,c.useState)(!0),[K,L]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),[O,P]=(0,c.useState)(null),[Q,S]=(0,c.useState)(null),T=s.get("item"),[U,V]=(0,c.useState)(null);T!==U&&(V(T),T&&N(T));let[W,X]=(0,c.useState)(null),[Y,Z]=(0,c.useState)(!1),[$,aa]=(0,c.useState)(null),[ab,ac]=(0,c.useState)(!1),[ad,af]=(0,c.useState)(!1),ag=(0,c.useRef)(!1),ah=(0,c.useRef)(null),ai=(0,c.useRef)(null),ak=(0,c.useCallback)((a,b=0)=>{ai.current=a;let c=ah.current?.clientWidth??0,d=a.getNodesBounds(a.getNodes());if(!c||!d.width)return;let e=Math.min(1,Math.max(.75,(c-80)/d.width));a.setViewport({x:c/2-(d.x+d.width/2)*e,y:40-d.y*e,zoom:e},{duration:b})},[]),al=(0,c.useRef)(!1),am=(0,c.useRef)(0),an=(0,c.useSyncExternalStore)(aw,()=>document.documentElement.classList.contains("dark"),()=>!0),ao=(0,c.useCallback)((a,b)=>{D(a),F(b),H(c=>{let d,e;return d=(0,C.resolvePositions)(a,b),e=new Map(c.map(a=>[a.id,a])),a.map(a=>{let b=e.get(a.id);return{id:a.id,type:null===a.parent?"horizon":"feature",position:d[a.id]??{x:0,y:0},data:{item:a},measured:b?.measured,selected:b?.selected}})})},[]),ap=(0,c.useCallback)(()=>{let b=++am.current;return au(`/api/roadmap${a}`).then(({data:a,error:c})=>{if(b===am.current){if(J(!1),c){L(c),ao([],{}),N(null);return}L(null),X(a?.generateSource??null),ao(a?.items??[],a?.layout??{})}})},[a,ao]);(0,c.useEffect)(()=>{ap()},[ap]),(0,c.useEffect)(()=>{let a=new EventSource("/api/events");return a.onmessage=a=>{try{let b=JSON.parse(a.data);if("roadmap_updated"!==b.type)return;ag.current?al.current=!0:ap()}catch{}},()=>a.close()},[ap]);let at=(0,c.useMemo)(()=>{let a=new Map(G.map(a=>[a.id,a])),b=[],c=B.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order);for(let d of(c.forEach((d,e)=>{let f=a.get(d.id),g=c[e+1]&&a.get(c[e+1].id);f&&g&&b.push(av(`spine-${d.id}`,f,g,!0))}),B)){let c=d.parent&&a.get(d.parent),e=a.get(d.id);c&&e&&"horizon"===c.type&&b.push(av(`branch-${d.id}`,c,e,!1))}return b},[B,G]),ay=(0,c.useMemo)(()=>Object.fromEntries(Object.values(f??{}).flat().map(a=>[a.id,a])),[f]),aB=(0,c.useMemo)(()=>(0,u.roadmapHealth)(B,ay,z),[B,ay,z]),aC=(0,c.useMemo)(()=>{let a=Object.values(ay),b=new Map(B.filter(a=>null===a.parent).sort((a,b)=>a.order-b.order).map((a,b)=>[a.id,b+1]));return G.map(c=>{var d;let e,{item:f}=c.data,g=B.filter(a=>a.parent===f.id),h="feature"===c.type&&"in-progress"===f.status?t(f,a):null;return{...c,data:{...c.data,progress:aB.progress[c.id],drift:aB.drift.filter(a=>a.id===c.id).map(a=>a.message),dueState:(0,u.dueState)(f.due,f.status,z),..."feature"===c.type&&{...(d=f.tasks,{taskDue:e=(0,u.taskDueSummary)(d,ay,z),taskDueSoon:!!e?.next&&"soon"===(0,u.dueState)(e.next,"planned",z)}),taskStatuses:f.tasks.map(a=>ay[a]?.status).filter(a=>!!a&&"cancelled"!==a),nextTaskId:h?.kind==="ready"?h.taskId:null},..."horizon"===c.type&&{chapter:b.get(f.id),epics:{done:g.filter(a=>"done"===a.status).length,total:g.length}}}}})},[G,B,aB,z,ay]),aD=(0,c.useCallback)(a=>H(b=>(0,d.applyNodeChanges)(a,b)),[]),[aE,aF]=(0,c.useState)(!1);async function aG(){Z(!0),L(null);let{data:b,error:c}=await au(`/api/roadmap/generate${a}`,{});if(c){L(c),Z(!1);return}let d=Object.fromEntries(Object.entries((0,C.resolvePositions)(b?.items??[],{})).map(([a,b])=>[a,{x:Math.round(b.x),y:Math.round(b.y)}])),{error:e}=await au(`/api/roadmap/layout${a}`,{positions:d});await ap(),e&&L(e),Z(!1)}let aH=Object.values(f??{}).flat().filter(a=>"cancelled"!==a.status).length,aI="roadmap-md"===W?"from ROADMAP.md":"tasks"===W?`from ${aH} tasks, grouped by phase`:"starter horizons: Shipped · Now · Next · Later";async function aJ(b){let{error:c}=await au(`/api/roadmap/create${a}`,{title:b,parent:$||null});return c||(await ap(),null)}async function aK(b,c){ao(B.map(a=>a.id===b?{...a,...c}:a),E);let{data:d,error:e}=await au(`/api/roadmap/update${a}`,{id:b,patch:c});if(e)return await ap(),e;let f=d?.item;return f?ao(B.map(a=>a.id===b?f:a),E):await ap(),null}async function aL(b){let{data:c,error:d}=await au(`/api/roadmap/delete${a}`,{id:b});return d||(ao(B.filter(a=>a.id!==b),E),c&&(0,ae.undoToast)(`Deleted ${b}`,async()=>{let{error:b}=await au(`/api/roadmap/restore${a}`,c);if(b)throw Error(b);await ap()}),null)}let aM=B.find(a=>a.id===M)??null,aN=a=>{a&&L(a)},aO={edit:a=>{N(a),P(a)},setStatus:(a,b)=>{aK(a,{status:b}).then(aN)},move:(a,b)=>{aK(a,{parent:b}).then(aN)},addEpic:a=>{N(null),aa(a)},duplicate:async b=>{let c=B.find(a=>a.id===b);if(!c)return;let{data:d,error:e}=await au(`/api/roadmap/create${a}`,{title:`${c.title} (copy)`,parent:c.parent,status:"planned",order:c.order+1,due:c.due,body:c.body});if(e)return L(e);await ap(),d?.item&&N(d.item.id)},openFile:a=>e(a),chat:a=>{N(null),i({kind:"epic",id:a})},remove:async a=>{let b=await aL(a);if(b)return L(b);M===a&&N(null)}},aP=(a,b)=>{b.preventDefault(),S({id:a,x:b.clientX,y:b.clientY})},aQ=(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(aq,{open:null!==$,heading:$?`New feature under ${$}`:"New horizon",onOpenChange:a=>{a||aa(null)},onSubmit:aJ}),(0,b.jsx)(ar,{open:ab,onOpenChange:ac}),(0,b.jsx)(as,{open:ad,onOpenChange:af,items:B})]});return I?(0,b.jsx)("div",{className:"flex-1 flex items-center justify-center text-sm text-muted",children:"Loading…"}):0===B.length?(0,b.jsxs)("div",{className:"flex-1 p-6",children:[K&&(0,b.jsx)("p",{className:"mb-4 text-sm text-danger",children:K}),(0,b.jsx)(q.EmptyState,{icon:"🗺️",message:"No roadmap yet",subMessage:"Items live in plans/roadmap/R*.md",bordered:!0}),(0,b.jsxs)("div",{className:"mt-4 flex flex-col items-center gap-2",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(r.Button,{size:"sm",onClick:aG,disabled:Y,className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(n.Sparkles,{})," ",Y?"Generating…":"Generate roadmap"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>(0,w.askAgent)("Plan a roadmap for this project."),disabled:Y,children:[(0,b.jsx)(g.Bot,{})," Plan with agent"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>ac(!0),disabled:Y,children:[(0,b.jsx)(h.FileText,{})," Plan from spec"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>aa(""),disabled:Y,children:[(0,b.jsx)(m.Plus,{})," Create first horizon"]})]}),(0,b.jsxs)("p",{className:"text-xs text-muted",children:["Generate ",aI,". Existing files are not modified."]})]}),aQ]}):(0,b.jsxs)("div",{className:"relative flex flex-1 min-h-0 flex-col",children:[(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 border-b border-border px-3 py-2",children:[(0,b.jsx)("div",{className:"flex rounded-md border border-border p-0.5 text-xs",children:["map","timeline"].map(a=>(0,b.jsx)("button",{type:"button",onClick:()=>{let b,c;return b=new URLSearchParams(s.toString()),"map"===a?b.delete("view"):b.set("view",a),c=b.toString(),void j.replace(c?`/roadmap?${c}`:"/roadmap")},className:(0,v.cn)("rounded-sm px-3 py-1 capitalize",y===a?"bg-surface2 text-txt":"text-muted hover:text-txt"),children:a},a))}),(0,b.jsx)(az,{items:B,tasksById:ay}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[K&&(0,b.jsx)("p",{className:"text-xs text-danger",children:K}),aB.drift.length>0&&(0,b.jsx)(aA,{drift:aB.drift,onSelect:N,onApply:a=>a.suggestedStatus&&aK(a.id,{status:a.suggestedStatus}).then(a=>{a&&L(a)})}),"map"===y&&(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:function(){let b=a=>({x:Math.round(a.x),y:Math.round(a.y)}),c=new Map(G.map(a=>[a.id,a.measured?.height??48])),d=(0,C.resolvePositions)(B,E),e=Object.fromEntries(Object.entries((0,C.arrangePositions)(B,a=>c.get(a)??48)).map(([a,c])=>[a,b(c)])),f=Object.fromEntries(Object.entries(d).map(([a,c])=>[a,b(c)]));aF(!0);let g=()=>{ao(B,{...E,...e}),aF(!1),requestAnimationFrame(()=>{ai.current&&ak(ai.current,320)}),au(`/api/roadmap/layout${a}`,{positions:e}).then(({error:b})=>{if(b)return L(b);(0,ae.undoToast)("Arranged the map",async()=>{let{error:b}=await au(`/api/roadmap/layout${a}`,{positions:f});if(b)throw Error(b);await ap()})})};if(window.matchMedia("(prefers-reduced-motion: reduce)").matches)return g();let h=new Map(G.map(a=>[a.id,a.position])),i=performance.now(),j=a=>{let b=Math.min(1,(a-i)/420),c=1-Math.pow(1-b,4);H(a=>a.map(a=>{let b=h.get(a.id),d=e[a.id];return b&&d?{...a,position:{x:b.x+(d.x-b.x)*c,y:b.y+(d.y-b.y)*c}}:a})),b<1?requestAnimationFrame(j):g()};requestAnimationFrame(j)},disabled:aE,title:"Tidy the map: epics in one column each side of their horizon, nothing overlapping",children:[(0,b.jsx)(k,{})," Arrange"]}),(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>ac(!0),children:[(0,b.jsx)(h.FileText,{})," Plan from spec"]}),B.some(a=>null!==a.parent&&"done"!==a.status)&&(0,b.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>af(!0),children:[(0,b.jsx)(l.ListTree,{})," Break down epics…"]}),(0,b.jsxs)(r.Button,{size:"sm",onClick:()=>aa(""),className:"bg-accent text-accent-fg hover:bg-accent/90",children:[(0,b.jsx)(m.Plus,{})," Horizon"]})]})]}),"map"===y?(0,b.jsx)("div",{ref:ah,className:"relative flex-1 min-h-0",children:(0,b.jsxs)(d.ReactFlow,{nodes:aC,edges:at,nodeTypes:x.nodeTypes,onNodesChange:aD,onNodeClick:(a,b)=>N(b.id),onNodeContextMenu:(a,b)=>aP(b.id,a),onNodeDragStart:()=>{ag.current=!0},onNodeDragStop:(b,c,d)=>{let e;return ag.current=!1,e=Object.fromEntries(d.map(a=>[a.id,{x:Math.round(a.position.x),y:Math.round(a.position.y)}])),void(ao(B,{...E,...e}),au(`/api/roadmap/layout${a}`,{positions:e}).then(({error:a})=>{a&&L(a),al.current&&(al.current=!1,ap())}))},nodesConnectable:!1,deleteKeyCode:null,colorMode:an?"dark":"light",onInit:ak,minZoom:.2,style:ax,children:[(0,b.jsx)(d.Background,{variant:d.BackgroundVariant.Dots,gap:20,size:1}),(0,b.jsx)(d.Controls,{showInteractive:!1})]})}):(0,b.jsx)(A,{items:B,today:z,onSelect:N,onItemContextMenu:aP,progressById:aB.progress}),(0,b.jsx)(aj,{item:aM,items:B,onClose:()=>N(null),editing:!!aM&&O===aM.id,onEditingChange:a=>P(a?M:null),actions:aO,onSave:aK,onDelete:aL,onAddFeature:a=>{N(null),aa(a)},onEditRaw:a=>{e(a)},tasksById:ay,progressById:aB.progress,onSelect:N}),(0,b.jsx)(_,{at:Q,items:B,actions:aO,onClose:()=>S(null)}),aQ]})}function az({items:a,tasksById:c}){let d=a.filter(a=>null!==a.parent),e=a=>d.filter(b=>b.status===a).length,f=[...new Set(d.flatMap(a=>a.tasks))].map(a=>c[a]).filter(a=>a&&"cancelled"!==a.status),g=f.filter(a=>"done"===a.status).length;return(0,b.jsxs)("div",{className:"hidden items-center gap-4 font-mono text-[11px] text-muted md:flex",children:[["in-progress","paused","done","planned"].filter(a=>"paused"!==a||e(a)>0).map(a=>(0,b.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,b.jsx)(x.StatusDot,{status:a}),(0,b.jsx)("span",{className:(0,v.cn)("tabular-nums","in-progress"===a&&e(a)>0?"text-accent":"text-txt"),children:e(a)}),x.STATUS_LABEL[a].toLowerCase()]},a)),f.length>0&&(0,b.jsxs)("span",{className:"flex items-center gap-2 border-l border-border pl-4",children:[(0,b.jsx)("span",{className:"relative h-1 w-20 overflow-hidden rounded-full bg-border",children:(0,b.jsx)("span",{className:"absolute inset-y-0 left-0 rounded-full bg-teal",style:{width:`${g/f.length*100}%`}})}),(0,b.jsxs)("span",{children:[(0,b.jsxs)("span",{className:"tabular-nums text-txt",children:[g,"/",f.length]})," tasks"]})]})]})}function aA({drift:a,onSelect:c,onApply:d}){return(0,b.jsxs)("details",{className:"group relative",children:[(0,b.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,b.jsx)(f.AlertTriangle,{className:"h-3.5 w-3.5 text-amber"})," ",a.length," need attention"]}),(0,b.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:a.map(a=>(0,b.jsxs)("li",{className:"flex items-start gap-2 border-b border-border px-3 py-2.5 last:border-0",children:[(0,b.jsx)("span",{className:"mt-1 h-1.5 w-1.5 shrink-0 rounded-full bg-amber"}),(0,b.jsx)("button",{type:"button",onClick:()=>c(a.id),className:"flex-1 text-left leading-relaxed text-muted hover:text-txt",children:a.message}),a.suggestedStatus&&(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),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 ${a.suggestedStatus}`,children:["→ ",a.suggestedStatus]})]},`${a.id}-${a.kind}`))})]})}a.s(["default",0,function(){return(0,b.jsx)("div",{className:"flex flex-col h-[calc(100svh-3rem)]",children:(0,b.jsx)(c.Suspense,{children:(0,b.jsx)(ay,{})})})}],690793)}];
|
|
4
4
|
|
|
5
5
|
//# sourceMappingURL=src_app_%28app%29_roadmap_page_tsx_0vcq3jr._.js.map
|