vibedoc 1.8.0 → 1.9.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 +6 -0
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +13 -13
- package/.next/routes-manifest.json +36 -0
- package/.next/server/app/(app)/activity/page.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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)/manual-tests/page.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
- package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +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 +2 -2
- 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 +22 -23
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +11 -9
- package/.next/server/app/activity.segments/_full.segment.rsc +22 -23
- 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/backlinks/route.js +2 -2
- package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/route.js +3 -3
- 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 +3 -3
- 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/route.js +3 -3
- package/.next/server/app/api/docs/route.js.nft.json +1 -1
- package/.next/server/app/api/explorer/route.js +3 -3
- package/.next/server/app/api/explorer/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +3 -3
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/delete/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/delete/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/delete/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/delete/route.js +9 -0
- package/.next/server/app/api/memory/entries/delete/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/delete/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/restore/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/restore/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/restore/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/restore/route.js +9 -0
- package/.next/server/app/api/memory/entries/restore/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/restore/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/route.js +8 -0
- package/.next/server/app/api/memory/entries/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/save/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/save/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/save/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/save/route.js +9 -0
- package/.next/server/app/api/memory/entries/save/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/save/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/graph/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/graph/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/graph/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/graph/route.js +9 -0
- package/.next/server/app/api/memory/graph/route.js.map +5 -0
- package/.next/server/app/api/memory/graph/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/graph/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/history/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/history/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/history/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/history/route.js +9 -0
- package/.next/server/app/api/memory/history/route.js.map +5 -0
- package/.next/server/app/api/memory/history/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/history/route_client-reference-manifest.js +3 -0
- 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 +3 -3
- 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 +3 -3
- package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/delete/route.js +3 -3
- package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/generate/route.js +3 -3
- package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/layout/route.js +3 -3
- package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/restore/route.js +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/review/route.js +3 -3
- 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 +3 -3
- package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
- package/.next/server/app/api/views/route.js +3 -3
- package/.next/server/app/api/views/route.js.nft.json +1 -1
- package/.next/server/app/board.html +1 -1
- package/.next/server/app/board.rsc +22 -23
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/board.segments/_full.segment.rsc +22 -23
- 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 +22 -23
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/chat.segments/_full.segment.rsc +22 -23
- 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 +22 -23
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/docs.segments/_full.segment.rsc +22 -23
- 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 +22 -23
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/explorer.segments/_full.segment.rsc +22 -23
- package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/manual-tests.html +1 -1
- package/.next/server/app/manual-tests.rsc +22 -23
- package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/manual-tests.segments/_full.segment.rsc +22 -23
- 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 -23
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +12 -10
- package/.next/server/app/memory.segments/_full.segment.rsc +23 -23
- package/.next/server/app/memory.segments/_tree.segment.rsc +3 -2
- package/.next/server/app/page.js +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 +22 -23
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/roadmap.segments/_full.segment.rsc +22 -23
- 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 +22 -23
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +10 -9
- package/.next/server/app/settings.segments/_full.segment.rsc +22 -23
- 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 +22 -23
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/setup.segments/_full.segment.rsc +22 -23
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app-paths-manifest.json +6 -0
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00p3fu1._.js → 11mp_@anthropic-ai_sdk_0-_cqh8._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01jjl08._.js → 11mp_@anthropic-ai_sdk_00o5o78._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01amtux._.js → 11mp_@anthropic-ai_sdk_03cp17a._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_071zfm8._.js → 11mp_@anthropic-ai_sdk_07dk2er._.js} +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_e9zpr._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_xx_qf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aer9lc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ax30pe._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0gn7vgs._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hye94a._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ir5cgk._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0je0_pa._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0jfgh0o._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0mha4x1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0n__boa._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0sqv26_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wnc6g-._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0xh0g59._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-5wyhj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13ahm3n._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13e6aq4._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14eg0ld._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_15md1n2._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16av8b9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16hjhv1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_16txvf7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_198yu7d._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_9tfq3._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_izr2o._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fljcyg._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lrt6ul._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1nev_ee._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1pgoe2i._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rgl7mu._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1slq49k._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t9bdf0._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u6qqm2._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1v7ygvz._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1wls8zc._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ywboja._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x8b64g._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zhahf7._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__008focd._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1vh9g2o._.js.map → [root-of-the-server]__008focd._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__01xmabe._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1-e3i_5._.js.map → [root-of-the-server]__01xmabe._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03ogp2r._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05us508._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0vcsqzd._.js.map → [root-of-the-server]__05us508._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__08yaps5._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1ezzeji._.js.map → [root-of-the-server]__08yaps5._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js → [root-of-the-server]__09oyvwa._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1wr0m-s._.js.map → [root-of-the-server]__09oyvwa._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0axugex._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0-pmfg2._.js.map → [root-of-the-server]__0axugex._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0b2488c._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0b5pwze._.js.map → [root-of-the-server]__0b2488c._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b6w_wb._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__04tibmn._.js → [root-of-the-server]__0cbh1s-._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__02co2yq._.js.map → [root-of-the-server]__0cbh1s-._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0exzf-v._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1qusy4g._.js.map → [root-of-the-server]__0exzf-v._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0gnil0m._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__18kxo4a._.js.map → [root-of-the-server]__0gnil0m._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1mrmaf9._.js → [root-of-the-server]__0hfyuhq._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0hfyuhq._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0hg1r2b._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0q3-t8a._.js.map → [root-of-the-server]__0hg1r2b._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0ikbk15._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__19k8t87._.js.map → [root-of-the-server]__0ikbk15._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js +110 -0
- package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0khz7sy._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1jxu2x9._.js.map → [root-of-the-server]__0khz7sy._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lf11mz._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1lj_2cv._.js.map → [root-of-the-server]__0lf11mz._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0m8hmg0._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1umrorf._.js.map → [root-of-the-server]__0m8hmg0._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0qij7wy._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1vq38ov._.js.map → [root-of-the-server]__0qij7wy._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0vf-0gp._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0x8wtot._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__05g5cgo._.js.map → [root-of-the-server]__0x8wtot._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0y5usoz._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1-ic3af._.js.map → [root-of-the-server]__0y5usoz._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__15c5snv._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__05l6129._.js.map → [root-of-the-server]__15c5snv._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__16u25oa._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0druay_._.js.map → [root-of-the-server]__16u25oa._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__18dt3sr._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__14aeqoi._.js.map → [root-of-the-server]__18dt3sr._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js +110 -0
- package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1a7d63a._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__11a4ptn._.js.map → [root-of-the-server]__1a7d63a._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1b448u7._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__197vw9g._.js.map → [root-of-the-server]__1b448u7._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1e68zmx._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__15ck1wv._.js.map → [root-of-the-server]__1e68zmx._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1gvv2xp._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__04tibmn._.js.map → [root-of-the-server]__1gvv2xp._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jel07j._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__12nzy_6._.js.map → [root-of-the-server]__1jel07j._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jz98vb._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0p6ja6l._.js.map → [root-of-the-server]__1jz98vb._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1la-6xe._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1p6-0l0._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1xb0fmp._.js.map → [root-of-the-server]__1p6-0l0._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js +110 -0
- package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1r_0uma._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__11s-8eg._.js.map → [root-of-the-server]__1r_0uma._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ssunti._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1mrmaf9._.js.map → [root-of-the-server]__1ssunti._.js.map} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tu85zx._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1wcd2x9._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1xpp36t._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1z3tswg._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1n68akx._.js.map → [root-of-the-server]__1z3tswg._.js.map} +1 -1
- package/.next/server/chunks/_04byth9._.js +33 -23
- package/.next/server/chunks/_04byth9._.js.map +1 -1
- package/.next/server/chunks/_0safx0g._.js +10 -0
- package/.next/server/chunks/_0safx0g._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_delete_route_actions_1a4-ad5.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_restore_route_actions_07637mh.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_route_actions_0bxuv92.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_save_route_actions_0bwga-2.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_graph_route_actions_0pca9et.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_history_route_actions_0w5pu5p.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0opgo3t._.js +14 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0noc5ay._.js.map → [root-of-the-server]__0opgo3t._.js.map} +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1jv5ug1._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__1pk-w2i._.js.map → [root-of-the-server]__1jv5ug1._.js.map} +1 -1
- package/.next/server/chunks/ssr/_0i75x-o._.js +3 -0
- package/.next/server/chunks/ssr/_0i75x-o._.js.map +1 -0
- package/.next/server/chunks/ssr/_15qpb4z._.js +3 -0
- package/.next/server/chunks/ssr/_15qpb4z._.js.map +1 -0
- package/.next/server/chunks/ssr/_1fg0usp._.js +3 -0
- package/.next/server/chunks/ssr/_1fg0usp._.js.map +1 -0
- package/.next/server/chunks/ssr/_1h0wfpz._.js +3 -0
- package/.next/server/chunks/ssr/_1h0wfpz._.js.map +1 -0
- package/.next/server/chunks/ssr/_1ocnpth._.js +3 -0
- package/.next/server/chunks/ssr/_1ocnpth._.js.map +1 -0
- package/.next/server/chunks/ssr/{_14emfpq._.js → _1uno162._.js} +2 -2
- package/.next/server/chunks/ssr/_1uno162._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +1 -0
- package/.next/server/chunks/ssr/{_1ftruw6._.js → node_modules__pnpm_0aoa6rg._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +13 -0
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_settings_page_tsx_0zevtee._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +3 -0
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +1 -0
- package/.next/server/chunks/ssr/src_components_1s861m8._.js +3 -0
- package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +1 -0
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/0b547y6rqct9z.js +1 -0
- package/.next/static/chunks/0e3ha56i_0j05.css +1 -0
- package/.next/static/chunks/0f32hudp0yir7.js +2 -0
- package/.next/static/chunks/0rsmz1jgro1kj.js +1 -0
- package/.next/static/chunks/0wnq_kh8-6wc1.js +2 -0
- package/.next/static/chunks/1acpfyut6j4e2.js +1 -0
- package/.next/static/chunks/{1xyepk9227yej.js → 1l_dys0-y5-r7.js} +6 -6
- package/.next/static/chunks/1rko_88i85yqb.js +21 -0
- package/.next/static/chunks/20mdcup14_0yi.js +11 -0
- package/.next/static/chunks/24u_rc2tbkhai.js +3 -0
- package/.next/static/chunks/2p-pkveutoh75.js +1 -0
- package/.next/static/chunks/{41oxcdcw-pcwt.js → 329sozud9-tvr.js} +1 -1
- package/.next/static/chunks/3qqvn9vv6i0gy.js +68 -0
- package/.next/static/chunks/{2_xpm7qhr69n8.js → 3xqcluqa32mjv.js} +2 -2
- package/README.md +11 -4
- package/package.json +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_07v3boe._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_09iva72._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0bom1b1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dvji7p._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0dzo8jn._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0hvqsqq._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7i-jw._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0k0iop5._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l3-6aq._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0oegm3y._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0p5cyes._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qw8i6_._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0yk-a7v._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_11fsqvb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_143_7ez._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14a4-64._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_17d_oma._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_18qwuyb._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_19au8y6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ak_hy5._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1cqa0nq._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1i-x_q0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jmtliz._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jouwlj._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1r_q5um._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1t959xd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vkprw9._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y95ax9._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y9misr._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_21b8wwy._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0-pmfg2._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02co2yq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__05g5cgo._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__05l6129._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0b5pwze._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0druay_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0p6ja6l._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0q3-t8a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vcsqzd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1-e3i_5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1-ic3af._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11a4ptn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11c8641._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__12nzy_6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14aeqoi._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__15ck1wv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1613hjb._.js +0 -99
- package/.next/server/chunks/[root-of-the-server]__1613hjb._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__169hmq_._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__169hmq_._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__18kxo4a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__197vw9g._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__19k8t87._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ezzeji._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jxu2x9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lj_2cv._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1n68akx._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1npya5q._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qusy4g._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1umrorf._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vh9g2o._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vq38ov._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1wr0m-s._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1xb0fmp._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0noc5ay._.js +0 -14
- package/.next/server/chunks/ssr/[root-of-the-server]__1pk-w2i._.js +0 -3
- package/.next/server/chunks/ssr/_09b02z-._.js +0 -3
- package/.next/server/chunks/ssr/_09b02z-._.js.map +0 -1
- package/.next/server/chunks/ssr/_0d0f1s1._.js +0 -3
- package/.next/server/chunks/ssr/_0d0f1s1._.js.map +0 -1
- package/.next/server/chunks/ssr/_0lnt_va._.js +0 -4
- package/.next/server/chunks/ssr/_0lnt_va._.js.map +0 -1
- package/.next/server/chunks/ssr/_0qlymco._.js +0 -3
- package/.next/server/chunks/ssr/_0qlymco._.js.map +0 -1
- package/.next/server/chunks/ssr/_0sg1oeq._.js +0 -3
- package/.next/server/chunks/ssr/_0sg1oeq._.js.map +0 -1
- package/.next/server/chunks/ssr/_14emfpq._.js.map +0 -1
- package/.next/server/chunks/ssr/_1ftruw6._.js.map +0 -1
- package/.next/server/chunks/ssr/_1x7ggg5._.js +0 -4
- package/.next/server/chunks/ssr/_1x7ggg5._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_1q89l7p._.js.map +0 -1
- package/.next/server/chunks/ssr/src_1lkod9y._.js +0 -8
- package/.next/server/chunks/ssr/src_1lkod9y._.js.map +0 -1
- package/.next/static/chunks/0p1-hkgnm2ll2.js +0 -1
- package/.next/static/chunks/0pgu5q5vodev6.js +0 -1
- package/.next/static/chunks/0rqzvayflendx.js +0 -2
- package/.next/static/chunks/0vcfs7dii85tw.js +0 -21
- package/.next/static/chunks/150y5rwg6gwvx.css +0 -1
- package/.next/static/chunks/1fd43t9y42wd3.js +0 -1
- package/.next/static/chunks/1q50zh5z-fq2k.js +0 -2
- package/.next/static/chunks/2ls_yp4-qgb42.js +0 -1
- package/.next/static/chunks/2zz0ip2l_29c3.js +0 -3
- package/.next/static/chunks/3h4ehgq7i44wb.js +0 -6
- package/.next/static/chunks/3vf5nnd4xjo5_.js +0 -1
- package/.next/static/chunks/40jaenrnspnlh.js +0 -68
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_00p3fu1._.js.map → 11mp_@anthropic-ai_sdk_0-_cqh8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01amtux._.js.map → 11mp_@anthropic-ai_sdk_00o5o78._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_01jjl08._.js.map → 11mp_@anthropic-ai_sdk_03cp17a._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_071zfm8._.js.map → 11mp_@anthropic-ai_sdk_07dk2er._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_07v3boe._.js.map → 11mp_@anthropic-ai_sdk_0_e9zpr._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_09iva72._.js.map → 11mp_@anthropic-ai_sdk_0_xx_qf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0bom1b1._.js.map → 11mp_@anthropic-ai_sdk_0aer9lc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0dvji7p._.js.map → 11mp_@anthropic-ai_sdk_0ax30pe._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0dzo8jn._.js.map → 11mp_@anthropic-ai_sdk_0gn7vgs._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0hvqsqq._.js.map → 11mp_@anthropic-ai_sdk_0hye94a._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0i7i-jw._.js.map → 11mp_@anthropic-ai_sdk_0ir5cgk._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0k0iop5._.js.map → 11mp_@anthropic-ai_sdk_0je0_pa._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0l3-6aq._.js.map → 11mp_@anthropic-ai_sdk_0jfgh0o._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0oegm3y._.js.map → 11mp_@anthropic-ai_sdk_0mha4x1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0p5cyes._.js.map → 11mp_@anthropic-ai_sdk_0n__boa._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0qw8i6_._.js.map → 11mp_@anthropic-ai_sdk_0sqv26_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0yk-a7v._.js.map → 11mp_@anthropic-ai_sdk_0wnc6g-._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_11fsqvb._.js.map → 11mp_@anthropic-ai_sdk_0xh0g59._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_143_7ez._.js.map → 11mp_@anthropic-ai_sdk_1-5wyhj._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_14a4-64._.js.map → 11mp_@anthropic-ai_sdk_13ahm3n._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_17d_oma._.js.map → 11mp_@anthropic-ai_sdk_13e6aq4._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_18qwuyb._.js.map → 11mp_@anthropic-ai_sdk_14eg0ld._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_19au8y6._.js.map → 11mp_@anthropic-ai_sdk_15md1n2._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ak_hy5._.js.map → 11mp_@anthropic-ai_sdk_16av8b9._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1cqa0nq._.js.map → 11mp_@anthropic-ai_sdk_16hjhv1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1i-x_q0._.js.map → 11mp_@anthropic-ai_sdk_16txvf7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1jmtliz._.js.map → 11mp_@anthropic-ai_sdk_198yu7d._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1jouwlj._.js.map → 11mp_@anthropic-ai_sdk_1_9tfq3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1r_q5um._.js.map → 11mp_@anthropic-ai_sdk_1_izr2o._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1t959xd._.js.map → 11mp_@anthropic-ai_sdk_1fljcyg._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1vkprw9._.js.map → 11mp_@anthropic-ai_sdk_1lrt6ul._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1y95ax9._.js.map → 11mp_@anthropic-ai_sdk_1nev_ee._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1y9misr._.js.map → 11mp_@anthropic-ai_sdk_1pgoe2i._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_21b8wwy._.js.map → 11mp_@anthropic-ai_sdk_1rgl7mu._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_08ecfgc._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_00kwqu5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_09--sd6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_01j2nrd._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0e3mwc6._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_05ybj3t._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0go4301._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0adt7jj._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0iq9dmt._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0bnl14w._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0n9ijke._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0f557t9._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0szcyrx._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ra6giw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0xy2s3x._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_107cqfx._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0yaujn7._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1377sl6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0z9ly74._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1_2hcok._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1hmq3al._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1g--m6y._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1tqk4bp._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1geopi5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1x-hr6f._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1i11dte._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1zsdhg0._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1mj3_qk._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_20t__fe._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1qgy210._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__11c8641._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1rkng9q._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1npya5q._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1vr8q8y._.js.map} +0 -0
- /package/.next/static/{fGPda81_8-K4GmaNUE6KA → Q29Tn_NjyVms0d3pKn4Yx}/_buildManifest.js +0 -0
- /package/.next/static/{fGPda81_8-K4GmaNUE6KA → Q29Tn_NjyVms0d3pKn4Yx}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{fGPda81_8-K4GmaNUE6KA → Q29Tn_NjyVms0d3pKn4Yx}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,248070,e=>{"use strict";var t=e.i(83790);let n={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};n.node;let s=(0,t.default)(n);e.s(["MoreHorizontal",0,s],248070)},246978,e=>{"use strict";var t=e.i(83790);let n={name:"folder-input",size:24,node:[["path",{d:"M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1",key:"fm4g5t"}],["path",{d:"M2 13h10",key:"pgb2dq"}],["path",{d:"m9 16 3-3-3-3",key:"6m91ic"}]]};n.node;let s=(0,t.default)(n);e.s(["FolderInput",0,s],246978)},506534,e=>{"use strict";var t=e.i(83790);let n={name:"list-tree",size:24,node:[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]};n.node;let s=(0,t.default)(n);e.s(["ListTree",0,s],506534)},475850,e=>{"use strict";var t=e.i(83790);let n={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};n.node;let s=(0,t.default)(n);e.s(["MessageSquare",0,s],475850)},424991,e=>{"use strict";var t=e.i(83790);let n={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};n.node;let s=(0,t.default)(n);e.s(["Pencil",0,s],424991)},885600,e=>{"use strict";var t=e.i(83790);let n={name:"sparkles",size:24,node:[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]],aliases:["stars"]};n.node;let s=(0,t.default)(n);e.s(["Sparkles",0,s],885600)},496385,e=>{"use strict";var t=e.i(83790);let n={name:"triangle-alert",size:24,node:[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],aliases:["alert-triangle"]};n.node;let s=(0,t.default)(n);e.s(["AlertTriangle",0,s],496385)},343253,508540,e=>{"use strict";var t=e.i(83790);let n={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};n.node;let s=(0,t.default)(n);e.s(["User",0,s],343253);var a=e.i(72345),r=e.i(975157);e.s(["ItemPanelHeader",0,function({kicker:e,title:t,menu:n,properties:s,className:l,children:i}){let o=s.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return(0,a.jsxs)("header",{"data-item-header":!0,className:(0,r.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",l),children:[(0,a.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),n]}),(0,a.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:t}),o.length>0&&(0,a.jsx)("dl",{className:"grid grid-cols-[88px_minmax(0,1fr)] items-center gap-x-3 gap-y-1.5 text-xs",children:o.map(e=>(0,a.jsxs)("div",{className:"contents",children:[(0,a.jsx)("dt",{className:"text-muted",children:e.label}),(0,a.jsx)("dd",{className:"flex min-w-0 items-center gap-2 text-txt",children:e.value})]},e.label))}),i]})}],508540)},723528,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(240595),a=e.i(975157),r=e.i(244267),l=e.i(844081);let i={running:"Agent working","needs-answer":"Agent needs you",review:"Plan to review"};e.s(["AgentDot",0,function({attach:e}){let n=(0,r.useItemAgent)(e);return n?(0,t.jsx)(l.StatusMarker,{status:n.status,label:i[n.status]}):null},"AgentMark",0,function({attach:e,className:l}){let o=(0,r.useItemAgent)(e),{show:d}=(0,r.useChats)();if(!o)return null;let u=i[o.status];return(0,t.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),d(o.chatId)},title:`${u} \xb7 open chat`,"aria-label":`${u}, open chat`,className:(0,a.cn)("nodrag inline-flex shrink-0 items-center gap-1 rounded-full border px-1.5 py-px font-mono text-[10px] leading-4 animate-fade-in transition-colors duration-(--duration-fast)","running"===o.status&&"border-accent/50 text-accent hover:bg-accent/10","needs-answer"===o.status&&"border-amber/50 text-amber hover:bg-amber/10","review"===o.status&&"border-accent/50 bg-accent/10 text-accent hover:bg-accent/20",l),children:["running"===o.status?(0,t.jsx)(s.Loader2,{className:"size-3 animate-spin","aria-hidden":!0}):(0,t.jsx)(n.Bot,{className:"size-3","aria-hidden":!0}),u]})}])},651581,e=>{"use strict";var t=e.i(72345),n=e.i(211672),s=e.i(301702),a=e.i(496385),r=e.i(837001),l=e.i(975157),i=e.i(450768),o=e.i(640818),d=e.i(723528),u=e.i(244267);let c=[s.Position.Top,s.Position.Right,s.Position.Bottom,s.Position.Left];function x(){return(0,t.jsxs)(t.Fragment,{children:[c.map(e=>(0,t.jsx)(n.Handle,{id:e,type:"source",position:e,isConnectable:!1,className:"opacity-0"},e)),c.map(e=>(0,t.jsx)(n.Handle,{id:`${e}-t`,type:"target",position:e,isConnectable:!1,className:"opacity-0"},`${e}-t`))]})}let p={"in-progress":"Active",paused:"Paused",done:"Done",planned:"Planned"};function m({status:e,className:n}){return(0,t.jsxs)("span",{title:p[e],"aria-label":p[e],className:(0,l.cn)("relative inline-flex h-2 w-2 shrink-0",n),children:["in-progress"===e&&(0,t.jsx)("span",{className:"absolute inset-0 animate-ping rounded-full bg-accent/60"}),(0,t.jsx)("span",{className:(0,l.cn)("relative h-full w-full rounded-full","done"===e&&"bg-teal","in-progress"===e&&"bg-accent","planned"===e&&"border border-muted","paused"===e&&"border-2 border-y-0 border-muted")})]})}let h={done:"bg-teal","in-progress":"bg-amber",review:"bg-accent",blocked:"bg-danger",paused:"bg-muted/60",todo:"bg-border2",cancelled:"bg-border"};function g({statuses:e,className:n}){if(!e?.length)return null;let s=e.filter(e=>"done"===e).length;return(0,t.jsx)("div",{className:(0,l.cn)("flex h-1.5 min-w-0 flex-1 gap-0.5",n),title:`${s}/${e.length} tasks done`,children:e.map((e,n)=>(0,t.jsx)("span",{className:(0,l.cn)("h-full flex-1 rounded-[1px]",h[e])},n))})}function f({value:e,total:n,className:s}){let a=2*Math.PI*14,r=n>0?e/n:0;return(0,t.jsxs)("span",{className:(0,l.cn)("relative inline-flex h-9 w-9 shrink-0 items-center justify-center",s),title:`${e}/${n} tasks done`,children:[(0,t.jsxs)("svg",{viewBox:"0 0 36 36",className:"absolute inset-0 -rotate-90",children:[(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",className:"stroke-border"}),(0,t.jsx)("circle",{cx:"18",cy:"18",r:14,fill:"none",strokeWidth:"3",stroke:"currentColor",strokeLinecap:"round",strokeDasharray:a,strokeDashoffset:a*(1-r)})]}),(0,t.jsx)("span",{className:"font-mono text-[9px] text-txt",children:Math.round(100*r)})]})}function b({due:e,state:n}){return e?(0,t.jsxs)("span",{className:(0,l.cn)("font-mono text-[10px]","overdue"===n?"text-danger":"soon"===n?"text-amber":"text-muted"),children:["Due ",(0,i.formatDay)(e)]}):null}function k({data:e}){let n=e.taskDue;return n&&n.overdue>0?(0,t.jsxs)("span",{className:"font-mono text-[10px] text-danger",children:[n.overdue," ",1===n.overdue?"task":"tasks"," overdue"]}):e.item.due?(0,t.jsx)(b,{due:e.item.due,state:e.dueState}):n?.next?(0,t.jsxs)("span",{className:(0,l.cn)("font-mono text-[10px]",e.taskDueSoon?"text-amber":"text-muted"),children:["Next due ",(0,i.formatDay)(n.next)]}):null}function j({drift:e}){return e?.length?(0,t.jsx)("span",{title:e.join("\n"),className:"absolute -left-2 -top-2 rounded-full bg-bg p-0.5 text-amber",children:(0,t.jsx)(a.AlertTriangle,{className:"h-3.5 w-3.5"})}):null}e.s(["DueChip",0,b,"STATUS_LABEL",0,p,"SegmentedProgress",0,g,"StatusDot",0,m,"StatusPill",0,function({status:e}){return(0,t.jsxs)("span",{className:(0,l.cn)("inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 font-mono text-[10px] uppercase tracking-wider","done"===e&&"border-teal/40 text-teal","in-progress"===e&&"border-accent/50 text-accent","planned"===e&&"border-dashed border-border2 text-muted","paused"===e&&"border-border2 text-muted"),children:[(0,t.jsx)(m,{status:e,className:"h-1.5 w-1.5"}),p[e]]})},"TASK_STATUS_BG",0,h,"nodeTypes",0,{horizon:function({data:e,selected:n}){let{item:s,progress:a,epics:r,chapter:i}=e,d=s.status;return(0,t.jsxs)("div",{style:{width:o.HORIZON_W},className:(0,l.cn)("relative flex items-center gap-3 rounded-xl border bg-surface px-3.5 py-3 transition-shadow duration-(--duration-base)","in-progress"===d&&"border-accent/60 shadow-[0_0_0_1px_rgb(var(--rgb-accent)/0.25),0_10px_30px_-12px_rgb(var(--rgb-accent)/0.6)]","done"===d&&"border-teal/40","planned"===d&&"border-dashed border-border2","paused"===d&&"border-border2 opacity-75",n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg"),children:[(0,t.jsx)(x,{}),(0,t.jsx)("span",{className:(0,l.cn)("font-mono text-2xl font-semibold leading-none tabular-nums","in-progress"===d?"text-accent":"done"===d?"text-teal":"text-muted"),children:i?String(i).padStart(2,"0"):"··"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("p",{className:"text-xs font-semibold uppercase leading-snug tracking-wider text-txt",children:s.title}),(0,t.jsxs)("p",{className:"mt-1 flex flex-wrap items-center gap-x-2 font-mono text-[10px] text-muted",children:[r&&r.total>0&&(0,t.jsxs)("span",{children:[r.done,"/",r.total," epics"]}),(0,t.jsx)(b,{due:s.due,state:e.dueState})]})]}),a&&(0,t.jsx)(f,{value:a.done,total:a.total,className:"done"===d?"text-teal":"text-accent"}),(0,t.jsx)(j,{drift:e.drift})]})},feature:function({data:e,selected:n}){let{item:s,taskStatuses:a,nextTaskId:i}=e,c=(0,u.useItemAgent)({kind:"epic",id:s.id}),p=!!e.drift?.length,h=n&&"ring-2 ring-accent/60 ring-offset-2 ring-offset-bg";if("done"===s.status)return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,l.cn)("group relative flex items-center gap-2 rounded-lg border border-border bg-surface/60 px-3 py-2 hover:border-teal/40",h),children:[(0,t.jsx)(x,{}),(0,t.jsx)(r.Check,{className:"h-3.5 w-3.5 shrink-0 text-teal",strokeWidth:3}),(0,t.jsx)("p",{className:"min-w-0 flex-1 truncate text-[13px] text-muted group-hover:text-txt",title:s.title,children:s.title}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):e.progress&&(0,t.jsxs)("span",{className:"font-mono text-[10px] text-muted",children:[e.progress.done,"/",e.progress.total]}),(0,t.jsx)(j,{drift:e.drift})]});let f="in-progress"===s.status;return(0,t.jsxs)("div",{style:{width:o.FEATURE_W},className:(0,l.cn)("relative flex flex-col gap-1.5 rounded-lg border px-3 py-2.5 transition-shadow duration-(--duration-base)",f?"border-accent/50 bg-surface shadow-[0_8px_24px_-10px_rgb(var(--rgb-accent)/0.55)]":"border-dashed border-border2 bg-bg hover:border-muted","paused"===s.status&&"opacity-70",h),children:[(0,t.jsx)(x,{}),f&&(0,t.jsx)("span",{className:(0,l.cn)("absolute -inset-y-px -left-px w-[3px] rounded-l-lg",p?"bg-amber":"bg-accent")}),(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[10px]",children:[(0,t.jsx)("span",{className:"text-muted",children:s.id}),c?(0,t.jsx)(d.AgentMark,{attach:{kind:"epic",id:s.id}}):f?(0,t.jsxs)("span",{className:"flex items-center gap-1.5 uppercase tracking-wider text-accent",children:[(0,t.jsx)(m,{status:"in-progress",className:"h-1.5 w-1.5"}),"Live"]}):(0,t.jsx)("span",{className:"uppercase tracking-wider text-muted",children:s.tasks.length?`${s.tasks.length} tasks`:"No tasks yet"})]}),(0,t.jsx)("p",{className:(0,l.cn)("line-clamp-2 text-[13px] leading-snug",f?"font-medium text-txt":"text-txt/80"),title:s.title,children:s.title}),a&&a.length>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(g,{statuses:a}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:f&&i?(0,t.jsxs)(t.Fragment,{children:["next ",(0,t.jsx)("span",{className:"text-txt",children:i})]}):`${a.filter(e=>"done"===e).length}/${a.length}`})]}),(0,t.jsx)(k,{data:e}),(0,t.jsx)(j,{drift:e.drift})]})}}])},450768,692172,640818,e=>{"use strict";function t(e,t,n){let s;return e?"done"===t?"done":e<n?"overdue":7>=Math.round(((s=e=>Date.UTC(+e.slice(0,4),e.slice(5,7)-1,+e.slice(8,10)))(e)-s(n))/864e5)?"soon":"ok":null}function n(e){return e.every(e=>"done"===e)?"done":e.some(e=>"other"!==e)?"in-progress":"planned"}e.s(["dueState",0,t,"localToday",0,function(e=new Date){let t=e=>String(e).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},"roadmapHealth",0,function(e,s,a){let r={},l=[];for(let n of e)n.due&&"overdue"===t(n.due,n.status,a)&&l.push({id:n.id,kind:"overdue",message:`${n.id} "${n.title}" is overdue since ${n.due}`});let i=new Set(e.filter(e=>null===e.parent).map(e=>e.id));for(let i of e){if(null===i.parent)continue;let e=i.tasks.filter(e=>!(e in s));e.length&&l.push({id:i.id,kind:"missing-task",message:`${i.id} links unknown task ${e.join(", ")}`});let o=i.tasks.filter(e=>e in s&&"cancelled"!==s[e].status),d="done"===i.status||"paused"===i.status?[]:function(e,n,s,a){let r=[];for(let e of n){let t=s[e];"done"!==t.status&&t.due&&t.due<a&&r.push(`${e} overdue since ${t.due}`),"blocked"===t.status&&r.push(`${e} blocked`)}let l=n.some(e=>["done","in-progress","review"].includes(s[e].status));return e.due&&"soon"===t(e.due,e.status,a)&&!l&&r.push(`due ${e.due}, nothing started`),r}(i,o,s,a);if(d.length&&l.push({id:i.id,kind:"at-risk",message:`${i.id} "${i.title}" at risk: ${d.join("; ")}`}),!o.length)continue;let u=o.map(e=>"done"===s[e].status?"done":"in-progress"===s[e].status||"review"===s[e].status?"in-progress":"other");r[i.id]={done:u.filter(e=>"done"===e).length,total:o.length};let c=n(u);if(c!==i.status&&("paused"!==i.status||"done"===c)){let e=o.filter(e=>"done"!==s[e].status);l.push({id:i.id,kind:"status-mismatch",message:"done"===c?`${i.id} "${i.title}": all tasks done but status is ${i.status}`:`${i.id} "${i.title}" is ${i.status} but tasks ${e.join(", ")} are not done`,suggestedStatus:c})}}for(let t of e){if(!i.has(t.id))continue;let s=e.filter(e=>e.parent===t.id);if(!s.length)continue;let a=s.map(e=>"done"===e.status?"done":"in-progress"===e.status?"in-progress":"other");r[t.id]=s.reduce((e,t)=>{let n=r[t.id]??{done:+("done"===t.status),total:1};return{done:e.done+n.done,total:e.total+n.total}},{done:0,total:0});let o=n(a);o!==t.status&&("paused"!==t.status||"done"===o)&&l.push({id:t.id,kind:"status-mismatch",message:`${t.id} "${t.title}" is ${t.status} but its features say ${o}`,suggestedStatus:o})}return{progress:r,drift:l}},"taskDueSummary",0,function(e,t,n){let s=e.map(e=>t[e]).filter(e=>e&&e.due&&"done"!==e.status&&"cancelled"!==e.status).map(e=>e.due);if(!s.length)return null;let a=s.filter(e=>e>=n).sort();return{overdue:s.length-a.length,next:a[0]??null}}],692172);function s(e){let t=new Set(e.filter(e=>null===e.parent).map(e=>e.id));return e.filter(e=>null===e.parent||!t.has(e.parent)).sort((e,t)=>e.order-t.order)}function a(e,t){return e.filter(e=>e.parent===t).sort((e,t)=>e.order-t.order)}e.s(["FEATURE_W",0,220,"HORIZON_W",0,260,"childrenOf",0,a,"resolvePositions",0,function(e,t){let n={},r=0;for(let l of s(e)){let s=t[l.id]??{x:0,y:r};n[l.id]=s;let i=null===l.parent?a(e,l.id):[],o=Math.ceil(i.length/2)>6?2:1;i.forEach((e,a)=>{let r=a%2==0?1:-1,l=Math.floor(a/2),i=l%o,d=Math.floor(l/o);n[e.id]=t[e.id]??{x:s.x+20+r*(340+260*i),y:s.y+110*d+55*i}}),r+=110*Math.max(1,Math.ceil(Math.ceil(i.length/2)/o))+90}return n},"spineItems",0,s],640818);let r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],l=e=>({y:+e.slice(0,4),m:+e.slice(5,7),day:+e.slice(8,10)});e.s(["LANE_ROW_H",0,44,"buildTimeline",0,function(e,n){let i=e.map(e=>e.due).filter(e=>!!e),o=l([n,...i].sort()[0]),d=l([n,...i].sort().at(-1)??n),u={y:o.y,m:o.m-1},c=Math.max(6,(d.y-o.y)*12+(d.m-o.m)+3),x=Array.from({length:c},(e,t)=>{let n=12*u.y+(u.m-1)+t,s=Math.floor(n/12),a=n%12+1;return{y:s,m:a,label:1===a||0===t?`${r[a-1]} ${s}`:r[a-1],x:160*t}}),p=e=>{let{y:t,m:n,day:s}=l(e);return((t-x[0].y)*12+(n-x[0].m))*160+(s-.5)/new Date(t,n,0).getDate()*160},m=s(e).map(s=>{let r=[s,...null===s.parent?a(e,s.id):[]].filter(e=>e.due),l=[],i=r.map(e=>({item:e,x:p(e.due),horizon:e.id===s.id})).sort((e,t)=>e.x-t.x).map(e=>{let s=l.findIndex(t=>e.x>=t);return -1===s&&(s=l.push(0)-1),l[s]=e.x+180,{...e,row:s,state:t(e.item.due,e.item.status,n)}});return{item:s,rows:Math.max(1,l.length),markers:i}});return{months:x.map(({label:e,x:t})=>({label:e,x:t})),width:160*c,todayX:p(n),lanes:m,undated:e.filter(e=>!e.due&&"done"!==e.status)}},"formatDay",0,function(e){let{m:t,day:n}=l(e);return`${n} ${r[t-1]}`}],450768)},635743,e=>{"use strict";var t=e.i(72345),n=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:s,subMessage:a,bordered:r}){return(0,t.jsxs)("div",{className:(0,n.cn)("text-center py-16 text-muted text-sm",r&&"border border-dashed border-border rounded-xl"),children:[(0,t.jsx)("p",{className:"text-3xl mb-3",children:e}),(0,t.jsx)("p",{children:s}),a&&(0,t.jsx)("p",{className:"text-xs mt-1",children:a})]})}])},65112,e=>{"use strict";var t=e.i(72345),n=e.i(180338),s=e.i(837001),a=e.i(755146),r=e.i(975157);let l=e=>e.stopPropagation(),i="inline-flex min-w-0 items-center gap-1 rounded-sm px-1 -mx-1 text-left outline-hidden hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent/60";e.s(["InlineDate",0,function({label:e,value:s,onChange:a,children:o,className:d}){let[u,c]=(0,n.useState)(!1),[x,p]=(0,n.useState)(s??""),m=()=>{c(!1),(x||null)!==s&&a(x||null)};return u?(0,t.jsx)("input",{type:"date",autoFocus:!0,"aria-label":e,value:x,onChange:e=>p(e.target.value),onClick:l,onPointerDown:l,onKeyDown:e=>{l(e),"Enter"===e.key&&(e.preventDefault(),m()),"Escape"===e.key&&(e.preventDefault(),c(!1))},onBlur:m,className:"h-6 rounded-sm border border-accent/60 bg-bg px-1 font-mono text-[11px] text-txt scheme-light outline-hidden dark:scheme-dark"}):(0,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:e=>{l(e),p(s??""),c(!0)},onKeyDown:l,className:(0,r.cn)(i,d),children:o})},"InlineSelect",0,function({label:e,value:n,options:o,onChange:d,children:u,className:c}){return(0,t.jsxs)(a.DropdownMenu,{children:[(0,t.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button","aria-label":e,draggable:!1,onClick:l,onKeyDown:l,onPointerDown:l,className:(0,r.cn)(i,c),children:u})}),(0,t.jsx)(a.DropdownMenuContent,{align:"start",className:"max-h-72 w-48 overflow-y-auto",onClick:l,onKeyDown:l,children:o.map(e=>(0,t.jsxs)(a.DropdownMenuItem,{onSelect:()=>{e.value!==n&&d(e.value)},children:[e.node??e.label,e.value===n&&(0,t.jsx)(s.Check,{className:"ml-auto size-3.5 text-muted","aria-hidden":!0})]},e.value))})]})}])},35032,222581,e=>{"use strict";var t=e.i(72345),n=e.i(479432),s=e.i(343253),a=e.i(975157);function r(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function l(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,r,"ownerLabel",0,l],222581),e.s(["OwnerChip",0,function({owner:e,className:i}){let o=r(e);if("none"===o)return null;let d="ai"===o?n.Bot:s.User;return(0,t.jsxs)("span",{title:`Owner: ${l(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",i),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),l(e)]})}],35032)}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,732460,e=>{"use strict";var t=e.i(83790);let i={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};i.node;let n=(0,t.default)(i);e.s(["BookOpen",0,n],732460)},161863,e=>{"use strict";var t=e.i(83790);let i={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};i.node;let n=(0,t.default)(i);e.s(["Search",0,n],161863)},649021,e=>{"use strict";let t=[{id:"claude-md",name:"CLAUDE.md",description:"AI agent instructions for Claude Code",defaultPath:"CLAUDE.md",category:"ai-agent",content:`# {{PROJECT_NAME}} — Agent Instructions
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,979400,e=>{"use strict";var t=e.i(83790);let r={name:"chevrons-up-down",size:24,node:[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]};r.node;let o=(0,t.default)(r);e.s(["ChevronsUpDown",0,o],979400)},609617,e=>{"use strict";var t=e.i(83790);let r={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};r.node;let o=(0,t.default)(r);e.s(["Copy",0,o],609617)},763305,759684,e=>{"use strict";var t=e.i(83790);let r={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};r.node;let o=(0,t.default)(r);e.s(["FolderOpen",0,o],763305);var n=e.i(72345),i=e.i(180338),s=e.i(978238),a=e.i(997611),l=e.i(264145),c=e.i(166100),d=e.i(232253),u=e.i(900877),p=e.i(44532);function m(e,[t,r]){return Math.min(r,Math.max(t,e))}(0,Object.defineProperty)(m,"name",{value:"clamp",configurable:!0});var h=e.i(543836),g=Object.defineProperty,f=(e,t)=>g(e,"name",{value:t,configurable:!0});function y(e,t){return i.useReducer((e,r)=>t[e][r]??e,e)}f(y,"useStateMachine");var v="ScrollArea",[b,w]=(0,l.createContextScope)(v),[x,C]=b(v),E=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,type:o="hover",dir:a,scrollHideDelay:l=600,...d}=e,[p,m]=i.useState(null),[h,g]=i.useState(null),[f,y]=i.useState(null),[v,b]=i.useState(null),[w,C]=i.useState(null),[E,R]=i.useState(0),[S,T]=i.useState(0),[P,A]=i.useState(!1),[k,_]=i.useState(!1),D=(0,c.useComposedRefs)(t,m),N=(0,u.useDirection)(a);return(0,n.jsx)(x,{scope:r,type:o,dir:N,scrollHideDelay:l,scrollArea:p,viewport:h,onViewportChange:g,content:f,onContentChange:y,scrollbarX:v,onScrollbarXChange:b,scrollbarXEnabled:P,onScrollbarXEnabledChange:A,scrollbarY:w,onScrollbarYChange:C,scrollbarYEnabled:k,onScrollbarYEnabledChange:_,onCornerWidthChange:R,onCornerHeightChange:T,children:(0,n.jsx)(s.Primitive.div,{dir:N,...d,ref:D,style:{position:"relative","--radix-scroll-area-corner-width":E+"px","--radix-scroll-area-corner-height":S+"px",...e.style}})})},"ScrollArea")),R=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,children:o,nonce:a,...l}=e,d=C("ScrollAreaViewport",r),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,d.onViewportChange);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S,{nonce:a}),(0,n.jsx)(s.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:p,style:{overflowX:d.scrollbarXEnabled?"scroll":"hidden",overflowY:d.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,n.jsx)("div",{ref:d.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})},"ScrollAreaViewport")),S=i.memo(f(function({nonce:e}){return(0,n.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(e,t)=>e.nonce===t.nonce),T="ScrollAreaScrollbar",P=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:l}=s,c="horizontal"===e.orientation;return i.useEffect(()=>(c?a(!0):l(!0),()=>{c?a(!1):l(!1)}),[c,a,l]),"hover"===s.type?(0,n.jsx)(A,{...o,ref:t,forceMount:r}):"scroll"===s.type?(0,n.jsx)(k,{...o,ref:t,forceMount:r}):"auto"===s.type?(0,n.jsx)(_,{...o,ref:t,forceMount:r}):"always"===s.type?(0,n.jsx)(D,{...o,ref:t,"data-state":"visible"}):null},"ScrollAreaScrollbar")),A=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),[l,c]=i.useState(!1);return i.useEffect(()=>{let e=s.scrollArea,t=0;if(e){let r=f(()=>{window.clearTimeout(t),c(!0)},"handlePointerEnter"),o=f(()=>{t=window.setTimeout(()=>c(!1),s.scrollHideDelay)},"handlePointerLeave");return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",o),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",o)}}},[s.scrollArea,s.scrollHideDelay]),(0,n.jsx)(a.Presence,{present:r||l,children:(0,n.jsx)(_,{"data-state":l?"visible":"hidden",...o,ref:t})})},"ScrollAreaScrollbarHover")),k=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,s=C(T,e.__scopeScrollArea),l="horizontal"===e.orientation,c=X(()=>u("SCROLL_END"),100),[d,u]=y("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return i.useEffect(()=>{if("idle"===d){let e=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(e)}},[d,s.scrollHideDelay,u]),i.useEffect(()=>{let e=s.viewport,t=l?"scrollLeft":"scrollTop";if(e){let r=e[t],o=f(()=>{let o=e[t];r!==o&&(u("SCROLL"),c()),r=o},"handleScroll");return e.addEventListener("scroll",o),()=>e.removeEventListener("scroll",o)}},[s.viewport,l,u,c]),(0,n.jsx)(a.Presence,{present:r||"hidden"!==d,children:(0,n.jsx)(D,{"data-state":"hidden"===d?"hidden":"visible",...o,ref:t,onPointerEnter:(0,h.composeEventHandlers)(e.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:(0,h.composeEventHandlers)(e.onPointerLeave,()=>u("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),_=i.forwardRef(f(function(e,t){let r=C(T,e.__scopeScrollArea),{forceMount:o,...s}=e,[l,c]=i.useState(!1),d="horizontal"===e.orientation,u=X(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;c(d?e:t)}},10);return Q(r.viewport,u),Q(r.content,u),(0,n.jsx)(a.Presence,{present:o||l,children:(0,n.jsx)(D,{"data-state":l?"visible":"hidden",...s,ref:t})})},"ScrollAreaScrollbarAuto")),D=i.forwardRef(f(function(e,t){let{orientation:r="vertical",...o}=e,s=C(T,e.__scopeScrollArea),a=i.useRef(null),l=i.useRef(0),[c,d]=i.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=q(c.viewport,c.content),p={...o,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:f(e=>a.current=e,"onThumbChange"),onThumbPointerUp:f(()=>l.current=0,"onThumbPointerUp"),onThumbPointerDown:f(e=>l.current=e,"onThumbPointerDown")};function m(e,t){return Y(e,l.current,c,t)}return(f(m,"getScrollPosition"),"horizontal"===r)?(0,n.jsx)(N,{...p,ref:t,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=K(s.viewport.scrollLeft,c,s.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollLeft=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollLeft=m(e,s.dir))}}):"vertical"===r?(0,n.jsx)(I,{...p,ref:t,onThumbPositionChange:()=>{if(s.viewport&&a.current){let e=K(s.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{s.viewport&&(s.viewport.scrollTop=e)},onDragScroll:e=>{s.viewport&&(s.viewport.scrollTop=m(e))}}):null},"ScrollAreaScrollbarVisible")),N=i.forwardRef(f(function(e,t){let{sizes:r,onSizesChange:o,...s}=e,a=C(T,e.__scopeScrollArea),[l,d]=i.useState(),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,a.onScrollbarXChange);return i.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,n.jsx)(j,{"data-orientation":"horizontal",...s,ref:p,sizes:r,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":z(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(a.viewport){let o=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(o),J(o,r)&&t.preventDefault()}},onResize:()=>{u.current&&a.viewport&&l&&o({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:G(l.paddingLeft),paddingEnd:G(l.paddingRight)}})}})},"ScrollAreaScrollbarX")),I=i.forwardRef(f(function(e,t){let{sizes:r,onSizesChange:o,...s}=e,a=C(T,e.__scopeScrollArea),[l,d]=i.useState(),u=i.useRef(null),p=(0,c.useComposedRefs)(t,u,a.onScrollbarYChange);return i.useEffect(()=>{u.current&&d(getComputedStyle(u.current))},[u]),(0,n.jsx)(j,{"data-orientation":"vertical",...s,ref:p,sizes:r,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":z(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(a.viewport){let o=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(o),J(o,r)&&t.preventDefault()}},onResize:()=>{u.current&&a.viewport&&l&&o({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:G(l.paddingTop),paddingEnd:G(l.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[O,L]=b(T),j=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,sizes:o,hasThumb:a,onThumbChange:l,onThumbPointerUp:u,onThumbPointerDown:p,onThumbPositionChange:m,onDragScroll:g,onWheelScroll:y,onResize:v,...b}=e,w=C(T,r),[x,E]=i.useState(null),R=(0,c.useComposedRefs)(t,E),S=i.useRef(null),P=i.useRef(""),A=w.viewport,k=o.content-o.viewport,_=(0,d.useCallbackRef)(y),D=(0,d.useCallbackRef)(m),N=X(v,10);function I(e){S.current&&g({x:e.clientX-S.current.left,y:e.clientY-S.current.top})}return f(I,"handleDragScroll"),i.useEffect(()=>{let e=f(e=>{let t=e.target;x?.contains(t)&&_(e,k)},"handleWheel");return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[A,x,k,_]),i.useEffect(D,[o,D]),Q(x,N),Q(w.content,N),(0,n.jsx)(O,{scope:r,scrollbar:x,hasThumb:a,onThumbChange:(0,d.useCallbackRef)(l),onThumbPointerUp:(0,d.useCallbackRef)(u),onThumbPositionChange:D,onThumbPointerDown:(0,d.useCallbackRef)(p),children:(0,n.jsx)(s.Primitive.div,{...b,ref:R,style:{position:"absolute",...b.style},onPointerDown:(0,h.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),S.current=x.getBoundingClientRect(),P.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",w.viewport&&(w.viewport.style.scrollBehavior="auto"),I(e))}),onPointerMove:(0,h.composeEventHandlers)(e.onPointerMove,I),onPointerUp:(0,h.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=P.current,w.viewport&&(w.viewport.style.scrollBehavior=""),S.current=null})})})},"ScrollAreaScrollbarImpl")),M="ScrollAreaThumb",H=i.forwardRef(f(function(e,t){let{forceMount:r,...o}=e,i=L(M,e.__scopeScrollArea);return(0,n.jsx)(a.Presence,{present:r||i.hasThumb,children:(0,n.jsx)(U,{ref:t,...o})})},"ScrollAreaThumb")),U=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,style:o,...a}=e,l=C(M,r),d=L(M,r),{onThumbPositionChange:u}=d,p=(0,c.useComposedRefs)(t,d.onThumbChange),m=i.useRef(void 0),g=X(()=>{m.current&&(m.current(),m.current=void 0)},100);return i.useEffect(()=>{let e=l.viewport;if(e){let t=f(()=>{g(),m.current||(m.current=$(e,u),u())},"handleScroll");return u(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[l.viewport,g,u]),(0,n.jsx)(s.Primitive.div,{"data-state":d.hasThumb?"visible":"hidden",...a,ref:p,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,h.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,o=e.clientY-t.top;d.onThumbPointerDown({x:r,y:o})}),onPointerUp:(0,h.composeEventHandlers)(e.onPointerUp,d.onThumbPointerUp)})},"ScrollAreaThumbImpl")),W="ScrollAreaCorner",B=i.forwardRef(f(function(e,t){let r=C(W,e.__scopeScrollArea),o=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&o?(0,n.jsx)(F,{...e,ref:t}):null},"ScrollAreaCorner")),F=i.forwardRef(f(function(e,t){let{__scopeScrollArea:r,...o}=e,a=C(W,r),[l,c]=i.useState(0),[d,u]=i.useState(0),p=!!(l&&d),{onCornerWidthChange:m,onCornerHeightChange:h}=a;return Q(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),u(e)}),Q(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),c(e)}),i.useEffect(()=>()=>{m(0),h(0)},[m,h]),p?(0,n.jsx)(s.Primitive.div,{...o,ref:t,style:{width:l,height:d,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function G(e){return e?parseInt(e,10):0}function q(e,t){let r=e/t;return isNaN(r)?0:r}function z(e){let t=q(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function Y(e,t,r,o="ltr"){let n=z(r),i=t||n/2,s=r.scrollbar.paddingStart+i,a=r.scrollbar.size-r.scrollbar.paddingEnd-(n-i),l=r.content-r.viewport;return V([s,a],"ltr"===o?[0,l]:[-1*l,0])(e)}function K(e,t,r="ltr"){let o=z(t),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,i=t.scrollbar.size-n,s=t.content-t.viewport,a=m(e,"ltr"===r?[0,s]:[-1*s,0]);return V([0,s],[0,i-o])(a)}function V(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(r-e[0])}}function J(e,t){return e>0&&e<t}f(G,"toInt"),f(q,"getThumbRatio"),f(z,"getThumbSize"),f(Y,"getScrollPositionFromPointer"),f(K,"getThumbOffsetFromScroll"),f(V,"linearScale"),f(J,"isScrollingWithinScrollbarBounds");var $=f((e,t=()=>{})=>(e.scrollLeft,e.scrollTop,()=>window.cancelAnimationFrame(0)),"addUnlinkedScrollListener");function X(e,t){let r=(0,d.useCallbackRef)(e),o=i.useRef(0);return i.useEffect(()=>()=>window.clearTimeout(o.current),[]),i.useCallback(()=>{window.clearTimeout(o.current),o.current=window.setTimeout(r,t)},[r,t])}function Q(e,t){let r=(0,d.useCallbackRef)(t);(0,p.useLayoutEffect)(()=>{let t=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(t),o.unobserve(e)}}},[e,r])}f(X,"useDebounceCallback"),f(Q,"useResizeObserver");var Z=e.i(975157);let ee=i.forwardRef(({className:e,children:t,...r},o)=>(0,n.jsxs)(E,{ref:o,className:(0,Z.cn)("relative overflow-hidden",e),...r,children:[(0,n.jsx)(R,{className:"h-full w-full rounded-[inherit]",children:t}),(0,n.jsx)(et,{}),(0,n.jsx)(B,{})]}));ee.displayName=E.displayName;let et=i.forwardRef(({className:e,orientation:t="vertical",...r},o)=>(0,n.jsx)(P,{ref:o,orientation:t,className:(0,Z.cn)("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-px","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-px",e),...r,children:(0,n.jsx)(H,{className:"relative flex-1 rounded-full bg-border2"})}));et.displayName=P.displayName,e.s(["ScrollArea",0,ee],759684)},91881,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(406952),n=e.i(83790);let i={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};i.node;let s=(0,n.default)(i);var a=e.i(975157),l=e.i(776639),c=e.i(519455),d=e.i(793479),u=e.i(759684),p=e.i(649021);e.s(["NewDocModal",0,function({open:e,onOpenChange:n,rootParam:i,onDocCreated:m}){let[h,g]=(0,r.useState)(1),[f,y]=(0,r.useState)(null),[v,b]=(0,r.useState)(""),[w,x]=(0,r.useState)(""),[C,E]=(0,r.useState)(!1);async function R(){if(f&&v.trim()){x(""),E(!0);try{let e=await fetch(`/api/docs${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:v.trim(),content:f.content})});if(409===e.status){x("File already exists"),E(!1);return}if(!e.ok){let t=await e.json();x(t.error||"Failed to create file"),E(!1);return}n(!1),m(v.trim())}catch{x("Network error"),E(!1)}}}return(0,r.useEffect)(()=>{e&&(g(1),y(null),b(""),x(""),E(!1))},[e]),(0,t.jsx)(l.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(l.DialogContent,{className:"max-w-2xl bg-surface border-border",children:[(0,t.jsx)(l.DialogHeader,{children:(0,t.jsx)(l.DialogTitle,{className:"text-txt text-sm font-semibold",children:1===h?"Choose a template":"Confirm file path"})}),1===h&&(0,t.jsx)(u.ScrollArea,{className:"max-h-[420px]",children:(0,t.jsx)("div",{className:"grid grid-cols-3 gap-2 p-1",children:p.TEMPLATES.map(e=>(0,t.jsxs)("button",{onClick:()=>{y(e),b(e.defaultPath),x(""),g(2)},className:(0,a.cn)("flex flex-col items-start gap-1.5 p-3 rounded-lg border border-border text-left","bg-surface2 hover:bg-surface2/80 hover:border-accent/50 transition-colors"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.FileText,{className:"h-3.5 w-3.5 text-accent shrink-0"}),(0,t.jsx)("span",{className:"text-xs font-medium text-txt",children:e.name})]}),(0,t.jsx)("p",{className:"text-[11px] text-muted leading-relaxed",children:e.description}),(0,t.jsx)("p",{className:"text-[10px] text-muted/60 font-mono truncate w-full",children:e.defaultPath})]},e.id))})}),2===h&&f&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface2 border border-border",children:[(0,t.jsx)(o.FileText,{className:"h-4 w-4 text-accent shrink-0 mt-0.5"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-txt",children:f.name}),(0,t.jsx)("p",{className:"text-[11px] text-muted mt-0.5",children:f.description})]})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("label",{className:"block text-[11px] font-medium text-muted uppercase tracking-wider",children:"File path"}),(0,t.jsx)(d.Input,{autoFocus:!0,value:v,onChange:e=>{b(e.target.value),x("")},onKeyDown:e=>{"Enter"===e.key&&R()},placeholder:"docs/my-document.md",className:"h-8 text-xs bg-surface2 border-border font-mono"}),w&&(0,t.jsx)("p",{className:"text-[11px] text-red-400",children:w})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between pt-1",children:[(0,t.jsxs)(c.Button,{variant:"ghost",size:"sm",onClick:()=>g(1),className:"h-7 text-xs text-muted hover:text-txt gap-1.5",children:[(0,t.jsx)(s,{className:"h-3 w-3"}),"Back"]}),(0,t.jsx)(c.Button,{size:"sm",onClick:R,disabled:C||!v.trim(),className:"h-7 text-xs bg-accent hover:bg-accent/90 text-accent-fg",children:C?"Creating…":"Create"})]})]})]})})}],91881)},519455,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(617739),n=e.i(294237),i=e.i(975157);let s=(0,n.cva)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-bg transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-accent text-accent-fg hover:bg-accent/90",destructive:"bg-danger text-destructive-foreground hover:bg-danger/90",outline:"border border-border bg-bg hover:bg-surface2 hover:text-txt",secondary:"bg-surface2 text-txt hover:bg-surface2/80",ghost:"hover:bg-surface2 hover:text-txt",link:"text-txt underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),a=r.forwardRef(({className:e,variant:r,size:n,asChild:a=!1,...l},c)=>{let d=a?o.Slot:"button";return(0,t.jsx)(d,{className:(0,i.cn)(s({variant:r,size:n,className:e})),ref:c,...l})});a.displayName="Button",e.s(["Button",0,a])},776639,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(287272),n=e.i(765470),i=e.i(975157);let s=o.Root;o.Trigger;let a=o.Portal;o.Close;let l=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Overlay,{ref:n,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...r}));l.displayName=o.Overlay.displayName;let c=r.forwardRef(({className:e,children:r,...s},c)=>(0,t.jsxs)(a,{children:[(0,t.jsx)(l,{}),(0,t.jsxs)(o.Content,{ref:c,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-surface p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...s,children:[r,(0,t.jsxs)(o.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2 data-[state=open]:text-muted",children:[(0,t.jsx)(n.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=o.Content.displayName;let d=({className:e,...r})=>(0,t.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...r});d.displayName="DialogHeader";let u=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Title,{ref:n,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",e),...r}));u.displayName=o.Title.displayName,r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(o.Description,{ref:n,className:(0,i.cn)("text-sm text-muted",e),...r})).displayName=o.Description.displayName,e.s(["Dialog",0,s,"DialogContent",0,c,"DialogHeader",0,d,"DialogTitle",0,u])},793479,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(975157);let n=r.forwardRef(({className:e,type:r,...n},i)=>(0,t.jsx)("input",{type:r,className:(0,o.cn)("flex h-10 w-full rounded-md border border-border bg-bg px-3 py-2 text-base ring-offset-bg file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-txt placeholder:text-muted focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:i,...n}));n.displayName="Input",e.s(["Input",0,n])},772436,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(978238),n=Object.defineProperty,i=(e,t)=>n(e,"name",{value:t,configurable:!0}),s="horizontal",a=["horizontal","vertical"],l=r.forwardRef(i(function(e,r){let{decorative:n,orientation:i=s,...a}=e,l=c(i)?i:s;return(0,t.jsx)(o.Primitive.div,{"data-orientation":l,...n?{role:"none"}:{"aria-orientation":"vertical"===l?l:void 0,role:"separator"},...a,ref:r})},"Separator"));function c(e){return a.includes(e)}i(c,"isValidOrientation");var d=e.i(975157);let u=r.forwardRef(({className:e,orientation:r="horizontal",decorative:o=!0,...n},i)=>(0,t.jsx)(l,{ref:i,decorative:o,orientation:r,className:(0,d.cn)("shrink-0 bg-border","horizontal"===r?"h-px w-full":"h-full w-px",e),...n}));u.displayName=l.displayName,e.s(["Separator",0,u],772436)},746798,e=>{"use strict";var t=e.i(72345),r=e.i(180338),o=e.i(543836),n=e.i(166100),i=e.i(264145),s=e.i(296113),a=e.i(432567),l=e.i(212534),c=(e.i(21738),e.i(997611)),d=e.i(978238),u=e.i(617739),p=e.i(315671),m=e.i(44532),h=Object.defineProperty,g=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),f=r.forwardRef(h(function(e,r){return(0,t.jsx)(d.Primitive.span,{...e,ref:r,style:{...g,...e.style}})},"name",{value:"VisuallyHidden",configurable:!0})),y=Object.defineProperty,v=(e,t)=>y(e,"name",{value:t,configurable:!0}),[b,w]=(0,i.createContextScope)("Tooltip",[l.createPopperScope]),x=(0,l.createPopperScope)(),C="tooltip.open",[E,R]=b("TooltipProvider"),S=v(e=>{let{__scopeTooltip:o,delayDuration:n=700,skipDelayDuration:i=300,disableHoverableContent:s=!1,children:a}=e,l=r.useRef(!0),c=r.useRef(!1),d=r.useRef(0);return r.useEffect(()=>{let e=d.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(E,{scope:o,isOpenDelayedRef:l,delayDuration:n,onOpen:r.useCallback(()=>{i<=0||(window.clearTimeout(d.current),l.current=!1)},[i]),onClose:r.useCallback(()=>{i<=0||(window.clearTimeout(d.current),d.current=window.setTimeout(()=>l.current=!0,i))},[i]),isPointerInTransitRef:c,onPointerInTransitChange:r.useCallback(e=>{c.current=e},[]),disableHoverableContent:s,children:a})},"TooltipProvider"),T="Tooltip",[P,A]=b(T),k=v(e=>{let{__scopeTooltip:o,children:n,open:i,defaultOpen:s,onOpenChange:c,disableHoverableContent:d,delayDuration:u}=e,m=R(T,e.__scopeTooltip),h=x(o),[g,f]=r.useState(null),[y,b]=r.useState(void 0),w=(0,a.useId)(),E=r.useRef(0),S=d??m.disableHoverableContent,A=u??m.delayDuration,k=r.useRef(!1),[_,D]=(0,p.useControllableState)({prop:i,defaultProp:s??!1,onChange:v(e=>{e?(m.onOpen(),document.dispatchEvent(new CustomEvent(C))):m.onClose(),c?.(e)},"onChange"),caller:T}),N=r.useMemo(()=>_?k.current?"delayed-open":"instant-open":"closed",[_]),I=r.useCallback(()=>{window.clearTimeout(E.current),E.current=0,k.current=!1,D(!0)},[D]),O=r.useCallback(()=>{window.clearTimeout(E.current),E.current=0,D(!1)},[D]),L=r.useCallback(()=>{window.clearTimeout(E.current),E.current=window.setTimeout(()=>{k.current=!0,D(!0),E.current=0},A)},[A,D]);return r.useEffect(()=>()=>{E.current&&(window.clearTimeout(E.current),E.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(P,{scope:o,contentId:y??w,setContentId:b,open:_,stateAttribute:N,trigger:g,onTriggerChange:f,onTriggerEnter:r.useCallback(()=>{m.isOpenDelayedRef.current?L():I()},[m.isOpenDelayedRef,L,I]),onTriggerLeave:r.useCallback(()=>{S?O():(window.clearTimeout(E.current),E.current=0)},[O,S]),onOpen:I,onClose:O,disableHoverableContent:S,children:n})})},"Tooltip"),_="TooltipTrigger",D=r.forwardRef(v(function(e,i){let{__scopeTooltip:s,...a}=e,c=A(_,s),u=R(_,s),p=x(s),m=r.useRef(null),h=(0,n.useComposedRefs)(i,m,c.onTriggerChange),g=r.useRef(!1),f=r.useRef(!1),y=r.useCallback(()=>g.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,t.jsx)(l.Anchor,{asChild:!0,...p,children:(0,t.jsx)(d.Primitive.button,{"aria-describedby":c.open?c.contentId:void 0,"data-state":c.stateAttribute,...a,ref:h,onPointerMove:(0,o.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(f.current||u.isPointerInTransitRef.current||(c.onTriggerEnter(),f.current=!0))}),onPointerLeave:(0,o.composeEventHandlers)(e.onPointerLeave,()=>{c.onTriggerLeave(),f.current=!1}),onPointerDown:(0,o.composeEventHandlers)(e.onPointerDown,()=>{c.open&&c.onClose(),g.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,o.composeEventHandlers)(e.onFocus,()=>{g.current||c.onOpen()}),onBlur:(0,o.composeEventHandlers)(e.onBlur,c.onClose),onClick:(0,o.composeEventHandlers)(e.onClick,c.onClose)})})},"TooltipTrigger")),[N,I]=b("TooltipPortal",{forceMount:void 0}),O="TooltipContent",L=r.forwardRef(v(function(e,r){let o=I(O,e.__scopeTooltip),{forceMount:n=o.forceMount,side:i="top",...s}=e,a=A(O,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:n||a.open,children:a.disableHoverableContent?(0,t.jsx)(H,{side:i,...s,ref:r}):(0,t.jsx)(j,{side:i,...s,ref:r})})},"TooltipContent")),j=r.forwardRef(v(function(e,o){let i=A(O,e.__scopeTooltip),s=R(O,e.__scopeTooltip),a=r.useRef(null),l=(0,n.useComposedRefs)(o,a),[c,d]=r.useState(null),{trigger:u,onClose:p}=i,m=a.current,{onPointerInTransitChange:h}=s,g=r.useCallback(()=>{d(null),h(!1)},[h]),f=r.useCallback((e,t)=>{let r=e.currentTarget,o={x:e.clientX,y:e.clientY},n=U(o,r.getBoundingClientRect());d(G([...W(o,n),...B(t.getBoundingClientRect())])),h(!0)},[h]);return r.useEffect(()=>()=>g(),[g]),r.useEffect(()=>{if(u&&m){let e=v(e=>f(e,m),"handleTriggerLeave"),t=v(e=>f(e,u),"handleContentLeave");return u.addEventListener("pointerleave",e),m.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),m.removeEventListener("pointerleave",t)}}},[u,m,f,g]),r.useEffect(()=>{if(c){let e=v(e=>{let t=e.target,r={x:e.clientX,y:e.clientY},o=u?.contains(t)||m?.contains(t),n=!F(r,c);o?g():n&&(g(),p())},"handleTrackPointerGrace");return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,m,c,p,g]),(0,t.jsx)(H,{...e,ref:l})},"TooltipContentHoverable")),M=(0,u.createSlottable)("TooltipContent"),H=r.forwardRef(v(function(e,o){let{__scopeTooltip:n,children:i,"aria-label":a,id:c,onEscapeKeyDown:d,onPointerDownOutside:u,...p}=e,h=A(O,n),g=x(n),{onClose:y}=h;r.useEffect(()=>(document.addEventListener(C,y),()=>document.removeEventListener(C,y)),[y]),r.useEffect(()=>{if(h.trigger){let e=v(e=>{e.target instanceof Node&&e.target.contains(h.trigger)&&y()},"handleScroll");return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[h.trigger,y]);let{setContentId:b}=h;return(0,m.useLayoutEffect)(()=>(b(c),()=>{b(void 0)}),[c,b]),(0,t.jsx)(s.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:y,children:(0,t.jsxs)(l.Content,{"data-state":h.stateAttribute,role:a?void 0:"tooltip",id:a?void 0:h.contentId,...g,...p,ref:o,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(M,{children:i}),a?(0,t.jsx)(f,{id:h.contentId,role:"tooltip",children:a}):null]})})},"TooltipContentImpl"));function U(e,t){let r=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),n=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,o,n,i)){case i:return"left";case n:return"right";case r:return"top";case o:return"bottom";default:throw Error("unreachable")}}function W(e,t,r=5){let o=[];switch(t){case"top":o.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":o.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":o.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":o.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return o}function B(e){let{top:t,right:r,bottom:o,left:n}=e;return[{x:n,y:t},{x:r,y:t},{x:r,y:o},{x:n,y:o}]}function F(e,t){let{x:r,y:o}=e,n=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let s=t[e],a=t[i],l=s.x,c=s.y,d=a.x,u=a.y;c>o!=u>o&&r<(d-l)*(o-c)/(u-c)+l&&(n=!n)}return n}function G(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let o=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(o.y-r.y)>=(e.y-r.y)*(o.x-r.x))t.pop();else break}t.push(o)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let o=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(o.y-t.y)>=(e.y-t.y)*(o.x-t.x))r.pop();else break}r.push(o)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}v(U,"getExitSideFromRect"),v(W,"getPaddedExitPoints"),v(B,"getPointsFromRect"),v(F,"isPointInPolygon"),v(G,"getHull"),v(q,"getHullPresorted");var z=e.i(975157);let Y=r.forwardRef(({className:e,sideOffset:r=4,...o},n)=>(0,t.jsx)(L,{ref:n,sideOffset:r,className:(0,z.cn)("z-50 overflow-hidden rounded-md border border-border bg-surface px-3 py-1.5 text-sm text-txt shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin)",e),...o}));Y.displayName=L.displayName,e.s(["Tooltip",0,k,"TooltipContent",0,Y,"TooltipProvider",0,S,"TooltipTrigger",0,D],746798)},649021,e=>{"use strict";let t=[{id:"claude-md",name:"CLAUDE.md",description:"AI agent instructions for Claude Code",defaultPath:"CLAUDE.md",category:"ai-agent",content:`# {{PROJECT_NAME}} — Agent Instructions
|
|
2
2
|
|
|
3
3
|
## What this is
|
|
4
4
|
{{DESCRIPTION}}
|
|
@@ -171,7 +171,7 @@ npm test
|
|
|
171
171
|
- Write tests for all new functionality
|
|
172
172
|
- Maintain existing test coverage
|
|
173
173
|
- Use the project's established testing patterns
|
|
174
|
-
`}],
|
|
174
|
+
`}],r=[{id:"contributing",name:"CONTRIBUTING.md",description:"Contribution guidelines",defaultPath:"CONTRIBUTING.md",category:"github",content:`# Contributing to {{PROJECT_NAME}}
|
|
175
175
|
|
|
176
176
|
Thank you for your interest in contributing!
|
|
177
177
|
|
|
@@ -431,7 +431,7 @@ Any thoughts on how this might be implemented?
|
|
|
431
431
|
## Additional context
|
|
432
432
|
|
|
433
433
|
Add any other context, mockups, or screenshots about the feature request here.
|
|
434
|
-
`}],
|
|
434
|
+
`}],o=[{id:"changelog",name:"CHANGELOG.md",description:"Keep a Changelog format",defaultPath:"CHANGELOG.md",category:"process",content:`# Changelog — {{PROJECT_NAME}}
|
|
435
435
|
|
|
436
436
|
All notable changes to this project will be documented in this file.
|
|
437
437
|
|
|
@@ -667,7 +667,7 @@ This document defines terms used throughout the project documentation and codeba
|
|
|
667
667
|
---
|
|
668
668
|
|
|
669
669
|
*Keep this document updated as new terminology is introduced.*
|
|
670
|
-
`}],
|
|
670
|
+
`}],n=new Date().toISOString().split("T")[0],i=[...t,...r,...o,{id:"prd",name:"PRD",description:"Product requirements document",defaultPath:"docs/prd.md",category:"technical",content:`# Product Requirements — {{PROJECT_NAME}}
|
|
671
671
|
|
|
672
672
|
**Status:** Draft
|
|
673
673
|
**Last updated:** {{DATE}}
|
|
@@ -1373,7 +1373,7 @@ components:
|
|
|
1373
1373
|
application/json:
|
|
1374
1374
|
schema:
|
|
1375
1375
|
$ref: '#/components/schemas/Error'
|
|
1376
|
-
`},{id:"meeting-notes",name:"Meeting Notes",description:"Meeting notes template",defaultPath:`docs/meetings/${
|
|
1376
|
+
`},{id:"meeting-notes",name:"Meeting Notes",description:"Meeting notes template",defaultPath:`docs/meetings/${n}.md`,category:"technical",content:`# Meeting Notes — ${n}
|
|
1377
1377
|
|
|
1378
1378
|
**Attendees:**
|
|
1379
1379
|
**Facilitator:**
|
|
@@ -2104,4 +2104,4 @@ readinessProbe:
|
|
|
2104
2104
|
## Lessons Learned
|
|
2105
2105
|
|
|
2106
2106
|
<!-- Key takeaways to share with the wider team -->
|
|
2107
|
-
`}];e.s(["TEMPLATES",0,
|
|
2107
|
+
`}];e.s(["TEMPLATES",0,i],649021)}]);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,785821,e=>{"use strict";var t=e.i(72345),s=e.i(180338),a=e.i(763371),l=e.i(83790);let n={name:"palette",size:24,node:[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]};n.node;let r=(0,l.default)(n),i={name:"type",size:24,node:[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]]};i.node;let c=(0,l.default)(i),d={name:"folder-cog",size:24,node:[["path",{d:"M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3",key:"128dxu"}],["path",{d:"m14.305 19.53.923-.382",key:"3m78fa"}],["path",{d:"m15.228 16.852-.923-.383",key:"npixar"}],["path",{d:"m16.852 15.228-.383-.923",key:"5xggr7"}],["path",{d:"m16.852 20.772-.383.924",key:"dpfhf9"}],["path",{d:"m19.148 15.228.383-.923",key:"1reyyz"}],["path",{d:"m19.53 21.696-.382-.924",key:"1goivc"}],["path",{d:"m20.772 16.852.924-.383",key:"htqkph"}],["path",{d:"m20.772 19.148.924.383",key:"9w9pjp"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]],aliases:["folder-cog-2"]};d.node;let o=(0,l.default)(d);var x=e.i(15205),m=e.i(788293),u=e.i(479432),h=e.i(463464);let p={name:"columns-3",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]],aliases:["panels-left-right"]};p.node;let b=(0,l.default)(p);var g=e.i(975157);let f={name:"moon",size:24,node:[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]};f.node;let v=(0,l.default)(f),j={name:"sun",size:24,node:[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]};j.node;let N=(0,l.default)(j),y={name:"monitor",size:24,node:[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]};y.node;let k=(0,l.default)(y);var w=e.i(837001),C=e.i(243668);let S=[{id:"blue",label:"Blue",class:"bg-blue-500"},{id:"purple",label:"Purple",class:"bg-purple-500"},{id:"green",label:"Green",class:"bg-green-500"},{id:"orange",label:"Orange",class:"bg-orange-500"}],T=[{id:"small",label:"Small"},{id:"medium",label:"Medium"},{id:"large",label:"Large"}];function A({settings:e,onSave:s}){return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Appearance"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Customize the look and feel of the app."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Theme"}),(0,t.jsx)("div",{className:"grid grid-cols-3 gap-3",children:[{id:"dark",label:"Dark",icon:v},{id:"light",label:"Light",icon:N},{id:"system",label:"System",icon:k}].map(a=>{let l=a.icon,n=e.theme===a.id;return(0,t.jsxs)("button",{onClick:()=>s({...e,theme:a.id}),className:(0,g.cn)("flex flex-col items-center gap-2 p-4 rounded-lg border transition-colors",n?"border-accent bg-accent/10":"border-border hover:border-accent/50"),children:[(0,t.jsx)(l,{className:(0,g.cn)("w-5 h-5",n?"text-accent":"text-muted")}),(0,t.jsx)("span",{className:(0,g.cn)("text-sm",n?"text-accent font-medium":"text-muted"),children:a.label})]},a.id)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Accent Color"}),(0,t.jsx)("div",{className:"flex gap-3",children:S.map(a=>{let l=e.accentColor===a.id;return(0,t.jsx)("button",{onClick:()=>s({...e,accentColor:a.id}),className:(0,g.cn)("w-10 h-10 rounded-full flex items-center justify-center transition-transform",a.class,l?"ring-2 ring-offset-2 ring-offset-bg ring-white scale-110":"hover:scale-105"),title:a.label,children:l&&(0,t.jsx)(w.Check,{className:"w-5 h-5 text-white"})},a.id)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Font Size"}),(0,t.jsx)("div",{className:"flex gap-2",children:T.map(a=>{let l=e.fontSize===a.id;return(0,t.jsx)("button",{onClick:()=>s({...e,fontSize:a.id}),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:a.label},a.id)})})]}),[{key:"fontSans",label:"Interface Font",fonts:C.SANS_FONTS,fallback:"system-ui",sample:"Ship the roadmap by Friday"},{key:"fontMono",label:"Code Font",fonts:C.MONO_FONTS,fallback:"ui-monospace, Menlo, Consolas, monospace",sample:"const id = 0O1lI;"}].map(a=>(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:a.label}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2",children:a.fonts.map(l=>{let n=e[a.key]===l.id;return(0,t.jsxs)("button",{onClick:()=>s({...e,[a.key]:l.id}),className:(0,g.cn)("text-left p-3 rounded-lg border transition-colors",n?"border-accent bg-accent/10":"border-border hover:border-accent/50"),children:[(0,t.jsx)("div",{className:"text-base text-txt truncate",style:{fontFamily:"system"===l.id?a.fallback:`var(--font-${l.id})`},children:a.sample}),(0,t.jsx)("div",{className:(0,g.cn)("mt-1 text-xs",n?"text-accent font-medium":"text-txt"),children:l.label}),(0,t.jsx)("div",{className:"text-xs text-muted",children:l.note})]},l.id)})})]},a.key))]})}let _=[{value:0,label:"Off"},{value:5,label:"5 seconds"},{value:10,label:"10 seconds"},{value:30,label:"30 seconds"}],I=[{id:"split",label:"Split View"},{id:"tab",label:"Tab View"},{id:"preview",label:"Preview Only"}];function z({settings:e,onSave:s}){let a=(t,a)=>{s({...e,editor:{...e.editor,[t]:a}})};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Editor"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure the markdown editor behavior."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Auto-save"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:_.map(s=>{let l=e.editor.autoSave===s.value;return(0,t.jsx)("button",{onClick:()=>a("autoSave",s.value),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.value)})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Preview Mode"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:I.map(s=>{let l=e.editor.previewMode===s.id;return(0,t.jsx)("button",{onClick:()=>a("previewMode",s.id),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.id)})})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Word Wrap"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Wrap long lines in the editor"})]}),(0,t.jsx)("button",{onClick:()=>a("wordWrap",!e.editor.wordWrap),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.editor.wordWrap?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.editor.wordWrap?"left-6":"left-1")})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Line Numbers"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Show line numbers in the editor"})]}),(0,t.jsx)("button",{onClick:()=>a("lineNumbers",!e.editor.lineNumbers),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.editor.lineNumbers?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.editor.lineNumbers?"left-6":"left-1")})})]})]})]})}let O=[{value:0,label:"Off"},{value:5,label:"5 seconds"},{value:10,label:"10 seconds"},{value:30,label:"30 seconds"}];function P({settings:e,onSave:s}){let a=(t,a)=>{s({...e,project:{...e.project,[t]:a}})};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Project"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure project-level settings."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Auto-refresh Interval"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"How often to check for changes in the project files."}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:O.map(s=>{let l=e.project.autoRefresh===s.value;return(0,t.jsx)("button",{onClick:()=>a("autoRefresh",s.value),className:(0,g.cn)("px-4 py-2 rounded-lg border text-sm transition-colors",l?"border-accent bg-accent/10 text-accent font-medium":"border-border text-muted hover:border-accent/50"),children:s.label},s.value)})})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:"Show Hidden Files"}),(0,t.jsx)("div",{className:"text-xs text-muted",children:"Display files starting with a dot"})]}),(0,t.jsx)("button",{onClick:()=>a("showHidden",!e.project.showHidden),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.project.showHidden?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.project.showHidden?"left-6":"left-1")})})]})]})}var M=e.i(765470),D=e.i(609617),E=e.i(240595),L=e.i(793479),U=e.i(476785);let F={"claude-code":{name:"Claude Code",config:`{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"vibedoc": {
|
|
4
|
+
"url": "{{ENDPOINT}}"
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
}`,path:"~/.claude/claude.json"},cursor:{name:"Cursor",config:`{
|
|
8
|
+
"mcp": {
|
|
9
|
+
"servers": {
|
|
10
|
+
"vibedoc": {
|
|
11
|
+
"url": "{{ENDPOINT}}"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}`,path:".cursor/mcp.json"},windsurf:{name:"Windsurf",config:`{
|
|
16
|
+
"mcpServers": {
|
|
17
|
+
"vibedoc": {
|
|
18
|
+
"url": "{{ENDPOINT}}"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}`,path:".windsurf/mcp.json"}};function $({settings:e,onSave:a}){let[l,n]=(0,s.useState)(!1),[r,i]=(0,s.useState)(null),[c,d]=(0,s.useState)(null),o=(0,C.resolveMcpEndpoint)(e.mcp.endpoint,(0,U.useOrigin)()),m=async()=>{n(!0),i(null);try{(await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"tools/list"})})).ok?i("success"):i("error")}catch{i("error")}n(!1)},u=async e=>{let t=F[e].config.replace("{{ENDPOINT}}",o);await navigator.clipboard.writeText(t),d(e),setTimeout(()=>d(null),2e3)};return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"MCP Connection"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Configure the Model Context Protocol server for AI agents."})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"MCP Endpoint"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(L.Input,{value:o,onChange:t=>{var s;return s=t.target.value,void a({...e,mcp:{...e.mcp,endpoint:s}})},className:"bg-surface2 font-mono text-sm"}),(0,t.jsxs)("button",{onClick:m,disabled:l,className:"px-4 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50 flex items-center gap-2",children:[l?(0,t.jsx)(E.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(x.Plug,{className:"w-4 h-4"}),"Test"]})]}),r&&(0,t.jsx)("div",{className:(0,g.cn)("flex items-center gap-2 text-sm","success"===r?"text-green-400":"text-red-400"),children:"success"===r?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Connection successful"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M.X,{className:"w-4 h-4"}),"Connection failed"]})})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt",children:"Agent Configuration"}),(0,t.jsx)("p",{className:"text-xs text-muted",children:"Copy the configuration for your coding agent:"}),(0,t.jsx)("div",{className:"space-y-2",children:Object.entries(F).map(([e,s])=>(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 border border-border rounded-lg",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt",children:s.name}),(0,t.jsx)("div",{className:"text-xs text-muted font-mono",children:s.path})]}),(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm transition-colors",c===e?"bg-green-500/20 text-green-400":"bg-surface2 text-muted hover:text-txt"),children:c===e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Check,{className:"w-3.5 h-3.5"}),"Copied"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.Copy,{className:"w-3.5 h-3.5"}),"Copy"]})})]},e))})]})]})}var B=e.i(155515),R=e.i(424991),W=e.i(458055);let H=["vibedoc_read_doc","vibedoc_write_doc","vibedoc_search_docs","vibedoc_list_docs","vibedoc_get_status","vibedoc_list_tasks","vibedoc_update_task","vibedoc_read_memory","vibedoc_update_memory","vibedoc_save_entry","vibedoc_delete_entry"],q=["🔧","📝","🧪","🔍","📊","🔒","⚡","🎯","💡","🚀"];function G({skills:e,onSave:a}){let[l,n]=(0,s.useState)(null),[r,i]=(0,s.useState)(null),[c,d]=(0,s.useState)(!1),o=()=>{n(null),i(null),d(!1)},x=()=>{r&&r.name.trim()&&(c?a([...e,r]):a(e.map(e=>e.id===r.id?r:e)),o())},u=e=>{if(!r)return;let t=r.tools.includes(e)?r.tools.filter(t=>t!==e):[...r.tools,e];i({...r,tools:t})};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Skills"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Reusable capabilities for AI agents."})]}),(0,t.jsxs)("button",{onClick:()=>{let e={id:`skill-${Date.now()}`,name:"",description:"",trigger:"/",prompt:"",tools:[],icon:"⚡"};n(e.id),i(e),d(!0)},className:"flex items-center gap-2 px-3 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,t.jsx)(B.Plus,{className:"w-4 h-4"}),"Add Skill"]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[e.map(s=>(0,t.jsx)("div",{children:l===s.id&&r?(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:r.icon||"⚡",onChange:e=>i({...r,icon:e.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:q.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:r.name,onChange:e=>i({...r,name:e.target.value}),placeholder:"Skill name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:r.description,onChange:e=>i({...r,description:e.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsx)("div",{className:"flex gap-3",children:(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Trigger"}),(0,t.jsx)(L.Input,{value:r.trigger,onChange:e=>i({...r,trigger:e.target.value}),placeholder:"/command",className:"bg-surface2 font-mono"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"System Prompt"}),(0,t.jsx)("textarea",{value:r.prompt,onChange:e=>i({...r,prompt:e.target.value}),placeholder:"Instructions for the AI when this skill is activated...",rows:4,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Available Tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:H.map(e=>(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("px-2 py-1 rounded-sm text-xs font-mono transition-colors",r.tools.includes(e)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{onClick:o,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:x,disabled:!r.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]}):(0,t.jsxs)("div",{className:"flex items-start gap-3 p-4 border border-border rounded-lg hover:border-accent/30 transition-colors group",children:[(0,t.jsx)("div",{className:"w-10 h-10 rounded-lg bg-surface2 flex items-center justify-center text-xl shrink-0",children:s.icon||"⚡"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-txt",children:s.name}),(0,t.jsx)("code",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-accent",children:s.trigger})]}),(0,t.jsx)("p",{className:"text-sm text-muted mt-0.5",children:s.description}),s.tools.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:s.tools.map(e=>(0,t.jsx)("span",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{onClick:()=>{n(s.id),i({...s}),d(!1)},className:"p-1.5 rounded-sm hover:bg-surface2 text-muted hover:text-txt transition-colors",children:(0,t.jsx)(R.Pencil,{className:"w-4 h-4"})}),(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void(confirm("Delete this skill?")&&a(e.filter(e=>e.id!==t)))},className:"p-1.5 rounded-sm hover:bg-red-500/10 text-muted hover:text-red-400 transition-colors",children:(0,t.jsx)(W.Trash2,{className:"w-4 h-4"})})]})]})},s.id)),c&&r&&(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:r.icon||"⚡",onChange:e=>i({...r,icon:e.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:q.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:r.name,onChange:e=>i({...r,name:e.target.value}),placeholder:"Skill name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:r.description,onChange:e=>i({...r,description:e.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsx)("div",{className:"flex gap-3",children:(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Trigger"}),(0,t.jsx)(L.Input,{value:r.trigger,onChange:e=>i({...r,trigger:e.target.value}),placeholder:"/command",className:"bg-surface2 font-mono"})]})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"System Prompt"}),(0,t.jsx)("textarea",{value:r.prompt,onChange:e=>i({...r,prompt:e.target.value}),placeholder:"Instructions for the AI when this skill is activated...",rows:4,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Available Tools"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:H.map(e=>(0,t.jsx)("button",{onClick:()=>u(e),className:(0,g.cn)("px-2 py-1 rounded-sm text-xs font-mono transition-colors",r.tools.includes(e)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:e.replace("vibedoc_","")},e))})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,t.jsx)("button",{onClick:o,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:x,disabled:!r.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]}),0===e.length&&!c&&(0,t.jsxs)("div",{className:"text-center py-8 text-muted",children:[(0,t.jsx)(m.Zap,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:"No skills configured"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Add a skill to give your agents capabilities"})]})]})]})}let J=["🤖","📚","🔒","🧪","📝","🔧","💡","🎯","🚀","⚡"];function K({agents:e,skills:a,onSave:l}){let[n,r]=(0,s.useState)(null),[i,c]=(0,s.useState)(null),[d,o]=(0,s.useState)(!1),x=()=>{r(null),c(null),o(!1)},m=()=>{i&&i.name.trim()&&(d?l([...e,i]):l(e.map(e=>e.id===i.id?i:e)),x())},h=e=>(0,t.jsxs)("div",{className:"border border-accent rounded-lg p-4 space-y-4 bg-accent/5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("select",{value:e.icon,onChange:t=>c({...e,icon:t.target.value}),className:"w-12 h-10 text-center text-xl bg-surface2 border border-border rounded-lg",children:J.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)(L.Input,{value:e.name,onChange:t=>c({...e,name:t.target.value}),placeholder:"Agent name",className:"bg-surface2"})]}),(0,t.jsx)(L.Input,{value:e.description,onChange:t=>c({...e,description:t.target.value}),placeholder:"Description",className:"bg-surface2"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-2 block",children:"Assigned Skills"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[a.map(s=>(0,t.jsxs)("button",{onClick:()=>(e=>{if(!i)return;let t=i.skills.includes(e)?i.skills.filter(t=>t!==e):[...i.skills,e];c({...i,skills:t})})(s.id),className:(0,g.cn)("flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-sm transition-colors",e.skills.includes(s.id)?"bg-accent/20 text-accent":"bg-surface2 text-muted hover:text-txt"),children:[(0,t.jsx)("span",{children:s.icon||"⚡"}),s.name]},s.id)),0===a.length&&(0,t.jsx)("span",{className:"text-xs text-muted",children:"No skills available. Create skills first."})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-muted mb-1 block",children:"Custom System Prompt"}),(0,t.jsx)("textarea",{value:e.prompt,onChange:t=>c({...e,prompt:t.target.value}),placeholder:"Additional instructions for this agent...",rows:3,className:"w-full px-3 py-2 bg-surface2 border border-border rounded-lg text-sm resize-none"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>c({...e,active:!e.active}),className:(0,g.cn)("w-11 h-6 rounded-full transition-colors relative",e.active?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-1 w-4 h-4 rounded-full bg-white transition-transform",e.active?"left-6":"left-1")})}),(0,t.jsx)("span",{className:"text-sm text-muted",children:e.active?"Active":"Inactive"})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:x,className:"px-3 py-1.5 text-sm text-muted hover:text-txt transition-colors",children:"Cancel"}),(0,t.jsxs)("button",{onClick:m,disabled:!e.name.trim(),className:"flex items-center gap-2 px-3 py-1.5 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:[(0,t.jsx)(w.Check,{className:"w-4 h-4"}),"Save"]})]})]})]});return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-1",children:"Agents"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"AI agent profiles with assigned skills."})]}),(0,t.jsxs)("button",{onClick:()=>{let e={id:`agent-${Date.now()}`,name:"",icon:"🤖",description:"",skills:[],prompt:"",active:!0};r(e.id),c(e),o(!0)},className:"flex items-center gap-2 px-3 py-2 bg-accent text-accent-fg rounded-lg text-sm font-medium hover:bg-accent/90 transition-colors",children:[(0,t.jsx)(B.Plus,{className:"w-4 h-4"}),"Add Agent"]})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[e.map(s=>(0,t.jsx)("div",{children:n===s.id&&i?h(i):(0,t.jsxs)("div",{className:(0,g.cn)("flex items-start gap-3 p-4 border rounded-lg transition-colors group",s.active?"border-border hover:border-accent/30":"border-border/50 opacity-60"),children:[(0,t.jsx)("div",{className:"w-10 h-10 rounded-lg bg-surface2 flex items-center justify-center text-xl shrink-0",children:s.icon}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium text-txt",children:s.name}),!s.active&&(0,t.jsx)("span",{className:"text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:"Inactive"})]}),(0,t.jsx)("p",{className:"text-sm text-muted mt-0.5",children:s.description}),s.skills.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1 mt-2",children:s.skills.map(e=>{let s=a.find(t=>t.id===e);return s?(0,t.jsxs)("span",{className:"flex items-center gap-1 text-xs bg-surface2 px-1.5 py-0.5 rounded-sm text-muted",children:[s.icon," ",s.name]},e):null})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void l(e.map(e=>e.id===t?{...e,active:!e.active}:e))},className:(0,g.cn)("w-9 h-5 rounded-full transition-colors relative",s.active?"bg-accent":"bg-border"),children:(0,t.jsx)("span",{className:(0,g.cn)("absolute top-0.5 w-4 h-4 rounded-full bg-white transition-transform",s.active?"left-4":"left-0.5")})}),(0,t.jsxs)("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,t.jsx)("button",{onClick:()=>{r(s.id),c({...s}),o(!1)},className:"p-1.5 rounded-sm hover:bg-surface2 text-muted hover:text-txt transition-colors",children:(0,t.jsx)(R.Pencil,{className:"w-4 h-4"})}),(0,t.jsx)("button",{onClick:()=>{var t;return t=s.id,void(confirm("Delete this agent?")&&l(e.filter(e=>e.id!==t)))},className:"p-1.5 rounded-sm hover:bg-red-500/10 text-muted hover:text-red-400 transition-colors",children:(0,t.jsx)(W.Trash2,{className:"w-4 h-4"})})]})]})]})},s.id)),d&&i&&h(i),0===e.length&&!d&&(0,t.jsxs)("div",{className:"text-center py-8 text-muted",children:[(0,t.jsx)(u.Bot,{className:"w-10 h-10 mx-auto mb-3 opacity-30"}),(0,t.jsx)("p",{className:"text-sm",children:"No agents configured"}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Add an agent to define AI personas with skills"})]})]})]})}var V=e.i(169777),Z=e.i(270379),Q=e.i(673635),X=e.i(464750),Y=e.i(694628);let ee="rounded-md border border-border bg-bg px-2 py-1.5 text-sm text-txt focus:outline-hidden focus:ring-1 focus:ring-accent disabled:opacity-50",et={todo:"waiting to start","in-progress":"being worked on",review:"waits for a human",blocked:"stuck",paused:"stopped on purpose",done:"finished",cancelled:"dropped"};function es({settings:e,onSave:l}){let{board:n,rootParam:r,refresh:i}=(0,a.useApp)(),c=(0,Y.statusDefs)(e.statuses),[d,o]=(0,s.useState)(""),[x,m]=(0,s.useState)("review"),[u,h]=(0,s.useState)("blue"),[p,b]=(0,s.useState)(null),[f,v]=(0,s.useState)("todo"),j=t=>l({...e,statuses:t}),N=(e,t)=>j(c.map(s=>s.id===e?{...s,...t}:s)),y=(e,t)=>{let s=[...c],[a]=s.splice(e,1);s.splice(e+t,0,a),j(s)},k=e=>Object.values(n??{}).flat().filter(t=>t.customStatus===e),w=d.toLowerCase().trim().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,40),C=d.trim()?w?c.some(e=>e.id===w)?"Already exists":(0,Y.invalidStatusId)(w):"Use letters or digits":null;async function S(e){let t=k(e).map(e=>e.id);if(t.length){let e=await fetch(`/api/tasks/bulk${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:t,action:{status:f}})});if(!e.ok)return(0,Q.toast)((await e.json().catch(()=>null))?.error??"Could not move the tasks")}await j(c.filter(t=>t.id!==e)),b(null),i()}return(0,t.jsxs)("div",{className:"space-y-8",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"mb-1 text-xl font-semibold text-txt",children:"Statuses"}),(0,t.jsx)("p",{className:"text-sm text-muted",children:"Board columns, in order. A custom status works like the built-in category it maps to: agents, the work queue and progress read the category. Task files store the status id, so renaming never touches them."})]}),(0,t.jsx)("ul",{className:"flex flex-col gap-2",children:c.map((e,s)=>{let a=Y.BUILTIN_STATUSES.includes(e.id),l=X.STATUS_META[e.category].icon,n=a?0:k(e.id).length;return(0,t.jsxs)("li",{className:"rounded-lg border border-border bg-surface p-2.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l,{className:(0,g.cn)("size-4 shrink-0",X.STATUS_COLOR_CLASS[e.color].text),"aria-hidden":!0}),(0,t.jsx)(L.Input,{"aria-label":`Label for ${e.id}`,defaultValue:e.label,onBlur:t=>{let s=t.target.value.trim();s&&s!==e.label&&N(e.id,{label:s})},onKeyDown:e=>{"Enter"===e.key&&e.currentTarget.blur()},className:"h-8 w-40 border-border bg-bg text-txt"},`${e.id}:${e.label}`),(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("select",{"aria-label":`Color for ${e.id}`,value:e.color,onChange:t=>N(e.id,{color:t.target.value}),className:ee,children:Y.STATUS_COLORS.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsx)("select",{"aria-label":`Category for ${e.id}`,value:e.category,disabled:a,title:a?"Built-in statuses keep their category":et[e.category],onChange:t=>N(e.id,{category:t.target.value}),className:ee,children:Y.BUILTIN_STATUSES.map(e=>(0,t.jsxs)("option",{value:e,children:["works like ",e]},e))}),(0,t.jsx)("span",{className:"flex-1"}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${e.id} up`,disabled:0===s,onClick:()=>y(s,-1),className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-30",children:(0,t.jsx)(Z.ArrowUp,{className:"size-3.5"})}),(0,t.jsx)("button",{type:"button","aria-label":`Move ${e.id} down`,disabled:s===c.length-1,onClick:()=>y(s,1),className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-txt disabled:opacity-30",children:(0,t.jsx)(V.ArrowDown,{className:"size-3.5"})}),!a&&(0,t.jsx)("button",{type:"button","aria-label":`Delete ${e.id}`,onClick:()=>{b(e.id),v(e.category)},className:"grid size-7 place-items-center rounded-md text-muted hover:bg-surface2 hover:text-danger",children:(0,t.jsx)(W.Trash2,{className:"size-3.5"})})]}),p===e.id&&(0,t.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2 border-t border-border pt-2 text-xs text-muted",children:[n>0?(0,t.jsxs)(t.Fragment,{children:["Move its ",n," task",1===n?"":"s"," to"]}):(0,t.jsx)(t.Fragment,{children:"No tasks use it."}),n>0&&(0,t.jsx)("select",{"aria-label":"Move its tasks to",value:f,onChange:e=>v(e.target.value),className:ee,children:c.filter(t=>t.id!==e.id).map(e=>(0,t.jsx)("option",{value:e.id,children:e.label},e.id))}),(0,t.jsxs)("button",{type:"button",onClick:()=>S(e.id),className:"rounded-md border border-danger/40 px-2 py-1 text-danger hover:bg-danger/10",children:["Delete ",e.label]}),(0,t.jsx)("button",{type:"button",onClick:()=>b(null),className:"px-1 hover:text-txt",children:"Cancel"})]})]},e.id)})}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),d.trim()&&!C&&(j([...c,{id:w,label:d.trim(),color:u,category:x}]),o(""))},className:"space-y-2 rounded-lg border border-dashed border-border2 p-3",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-txt",children:"Add a status"}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(L.Input,{"aria-label":"New status label",value:d,onChange:e=>o(e.target.value),placeholder:"QA",className:"h-8 w-40 border-border bg-bg text-txt"}),(0,t.jsx)("select",{"aria-label":"New status category",value:x,onChange:e=>m(e.target.value),className:ee,children:Y.BUILTIN_STATUSES.map(e=>(0,t.jsxs)("option",{value:e,children:["works like ",e," (",et[e],")"]},e))}),(0,t.jsx)("select",{"aria-label":"New status color",value:u,onChange:e=>h(e.target.value),className:ee,children:Y.STATUS_COLORS.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("button",{type:"submit",disabled:!d.trim()||!!C,className:"inline-flex h-8 items-center gap-1.5 rounded-md bg-accent px-3 text-xs font-medium text-accent-fg hover:bg-accent/90 disabled:opacity-40",children:[(0,t.jsx)(B.Plus,{className:"size-3.5"})," Add"]})]}),d.trim()&&(0,t.jsx)("p",{className:(0,g.cn)("font-mono text-[11px]",C?"text-danger":"text-muted"),children:C??`id: ${w}`})]})]})}var ea=e.i(574990),el=e.i(573009);let en=[{id:"appearance",label:"Appearance",icon:r},{id:"editor",label:"Editor",icon:c},{id:"project",label:"Project",icon:o},{id:"statuses",label:"Statuses",icon:b},{id:"mcp",label:"MCP",icon:x.Plug},{id:"skills",label:"Skills",icon:m.Zap},{id:"agents",label:"Agents",icon:u.Bot}];e.s(["default",0,function(){let{rootParam:e,setEditorSettings:l,setAutoRefreshSeconds:n}=(0,a.useApp)(),[r,i]=(0,s.useState)("appearance"),[c,d]=(0,s.useState)(C.DEFAULT_SETTINGS),[o,x]=(0,s.useState)(C.DEFAULT_SKILLS),[m,u]=(0,s.useState)(C.DEFAULT_AGENTS),[p,b]=(0,s.useState)(!0),[f,v]=(0,s.useState)(!1),j=(0,s.useCallback)(async()=>{try{let t=await fetch(`/api/settings${e}&type=all`),s=await t.json();d({...C.DEFAULT_SETTINGS,...s.settings}),x(s.skills||C.DEFAULT_SKILLS),u(s.agents||C.DEFAULT_AGENTS)}catch{}b(!1)},[e]);(0,s.useEffect)(()=>{j()},[j]);let N=async t=>{v(!0),d(t);try{await fetch(`/api/settings${e}&type=settings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),(0,el.applyTheme)(t.theme),(0,el.applyAccent)(t.accentColor),(0,el.applyFontSize)(t.fontSize),(0,el.applyFonts)(t),l(t.editor),n(t.project?.autoRefresh??0),(0,ea.setStatusDefs)((0,Y.statusDefs)(t.statuses))}catch{}v(!1)},y=async t=>{v(!0),x(t);try{await fetch(`/api/settings${e}&type=skills`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}v(!1)},k=async t=>{v(!0),u(t);try{await fetch(`/api/settings${e}&type=agents`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}catch{}v(!1)};return p?(0,t.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,t.jsx)("div",{className:"text-muted",children:"Loading settings..."})}):(0,t.jsxs)("div",{className:"flex h-full",children:[(0,t.jsxs)("aside",{className:"w-56 border-r border-border bg-sidebar shrink-0",children:[(0,t.jsx)("div",{className:"p-4 border-b border-border",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(h.Settings,{className:"w-5 h-5 text-accent"}),(0,t.jsx)("h1",{className:"font-semibold text-txt",children:"Settings"})]})}),(0,t.jsx)("nav",{className:"p-2",children:en.map(e=>{let s=e.icon;return(0,t.jsxs)("button",{onClick:()=>i(e.id),className:(0,g.cn)("w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors",r===e.id?"bg-accent/10 text-accent font-medium":"text-muted hover:text-txt hover:bg-surface2"),children:[(0,t.jsx)(s,{className:"w-4 h-4"}),e.label]},e.id)})})]}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-2xl mx-auto p-6",children:[f&&(0,t.jsx)("div",{className:"fixed top-4 right-4 bg-accent text-accent-fg px-3 py-1.5 rounded-lg text-sm shadow-lg",children:"Saving..."}),"appearance"===r&&(0,t.jsx)(A,{settings:c,onSave:N}),"editor"===r&&(0,t.jsx)(z,{settings:c,onSave:N}),"project"===r&&(0,t.jsx)(P,{settings:c,onSave:N}),"statuses"===r&&(0,t.jsx)(es,{settings:c,onSave:N}),"mcp"===r&&(0,t.jsx)($,{settings:c,onSave:N}),"skills"===r&&(0,t.jsx)(G,{skills:o,onSave:y}),"agents"===r&&(0,t.jsx)(K,{agents:m,skills:o,onSave:k})]})})]})}],785821)}]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,424991,e=>{"use strict";var t=e.i(83790);let s={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};s.node;let n=(0,t.default)(s);e.s(["Pencil",0,n],424991)},678677,e=>{"use strict";var t=e.i(83790);let s={name:"scale",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]]};s.node;let n=(0,t.default)(s);e.s(["Scale",0,n],678677)},343253,508540,e=>{"use strict";var t=e.i(83790);let s={name:"user",size:24,node:[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]};s.node;let n=(0,t.default)(s);e.s(["User",0,n],343253);var a=e.i(72345),r=e.i(975157);e.s(["ItemPanelHeader",0,function({kicker:e,title:t,menu:s,properties:n,className:i,children:l}){let o=n.filter(e=>null!==e.value&&void 0!==e.value&&!1!==e.value);return(0,a.jsxs)("header",{"data-item-header":!0,className:(0,r.cn)("flex shrink-0 flex-col gap-2 border-b border-border px-5 pb-4 pt-4",i),children:[(0,a.jsxs)("div",{className:"flex min-h-7 items-center gap-2 pr-8 font-mono text-[11px] text-muted",children:[(0,a.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:e}),s]}),(0,a.jsx)("div",{className:"text-base font-semibold leading-snug text-txt",children:t}),o.length>0&&(0,a.jsx)("dl",{className:"grid grid-cols-[88px_minmax(0,1fr)] items-center gap-x-3 gap-y-1.5 text-xs",children:o.map(e=>(0,a.jsxs)("div",{className:"contents",children:[(0,a.jsx)("dt",{className:"text-muted",children:e.label}),(0,a.jsx)("dd",{className:"flex min-w-0 items-center gap-2 text-txt",children:e.value})]},e.label))}),l]})}],508540)},185914,e=>{"use strict";var t=e.i(72345),s=e.i(180338),n=e.i(910172),a=e.i(763371),r=e.i(998822),i=e.i(635743),l=e.i(155515),o=e.i(161863),d=e.i(975157),c=e.i(793479),m=e.i(35032);let u=["convention","gotcha","decision","preference"],x=new Set("a an and are as at be but by can do does for from how i if in into is it its of on or our so that the their then there these this to use used using was we what when where which who why will with you your".split(" "));function p(e){return e.toLowerCase().split(/[^a-z0-9]+/).filter(e=>e.length>1&&!x.has(e)).map(e=>e.length>3&&e.endsWith("s")&&!e.endsWith("ss")?e.slice(0,-1):e)}function h(e){return Math.ceil(e.length/4)}function f({entries:e,selectedId:n,onOpen:a,onNew:r}){let[i,x]=(0,s.useState)(""),[b,y]=(0,s.useState)(null),g=(0,s.useMemo)(()=>{var t,s;let n,a,r;return t=e,a=new Map((n=(s={query:i,type:b}).type?t.filter(e=>e.type===s.type):t).map(e=>[e.id,e])),(p(r=s.query??"").length?function(e,t,s={}){let n=[...new Set(p(t))];if(!n.length)return[];let a=[];for(let t of e){if(s.type&&t.type!==s.type)continue;let e=new Set(p(t.summary)),r=new Set(p(t.body)),i=new Set([t.id.toLowerCase(),...p(t.type)]),l=0;for(let t of n)e.has(t)&&(l+=3),i.has(t)&&(l+=2),r.has(t)&&(l+=1);l>0&&a.push({id:t.id,type:t.type,summary:t.summary,tokens:h(`${t.summary}
|
|
2
|
+
${t.body}`),score:l,updatedAt:t.updatedAt})}return a.sort((e,t)=>t.score-e.score||t.updatedAt.localeCompare(e.updatedAt)),a.slice(0,s.limit??10).map(({updatedAt:e,...t})=>t)}(n,r,{limit:n.length}):[...n].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)||e.id.localeCompare(t.id,"en",{numeric:!0})).map(e=>({id:e.id,type:e.type,summary:e.summary,tokens:h(`${e.summary}
|
|
3
|
+
${e.body}`),score:0}))).map(e=>a.get(e.id)).filter(e=>!!e)},[e,i,b]),j=(0,s.useMemo)(()=>{let t={};for(let s of e)t[s.type]=(t[s.type]??0)+1;return t},[e]),v=p(i).length>0,N=(e,s,n)=>(0,t.jsxs)("button",{type:"button","aria-pressed":b===e,onClick:()=>y(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2 text-xs font-medium text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",b===e&&"border-border2 bg-surface2 text-txt"),children:[s," ",(0,t.jsx)("span",{className:"font-mono text-[10px] opacity-70",children:n})]},s);return(0,t.jsxs)("section",{"aria-label":"Knowledge entries",className:"flex min-w-0 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Knowledge entries"}),(0,t.jsxs)("button",{type:"button",onClick:r,className:"inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs font-medium text-muted outline-none hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(l.Plus,{className:"size-3.5","aria-hidden":!0})," New entry"]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(o.Search,{className:"pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-muted","aria-hidden":!0}),(0,t.jsx)(c.Input,{id:"memory-search",type:"search",value:i,onChange:e=>x(e.target.value),placeholder:"Search entries…","aria-label":"Search entries",className:"h-8 pl-8"})]}),(0,t.jsxs)("div",{role:"group","aria-label":"Filter by type",className:"flex flex-wrap gap-1",children:[N(null,"All",e.length),u.map(e=>N(e,e,j[e]??0))]}),0===e.length?(0,t.jsxs)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:["No knowledge entries yet. Agents save them with ",(0,t.jsx)("code",{className:"font-mono text-xs",children:"vibedoc_save_entry"}),"."]}):0===g.length?(0,t.jsxs)("p",{className:"p-2 text-sm text-muted",children:["No entries match ",v?`"${i.trim()}"`:"this filter","."]}):(0,t.jsx)("ul",{className:"flex flex-col divide-y divide-border rounded-xl border border-border bg-surface",children:g.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>a(e.id),"aria-current":e.id===n?"true":void 0,className:(0,d.cn)("flex w-full flex-col gap-0.5 px-3 py-2 text-left outline-none transition-colors hover:bg-surface2 focus-visible:bg-surface2",e.id===n&&"bg-surface2 shadow-[inset_2px_0_0_var(--color-accent)]"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e.id}),(0,t.jsx)("span",{children:"·"}),(0,t.jsx)("span",{children:e.type}),(0,t.jsxs)("span",{className:"ml-auto flex items-center gap-2",children:[(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"font-sans"}),e.updatedAt]})]}),(0,t.jsx)("span",{className:"text-sm text-txt",children:e.summary})]})},e.id))})]})}var b=e.i(424991),y=e.i(458055),g=e.i(765470),j=e.i(519455),v=e.i(508540);function N({entry:e,rootParam:n,onSaved:a,onDelete:i,onClose:l,children:o}){let[d,x]=(0,s.useState)(null===e),[p,h]=(0,s.useState)(()=>w(e)),[f,k]=(0,s.useState)(null),[S,C]=(0,s.useState)(!1),E=()=>{e?(x(!1),k(null)):l()},z=async()=>{let t=function(e){let t;if(void 0!==e.id&&!function(e){let t=/^e(\d+)$/i.exec(e.trim());if(!t)return null;let s=Number(t[1]);return s>0?`E${String(s).padStart(3,"0")}`:null}(String(e.id)))return`Invalid id "${e.id}": expected E followed by a number, e.g. E001`;if(t=String(e.type??""),!u.includes(t))return`Invalid type "${e.type??""}": use one of ${u.join(", ")}`;let s=String(e.summary??"").trim();return s?/\n/.test(s)?"summary must be one line":s.length>120?`summary is ${s.length} characters; keep it to 120`:void 0!==e.body&&"string"!=typeof e.body?"body must be a string":null:"summary is required"}({...p,id:e?.id});if(t)return void k(t);C(!0),k(null);try{let t=await fetch(`/api/memory/entries/save${n}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({...e?{id:e.id}:{},...p})}),s=await t.json().catch(()=>({}));if(!t.ok||!s.entry)throw Error(s.error??`Save failed (${t.status})`);x(!1),a(s.entry)}catch(e){k(e instanceof Error?e.message:String(e))}finally{C(!1)}};(0,s.useEffect)(()=>{if(d||!e)return;let t=t=>{if("Backspace"!==t.key&&"Delete"!==t.key||t.metaKey||t.ctrlKey||t.altKey)return;let s=t.target;s&&(s.isContentEditable||["INPUT","TEXTAREA","SELECT"].includes(s.tagName))||(t.preventDefault(),i(e))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[d,e,i]);let $=(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":"Close entry",className:"rounded p-1 text-muted hover:bg-surface2 hover:text-txt",children:(0,t.jsx)(g.X,{className:"size-3.5"})});return d?(0,t.jsx)("section",{"aria-label":e?`Edit ${e.id}`:"New entry",className:"rounded-xl border border-border bg-surface",children:(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),z()},onKeyDown:e=>{"Escape"===e.key&&(e.preventDefault(),E()),"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),z())},className:"flex flex-col gap-3 p-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between font-mono text-[11px] text-muted",children:[(0,t.jsx)("span",{children:e?`${e.id} \xb7 editing`:"New entry"}),$]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Type",(0,t.jsx)("select",{value:p.type,onChange:e=>h({...p,type:e.target.value}),className:"h-8 rounded-md border border-border bg-bg px-2 text-sm text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent",children:u.map(e=>(0,t.jsx)("option",{value:e,children:e},e))})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Summary (one line)",(0,t.jsx)(c.Input,{autoFocus:!0,value:p.summary,onChange:e=>h({...p,summary:e.target.value}),maxLength:200,className:"h-8 text-txt"})]}),(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs text-muted",children:["Details (markdown)",(0,t.jsx)("textarea",{value:p.body,onChange:e=>h({...p,body:e.target.value}),rows:8,className:"w-full resize-y rounded-md border border-border bg-bg px-3 py-2 font-mono text-xs text-txt focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent"})]}),f&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:f}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,t.jsx)("span",{className:"mr-auto text-[11px] text-muted",children:"⌘↵ save · Esc cancel"}),(0,t.jsx)(j.Button,{type:"button",variant:"ghost",size:"sm",onClick:E,children:"Cancel"}),(0,t.jsx)(j.Button,{type:"submit",size:"sm",disabled:S,children:S?"Saving…":"Save"})]})]})}):e?(0,t.jsxs)("section",{"aria-label":e.id,className:"rounded-xl border border-border bg-surface",children:[(0,t.jsx)(v.ItemPanelHeader,{kicker:(0,t.jsxs)("span",{children:[e.id," · entry"]}),menu:(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsxs)(j.Button,{variant:"ghost",size:"sm",onClick:()=>{h(w(e)),k(null),x(!0)},className:"h-7 px-2 text-xs",children:[(0,t.jsx)(b.Pencil,{className:"size-3.5"})," Edit"]}),(0,t.jsxs)(j.Button,{variant:"ghost",size:"sm",onClick:()=>i(e),title:"Delete (⌫)",className:"h-7 px-2 text-xs hover:text-danger",children:[(0,t.jsx)(y.Trash2,{className:"size-3.5"})," Delete"]}),$]}),title:e.summary,properties:[{label:"Type",value:e.type},{label:"Updated",value:e.updatedAt||null},{label:"Changed by",value:e.by?(0,t.jsx)(m.OwnerChip,{owner:e.by,className:"text-xs text-txt"}):null},{label:"File",value:(0,t.jsx)("span",{className:"truncate font-mono text-[11px] text-muted",children:e.file})}]}),(0,t.jsxs)("div",{className:"p-5",children:[e.body?(0,t.jsx)(r.MarkdownRenderer,{content:e.body}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"No details."}),o]})]}):null}function w(e){return e?{type:e.type,summary:e.summary,body:e.body}:{type:"convention",summary:"",body:""}}var k=e.i(732460),S=e.i(406952),C=e.i(83790);let E={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]};E.node;let z=(0,C.default)(E),$={name:"lightbulb",size:24,node:[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]};$.node;let M=(0,C.default)($);var A=e.i(678677),L=e.i(464750),O=e.i(694628);let R=[{kind:"task",label:"Tasks"},{kind:"epic",label:"Epics"},{kind:"adr",label:"ADRs"},{kind:"doc",label:"Docs"},{kind:"entry",label:"Entries"}],D={epic:z,adr:A.Scale,doc:S.FileText,entry:M,task:k.BookOpen};function I(e){let t=(0,n.useRouter)(),{openDoc:s}=(0,a.useApp)();return n=>{"task"===n.kind?t.push(`/board?task=${n.id}`):"epic"===n.kind?t.push(`/roadmap?item=${n.id}`):"entry"===n.kind?e(n.id):s(n.path)}}function P({entryId:e,onOpenEntry:n}){let{rootParam:r,summary:i,board:l}=(0,a.useApp)(),o=I(n),[d,c]=(0,s.useState)(null);(0,s.useEffect)(()=>{let t=!0;return fetch(`/api/memory/graph${r}&entry=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{t&&c(e.nodes?e:{nodes:[],edges:[]})}).catch(e=>{console.warn("Loading entry links failed",e),t&&c({nodes:[],edges:[]})}),()=>{t=!1}},[e,r,i]);let m=(0,s.useMemo)(()=>new Map(Object.values(l??{}).flat().map(e=>[e.id,e])),[l]),u=(0,s.useMemo)(()=>new Map((d?.nodes??[]).map(e=>[e.id,e])),[d]),x=e=>e.map(e=>u.get(e)).filter(e=>!!e),p=x((d?.edges??[]).filter(t=>t.from===e).map(e=>e.to)),h=x((d?.edges??[]).filter(t=>t.to===e).map(e=>e.from)),f=e=>{let s="task"===e.kind?m.get(e.id):void 0,n=D[e.kind];return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>o(e),title:e.path,className:"flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",children:[s?(0,t.jsx)(L.StatusIcon,{status:(0,O.displayStatus)(s),className:"size-3.5 shrink-0"}):(0,t.jsx)(n,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),"doc"!==e.kind&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.id}),(0,t.jsx)("span",{className:"min-w-0 truncate text-txt",children:e.label})]})},e.id)},b=(e,s)=>(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)("h4",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted",children:e}),R.map(({kind:e,label:n})=>{let a=s.filter(t=>t.kind===e);return a.length?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"px-2 text-[11px] text-muted",children:n}),(0,t.jsx)("ul",{children:a.map(f)})]},e):null})]});return(0,t.jsxs)("section",{"aria-label":"Related",className:"mt-5 flex flex-col gap-3 border-t border-border pt-4",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-txt",children:"Related"}),null===d?(0,t.jsx)("p",{className:"text-xs text-muted",children:"Loading links…"}):p.length||h.length?(0,t.jsxs)(t.Fragment,{children:[p.length>0&&b("Links to",p),h.length>0&&b("Linked from",h)]}):(0,t.jsx)("p",{className:"text-xs text-muted",children:"No links yet. Mention a task, epic or doc in the entry to link it."})]})}var T=e.i(675964);let _={name:"git-commit-horizontal",size:24,node:[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]],aliases:["git-commit"]};_.node;let K=(0,C.default)(_);function B({entryId:e}){let{rootParam:n}=(0,a.useApp)(),[r,i]=(0,s.useState)(!1),[l,o]=(0,s.useState)(null),[c,m]=(0,s.useState)(null),[u,x]=(0,s.useState)(null),p=`/api/memory/history${n}&entry=${encodeURIComponent(e)}`,h=async e=>{let t=await fetch(e),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error??`Request failed (${t.status})`);return s},f=async()=>{let e=!r;if(i(e),e&&!l)try{o(await h(p))}catch(e){m(e instanceof Error?e.message:String(e))}},b=async e=>{try{let{text:t}=await h(`${p}&sha=${e.sha}`);x({commit:e,text:t})}catch(e){m(e instanceof Error?e.message:String(e))}};return(0,t.jsxs)("section",{"aria-label":"History",className:"mt-4 border-t border-border pt-3",children:[(0,t.jsxs)("button",{type:"button",onClick:f,"aria-expanded":r,className:"flex items-center gap-1 rounded text-xs font-semibold text-txt outline-none focus-visible:ring-2 focus-visible:ring-accent",children:[(0,t.jsx)(T.ChevronRight,{className:(0,d.cn)("size-3.5 text-muted transition-transform",r&&"rotate-90"),"aria-hidden":!0}),"History"]}),r&&(0,t.jsxs)("div",{className:"mt-2 flex flex-col gap-2",children:[c&&(0,t.jsx)("p",{role:"alert",className:"text-xs text-danger",children:c}),!l&&!c&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Loading history…"}),l?.reason==="no-git"&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"History needs git: this project is not a git repository."}),l&&!l.reason&&!l.history.length&&!l.uncommitted&&(0,t.jsx)("p",{className:"text-xs text-muted",children:"Not committed yet."}),l&&(l.uncommitted||l.history.length>0)&&(0,t.jsxs)("ul",{className:"flex flex-col",children:[l.uncommitted&&(0,t.jsxs)("li",{className:"flex items-center gap-2 px-2 py-1 text-xs text-muted",children:[(0,t.jsx)("span",{className:"size-1.5 rounded-full bg-accent","aria-hidden":!0})," Uncommitted changes"]}),l.history.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:()=>b(e),"aria-current":u?.commit.sha===e.sha?"true":void 0,className:(0,d.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-xs outline-none hover:bg-surface2 focus-visible:ring-2 focus-visible:ring-accent",u?.commit.sha===e.sha&&"bg-surface2"),children:[(0,t.jsx)(K,{className:"size-3.5 shrink-0 text-muted","aria-hidden":!0}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted",children:e.date.slice(0,10)}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-txt",children:e.subject}),(0,t.jsx)("span",{className:"shrink-0 text-muted",children:e.author})]})},e.sha))]}),u&&(0,t.jsxs)("div",{className:"rounded-md border border-border bg-bg",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between border-b border-border px-3 py-1.5 font-mono text-[11px] text-muted",children:[(0,t.jsxs)("span",{children:[u.commit.sha.slice(0,7)," · ",u.commit.date.slice(0,10)," · read-only"]}),(0,t.jsx)("button",{type:"button",onClick:()=>x(null),"aria-label":"Close version",className:"rounded p-0.5 hover:text-txt",children:(0,t.jsx)(g.X,{className:"size-3.5"})})]}),(0,t.jsx)("pre",{className:"max-h-72 overflow-auto whitespace-pre-wrap p-3 font-mono text-xs text-txt",children:u.text})]})]})]})}var H=e.i(211672),U=e.i(301702);let F={epic:-2,task:-1,entry:0,adr:1,doc:2},V={"--xy-background-color":"var(--color-bg)"};function q(e){let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()}let W={mem:(0,s.memo)(function({data:e}){let{node:s,status:n,unlinked:a,dim:r,active:i}=e,l=D[s.kind];return(0,t.jsxs)("div",{title:s.path,style:{width:196},className:(0,d.cn)("flex items-center gap-2 rounded-md border bg-surface px-2.5 py-1.5 text-xs transition-opacity","entry"===s.kind?"border-border2":"border-border",i&&"border-accent ring-1 ring-accent",a&&"border-dashed opacity-60",r&&"opacity-25"),children:[["l","r"].map(e=>(0,t.jsxs)("span",{children:[(0,t.jsx)(H.Handle,{id:e,type:"source",position:"l"===e?U.Position.Left:U.Position.Right,isConnectable:!1,className:"opacity-0"}),(0,t.jsx)(H.Handle,{id:`${e}-t`,type:"target",position:"l"===e?U.Position.Left:U.Position.Right,isConnectable:!1,className:"opacity-0"})]},e)),n?(0,t.jsx)(L.StatusIcon,{status:n,className:"size-3.5 shrink-0"}):(0,t.jsx)(l,{className:(0,d.cn)("size-3.5 shrink-0","entry"===s.kind?"text-accent":"text-muted"),"aria-hidden":!0}),"doc"!==s.kind&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted",children:s.id}),(0,t.jsx)("span",{className:(0,d.cn)("min-w-0 truncate","entry"===s.kind?"text-txt":"text-muted"),children:s.label})]})})};function X({entries:e,selectedId:n,onOpenEntry:r}){let{rootParam:i,summary:l,board:o}=(0,a.useApp)(),d=I(r),[c,m]=(0,s.useState)(null),u=(0,s.useSyncExternalStore)(q,()=>document.documentElement.classList.contains("dark"),()=>!0);(0,s.useEffect)(()=>{let e=!0;return fetch(`/api/memory/graph${i}`).then(e=>e.json()).then(t=>{e&&m(t.nodes?t:{nodes:[],edges:[]})}).catch(t=>{console.warn("Loading the memory graph failed",t),e&&m({nodes:[],edges:[]})}),()=>{e=!1}},[i,l]);let{nodes:x,edges:p}=(0,s.useMemo)(()=>{if(!c)return{nodes:[],edges:[]};let t=function(e,t={}){let s={},n=e=>Number(e.replace(/\D/g,""))||0;e.nodes.filter(e=>"entry"===e.kind).sort((e,s)=>(t[e.id]??"").localeCompare(t[s.id]??"")||n(e.id)-n(s.id)).forEach((e,t)=>{s[e.id]={x:0,y:48*t}});let a=new Map;for(let{from:t,to:n}of e.edges)for(let[e,r]of[[t,n],[n,t]])s[r]&&!s[e]&&a.set(e,[...a.get(e)??[],s[r].y]);for(let t of["epic","task","adr","doc"]){let n=e.nodes.filter(e=>e.kind===t).map(e=>{let t=a.get(e.id)??[0];return{id:e.id,want:t.reduce((e,t)=>e+t,0)/t.length}}).sort((e,t)=>e.want-t.want||e.id.localeCompare(t.id,"en",{numeric:!0})),r=-1/0;for(let{id:e,want:a}of n){let n=Math.max(a,r);s[e]={x:240*F[t],y:n},r=n+48}}return s}(c,Object.fromEntries(e.map(e=>[e.id,e.type]))),s=new Map(Object.values(o??{}).flat().map(e=>[e.id,e])),a=new Set(c.edges.flatMap(e=>[e.from,e.to])),r=n&&t[n]?new Set([n,...c.edges.filter(e=>e.from===n||e.to===n).flatMap(e=>[e.from,e.to])]):null;return{nodes:c.nodes.map(e=>{let i="task"===e.kind?s.get(e.id):void 0;return{id:e.id,type:"mem",position:t[e.id]??{x:0,y:0},data:{node:e,status:i?(0,O.displayStatus)(i):void 0,unlinked:"entry"===e.kind&&!a.has(e.id),dim:!!r&&!r.has(e.id),active:e.id===n},draggable:!1}}),edges:c.edges.map(e=>{let s=t[e.from]?.x??0,a=t[e.to]?.x??0,i=a<s,l=!!r&&(e.from===n||e.to===n);return{id:`${e.from}->${e.to}`,source:e.from,target:e.to,sourceHandle:i?"l":"r",targetHandle:i||a===s?"r-t":"l-t",style:{stroke:l?"var(--color-accent)":"var(--color-border2)",strokeWidth:l?1.75:1,opacity:r&&!l?.15:1}}})}},[c,e,o,n]);return c?c.nodes.length?(0,t.jsx)("div",{"aria-label":"Memory graph",className:"h-[70vh] min-h-[420px] overflow-hidden rounded-xl border border-border",children:(0,t.jsxs)(H.ReactFlow,{nodes:x,edges:p,nodeTypes:W,onNodeClick:(e,t)=>d(t.data.node),nodesConnectable:!1,nodesDraggable:!1,deleteKeyCode:null,colorMode:u?"dark":"light",onlyRenderVisibleElements:x.length>150,fitView:!0,fitViewOptions:{padding:.1,minZoom:.8,maxZoom:1},minZoom:.1,style:V,children:[(0,t.jsx)(H.Background,{variant:H.BackgroundVariant.Dots,gap:20,size:1}),(0,t.jsx)(H.Controls,{showInteractive:!1})]})}):(0,t.jsx)("p",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-muted",children:"No entries to draw yet."}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading graph…"})}function Z({memory:e,entries:s,rootParam:n,selectedId:a,creating:l,onOpen:o,onNew:c,onClose:m,onSaved:u,onDelete:x,view:p,onView:h}){let b=a?s?.find(e=>e.id===a):void 0;return(0,t.jsxs)("div",{className:(0,d.cn)("grid items-start gap-6 p-6","graph"===p?"lg:grid-cols-[minmax(0,1fr)_minmax(0,30rem)]":"lg:grid-cols-[minmax(280px,380px)_minmax(0,42rem)]"),children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-4 lg:col-span-2",children:[(0,t.jsx)("h1",{className:"font-display text-xl font-semibold tracking-tight",children:"Memory"}),(0,t.jsx)("div",{role:"group","aria-label":"Entries view",className:"flex rounded-md border border-border p-0.5",children:["list","graph"].map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":p===e,onClick:()=>h(e),className:(0,d.cn)("h-6 rounded-[5px] border border-transparent px-2.5 text-xs font-medium capitalize text-muted outline-none transition-colors","hover:bg-surface2 hover:text-txt focus-visible:ring-2 focus-visible:ring-accent",p===e&&"border-border2 bg-surface2 text-txt"),children:e},e))})]}),s&&"graph"===p?(0,t.jsx)(X,{entries:s,selectedId:a,onOpenEntry:o}):s?(0,t.jsx)(f,{entries:s,selectedId:a,onOpen:o,onNew:c}):(0,t.jsx)("p",{className:"text-sm text-muted",children:"Loading entries…"}),l||b?(0,t.jsx)("div",{className:"min-w-0 lg:sticky lg:top-6",children:(0,t.jsx)(N,{entry:l?null:b??null,rootParam:n,onSaved:u,onDelete:x,onClose:m,children:b&&!l&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{entryId:b.id,onOpenEntry:o}),(0,t.jsx)(B,{entryId:b.id})]})},l?"new":b?.id)}):a&&s?(0,t.jsxs)("div",{role:"alert",className:"min-w-0 rounded-xl border border-dashed border-border p-5 text-sm text-muted",children:["Entry ",a," not found."," ",(0,t.jsx)("button",{type:"button",onClick:m,className:"text-txt underline underline-offset-2",children:"Show the handoff"})]}):(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-display text-base font-semibold tracking-tight",children:"Session handoff"}),(0,t.jsx)("span",{className:"text-xs font-mono text-muted",children:"memory/MEMORY.md"})]}),e?.exists?(0,t.jsx)("div",{className:"bg-surface border border-border rounded-xl p-5",children:(0,t.jsx)(r.MarkdownRenderer,{content:e.content})}):(0,t.jsx)(i.EmptyState,{icon:"🧠",message:"No MEMORY.md yet.",subMessage:"AI will create one at the end of the first session.",bordered:!0}),(0,t.jsxs)("div",{className:"mt-4 p-4 bg-surface2 border border-border rounded-xl",children:[(0,t.jsx)("p",{className:"text-xs font-mono text-muted mb-2",children:"Add to your CLAUDE.md system prompt:"}),(0,t.jsx)("pre",{className:"text-xs font-mono text-accent/80 whitespace-pre-wrap leading-relaxed",children:`At session start:
|
|
4
|
+
1. Call vibedoc_read_memory
|
|
5
|
+
2. Call vibedoc_get_status
|
|
6
|
+
|
|
7
|
+
When you learn a fact that should still hold next week:
|
|
8
|
+
- Call vibedoc_save_entry (convention, gotcha, decision, preference)
|
|
9
|
+
|
|
10
|
+
At session end:
|
|
11
|
+
- Call vibedoc_update_memory with full handoff`})]})]})]})}var J=e.i(673635);function Y(){let{summary:e,rootParam:r}=(0,a.useApp)(),i=(0,n.useRouter)(),l=(0,n.useSearchParams)(),o=l.get("entry"),d="graph"===l.get("view")?"graph":"list",[c,m]=(0,s.useState)(null),[u,x]=(0,s.useState)(!1),p=(0,s.useCallback)(()=>{let e=!0;return fetch(`/api/memory/entries${r}`).then(e=>e.json()).then(t=>{e&&m(t.entries??[])}).catch(t=>{console.warn("Loading memory entries failed",t),e&&m([])}),()=>{e=!1}},[r]);(0,s.useEffect)(()=>p(),[p,e]);let h=(0,s.useCallback)((e,t)=>{let s=new URLSearchParams;"graph"===t&&s.set("view","graph"),e&&s.set("entry",e),i.replace(s.size?`/memory?${s}`:"/memory",{scroll:!1})},[i]),f=(0,s.useCallback)(e=>{x(!1),h(e,d)},[h,d]),b=(0,s.useCallback)(async e=>{let t=async(e,t)=>{let s=await fetch(`${e}${r}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}),n=await s.json().catch(()=>({}));if(!s.ok)throw Error(n.error??`Request failed (${s.status})`);return n};try{let{file:s,raw:n}=await t("/api/memory/entries/delete",{id:e.id});m(t=>(t??[]).filter(t=>t.id!==e.id)),f(null),(0,J.undoToast)(`Deleted ${e.id}`,async()=>{await t("/api/memory/entries/restore",{file:s,raw:n}),p(),f(e.id)})}catch(e){(0,J.toast)(`Delete failed: ${e instanceof Error?e.message:String(e)}`)}},[r,f,p]);return(0,t.jsx)(Z,{memory:e?.memory??null,entries:c,rootParam:r,selectedId:u?null:o,creating:u,onOpen:f,onNew:()=>x(!0),onClose:()=>f(null),onDelete:b,view:d,onView:e=>h(o,e),onSaved:e=>{m(t=>[...(t??[]).filter(t=>t.id!==e.id),e]),f(e.id)}})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{children:(0,t.jsx)(Y,{})})}],185914)},635743,e=>{"use strict";var t=e.i(72345),s=e.i(975157);e.s(["EmptyState",0,function({icon:e,message:n,subMessage:a,bordered:r}){return(0,t.jsxs)("div",{className:(0,s.cn)("text-center py-16 text-muted text-sm",r&&"border border-dashed border-border rounded-xl"),children:[(0,t.jsx)("p",{className:"text-3xl mb-3",children:e}),(0,t.jsx)("p",{children:n}),a&&(0,t.jsx)("p",{className:"text-xs mt-1",children:a})]})}])},35032,222581,e=>{"use strict";var t=e.i(72345),s=e.i(479432),n=e.i(343253),a=e.i(975157);function r(e){return"human"===e?"human":e?.startsWith("ai:")?"ai":"none"}function i(e){return"human"===e?"Human":e?.startsWith("ai:")?e.slice(3):"No owner"}e.s(["ownerKind",0,r,"ownerLabel",0,i],222581),e.s(["OwnerChip",0,function({owner:e,className:l}){let o=r(e);if("none"===o)return null;let d="ai"===o?s.Bot:n.User;return(0,t.jsxs)("span",{title:`Owner: ${i(e)}`,className:(0,a.cn)("inline-flex items-center gap-1 text-[11px] text-muted",l),children:[(0,t.jsx)(d,{className:(0,a.cn)("size-3.5 shrink-0","ai"===o&&"text-accent"),"aria-hidden":!0}),i(e)]})}],35032)}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,543836,e=>{"use strict";var t=Object.defineProperty,n=(e,n)=>t(e,"name",{value:n,configurable:!0}),r=!!("u">typeof window&&window.document&&window.document.createElement);function o(e,t,{checkForDefaultPrevented:r=!0}={}){return n(function(n){if(e?.(n),!1===r||!n||!n.defaultPrevented)return t?.(n)},"handleEvent")}function i(e){if(!r)throw Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}function a(e){return"IFRAME"===e.tagName}n(o,"composeEventHandlers"),n(function(e){if(!r)throw Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window},"getOwnerWindow"),n(i,"getOwnerDocument"),n(function e(t,n=!1){let{activeElement:r}=i(t);if(!r?.nodeName)return null;if(a(r)&&r.contentDocument)return e(r.contentDocument.body,n);if(n){let e=r.getAttribute("aria-activedescendant");if(e){let t=i(r).getElementById(e);if(t)return t}}return r},"getActiveElement"),n(a,"isFrame"),e.s(["composeEventHandlers",0,o])},899300,e=>{"use strict";e.s(["IS_DEVELOPMENT",0,!1])},264145,e=>{"use strict";var t=e.i(180338),n=e.i(72345),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,r=[]){let s=[];function l(r,i){let a=t.createContext(i);a.displayName=r+"Context";let l=s.length;s=[...s,i];let u=o(r=>{let{scope:o,children:i,...s}=r,u=o?.[e]?.[l]||a,c=t.useMemo(()=>s,Object.values(s));return(0,n.jsx)(u.Provider,{value:c,children:i})},"Provider");function c(n,o,s={}){let{optional:u=!1}=s,d=o?.[e]?.[l]||a,f=t.useContext(d);if(f)return f;if(void 0!==i)return i;if(!u)throw Error(`\`${n}\` must be used within \`${r}\``)}return u.displayName=r+"Provider",o(c,"useContext"),[u,c]}o(l,"createContext");let u=o(()=>{let n=s.map(e=>t.createContext(e));return o(function(r){let o=r?.[e]||n;return t.useMemo(()=>({[`__scope${e}`]:{...r,[e]:o}}),[r,o])},"useScope")},"createScope");return u.scopeName=e,[l,a(u,...r)]}function a(...e){let n=e[0];if(1===e.length)return n;let r=o(()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return o(function(e){let o=r.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return t.useMemo(()=>({[`__scope${n.scopeName}`]:o}),[o])},"useComposedScopes")},"createScope");return r.scopeName=n.scopeName,r}o(function(e,r){let i=t.createContext(r);i.displayName=e+"Context";let a=o(e=>{let{children:r,...o}=e,a=t.useMemo(()=>o,Object.values(o));return(0,n.jsx)(i.Provider,{value:a,children:r})},"Provider");function s(n,o={}){let{optional:a=!1}=o,l=t.useContext(i);if(l)return l;if(void 0!==r)return r;if(!a)throw Error(`\`${n}\` must be used within \`${e}\``)}return a.displayName=e+"Provider",o(s,"useContext"),[a,s]},"createContext"),o(i,"createContextScope"),o(a,"composeContextScopes"),e.s(["createContextScope",0,i])},900877,e=>{"use strict";var t=e.i(180338),n=(e.i(72345),Object.defineProperty),r=t.createContext(void 0);function o(e){let n=t.useContext(r);return e||n||"ltr"}n(o,"name",{value:"useDirection",configurable:!0}),e.s(["useDirection",0,o])},432567,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=t[" useId ".trim().toString()]||(()=>void 0),i=0;function a(e){let[r,a]=t.useState(o());return(0,n.useLayoutEffect)(()=>{e||a(e=>e??String(i++))},[e]),e||(r?`radix-${r}`:"")}r(a,"name",{value:"useId",configurable:!0}),e.s(["useId",0,a])},997611,e=>{"use strict";var t=e.i(180338),n=e.i(44532),r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0});function i(e,n){return t.useReducer((e,t)=>n[e][t]??e,e)}o(i,"useStateMachine");var a=o(e=>{let{present:n,children:r}=e,o=s(n),i="function"==typeof r?r({present:o.isPresent}):t.Children.only(r),a=u(o.ref,d(i));return"function"==typeof r||o.isPresent?t.cloneElement(i,{ref:a}):null},"Presence");function s(e){let[r,a]=t.useState(),s=t.useRef(null),l=t.useRef(e),u=t.useRef("none"),d=t.useRef(void 0),[f,p]=i(e?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return t.useEffect(()=>{"mounted"===f?(u.current=d.current??c(s.current),d.current=void 0):u.current="none"},[f]),(0,n.useLayoutEffect)(()=>{let t=s.current,n=l.current;if(n!==e){let r=u.current,o=c(t);e?(d.current=o,p("MOUNT")):"none"===o||t?.display==="none"?p("UNMOUNT"):n&&r!==o?p("ANIMATION_OUT"):p("UNMOUNT"),l.current=e}},[e,p]),(0,n.useLayoutEffect)(()=>{if(r){let e,t=r.ownerDocument.defaultView??window,n=o(n=>{let o=c(s.current).includes(CSS.escape(n.animationName));if(n.target===r&&o&&(p("ANIMATION_END"),!l.current)){let n=r.style.animationFillMode;r.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===r.style.animationFillMode&&(r.style.animationFillMode=n)})}},"handleAnimationEnd"),i=o(e=>{e.target===r&&(u.current=c(s.current))},"handleAnimationStart");return r.addEventListener("animationstart",i),r.addEventListener("animationcancel",n),r.addEventListener("animationend",n),()=>{t.clearTimeout(e),r.removeEventListener("animationstart",i),r.removeEventListener("animationcancel",n),r.removeEventListener("animationend",n)}}p("ANIMATION_END")},[r,p]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:t.useCallback(e=>{if(e){let t=getComputedStyle(e);s.current=t,d.current=c(t)}else s.current=null;a(e)},[])}}function l(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function u(...e){let n=t.useRef(e);return n.current=e,t.useCallback(e=>{let t=n.current,r=!1,o=t.map(t=>{let n=l(t,e);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let e=0;e<o.length;e++){let n=o[e];"function"==typeof n?n():l(t[e],null)}}},[])}function c(e){return e?.animationName||"none"}function d(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}o(s,"usePresence"),o(l,"setRef"),o(u,"useStableComposedRefs"),o(c,"getAnimationName"),o(d,"getElementRef"),e.s(["Presence",0,a])},978238,e=>{"use strict";var t=e.i(180338),n=e.i(399531),r=e.i(617739),o=e.i(72345),i=Object.defineProperty,a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let i=(0,r.createSlot)(`Primitive.${n}`),a=t.forwardRef((e,t)=>{let{asChild:r,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,o.jsx)(r?i:n,{...a,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{});function s(e,t){e&&n.flushSync(()=>e.dispatchEvent(t))}i(s,"name",{value:"dispatchDiscreteCustomEvent",configurable:!0}),e.s(["Primitive",0,a,"dispatchDiscreteCustomEvent",0,s])},617739,166100,294237,e=>{"use strict";var t=e.i(180338),n=Object.defineProperty,r=(e,t)=>n(e,"name",{value:t,configurable:!0});function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function i(...e){return t=>{let n=!1,r=e.map(e=>{let r=o(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():o(e[t],null)}}}}function a(...e){return t.useCallback(i(...e),e)}r(o,"setRef"),r(i,"composeRefs"),r(a,"useComposedRefs"),e.s(["useComposedRefs",0,a],166100);var s=Object.defineProperty,l=(e,t)=>s(e,"name",{value:t,configurable:!0});function u(e){let n=t.forwardRef((n,r)=>{let{children:o,...i}=n,s=null,l=!1,u=[];v(o)&&"function"==typeof E&&(o=E(o._payload)),t.Children.forEach(o,e=>{if(g(e)){l=!0;let t="child"in e.props?e.props.child:e.props.children;v(t)&&"function"==typeof E&&(t=E(t._payload)),s=p(e,t),u.push(s?.props?.children)}else u.push(e)}),s?s=t.cloneElement(s,void 0,u):!l&&1===t.Children.count(o)&&t.isValidElement(o)&&(s=o);let c=s?h(s):void 0,d=a(r,c);if(!s){if(o||0===o)throw Error(l?x(e):w(e));return o}let f=m(i,s.props??{});return s.type!==t.Fragment&&(f.ref=r?d:c),t.cloneElement(s,f)});return n.displayName=`${e}.Slot`,n}l(u,"createSlot");var c=u("Slot"),d=Symbol.for("radix.slottable");function f(e){let t=l(e=>"child"in e?e.children(e.child):e.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=d,t}l(f,"createSlottable");var p=l((e,n)=>{if("child"in e.props){let n=e.props.child;return t.isValidElement(n)?t.cloneElement(n,void 0,e.props.children(n.props.children)):null}return t.isValidElement(n)?n:null},"getSlottableElementFromSlottable");function m(e,t){let n={...t};for(let r in t){let o=e[r],i=t[r];/^on[A-Z]/.test(r)?o&&i?n[r]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...i}:"className"===r&&(n[r]=[o,i].filter(Boolean).join(" "))}return{...e,...n}}function h(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}function g(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===d}l(m,"mergeProps"),l(h,"getElementRef"),l(g,"isSlottable");var y=Symbol.for("react.lazy");function v(e){return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===y&&"_payload"in e&&b(e._payload)}function b(e){return"object"==typeof e&&null!==e&&"then"in e}l(v,"isLazyComponent"),l(b,"isPromiseLike");var w=l(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),x=l(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),E=t[" use ".trim().toString()];e.s(["Slot",0,c,"createSlot",0,u,"createSlottable",0,f],617739);var S=e.i(7284);let N=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,k=S.clsx;e.s(["cva",0,(e,t)=>n=>{var r;if((null==t?void 0:t.variants)==null)return k(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:o,defaultVariants:i}=t,a=Object.keys(o).map(e=>{let t=null==n?void 0:n[e],r=null==i?void 0:i[e];if(null===t)return null;let a=N(t)||N(r);return o[e][a]}),s=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return k(e,a,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...s}[t]):({...i,...s})[t]===n})?[...e,n,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}],294237)},232253,e=>{"use strict";var t=e.i(180338);function n(e){let n=t.useRef(e);return t.useEffect(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}(0,Object.defineProperty)(n,"name",{value:"useCallbackRef",configurable:!0}),e.s(["useCallbackRef",0,n])},315671,e=>{"use strict";var t=e.i(180338),n=e.i(899300),r=e.i(44532),o=Object.defineProperty,i=t[" useEffectEvent ".trim().toString()],a=t[" useInsertionEffect ".trim().toString()];function s(e){if("function"==typeof i)return i(e);let n=t.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof a?a(()=>{n.current=e}):(0,r.useLayoutEffect)(()=>{n.current=e}),t.useMemo(()=>(...e)=>n.current?.(...e),[])}o(s,"name",{value:"useEffectEvent",configurable:!0});var l=Object.defineProperty,u=(e,t)=>l(e,"name",{value:t,configurable:!0}),c=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function d({prop:e,defaultProp:r,onChange:o=u(()=>{},"onChange"),caller:i}){let[a,s,l]=f({defaultProp:r,onChange:o}),c=void 0!==e,m=c?e:a;if(n.IS_DEVELOPMENT){let n=t.useRef(void 0!==e);t.useEffect(()=>{let e=n.current;if(e!==c){let t=c?"controlled":"uncontrolled";console.warn(`${i} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}n.current=c},[c,i])}return[m,t.useCallback(t=>{if(c){let n=p(t)?t(e):t;n!==e&&l.current?.(n)}else s(t)},[c,e,s,l])]}function f({defaultProp:e,onChange:n}){let[r,o]=t.useState(e),i=t.useRef(r),a=t.useRef(n);return c(()=>{a.current=n},[n]),t.useEffect(()=>{i.current!==r&&(a.current?.(r),i.current=r)},[r,i]),[r,o,a]}function p(e){return"function"==typeof e}u(d,"useControllableState"),u(f,"useUncontrolledState"),u(p,"isFunction");var m=Symbol("RADIX:SYNC_STATE");u(function(e,r,o,i){let{prop:a,defaultProp:l,onChange:u,caller:c}=r,d=void 0!==a,f=s(u);if(n.IS_DEVELOPMENT){let e=t.useRef(void 0!==a);t.useEffect(()=>{let t=e.current;if(t!==d){let e=d?"controlled":"uncontrolled";console.warn(`${c} is changing from ${t?"controlled":"uncontrolled"} to ${e}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}e.current=d},[d,c])}let p=[{...o,state:l}];i&&p.push(i);let[h,g]=t.useReducer((t,n)=>{if(n.type===m)return{...t,state:n.state};let r=e(t,n);return d&&!Object.is(r.state,t.state)&&f(r.state),r},...p),y=h.state,v=t.useRef(y);t.useEffect(()=>{v.current!==y&&(v.current=y,d||f(y))},[y,v,d]);let b=t.useMemo(()=>void 0!==a?{...h,state:a}:h,[h,a]);return t.useEffect(()=>{d&&!Object.is(a,h.state)&&g({type:m,state:a})},[a,h.state,d]),[b,g]},"useControllableStateReducer"),e.s(["useControllableState",0,d],315671)},44532,e=>{"use strict";var t=e.i(180338),n=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",0,n])},737152,e=>{"use strict";var t=e.i(83790);let n={name:"brain",size:24,node:[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]};n.node;let r=(0,t.default)(n);e.s(["Brain",0,r],737152)},837001,e=>{"use strict";var t=e.i(83790);let n={name:"check",size:24,node:[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]};n.node;let r=(0,t.default)(n);e.s(["Check",0,r],837001)},675964,e=>{"use strict";var t=e.i(83790);let n={name:"chevron-right",size:24,node:[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]};n.node;let r=(0,t.default)(n);e.s(["ChevronRight",0,r],675964)},760930,e=>{"use strict";var t=e.i(83790);let n={name:"file-plus",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M9 15h6",key:"cctwl0"}],["path",{d:"M12 18v-6",key:"17g6i2"}]]};n.node;let r=(0,t.default)(n);e.s(["FilePlus",0,r],760930)},406952,e=>{"use strict";var t=e.i(83790);let n={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};n.node;let r=(0,t.default)(n);e.s(["FileText",0,r],406952)},666326,e=>{"use strict";var t=e.i(83790);let n={name:"flask-conical",size:24,node:[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]};n.node;let r=(0,t.default)(n);e.s(["FlaskConical",0,r],666326)},240595,e=>{"use strict";var t=e.i(83790);let n={name:"loader-circle",size:24,node:[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],aliases:["loader-2"]};n.node;let r=(0,t.default)(n);e.s(["Loader2",0,r],240595)},192871,e=>{"use strict";var t=e.i(83790);let n={name:"map",size:24,node:[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]};n.node;let r=(0,t.default)(n);e.s(["Map",0,r],192871)},15205,e=>{"use strict";var t=e.i(83790);let n={name:"plug",size:24,node:[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]};n.node;let r=(0,t.default)(n);e.s(["Plug",0,r],15205)},138324,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return y},useLinkStatus:function(){return b}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421),a=e.r(72345),s=i._(e.r(180338)),l=e.r(626167),u=e.r(757336),c=e.r(863555),d=e.r(549757),f=e.r(671412),p=e.r(235871),m=e.r(716851),h=e.r(658853),g=e.r(571921);function y(t){var n;let r,o,i,[y,b]=(0,s.useOptimistic)(m.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:x,as:E,children:S,prefetch:N=null,passHref:k,replace:C,shallow:j,scroll:_,onClick:A,onMouseEnter:O,onTouchStart:P,legacyBehavior:M=!1,onNavigate:$,transitionTypes:R,ref:T,unstable_dynamicOnHover:I,...D}=t;r=S,M&&("string"==typeof r||"number"==typeof r)&&(r=(0,a.jsx)("a",{children:r}));let L=s.default.useContext(u.AppRouterContext),U=!1!==N,z=!1===N?"none":!0===N?"full":"auto",q="none"!==z?"auto"===z?g.FetchStrategy.PPR:g.FetchStrategy.Full:g.FetchStrategy.PPR,V="string"==typeof(n=E||x)?n:(0,l.formatUrl)(n);if(M){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(r)}let F=M?o&&"object"==typeof o&&o.ref:T,W,B=s.default.useCallback(e=>(null!==L&&(w.current=(0,m.mountLinkInstance)(e,V,L,q,U,b,W)),()=>{w.current&&((0,m.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,m.unmountPrefetchableInstance)(e)}),[U,V,L,q,b,W]),H={ref:(0,c.useMergedRef)(B,F),onClick(t){M||"function"!=typeof A||A(t),M&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!L||t.defaultPrevented||function(t,n,r,o,i,a,l,u="none"){if("u">typeof window){let c,{nodeName:d}=t.currentTarget;if("A"===d.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(n)){o&&(t.preventDefault(),location.replace(n));return}if(t.preventDefault(),a){let e=!1;if(a({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(187250);s.default.startTransition(()=>{f(n,o?"replace":"push",!1===i?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,r.current,l,u)})}}(t,V,w,C,_,$,R,z)},onMouseEnter(e){M||"function"!=typeof O||O(e),M&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),L&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){M||"function"!=typeof P||P(e),M&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),L&&U&&(0,m.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,d.isAbsoluteUrl)(V)?H.href=V:M&&!k&&("a"!==o.type||"href"in o.props)||(H.href=(0,f.addBasePath)(V)),i=M?s.default.cloneElement(o,H):(0,a.jsx)("a",{...D,...H,children:r}),(0,a.jsx)(v.Provider,{value:y,children:i})}let v=(0,s.createContext)(m.IDLE_LINK_STATUS),b=()=>(0,s.useContext)(v);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},863555,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=e.r(180338);function o(e,t){let n=(0,r.useRef)(null),o=(0,r.useRef)(null);return(0,r.useCallback)(r=>{if(null===r){let e=n.current;e&&(n.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(n.current=i(e,r)),t&&(o.current=i(t,r))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},549757,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return w},NormalizeError:function(){return v},PageNotFoundError:function(){return b},SP:function(){return h},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return a},getDisplayName:function(){return d},getLocationOrigin:function(){return u},getURL:function(){return c},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return m},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return E}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function a(e){let t,n=!1;return(...r)=>(n||(n=!0,t=e(...r)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function u(){let{protocol:e,hostname:t,port:n}=window.location;return`${e}//${t}${n?":"+n:""}`}function c(){let{href:e}=window.location,t=u();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function m(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await m(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&f(n))return r;if(!r)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${r}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return r}let h="u">typeof performance,g=h&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class v extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},658853,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=e.r(549757),o=e.r(144654);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},818732,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return s}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});function i(e){let t={};for(let[n,r]of e.entries()){let e=t[n];void 0===e?t[n]=r:Array.isArray(e)?e.push(r):t[n]=[e,r]}return t}function a(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(n,a(e));else t.set(n,a(r));return t}function l(e,...t){for(let n of t){for(let t of n.keys())e.delete(t);for(let[t,r]of n.entries())e.append(t,r)}return e}},626167,(e,t,n)=>{"use strict";e.i(583225),Object.defineProperty(n,"__esModule",{value:!0});var r={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return l}};for(var o in r)Object.defineProperty(n,o,{enumerable:!0,get:r[o]});let i=e.r(56421)._(e.r(818732)),a=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:n}=e,r=e.protocol||"",o=e.pathname||"",s=e.hash||"",l=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?`[${n}]`:n),e.port&&(u+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let c=e.search||l&&`?${l}`||"";return r&&!r.endsWith(":")&&(r+=":"),e.slashes||(!r||a.test(r))&&!1!==u?(u="//"+(u||""),o&&"/"!==o[0]&&(o="/"+o)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${r}${u}${o}${c}${s}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},980376,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(287272),o=e.i(294237),i=e.i(765470),a=e.i(975157);let s=r.Root;r.Trigger,r.Close;let l=r.Portal,u=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Overlay,{className:(0,a.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...n,ref:o}));u.displayName=r.Overlay.displayName;let c=(0,o.cva)("fixed z-50 gap-4 bg-surface p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),d=n.forwardRef(({side:e="right",className:n,children:o,...s},d)=>(0,t.jsxs)(l,{children:[(0,t.jsx)(u,{}),(0,t.jsxs)(r.Content,{ref:d,className:(0,a.cn)(c({side:e}),n),...s,children:[o,(0,t.jsxs)(r.Close,{className:"absolute right-4 top-4 rounded-xs opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface2",children:[(0,t.jsx)(i.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=r.Content.displayName;let f=({className:e,...n})=>(0,t.jsx)("div",{className:(0,a.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...n});f.displayName="SheetHeader";let p=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Title,{ref:o,className:(0,a.cn)("text-lg font-semibold text-txt",e),...n}));p.displayName=r.Title.displayName;let m=n.forwardRef(({className:e,...n},o)=>(0,t.jsx)(r.Description,{ref:o,className:(0,a.cn)("text-sm text-muted",e),...n}));m.displayName=r.Description.displayName,e.s(["Sheet",0,s,"SheetContent",0,d,"SheetDescription",0,m,"SheetHeader",0,f,"SheetTitle",0,p])},244267,702197,481523,844081,e=>{"use strict";var t=e.i(72345),n=e.i(180338),r=e.i(910172),o=e.i(763371),i=e.i(975157);function a(e){return Array.isArray(e)&&e.length>0&&e.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.question&&"string"==typeof e.header&&Array.isArray(e.options)&&e.options.every(e=>!!e&&"object"==typeof e&&"string"==typeof e.label))}let s="\0other";function l(e,t){return["Answers:",...e.map((e,n)=>`- ${e.header}: ${t[n]}`)].join("\n")}e.s(["QuestionCard",0,function({set:e,disabled:r,onSubmit:o}){let[a,l]=(0,n.useState)(()=>e.questions.map(()=>[])),[u,c]=(0,n.useState)(()=>e.questions.map(()=>"")),d=!!e.answers,f=e.questions.map((e,t)=>{let n=e.options.map(e=>e.label).filter(e=>a[t].includes(e));return a[t].includes(s)&&u[t].trim()&&n.push(`Other: "${u[t].trim()}"`),n.join(", ")}),p=f.every(Boolean);return(0,t.jsxs)("div",{className:"my-2 rounded-md border border-border overflow-hidden","data-question-card":!0,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 bg-surface2 border-b border-border",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono uppercase tracking-widest text-muted",children:"Questions"}),d&&(0,t.jsx)("span",{className:"ml-auto text-[10px] font-mono text-accent",children:"✓ Answered"})]}),(0,t.jsxs)("div",{className:"p-2 space-y-3",children:[e.questions.map((n,r)=>(0,t.jsxs)("fieldset",{disabled:d,className:"space-y-1",children:[(0,t.jsxs)("legend",{className:"mb-1",children:[(0,t.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-sm bg-surface2 border border-border text-accent mr-1.5",children:n.header}),(0,t.jsx)("span",{className:"text-xs text-txt",children:n.question})]}),d?(0,t.jsx)("p",{className:"text-xs text-txt pl-1",children:e.answers?.[r]}):(0,t.jsxs)(t.Fragment,{children:[[...n.options,{label:"Other",value:s}].map(o=>{let s="value"in o?o.value:o.label,u=a[r].includes(s);return(0,t.jsxs)("label",{className:(0,i.cn)("flex gap-2 items-start rounded-sm px-1 py-0.5 cursor-pointer hover:bg-surface2",u&&"bg-surface2"),children:[(0,t.jsx)("input",{type:n.multiSelect?"checkbox":"radio",name:`${e.id}-${r}`,checked:u,onChange:()=>{var e;return e=n.multiSelect,void l(t=>t.map((t,n)=>n!==r?t:e?t.includes(s)?t.filter(e=>e!==s):[...t,s]:[s]))},className:"mt-0.5 accent-accent"}),(0,t.jsxs)("span",{className:"text-xs",children:[(0,t.jsx)("span",{className:"text-txt",children:o.label}),"description"in o&&o.description&&(0,t.jsx)("span",{className:"block text-muted",children:o.description})]})]},s)}),a[r].includes(s)&&(0,t.jsx)("input",{value:u[r],onChange:e=>c(t=>t.map((t,n)=>n===r?e.target.value:t)),placeholder:"Your answer","aria-label":`Other answer for ${n.header}`,className:"ml-6 w-[calc(100%-1.5rem)] rounded-sm bg-surface2 border border-border px-2 py-1 text-xs text-txt placeholder:text-muted focus:outline-hidden focus:border-accent"})]})]},r)),!d&&(0,t.jsx)("button",{onClick:()=>o(f),disabled:!p||r,className:"text-xs px-2 py-0.5 rounded-sm bg-accent/20 text-accent hover:bg-accent/30 disabled:opacity-50",children:"Submit"})]})]})},"formatAnswers",0,l,"isRenderableQuestions",0,a],702197);let u=e=>!!e&&"object"==typeof e&&!Array.isArray(e),c=e=>"string"==typeof e?e.trim():"";var d=e.i(956555);function f(e,t=Math.random()){return`c-${e.toString(36)}${t.toString(36).slice(2,6)}`}function p(e,t,n={}){var r;let o=n.now??new Date().toISOString();return[...e,{id:t,title:n.title??(n.attach?"epic"===(r=n.attach).kind?`Epic ${r.id}`:`Task ${r.id}`:"New chat"),messages:[],sessionId:null,busy:!1,notes:[],attach:n.attach??null,createdAt:o,updatedAt:o}]}function m(e,t,n){return e.map(e=>e.id===t?n(e):e)}let h={running:"Running","needs-answer":"Waiting for your answers",review:"Plan or edit to review",error:"Error",idle:"Idle"};function g(e){return e.messages.reduce((e,t)=>e+t.plans.filter(e=>"pending"===e.status).length+t.proposals.filter(e=>"pending"===e.status).length,0)}function y(e){if(e.busy)return"running";let t=e.messages[e.messages.length-1];if(t?.questions.some(e=>!e.answers))return"needs-answer";if(g(e))return"review";let n=e.messages.findLast(e=>"assistant"===e.role);return n?.error?"error":"idle"}function v(e,t){return!e.dismissed&&t-Date.parse(e.updatedAt)<864e5&&"error"===y(e)}let b=e=>"needs-answer"===e||"review"===e;function w(e,t,n={}){if((n.running??e.filter(e=>e.busy).length)>=4)return{refused:"Too many agents running (4). Stop or close a chat, or wait."};let r=e.find(e=>e.id===t);return!r||r.busy||n.newChat?{newChat:!0}:{chatId:r.id}}let x=e=>`${e.kind}:${e.id}`;function E(e){return e.trim().match(/^Break down epic (R\d+)/i)?.[1].toUpperCase()??null}function S(e,t){return e.filter(e=>{let n;return n=e.attach,!!n&&!!t&&n.kind===t.kind&&n.id===t.id}).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}let N={running:3,"needs-answer":2,review:1};function k(e){let t={};for(let n of e){let e=y(n);if(!n.attach||"idle"===e||"error"===e)continue;let r=x(n.attach),o=t[r];(!o||N[e]>N[o.status])&&(t[r]={status:e,chatId:n.id})}return t}function C(e){return"epic"===e.kind?`[This chat is about epic ${e.id}. Read it with vibedoc_get_roadmap (and its tasks with vibedoc_get_task) before answering.]`:`[This chat is about task ${e.id}. Read it with vibedoc_get_task before answering.]`}function j(e,t){let n=[...e].sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)),r={needsYou:[],errors:[],running:[],recent:[]};for(let e of n){let n=y(e);b(n)?r.needsYou.push(e):void 0!==t&&v(e,t)?r.errors.push(e):"running"===n?r.running.push(e):r.recent.push(e)}return r}function _(e,t){let n=j(e,t);return[...n.needsYou,...n.errors]}function A(e,t){let n=e.findIndex(e=>e.id===t);return e[n+1]}function O(e,t=Date.now()){let n=j(e,t);return n.needsYou[0]??n.errors[0]??n.running[0]??n.recent[0]}function P(e){return e.messages.length?{...e,busy:!1}:null}function M(e){if(!e||"string"!=typeof e.id||!Array.isArray(e.messages))return null;let t=e.messages[e.messages.length-1],n=t?.role!=="assistant"||t.text||t.error||t.tools?.length||t.plans?.length||t.proposals?.length||t.questions?.length?e.messages:[...e.messages.slice(0,-1),{...t,error:"Interrupted: the page reloaded while the agent was working."}],r=e.updatedAt??e.createdAt??new Date(0).toISOString();return{...e,messages:n,busy:!1,notes:e.notes??[],attach:e.attach??null,createdAt:e.createdAt??r,updatedAt:r}}function $(e,t){return t.flatMap(t=>{let n=y(t);return b(n)&&e[t.id]!==n?[{chat:t,status:n}]:[]})}function R(e,t){let n=e.replace(/^\(\d+\) /,"");return t>0?`(${t}) ${n}`:n}function T(e){let t=E(e);if(t)return`Break down ${t}`;let n=e.trim().split("\n")[0];return n.length>40?`${n.slice(0,40).trimEnd()}…`:n}e.s(["MAX_RUNNING_CHATS",0,4,"STATUS_LABEL",0,h,"addChat",0,p,"ago",0,function(e,t){let n=Math.max(0,Math.floor((t-Date.parse(e))/6e4));return n<1?"now":n<60?`${n}m`:n<1440?`${Math.floor(n/60)}h`:`${Math.floor(n/1440)}d`},"attachContext",0,C,"attachKey",0,x,"attentionQueue",0,_,"chatFor",0,S,"chatStatus",0,y,"chatTitle",0,T,"defaultChat",0,O,"epicOf",0,E,"fromSaved",0,M,"groupChats",0,j,"isActionableError",0,v,"isWaiting",0,b,"itemAgents",0,k,"newChatId",0,f,"newlyWaiting",0,$,"nextInQueue",0,A,"patchChat",0,m,"pendingReviews",0,g,"routeAsk",0,w,"shellStatus",0,function(e,t){let n=y(e);return"error"!==n||v(e,t)?n:"idle"},"suggestions",0,function(e){return e?"epic"===e.kind?[`Break down epic ${e.id} into tasks.`,"Summarize this epic's progress.","What is at risk in this epic?"]:["Refine this task's spec.","Split this task into smaller tasks.","What blocks this task?"]:["What should I work on next?","Plan a roadmap for this project.","What is blocked right now?"]},"toSaved",0,P,"waitingTitle",0,R],481523);let I=(e,t="")=>({role:e,text:t,tools:[],proposals:[],plans:[],questions:[]}),D=(0,n.createContext)(null),L=(0,n.createContext)({});e.s(["ChatProvider",0,function({children:e}){let{rootParam:i,activeProject:s,selectedDoc:h}=(0,o.useApp)(),x=(0,r.usePathname)(),N=(0,r.useRouter)(),[j,U]=(0,n.useState)([]),[z,q]=(0,n.useState)(!1),[V,F]=(0,n.useState)(null),[W,B]=(0,n.useState)(null),[H,K]=(0,n.useState)(null),Q=(0,n.useRef)(new Map),J=(0,n.useRef)(new Set),X=(0,n.useRef)({}),[Y,G]=(0,n.useState)(()=>Date.now());(0,n.useEffect)(()=>{let e=setInterval(()=>G(Date.now()),6e4);return()=>clearInterval(e)},[]);let Z="/chat"===x,ee="/docs"===x?h?.path:void 0;(0,n.useEffect)(()=>{for(let e of Q.current.values())e.abort();Q.current.clear(),J.current.clear();let e=!1;return fetch(`/api/conversations${i}`).then(e=>e.ok?e.json():{chats:[]}).then(t=>{if(e)return;let n=(t.chats??[]).map(e=>M(e)).filter(e=>!!e);X.current=Object.fromEntries(n.map(e=>[e.id,y(e)])),U(n),F(null),B(null),q(!0)}).catch(t=>{console.warn("[vibedoc] could not load chats:",t),e||(U([]),q(!0))}),()=>{e=!0}},[s,i]),(0,n.useEffect)(()=>{for(let e of[...J.current]){let t=j.find(t=>t.id===e);J.current.delete(e);let n=t&&P(t);n&&fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat:n})}).catch(t=>console.warn(`[vibedoc] could not save chat ${e}:`,t))}},[j,i]);let et=(0,n.useRef)({key:"{}",value:{}}),en=(0,n.useMemo)(()=>{let e=k(j),t=JSON.stringify(e);return t!==et.current.key&&(et.current={key:t,value:e}),et.current.value},[j]),er=j.filter(e=>e.busy).length,eo=j.filter(e=>b(y(e))).length,ei=j.filter(e=>v(e,Y)).length,ea=(0,n.useMemo)(()=>_(j,Y),[j,Y]);function es(e){J.current.add(e)}function el(e={}){e.keep||U(e=>e.filter(e=>e.id!==V||e.messages.length>0)),F(null)}function eu(e){B(e),Z?(F(null),N.replace(`/chat?id=${encodeURIComponent(e)}`,{scroll:!1})):F(e)}function ec(e=null){let t=f(Date.now());return U(n=>p(n,t,{attach:e})),t}function ed(e,t){U(n=>m(n,e,e=>({...e,messages:[...e.messages.slice(0,-1),t(e.messages[e.messages.length-1])]})))}async function ef(e,t){let n=t.trim(),r=j.find(t=>t.id===e);if(!n||r?.busy)return;"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission().catch(()=>{});let o=!r?.messages.length,s=E(n),l=r?.attach??(s?{kind:"epic",id:s}:null);U(t=>m(t,e,e=>({...e,title:e.messages.length?e.title:T(n),attach:e.attach??l,busy:!0,dismissed:!1,notes:[],updatedAt:new Date().toISOString(),messages:[...e.messages,I("user",n),I("assistant")]}))),es(e);let c=[...o&&r?.attach?[C(r.attach)]:[],...r?.notes.length?[`[${r.notes.join(" ")}]`]:[]],d=c.length?`${c.join("\n")}
|
|
2
|
+
|
|
3
|
+
${n}`:n,f=new AbortController;Q.current.set(e,f);try{let t=await fetch(`/api/chat${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:d,sessionId:r?.sessionId??null,docPath:ee}),signal:f.signal});if(!t.ok||!t.body){let e=await t.json().catch(()=>null);throw Error(e?.error??`Request failed (${t.status})`)}let n=t.body.getReader(),o=new TextDecoder,s="";for(;;){let{done:t,value:r}=await n.read();if(t)break;let i=(s+=o.decode(r,{stream:!0})).split("\n");for(let t of(s=i.pop()??"",i))if(t.trim())try{!function(e,t){if(t.session_id&&U(n=>m(n,e,e=>e.sessionId===t.session_id?e:{...e,sessionId:t.session_id})),"stream_event"===t.type){let n=t.event;n?.type==="message_start"?ed(e,e=>e.text&&!e.text.endsWith("\n\n")?{...e,text:e.text+"\n\n"}:e):n?.type==="content_block_delta"&&n.delta?.type==="text_delta"&&ed(e,e=>({...e,text:e.text+n.delta.text}))}else if("assistant"===t.type){let n=(t.message?.content??[]).filter(e=>"tool_use"===e.type),r=n.filter(e=>e.name.endsWith("vibedoc_propose_edit")&&"string"==typeof e.input?.path&&Array.isArray(e.input?.edits)).map(e=>({id:e.id,path:e.input.path,edits:e.input.edits,summary:"string"==typeof e.input.summary?e.input.summary:void 0,status:"pending"})),o=n.filter(e=>e.name.endsWith("vibedoc_propose_plan")).flatMap(e=>{let t=function(e){if(!u(e))return null;let t=(e,t)=>Array.isArray(e)&&e.every(e=>u(e)&&t.every(t=>"string"==typeof e[t])&&(void 0===e.dependsOn||Array.isArray(e.dependsOn)));if("breakdown"===e.kind){let n=void 0===e.epic||"string"==typeof e.epic,r=void 0===e.newEpic||u(e.newEpic)&&"string"==typeof e.newEpic.title&&"string"==typeof e.newEpic.parent;return n&&r&&t(e.tasks,["key","title"])&&e.tasks.length>0?e:null}if("roadmap"===e.kind){let n=e.horizons??[],r=e.epics??[];return t(n,["key","title"])&&t(r,["key","title","parent"])?{kind:"roadmap",horizons:n,epics:r}:null}return null}(e.input?.plan);return t?[{id:e.id,plan:t,status:"pending"}]:[]}),i=n.filter(e=>e.name.endsWith("vibedoc_ask_questions")&&a(e.input?.questions)).map(e=>({id:e.id,questions:e.input.questions})),s=["vibedoc_propose_edit","vibedoc_propose_plan","vibedoc_ask_questions"],l=n.filter(e=>!s.some(t=>e.name.endsWith(t))).map(e=>e.name.replace(/^mcp__vibedoc__vibedoc_/,""));(l.length||r.length||o.length||i.length)&&ed(e,e=>({...e,tools:[...e.tools,...l],proposals:[...e.proposals,...r],plans:[...e.plans,...o],questions:[...e.questions,...i]}))}else if("user"===t.type){let n=new Set((t.message?.content??[]).filter(e=>"tool_result"===e.type&&e.is_error).map(e=>e.tool_use_id));n.size&&ed(e,e=>({...e,proposals:e.proposals.filter(e=>!n.has(e.id)),plans:e.plans.filter(e=>!n.has(e.id)),questions:e.questions.filter(e=>!n.has(e.id))}))}else"result"===t.type&&t.is_error?ed(e,e=>({...e,error:t.result??t.subtype??"Agent error"})):"error"===t.type&&ed(e,e=>({...e,error:t.message}))}(e,JSON.parse(t))}catch{}}}catch(t){f.signal.aborted?ed(e,e=>e.text||e.error?e:{...e,error:"Stopped."}):ed(e,e=>({...e,error:t.message}))}finally{Q.current.get(e)===f&&(Q.current.delete(e),es(e)),U(t=>m(t,e,e=>({...e,busy:!1,updatedAt:new Date().toISOString()})))}}function ep(e){Q.current.get(e)?.abort()}function em(e,t,n){U(r=>m(r,e,e=>({...e,notes:n?[...e.notes,n]:e.notes,messages:e.messages.map(t)}))),es(e)}return(0,n.useEffect)(()=>{document.title=R(document.title,ea.length)},[ea.length,x]),(0,n.useEffect)(()=>{let e=$(X.current,j);if(X.current=Object.fromEntries(j.map(e=>[e.id,y(e)])),e.length&&document.hidden&&"Notification"in window&&"granted"===Notification.permission)for(let{chat:t,status:n}of e){let e=new Notification("needs-answer"===n?"Agent needs your answer":"Plan ready to review",{body:t.title,tag:t.id});e.onclick=()=>{window.focus(),(0,d.openAgentChat)(t.id),e.close()}}},[j]),(0,n.useEffect)(()=>{function e(e){let{message:t,newChat:n}=e.detail??{};if(!t)return;let r=w(j,W,{newChat:n,running:Q.current.size});if("refused"in r)return K(r.refused);K(null);let o=E(t),i="chatId"in r?r.chatId:ec(o?{kind:"epic",id:o}:null);ef(i,t),n||eu(i)}function t(e){let t=e.detail?.chatId;t&&j.some(e=>e.id===t)&&eu(t)}return window.addEventListener(d.ASK_AGENT_EVENT,e),window.addEventListener(d.OPEN_CHAT_EVENT,t),()=>{window.removeEventListener(d.ASK_AGENT_EVENT,e),window.removeEventListener(d.OPEN_CHAT_EVENT,t)}}),(0,t.jsx)(D.Provider,{value:{chats:j,loaded:z,modalId:V,closeModal:el,show:eu,showDefault:function(){let e=A(ea,V??(Z?W:null));if(e)return eu(e.id);if(V)return el();let t=O(j,Y);eu(t?t.id:ec())},showAbout:function(e){let t=S(j,e);eu(t?t.id:ec(e))},create:ec,send:ef,stop:ep,dismiss:function(e){U(t=>m(t,e,e=>({...e,dismissed:!0}))),es(e)},remove:function(e){let t=j.find(t=>t.id===e),n=t?g(t):0;return(!n||!!window.confirm(`Discard ${n} unreviewed proposal${1===n?"":"s"}?`))&&(ep(e),Q.current.delete(e),J.current.delete(e),U(t=>t.filter(t=>t.id!==e)),V===e&&F(null),W===e&&B(null),fetch(`/api/conversations${i}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({delete:e})}).catch(t=>console.warn(`[vibedoc] could not delete chat ${e}:`,t)),!0)},resolveProposal:function(e,t,n,r){em(e,e=>({...e,proposals:e.proposals.map(e=>e.id===t?{...e,status:r}:e)}),`User ${r} your proposed edit to ${n}.`)},resolvePlan:function(e,t,n,r,o){var i;let a="breakdown"===t.plan.kind?c((i=t.plan).epic)?c(i.epic).toUpperCase():i.newEpic?`new epic "${c(i.newEpic.title)}"`:"no epic":"the roadmap";em(e,e=>({...e,plans:e.plans.map(e=>e.id===t.id?{...e,status:n,created:r}:e)}),"accepted"===n?`User accepted plan for ${a}: created ${r.map(e=>e.id).join(", ")}${o.length?` (unchecked: ${o.join(", ")})`:""}.`:`User rejected the plan for ${a}.`)},answerQuestions:function(e,t,n){j.find(t=>t.id===e)?.busy||(em(e,e=>({...e,questions:e.questions.map(e=>e.id===t.id?{...e,answers:n}:e)})),ef(e,l(t.questions,n)))},agents:en,runningCount:er,waitingCount:eo,errorCount:ei,queue:ea,now:Y,notice:H,dismissNotice:()=>K(null)},children:(0,t.jsx)(L.Provider,{value:en,children:e})})},"useChats",0,function(){let e=(0,n.useContext)(D);if(!e)throw Error("useChats() must be used inside <ChatProvider>");return e},"useItemAgent",0,function(e){return(0,n.useContext)(L)[x(e)]}],244267);var U=e.i(240595),z=e.i(192871),q=e.i(83790);let V={name:"square-check",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"m16 9-5.5 5.5L8 12",key:"xofnsj"}]],aliases:["check-square-2"]};V.node;let F=(0,q.default)(V);e.s(["AttachLabel",0,function({attach:e,className:n}){let r="epic"===e.kind?z.Map:F;return(0,t.jsxs)("span",{className:(0,i.cn)("inline-flex items-center gap-1 font-mono text-[10px] leading-none",n),children:[(0,t.jsx)(r,{className:"size-3"}),e.id]})},"StatusMarker",0,function({status:e,showIdle:n=!1,label:r,className:o}){if("idle"===e&&!n)return null;let a=r??h[e];return(0,t.jsx)("span",{role:"img","aria-label":a,title:a,className:(0,i.cn)("inline-flex size-3 shrink-0 items-center justify-center",o),children:"running"===e?(0,t.jsx)(U.Loader2,{className:"size-3 animate-spin text-accent"}):(0,t.jsx)("span",{className:(0,i.cn)("size-1.5","review"===e?"size-2 rotate-45 rounded-[1px] bg-accent animate-pulse-dot":"rounded-full","needs-answer"===e&&"bg-amber animate-pulse-dot","error"===e&&"bg-danger","idle"===e&&"border border-muted/60")})})},"attachHref",0,function(e){return"epic"===e.kind?`/roadmap?item=${e.id}`:`/board?task=${e.id}`}],844081)},956555,e=>{"use strict";let t="vibedoc:ask-agent",n="vibedoc:open-chat";e.s(["ASK_AGENT_EVENT",0,t,"OPEN_CHAT_EVENT",0,n,"askAgent",0,function(e,n={}){window.dispatchEvent(new CustomEvent(t,{detail:{message:e,...n}}))},"openAgentChat",0,function(e){window.dispatchEvent(new CustomEvent(n,{detail:{chatId:e}}))}])}]);
|