trybeacon 0.1.64 → 0.1.66
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/.claude-plugin/plugin.json +1 -1
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +15 -8
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +42 -0
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +11 -11
- package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
- package/.next/server/app/api/board-annotations/route.js +1 -1
- package/.next/server/app/api/board-layout/route.js +1 -1
- package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
- package/.next/server/app/api/bug-flags/route.js +1 -1
- package/.next/server/app/api/code-graph/position/route.js +1 -1
- package/.next/server/app/api/code-graph/route.js +1 -1
- package/.next/server/app/api/context/feature/route.js +1 -1
- package/.next/server/app/api/context/file/route.js +1 -1
- package/.next/server/app/api/context/route.js +1 -1
- package/.next/server/app/api/db/arrange/route.js +1 -1
- package/.next/server/app/api/db/backfill-access/route.js +1 -1
- package/.next/server/app/api/db/position/route.js +1 -1
- package/.next/server/app/api/db/prune-planned/route.js +1 -1
- package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
- package/.next/server/app/api/db/relations/[id]/route.js +1 -1
- package/.next/server/app/api/db/tables/[id]/route.js +1 -1
- package/.next/server/app/api/draft/approve/route.js +1 -1
- package/.next/server/app/api/draft/route.js +1 -1
- package/.next/server/app/api/draft/status/route.js +1 -1
- package/.next/server/app/api/edges/[id]/route.js +1 -1
- package/.next/server/app/api/edges/route.js +1 -1
- package/.next/server/app/api/endpoints/[id]/route.js +1 -1
- package/.next/server/app/api/entities/route.js +1 -1
- package/.next/server/app/api/feedback/[id]/route.js +1 -1
- package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
- package/.next/server/app/api/feedback/route.js +1 -1
- package/.next/server/app/api/flags/route.js +1 -1
- package/.next/server/app/api/ingest/route.js +2 -2
- package/.next/server/app/api/init/route.js +2 -2
- package/.next/server/app/api/lesson/close/route.js +1 -0
- package/.next/server/app/api/lesson/close/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/close/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/lesson/presence/route.js +1 -0
- package/.next/server/app/api/lesson/presence/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/presence/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/lesson/questions/route.js +1 -0
- package/.next/server/app/api/lesson/questions/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/questions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/lesson/route.js +1 -0
- package/.next/server/app/api/lesson/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/lesson/save/route.js +1 -0
- package/.next/server/app/api/lesson/save/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/save/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/lesson/verdict/route.js +1 -0
- package/.next/server/app/api/lesson/verdict/route.js.nft.json +1 -0
- package/.next/server/app/api/lesson/verdict/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/map/describe/route.js +2 -2
- package/.next/server/app/api/map/files/route.js +1 -1
- package/.next/server/app/api/map/finish/route.js +1 -1
- package/.next/server/app/api/map/route.js +1 -1
- package/.next/server/app/api/map/start/route.js +1 -1
- package/.next/server/app/api/map/touch-active/route.js +1 -1
- package/.next/server/app/api/mention-search/route.js +1 -1
- package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
- package/.next/server/app/api/nodes/[id]/route.js +1 -1
- package/.next/server/app/api/nodes/positions/route.js +1 -1
- package/.next/server/app/api/nodes/route.js +1 -1
- package/.next/server/app/api/nodes/subtasks/route.js +1 -1
- package/.next/server/app/api/notes/[id]/route.js +1 -1
- package/.next/server/app/api/notes/route.js +1 -1
- package/.next/server/app/api/open/route.js +1 -1
- package/.next/server/app/api/plan/annotations/route.js +3 -3
- package/.next/server/app/api/plan/approve/route.js +2 -2
- package/.next/server/app/api/plan/history/route.js +1 -1
- package/.next/server/app/api/plan/markdown/route.js +1 -1
- package/.next/server/app/api/plan/presence/route.js +1 -1
- package/.next/server/app/api/plan/route.js +1 -1
- package/.next/server/app/api/plan/verdict/route.js +1 -1
- package/.next/server/app/api/preferences/route.js +1 -1
- package/.next/server/app/api/project-meta/route.js +1 -1
- package/.next/server/app/api/reset/route.js +1 -1
- package/.next/server/app/api/scope-guard/check/route.js +1 -1
- package/.next/server/app/api/share/create/route.js +1 -1
- package/.next/server/app/api/share/route.js +1 -1
- package/.next/server/app/api/stream/route.js +2 -2
- package/.next/server/app/api/tab/nav/route.js +1 -1
- package/.next/server/app/api/tab/presence/route.js +1 -1
- package/.next/server/app/api/telemetry/route.js +1 -1
- package/.next/server/app/api/telemetry/stats/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/workspace/activate/route.js +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/apple-icon.png/route.js +1 -1
- package/.next/server/app/docs/page.js +2 -2
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +11 -11
- package/.next/server/app/docs.segments/_full.segment.rsc +11 -11
- package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/docs.segments/_index.segment.rsc +11 -11
- package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/.next/server/app/feedback/page.js +2 -2
- package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
- package/.next/server/app/feedback.html +1 -1
- package/.next/server/app/feedback.rsc +11 -11
- package/.next/server/app/feedback.segments/_full.segment.rsc +11 -11
- package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
- package/.next/server/app/feedback.segments/_index.segment.rsc +11 -11
- package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
- package/.next/server/app/help/page.js +2 -2
- package/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/.next/server/app/help.html +1 -1
- package/.next/server/app/help.rsc +11 -11
- package/.next/server/app/help.segments/_full.segment.rsc +11 -11
- package/.next/server/app/help.segments/_head.segment.rsc +1 -1
- package/.next/server/app/help.segments/_index.segment.rsc +11 -11
- package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/help.segments/help.segment.rsc +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +12 -12
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +12 -12
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/learn/page.js +6 -0
- package/.next/server/app/learn/page.js.nft.json +1 -0
- package/.next/server/app/learn/page_client-reference-manifest.js +1 -0
- package/.next/server/app/map/page.js +2 -2
- package/.next/server/app/map/page.js.nft.json +1 -1
- package/.next/server/app/map/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/plan/page.js +2 -2
- package/.next/server/app/plan/page.js.nft.json +1 -1
- package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
- package/.next/server/app/s/[token]/page.js +2 -2
- package/.next/server/app/s/[token]/page.js.nft.json +1 -1
- package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +15 -8
- package/.next/server/chunks/2050.js +1 -1
- package/.next/server/chunks/3174.js +1 -0
- package/.next/server/chunks/3584.js +154 -0
- package/.next/server/chunks/4307.js +1 -1
- package/.next/server/chunks/6024.js +2 -0
- package/.next/server/chunks/{4384.js → 7187.js} +1 -1
- package/.next/server/chunks/8035.js +1 -0
- package/.next/server/chunks/9338.js +8 -8
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/P3uXQySdS-m6_bxuiezYe/_buildManifest.js +1 -0
- package/.next/static/chunks/1909-98243a0473be2aae.js +1 -0
- package/.next/static/chunks/1936-7fea5225b5bfcfda.js +1 -0
- package/.next/static/chunks/2019-3be80edc82176878.js +1 -0
- package/.next/static/chunks/4549-591415d55ca009a3.js +62 -0
- package/.next/static/chunks/6638-4e53879181b1df75.js +1 -0
- package/.next/static/chunks/{4888-911c0da3c2d785d2.js → 7043-254590cf9891391f.js} +1 -1
- package/.next/static/chunks/7643-6c7ff4b9400f68fc.js +1 -0
- package/.next/static/chunks/app/_global-error/page-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/board-layout/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/code-graph/position/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/code-graph/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/context/feature/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/context/file/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/context/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/arrange/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/backfill-access/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/position/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/prune-planned/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/relations/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/db/tables/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/draft/approve/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/draft/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/draft/status/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/edges/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/edges/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/endpoints/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/entities/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/feedback/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/feedback/[id]/vote/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/feedback/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/flags/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/ingest/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/init/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/close/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/presence/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/questions/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/save/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/lesson/verdict/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/describe/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/files/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/finish/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/start/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/map/touch-active/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/mention-search/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/position/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/nodes/positions/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/nodes/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/nodes/subtasks/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/notes/[id]/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/notes/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/open/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/annotations/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/approve/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/history/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/markdown/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/presence/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/plan/verdict/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/preferences/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/project-meta/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/reset/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/scope-guard/check/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/share/create/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/share/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/stream/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/tab/nav/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/tab/presence/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/telemetry/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/telemetry/stats/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/version/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/workspace/activate/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/api/workspace/route-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/app/layout-0c993f55d3a798f4.js +1 -0
- package/.next/static/chunks/app/learn/page-797d74e02b98fa88.js +5 -0
- package/.next/static/chunks/app/map/page-634b6d5d98e921b3.js +1 -0
- package/.next/static/chunks/app/page-84dc684d45002cfb.js +1 -0
- package/.next/static/chunks/app/plan/page-df829b2054c40611.js +1 -0
- package/.next/static/chunks/app/s/[token]/page-f97dec75856a7952.js +1 -0
- package/.next/static/chunks/app/settings/page-59d90685cd17fc1f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-2390ea0e69e5991f.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2390ea0e69e5991f.js +1 -0
- package/.next/static/css/b3d3212da726bbfb.css +1 -0
- package/.next/trace +43 -42
- package/.next/trace-build +1 -1
- package/.next/types/app/api/lesson/close/route.ts +351 -0
- package/.next/types/app/api/lesson/presence/route.ts +351 -0
- package/.next/types/app/api/lesson/questions/route.ts +351 -0
- package/.next/types/app/api/lesson/route.ts +351 -0
- package/.next/types/app/api/lesson/save/route.ts +351 -0
- package/.next/types/app/api/lesson/verdict/route.ts +351 -0
- package/.next/types/app/learn/page.ts +87 -0
- package/.next/types/routes.d.ts +9 -2
- package/.next/types/validator.ts +63 -0
- package/README.md +2 -1
- package/dist/bin/doctor.js +92 -22
- package/dist/bin/hook.js +91 -21
- package/dist/bin/mcp.js +107 -35
- package/dist/bin/plan.js +92 -22
- package/dist/bin/uninstall.js +95 -25
- package/dist/lib/assets.js +81 -14
- package/dist/lib/codex-install.js +92 -22
- package/dist/lib/global-install.js +93 -23
- package/package.json +1 -1
- package/plugin/skills/beacon-explain/SKILL.md +63 -0
- package/.next/server/chunks/2942.js +0 -1
- package/.next/server/chunks/2994.js +0 -2
- package/.next/server/chunks/3284.js +0 -154
- package/.next/server/chunks/5719.js +0 -1
- package/.next/static/chunks/3415-05007c2bd98125c7.js +0 -1
- package/.next/static/chunks/5957-83f611fcd5a08b45.js +0 -1
- package/.next/static/chunks/766-242213d211df0afd.js +0 -1
- package/.next/static/chunks/874-c750840a8644deb1.js +0 -1
- package/.next/static/chunks/8915-fa61a860c63a7c85.js +0 -62
- package/.next/static/chunks/8997-78a359d0d238622e.js +0 -1
- package/.next/static/chunks/app/_global-error/page-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/board-layout/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/code-graph/position/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/code-graph/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/context/feature/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/context/file/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/context/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/arrange/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/backfill-access/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/position/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/prune-planned/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/relations/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/db/tables/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/draft/approve/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/draft/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/draft/status/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/edges/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/edges/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/endpoints/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/entities/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/vote/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/feedback/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/flags/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/ingest/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/init/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/describe/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/files/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/finish/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/start/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/map/touch-active/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/mention-search/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/position/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/nodes/positions/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/nodes/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/nodes/subtasks/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/notes/[id]/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/notes/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/open/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/annotations/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/approve/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/history/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/markdown/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/presence/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/plan/verdict/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/preferences/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/project-meta/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/reset/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/scope-guard/check/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/share/create/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/share/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/stream/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/tab/nav/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/tab/presence/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/telemetry/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/telemetry/stats/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/version/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/workspace/activate/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/api/workspace/route-548a84d85e061550.js +0 -1
- package/.next/static/chunks/app/layout-3115f8503ff00902.js +0 -1
- package/.next/static/chunks/app/map/page-491d4767dbc4e954.js +0 -1
- package/.next/static/chunks/app/page-d08947a671077569.js +0 -1
- package/.next/static/chunks/app/plan/page-a90e0981499546e3.js +0 -1
- package/.next/static/chunks/app/s/[token]/page-5c8f260e75758b02.js +0 -1
- package/.next/static/chunks/app/settings/page-7e176d120b1effa9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-548a84d85e061550.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-548a84d85e061550.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-548a84d85e061550.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-548a84d85e061550.js +0 -1
- package/.next/static/css/490566ec68a48e1a.css +0 -1
- package/.next/static/qoq7TibU72duRZATxeVnT/_buildManifest.js +0 -1
- /package/.next/static/{qoq7TibU72duRZATxeVnT → P3uXQySdS-m6_bxuiezYe}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5043,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9550,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{434:(e,t,s)=>{"use strict";s.d(t,{PlanBar:()=>u});var a=s(95155),r=s(98500),n=s.n(r),i=s(73321),l=s(86272),o=s(32133),c=s(65738),d=s(48484);function u(){let{status:e,discard:t}=(0,d.j)(),s=(0,i.usePathname)();return e.pending&&"/plan"!==s?(0,a.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-14 z-40 flex justify-center px-2",children:(0,a.jsxs)("div",{className:"pointer-events-auto flex max-w-3xl items-center gap-2 rounded-xl border border-emerald-500/30 bg-card/85 px-3 py-1.5 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-card/70",children:[(0,a.jsx)(l.A,{className:"size-3.5 shrink-0 text-emerald-300"}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"truncate text-[12px] leading-tight text-foreground",children:[(0,a.jsx)("span",{className:"text-emerald-300/80",children:"Plan ready \xb7 "}),e.description||"(no description)"]}),(0,a.jsxs)("div",{className:"text-[10px] leading-tight text-muted-foreground",children:[e.features," feature(s) \xb7 ",e.tables," table(s) \xb7 ",e.endpoints," ","endpoint(s)"]})]}),(0,a.jsxs)(n(),{href:"/plan",className:"flex shrink-0 items-center gap-1 rounded-md border border-emerald-500/40 bg-emerald-500/15 px-2 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",title:"Open Plannotator + canvases side by side",children:[(0,a.jsx)(o.A,{className:"size-3"})," Open plan"]}),(0,a.jsxs)("button",{onClick:t,className:"flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",title:"Discard the plan",children:[(0,a.jsx)(c.A,{className:"size-3"})," Discard"]})]})}):null}},10436:(e,t,s)=>{"use strict";s.d(t,{TopNav:()=>b});var a=s(95155),r=s(12115),n=s(98500),i=s.n(n),l=s(73321),o=s(82879),c=s(52965);let d=(0,s(30772).A)("folder-git-2",[["path",{d:"M18 19a5 5 0 0 1-5-5v8",key:"sz5oeg"}],["path",{d:"M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5",key:"1w6njk"}],["circle",{cx:"13",cy:"12",r:"2",key:"1j92g6"}],["circle",{cx:"20",cy:"19",r:"2",key:"1obnsp"}]]);var u=s(26518),h=s(91337),x=s(60292);function p({fallback:e}){let[t,s]=(0,r.useState)([]),[n,i]=(0,r.useState)(null);if((0,r.useEffect)(()=>{let e=!0,t=()=>fetch("/api/workspace").then(e=>e.ok?e.json():null).then(t=>{e&&t&&(s(t.workspaces??[]),i((0,x.fk)()??t.active??null))}).catch(()=>{});t();let a=setInterval(t,5e3);return()=>{e=!1,clearInterval(a)}},[]),0===t.length)return e?(0,a.jsxs)("span",{className:"font-mono text-xs text-muted-foreground",children:["\xb7 ",e]}):null;async function l(e){i(e),(0,x.aE)(e),await Promise.race([fetch("/api/workspace",{method:"POST",headers:{"content-type":"application/json","x-beacon-workspace":e},body:JSON.stringify({id:e}),signal:AbortSignal.timeout(8e3)}).catch(()=>{}),new Promise(e=>setTimeout(e,2500))]);let t=new URLSearchParams(window.location.search);t.set("ws",e),window.location.href=`${window.location.pathname}?${t.toString()}`}let o=t.find(e=>e.id===n);return(0,a.jsxs)(u.l6,{value:n??"",onValueChange:e=>e&&l(e),children:[(0,a.jsxs)(u.bq,{className:"h-7 gap-1.5 rounded-lg border-white/12 bg-white/[0.04] px-2 text-xs font-medium transition-colors hover:bg-white/[0.07]",children:[(0,a.jsx)(d,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,a.jsx)(u.yv,{children:()=>o?.name??"Project"})]}),(0,a.jsxs)(u.gC,{align:"start",alignItemWithTrigger:!1,sideOffset:6,className:"min-w-[250px] border border-white/10 bg-popover/95 p-1.5 backdrop-blur-xl",children:[(0,a.jsx)("p",{className:"px-2 pt-1 pb-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground/70",children:"Workspace"}),t.map(e=>{var t,s;let r,i=e.id===n;return(0,a.jsx)(u.eb,{value:e.id,className:(0,h.cn)("gap-2.5 rounded-lg py-1.5 pr-8 pl-1.5 transition-colors",i&&"bg-white/[0.05]"),children:(0,a.jsxs)("span",{className:"flex items-center gap-2.5",children:[(0,a.jsx)("span",{className:(0,h.cn)("flex size-7 shrink-0 items-center justify-center rounded-md border",i?"border-sky-400/30 bg-sky-400/10 text-sky-300":"border-white/10 bg-white/[0.03] text-muted-foreground"),children:(0,a.jsx)(d,{className:"size-3.5"})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,a.jsx)("span",{className:"truncate text-[13px] font-medium leading-tight text-foreground",children:e.name}),(0,a.jsx)("span",{className:"truncate font-mono text-[10px] leading-tight text-muted-foreground",children:(t=e.path,s=e.name,(r=t.replace(/^\/(Users|home)\/[^/]+/,"~").split("/").filter(Boolean))[r.length-1]===s&&r.pop(),(r.length>3?[r[0],"…",r[r.length-1]]:r).join("/")||"~")})]})]})},e.id)})]})]})}var m=s(81984);let f=[{href:"/plan",label:"Plans"},{href:"/map",label:"Map"},{href:"/learn",label:"Learn"},{href:"/settings",label:"Settings"}];function b({repo:e}){let t=(0,l.usePathname)(),{toggle:s,open:n}=(0,m.b)(),[d,u]=(0,r.useState)(null);return(0,r.useEffect)(()=>{u((0,x.fk)())},[t]),(0,a.jsx)("header",{className:"pointer-events-none fixed left-3 top-3 z-30",children:(0,a.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5",children:[(0,a.jsxs)(i(),{href:"/",className:"mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight",children:[(0,a.jsx)(c._,{size:18,className:"text-foreground"}),"Beacon"]}),(0,a.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,a.jsx)(p,{fallback:e}),(0,a.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,a.jsx)("nav",{className:"flex items-center gap-0.5 text-sm",children:f.map(e=>{let s=t===e.href||t.startsWith(e.href+"/");return(0,a.jsx)(i(),{href:(0,x.Fj)(e.href,d),className:(0,h.cn)("rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors",s?"bg-white/[0.09] text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.06)]":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:e.label},e.href)})}),(0,a.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,a.jsx)("button",{type:"button",onClick:s,"aria-pressed":n,"aria-label":"Notes",title:"Notes",className:(0,h.cn)("flex items-center justify-center rounded-full p-1.5 transition-colors",n?"bg-white/[0.09] text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.06)]":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:(0,a.jsx)(o.A,{className:"size-4"})})]})})}},15053:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,66872,23)),Promise.resolve().then(s.bind(s,52174)),Promise.resolve().then(s.bind(s,81998)),Promise.resolve().then(s.bind(s,81984)),Promise.resolve().then(s.bind(s,71886)),Promise.resolve().then(s.bind(s,434)),Promise.resolve().then(s.bind(s,48484)),Promise.resolve().then(s.bind(s,77242)),Promise.resolve().then(s.bind(s,10436)),Promise.resolve().then(s.bind(s,29510)),Promise.resolve().then(s.t.bind(s,35353,23)),Promise.resolve().then(s.t.bind(s,63494,23))},29510:(e,t,s)=>{"use strict";s.d(t,{UpdateBanner:()=>h});var a=s(95155),r=s(12115);let n=(0,s(30772).A)("circle-arrow-up",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]]);var i=s(9005),l=s(64577),o=s(99314),c=s(39593);function d(e){if("string"!=typeof e)return null;let t=e.trim().replace(/^v/i,"").match(/^(\d+)(?:\.(\d+))?(?:\.(\d+))?/);return t?[Number(t[1]),Number(t[2]??0),Number(t[3]??0)]:null}let u="beacon:update-dismissed";function h({currentVersion:e}){let[t,s]=(0,r.useState)(null),[x,p]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{let t=!1;return(async()=>{try{let a=await fetch(c.kw);if(!a.ok)return;let r=await a.json(),n="string"==typeof r?.version?r.version:"";if(t||!function(e,t){let s=d(e),a=d(t);if(!s||!a)return!1;for(let e=0;e<3;e++){if(s[e]>a[e])return!0;if(s[e]<a[e])break}return!1}(n,e)||localStorage.getItem(u)===n)return;s(n)}catch{}})(),()=>{t=!0}},[e]),!t)return null;let m=async()=>{try{await navigator.clipboard?.writeText(c.EO),p(!0),setTimeout(()=>p(!1),1600)}catch{}};return(0,a.jsx)("div",{className:"pointer-events-none fixed bottom-4 right-4 z-50 flex justify-end",children:(0,a.jsx)("div",{className:"glass pointer-events-auto w-[320px] rounded-xl p-3.5 shadow-xl",children:(0,a.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,a.jsx)(n,{className:"mt-0.5 size-4 shrink-0 text-[#ff7a45]"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("p",{className:"text-[13px] font-semibold tracking-tight text-foreground",children:"New version available"}),(0,a.jsx)("button",{type:"button",onClick:()=>{try{localStorage.setItem(u,t)}catch{}s(null)},"aria-label":"Dismiss",className:"shrink-0 rounded-md p-0.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,a.jsx)(i.A,{className:"size-3.5"})})]}),(0,a.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:[e," →"," ",(0,a.jsx)("span",{className:"text-foreground",children:t.replace(/^v/i,"")})," \xb7 update Beacon"]}),(0,a.jsxs)("button",{type:"button",onClick:m,title:"Copy the update command",className:"mt-2.5 flex w-full items-center justify-between gap-2 rounded-lg border border-white/10 bg-black/30 px-2.5 py-1.5 text-left font-mono text-[11px] text-muted-foreground transition-colors hover:border-white/20 hover:text-foreground",children:[(0,a.jsx)("span",{className:"truncate",children:c.EO}),x?(0,a.jsx)(l.A,{className:"size-3.5 shrink-0 text-[#ff7a45]"}):(0,a.jsx)(o.A,{className:"size-3.5 shrink-0"})]})]})]})})})}},35353:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_246ccd",variable:"__variable_246ccd"}},38332:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(30772).A)("strikethrough",[["path",{d:"M16 4H9a3 3 0 0 0-2.83 4",key:"43sutm"}],["path",{d:"M14 12a4 4 0 0 1 0 8H6",key:"nlfj13"}],["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}]])},39593:(e,t,s)=>{"use strict";s.d(t,{EO:()=>i,W6:()=>n,kw:()=>r});var a=s(41463);let r="https://registry.npmjs.org/trybeacon/latest",n=(a.env.NEXT_PUBLIC_BEACON_SITE_URL??"https://www.trybeacon.sh").replace(/\/$/,""),i=`curl -fsSL ${n}/install.sh | sh`},48484:(e,t,s)=>{"use strict";s.d(t,{PlanProvider:()=>d,j:()=>u});var a=s(95155),r=s(12115),n=s(73321),i=s(60292),l=s(99979);let o={pending:!1,proposedAt:0,tables:0,endpoints:0,features:0},c=(0,r.createContext)(null);function d({children:e}){let t=(0,n.useRouter)(),[s,u]=(0,r.useState)(o),h=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/plan",{method:"GET",cache:"no-store",headers:(0,i.dh)((0,l.X0)())});if(!e.ok)return;let t=await e.json();u(t)}catch{}},[]);(0,r.useEffect)(()=>{h();let e=setInterval(()=>void h(),4e3);return()=>clearInterval(e)},[h]);let x=(0,r.useCallback)(async()=>{await fetch("/api/plan",{method:"DELETE",headers:(0,i.dh)((0,l.X0)())}).catch(()=>{}),u(o),t.refresh()},[t]),p=(0,r.useCallback)(async()=>{await fetch("/api/plan/approve",{method:"POST",headers:(0,i.dh)((0,l.X0)())}).catch(()=>{}),u(o),t.refresh()},[t]);return(0,a.jsx)(c.Provider,{value:{status:s,discard:x,approvePlan:p,refresh:h},children:e})}function u(){let e=(0,r.useContext)(c);if(!e)throw Error("usePlan must be used inside PlanProvider");return e}},52174:(e,t,s)=>{"use strict";s.d(t,{MainRegion:()=>r});var a=s(95155);function r({children:e}){return(0,a.jsx)("main",{className:"flex flex-1 flex-col",children:e})}},52965:(e,t,s)=>{"use strict";s.d(t,{_:()=>r});var a=s(95155);function r({size:e=18,className:t}){return(0,a.jsxs)("svg",{width:e,height:e,viewBox:"20 22 56 56",fill:"none",className:t,"aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M48 33 L72.5 73 L23.5 73 Z",fill:"none",stroke:"var(--accent-2, #ff7a45)",strokeWidth:7,strokeLinejoin:"round",strokeLinecap:"round"}),(0,a.jsx)("circle",{cx:"48",cy:"29.5",r:"7",fill:"var(--accent-2, #ff7a45)"})]})}},63494:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_c29908",variable:"__variable_c29908"}},66872:()=>{},71886:(e,t,s)=>{"use strict";s.d(t,{NotesDrawer:()=>A});var a=s(95155),r=s(12115),n=s(82879),i=s(2125),l=s(9005),o=s(30772);let c=(0,o.A)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]),d=(0,o.A)("pin-off",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89",key:"znwnzq"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11",key:"c9qhm2"}]]);var u=s(65738),h=s(82099),x=s(13439),p=s(95112),m=s(67357);let f=(0,o.A)("underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]);var b=s(38332),g=s(8143),v=s(58309),j=s(5497),w=s(54682),k=s(93492);function N({value:e,onChange:t}){let s=(0,x.hG)({extensions:w.II,content:e?(0,w.Gd)(e):void 0,immediatelyRender:!1,editorProps:{attributes:{class:"note-prose focus:outline-none"}},onUpdate:({editor:e})=>t((0,w.Z2)(e.getJSON()))});return s?(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,a.jsx)(y,{editor:s}),(0,a.jsx)(x.$Z,{editor:s,className:"min-h-0 flex-1 overflow-y-auto px-1 py-2 text-[14px] leading-relaxed"})]}):null}function y({editor:e}){(0,k.U)(e);let t=()=>e.chain().focus();return(0,a.jsxs)("div",{className:"flex items-center gap-0.5 border-b border-white/10 pb-2",children:[(0,a.jsx)(k.I,{label:"Bold",active:e.isActive("bold"),onClick:()=>t().toggleBold().run(),children:(0,a.jsx)(p.A,{className:"size-4"})}),(0,a.jsx)(k.I,{label:"Italic",active:e.isActive("italic"),onClick:()=>t().toggleItalic().run(),children:(0,a.jsx)(m.A,{className:"size-4"})}),(0,a.jsx)(k.I,{label:"Underline",active:e.isActive("underline"),onClick:()=>t().toggleUnderline().run(),children:(0,a.jsx)(f,{className:"size-4"})}),(0,a.jsx)(k.I,{label:"Strikethrough",active:e.isActive("strike"),onClick:()=>t().toggleStrike().run(),children:(0,a.jsx)(b.A,{className:"size-4"})}),(0,a.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,a.jsx)(k.I,{label:"Checklist",active:e.isActive("taskList"),onClick:()=>t().toggleTaskList().run(),children:(0,a.jsx)(g.A,{className:"size-4"})}),(0,a.jsx)(k.I,{label:"Bullet list",active:e.isActive("bulletList"),onClick:()=>t().toggleBulletList().run(),children:(0,a.jsx)(v.A,{className:"size-4"})}),(0,a.jsx)(k.I,{label:"Numbered list",active:e.isActive("orderedList"),onClick:()=>t().toggleOrderedList().run(),children:(0,a.jsx)(j.A,{className:"size-4"})})]})}var C=s(81984),P=s(91337);function S(e){return[...e].sort((e,t)=>e.pinned!==t.pinned?Number(t.pinned)-Number(e.pinned):t.updatedAt.localeCompare(e.updatedAt))}function A(){let{open:e,close:t}=(0,C.b)(),[s,o]=(0,r.useState)([]),[x,p]=(0,r.useState)(null),m=(0,r.useRef)({}),f=(0,r.useRef)({}),b=(0,r.useCallback)(e=>{clearTimeout(m.current[e]);let t=f.current[e];t&&(delete f.current[e],fetch(`/api/notes/${e}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)}).catch(()=>{}))},[]),g=(0,r.useCallback)((e,t)=>{f.current[e]={...f.current[e],...t},clearTimeout(m.current[e]),m.current[e]=setTimeout(()=>b(e),500)},[b]),v=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/notes",{cache:"no-store"});if(!e.ok)return;let t=await e.json();o(S(t)),p(e=>e??t[0]?.id??null)}catch{}},[]);(0,r.useEffect)(()=>{e?v():Object.keys(f.current).forEach(b)},[e,v,b]);let j=(0,r.useCallback)(async()=>{let e=await fetch("/api/notes",{method:"POST"}).catch(()=>null);if(!e?.ok)return;let t=await e.json();o(e=>S([t,...e])),p(t.id)},[]),w=(0,r.useCallback)(async e=>{clearTimeout(m.current[e]),delete f.current[e],o(t=>{let s=t.filter(t=>t.id!==e);return p(t=>t===e?s[0]?.id??null:t),s}),await fetch(`/api/notes/${e}`,{method:"DELETE"}).catch(()=>{})},[]),k=(0,r.useCallback)((e,t)=>{o(s=>S(s.map(s=>s.id===e?{...s,...t,updatedAt:new Date().toISOString()}:s))),g(e,t)},[g]),y=(0,r.useCallback)(e=>k(e.id,{pinned:!e.pinned}),[k]),A=s.find(e=>e.id===x)??null;return(0,a.jsx)("div",{"aria-hidden":!e,className:(0,P.cn)("fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out",e?"translate-x-0":"pointer-events-none translate-x-full"),children:(0,a.jsxs)(h.b,{className:"flex h-full w-[420px] flex-col rounded-l-2xl border-l border-white/10",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-white/10 px-3 py-2.5",children:[(0,a.jsx)(n.A,{className:"size-4 text-[var(--accent-2,#ff7a45)]"}),(0,a.jsx)("span",{className:"text-sm font-semibold tracking-tight",children:"Notes"}),(0,a.jsx)("span",{className:"ml-auto"}),(0,a.jsx)("button",{type:"button",onClick:j,"aria-label":"New note",title:"New note",className:"rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,a.jsx)(i.A,{className:"size-4"})}),(0,a.jsx)("button",{type:"button",onClick:t,"aria-label":"Close notes",title:"Close",className:"rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,a.jsx)(l.A,{className:"size-4"})})]}),(0,a.jsx)("div",{className:"max-h-44 shrink-0 overflow-y-auto border-b border-white/10 p-1.5",children:0===s.length?(0,a.jsxs)("p",{className:"px-2 py-3 text-[13px] text-muted-foreground",children:["No notes yet. Hit ",(0,a.jsx)("span",{className:"text-foreground",children:"+"})," to start one."]}):s.map(e=>(0,a.jsxs)("div",{className:(0,P.cn)("group flex items-center gap-1 rounded-md px-2 py-1.5 text-[13px]",e.id===x?"bg-white/[0.09] text-foreground":"text-muted-foreground hover:bg-white/[0.04]"),children:[(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.id),className:"min-w-0 flex-1 truncate text-left",children:[e.pinned&&(0,a.jsx)(c,{className:"mr-1 inline size-3 -translate-y-px"}),e.title||"Untitled"]}),(0,a.jsx)("button",{type:"button",onClick:()=>y(e),"aria-label":e.pinned?"Unpin":"Pin",title:e.pinned?"Unpin":"Pin",className:"rounded p-1 opacity-0 transition hover:bg-white/[0.08] hover:text-foreground group-hover:opacity-100",children:e.pinned?(0,a.jsx)(d,{className:"size-3.5"}):(0,a.jsx)(c,{className:"size-3.5"})}),(0,a.jsx)("button",{type:"button",onClick:()=>w(e.id),"aria-label":"Delete note",title:"Delete",className:"rounded p-1 opacity-0 transition hover:bg-white/[0.08] hover:text-red-300 group-hover:opacity-100",children:(0,a.jsx)(u.A,{className:"size-3.5"})})]},e.id))}),A?(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 p-3",children:[(0,a.jsx)("input",{value:A.title,onChange:e=>k(A.id,{title:e.target.value}),placeholder:"Untitled",className:"w-full bg-transparent text-base font-semibold tracking-tight text-foreground placeholder:text-muted-foreground/60 focus:outline-none"}),(0,a.jsx)(N,{value:A.body,onChange:e=>k(A.id,{body:e})},A.id)]}):(0,a.jsxs)("div",{className:"flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground",children:["Select a note, or create one. Then ",(0,a.jsx)("span",{className:"px-1 text-foreground",children:"@"}),"-mention it in your terminal to turn it into features."]})]})})}},77242:(e,t,s)=>{"use strict";s.d(t,{TabWorkspace:()=>i});var a=s(12115),r=s(73321),n=s(60292);function i(){let e=(0,r.useRouter)(),t=(0,r.usePathname)();return(0,a.useEffect)(()=>{let e=window.fetch;if(e.__beaconPinned)return;let t=(t,s)=>{try{let a=(0,n.fk)();if(a){let r=window.location.origin;if(t instanceof Request){if((0,n.q0)(t.url,r)&&!t.headers.has("x-beacon-workspace")){let r=new Headers(t.headers);return r.set("x-beacon-workspace",a),e(new Request(t,{headers:r}),s)}}else{let i="string"==typeof t?t:t.href;if((0,n.q0)(i,r)){let r=new Headers(s?.headers);if(!r.has("x-beacon-workspace"))return r.set("x-beacon-workspace",a),e(t,{...s,headers:r})}}}}catch{}return e(t,s)};return t.__beaconPinned=!0,window.fetch=t,()=>{window.fetch=e}},[]),(0,a.useEffect)(()=>{let s=new URLSearchParams(window.location.search).get("ws");if(s){try{sessionStorage.setItem(n.Bz,s)}catch{}return}let a=null;try{a=sessionStorage.getItem(n.Bz)}catch{}if(!a)return;let r=new URLSearchParams(window.location.search);r.set("ws",a),e.replace(`${t}?${r.toString()}`)},[t,e]),null}},81984:(e,t,s)=>{"use strict";s.d(t,{NotesProvider:()=>i,b:()=>l});var a=s(95155),r=s(12115);let n=(0,r.createContext)(null);function i({children:e}){let[t,s]=(0,r.useState)(!1),l=(0,r.useCallback)(()=>s(!0),[]),o=(0,r.useCallback)(()=>s(!1),[]),c=(0,r.useCallback)(()=>s(e=>!e),[]),d=(0,r.useMemo)(()=>({open:t,openDrawer:l,close:o,toggle:c}),[t,l,o,c]);return(0,a.jsx)(n.Provider,{value:d,children:e})}function l(){let e=(0,r.useContext)(n);if(!e)throw Error("useNotes must be used inside NotesProvider");return e}},81998:(e,t,s)=>{"use strict";s.d(t,{LiveRefresh:()=>l});var a=s(12115),r=s(73321);let n={primed:!1,lastV:-1,lastNavSeq:-1};var i=s(60292);function l(){let e=(0,r.useRouter)();return(0,a.useEffect)(()=>{let t=(0,i.fk)(),s=new EventSource(t?`/api/stream?ws=${encodeURIComponent(t)}`:"/api/stream"),a=n;return s.onopen=()=>{a=n},s.onmessage=t=>{var s,r;let n;try{n=JSON.parse(t.data)}catch{e.refresh();return}let{state:i,action:l}=(s=a,r={v:"number"==typeof n.v?n.v:0,navSeq:n.nav?.seq??0,navPath:n.nav?.path??""},s.primed?r.navSeq!==s.lastNavSeq?{state:{primed:!0,lastV:r.v,lastNavSeq:r.navSeq},action:{kind:"push",path:r.navPath}}:r.v!==s.lastV?{state:{...s,lastV:r.v},action:{kind:"refresh"}}:{state:s,action:{kind:"none"}}:{state:{primed:!0,lastV:r.v,lastNavSeq:r.navSeq},action:{kind:"none"}});if(a=i,"refresh"===l.kind)e.refresh();else if("push"===l.kind&&l.path){e.push(l.path);try{window.focus()}catch{}}},()=>s.close()},[e]),null}},82879:(e,t,s)=>{"use strict";s.d(t,{A:()=>a});let a=(0,s(30772).A)("sticky-note",[["path",{d:"M21 9a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 15 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2z",key:"1dfntj"}],["path",{d:"M15 3v5a1 1 0 0 0 1 1h5",key:"6s6qgf"}]])},99979:(e,t,s)=>{"use strict";function a(){return new URLSearchParams(window.location.search).get("ws")}function r(e){let t=new URLSearchParams,s=a();for(let[a,r]of(s&&t.set("ws",s),Object.entries(e??{})))t.set(a,r);let r=t.toString();return r?`/plan?${r}`:"/plan"}s.d(t,{X0:()=>a,rc:()=>r})}},e=>{e.O(0,[7513,7352,5004,277,8500,7043,1936,9887,2231,8441,3794,7358],()=>e(e.s=15053)),_N_E=e.O()}]);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[459],{9005:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},9383:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},16607:(e,t,s)=>{"use strict";s.d(t,{d:()=>c});var n=s(95155),r=s(24413),a=s(9005),o=s(78780),i=s(76721),l=s(82099),d=s(91337);function c({steps:e,index:t,onPrev:s,onNext:u,onExit:x,onGoto:h}){let m=e[t];if(!m)return null;let f=t===e.length-1;return(0,n.jsxs)(l.b,{className:"absolute bottom-3 left-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,n.jsx)(r.A,{className:"size-3.5"}),"Guided tour"]}),(0,n.jsx)("button",{onClick:x,title:"End tour (Esc)",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,n.jsx)(a.A,{className:"size-4"})})]}),(0,n.jsxs)("div",{className:"border-b border-white/10 px-3.5 py-3",children:[(0,n.jsxs)("div",{className:"text-[10px] font-medium uppercase tracking-wide text-[var(--accent-2,#ff7a45)]",children:["Step ",t+1," / ",e.length]}),(0,n.jsx)("h2",{className:"mt-1 break-words text-sm font-semibold leading-tight",children:m.title}),(0,n.jsx)("p",{className:"mt-1 text-[11px] leading-snug text-muted-foreground",children:m.summary})]}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-1.5",children:(0,n.jsx)("ol",{className:"space-y-0.5",children:e.map((e,s)=>(0,n.jsx)("li",{children:(0,n.jsxs)("button",{onClick:()=>h(s),title:e.title,className:(0,d.cn)("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left transition-colors",s===t?"bg-white/[0.08] text-foreground":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:[(0,n.jsx)("span",{className:(0,d.cn)("flex size-4 shrink-0 items-center justify-center rounded-full text-[9px] font-bold",s===t?"bg-[var(--accent-2,#ff7a45)] text-background":"bg-white/10 text-muted-foreground"),children:s+1}),(0,n.jsx)("span",{className:"truncate text-[11px]",children:e.title})]})},e.id))})}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 border-t border-white/10 p-2",children:[(0,n.jsxs)("button",{onClick:s,disabled:0===t,className:"flex items-center gap-1 rounded-md px-2 py-1.5 text-[11px] text-muted-foreground transition-colors enabled:hover:bg-white/[0.06] enabled:hover:text-foreground disabled:opacity-40",children:[(0,n.jsx)(o.A,{className:"size-3.5"})," Prev"]}),f?(0,n.jsx)("button",{onClick:x,className:"rounded-md bg-[var(--accent-2,#ff7a45)]/90 px-3 py-1.5 text-[11px] font-semibold text-background transition-colors hover:bg-[var(--accent-2,#ff7a45)]",children:"Done"}):(0,n.jsxs)("button",{onClick:u,className:"flex items-center gap-1 rounded-md bg-white/10 px-3 py-1.5 text-[11px] font-semibold text-foreground transition-colors hover:bg-white/[0.16]",children:["Next ",(0,n.jsx)(i.A,{className:"size-3.5"})]})]})]})}},17356:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},24413:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]])},25494:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},28736:(e,t,s)=>{"use strict";s.d(t,{U:()=>i,u:()=>l});var n=s(6266);function r(e){let{x:t,y:s}=e.internals.positionAbsolute,n=e.measured?.width??0,r=e.measured?.height??0;return{x:t,y:s,w:n,h:r,cx:t+n/2,cy:s+r/2}}function a(e,t){let s=r(e),n=r(t),a=s.w/2||1,o=s.h/2||1,i=(n.cx-s.cx)/(2*a)-(n.cy-s.cy)/(2*o),l=(n.cx-s.cx)/(2*a)+(n.cy-s.cy)/(2*o),d=1/(Math.abs(i)+Math.abs(l)||1);return{x:a*d*(i+l)+s.cx,y:o*d*(-i+l)+s.cy}}function o(e,t){let s=r(e),a=Math.round(t.x),o=Math.round(t.y);return a<=Math.round(s.x)+1?n.yX.Left:a>=Math.round(s.x+s.w)-1?n.yX.Right:o<=Math.round(s.y)+1?n.yX.Top:n.yX.Bottom}function i(e,t){let s=a(e,t),n=a(t,e);return{sx:s.x,sy:s.y,tx:n.x,ty:n.y,sourcePos:o(e,s),targetPos:o(t,n)}}function l(e,t){let s=e.x+e.w/2,n=e.y+e.h/2,r=t.x-s,a=t.y-n;if(0===r&&0===a)return{x:s,y:n};let o=1/Math.max(Math.abs(r)/(e.w/2||1),Math.abs(a)/(e.h/2||1));return{x:s+r*o,y:n+a*o}}},31966:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},37665:(e,t,s)=>{"use strict";s.d(t,{LearnWorkspace:()=>R});var n=s(95155),r=s(12115),a=s(73321),o=s(38096),i=s(24413),l=s(25494),d=s(9383);let c=(0,s(30772).A)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var u=s(9005),x=s(92571),h=s(40557),m=s(64577),f=s(91337),p=s(60292),g=s(51909),b=s(17356);let v="u">typeof CSS&&"highlights"in CSS&&"u">typeof Highlight,y="lesson-pending",j="lesson-ask",w="lesson-answered";function k(){return v?CSS.highlights:null}function N(...e){return new globalThis.Highlight(...e)}function A(e,t){if(!t)return null;let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:e=>e.parentElement?.closest("pre, table")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}),n=[],r="";for(let e=s.nextNode();e;e=s.nextNode())n.push({node:e,start:r.length}),r+=e.nodeValue??"";let a=r.indexOf(t);if(a<0)return null;let o=e=>{for(let t=n.length-1;t>=0;t--)if(n[t].start<=e)return{node:n[t].node,offset:e-n[t].start};return null},i=o(a),l=o(a+t.length);if(!i||!l)return null;let d=document.createRange();return d.setStart(i.node,i.offset),d.setEnd(l.node,l.offset),d}function C({narrative:e,round:t,answered:s=[],onApi:a}){let[o,i]=(0,r.useState)([]),[l,d]=(0,r.useState)(null),[c,u]=(0,r.useState)(null),x=(0,r.useRef)(null),h=(0,r.useRef)(null);(0,r.useEffect)(()=>{i([])},[t]);let m=(0,r.useCallback)(()=>{let e=window.getSelection();if(!e||e.isCollapsed)return d(null);let t=e.toString().trim();if(!t||!x.current?.contains(e.anchorNode))return d(null);let s=e.getRangeAt(0).getBoundingClientRect();d({x:s.right+window.scrollX,y:s.top+window.scrollY,excerpt:t})},[]);(0,r.useEffect)(()=>{let e=()=>setTimeout(m,0);return document.addEventListener("mouseup",e),document.addEventListener("selectionchange",e),()=>{document.removeEventListener("mouseup",e),document.removeEventListener("selectionchange",e)}},[m]);let f=(0,r.useCallback)((e,t)=>{i(s=>[...s,{id:`tq-${Date.now()}-${Math.floor(1e6*Math.random())}`,excerpt:e,question:t}])},[]),p=(0,r.useCallback)(e=>i(t=>t.filter(t=>t.id!==e)),[]),g=(0,r.useCallback)(()=>i([]),[]);(0,r.useEffect)(()=>{let e=k();if(!c||!e)return;let t=h.current;if(t)return e.set(y,N(t)),()=>{e.delete(y)}},[c]),(0,r.useEffect)(()=>{let e=k();if(!e||!x.current)return;let t=[],n=[];for(let e of o){let s=A(x.current,e.excerpt);s&&t.push(s)}for(let e of s){let t=A(x.current,e.excerpt);t&&n.push(t)}let r=(t,s)=>s.length?e.set(t,N(...s)):e.delete(t);return r(j,t),r(w,n),()=>{e.delete(j),e.delete(w)}},[o,s,e]);let v=(0,r.useMemo)(()=>o.filter(e=>e.question.trim()).length,[o]);return(0,r.useEffect)(()=>{a?.({textQuestions:o,count:v,removeQuestion:p,clearAll:g})},[o,v,p,g,a]),(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,n.jsx)("div",{ref:x,className:"min-h-0 flex-1 overflow-y-auto px-5 pb-5 pt-16 text-[15px] leading-[1.6] selection:bg-[var(--accent-2,#ff7a45)]/30",children:(0,n.jsx)(S,{markdown:e})}),l&&(0,n.jsx)("div",{style:{position:"fixed",left:l.x+4,top:l.y-34,zIndex:60},className:"rounded-md border border-white/15 bg-card/95 p-0.5 shadow-lg backdrop-blur",children:(0,n.jsxs)("button",{onClick:()=>{let e=window.getSelection();h.current=e&&e.rangeCount?e.getRangeAt(0).cloneRange():null,u({...l}),d(null),e?.removeAllRanges()},title:"Ask the agent about this",className:"flex items-center gap-1 rounded px-2 py-1 text-[11px] font-semibold text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/15",children:[(0,n.jsx)(b.A,{className:"size-3.5"})," Ask"]})}),c&&(0,n.jsx)(z,{excerpt:c.excerpt,x:c.x,y:c.y,onConfirm:e=>{f(c.excerpt,e),u(null)},onCancel:()=>u(null)})]})}function z({excerpt:e,x:t,y:s,onConfirm:a,onCancel:o}){let[i,l]=(0,r.useState)(""),d=(0,r.useRef)(null),c=()=>i.trim()?a(i.trim()):o();return(0,n.jsxs)("div",{ref:d,style:{position:"fixed",left:t+4,top:s-6,zIndex:60},className:"w-72 rounded-md border border-white/15 bg-card/95 p-1.5 shadow-xl backdrop-blur",onBlur:e=>{d.current?.contains(e.relatedTarget)||c()},children:[(0,n.jsxs)("div",{className:"mb-1 line-clamp-1 text-[10px] text-muted-foreground",children:["“",e,"”"]}),(0,n.jsx)("textarea",{autoFocus:!0,value:i,onChange:e=>l(e.target.value),placeholder:"Ask the agent… (Enter to ask \xb7 Esc to discard)",onKeyDown:e=>{e.stopPropagation(),"Enter"!==e.key||e.shiftKey?"Escape"===e.key&&(e.preventDefault(),o()):(e.preventDefault(),c())},className:"h-16 w-full resize-none rounded bg-white/[0.05] px-1.5 py-1 text-xs outline-none placeholder:text-muted-foreground/50 focus:bg-white/[0.08]"}),(0,n.jsxs)("div",{className:"mt-1 flex items-center justify-end gap-1",children:[(0,n.jsxs)("button",{type:"button",onClick:o,className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground hover:bg-red-500/15 hover:text-red-300",children:[(0,n.jsx)(u.A,{className:"size-3"})," Discard"]}),(0,n.jsxs)("button",{type:"button",onClick:c,disabled:!i.trim(),className:"flex items-center gap-1 rounded bg-[var(--accent-2,#ff7a45)]/15 px-1.5 py-0.5 text-[10px] font-semibold text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/25 disabled:opacity-40",children:[(0,n.jsx)(m.A,{className:"size-3"})," Ask"]})]})]})}function S({markdown:e}){let t=(0,r.useMemo)(()=>(0,g.n$)(e),[e]);return(0,n.jsxs)("div",{className:"mx-auto w-full max-w-[66ch] space-y-4",children:[(0,n.jsx)("style",{children:`
|
|
2
|
+
::highlight(${y}) { background: color-mix(in srgb, var(--accent-2,#ff7a45) 30%, transparent); }
|
|
3
|
+
::highlight(${j}) { background: color-mix(in srgb, var(--accent-2,#ff7a45) 18%, transparent); }
|
|
4
|
+
::highlight(${w}) { background: color-mix(in srgb, #34d399 16%, transparent); }
|
|
5
|
+
`}),t.map((e,t)=>(0,n.jsx)(E,{block:e,index:t},t))]})}function E({block:e,index:t}){if("code"===e.kind)return(0,n.jsx)(g.NG,{text:e.text});if("table"===e.kind)return(0,n.jsx)(g.QH,{block:e});let s=(0,g.Vq)(e.kind)?`lesson-h-${t}`:void 0;return(0,n.jsx)(n.Fragment,{children:(0,g.aM)(e,(0,n.jsx)(g.cV,{text:e.text}),"reading",s)})}var M=s(94417),q=s(56895),I=s(16607);function R({initialLesson:e,repoFiles:t=[]}){let s=(0,a.useRouter)(),[x,h]=(0,r.useState)(e),[m,b]=(0,r.useState)(null),[v,y]=(0,r.useState)([]),[j,w]=(0,r.useState)(""),[k,N]=(0,r.useState)(!1),[A,z]=(0,r.useState)(!1),[S,E]=(0,r.useState)(!1),[X,$]=(0,r.useState)(null),[D,V]=(0,r.useState)(null),F=x?.updatedAt??0,B=(0,r.useRef)(F);(0,r.useEffect)(()=>{B.current=F},[F]),(0,r.useEffect)(()=>{let e=()=>void fetch("/api/lesson/presence",{method:"POST",cache:"no-store",headers:(0,p.dh)((0,p.fk)())}).catch(()=>{});e();let t=setInterval(e,5e3);return()=>clearInterval(t)},[]),(0,r.useEffect)(()=>{if(X)return;let e=async()=>{try{let e=await fetch("/api/lesson",{cache:"no-store",headers:(0,p.dh)((0,p.fk)())});if(!e.ok)return;let t=(await e.json()).lesson;t&&t.updatedAt>B.current?(h(t),y([]),w(""),E(!1)):!t&&B.current>0&&h(null)}catch{}},t=setInterval(()=>void e(),3e3);return()=>clearInterval(t)},[X]);let Y=(0,r.useCallback)(()=>{let e=Date.now(),t=(m?.textQuestions??[]).filter(e=>e.question.trim()).map(t=>({id:t.id,anchor:{kind:"text",excerpt:t.excerpt},question:t.question,askedAt:e})),s=v.filter(e=>e.question.trim()).map(t=>({id:t.id,anchor:{kind:"node",nodeId:t.nodeId},question:t.question,askedAt:e}));return[...j.trim()?[{id:`oq-${e}`,anchor:{kind:"overall"},question:j.trim(),askedAt:e}]:[],...s,...t]},[m,v,j]),H=(m?.count??0)+v.filter(e=>e.question.trim()).length+ +!!j.trim();(0,r.useEffect)(()=>{if(S||X)return;let e=setTimeout(()=>{fetch("/api/lesson/questions",{method:"PUT",headers:{"content-type":"application/json",...(0,p.dh)((0,p.fk)())},body:JSON.stringify({questions:Y()})}).catch(()=>{})},500);return()=>clearTimeout(e)},[Y,S,X]);let U=(0,r.useCallback)(async()=>{if(!A&&0!==H){z(!0);try{(await fetch("/api/lesson/questions",{method:"POST",headers:{"content-type":"application/json",...(0,p.dh)((0,p.fk)())},body:JSON.stringify({questions:Y()})})).ok&&(E(!0),N(!1))}finally{z(!1)}}},[A,H,Y]),_=(0,r.useCallback)(async()=>{let e=await fetch("/api/lesson/save",{method:"POST",headers:(0,p.dh)((0,p.fk)())});e.ok&&(V((await e.json()).lessonId??x?.id??null),$("saved"))},[x]),Q=(0,r.useCallback)(async()=>{await fetch("/api/lesson/close",{method:"POST",headers:(0,p.dh)((0,p.fk)())}).catch(()=>{}),$("closed")},[]),W=(0,r.useCallback)((e,t)=>{y(s=>[...s,{id:`nq-${Date.now()}-${Math.floor(1e6*Math.random())}`,nodeId:e,question:t}])},[]),G=(0,r.useMemo)(()=>(x?.questions??[]).filter(e=>"text"===e.anchor.kind&&e.answer).map(e=>({excerpt:"text"===e.anchor.kind?e.anchor.excerpt:"",answer:e.answer??""})),[x]),J=(0,r.useMemo)(()=>{let e=new Map;for(let t of v)t.question.trim()&&e.set(t.nodeId,(e.get(t.nodeId)??0)+1);return e},[v]),K=(0,r.useMemo)(()=>(x?.questions??[]).filter(e=>"overall"===e.anchor.kind),[x]),Z=(0,r.useRef)(null),ee=(0,r.useMemo)(()=>(x?.steps??[]).map(e=>({id:e.id,kind:e.focusIds.length?"group":"overview",title:e.title,summary:e.summary,focusIds:e.focusIds})),[x]),et=(0,r.useMemo)(()=>new Map((x?.steps??[]).map(e=>[e.id,e.narrativeAnchor])),[x]),es=(0,r.useCallback)(e=>{Z.current?.frame(e.focusIds);let t=et.get(e.id);t&&document.getElementById(t)?.scrollIntoView({behavior:"smooth",block:"start"})},[et]),en=(0,q.W)(ee,es);return((0,r.useEffect)(()=>{en.active||Z.current?.frame(null)},[en.active]),X)?(0,n.jsx)(L,{ended:X,savedId:D,onBrowse:()=>s.push("/learn?view=library")}):x?(0,n.jsx)(g.Ue,{files:t,children:(0,n.jsxs)("div",{className:"relative flex h-screen flex-col",children:[S&&(0,n.jsx)(O,{}),(0,n.jsx)("div",{className:"pointer-events-none fixed right-3 top-3 z-30 flex items-center gap-2",children:(0,n.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-0.5 rounded-full px-1",children:[(0,n.jsx)("button",{onClick:()=>s.push("/learn?view=library"),title:"Saved lessons",className:"flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,n.jsx)(o.A,{className:"size-3.5"})}),ee.length>0&&(0,n.jsx)("button",{onClick:()=>en.active?en.stop():en.start(),title:en.active?"End walkthrough":"Start the guided walkthrough",className:(0,f.cn)("flex size-8 items-center justify-center rounded-full transition-colors",en.active?"bg-white/10 text-foreground":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:(0,n.jsx)(i.A,{className:"size-3.5"})}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,n.jsxs)("button",{onClick:()=>N(e=>!e),title:"Ask an overall question",className:(0,f.cn)("relative flex size-8 items-center justify-center rounded-full transition-colors",k?"bg-white/10 text-foreground":j.trim()?"text-[var(--accent-2,#ff7a45)]":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,n.jsx)(l.A,{className:"size-3.5"}),j.trim()&&(0,n.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-2 rounded-full bg-[var(--accent-2,#ff7a45)]"})]}),(0,n.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,n.jsxs)("button",{onClick:()=>void U(),disabled:A||0===H,title:0===H?"Highlight text or a node to ask, then send":"Send your questions to the agent",className:(0,f.cn)("flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-semibold transition-colors",0===H?"text-muted-foreground opacity-50":"text-[var(--accent-2,#ff7a45)] hover:bg-[var(--accent-2,#ff7a45)]/15"),children:[(0,n.jsx)(d.A,{className:"size-3"})," Send",H>0?` (${H})`:""]}),(0,n.jsxs)("button",{onClick:()=>void _(),title:"Save this lesson to your library",className:"flex items-center gap-1 rounded-full border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",children:[(0,n.jsx)(c,{className:"size-3"})," Save"]}),(0,n.jsxs)("button",{onClick:()=>void Q(),title:"Close without saving",className:"flex items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",children:[(0,n.jsx)(u.A,{className:"size-3"})," Close"]})]})}),k&&(0,n.jsxs)("div",{className:"fixed right-3 top-16 z-30 w-80 rounded-xl border border-white/10 bg-card p-3 shadow-xl",children:[(0,n.jsx)("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Overall question"}),(0,n.jsx)("textarea",{autoFocus:!0,value:j,onChange:e=>w(e.target.value),placeholder:"A question about the whole topic…",rows:3,className:"w-full resize-y rounded border border-white/5 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-[var(--accent-2,#ff7a45)]/40"})]}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,n.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col bg-background",style:{width:"50%"},children:[(0,n.jsx)("div",{className:"min-h-0 flex-1",children:(0,n.jsx)(C,{narrative:x.narrative,round:F,answered:G,onApi:b})}),K.length>0&&(0,n.jsx)(P,{questions:K})]}),(0,n.jsx)("div",{className:"w-px shrink-0 bg-white/5"}),(0,n.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",style:{width:"50%"},children:[(0,n.jsx)(M.R,{lesson:x,onAskNode:W,pendingByNode:J,controlRef:Z,focusIds:en.active?en.focusIds:null}),en.active&&(0,n.jsx)(I.d,{steps:ee,index:en.index,onPrev:en.prev,onNext:en.next,onExit:en.stop,onGoto:en.goto})]})]})]})}):(0,n.jsx)(T,{})}function P({questions:e}){return(0,n.jsxs)("div",{className:"max-h-44 shrink-0 space-y-1.5 overflow-y-auto border-t border-white/10 bg-background/60 px-5 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[(0,n.jsx)(l.A,{className:"size-3"}),"Overall Q&A"]}),e.map(e=>(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-background/40 p-2",children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-foreground",children:e.question}),e.answer?(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(g.pO,{markdown:e.answer,variant:"compact"})}):(0,n.jsxs)("div",{className:"mt-1 flex items-center gap-1 text-[11px] text-muted-foreground/70",children:[(0,n.jsx)(x.A,{className:"size-3 animate-spin"})," waiting for the agent…"]})]},e.id))]})}function O(){return(0,n.jsxs)("div",{className:"absolute inset-0 z-40 flex flex-col items-center justify-center gap-4 bg-background/95 px-6 text-center backdrop-blur-sm",children:[(0,n.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-[var(--accent-2,#ff7a45)]/15",children:(0,n.jsx)(x.A,{className:"size-6 animate-spin text-[var(--accent-2,#ff7a45)]"})}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Questions sent"}),(0,n.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"Your terminal session is answering. The updated lesson will appear here automatically."})]})]})}function T(){return(0,n.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center gap-3 px-6 text-center",children:[(0,n.jsx)(h.A,{className:"size-8 text-muted-foreground/60"}),(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"No lesson open"}),(0,n.jsxs)("p",{className:"max-w-md text-sm text-muted-foreground",children:["Ask your terminal session to ",(0,n.jsx)("em",{children:"explain"})," or ",(0,n.jsx)("em",{children:"teach"})," you part of the codebase — it opens an interactive lesson here. You highlight text to ask questions; it answers on the board."]})]})}function L({ended:e,savedId:t,onBrowse:s}){return(0,n.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center gap-5 px-6 text-center",children:[(0,n.jsx)("div",{className:(0,f.cn)("flex size-12 items-center justify-center rounded-full","saved"===e?"bg-emerald-500/15":"bg-white/10"),children:"saved"===e?(0,n.jsx)(m.A,{className:"size-6 text-emerald-300"}):(0,n.jsx)(u.A,{className:"size-6 text-muted-foreground"})}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"saved"===e?"Lesson saved":"Lesson closed"}),(0,n.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"saved"===e?"It's in your library — reopen it anytime.":"Closed without saving."})]}),(0,n.jsxs)("button",{onClick:s,className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,n.jsx)(o.A,{className:"mr-1 inline size-3.5"})," ",t?"Browse the library":"Open the library"]})]})}},38096:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("library",[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]])},38464:(e,t,s)=>{"use strict";s.d(t,{LessonLibraryView:()=>h});var n=s(95155),r=s(12115),a=s(73321),o=s(38096),i=s(40557),l=s(31966),d=s(60292),c=s(51909),u=s(94417);function x(e){let t=new URLSearchParams,s=(0,d.fk)();for(let[n,r]of(s&&t.set("ws",s),Object.entries(e)))t.set(n,r);return`/learn?${t.toString()}`}function h({lessons:e,selected:t,repoFiles:s=[]}){return t?(0,n.jsx)(f,{lesson:t,repoFiles:s}):(0,n.jsx)(m,{lessons:e})}function m({lessons:e}){let t=(0,a.useRouter)();return(0,n.jsxs)("div",{className:"mx-auto flex h-screen w-full max-w-3xl flex-col px-6 pt-20",children:[(0,n.jsxs)("div",{className:"mb-5 flex items-center justify-between",children:[(0,n.jsxs)("h1",{className:"flex items-center gap-2 text-lg font-semibold text-foreground",children:[(0,n.jsx)(o.A,{className:"size-5 text-[var(--accent-2,#ff7a45)]"})," Lessons"]}),(0,n.jsx)("button",{onClick:()=>t.push(x({})),className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Back to current lesson"})]}),0===e.length?(0,n.jsxs)("div",{className:"rounded-lg border border-dashed border-white/10 px-4 py-12 text-center text-sm text-muted-foreground",children:["No saved lessons yet. Ask your terminal session to explain something, then click ",(0,n.jsx)("b",{children:"Save"}),"."]}):(0,n.jsx)("div",{className:"min-h-0 flex-1 space-y-2 overflow-y-auto pb-6",children:e.map(e=>(0,n.jsxs)("button",{onClick:()=>t.push(x({view:"library",id:e.id})),className:"block w-full rounded-lg border border-white/10 bg-white/[0.02] p-3 text-left transition-colors hover:border-white/20 hover:bg-white/[0.04]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-[14px] font-semibold text-foreground",children:[(0,n.jsx)(i.A,{className:"size-4 text-[var(--accent-2,#ff7a45)]"})," ",e.title]}),e.topic&&e.topic!==e.title&&(0,n.jsx)("div",{className:"mt-0.5 truncate text-[12px] text-muted-foreground",children:e.topic}),(0,n.jsxs)("div",{className:"mt-1 text-[11px] text-muted-foreground/70",children:[e.nodeCount," node",1===e.nodeCount?"":"s"," \xb7 ",e.questionCount," question",1===e.questionCount?"":"s"," \xb7 saved ",new Date(e.updatedAt).toLocaleDateString()]})]},e.id))})]})}function f({lesson:e,repoFiles:t}){let s=(0,a.useRouter)(),o=(0,r.useMemo)(()=>new Map(e.nodes.map(e=>[e.id,e.title])),[e.nodes]);return(0,n.jsx)(c.Ue,{files:t,children:(0,n.jsxs)("div",{className:"relative flex h-screen flex-col",children:[(0,n.jsx)("div",{className:"pointer-events-none fixed right-3 top-3 z-30",children:(0,n.jsxs)("button",{onClick:()=>s.push(x({view:"library"})),className:"glass pointer-events-auto flex h-10 items-center gap-1.5 rounded-full px-3 text-[12px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,n.jsx)(l.A,{className:"size-3.5"})," Library"]})}),(0,n.jsxs)("div",{className:"flex min-h-0 flex-1",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col overflow-y-auto bg-background px-5 pb-6 pt-16",style:{width:"50%"},children:[(0,n.jsx)(c.pO,{markdown:e.narrative,variant:"reading"}),e.questions.length>0&&(0,n.jsxs)("div",{className:"mx-auto mt-6 w-full max-w-[66ch] space-y-2",children:[(0,n.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Q&A"}),e.questions.map(e=>(0,n.jsx)(p,{q:e,nodeTitle:"node"===e.anchor.kind?o.get(e.anchor.nodeId):void 0},e.id))]})]}),(0,n.jsx)("div",{className:"w-px shrink-0 bg-white/5"}),(0,n.jsx)("div",{className:"min-w-0 flex-1 bg-background",style:{width:"50%"},children:(0,n.jsx)(u.R,{lesson:e,readOnly:!0})})]})]})})}function p({q:e,nodeTitle:t}){let s="overall"===e.anchor.kind?"Overall":"node"===e.anchor.kind?t??"Node":`“${e.anchor.excerpt.slice(0,48)}…”`;return(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-background/40 p-2",children:[(0,n.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground/80",children:s}),(0,n.jsx)("div",{className:"mt-0.5 text-[12px] font-medium text-foreground",children:e.question}),e.answer&&(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(c.pO,{markdown:e.answer,variant:"compact"})})]})}},40557:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},56895:(e,t,s)=>{"use strict";s.d(t,{W:()=>r});var n=s(12115);function r(e,t){let[s,r]=(0,n.useState)(!1),[a,o]=(0,n.useState)(0),i=s?e[a]??null:null,l=(0,n.useCallback)(()=>{o(0),r(!0)},[]),d=(0,n.useCallback)(()=>r(!1),[]),c=(0,n.useCallback)(()=>o(t=>Math.min(t+1,e.length-1)),[e.length]),u=(0,n.useCallback)(()=>o(e=>Math.max(e-1,0)),[]),x=(0,n.useCallback)(t=>{t>=0&&t<e.length&&o(t)},[e.length]);(0,n.useEffect)(()=>{if(!s)return;let n=e[a];n&&t(n)},[s,a]),(0,n.useEffect)(()=>{if(!s)return;let e=e=>{"ArrowRight"===e.key?(e.preventDefault(),c()):"ArrowLeft"===e.key?(e.preventDefault(),u()):"Escape"===e.key&&(e.preventDefault(),d())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s,c,u,d]);let h=(0,n.useMemo)(()=>i&&i.focusIds.length?new Set(i.focusIds):null,[i]);return{active:s,index:a,step:i,start:l,stop:d,next:c,prev:u,goto:x,focusIds:h}}},60292:(e,t,s)=>{"use strict";s.d(t,{Bz:()=>n,Fj:()=>i,aE:()=>a,dh:()=>o,fk:()=>r,q0:()=>l});let n="beacon:tab-ws";function r(){var e;let t=new URLSearchParams(window.location.search).get("ws"),s=null;try{t&&sessionStorage.setItem(n,t),s=sessionStorage.getItem(n)}catch{}return e=s,t||e||null}function a(e){try{sessionStorage.setItem(n,e)}catch{}}function o(e){return e?{"x-beacon-workspace":e}:{}}function i(e,t,s){let n=new URLSearchParams;for(let[e,r]of(t&&n.set("ws",t),Object.entries(s??{})))n.set(e,r);let r=n.toString();return r?`${e}?${r}`:e}function l(e,t){if(e.startsWith("/api/"))return!0;try{let s=new URL(e,t);return s.origin===t&&s.pathname.startsWith("/api/")}catch{return!1}}},73206:(e,t,s)=>{Promise.resolve().then(s.bind(s,37665)),Promise.resolve().then(s.bind(s,38464))},73321:(e,t,s)=>{"use strict";var n=s(74645);s.o(n,"usePathname")&&s.d(t,{usePathname:function(){return n.usePathname}}),s.o(n,"useRouter")&&s.d(t,{useRouter:function(){return n.useRouter}})},76721:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},78780:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},82099:(e,t,s)=>{"use strict";s.d(t,{b:()=>a});var n=s(95155);s(12115);var r=s(91337);function a({className:e,children:t,...s}){return(0,n.jsxs)("div",{className:(0,r.cn)("glass relative isolate overflow-hidden",e),...s,children:[(0,n.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 -z-10 rounded-[inherit]",style:{background:"radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"}}),(0,n.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")",backgroundSize:"120px 120px"}}),t]})}},91337:(e,t,s)=>{"use strict";s.d(t,{cn:()=>a});var n=s(29722),r=s(622);function a(...e){return(0,r.QP)((0,n.$)(e))}},92571:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let n=(0,s(30772).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},94417:(e,t,s)=>{"use strict";s.d(t,{R:()=>f});var n=s(95155),r=s(12115),a=s(81750),o=s(6266),i=s(17356),l=s(9005),d=s(91337),c=s(95635),u=s(28736),x=s(51909);let h={lesson:function({id:e,data:t}){return(0,n.jsxs)("div",{className:(0,d.cn)("w-56 rounded-xl border bg-card/90 px-3 py-2.5 shadow-sm backdrop-blur transition-opacity",t.selected?"border-[var(--accent-2,#ff7a45)]/70 ring-1 ring-[var(--accent-2,#ff7a45)]/40":"border-white/12",t.dimmed&&"opacity-25"),children:[(0,n.jsx)(c.x,{}),(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,n.jsx)("div",{className:"text-[13px] font-semibold leading-tight text-foreground",children:t.title}),!t.readOnly&&(0,n.jsx)("button",{onClick:s=>{s.stopPropagation(),t.onAsk(e)},title:"Ask about this",className:"nodrag shrink-0 rounded-full p-0.5 text-muted-foreground hover:bg-[var(--accent-2,#ff7a45)]/15 hover:text-[var(--accent-2,#ff7a45)]",children:(0,n.jsx)(i.A,{className:"size-3.5"})})]}),t.summary&&(0,n.jsx)("div",{className:"mt-1 text-[11px] leading-snug text-muted-foreground",children:t.summary}),(t.fileCount>0||t.pending>0||t.answered>0)&&(0,n.jsxs)("div",{className:"mt-1.5 flex items-center gap-2 text-[10px] text-muted-foreground/80",children:[t.fileCount>0&&(0,n.jsxs)("span",{children:[t.fileCount," file",1===t.fileCount?"":"s"]}),t.answered>0&&(0,n.jsxs)("span",{className:"text-emerald-300/90",children:[t.answered," answered"]}),t.pending>0&&(0,n.jsxs)("span",{className:"text-[var(--accent-2,#ff7a45)]",children:[t.pending," pending"]})]})]})}},m={lesson:function(e){let t=(0,a.JY)(e.source),s=(0,a.JY)(e.target),r=t&&s?(0,u.U)(t,s):null,[i,l,d]=(0,o.Fp)(r?{sourceX:r.sx,sourceY:r.sy,sourcePosition:r.sourcePos,targetX:r.tx,targetY:r.ty,targetPosition:r.targetPos}:{sourceX:e.sourceX,sourceY:e.sourceY,sourcePosition:e.sourcePosition,targetX:e.targetX,targetY:e.targetY,targetPosition:e.targetPosition});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.tE,{id:e.id,path:i,style:e.style,markerEnd:e.markerEnd}),e.label&&(0,n.jsx)(a.rV,{children:(0,n.jsx)("div",{style:{position:"absolute",transform:`translate(-50%, -50%) translate(${l}px, ${d}px)`,fontSize:10,color:"#cfcfcf",background:"#161616",padding:"1px 5px",borderRadius:4,pointerEvents:"none",zIndex:1e3},children:e.label})})]})}};function f({lesson:e,onAskNode:t,pendingByNode:s=new Map,focusIds:i=null,controlRef:l,readOnly:d=!1}){let[c,u]=(0,r.useState)(null),x=(0,r.useRef)(null),g=(0,r.useCallback)(e=>{let t=x.current;t&&(e&&e.length?t.fitView({nodes:e.map(e=>({id:e})),duration:600,padding:.35,maxZoom:1.1}):t.fitView({duration:600,padding:.2,maxZoom:1}))},[]);(0,r.useEffect)(()=>{l&&(l.current={frame:g})},[l,g]);let b=(0,r.useMemo)(()=>{let t=new Map;for(let s of e.questions)"node"===s.anchor.kind&&s.answer&&t.set(s.anchor.nodeId,(t.get(s.anchor.nodeId)??0)+1);return t},[e.questions]),v=(0,r.useCallback)(e=>u(e),[]),y=(0,r.useMemo)(()=>e.nodes.map(e=>({id:e.id,type:"lesson",position:{x:e.x,y:e.y},data:{title:e.title,summary:e.summary,fileCount:e.files.length,pending:s.get(e.id)??0,answered:b.get(e.id)??0,selected:c===e.id,dimmed:!!i&&!i.has(e.id),readOnly:d,onAsk:v}})),[e.nodes,s,b,c,i,d,v]),j=(0,r.useMemo)(()=>e.edges.map(e=>({id:e.id,source:e.fromId,target:e.toId,type:"lesson",label:e.verb,markerEnd:{type:o.TG.ArrowClosed,color:"#9aa0a6",width:16,height:16},style:{stroke:"#6b7280",strokeWidth:1.5,opacity:i&&!(i.has(e.fromId)&&i.has(e.toId))?.15:1}})),[e.edges,i]),w=c?e.nodes.find(e=>e.id===c)??null:null;return(0,n.jsxs)("div",{className:"relative h-full w-full",children:[(0,n.jsx)(a.Gc,{nodes:y,edges:j,nodeTypes:h,edgeTypes:m,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,colorMode:"dark",fitView:!0,fitViewOptions:{padding:.2,maxZoom:1},minZoom:.2,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},onInit:e=>{x.current=e},onNodeClick:(e,t)=>u(t.id),onPaneClick:()=>u(null)}),w&&(0,n.jsx)(p,{node:w,questions:e.questions.filter(e=>"node"===e.anchor.kind&&e.anchor.nodeId===w.id),pending:s.get(w.id)??0,onAsk:t&&!d?e=>t(w.id,e):void 0,onClose:()=>u(null)})]})}function p({node:e,questions:t,pending:s,onAsk:a,onClose:o}){let[i,d]=(0,r.useState)("");return(0,n.jsxs)("div",{className:"absolute right-0 top-0 z-20 flex h-full w-80 flex-col border-l border-white/10 bg-card/95 backdrop-blur",children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2 border-b border-white/10 px-3.5 py-3",children:[(0,n.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.title}),(0,n.jsx)("button",{onClick:o,title:"Close",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,n.jsx)(l.A,{className:"size-4"})})]}),(0,n.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-3.5 py-3",children:[e.summary&&(0,n.jsx)("p",{className:"text-[12px] text-muted-foreground",children:e.summary}),e.detail&&(0,n.jsx)("div",{className:"text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(x.pO,{markdown:e.detail,variant:"compact"})}),e.files.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5 text-[11px]",children:e.files.map(e=>(0,n.jsx)("span",{children:(0,n.jsx)(x.cV,{text:`\`${e}\``})},e))}),t.length>0&&(0,n.jsxs)("div",{className:"space-y-1.5",children:[(0,n.jsx)("div",{className:"text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Q&A"}),t.map(e=>(0,n.jsxs)("div",{className:"rounded-md border border-white/10 bg-background/40 p-2",children:[(0,n.jsx)("div",{className:"text-[12px] font-medium text-foreground",children:e.question}),e.answer?(0,n.jsx)("div",{className:"mt-1 text-[12px] leading-relaxed text-foreground/85",children:(0,n.jsx)(x.pO,{markdown:e.answer,variant:"compact"})}):(0,n.jsx)("div",{className:"mt-1 text-[11px] text-muted-foreground/70",children:"waiting for the agent…"})]},e.id))]})]}),a&&(0,n.jsxs)("div",{className:"border-t border-white/10 p-2.5",children:[(0,n.jsx)("textarea",{value:i,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),i.trim()&&a?.(i.trim()),d(""))},placeholder:"Ask the agent about this node… (Enter)",rows:2,className:"w-full resize-none rounded border border-white/10 bg-background px-2 py-1 text-[12px] outline-none focus:border-[var(--accent-2,#ff7a45)]/40"}),s>0&&(0,n.jsxs)("div",{className:"mt-1 text-[10px] text-[var(--accent-2,#ff7a45)]",children:[s," question",1===s?"":"s"," queued — Send from the top bar"]})]})]})}},95635:(e,t,s)=>{"use strict";s.d(t,{x:()=>o});var n=s(95155),r=s(81750),a=s(6266);function o(){let e="!h-2 !w-2 !border-0 !bg-zinc-400";return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h7,{type:"target",position:a.yX.Top,id:"tt",className:e}),(0,n.jsx)(r.h7,{type:"source",position:a.yX.Top,id:"st",className:e}),(0,n.jsx)(r.h7,{type:"target",position:a.yX.Right,id:"tr",className:e}),(0,n.jsx)(r.h7,{type:"source",position:a.yX.Right,id:"sr",className:e}),(0,n.jsx)(r.h7,{type:"target",position:a.yX.Bottom,id:"tb",className:e}),(0,n.jsx)(r.h7,{type:"source",position:a.yX.Bottom,id:"sb",className:e}),(0,n.jsx)(r.h7,{type:"target",position:a.yX.Left,id:"tl",className:e}),(0,n.jsx)(r.h7,{type:"source",position:a.yX.Left,id:"sl",className:e})]})}}},e=>{e.O(0,[3862,7043,2019,1909,8441,3794,7358],()=>e(e.s=73206)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5823],{27950:(e,t,s)=>{Promise.resolve().then(s.bind(s,44853)),Promise.resolve().then(s.bind(s,62079)),Promise.resolve().then(s.bind(s,2359)),Promise.resolve().then(s.bind(s,77260))},62079:(e,t,s)=>{"use strict";s.d(t,{FilesMapClient:()=>U});var o=s(95155),n=s(12115),r=s(80277),l=s(81750),a=s(6266),i=s(7679),d=s(98766),c=s(15629),u=s(79176),p=s(2982),h=s(64385);s(53255);var f=s(17356),m=s(24413),x=s(18986),g=s(9005),b=s(25583),y=s(82099),w=s(62311),j=s(9991),k=s(47409),N=s(91157),v=s(56895),M=s(16607),S=s(14983);let C=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var A=s(44267),$=s(70947),z=s(98238),E=s(56614),D=s(28161);let I=/\.(py|go|rb|rs|java|php|ex|exs)$/i,R=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,O=e=>e.includes("/")?e.slice(0,e.indexOf("/")):"(root)";function T(e){let t=Math.max(14,.35*e.length),s=new Map;for(let t of e)s.set(t,O(t));for(let e=0;e<6;e++){let e=new Map;for(let t of s.values())e.set(t,(e.get(t)??0)+1);let o=!1;for(let[n,r]of s){if((e.get(r)??0)<=t||!n.startsWith(`${r}/`))continue;let l=n.slice(r.length+1);l.includes("/")&&(s.set(n,`${r}/${l.slice(0,l.indexOf("/"))}`),o=!0)}if(!o)break}return s}var P=s(29523),Z=s(70221),F=s(12410),L=s(91337);function _(e){return 5+.5*Math.min(e,26)}let W={file:(0,n.memo)(function({data:e}){let t=(0,P.k)(Z.kz),s=!!e.touched,n=e.recency??0,r=e.inDegree??0,i=_(r),d=e.layer??null,c=2*!!d,u=r>0?` \xb7 imported by ${r}`:"",p=d?` \xb7 ${"fullstack"===d?"shared (used by frontend + backend)":D.YG[d].label.toLowerCase()}`:"",h=s?`${e.tooltip} \xb7 edited ${e.count??0}\xd7 this session${u}${p}`:e.untested?`${e.tooltip} \xb7 no test imports this file${u}${p}`:`${e.tooltip}${u}${p}`;return(0,o.jsxs)("div",{title:h,className:"relative flex flex-col items-center",children:[(0,o.jsx)(l.h7,{type:"target",position:a.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,left:"50%"}}),(0,o.jsx)("span",{"aria-hidden":!0,className:(0,L.cn)("rounded-full",e.isNewest&&"animate-touch-pulse"),style:{padding:c,background:d?(0,D.A6)(d):void 0,boxShadow:s?`0 0 ${8+Math.round(14*n)}px ${2+Math.round(3*n)}px rgba(45,212,191,${(.35+.45*n).toFixed(2)})`:e.untested?"0 0 0 2px rgba(251,191,36,0.65)":"none"},children:(0,o.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:e.dirColor}})}),s&&(e.count??0)>0&&(0,o.jsx)("span",{"aria-hidden":!0,className:"absolute -right-2 -top-2 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-teal-400 px-0.5 text-[8px] font-bold text-background ring-1 ring-background",children:e.count}),("full"===t||"mid"===t&&r>=4)&&(0,o.jsx)("span",{className:(0,L.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",s?"font-semibold text-teal-100":"text-foreground/75"),children:e.label}),(0,o.jsx)(l.h7,{type:"source",position:a.yX.Bottom,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,bottom:"auto",left:"50%"}})]})})};function B({regions:e,dominant:t}){return(0,o.jsx)(l.DX,{children:e.map(e=>{let s=t.get(e.key);return s&&"fullstack"!==s?(0,o.jsx)("div",{style:{position:"absolute",transform:`translate(${e.x-.15*e.w}px, ${e.y-.15*e.h}px)`,width:1.3*e.w,height:1.3*e.h,pointerEvents:"none",zIndex:0,background:`radial-gradient(closest-side, ${D.ZD[s]} 0%, transparent 72%)`,opacity:.1}},e.key):null})})}function U({files:e,edges:t,touched:s,hasFrontend:a=!1,classificationRoots:O=[]}){let H,X=(0,n.useMemo)(()=>(function(e,t){let s=function(e){if(!e?.length)return[];let t=new Set;for(let s of e){let e=s.trim().replace(/^\/+|\/+$/g,"");e&&t.add(e)}return[...t]}(t);if(!s.length)return T(e);let o=new Map,n=[];for(let t of e){let e=function(e,t){let s=null;for(let o of t)(e===o||e.startsWith(`${o}/`))&&(!s||o.length>s.length)&&(s=o);return s}(t,s);e?o.set(t,function(e,t){if(e===t||!e.startsWith(`${t}/`))return t;let s=e.slice(t.length+1);return s.includes("/")?`${t}/${s.slice(0,s.indexOf("/"))}`:t}(t,e)):n.push(t)}for(let[e,t]of T(n))o.set(e,t);return o})(e.map(e=>e.path),O),[e,O]),G=(0,n.useMemo)(()=>(function(e,t,s){let o=function(e){let t=new Map;for(let s of e.values())t.set(s,(t.get(s)??0)+1);let s=Array.from(t.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])),o=Math.max(1,Math.ceil(Math.sqrt(2.5*s.length))),n=new Map;return s.forEach(([e],t)=>{n.set(e,{x:t%o*1250,y:950*Math.floor(t/o)})}),n}(s),n=e=>o.get(s.get(e)??"(root)"),r=e.map(e=>{let t=function(e){let t=0x811c9dc5;for(let s=0;s<e.length;s++)t=(t^e.charCodeAt(s))*0x1000193>>>0;return{x:(t%10007/10007-.5)*900,y:((t>>>13)%10007/10007-.5)*900}}(e.path),s=n(e.path);return{id:e.path,x:s.x+.5*t.x,y:s.y+.5*t.y,pinned:!1,radius:_(e.inDegree??0)+22}}),l=t.filter(e=>e.from!==e.to).map(e=>({source:e.from,target:e.to})),a=(0,i.A)(r).force("link",(0,d.A)(l).id(e=>e.id).distance(100).strength(e=>{let t="object"==typeof e.source?e.source.id:String(e.source),o="object"==typeof e.target?e.target.id:String(e.target);return s.get(t)===s.get(o)?.5:.02})).force("charge",(0,c.A)().strength(-260).distanceMax(800)).force("collide",(0,u.A)().radius(e=>e.radius).strength(.6)).force("clusterX",(0,p.A)(e=>n(e.id).x).strength(.1)).force("clusterY",(0,h.A)(e=>n(e.id).y).strength(.115)).stop();for(let e=0;e<500;e++)a.tick();let f=new Map;for(let e of r)f.set(e.id,{x:e.x??0,y:e.y??0});return f})(e,t,X),[e,t,X]),q=(0,n.useMemo)(()=>(function(e,t){var s;let o=new Set;for(let e of t)s=e.from,C.test(s)&&o.add(e.to);let n=new Set;for(let t of e)C.test(t)||o.has(t)||n.add(t);return n})(e.map(e=>e.path),t),[e,t]),J=(0,n.useMemo)(()=>a?function(e,t){let s=new Map,o=new Map;for(let e of t){let t=o.get(e.from);t?t.push(e.to):o.set(e.from,[e.to])}let n=new Map;for(let t of e){let e=R.test(t)?"backend":D.An.test(t)?"frontend":I.test(t)?"backend":null;s.set(t,e),e&&n.set(t,e)}let r=e=>{let t=new Set,s=[];for(let[t,o]of n)o===e&&s.push(t);for(;s.length;){let e=s.pop();for(let n of o.get(e)??[])t.has(n)||(t.add(n),s.push(n))}return t},l=r("frontend"),a=r("backend");for(let t of e){if(s.get(t))continue;let e=l.has(t),o=a.has(t);e&&o?s.set(t,"fullstack"):e?s.set(t,"frontend"):o&&s.set(t,"backend")}return s}(e.map(e=>e.path),t):null,[a,e,t]),K=(0,n.useMemo)(()=>{let e=new Map,t=Object.entries(s??{});if(!t.length)return e;let o=t.map(([,e])=>e.lastAt),n=Math.max(...o),r=Math.min(...o),l=n-r||1,a=t[0][0],i=t[0][1].lastAt;for(let[e,s]of t)s.lastAt>=i&&(a=e,i=s.lastAt);for(let[s,o]of t)e.set(s,{count:o.count,recency:(o.lastAt-r)/l,isNewest:s===a});return e},[s]),Q=K.size>0,Y=(0,n.useMemo)(()=>Array.from(K.entries()).map(([e,t])=>({path:e,count:t.count})),[K]),ee=(0,n.useMemo)(()=>e.map(e=>{let t=G.get(e.path)??{x:e.x,y:e.y},s=e.path.lastIndexOf("/"),o=s>=0?e.path.slice(s+1):e.path,n=K.get(e.path);return{id:e.path,type:"file",position:t,data:{label:o,tooltip:e.path,untested:q.has(e.path),inDegree:e.inDegree??0,dirColor:(0,F.i3)(X.get(e.path)??"(root)"),layer:J?.get(e.path)??null,touched:!!n,count:n?.count??0,recency:n?.recency??0,isNewest:n?.isNewest??!1}}}),[e,G,q,K,J,X]),et=(0,n.useMemo)(()=>t.map(e=>({id:`${e.from}|${e.to}`,source:e.from,target:e.to,type:"straight",selectable:!1,focusable:!1,style:{pointerEvents:"none",...e.circular?{stroke:"#f87171",strokeDasharray:"5 3",strokeWidth:1.5,opacity:.6}:{stroke:"#8b8b94",strokeWidth:1,opacity:.3}}})),[t]),[es,eo]=(0,n.useState)(ee),[en,er]=(0,n.useState)(et),[el,ea]=(0,n.useState)(null),[ei,ed]=(0,n.useState)(null),[ec,eu]=(0,n.useState)(null),[ep,eh]=(0,n.useState)(!1),[ef,em]=(0,n.useState)(!1),[ex,eg]=(0,n.useState)(null),[eb,ey]=(0,n.useState)(!1),[ew,ej]=(0,n.useState)(""),[ek,eN]=(0,n.useState)(!1),[ev,eM]=(0,n.useState)("full"),eS=(0,n.useRef)(null),{tool:eC,setTool:eA,flowProps:e$}=(0,r.e)(),ez=(0,n.useCallback)(e=>{ea(e),eu(null);let t=eS.current?.getNode(e);t&&eS.current&&eS.current.setCenter(t.position.x+40,t.position.y+12,{zoom:1.4,duration:600})},[]),eE=(0,n.useCallback)(()=>{ea(null),eu(null);let e=!ef;if(em(e),ey(e),e&&eS.current){let e=Array.from(K.keys()).map(e=>({id:e}));e.length&&eS.current.fitView({nodes:e,duration:600,padding:.4})}},[ef,K]),eD=(0,n.useMemo)(()=>(0,N.b)(e,t,X),[e,t,X]),eI=(0,n.useCallback)(e=>{eS.current&&(e.focusIds.length?eS.current.fitView({nodes:e.focusIds.map(e=>({id:e})),duration:700,padding:.3,maxZoom:1.1}):eS.current.fitView({duration:700,padding:.1}))},[]),eR=(0,v.W)(eD,eI);(0,n.useEffect)(()=>eN(!0),[]),(0,n.useEffect)(()=>eo(ee),[ee]),(0,n.useEffect)(()=>er(et),[et]);let eO=(0,n.useCallback)(e=>eo(t=>(0,l._0)(e,t)),[]),eT=(0,n.useCallback)(e=>er(t=>(0,l.zW)(e,t)),[]),eP=(0,n.useCallback)((e,t,s)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:e,x:t,y:s})})},[]),eZ=(0,n.useMemo)(()=>new Set(t.filter(e=>e.circular).map(e=>`${e.from}|${e.to}`)),[t]),eF=(0,n.useMemo)(()=>{let e=new Set;for(let s of t)s.circular&&(e.add(s.from),e.add(s.to));return e},[t]),eL=el??ei,e_=ew.trim().length>0,eW=(0,n.useMemo)(()=>{if(!e_)return null;let t=new Set;for(let s of e)(0,S.Qk)((0,S.zn)(s),ew)&&t.add(s.path);return t},[e,ew,e_]),eB=(0,n.useMemo)(()=>e_?(0,S.r2)(e,ew,e=>(0,S.zn)(e),e=>({id:e.path,label:e.path,sublabel:e.lang??void 0,kind:"file"})):[],[e,ew,e_]),eU=(0,n.useMemo)(()=>{if(ec){let e=en.find(e=>e.id===ec);return e?new Set([e.source,e.target]):null}if(eL){let e=new Set([eL]);for(let s of t)s.from===eL&&e.add(s.to),s.to===eL&&e.add(s.from);return e}return ep?eF:ef&&Q?new Set(K.keys()):null},[eL,ec,ep,eF,t,en,ef,Q,K]),eV=eR.focusIds,eH=eV??eW??eU,eX=eW??eV,eG=(0,n.useMemo)(()=>{if(!ex||!J)return null;let t=new Set;for(let s of e)(0,z.F)(ex,J.get(s.path)??null)||t.add(s.path);return t},[ex,J,e]),eq=(0,n.useMemo)(()=>eH?es.map(e=>{let t=eH.has(e.id);return{...e,zIndex:t&&eX?10:e.zIndex,style:{...e.style,opacity:t?1:.15,boxShadow:t&&eX?S.RU:e.style?.boxShadow,borderRadius:t&&eX?9999:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):eG?es.map(e=>eG.has(e.id)?{...e,style:{...e.style,opacity:.15,transition:"opacity 120ms"}}:e):es,[es,eH,eX,eG]),eJ=(0,n.useMemo)(()=>eV?en.map(e=>eV.has(e.source)&&eV.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.9,strokeWidth:1.4}}:{...e,style:{...e.style,opacity:.05}}):eW?en.map(e=>eW.has(e.source)&&eW.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}):eL||ec||ep||ef?en.map(e=>{let t=!1;return ec?t=e.id===ec:eL?t=e.source===eL||e.target===eL:ep?t=eZ.has(e.id):ef&&(t=K.has(e.source)&&K.has(e.target)),t?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}}):eG?en.map(e=>eG.has(e.source)||eG.has(e.target)?{...e,style:{...e.style,opacity:.05}}:e):en,[en,eL,ec,ep,eZ,ef,K,eW,eG,eV]),eK=(0,n.useMemo)(()=>{let e=es.map(e=>{let t=_(e.data.inDegree??0);return{id:e.id,group:X.get(e.id)??"(root)",x:e.position.x,y:e.position.y,w:2*t,h:2*t}});return(0,A.S)(e,{pad:60})},[es,X]),eQ=(0,n.useMemo)(()=>{let t=new Map;if(!J)return t;let s=new Map;for(let t of e){let e=J.get(t.path);if(!e)continue;let o=X.get(t.path)??"(root)",n=s.get(o)??new Map;n.set(e,(n.get(e)??0)+1),s.set(o,n)}for(let[e,o]of s){let s=null,n=0,r=!1;for(let[e,t]of o)t>n?(s=e,n=t,r=!1):t===n&&(r=!0);t.set(e,r?null:s)}return t},[J,e,X]),eY=(0,n.useMemo)(()=>{let e=new Map;for(let t of X.values())e.set(t,(e.get(t)??0)+1);return Array.from(e.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).map(([e,t])=>({group:e,count:t,color:(0,F.i3)(e)}))},[X]),e0=t.filter(e=>e.circular).length,e1=(0,n.useMemo)(()=>el?t.filter(e=>e.from===el).map(e=>e.to):[],[el,t]),e5=(0,n.useMemo)(()=>el?t.filter(e=>e.to===el).map(e=>e.from):[],[el,t]),e2=null!==el||eb&&Q,e4=(0,n.useCallback)(()=>{ea(null),ey(!1),em(!1)},[]);return ek?(0,o.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,o.jsxs)(l.Gc,{...e$,nodes:eq,edges:eJ,nodeTypes:W,onNodesChange:eO,onEdgesChange:eT,onNodeClick:(e,t)=>{ea(t.id),eu(null)},onEdgeClick:(e,t)=>{eu(t.id),ea(null)},onPaneClick:()=>{ea(null),eu(null)},onNodeMouseEnter:(e,t)=>ed(t.id),onNodeMouseLeave:()=>ed(null),onInit:e=>{eS.current=e},onNodeDragStop:(e,t)=>eP(t.id,t.position.x,t.position.y),deleteKeyCode:null,colorMode:"dark",fitView:!0,fitViewOptions:{padding:.1,minZoom:.18,maxZoom:.9},minZoom:.05,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,o.jsx)($.Z,{regions:"far"===ev?eK:[],tone:"category",lod:ev}),a&&(0,o.jsx)(B,{regions:"far"===ev?[]:eK,dominant:eQ}),(0,o.jsx)(P.J,{onLod:eM,thresholds:Z.kz}),(0,o.jsx)(l.H2,{position:"bottom-right",className:"!overflow-hidden !rounded-xl !border !border-white/10 [&_button]:!border-white/10 [&_button]:!bg-card/70 [&_button]:!text-foreground [&_button]:!backdrop-blur"}),(0,o.jsx)(l.Zk,{position:"bottom-left",style:{marginBottom:118},children:(0,o.jsx)(r.H,{tool:eC,onChange:eA})}),(0,o.jsx)(l.Zk,{position:"bottom-right",style:{marginBottom:152},children:(0,o.jsx)(E.er,{title:"Legend",trigger:(e,t)=>(0,o.jsx)("button",{type:"button",onClick:t,title:"Legend",className:(0,L.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",e?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,o.jsx)(f.A,{className:"size-4"})}),children:(0,o.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,o.jsxs)("li",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full bg-zinc-400"}),(0,o.jsx)("span",{children:"a file \xb7 bigger dot = more files import it"})]}),a&&(0,o.jsxs)("li",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full",style:{boxShadow:`inset 0 0 0 2px ${D.ZD.frontend}`}}),(0,o.jsx)("span",{children:"colored ring \xb7 frontend / backend layer"})]}),(0,o.jsxs)("li",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#4a4a52]"}),(0,o.jsx)("span",{children:"line \xb7 imports another file"})]}),(0,o.jsxs)("li",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-red-400"}),(0,o.jsx)("span",{children:"red \xb7 part of an import cycle"})]}),(0,o.jsxs)("li",{className:"flex items-center gap-2",children:[(0,o.jsxs)("span",{"aria-hidden":!0,className:"inline-flex shrink-0 gap-0.5",children:[(0,o.jsx)("span",{className:"inline-block size-2 rounded-full bg-violet-400"}),(0,o.jsx)("span",{className:"inline-block size-2 rounded-full bg-amber-400"})]}),(0,o.jsx)("span",{children:"dot color \xb7 its directory (chips, top-right)"})]})]})})}),(0,o.jsx)(l.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!overflow-hidden !rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),eD.length>0&&!eR.active&&(0,o.jsx)(l.Zk,{position:"top-left",className:"!mt-14",children:(0,o.jsxs)("button",{type:"button",onClick:eR.start,title:"Guided, dependency-ordered walkthrough of the codebase",className:"glass flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[(0,o.jsx)(m.A,{className:"size-3.5"}),"Start tour"]})}),(0,o.jsx)(l.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,o.jsx)(w.Z,{active:"FILES",tabs:[{value:"ROADMAP",label:"Roadmap",href:"/map?view=ROADMAP"},{value:"ARCHITECTURE",label:"Architecture",href:"/map?view=ARCHITECTURE"},{value:"DATABASE",label:"Database",href:"/map?view=DATABASE"},{value:"FILES",label:"Files",href:"/map?view=FILES"}]})}),(0,o.jsx)(l.Zk,{position:"top-right",className:"glass !mt-14 flex max-w-[300px] flex-wrap items-center justify-end gap-x-2.5 gap-y-1 rounded-xl px-3 py-1.5",children:eY.map(t=>(0,o.jsxs)("button",{type:"button",onClick:()=>{let s=e.filter(e=>(X.get(e.path)??"(root)")===t.group).map(e=>({id:e.path}));s.length&&eS.current?.fitView({nodes:s,duration:600,padding:.3,maxZoom:1})},title:`${t.count} files — click to zoom to ${t.group}`,className:"flex items-center gap-1.5 rounded px-1 py-0.5 text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:t.color}}),t.group]},t.group))}),(0,o.jsxs)(l.Zk,{position:"top-right",className:"flex items-center gap-2",children:[(0,o.jsx)(j.X,{query:ew,onQuery:ej,hits:eB,placeholder:"Find a file…",onPick:e=>{ej(""),ez(e)},onZoomToMatches:()=>{eW?.size&&eS.current?.fitView({nodes:[...eW].map(e=>({id:e})),duration:600,padding:.3})}}),a&&(0,o.jsx)(z.o,{value:ex,onChange:eg,options:["frontend","backend"]}),(0,o.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,o.jsxs)("span",{className:"text-muted-foreground",children:[e.length," files \xb7 ",t.length," imports"]}),e0>0&&(0,o.jsxs)("button",{type:"button",onClick:()=>{eh(e=>!e),ea(null),eu(null)},title:ep?"Show all imports":"Show only files involved in import cycles",className:(0,L.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",ep?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,o.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),e0," circular"]}),Q&&(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)("button",{type:"button",onClick:eE,title:ef?"Show all files again":"Focus + zoom to the files edited this session",className:(0,L.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",ef?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,o.jsx)(x.A,{className:"size-3"}),K.size," edited"]})})]})]})]}),e2&&(0,o.jsxs)(y.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,o.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:el?"File":"Edited this session"}),(0,o.jsx)("button",{onClick:e4,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,o.jsx)(g.A,{className:"size-4"})})]}),(0,o.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:el?(0,o.jsxs)("div",{className:"space-y-3",children:[(0,o.jsxs)("div",{children:[(0,o.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,o.jsx)(b.A,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,o.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:el.slice(el.lastIndexOf("/")+1)})]}),(0,o.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:el})]}),(0,o.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(H=K.get(el))?(0,o.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",H.count,"\xd7"]}):null,q.has(el)&&(0,o.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,o.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(el)}`).catch(()=>{}),className:"w-full rounded-md border border-white/10 px-2 py-1.5 text-[11px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Open in editor"}),(0,o.jsx)(V,{label:"Imports",paths:e1,onPick:ez}),(0,o.jsx)(V,{label:"Imported by",paths:e5,onPick:ez})]}):(0,o.jsx)(k.h,{files:Y.map(e=>({path:e.path,meta:`${e.count}\xd7`})),emptyLabel:"No files edited this session yet."})})]}),eR.active&&eR.step&&(0,o.jsx)(M.d,{steps:eD,index:eR.index,onPrev:eR.prev,onNext:eR.next,onExit:eR.stop,onGoto:eR.goto})]}):(0,o.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function V({label:e,paths:t,onPick:s}){return t.length?(0,o.jsxs)("div",{children:[(0,o.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[e," (",t.length,")"]}),(0,o.jsx)(k.h,{files:t.map(e=>({path:e})),onSelect:s})]}):null}},77260:(e,t,s)=>{"use strict";s.d(t,{MapTabsShell:()=>a});var o=s(95155),n=s(12115),r=s(75514);let l=["ROADMAP","ARCHITECTURE","DATABASE"];function a({initialView:e,roadmap:t,architecture:s,database:i}){let[d,c]=(0,n.useState)(e),[u,p]=(0,n.useState)(()=>new Set([e])),h=(0,n.useCallback)(e=>{c(e),p(t=>t.has(e)?t:new Set(t).add(e));try{let t=new URL(window.location.href);t.searchParams.set("view",e),window.history.replaceState(window.history.state,"",t)}catch{}},[]),f={ROADMAP:t,ARCHITECTURE:s,DATABASE:i};return(0,o.jsx)(r.no.Provider,{value:{views:r.a4,switchTo:h},children:l.map(e=>u.has(e)?(0,o.jsx)("div",{className:d===e?"contents":"hidden",children:f[e]},e):null)})}}},e=>{e.O(0,[2574,3862,5004,277,8500,7043,1936,2019,9887,6638,4549,3845,2231,7643,8441,3794,7358],()=>e(e.s=27950)),_N_E=e.O()}]);
|