vibedoc 1.10.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +7 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +41 -13
- package/.next/routes-manifest.json +42 -6
- package/.next/server/app/(app)/activity/page.js.nft.json +1 -1
- package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/board/page.js.nft.json +1 -1
- package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/chat/page.js.nft.json +1 -1
- package/.next/server/app/(app)/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/docs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/explorer/page.js.nft.json +1 -1
- package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/graph/page/app-paths-manifest.json +3 -0
- package/.next/server/app/(app)/graph/page/build-manifest.json +20 -0
- package/.next/server/app/(app)/graph/page/next-font-manifest.json +11 -0
- package/.next/server/app/(app)/graph/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/(app)/graph/page.js +15 -0
- package/.next/server/app/(app)/graph/page.js.nft.json +1 -0
- package/.next/server/app/(app)/graph/page_client-reference-manifest.js +3 -0
- package/.next/server/app/(app)/manual-tests/page.js.nft.json +1 -1
- package/.next/server/app/(app)/manual-tests/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/memory/page.js.nft.json +1 -1
- package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/roadmap/page.js.nft.json +1 -1
- package/.next/server/app/(app)/roadmap/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/setup/page.js.nft.json +1 -1
- package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/activity.html +1 -1
- package/.next/server/app/activity.rsc +8 -8
- package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/activity.segments/_full.segment.rsc +8 -8
- package/.next/server/app/activity.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/activity/route.js +2 -2
- package/.next/server/app/api/activity/route.js.nft.json +1 -1
- package/.next/server/app/api/chat/route.js +2 -2
- package/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/server/app/api/context/route.js +2 -2
- package/.next/server/app/api/context/route.js.nft.json +1 -1
- package/.next/server/app/api/conversations/route.js +2 -2
- package/.next/server/app/api/conversations/route.js.nft.json +1 -1
- package/.next/server/app/api/decisions/route.js +2 -2
- package/.next/server/app/api/decisions/route.js.nft.json +1 -1
- package/.next/server/app/api/docs/graph/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/docs/graph/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/docs/graph/route.js +9 -0
- package/.next/server/app/api/docs/graph/route.js.map +5 -0
- package/.next/server/app/api/docs/graph/route.js.nft.json +1 -0
- package/.next/server/app/api/docs/graph/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/docs/links/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/docs/links/route/build-manifest.json +12 -0
- package/.next/server/app/api/docs/links/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/docs/links/route.js +9 -0
- package/.next/server/app/api/docs/links/route.js.map +5 -0
- package/.next/server/app/api/docs/links/route.js.nft.json +1 -0
- package/.next/server/app/api/docs/links/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/docs/route.js +2 -2
- package/.next/server/app/api/docs/route.js.nft.json +1 -1
- package/.next/server/app/api/explorer/route.js +2 -2
- package/.next/server/app/api/explorer/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js +2 -2
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/delete/route.js +2 -2
- package/.next/server/app/api/memory/entries/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/merge/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/merge/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/merge/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/merge/route.js +9 -0
- package/.next/server/app/api/memory/entries/merge/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/merge/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/merge/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/entries/merge/undo/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js +9 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js.map +5 -0
- package/.next/server/app/api/memory/entries/merge/undo/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/entries/merge/undo/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/entries/restore/route.js +2 -2
- package/.next/server/app/api/memory/entries/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/route.js +2 -2
- package/.next/server/app/api/memory/entries/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/entries/save/route.js +2 -2
- package/.next/server/app/api/memory/entries/save/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/graph/route.js +2 -2
- package/.next/server/app/api/memory/graph/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/health/dismiss/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/health/dismiss/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/health/dismiss/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/health/dismiss/route.js +9 -0
- package/.next/server/app/api/memory/health/dismiss/route.js.map +5 -0
- package/.next/server/app/api/memory/health/dismiss/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/health/dismiss/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/health/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/memory/health/route/build-manifest.json +12 -0
- package/.next/server/app/api/memory/health/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/memory/health/route.js +8 -0
- package/.next/server/app/api/memory/health/route.js.map +5 -0
- package/.next/server/app/api/memory/health/route.js.nft.json +1 -0
- package/.next/server/app/api/memory/health/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/memory/history/route.js +2 -2
- package/.next/server/app/api/memory/history/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +2 -2
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/plan/apply/route.js +2 -2
- package/.next/server/app/api/plan/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/projects/route.js +2 -2
- package/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/server/app/api/registry/route.js +2 -2
- package/.next/server/app/api/registry/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/create/route.js +2 -2
- package/.next/server/app/api/roadmap/create/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/delete/route.js +2 -2
- package/.next/server/app/api/roadmap/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/generate/route.js +2 -2
- package/.next/server/app/api/roadmap/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/layout/route.js +2 -2
- package/.next/server/app/api/roadmap/layout/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/restore/route.js +2 -2
- package/.next/server/app/api/roadmap/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/route.js +2 -2
- package/.next/server/app/api/roadmap/route.js.nft.json +1 -1
- package/.next/server/app/api/roadmap/update/route.js +2 -2
- package/.next/server/app/api/roadmap/update/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +2 -2
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +2 -2
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/generate/route.js +2 -2
- package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/setup/write/route.js +2 -2
- package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
- package/.next/server/app/api/summary/route.js +2 -2
- package/.next/server/app/api/summary/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/bulk/route.js +2 -2
- package/.next/server/app/api/tasks/bulk/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/create/route.js +2 -2
- package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/delete/route.js +2 -2
- package/.next/server/app/api/tasks/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/manual-tests/route.js +2 -2
- package/.next/server/app/api/tasks/manual-tests/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/restore/route.js +2 -2
- package/.next/server/app/api/tasks/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/review/route.js +2 -2
- package/.next/server/app/api/tasks/review/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +2 -2
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/update/route.js +2 -2
- package/.next/server/app/api/tasks/update/route.js.nft.json +1 -1
- package/.next/server/app/api/views/route.js +2 -2
- package/.next/server/app/api/views/route.js.nft.json +1 -1
- package/.next/server/app/board.html +1 -1
- package/.next/server/app/board.rsc +8 -8
- package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/board.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/.next/server/app/chat.segments/!KGFwcCk/chat/__PAGE__.segment.rsc +9 -11
- package/.next/server/app/chat.segments/_full.segment.rsc +8 -8
- 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 +8 -8
- package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/docs.segments/_full.segment.rsc +8 -8
- package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/explorer.html +1 -1
- package/.next/server/app/explorer.rsc +7 -7
- package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/explorer.segments/_full.segment.rsc +7 -7
- package/.next/server/app/explorer.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/graph.html +1 -0
- package/.next/server/app/graph.meta +31 -0
- package/.next/server/app/graph.rsc +32 -0
- package/.next/server/app/graph.segments/!KGFwcCk/graph/__PAGE__.segment.rsc +33 -0
- package/.next/server/app/graph.segments/_full.segment.rsc +32 -0
- package/.next/server/app/graph.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/manual-tests.html +1 -1
- package/.next/server/app/manual-tests.rsc +7 -7
- package/.next/server/app/manual-tests.segments/!KGFwcCk/manual-tests/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/manual-tests.segments/_full.segment.rsc +7 -7
- package/.next/server/app/manual-tests.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/memory.html +1 -1
- package/.next/server/app/memory.rsc +8 -8
- package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/memory.segments/_full.segment.rsc +8 -8
- package/.next/server/app/memory.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/roadmap.html +1 -1
- package/.next/server/app/roadmap.rsc +8 -8
- package/.next/server/app/roadmap.segments/!KGFwcCk/roadmap/__PAGE__.segment.rsc +5 -5
- package/.next/server/app/roadmap.segments/_full.segment.rsc +8 -8
- 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 +7 -7
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/settings.segments/_full.segment.rsc +7 -7
- 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 +7 -7
- package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/setup.segments/_full.segment.rsc +7 -7
- package/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/server/app-paths-manifest.json +7 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_053zt3c._.js → 11mp_@anthropic-ai_sdk_0-r4g2t._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_zx69c._.js → 11mp_@anthropic-ai_sdk_01gyja3._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gvxfg3._.js → 11mp_@anthropic-ai_sdk_02lx_j3._.js} +1 -1
- package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gx5t2l._.js → 11mp_@anthropic-ai_sdk_05iv23g._.js} +1 -1
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_05oneea._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_07fgg-l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_5gzfy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0_jynr-._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0aykesf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0br_1fc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0cd5lu7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ckxhy7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0e5qkuv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0el8pm6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i4w8fv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0i7ckik._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l1p4c6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0m-xqs_._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0nltdmf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0qxmzg8._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0spr_aj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0th0pyh._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0x21fif._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-7bj56._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1-efoj1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13vu693._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_13w62gi._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1887ce1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1_jq3yb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1agvp6h._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b1-3vt._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ekldtb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ezcndt._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1gr-orf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1hf-884._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ndwnmb._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rdesfd._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s8h60-._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1tgk9wk._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1uugb45._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vcxmui._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1x63qpm._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1y5oj_h._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1z0q4jj._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_20j6dn7._.js.map +1 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js +3 -0
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__00o3mbd._.js → [root-of-the-server]__06ndlro._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__06dfvb0._.js → [root-of-the-server]__08v3p50._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__15jhpgl._.js → [root-of-the-server]__0cxmrop._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0jr_5eq._.js → [root-of-the-server]__0fn-a8c._.js} +39 -23
- package/.next/server/chunks/[root-of-the-server]__0fn-a8c._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1-1hfrj._.js → [root-of-the-server]__0hk-9ll._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1gr4e22._.js → [root-of-the-server]__0i1yba1._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0lix3ru._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__19rxcu4._.js → [root-of-the-server]__0pvi3ku._.js} +39 -23
- package/.next/server/chunks/[root-of-the-server]__0pvi3ku._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1h5hb6u._.js → [root-of-the-server]__0pz59qo._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0rggulw._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rggulw._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rh8yfn._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__05tx02j._.js → [root-of-the-server]__0rikmqn._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0s8v5i-._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__0p4w_o-._.js → [root-of-the-server]__0usdydm._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0uu9pgg._.js → [root-of-the-server]__0wc_gnr._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0kuhhna._.js → [root-of-the-server]__0xldguc._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1kw2vct._.js → [root-of-the-server]__0zy73pu._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__06z8i6e._.js → [root-of-the-server]__11nbc9e._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__11nbc9e._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__19w-7h9._.js → [root-of-the-server]__11rp-qx._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_qenei._.js.map +1 -1
- package/.next/server/chunks/{[root-of-the-server]__01n_hoh._.js → [root-of-the-server]__1ef-hw_._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1pjwaan._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__1af-wfk._.js.map → [root-of-the-server]__1pjwaan._.js.map} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__076d4xm._.js → [root-of-the-server]__1qcy2l0._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1lt5cds._.js → [root-of-the-server]__1r67yrn._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__1skrybv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1skrybv._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1rjgpbm._.js → [root-of-the-server]__1sn6-7a._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1qd-ecl._.js → [root-of-the-server]__1vnine1._.js} +39 -23
- package/.next/server/chunks/[root-of-the-server]__1vnine1._.js.map +1 -0
- package/.next/server/chunks/{[root-of-the-server]__1spley9._.js → [root-of-the-server]__1wbho9e._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__09j_-hj._.js → [root-of-the-server]__1yh-4vk._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1e_o8h4._.js → [root-of-the-server]__1zhd93r._.js} +2 -2
- package/.next/server/chunks/_04byth9._.js +31 -26
- package/.next/server/chunks/_04byth9._.js.map +1 -1
- package/.next/server/chunks/_0safx0g._.js +3 -3
- package/.next/server/chunks/_0safx0g._.js.map +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_entries_merge_undo_route_actions_0l6cy9q.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_dismiss_route_actions_0i7_n68.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js.map +1 -0
- package/.next/server/chunks/ssr/{0_nd_mermaid_dist_mermaid_core_mjs_0itmgkm._.js → 0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js} +2 -2
- package/.next/server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map +1 -0
- package/.next/server/chunks/ssr/{1u84_katex_dist_katex_mjs_08jn-sj._.js → 1u84_katex_dist_katex_mjs_0yg8zto._.js} +1 -1
- package/.next/server/chunks/ssr/1u84_katex_dist_katex_mjs_0yg8zto._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1drc5py._.js.map +1 -0
- package/.next/server/chunks/ssr/_02ks8_a._.js +3 -0
- package/.next/server/chunks/ssr/_02ks8_a._.js.map +1 -0
- package/.next/server/chunks/ssr/_04xff_2._.js +1 -1
- package/.next/server/chunks/ssr/_04xff_2._.js.map +1 -1
- package/.next/server/chunks/ssr/_0696iog._.js +3 -0
- package/.next/server/chunks/ssr/_0696iog._.js.map +1 -0
- package/.next/server/chunks/ssr/_0ghj-vx._.js +3 -0
- package/.next/server/chunks/ssr/_0ghj-vx._.js.map +1 -0
- package/.next/server/chunks/ssr/{_0idb-vo._.js → _0kob2si._.js} +2 -2
- package/.next/server/chunks/ssr/_0kob2si._.js.map +1 -0
- package/.next/server/chunks/ssr/_0me5_6x._.js +3 -0
- package/.next/server/chunks/ssr/_0me5_6x._.js.map +1 -0
- package/.next/server/chunks/ssr/_0pg63il._.js +3 -0
- package/.next/server/chunks/ssr/_0pg63il._.js.map +1 -0
- package/.next/server/chunks/ssr/_16b4hkt._.js +3 -0
- package/.next/server/chunks/ssr/_16b4hkt._.js.map +1 -0
- package/.next/server/chunks/ssr/_190c11r._.js +3 -0
- package/.next/server/chunks/ssr/_190c11r._.js.map +1 -0
- package/.next/server/chunks/ssr/_19k2iz0._.js +2 -2
- package/.next/server/chunks/ssr/_19k2iz0._.js.map +1 -1
- package/.next/server/chunks/ssr/_1b82nz3._.js +3 -0
- package/.next/server/chunks/ssr/_1b82nz3._.js.map +1 -0
- package/.next/server/chunks/ssr/_1cz8dnu._.js +3 -0
- package/.next/server/chunks/ssr/_1cz8dnu._.js.map +1 -0
- package/.next/server/chunks/ssr/_1feybpz._.js +3 -0
- package/.next/server/chunks/ssr/_1feybpz._.js.map +1 -0
- package/.next/server/chunks/ssr/{_1s2ya35._.js → _1r_t_wi._.js} +1 -1
- package/.next/server/chunks/ssr/_1r_t_wi._.js.map +1 -0
- package/.next/server/chunks/ssr/_1t8it2w._.js +3 -0
- package/.next/server/chunks/ssr/_1t8it2w._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_(app)_graph_page_actions_041e9i7.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0s7j-tv._.js → node_modules__pnpm_00f4yhs._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_00f4yhs._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1fry8_2._.js → node_modules__pnpm_035haet._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0j7asqf._.js → node_modules__pnpm_03an60e._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0eub17j._.js → node_modules__pnpm_03mp7qw._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0_83tv8._.js → node_modules__pnpm_03mpmzx._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0e55e7-._.js → node_modules__pnpm_06_8fr8._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_16bj927._.js → node_modules__pnpm_09nd7ia._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1ch46nl._.js → node_modules__pnpm_0_e05ka._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0aoa6rg._.js.map +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_02p2rqs._.js → node_modules__pnpm_0iu4132._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0iqb0_x._.js → node_modules__pnpm_0j_-le7._.js} +2 -2
- package/.next/server/chunks/ssr/node_modules__pnpm_0j_-le7._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_0abf_e9._.js → node_modules__pnpm_0jampur._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1hqh95z._.js → node_modules__pnpm_0lkvbt-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_14j18h7._.js → node_modules__pnpm_0mqeoh-._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0v_mhl7._.js → node_modules__pnpm_0oyo3yo._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_00lsytc._.js → node_modules__pnpm_0rq9x9q._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0s63lee._.js → node_modules__pnpm_0tn5pg3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0_ajzll._.js → node_modules__pnpm_0x5wj-4._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules__pnpm_0rsfj9v._.js → node_modules__pnpm_0zz55xq._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0zz55xq._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_1gpkxns._.js → node_modules__pnpm_139-v1i._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1dc-yxd._.js → node_modules__pnpm_1i_chik._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_060kz-j._.js → node_modules__pnpm_1jgju12._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0up4z7m._.js → node_modules__pnpm_1n9oeu0._.js} +1 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1oygi6o._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_1ukodtk._.js.map +1 -0
- package/.next/server/chunks/ssr/{node_modules__pnpm_05-p8zy._.js → node_modules__pnpm_1ws3ez9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0gp90ei._.js → node_modules__pnpm_1ydeqw6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0jlzk5z._.js → node_modules__pnpm_1zme4rg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_1oaf50x._.js → node_modules__pnpm_1zum4yd._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules__pnpm_0vuao3_._.js → node_modules__pnpm_2045l51._.js} +1 -1
- package/.next/server/chunks/ssr/src_1e9kctc._.js +3 -0
- package/.next/server/chunks/ssr/src_1e9kctc._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_chat_page_tsx_0c3e4l4._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.js +3 -0
- package/.next/server/chunks/ssr/src_app_(app)_graph_page_tsx_1yudb7h._.js.map +1 -0
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_layout_tsx_1yu5hom._.js.map +1 -1
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js +3 -2
- package/.next/server/chunks/ssr/src_app_(app)_memory_page_tsx_19jhb1c._.js.map +1 -1
- package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_roadmap_RoadmapNodes_tsx_0up_ygp._.js.map +1 -0
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js +2 -2
- package/.next/server/chunks/ssr/src_context_ChatContext_tsx_0lowp8p._.js.map +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +4 -0
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/prefetch-hints.json +19 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/036fex6o238at.css +1 -0
- package/.next/static/chunks/03tzhv775qv5m.js +1 -0
- package/.next/static/chunks/05rjl54wa6y43.js +1 -0
- package/.next/static/chunks/0_8ovyz2sbr3p.js +1 -0
- package/.next/static/chunks/0do6j4i1v_c6s.js +1 -0
- package/.next/static/chunks/{3xqcluqa32mjv.js → 0h52yb69w77nq.js} +2 -2
- package/.next/static/chunks/0kb25y5g772mn.js +1 -0
- package/.next/static/chunks/0pmpdvev8bf-o.js +1 -0
- package/.next/static/chunks/{1hh2cxd9ndxf-.js → 10itjt9fhlzr1.js} +13 -13
- package/.next/static/chunks/1b9r_vdcewfu7.js +1 -0
- package/.next/static/chunks/1c5ibgojv8jdi.js +3 -0
- package/.next/static/chunks/1l8fp2uesk29q.js +1 -0
- package/.next/static/chunks/1pmgcotwq-_yh.js +1 -0
- package/.next/static/chunks/1v63qs4kxxcfh.js +1 -0
- package/.next/static/chunks/{1n4_u3om7ye4z.js → 1xxzt2y2ttqql.js} +1 -1
- package/.next/static/chunks/263i_dcdizuvd.js +1 -0
- package/.next/static/chunks/2mf5us3y9wd9g.js +1 -0
- package/.next/static/chunks/36s2k2k_w-or8.js +1 -0
- package/.next/static/chunks/3ctec-7mnm19m.js +1 -0
- package/.next/static/chunks/3rtr962aa09nh.js +12 -0
- package/.next/static/chunks/3x43gd45wlhbl.js +1 -0
- package/.next/static/chunks/42c9smmpcu4re.js +1 -0
- package/README.md +12 -6
- package/package.json +1 -1
- package/.next/server/app/api/backlinks/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/backlinks/route.js +0 -8
- package/.next/server/app/api/backlinks/route.js.nft.json +0 -1
- package/.next/server/app/api/backlinks/route_client-reference-manifest.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0krkw4y._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0l0xzie._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0pgjvhr._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0r-keh6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0tvfbjt._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0u4b8_f._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0ud37xh._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0v3ar-t._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wk0b65._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wqkd2r._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0wypotx._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0yuq-9s._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_0z-e57x._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_108ltz4._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_10c_i6_._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_14jogs8._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_15u-n39._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_194ahxu._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ahph2t._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1ajy77y._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1b57s9p._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1brf2xn._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1btfw2x._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1cyy_q6._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1fz9fev._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1i_rz7h._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1it8zsv._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1jzusvd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1lfknr2._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1mewd-3._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1mkm4u_._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rggqq3._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1rhjf1m._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1s6ks8c._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1u8z4hp._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_1vyy3_4._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_036bvwf._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_046taqd._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0bxad5f._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0g65abt._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_0pb9bu1._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_120-cio._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13uyu_v._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_13x2ww0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_17og64d._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1e_sh4o._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1ecuo9i._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1go8d0m._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1i13ryx._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1jv_hid._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1mh5mqk._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1oq7e8u._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1p-cq-p._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1the3g0._.js +0 -3
- package/.next/server/chunks/11mp_@anthropic-ai_sdk_index_mjs_1xubh-w._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jr_5eq._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__19rxcu4._.js.map +0 -1
- package/.next/server/chunks/[root-of-the-server]__1af-wfk._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qd-ecl._.js.map +0 -1
- package/.next/server/chunks/_next-internal_server_app_api_backlinks_route_actions_1_58m09.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js +0 -3
- package/.next/server/chunks/ssr/1x05_lucide-react_dist_esm_icons_triangle-alert_mjs_0ei-mpz._.js.map +0 -1
- package/.next/server/chunks/ssr/_0h91h9n._.js +0 -3
- package/.next/server/chunks/ssr/_0h91h9n._.js.map +0 -1
- package/.next/server/chunks/ssr/_0idb-vo._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ip7sg0._.js +0 -3
- package/.next/server/chunks/ssr/_0ip7sg0._.js.map +0 -1
- package/.next/server/chunks/ssr/_0ks_bep._.js +0 -3
- package/.next/server/chunks/ssr/_0ks_bep._.js.map +0 -1
- package/.next/server/chunks/ssr/_0lqrpim._.js +0 -3
- package/.next/server/chunks/ssr/_0lqrpim._.js.map +0 -1
- package/.next/server/chunks/ssr/_0qp3gu7._.js +0 -3
- package/.next/server/chunks/ssr/_0qp3gu7._.js.map +0 -1
- package/.next/server/chunks/ssr/_197jl3g._.js +0 -3
- package/.next/server/chunks/ssr/_197jl3g._.js.map +0 -1
- package/.next/server/chunks/ssr/_1el478k._.js +0 -3
- package/.next/server/chunks/ssr/_1el478k._.js.map +0 -1
- package/.next/server/chunks/ssr/_1t76zdx._.js +0 -3
- package/.next/server/chunks/ssr/_1t76zdx._.js.map +0 -1
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js +0 -3
- package/.next/server/chunks/ssr/node_modules__pnpm_0al3nfy._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js +0 -3
- package/.next/server/chunks/ssr/src_components_0eyr_zi._.js.map +0 -1
- package/.next/server/chunks/ssr/src_components_1s861m8._.js +0 -3
- package/.next/server/chunks/ssr/src_components_1s861m8._.js.map +0 -1
- package/.next/static/chunks/05qw7-fs1exlt.js +0 -1
- package/.next/static/chunks/08sqjdq-43nbt.js +0 -1
- package/.next/static/chunks/09r4_4wr0aga3.js +0 -1
- package/.next/static/chunks/0mgifb98wbesa.js +0 -1
- package/.next/static/chunks/0xw_sa58zqv5s.js +0 -1
- package/.next/static/chunks/1-a3-6c_nce84.js +0 -1
- package/.next/static/chunks/149fj-mseo8q3.css +0 -1
- package/.next/static/chunks/1c11k-snzp541.js +0 -1
- package/.next/static/chunks/1qhndyi2gdbkf.js +0 -1
- package/.next/static/chunks/1x40-5s54wd5m.js +0 -11
- package/.next/static/chunks/24u_rc2tbkhai.js +0 -3
- package/.next/static/chunks/30s090l71e1gs.js +0 -1
- package/.next/static/chunks/3t8px4aygy1s9.js +0 -1
- package/.next/static/chunks/44gr_v5092gwh.js +0 -1
- /package/.next/server/app/{api/backlinks/route → (app)/graph/page}/server-reference-manifest.json +0 -0
- /package/.next/server/app/{api/backlinks/route.js.map → (app)/graph/page.js.map} +0 -0
- /package/.next/server/app/api/{backlinks → docs/graph}/route/build-manifest.json +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_053zt3c._.js.map → 11mp_@anthropic-ai_sdk_0-r4g2t._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0_zx69c._.js.map → 11mp_@anthropic-ai_sdk_01gyja3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gvxfg3._.js.map → 11mp_@anthropic-ai_sdk_02lx_j3._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0gx5t2l._.js.map → 11mp_@anthropic-ai_sdk_05iv23g._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0krkw4y._.js.map → 11mp_@anthropic-ai_sdk_05oneea._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0l0xzie._.js.map → 11mp_@anthropic-ai_sdk_07fgg-l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0pgjvhr._.js.map → 11mp_@anthropic-ai_sdk_0_5gzfy._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0r-keh6._.js.map → 11mp_@anthropic-ai_sdk_0_jynr-._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0tvfbjt._.js.map → 11mp_@anthropic-ai_sdk_0aykesf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0u4b8_f._.js.map → 11mp_@anthropic-ai_sdk_0br_1fc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0ud37xh._.js.map → 11mp_@anthropic-ai_sdk_0cd5lu7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0v3ar-t._.js.map → 11mp_@anthropic-ai_sdk_0ckxhy7._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wk0b65._.js.map → 11mp_@anthropic-ai_sdk_0e5qkuv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wqkd2r._.js.map → 11mp_@anthropic-ai_sdk_0el8pm6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0wypotx._.js.map → 11mp_@anthropic-ai_sdk_0i4w8fv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0yuq-9s._.js.map → 11mp_@anthropic-ai_sdk_0i7ckik._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_0z-e57x._.js.map → 11mp_@anthropic-ai_sdk_0l1p4c6._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_108ltz4._.js.map → 11mp_@anthropic-ai_sdk_0m-xqs_._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_10c_i6_._.js.map → 11mp_@anthropic-ai_sdk_0nltdmf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_14jogs8._.js.map → 11mp_@anthropic-ai_sdk_0qxmzg8._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_15u-n39._.js.map → 11mp_@anthropic-ai_sdk_0spr_aj._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_194ahxu._.js.map → 11mp_@anthropic-ai_sdk_0th0pyh._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ahph2t._.js.map → 11mp_@anthropic-ai_sdk_0x21fif._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1ajy77y._.js.map → 11mp_@anthropic-ai_sdk_1-7bj56._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1b57s9p._.js.map → 11mp_@anthropic-ai_sdk_1-efoj1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1brf2xn._.js.map → 11mp_@anthropic-ai_sdk_13vu693._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1btfw2x._.js.map → 11mp_@anthropic-ai_sdk_13w62gi._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1cyy_q6._.js.map → 11mp_@anthropic-ai_sdk_1887ce1._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1fz9fev._.js.map → 11mp_@anthropic-ai_sdk_1_jq3yb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1i_rz7h._.js.map → 11mp_@anthropic-ai_sdk_1agvp6h._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1it8zsv._.js.map → 11mp_@anthropic-ai_sdk_1b1-3vt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1jzusvd._.js.map → 11mp_@anthropic-ai_sdk_1ekldtb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1lfknr2._.js.map → 11mp_@anthropic-ai_sdk_1ezcndt._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1mewd-3._.js.map → 11mp_@anthropic-ai_sdk_1gr-orf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1mkm4u_._.js.map → 11mp_@anthropic-ai_sdk_1hf-884._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rggqq3._.js.map → 11mp_@anthropic-ai_sdk_1ndwnmb._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1rhjf1m._.js.map → 11mp_@anthropic-ai_sdk_1rdesfd._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1s6ks8c._.js.map → 11mp_@anthropic-ai_sdk_1s8h60-._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1u8z4hp._.js.map → 11mp_@anthropic-ai_sdk_1tgk9wk._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_1vyy3_4._.js.map → 11mp_@anthropic-ai_sdk_1uugb45._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_036bvwf._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_00nr0dy._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_046taqd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_06kgcr0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0bxad5f._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_07kod-g._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0g65abt._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0_va-1q._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_0pb9bu1._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0dr79hc._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_120-cio._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ew4_uw._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13uyu_v._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0iy714m._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_13x2ww0._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0n6aq49._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_17og64d._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ncvuil._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1e_sh4o._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0vilstf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1ecuo9i._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0ybdfbv._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1go8d0m._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0z31-c0._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1i13ryx._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_0zu51ny._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1jv_hid._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_13-fsm5._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1mh5mqk._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_13lk7wf._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1oq7e8u._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ao3e3l._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1p-cq-p._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1ck6z1z._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1the3g0._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1dm3so9._.js.map} +0 -0
- /package/.next/server/chunks/{11mp_@anthropic-ai_sdk_index_mjs_1xubh-w._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1jxtz_6._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__00o3mbd._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1pdl5qg._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__06z8i6e._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1tzpss1._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1kw2vct._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x_0sf4._.js.map} +0 -0
- /package/.next/server/chunks/{_next-internal_server_app_api_backlinks_route_actions_1_58m09.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1x_fy5x._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/0_nd_mermaid_dist_mermaid_core_mjs_0itmgkm._.js.map → 11mp_@anthropic-ai_sdk_index_mjs_1xx8_-m._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/1u84_katex_dist_katex_mjs_08jn-sj._.js.map → [root-of-the-server]__06ndlro._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__06dfvb0._.js.map → [root-of-the-server]__08v3p50._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__15jhpgl._.js.map → [root-of-the-server]__0cxmrop._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1-1hfrj._.js.map → [root-of-the-server]__0hk-9ll._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1gr4e22._.js.map → [root-of-the-server]__0i1yba1._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1h5hb6u._.js.map → [root-of-the-server]__0pz59qo._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__05tx02j._.js.map → [root-of-the-server]__0rikmqn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0p4w_o-._.js.map → [root-of-the-server]__0usdydm._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__09j_-hj._.js.map → [root-of-the-server]__0wc_gnr._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0kuhhna._.js.map → [root-of-the-server]__0xldguc._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/_1s2ya35._.js.map → [root-of-the-server]__0zy73pu._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__19w-7h9._.js.map → [root-of-the-server]__11rp-qx._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__01n_hoh._.js.map → [root-of-the-server]__1ef-hw_._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__076d4xm._.js.map → [root-of-the-server]__1qcy2l0._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1lt5cds._.js.map → [root-of-the-server]__1r67yrn._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1rjgpbm._.js.map → [root-of-the-server]__1sn6-7a._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1spley9._.js.map → [root-of-the-server]__1wbho9e._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__0uu9pgg._.js.map → [root-of-the-server]__1yh-4vk._.js.map} +0 -0
- /package/.next/server/chunks/{[root-of-the-server]__1e_o8h4._.js.map → [root-of-the-server]__1zhd93r._.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0iqb0_x._.js.map → _next-internal_server_app_api_docs_graph_route_actions_1nzoqf-.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0rsfj9v._.js.map → _next-internal_server_app_api_docs_links_route_actions_1q-6jeg.js.map} +0 -0
- /package/.next/server/chunks/{ssr/node_modules__pnpm_0s7j-tv._.js.map → _next-internal_server_app_api_memory_entries_merge_route_actions_1rr-wwt.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1fry8_2._.js.map → node_modules__pnpm_035haet._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0j7asqf._.js.map → node_modules__pnpm_03an60e._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0eub17j._.js.map → node_modules__pnpm_03mp7qw._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0_83tv8._.js.map → node_modules__pnpm_03mpmzx._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0e55e7-._.js.map → node_modules__pnpm_06_8fr8._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_16bj927._.js.map → node_modules__pnpm_09nd7ia._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1ch46nl._.js.map → node_modules__pnpm_0_e05ka._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_02p2rqs._.js.map → node_modules__pnpm_0iu4132._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0abf_e9._.js.map → node_modules__pnpm_0jampur._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1hqh95z._.js.map → node_modules__pnpm_0lkvbt-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_14j18h7._.js.map → node_modules__pnpm_0mqeoh-._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0v_mhl7._.js.map → node_modules__pnpm_0oyo3yo._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_00lsytc._.js.map → node_modules__pnpm_0rq9x9q._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0s63lee._.js.map → node_modules__pnpm_0tn5pg3._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0_ajzll._.js.map → node_modules__pnpm_0x5wj-4._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1gpkxns._.js.map → node_modules__pnpm_139-v1i._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1dc-yxd._.js.map → node_modules__pnpm_1i_chik._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_060kz-j._.js.map → node_modules__pnpm_1jgju12._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0up4z7m._.js.map → node_modules__pnpm_1n9oeu0._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_05-p8zy._.js.map → node_modules__pnpm_1ws3ez9._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0gp90ei._.js.map → node_modules__pnpm_1ydeqw6._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0jlzk5z._.js.map → node_modules__pnpm_1zme4rg._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_1oaf50x._.js.map → node_modules__pnpm_1zum4yd._.js.map} +0 -0
- /package/.next/server/chunks/ssr/{node_modules__pnpm_0vuao3_._.js.map → node_modules__pnpm_2045l51._.js.map} +0 -0
- /package/.next/static/{qCiKQ9_g49vaoQ-Fewybk → 5hNes2Kijr5IvUPPw-ez9}/_buildManifest.js +0 -0
- /package/.next/static/{qCiKQ9_g49vaoQ-Fewybk → 5hNes2Kijr5IvUPPw-ez9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{qCiKQ9_g49vaoQ-Fewybk → 5hNes2Kijr5IvUPPw-ez9}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
module.exports=[1351,e=>{"use strict";var t=e.i(233405),a=e.i(799501);let
|
|
1
|
+
module.exports=[1351,e=>{"use strict";var t=e.i(233405),a=e.i(799501),n=e.i(498768),r=e.i(31451),o=e.i(76569);let i=`You are the VibeDoc assistant, embedded in a docs/kanban web UI.
|
|
2
2
|
You can only act through the vibedoc_* MCP tools. To edit a doc: read it with vibedoc_read_doc,
|
|
3
3
|
then call vibedoc_propose_edit with only the spans that change (old_string → new_string), never the
|
|
4
4
|
whole file. The user reviews a diff and accepts or rejects it, so never claim an edit is applied until they say so.
|
|
5
5
|
For requests to plan a roadmap or break an epic into tasks, first call vibedoc_get_planning_guide and follow it.
|
|
6
|
-
Paths are relative to the project root. Keep replies short and answer in the user's language.`;async function n(e){let n=e.nextUrl.searchParams.get("root")||(0,a.getConfiguredRoot)(),{message:
|
|
6
|
+
Paths are relative to the project root. Keep replies short and answer in the user's language.`;function s(e){try{let t=JSON.parse(e);if(t?.type!=="assistant"||!Array.isArray(t.message?.content))return null;return t.message.content.filter(e=>e?.type==="text").map(e=>e.text??"").join("").trim()||null}catch{return null}}async function l(e,t,i,s){let l=await (0,a.readActivity)(e,2e3),d=(0,o.turnSessions)((0,r.groupSessions)(l),l,t).filter(e=>!(0,o.isHandoffWritten)(e,l));if(!d.length)return;let{tasks:c}=await (0,a.listTasks)(e),u=await (0,a.listEpisodes)(e),p=i?`chat ${i}`:"chat";for(let t of d){let r=t.tasks.filter(e=>"done"!==e.lastStatus&&"cancelled"!==e.lastStatus).map(e=>({id:e.id,title:c.find(t=>t.id===e.id)?.title??"",status:e.lastStatus})),i=(0,o.buildEpisode)(t,{source:(0,o.mergeSources)(u.find(e=>e.sessionId===t.id)?.source,p),agent:"claude-code",lastMessage:s,openTasks:r});if(!i)continue;let l=await (0,a.writeEpisode)({sessionId:t.id,markdown:i},e);(0,n.emitUpdate)("episode_saved",{sessionId:t.id,file:l})}}async function d(e){let n=e.nextUrl.searchParams.get("root")||(0,a.getConfiguredRoot)(),{message:r,sessionId:o,docPath:d,conversationId:c}=await e.json();if("string"!=typeof r||!r.trim())return Response.json({error:"message is required"},{status:400});let u=["-p",d?`[Currently open doc: ${d}]
|
|
7
7
|
|
|
8
|
-
${
|
|
8
|
+
${r}`:r,"--output-format","stream-json","--verbose","--include-partial-messages","--mcp-config",JSON.stringify({mcpServers:{vibedoc:{type:"http",url:`${e.nextUrl.origin}/api/mcp?root=${encodeURIComponent(n)}`}}}),"--strict-mcp-config","--tools","","--allowedTools","mcp__vibedoc__*","--disallowedTools","mcp__vibedoc__vibedoc_write_doc","mcp__vibedoc__vibedoc_append_doc","mcp__vibedoc__vibedoc_delete_doc","mcp__vibedoc__vibedoc_create_roadmap_item","mcp__vibedoc__vibedoc_delete_entry","--setting-sources","","--disable-slash-commands","--append-system-prompt",i];"string"==typeof o&&o&&u.push("--resume",o);let p={...process.env};delete p.ANTHROPIC_API_KEY;let h=new TextEncoder;return new Response(new ReadableStream({start(a){let r,o=new Date().toISOString(),i=(0,t.spawn)("claude",u,{cwd:n,env:p,stdio:["ignore","pipe","pipe"]}),d="",m="",v=!1,g=e=>{v||a.enqueue(h.encode(e))},f=()=>{v||(v=!0,a.close())},R=e=>g(JSON.stringify({type:"error",message:e})+"\n");i.stdout.on("data",e=>{let t=e.toString("utf8");g(t);let a=(m+t).split("\n");for(let e of(m=a.pop()??"",a))r=s(e)??r}),i.stderr.on("data",e=>{d+=e.toString("utf8")}),i.on("error",e=>{R("ENOENT"===e.code?"Claude Code CLI not found on PATH. Install it and run `claude` once to log in.":e.message),f()}),i.on("close",e=>{0!==e&&null!==e&&R(d.trim()||`claude exited with code ${e}`),f(),l(n,o,"string"==typeof c?c:null,r=s(m)??r).catch(e=>console.warn(`[vibedoc] episode not written: ${e.message}`))}),e.signal.addEventListener("abort",()=>{i.kill("SIGTERM"),f()})}}),{headers:{"Content-Type":"application/x-ndjson","Cache-Control":"no-cache, no-transform"}})}e.s(["POST",0,d,"dynamic",0,"force-dynamic","runtime",0,"nodejs"])},756173,e=>{"use strict";var t=e.i(440807),a=e.i(381144),n=e.i(522639),r=e.i(165892),o=e.i(781831),i=e.i(740095),s=e.i(931106),l=e.i(253258),d=e.i(488026),c=e.i(571998),u=e.i(666314),p=e.i(598783),h=e.i(759703),m=e.i(163677),v=e.i(450859),g=e.i(193695);e.i(582432);var f=e.i(274687);let R=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/chat/route",pathname:"/api/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/chat/route.ts",nextConfigOutput:"",userland:()=>e.r(1351),...{}}),{workAsyncStorage:_,workUnitAsyncStorage:w,serverHooks:y}=R;async function b(e,t,n){n.requestMeta&&(0,r.setRequestMeta)(e,n.requestMeta),R.isDev&&(0,r.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let _="/api/chat/route";_=_.replace(/\/index$/,"")||"/";let w=await R.prepare(e,t,{srcPage:_,multiZoneDraftMode:!1});if(!w)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:y,deploymentId:b,params:C,nextConfig:E,parsedUrl:S,isDraftMode:T,prerenderManifest:x,routerServerContext:A,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,resolvedPathname:I,clientReferenceManifest:O,serverActionsManifest:q}=w,H=(0,s.normalizeAppPath)(_),U=!!(x.dynamicRoutes[H]||x.routes[I]),k=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if(U&&!T){let e=!!x.routes[I],t=x.dynamicRoutes[H];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await k();throw new g.NoFallbackError}}let M=null;!U||R.isDev||T||(M="/index"===(M=I)?"/":M);let j=!0===R.isDev||!U,D=U&&!j;q&&O&&(0,i.setManifestsSingleton)({page:_,clientReferenceManifest:O,serverActionsManifest:q});let $=e.method||"GET",K=(0,o.getTracer)(),F=K.getActiveScopeSpan(),L=!!(null==A?void 0:A.isWrappedByNextServer),B=!!(0,r.getRequestMeta)(e,"minimalMode"),G=(0,r.getRequestMeta)(e,"incrementalCache")||await R.getIncrementalCache(e,E,x,B);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let V={params:C,previewProps:x.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts,useCacheTimeout:E.experimental.useCacheTimeout},cacheComponents:!!E.cacheComponents,validationLevel:E.experimental.instantInsights.validationLevel,supportsDynamicResponse:j,incrementalCache:G,hmrRefreshHash:(0,r.getRequestMeta)(e,"hmrRefreshHash"),cacheLifeProfiles:E.cacheLife,staticPageGenerationTimeout:E.staticPageGenerationTimeout,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,n,r)=>R.onRequestError(e,t,n,r,A)},sharedContext:{buildId:y,deploymentId:b}},J=new l.NodeNextRequest(e),W=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t)),Y=async({previousCacheEntry:a})=>{try{if(!B&&P&&N&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await R.handle(X,V);e.fetchMetrics=V.renderOpts.fetchMetrics;let o=V.renderOpts.pendingWaitUntil;o&&n.waitUntil&&(n.waitUntil(o),o=void 0);let i=V.renderOpts.collectedTags;if(!U)return await (0,p.sendResponse)(J,W,r,o),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);i&&(t[v.NEXT_CACHE_TAGS_HEADER]=i),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,n=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=v.INFINITE_CACHE?!1!==a&&a>0?E.expireTime:void 0:V.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:n}}}}catch(t){throw(null==a?void 0:a.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),t}},z=async(r,i)=>{try{var s,l;let r=await R.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:x,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:N,responseGenerator:Y,waitUntil:n.waitUntil,isMinimalMode:B});if(!U)return;if((null==r||null==(s=r.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==r||null==(l=r.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":r.isMiss?"MISS":r.isStale?"STALE":"HIT"),T&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let o=(0,h.fromNodeOutgoingHttpHeaders)(r.value.headers);B&&U||o.delete(v.NEXT_CACHE_TAGS_HEADER),!r.cacheControl||t.getHeader("Cache-Control")||o.get("Cache-Control")||o.set("Cache-Control",(0,m.getCacheControlHeader)(r.cacheControl)),await (0,p.sendResponse)(J,W,new Response(r.value.body,{headers:o,status:r.value.status||200}));return}catch(t){if(t instanceof g.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isStaticGeneration:D,isOnDemandRevalidate:P})},!1,A),U)throw t;await (0,p.sendResponse)(J,W,new Response(null,{status:500}));return}finally{(()=>{if(!r)return;let e=t.statusCode;r.setAttributes({"http.status_code":e,"next.rsc":!1}),e&&e>=500&&(r.setStatus({code:o.SpanStatusCode.ERROR}),r.setAttribute("error.type",e.toString()));let a=K.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==c.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=a.get("next.route")||H,s=`${$} ${n}`;r.setAttributes({"next.route":n,"http.route":n,"next.span_name":s}),r.updateName(s),i&&i!==r&&(i.setAttribute("http.route",n),i.updateName(s))})()}};if(L&&F)await z(F,void 0);else{let t=K.getActiveScopeSpan();await K.withPropagatedContext(e.headers,()=>K.trace(c.BaseServerSpan.handleRequest,{spanName:`${$} ${_}`,kind:o.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},e=>z(e,t)),void 0,!L)}}e.s(["handler",0,b,"patchFetch",0,function(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:w})},"routeModule",0,R,"serverHooks",0,y,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,w])}];
|
|
9
9
|
|
|
10
10
|
//# sourceMappingURL=_0safx0g._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/app/api/chat/route.ts","../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["/**\n * /api/chat\n *\n * Chat with an agent from the UI, billed to the local Claude Code login (OpenClaw-style).\n * Spawns `claude -p` per turn and pipes its stream-json (NDJSON) output to the browser.\n * Native tools are disabled: the agent can only use VibeDoc's own MCP tools, so every\n * write goes through core.ts and emits SSE updates like any other MCP client.\n */\n\nimport { NextRequest } from 'next/server'\nimport { spawn } from 'child_process'\nimport { getConfiguredRoot } from '@/lib/core'\n\nexport const dynamic = 'force-dynamic'\nexport const runtime = 'nodejs'\n\nconst SYSTEM_PROMPT = `You are the VibeDoc assistant, embedded in a docs/kanban web UI.\nYou can only act through the vibedoc_* MCP tools. To edit a doc: read it with vibedoc_read_doc,\nthen call vibedoc_propose_edit with only the spans that change (old_string → new_string), never the\nwhole file. The user reviews a diff and accepts or rejects it, so never claim an edit is applied until they say so.\nFor requests to plan a roadmap or break an epic into tasks, first call vibedoc_get_planning_guide and follow it.\nPaths are relative to the project root. Keep replies short and answer in the user's language.`\n\nexport async function POST(req: NextRequest) {\n const root = req.nextUrl.searchParams.get('root') || getConfiguredRoot()\n const { message, sessionId, docPath } = await req.json()\n if (typeof message !== 'string' || !message.trim()) {\n return Response.json({ error: 'message is required' }, { status: 400 })\n }\n\n // Doc context goes in the user turn, not the system prompt: resumed sessions reuse the first system prompt.\n const prompt = docPath ? `[Currently open doc: ${docPath}]\\n\\n${message}` : message\n const mcpUrl = `${req.nextUrl.origin}/api/mcp?root=${encodeURIComponent(root)}`\n\n const args = [\n '-p', prompt,\n '--output-format', 'stream-json', '--verbose', '--include-partial-messages',\n '--mcp-config', JSON.stringify({ mcpServers: { vibedoc: { type: 'http', url: mcpUrl } } }),\n '--strict-mcp-config',\n '--tools', '',\n '--allowedTools', 'mcp__vibedoc__*',\n // Content edits must go through vibedoc_propose_edit so the user reviews a diff first; -p can't prompt for deletes.\n // Roadmap items go through vibedoc_propose_plan for the same reason (the planning skill otherwise creates them directly).\n '--disallowedTools', 'mcp__vibedoc__vibedoc_write_doc', 'mcp__vibedoc__vibedoc_append_doc', 'mcp__vibedoc__vibedoc_delete_doc',\n 'mcp__vibedoc__vibedoc_create_roadmap_item', 'mcp__vibedoc__vibedoc_delete_entry',\n '--setting-sources', '',\n '--disable-slash-commands',\n '--append-system-prompt', SYSTEM_PROMPT,\n ]\n if (typeof sessionId === 'string' && sessionId) args.push('--resume', sessionId)\n\n // Without an API key in env, the CLI falls back to the user's claude.ai login (subscription).\n const env = { ...process.env }\n delete env.ANTHROPIC_API_KEY\n\n const encoder = new TextEncoder()\n const stream = new ReadableStream({\n start(controller) {\n const child = spawn('claude', args, { cwd: root, env, stdio: ['ignore', 'pipe', 'pipe'] })\n let stderr = ''\n let closed = false\n const send = (line: string) => { if (!closed) controller.enqueue(encoder.encode(line)) }\n const close = () => { if (!closed) { closed = true; controller.close() } }\n const fail = (message: string) => send(JSON.stringify({ type: 'error', message }) + '\\n')\n\n child.stdout.on('data', (chunk: Buffer) => send(chunk.toString('utf8')))\n child.stderr.on('data', (chunk: Buffer) => { stderr += chunk.toString('utf8') })\n child.on('error', (e: NodeJS.ErrnoException) => {\n fail(e.code === 'ENOENT' ? 'Claude Code CLI not found on PATH. Install it and run `claude` once to log in.' : e.message)\n close()\n })\n child.on('close', (code) => {\n if (code !== 0 && code !== null) fail(stderr.trim() || `claude exited with code ${code}`)\n close()\n })\n req.signal.addEventListener('abort', () => { child.kill('SIGTERM'); close() })\n },\n })\n\n return new Response(stream, {\n headers: { 'Content-Type': 'application/x-ndjson', 'Cache-Control': 'no-cache, no-transform' },\n })\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await routeModule.handle(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n"],"names":["dynamic","runtime","SYSTEM_PROMPT","POST","req","root","nextUrl","searchParams","get","message","sessionId","docPath","json","trim","Response","error","status","prompt","mcpUrl","origin","encodeURIComponent","args","JSON","stringify","mcpServers","vibedoc","type","url","push","env","process","ANTHROPIC_API_KEY","encoder","TextEncoder","stream","ReadableStream","start","controller","child","cwd","stdio","stderr","closed","send","line","enqueue","encode","close","fail","stdout","on","chunk","toString","e","code","signal","addEventListener","kill","headers","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","Error","isMiss","delete","getHeader","set","setAttributes","setStatus","ERROR","setAttribute","rootSpanAttributes","getRootSpanAttributes","handleRequest","console","warn","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","span"],"mappings":"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","ignoreList":[1]}
|
|
1
|
+
{"version":3,"sources":["../../../src/app/api/chat/route.ts","../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["/**\n * /api/chat\n *\n * Chat with an agent from the UI, billed to the local Claude Code login (OpenClaw-style).\n * Spawns `claude -p` per turn and pipes its stream-json (NDJSON) output to the browser.\n * Native tools are disabled: the agent can only use VibeDoc's own MCP tools, so every\n * write goes through core.ts and emits SSE updates like any other MCP client.\n */\n\nimport { NextRequest } from 'next/server'\nimport { spawn } from 'child_process'\nimport { getConfiguredRoot, listEpisodes, listTasks, readActivity, writeEpisode } from '@/lib/core'\nimport { emitUpdate } from '@/lib/events'\nimport { groupSessions } from '@/lib/sessions'\nimport { buildEpisode, isHandoffWritten, mergeSources, turnSessions } from '@/lib/episodes'\n\nexport const dynamic = 'force-dynamic'\nexport const runtime = 'nodejs'\n\nconst SYSTEM_PROMPT = `You are the VibeDoc assistant, embedded in a docs/kanban web UI.\nYou can only act through the vibedoc_* MCP tools. To edit a doc: read it with vibedoc_read_doc,\nthen call vibedoc_propose_edit with only the spans that change (old_string → new_string), never the\nwhole file. The user reviews a diff and accepts or rejects it, so never claim an edit is applied until they say so.\nFor requests to plan a roadmap or break an epic into tasks, first call vibedoc_get_planning_guide and follow it.\nPaths are relative to the project root. Keep replies short and answer in the user's language.`\n\nconst EPISODE_LOOKBACK = 2000 // the whole activity log (ACTIVITY_CAP)\n\n/** Last assistant text in a stream-json line, or null. */\nfunction assistantText(line: string): string | null {\n try {\n const ev = JSON.parse(line)\n if (ev?.type !== 'assistant' || !Array.isArray(ev.message?.content)) return null\n const text = ev.message.content.filter((b: { type?: string }) => b?.type === 'text').map((b: { text?: string }) => b.text ?? '').join('').trim()\n return text || null\n } catch {\n return null\n }\n}\n\n/**\n * R050: each agent session this turn touched that has no MEMORY.md handoff gets `.vibedoc/episodes/<id>.md`.\n * The reply comes from the stream, not the saved chat: the browser saves the chat only after this stream ends.\n */\n// ponytail: agent sessions are per root+actor (stampSession), so chats in one 30-min window share a session and its episode:\n// Source lists every chat that wrote into it, the last turn to end writes its reply, and external `ai` agents still fold in.\n// Upgrade path: stamp chat MCP calls with their own session id.\nasync function writeTurnEpisodes(root: string, since: string, conversationId: string | null, lastMessage: string | undefined) {\n const events = await readActivity(root, EPISODE_LOOKBACK)\n const sessions = turnSessions(groupSessions(events), events, since).filter(s => !isHandoffWritten(s, events))\n if (!sessions.length) return\n const { tasks } = await listTasks(root)\n const prev = await listEpisodes(root)\n const source = conversationId ? `chat ${conversationId}` : 'chat'\n for (const s of sessions) {\n const openTasks = s.tasks\n .filter(t => t.lastStatus !== 'done' && t.lastStatus !== 'cancelled')\n .map(t => ({ id: t.id, title: tasks.find(x => x.id === t.id)?.title ?? '', status: t.lastStatus }))\n const markdown = buildEpisode(s, { source: mergeSources(prev.find(e => e.sessionId === s.id)?.source, source), agent: 'claude-code', lastMessage, openTasks })\n if (!markdown) continue\n const file = await writeEpisode({ sessionId: s.id, markdown }, root)\n emitUpdate('episode_saved', { sessionId: s.id, file })\n }\n}\n\nexport async function POST(req: NextRequest) {\n const root = req.nextUrl.searchParams.get('root') || getConfiguredRoot()\n const { message, sessionId, docPath, conversationId } = await req.json()\n if (typeof message !== 'string' || !message.trim()) {\n return Response.json({ error: 'message is required' }, { status: 400 })\n }\n\n // Doc context goes in the user turn, not the system prompt: resumed sessions reuse the first system prompt.\n const prompt = docPath ? `[Currently open doc: ${docPath}]\\n\\n${message}` : message\n const mcpUrl = `${req.nextUrl.origin}/api/mcp?root=${encodeURIComponent(root)}`\n\n const args = [\n '-p', prompt,\n '--output-format', 'stream-json', '--verbose', '--include-partial-messages',\n '--mcp-config', JSON.stringify({ mcpServers: { vibedoc: { type: 'http', url: mcpUrl } } }),\n '--strict-mcp-config',\n '--tools', '',\n '--allowedTools', 'mcp__vibedoc__*',\n // Content edits must go through vibedoc_propose_edit so the user reviews a diff first; -p can't prompt for deletes.\n // Roadmap items go through vibedoc_propose_plan for the same reason (the planning skill otherwise creates them directly).\n '--disallowedTools', 'mcp__vibedoc__vibedoc_write_doc', 'mcp__vibedoc__vibedoc_append_doc', 'mcp__vibedoc__vibedoc_delete_doc',\n 'mcp__vibedoc__vibedoc_create_roadmap_item', 'mcp__vibedoc__vibedoc_delete_entry',\n '--setting-sources', '',\n '--disable-slash-commands',\n '--append-system-prompt', SYSTEM_PROMPT,\n ]\n if (typeof sessionId === 'string' && sessionId) args.push('--resume', sessionId)\n\n // Without an API key in env, the CLI falls back to the user's claude.ai login (subscription).\n const env = { ...process.env }\n delete env.ANTHROPIC_API_KEY\n\n const encoder = new TextEncoder()\n const stream = new ReadableStream({\n start(controller) {\n const since = new Date().toISOString()\n const child = spawn('claude', args, { cwd: root, env, stdio: ['ignore', 'pipe', 'pipe'] })\n let stderr = ''\n let pending = ''\n let lastMessage: string | undefined\n let closed = false\n const send = (line: string) => { if (!closed) controller.enqueue(encoder.encode(line)) }\n const close = () => { if (!closed) { closed = true; controller.close() } }\n const fail = (message: string) => send(JSON.stringify({ type: 'error', message }) + '\\n')\n\n child.stdout.on('data', (chunk: Buffer) => {\n const text = chunk.toString('utf8')\n send(text)\n const lines = (pending + text).split('\\n')\n pending = lines.pop() ?? ''\n for (const line of lines) lastMessage = assistantText(line) ?? lastMessage\n })\n child.stderr.on('data', (chunk: Buffer) => { stderr += chunk.toString('utf8') })\n child.on('error', (e: NodeJS.ErrnoException) => {\n fail(e.code === 'ENOENT' ? 'Claude Code CLI not found on PATH. Install it and run `claude` once to log in.' : e.message)\n close()\n })\n child.on('close', (code) => {\n if (code !== 0 && code !== null) fail(stderr.trim() || `claude exited with code ${code}`)\n close()\n lastMessage = assistantText(pending) ?? lastMessage\n writeTurnEpisodes(root, since, typeof conversationId === 'string' ? conversationId : null, lastMessage)\n .catch(e => console.warn(`[vibedoc] episode not written: ${(e as Error).message}`))\n })\n req.signal.addEventListener('abort', () => { child.kill('SIGTERM'); close() })\n },\n })\n\n return new Response(stream, {\n headers: { 'Content-Type': 'application/x-ndjson', 'Cache-Control': 'no-cache, no-transform' },\n })\n}\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport {\n getTracer,\n type Span,\n SpanKind,\n SpanStatusCode,\n} from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The lazy require factory ensures that:\n // - In dev: devRequestTimingInternalsEnd is set before userland executes,\n // correctly attributing module load time to application-code rather than\n // framework internals.\n // - In all modes: async modules (route files with top-level await) are\n // handled correctly — require() returns a Promise for such modules, which\n // ensureUserland() awaits before the first request is handled.\n userland: () => require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n // In Turbopack dev mode, also provide a synchronous per-request getter so\n // server HMR updates are picked up without re-executing the entry chunk.\n // Using require() (synchronous) avoids adding async overhead that would be\n // incorrectly attributed to application-code time in devRequestTiming.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () =>\n require('VAR_USERLAND') as typeof import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n useCacheTimeout: nextConfig.experimental.useCacheTimeout,\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n validationLevel: nextConfig.experimental.instantInsights.validationLevel,\n supportsDynamicResponse,\n incrementalCache,\n hmrRefreshHash: getRequestMeta(req, 'hmrRefreshHash'),\n cacheLifeProfiles: nextConfig.cacheLife,\n staticPageGenerationTimeout: nextConfig.staticPageGenerationTimeout,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await routeModule.handle(nextReq, context)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? // Fall back to the global `expireTime` config when the\n // route has a numeric `revalidate` but didn't declare an\n // explicit `expire` (e.g. via `cacheLife`). This mirrors the\n // build-time fallback in `build/index.ts` so cache entries\n // and the response Cache-Control header agree on the route's\n // effective expire. Routes that opt out of revalidation\n // (`revalidate: false`) or that are dynamic (`revalidate: 0`)\n // keep `expire: undefined`.\n revalidate !== false && revalidate > 0\n ? nextConfig.expireTime\n : undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, pendingWaitUntil)\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const handleResponse = async (\n currentSpan: Span | undefined,\n parentSpan: Span | undefined\n ) => {\n try {\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return\n } finally {\n ;(() => {\n if (!currentSpan) {\n return\n }\n\n let statusCode = res.statusCode\n\n currentSpan.setAttributes({\n 'http.status_code': statusCode,\n 'next.rsc': false,\n })\n\n if (statusCode && statusCode >= 500) {\n // For 5xx status codes: SHOULD be set to 'Error' span status.\n // x-ref: https://opentelemetry.io/docs/specs/semconv/http/http-spans/#status\n currentSpan.setStatus({\n code: SpanStatusCode.ERROR,\n })\n // For span status 'Error', SHOULD set 'error.type' attribute.\n currentSpan.setAttribute('error.type', statusCode.toString())\n }\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route') || normalizedSrcPage\n const name = `${method} ${route}`\n\n currentSpan.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n currentSpan.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== currentSpan) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n })()\n }\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan, undefined)\n } else {\n let parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n (span) => handleResponse(span, parentSpan)\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n}\n"],"names":["dynamic","runtime","SYSTEM_PROMPT","EPISODE_LOOKBACK","assistantText","line","ev","JSON","parse","type","Array","isArray","message","content","text","filter","b","map","join","trim","writeTurnEpisodes","root","since","conversationId","lastMessage","events","sessions","s","length","tasks","prev","source","openTasks","t","lastStatus","id","title","find","x","status","markdown","e","sessionId","agent","file","POST","req","nextUrl","searchParams","get","docPath","json","Response","error","prompt","mcpUrl","origin","encodeURIComponent","args","stringify","mcpServers","vibedoc","url","push","env","process","ANTHROPIC_API_KEY","encoder","TextEncoder","stream","ReadableStream","start","controller","Date","toISOString","child","cwd","stdio","stderr","pending","closed","send","enqueue","encode","close","fail","stdout","on","chunk","toString","lines","split","pop","code","catch","console","warn","signal","addEventListener","kill","headers","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","SpanStatusCode","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","userland","require","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","handler","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","Boolean","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","useCacheTimeout","cacheComponents","validationLevel","instantInsights","hmrRefreshHash","cacheLifeProfiles","cacheLife","staticPageGenerationTimeout","onClose","cb","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","responseGenerator","previousCacheEntry","setHeader","response","handle","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","revalidate","collectedRevalidate","expire","collectedExpire","expireTime","cacheEntry","value","body","Buffer","from","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","handleResponse","currentSpan","parentSpan","routeKind","isFallback","isRoutePPREnabled","Error","isMiss","delete","getHeader","set","setAttributes","setStatus","ERROR","setAttribute","rootSpanAttributes","getRootSpanAttributes","handleRequest","route","name","updateName","withPropagatedContext","trace","spanName","SERVER","attributes","span"],"mappings":"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","ignoreList":[1]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
package/.next/server/chunks/_next-internal_server_app_api_memory_health_route_actions_1lk-_5d.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[375102,a=>{a.v(b=>Promise.all(["server/chunks/ssr/
|
|
1
|
+
module.exports=[375102,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules__pnpm_0x5wj-4._.js","server/chunks/ssr/node_modules__pnpm_1i0y5-9._.js","server/chunks/ssr/node_modules__pnpm_06wwby6._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-ZIGJFQKS_mjs_1zrfev2._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-MBY4JIJT_mjs_177netf._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-UA2S7LBM_mjs_12azvn5._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-O7XYJQB3_mjs_1q7gem7._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-7INBJB4K_mjs_0-khcme._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-LNGE3PJU_mjs_0gn3urr._.js","server/chunks/ssr/0_nd_mermaid_dist_chunks_mermaid_core_chunk-Z7XXMR3K_mjs_1v-ak7s._.js","server/chunks/ssr/node_modules__pnpm_18s99g2._.js","server/chunks/ssr/0_nd_mermaid_dist_mermaid_core_mjs_1aoxgc5._.js","server/chunks/ssr/0upk_roughjs_bundled_rough_esm_0vflsuc.js"].map(b=>a.l(b))).then(()=>b(831615)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=0_nd_mermaid_dist_mermaid_core_mjs_0y_edkq._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module.exports=[389424,a=>{a.v(b=>Promise.all(["server/chunks/ssr/1u84_katex_dist_katex_mjs_1sth3te._.js"].map(b=>a.l(b))).then(()=>b(706823)))}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=1u84_katex_dist_katex_mjs_0yg8zto._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[193695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},249194,a=>{"use strict";var b=a.i(463868),c=a.i(423492),d=a.i(779490);a.i(662493);let e=(0,b.instrumentModuleGetter)(()=>a.r(650645)),f=(0,b.instrumentModuleGetter)(()=>a.r(105641)),g=(0,b.instrumentModuleGetter)(()=>a.r(691475)),h=(0,b.instrumentModuleGetter)(()=>a.r(232017)),i=(0,b.instrumentModuleGetter)(()=>a.r(569264)),j=(0,b.instrumentModuleGetter)(()=>a.r(93240)),k=(0,b.instrumentModuleGetter)(()=>a.r(942888)),l=(0,b.instrumentModuleGetter)(()=>a.r(105641)),m=(0,b.instrumentModuleGetter)(()=>a.r(691475)),n=(0,b.instrumentModuleGetter)(()=>a.r(232017)),o=["",{children:["(app)",{children:["graph",{children:["__PAGE__",{},{metadata:{},page:[(0,b.instrumentModuleGetter)(()=>a.r(230742)),"[project]/src/app/(app)/graph/page.tsx"]},[]]},{metadata:{}},[]]},{metadata:{},layout:[j,"[project]/src/app/(app)/layout.tsx"],error:[k,"[project]/src/app/(app)/error.tsx"],"not-found":[l,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[m,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[n,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/unauthorized.js"]},[]]},{layout:[e,"[project]/src/app/layout.tsx"],"not-found":[f,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/not-found.js"],forbidden:[g,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/forbidden.js"],unauthorized:[h,"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/unauthorized.js"],"global-error":[i,"[project]/src/app/global-error.tsx"]},[]],p=a.r.bind(a),q=a.l.bind(a),r=(0,c.createAppPageEntrypoint)({tree:o,page:"/(app)/graph/page",pathname:"/graph",require:p,loadChunk:q,interopDefault:d.interopDefault}),s=r.__next_app__,t=r.routeModule,u=r.handler;a.s(["__next_app__",0,s,"handler",0,u,"routeModule",0,t],744012),a.i(744012);var v=a.i(529772);a.s(["ClientPageRoot",()=>v.ClientPageRoot,"ClientSegmentRoot",()=>v.ClientSegmentRoot,"Fragment",()=>v.Fragment,"HTTPAccessFallbackBoundary",()=>v.HTTPAccessFallbackBoundary,"InstantValidation",()=>v.InstantValidation,"LayoutRouter",()=>v.LayoutRouter,"LoadingBoundaryProvider",()=>v.LoadingBoundaryProvider,"Postpone",()=>v.Postpone,"RenderFromTemplateContext",()=>v.RenderFromTemplateContext,"RootLayoutBoundary",()=>v.RootLayoutBoundary,"SegmentViewNode",()=>v.SegmentViewNode,"SegmentViewStateNode",()=>v.SegmentViewStateNode,"__next_app__",0,s,"captureOwnerStack",()=>v.captureOwnerStack,"collectPrefetchHints",()=>v.collectPrefetchHints,"collectSegmentData",()=>v.collectSegmentData,"createElement",()=>v.createElement,"createMetadataComponents",()=>v.createMetadataComponents,"createPrerenderParamsForClientSegment",()=>v.createPrerenderParamsForClientSegment,"createPrerenderSearchParamsForClientPage",()=>v.createPrerenderSearchParamsForClientPage,"createServerParamsForServerSegment",()=>v.createServerParamsForServerSegment,"createServerSearchParamsForServerPage",()=>v.createServerSearchParamsForServerPage,"createTemporaryReferenceSet",()=>v.createTemporaryReferenceSet,"decodeAction",()=>v.decodeAction,"decodeFormState",()=>v.decodeFormState,"decodeReply",()=>v.decodeReply,"handler",0,u,"isEmptyHTMLPrelude",()=>v.isEmptyHTMLPrelude,"patchFetch",()=>v.patchFetch,"preconnect",()=>v.preconnect,"preloadFont",()=>v.preloadFont,"preloadStyle",()=>v.preloadStyle,"prerender",()=>v.prerender,"prerenderToNodeStream",()=>v.prerenderToNodeStream,"renderToPipeableStream",()=>v.renderToPipeableStream,"renderToReadableStream",()=>v.renderToReadableStream,"routeModule",0,t,"serverHooks",()=>v.serverHooks,"taintObjectReference",()=>v.taintObjectReference],249194)},746003,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(887744).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/app/(app)/graph/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/app/(app)/graph/page.tsx","default")},276108,a=>{"use strict";var b=a.i(746003);a.n(b)},230742,function(a){a.n(a.i(276108))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__1drc5py._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/next%4016.3.6_%40babel%2Bcore%407.29.7_%40types%2Bnode%4022.20.4_react-dom%4019.3.0_react%4019.3.0__react%4019.3.0/node_modules/next/dist/esm/build/templates/app-page.js%3Fpage%3D/%28app%29/graph/page","../../../../src/app/%28app%29/graph/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["import { instrumentModuleGetter } from \"next/dist/server/app-render/module-loading/instrument-module-getter\";\nconst __TURBOPACK__layout__$23$0__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_0\"));\nconst __TURBOPACK__not$2d$found__$23$1__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_1\"));\nconst __TURBOPACK__forbidden__$23$2__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_2\"));\nconst __TURBOPACK__unauthorized__$23$3__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_3\"));\nconst __TURBOPACK__global$2d$error__$23$4__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_4\"));\nconst __TURBOPACK__layout__$23$5__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_5\"));\nconst __TURBOPACK__error__$23$6__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_6\"));\nconst __TURBOPACK__not$2d$found__$23$7__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_7\"));\nconst __TURBOPACK__forbidden__$23$8__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_8\"));\nconst __TURBOPACK__unauthorized__$23$9__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_9\"));\nconst __TURBOPACK__page__$23$10__ = instrumentModuleGetter(() => require(/*turbopackChunkingType: shared*/\"MODULE_10\"));\nimport { createAppPageEntrypoint } from \"next/dist/esm/build/templates/app-page-runtime\";\nimport { interopDefault } from \"next/dist/esm/server/app-render/interop-default\" with {\n 'turbopack-transition': 'next-server-utility'\n};\nconst tree = [\"\", {\n\"children\": [\"(app)\", {\n\"children\": [\"graph\", {\n\"children\": [\"__PAGE__\", {\n}, {\n metadata: { }, \"page\": [__TURBOPACK__page__$23$10__, \"[project]/src/app/(app)/graph/page.tsx\"],\n}, []],\n}, {\n metadata: { },}, []],\n}, {\n metadata: { }, \"layout\": [__TURBOPACK__layout__$23$5__, \"[project]/src/app/(app)/layout.tsx\"],\n \"error\": [__TURBOPACK__error__$23$6__, \"[project]/src/app/(app)/error.tsx\"],\n \"not-found\": [__TURBOPACK__not$2d$found__$23$7__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/not-found.js\"],\n \"forbidden\": [__TURBOPACK__forbidden__$23$8__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/forbidden.js\"],\n \"unauthorized\": [__TURBOPACK__unauthorized__$23$9__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/unauthorized.js\"],\n}, []],\n}, {\n \"layout\": [__TURBOPACK__layout__$23$0__, \"[project]/src/app/layout.tsx\"],\n \"not-found\": [__TURBOPACK__not$2d$found__$23$1__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/not-found.js\"],\n \"forbidden\": [__TURBOPACK__forbidden__$23$2__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/forbidden.js\"],\n \"unauthorized\": [__TURBOPACK__unauthorized__$23$3__, \"[project]/node_modules/.pnpm/next@16.3.6_@babel+core@7.29.7_@types+node@22.20.4_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/next/dist/client/components/builtin/unauthorized.js\"],\n \"global-error\": [__TURBOPACK__global$2d$error__$23$4__, \"[project]/src/app/global-error.tsx\"],\n}, []]\nconst __next_app_require__ = __turbopack_context__.r.bind(__turbopack_context__)\nconst __next_app_load_chunk__ = __turbopack_context__.l.bind(__turbopack_context__)\nconst entrypoint = createAppPageEntrypoint({\n tree,\n page: \"/(app)/graph/page\",\n pathname: \"/graph\",\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__,\n interopDefault\n});\nexport const __next_app__ = entrypoint.__next_app__;\nexport const routeModule = entrypoint.routeModule;\nexport const handler = entrypoint.handler;\nexport * from \"next/dist/esm/server/app-render/entry-base\" with {\n 'turbopack-transition': 'next-server-utility'\n};\n\n//# sourceMappingURL=app-page.js.map\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/src/app/(app)/graph/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/app/(app)/graph/page.tsx\",\n \"default\",\n);\n"],"names":["layout #0","not-found #1","forbidden #2","unauthorized #3","global-error #4","layout #5","error #6","not-found #7","forbidden #8","unauthorized #9","page #10","tree","metadata","__next_app_require__","__turbopack_context__","r","bind","__next_app_load_chunk__","l","entrypoint","page","pathname","require","loadChunk","interopDefault","__next_app__","routeModule","handler","Error"],"mappings":"gMAAA,IAAA,EAAA,EAAA,CAAA,CAAA,QAYA,EAAA,EAAA,CAAA,CAAA,QACA,EAAA,EAAA,CAAA,CAAA,QAuCA,EAAA,CAAA,CAAA,QAnDA,IAAMA,EAA+B,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SACtDC,EAAqC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAC5DC,EAAkC,CAAA,EAAA,EAAA,sBAAsB,AAAtB,EAAuB,IAAA,EAAA,CAAA,CAAA,SACzDC,EAAqC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAC5DC,EAAwC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAC/DC,EAA+B,CAAA,EAAA,EAAA,sBAAsB,AAAtB,EAAuB,IAAA,EAAA,CAAA,CAAA,QACtDC,EAA8B,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SACrDC,EAAqC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAC5DC,EAAkC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SACzDC,EAAqC,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAM5DE,EAAO,CAAC,GAAI,CAClB,SAAY,CAAC,QAAS,CACtB,SAAY,CAAC,QAAS,CACtB,SAAY,CAAC,WAAY,CACzB,EAAG,CACDC,SAAU,CAAG,EAAI,KAAQ,CAVS,CAAA,EAAA,EAAA,sBAAA,AAAsB,EAAC,IAAA,EAAA,CAAA,CAAA,SAUF,yCAAyC,AAClG,EAAG,EAAE,CAAC,AACN,EAAG,CACDA,SAAU,CAAG,CAAE,EAAG,EAAE,CAAC,AACvB,EAAG,CACDA,SAAU,CAAG,EAAI,OAAU,CAACP,EAA8B,qCAAqC,CAC/F,MAAS,CAACC,EAA6B,oCAAoC,CAC3E,YAAa,CAACC,EAAoC,4LAA4L,CAC9O,UAAa,CAACC,EAAiC,4LAA4L,CAC3O,aAAgB,CAACC,EAAoC,+LAA+L,AACtP,EAAG,EAAE,CAAC,AACN,EAAG,CACD,OAAU,CAACT,EAA8B,+BAA+B,CACxE,YAAa,CAACC,EAAoC,4LAA4L,CAC9O,UAAa,CAACC,EAAiC,4LAA4L,CAC3O,aAAgB,CAACC,EAAoC,+LAA+L,CACpP,eAAgB,CAACC,EAAuC,qCAAqC,AAC/F,EAAG,EAAE,CAAC,CACAS,EAAuBC,EAAsBC,CAAC,CAACC,IAAI,CAACF,GACpDG,EAA0BH,EAAsBI,CAAC,CAACF,IAAI,CAACF,GACvDK,EAAa,CAAA,EAAA,EAAA,uBAAA,AAAuB,EAAC,MACvCR,EACAS,KAAM,oBACNC,SAAU,SACVC,QAAST,EACTU,UAAWN,EACXO,eAAAA,EAAAA,cACJ,AADkB,GAELC,EAAeN,EAAWM,YAAY,CACtCC,EAAcP,EAAWO,WAAW,CACpCC,EAAUR,EAAWQ,OAAO,m4DCjD1B,CAAA,EADf,AACe,EADf,CAAA,CAAA,QACe,uBAAA,AAAuB,EAClC,WAAa,MAAM,AAAIC,MAAM,0QAA4Q,EACzS,yCACA","ignoreList":[0,1]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[195011,a=>{"use strict";var b=a.i(256857);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["ChevronsUpDown",0,d],195011)},19281,928501,877468,a=>{"use strict";var b=a.i(256857);let c={name:"waypoints",size:24,node:[["path",{d:"m10.586 5.414-5.172 5.172",key:"4mc350"}],["path",{d:"m18.586 13.414-5.172 5.172",key:"8c96vv"}],["path",{d:"M6 12h12",key:"8npq4p"}],["circle",{cx:"12",cy:"20",r:"2",key:"144qzu"}],["circle",{cx:"12",cy:"4",r:"2",key:"muu5ef"}],["circle",{cx:"20",cy:"12",r:"2",key:"1xzzfp"}],["circle",{cx:"4",cy:"12",r:"2",key:"1hvhnz"}]]};c.node;let d=(0,b.default)(c);a.s(["Waypoints",0,d],19281);var e=a.i(662145),f=a.i(174897),g=a.i(926128);let h={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};h.node;let i=(0,b.default)(h);a.s(["ArrowLeft",0,i],928501);var j=a.i(368114),k=a.i(814574),l=a.i(699570),m=a.i(866718),n=a.i(269876),o=a.i(694194);a.s(["NewDocModal",0,function({open:a,onOpenChange:b,rootParam:c,onDocCreated:d}){let[h,p]=(0,f.useState)(1),[q,r]=(0,f.useState)(null),[s,t]=(0,f.useState)(""),[u,v]=(0,f.useState)(""),[w,x]=(0,f.useState)(!1);async function y(){if(q&&s.trim()){v(""),x(!0);try{let a=await fetch(`/api/docs${c}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s.trim(),content:q.content})});if(409===a.status){v("File already exists"),x(!1);return}if(!a.ok){let b=await a.json();v(b.error||"Failed to create file"),x(!1);return}b(!1),d(s.trim())}catch{v("Network error"),x(!1)}}}return(0,f.useEffect)(()=>{a&&(p(1),r(null),t(""),v(""),x(!1))},[a]),(0,e.jsx)(k.Dialog,{open:a,onOpenChange:b,children:(0,e.jsxs)(k.DialogContent,{className:"max-w-2xl bg-surface border-border",children:[(0,e.jsx)(k.DialogHeader,{children:(0,e.jsx)(k.DialogTitle,{className:"text-txt text-sm font-semibold",children:1===h?"Choose a template":"Confirm file path"})}),1===h&&(0,e.jsx)(n.ScrollArea,{className:"max-h-[420px]",children:(0,e.jsx)("div",{className:"grid grid-cols-3 gap-2 p-1",children:o.TEMPLATES.map(a=>(0,e.jsxs)("button",{onClick:()=>{r(a),t(a.defaultPath),v(""),p(2)},className:(0,j.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,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(g.FileText,{className:"h-3.5 w-3.5 text-accent shrink-0"}),(0,e.jsx)("span",{className:"text-xs font-medium text-txt",children:a.name})]}),(0,e.jsx)("p",{className:"text-[11px] text-muted leading-relaxed",children:a.description}),(0,e.jsx)("p",{className:"text-[10px] text-muted/60 font-mono truncate w-full",children:a.defaultPath})]},a.id))})}),2===h&&q&&(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"flex items-start gap-3 p-3 rounded-lg bg-surface2 border border-border",children:[(0,e.jsx)(g.FileText,{className:"h-4 w-4 text-accent shrink-0 mt-0.5"}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-xs font-medium text-txt",children:q.name}),(0,e.jsx)("p",{className:"text-[11px] text-muted mt-0.5",children:q.description})]})]}),(0,e.jsxs)("div",{className:"space-y-1.5",children:[(0,e.jsx)("label",{className:"block text-[11px] font-medium text-muted uppercase tracking-wider",children:"File path"}),(0,e.jsx)(m.Input,{autoFocus:!0,value:s,onChange:a=>{t(a.target.value),v("")},onKeyDown:a=>{"Enter"===a.key&&y()},placeholder:"docs/my-document.md",className:"h-8 text-xs bg-surface2 border-border font-mono"}),u&&(0,e.jsx)("p",{className:"text-[11px] text-red-400",children:u})]}),(0,e.jsxs)("div",{className:"flex items-center justify-between pt-1",children:[(0,e.jsxs)(l.Button,{variant:"ghost",size:"sm",onClick:()=>p(1),className:"h-7 text-xs text-muted hover:text-txt gap-1.5",children:[(0,e.jsx)(i,{className:"h-3 w-3"}),"Back"]}),(0,e.jsx)(l.Button,{size:"sm",onClick:y,disabled:w||!s.trim(),className:"h-7 text-xs bg-accent hover:bg-accent/90 text-accent-fg",children:w?"Creating…":"Create"})]})]})]})})}],877468)},505084,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(436102),e=Object.defineProperty,f=(a,b)=>e(a,"name",{value:b,configurable:!0}),g="horizontal",h=["horizontal","vertical"],i=c.forwardRef(f(function(a,c){let{decorative:e,orientation:f=g,...h}=a,i=j(f)?f:g;return(0,b.jsx)(d.Primitive.div,{"data-orientation":i,...e?{role:"none"}:{"aria-orientation":"vertical"===i?i:void 0,role:"separator"},...h,ref:c})},"Separator"));function j(a){return h.includes(a)}f(j,"isValidOrientation");var k=a.i(368114);let l=c.forwardRef(({className:a,orientation:c="horizontal",decorative:d=!0,...e},f)=>(0,b.jsx)(i,{ref:f,decorative:d,orientation:c,className:(0,k.cn)("shrink-0 bg-border","horizontal"===c?"h-px w-full":"h-full w-px",a),...e}));l.displayName=i.displayName,a.s(["Separator",0,l],505084)},785259,a=>{"use strict";var b=a.i(662145),c=a.i(174897),d=a.i(196265),e=a.i(521831),f=a.i(691321),g=a.i(555595),h=a.i(635163),i=a.i(668953),j=(a.i(585851),a.i(818920)),k=a.i(436102),l=a.i(776692),m=a.i(541151),n=a.i(967683),o=Object.defineProperty,p=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"}),q=c.forwardRef(o(function(a,c){return(0,b.jsx)(k.Primitive.span,{...a,ref:c,style:{...p,...a.style}})},"name",{value:"VisuallyHidden",configurable:!0})),r=Object.defineProperty,s=(a,b)=>r(a,"name",{value:b,configurable:!0}),[t,u]=(0,f.createContextScope)("Tooltip",[i.createPopperScope]),v=(0,i.createPopperScope)(),w="tooltip.open",[x,y]=t("TooltipProvider"),z=s(a=>{let{__scopeTooltip:d,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=c.useRef(!0),j=c.useRef(!1),k=c.useRef(0);return c.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,b.jsx)(x,{scope:d,isOpenDelayedRef:i,delayDuration:e,onOpen:c.useCallback(()=>{f<=0||(window.clearTimeout(k.current),i.current=!1)},[f]),onClose:c.useCallback(()=>{f<=0||(window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f))},[f]),isPointerInTransitRef:j,onPointerInTransitChange:c.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})},"TooltipProvider"),A="Tooltip",[B,C]=t(A),D=s(a=>{let{__scopeTooltip:d,children:e,open:f,defaultOpen:g,onOpenChange:j,disableHoverableContent:k,delayDuration:l}=a,n=y(A,a.__scopeTooltip),o=v(d),[p,q]=c.useState(null),[r,t]=c.useState(void 0),u=(0,h.useId)(),x=c.useRef(0),z=k??n.disableHoverableContent,C=l??n.delayDuration,D=c.useRef(!1),[E,F]=(0,m.useControllableState)({prop:f,defaultProp:g??!1,onChange:s(a=>{a?(n.onOpen(),document.dispatchEvent(new CustomEvent(w))):n.onClose(),j?.(a)},"onChange"),caller:A}),G=c.useMemo(()=>E?D.current?"delayed-open":"instant-open":"closed",[E]),H=c.useCallback(()=>{window.clearTimeout(x.current),x.current=0,D.current=!1,F(!0)},[F]),I=c.useCallback(()=>{window.clearTimeout(x.current),x.current=0,F(!1)},[F]),J=c.useCallback(()=>{window.clearTimeout(x.current),x.current=window.setTimeout(()=>{D.current=!0,F(!0),x.current=0},C)},[C,F]);return c.useEffect(()=>()=>{x.current&&(window.clearTimeout(x.current),x.current=0)},[]),(0,b.jsx)(i.Root,{...o,children:(0,b.jsx)(B,{scope:d,contentId:r??u,setContentId:t,open:E,stateAttribute:G,trigger:p,onTriggerChange:q,onTriggerEnter:c.useCallback(()=>{n.isOpenDelayedRef.current?J():H()},[n.isOpenDelayedRef,J,H]),onTriggerLeave:c.useCallback(()=>{z?I():(window.clearTimeout(x.current),x.current=0)},[I,z]),onOpen:H,onClose:I,disableHoverableContent:z,children:e})})},"Tooltip"),E="TooltipTrigger",F=c.forwardRef(s(function(a,f){let{__scopeTooltip:g,...h}=a,j=C(E,g),l=y(E,g),m=v(g),n=c.useRef(null),o=(0,e.useComposedRefs)(f,n,j.onTriggerChange),p=c.useRef(!1),q=c.useRef(!1),r=c.useCallback(()=>p.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",r),[r]),(0,b.jsx)(i.Anchor,{asChild:!0,...m,children:(0,b.jsx)(k.Primitive.button,{"aria-describedby":j.open?j.contentId:void 0,"data-state":j.stateAttribute,...h,ref:o,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(q.current||l.isPointerInTransitRef.current||(j.onTriggerEnter(),q.current=!0))}),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,()=>{j.onTriggerLeave(),q.current=!1}),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,()=>{j.open&&j.onClose(),p.current=!0,document.addEventListener("pointerup",r,{once:!0})}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{p.current||j.onOpen()}),onBlur:(0,d.composeEventHandlers)(a.onBlur,j.onClose),onClick:(0,d.composeEventHandlers)(a.onClick,j.onClose)})})},"TooltipTrigger")),[G,H]=t("TooltipPortal",{forceMount:void 0}),I="TooltipContent",J=c.forwardRef(s(function(a,c){let d=H(I,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=C(I,a.__scopeTooltip);return(0,b.jsx)(j.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,b.jsx)(M,{side:f,...g,ref:c}):(0,b.jsx)(K,{side:f,...g,ref:c})})},"TooltipContent")),K=c.forwardRef(s(function(a,d){let f=C(I,a.__scopeTooltip),g=y(I,a.__scopeTooltip),h=c.useRef(null),i=(0,e.useComposedRefs)(d,h),[j,k]=c.useState(null),{trigger:l,onClose:m}=f,n=h.current,{onPointerInTransitChange:o}=g,p=c.useCallback(()=>{k(null),o(!1)},[o]),q=c.useCallback((a,b)=>{let c=a.currentTarget,d={x:a.clientX,y:a.clientY},e=N(d,c.getBoundingClientRect());k(R([...O(d,e),...P(b.getBoundingClientRect())])),o(!0)},[o]);return c.useEffect(()=>()=>p(),[p]),c.useEffect(()=>{if(l&&n){let a=s(a=>q(a,n),"handleTriggerLeave"),b=s(a=>q(a,l),"handleContentLeave");return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),c.useEffect(()=>{if(j){let a=s(a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!Q(c,j);d?p():e&&(p(),m())},"handleTrackPointerGrace");return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,b.jsx)(M,{...a,ref:i})},"TooltipContentHoverable")),L=(0,l.createSlottable)("TooltipContent"),M=c.forwardRef(s(function(a,d){let{__scopeTooltip:e,children:f,"aria-label":h,id:j,onEscapeKeyDown:k,onPointerDownOutside:l,...m}=a,o=C(I,e),p=v(e),{onClose:r}=o;c.useEffect(()=>(document.addEventListener(w,r),()=>document.removeEventListener(w,r)),[r]),c.useEffect(()=>{if(o.trigger){let a=s(a=>{a.target instanceof Node&&a.target.contains(o.trigger)&&r()},"handleScroll");return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[o.trigger,r]);let{setContentId:t}=o;return(0,n.useLayoutEffect)(()=>(t(j),()=>{t(void 0)}),[j,t]),(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:k,onPointerDownOutside:l,onFocusOutside:a=>a.preventDefault(),onDismiss:r,children:(0,b.jsxs)(i.Content,{"data-state":o.stateAttribute,role:h?void 0:"tooltip",id:h?void 0:o.contentId,...p,...m,ref:d,style:{...m.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,b.jsx)(L,{children:f}),h?(0,b.jsx)(q,{id:o.contentId,role:"tooltip",children:h}):null]})})},"TooltipContentImpl"));function N(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}function O(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}function P(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}function Q(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}function R(a){let b=a.slice();return b.sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),S(b)}function S(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}s(N,"getExitSideFromRect"),s(O,"getPaddedExitPoints"),s(P,"getPointsFromRect"),s(Q,"isPointInPolygon"),s(R,"getHull"),s(S,"getHullPresorted");var T=a.i(368114);let U=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(J,{ref:e,sideOffset:c,className:(0,T.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)",a),...d}));U.displayName=J.displayName,a.s(["Tooltip",0,D,"TooltipContent",0,U,"TooltipProvider",0,z,"TooltipTrigger",0,F],785259)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_02ks8_a._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/chevrons-up-down.ts","../../../../src/components/docs/NewDocModal.tsx","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/arrow-left.ts","../../../../node_modules/.pnpm/lucide-react%401.48.0_react%4019.3.0/node_modules/lucide-react/src/icons/waypoints.ts","../../../../src/components/ui/separator.tsx","../../../../node_modules/.pnpm/%40radix-ui%2Breact-separator%401.1.15_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Bre_8021e1a191a8038c5ad5d03e4e376008/node_modules/%40radix-ui/react-separator/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-visually-hidden%401.2.11_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40ty_1cefac523ff1599310033b3615397f52/node_modules/%40radix-ui/react-visually-hidden/dist/index.mjs","../../../../node_modules/.pnpm/%40radix-ui%2Breact-tooltip%401.2.16_%40types%2Breact-dom%4019.3.0_%40types%2Breact%4019.3.0__%40types%2Breac_410793db862c85b741943c612cdfda62/node_modules/%40radix-ui/react-tooltip/dist/index.mjs","../../../../src/components/ui/tooltip.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'chevrons-up-down',\n size: 24,\n node: [\n ['path', { d: 'm7 15 5 5 5-5', key: '1hf1tw' }],\n ['path', { d: 'm7 9 5-5 5 5', key: 'sgt6xg' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ChevronsUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevrons-up-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronsUpDown = createLucideIcon(__iconData);\n\nexport default ChevronsUpDown;\n","\"use client\"\r\n\r\nimport { useState, useEffect } from \"react\"\r\nimport { FileText, ArrowLeft } from \"lucide-react\"\r\nimport { cn } from \"@/lib/utils\"\r\nimport {\r\n Dialog,\r\n DialogContent,\r\n DialogHeader,\r\n DialogTitle,\r\n} from \"@/components/ui/dialog\"\r\nimport { Button } from \"@/components/ui/button\"\r\nimport { Input } from \"@/components/ui/input\"\r\nimport { ScrollArea } from \"@/components/ui/scroll-area\"\r\nimport { TEMPLATES, type Template } from \"@/lib/templates\"\r\n\r\ninterface NewDocModalProps {\r\n open: boolean\r\n onOpenChange: (open: boolean) => void\r\n rootParam: string\r\n onDocCreated: (path: string) => void\r\n}\r\n\r\nexport function NewDocModal({ open, onOpenChange, rootParam, onDocCreated }: NewDocModalProps) {\r\n const [step, setStep] = useState<1 | 2>(1)\r\n const [selected, setSelected] = useState<Template | null>(null)\r\n const [docPath, setDocPath] = useState(\"\")\r\n const [error, setError] = useState(\"\")\r\n const [creating, setCreating] = useState(false)\r\n\r\n useEffect(() => {\r\n if (open) {\r\n setStep(1)\r\n setSelected(null)\r\n setDocPath(\"\")\r\n setError(\"\")\r\n setCreating(false)\r\n }\r\n }, [open])\r\n\r\n function handleSelectTemplate(template: Template) {\r\n setSelected(template)\r\n setDocPath(template.defaultPath)\r\n setError(\"\")\r\n setStep(2)\r\n }\r\n\r\n async function handleCreate() {\r\n if (!selected || !docPath.trim()) return\r\n setError(\"\")\r\n setCreating(true)\r\n try {\r\n const res = await fetch(`/api/docs${rootParam}`, {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({ path: docPath.trim(), content: selected.content }),\r\n })\r\n if (res.status === 409) {\r\n setError(\"File already exists\")\r\n setCreating(false)\r\n return\r\n }\r\n if (!res.ok) {\r\n const data = await res.json()\r\n setError(data.error || \"Failed to create file\")\r\n setCreating(false)\r\n return\r\n }\r\n onOpenChange(false)\r\n onDocCreated(docPath.trim())\r\n } catch {\r\n setError(\"Network error\")\r\n setCreating(false)\r\n }\r\n }\r\n\r\n return (\r\n <Dialog open={open} onOpenChange={onOpenChange}>\r\n <DialogContent className=\"max-w-2xl bg-surface border-border\">\r\n <DialogHeader>\r\n <DialogTitle className=\"text-txt text-sm font-semibold\">\r\n {step === 1 ? \"Choose a template\" : \"Confirm file path\"}\r\n </DialogTitle>\r\n </DialogHeader>\r\n\r\n {step === 1 && (\r\n <ScrollArea className=\"max-h-[420px]\">\r\n <div className=\"grid grid-cols-3 gap-2 p-1\">\r\n {TEMPLATES.map((template) => (\r\n <button\r\n key={template.id}\r\n onClick={() => handleSelectTemplate(template)}\r\n className={cn(\r\n \"flex flex-col items-start gap-1.5 p-3 rounded-lg border border-border text-left\",\r\n \"bg-surface2 hover:bg-surface2/80 hover:border-accent/50 transition-colors\",\r\n )}\r\n >\r\n <div className=\"flex items-center gap-2\">\r\n <FileText className=\"h-3.5 w-3.5 text-accent shrink-0\" />\r\n <span className=\"text-xs font-medium text-txt\">{template.name}</span>\r\n </div>\r\n <p className=\"text-[11px] text-muted leading-relaxed\">{template.description}</p>\r\n <p className=\"text-[10px] text-muted/60 font-mono truncate w-full\">{template.defaultPath}</p>\r\n </button>\r\n ))}\r\n </div>\r\n </ScrollArea>\r\n )}\r\n\r\n {step === 2 && selected && (\r\n <div className=\"space-y-4\">\r\n <div className=\"flex items-start gap-3 p-3 rounded-lg bg-surface2 border border-border\">\r\n <FileText className=\"h-4 w-4 text-accent shrink-0 mt-0.5\" />\r\n <div>\r\n <p className=\"text-xs font-medium text-txt\">{selected.name}</p>\r\n <p className=\"text-[11px] text-muted mt-0.5\">{selected.description}</p>\r\n </div>\r\n </div>\r\n\r\n <div className=\"space-y-1.5\">\r\n <label className=\"block text-[11px] font-medium text-muted uppercase tracking-wider\">File path</label>\r\n <Input\r\n autoFocus\r\n value={docPath}\r\n onChange={(e) => { setDocPath(e.target.value); setError(\"\") }}\r\n onKeyDown={(e) => { if (e.key === \"Enter\") handleCreate() }}\r\n placeholder=\"docs/my-document.md\"\r\n className=\"h-8 text-xs bg-surface2 border-border font-mono\"\r\n />\r\n {error && <p className=\"text-[11px] text-red-400\">{error}</p>}\r\n </div>\r\n\r\n <div className=\"flex items-center justify-between pt-1\">\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n onClick={() => setStep(1)}\r\n className=\"h-7 text-xs text-muted hover:text-txt gap-1.5\"\r\n >\r\n <ArrowLeft className=\"h-3 w-3\" />\r\n Back\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n onClick={handleCreate}\r\n disabled={creating || !docPath.trim()}\r\n className=\"h-7 text-xs bg-accent hover:bg-accent/90 text-accent-fg\"\r\n >\r\n {creating ? \"Creating…\" : \"Create\"}\r\n </Button>\r\n </div>\r\n </div>\r\n )}\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'arrow-left',\n size: 24,\n node: [\n ['path', { d: 'm12 19-7-7 7-7', key: '1l729n' }],\n ['path', { d: 'M19 12H5', key: 'x3x0zl' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name ArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowLeft = createLucideIcon(__iconData);\n\nexport default ArrowLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport type { LucideIconNode, LucideIconData } from '../types';\n\nexport const __iconData: LucideIconData = {\n name: 'waypoints',\n size: 24,\n node: [\n ['path', { d: 'm10.586 5.414-5.172 5.172', key: '4mc350' }],\n ['path', { d: 'm18.586 13.414-5.172 5.172', key: '8c96vv' }],\n ['path', { d: 'M6 12h12', key: '8npq4p' }],\n ['circle', { cx: '12', cy: '20', r: '2', key: '144qzu' }],\n ['circle', { cx: '12', cy: '4', r: '2', key: 'muu5ef' }],\n ['circle', { cx: '20', cy: '12', r: '2', key: '1xzzfp' }],\n ['circle', { cx: '4', cy: '12', r: '2', key: '1hvhnz' }],\n ],\n};\n\n/**\n * @deprecated Access `__iconData` instead.\n */\nexport const __iconNode: LucideIconNode[] = __iconData.node;\n\n/**\n * @component @name Waypoints\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/waypoints\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Waypoints = createLucideIcon(__iconData);\n\nexport default Waypoints;\n","import * as React from \"react\"\r\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(\r\n (\r\n { className, orientation = \"horizontal\", decorative = true, ...props },\r\n ref\r\n ) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n \"shrink-0 bg-border\",\r\n orientation === \"horizontal\" ? \"h-px w-full\" : \"h-full w-px\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n)\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName\r\n\r\nexport { Separator }\r\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/separator.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DEFAULT_ORIENTATION = \"horizontal\";\nvar ORIENTATIONS = [\"horizontal\", \"vertical\"];\nvar Separator = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function Separator2(props, forwardedRef) {\n const { decorative, orientation: orientationProp = DEFAULT_ORIENTATION, ...domProps } = props;\n const orientation = isValidOrientation(orientationProp) ? orientationProp : DEFAULT_ORIENTATION;\n const ariaOrientation = orientation === \"vertical\" ? orientation : void 0;\n const semanticProps = decorative ? { role: \"none\" } : { \"aria-orientation\": ariaOrientation, role: \"separator\" };\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-orientation\": orientation,\n ...semanticProps,\n ...domProps,\n ref: forwardedRef\n }\n );\n }, \"Separator\")\n);\nfunction isValidOrientation(orientation) {\n return ORIENTATIONS.includes(orientation);\n}\n__name(isValidOrientation, \"isValidOrientation\");\nvar Root = Separator;\nexport {\n Root,\n Separator\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar VisuallyHidden = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function VisuallyHidden2(props, forwardedRef) {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }, \"VisuallyHidden\")\n);\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = /* @__PURE__ */ __name((props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n if (skipDelayDuration <= 0) return;\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, [skipDelayDuration]),\n onClose: React.useCallback(() => {\n if (skipDelayDuration <= 0) return;\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n}, \"TooltipProvider\");\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = /* @__PURE__ */ __name((props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const [contentIdState, setContentId] = React.useState(void 0);\n const generatedContentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: /* @__PURE__ */ __name((open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n }, \"onChange\"),\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n const contentId = contentIdState ?? generatedContentId;\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n setContentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n}, \"Tooltip\");\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function TooltipTrigger2(props, forwardedRef) {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }, \"TooltipTrigger\")\n);\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n}, \"TooltipPortal\");\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function TooltipContent2(props, forwardedRef) {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }, \"TooltipContent\")\n);\nvar TooltipContentHoverable = /* @__PURE__ */ React.forwardRef(/* @__PURE__ */ __name(function TooltipContentHoverable2(props, forwardedRef) {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = /* @__PURE__ */ __name((event) => handleCreateGraceArea(event, content), \"handleTriggerLeave\");\n const handleContentLeave = /* @__PURE__ */ __name((event) => handleCreateGraceArea(event, trigger), \"handleContentLeave\");\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = /* @__PURE__ */ __name((event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n }, \"handleTrackPointerGrace\");\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n}, \"TooltipContentHoverable\"));\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function TooltipContentImpl2(props, forwardedRef) {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n id: idProp,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = /* @__PURE__ */ __name((event) => {\n if (event.target instanceof Node && event.target.contains(context.trigger)) {\n onClose();\n }\n }, \"handleScroll\");\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n const { setContentId } = context;\n useLayoutEffect(() => {\n setContentId(idProp);\n return () => {\n setContentId(void 0);\n };\n }, [idProp, setContentId]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n role: ariaLabel ? void 0 : \"tooltip\",\n id: ariaLabel ? void 0 : context.contentId,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n ariaLabel ? /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel }) : null\n ]\n }\n )\n }\n );\n }, \"TooltipContentImpl\")\n);\nvar TooltipArrow = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function TooltipArrow2(props, forwardedRef) {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }, \"TooltipArrow\")\n);\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\n__name(getExitSideFromRect, \"getExitSideFromRect\");\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\n__name(getPaddedExitPoints, \"getPaddedExitPoints\");\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\n__name(getPointsFromRect, \"getPointsFromRect\");\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\n__name(isPointInPolygon, \"isPointInPolygon\");\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\n__name(getHull, \"getHull\");\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\n__name(getHullPresorted, \"getHullPresorted\");\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\r\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider\r\n\r\nconst Tooltip = TooltipPrimitive.Root\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger\r\n\r\nconst TooltipContent = React.forwardRef<\r\n React.ElementRef<typeof TooltipPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n <TooltipPrimitive.Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"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)\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"names":["__iconData","__defProp","Object","defineProperty","__name","target","value","configurable","DEFAULT_ORIENTATION","ORIENTATIONS","Separator","Separator2","props","forwardedRef","decorative","orientation","orientationProp","domProps","isValidOrientation","ariaOrientation","semanticProps","role","div","ref","includes","Root","VISUALLY_HIDDEN_STYLES","freeze","position","border","width","height","padding","margin","overflow","clip","whiteSpace","wordWrap","VisuallyHidden","VisuallyHidden2","span","style"],"mappings":"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","ignoreList":[0,2,3,5,6,7]}
|