trybeacon 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +13 -11
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/routes-manifest.json +12 -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.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +23 -22
- package/.next/server/app/_not-found.segments/_full.segment.rsc +23 -22
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +12 -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 +1 -1
- 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 +2 -2
- 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/ingest/route.js +2 -2
- package/.next/server/app/api/init/route.js +2 -2
- 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/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 +2 -2
- 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/stream/route.js +2 -2
- package/.next/server/app/api/tab/nav/route.js +1 -0
- package/.next/server/app/api/tab/nav/route.js.nft.json +1 -0
- package/.next/server/app/api/tab/nav/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/tab/presence/route.js +1 -0
- package/.next/server/app/api/tab/presence/route.js.nft.json +1 -0
- package/.next/server/app/api/tab/presence/route_client-reference-manifest.js +1 -0
- 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.js.nft.json +1 -1
- 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 +24 -23
- package/.next/server/app/docs.segments/_full.segment.rsc +24 -23
- package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/docs.segments/_index.segment.rsc +12 -11
- package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
- 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.js.nft.json +1 -1
- 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 +27 -26
- package/.next/server/app/feedback.segments/_full.segment.rsc +27 -26
- package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
- package/.next/server/app/feedback.segments/_index.segment.rsc +12 -11
- package/.next/server/app/feedback.segments/_tree.segment.rsc +1 -1
- 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.js.nft.json +1 -1
- 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 +32 -30
- package/.next/server/app/help.segments/_full.segment.rsc +32 -30
- package/.next/server/app/help.segments/_head.segment.rsc +1 -1
- package/.next/server/app/help.segments/_index.segment.rsc +12 -11
- package/.next/server/app/help.segments/_tree.segment.rsc +1 -1
- 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 +22 -21
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/index.segments/_full.segment.rsc +22 -21
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +12 -11
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- 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/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 +13 -11
- package/.next/server/chunks/4307.js +1 -0
- package/.next/server/chunks/4419.js +1 -0
- 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/chunks/{1237-9d3991189a7950bf.js → 1726-cfa1c45735118a49.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/board-layout/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/code-graph/position/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/code-graph/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/context/feature/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/context/file/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/context/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/arrange/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/backfill-access/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/position/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/prune-planned/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/relations/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/db/tables/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/draft/approve/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/draft/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/draft/status/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/edges/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/edges/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/endpoints/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/entities/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/feedback/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/feedback/[id]/vote/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/feedback/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/ingest/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/init/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/describe/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/files/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/finish/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/start/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/map/touch-active/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/position/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/nodes/positions/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/nodes/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/nodes/subtasks/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/notes/[id]/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/notes/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/open/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/annotations/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/approve/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/history/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/markdown/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/presence/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/plan/verdict/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/preferences/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/project-meta/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/reset/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/stream/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/tab/nav/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/tab/presence/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/telemetry/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/telemetry/stats/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/version/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/workspace/activate/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/api/workspace/route-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/app/layout-1c0e0a0b09f3bede.js +1 -0
- package/.next/static/chunks/app/map/{page-0b80331a4e6a28d1.js → page-2c29809f6e747ed0.js} +1 -1
- package/.next/static/chunks/app/plan/page-15563f68be095be8.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-16ca2ed05a1d74d1.js +1 -0
- package/.next/static/d7yMlZAE4rxhUZzJXRGvS/_buildManifest.js +1 -0
- package/.next/trace +38 -38
- package/.next/trace-build +1 -1
- package/.next/types/app/api/tab/nav/route.ts +351 -0
- package/.next/types/app/api/tab/presence/route.ts +351 -0
- package/.next/types/routes.d.ts +3 -1
- package/.next/types/validator.ts +18 -0
- package/dist/bin/beacon.js +13 -12
- package/dist/bin/hook.js +18 -18
- package/dist/bin/mcp.js +31 -31
- package/dist/bin/plan.js +13 -13
- package/dist/lib/daemon-port.js +2 -0
- package/package.json +1 -1
- package/.next/server/chunks/3015.js +0 -1
- package/.next/server/chunks/7844.js +0 -1
- package/.next/static/FcKcgfUAfLhrW5iXsBe6p/_buildManifest.js +0 -1
- package/.next/static/chunks/app/_global-error/page-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/board-layout/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/code-graph/position/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/code-graph/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/context/feature/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/context/file/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/context/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/arrange/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/backfill-access/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/position/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/prune-planned/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/relations/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/db/tables/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/draft/approve/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/draft/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/draft/status/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/edges/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/edges/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/endpoints/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/entities/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/vote/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/feedback/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/ingest/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/init/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/describe/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/files/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/finish/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/start/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/map/touch-active/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/position/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/nodes/positions/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/nodes/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/nodes/subtasks/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/notes/[id]/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/notes/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/open/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/annotations/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/approve/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/history/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/markdown/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/presence/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/plan/verdict/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/preferences/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/project-meta/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/reset/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/stream/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/telemetry/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/telemetry/stats/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/version/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/workspace/activate/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/api/workspace/route-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/app/layout-9b750c41268879f0.js +0 -1
- package/.next/static/chunks/app/plan/page-6f5b996737bcedc4.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-f0868dfbc3f7bf63.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-f0868dfbc3f7bf63.js +0 -1
- /package/.next/static/{FcKcgfUAfLhrW5iXsBe6p → d7yMlZAE4rxhUZzJXRGvS}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,204,439,730,1145,1235,1288,1361,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,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7743,7851,8167,8235,8617,8650,9140,9550,9560],{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,n)=>{"use strict";n.d(t,{PlanBar:()=>u});var s=n(95155),r=n(98500),a=n.n(r),i=n(73321),l=n(86272),o=n(32133),c=n(65738),d=n(48484);function u(){let{status:e,discard:t}=(0,d.j)(),n=(0,i.usePathname)();return e.pending&&"/plan"!==n?(0,s.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-14 z-40 flex justify-center px-2",children:(0,s.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,s.jsx)(l.A,{className:"size-3.5 shrink-0 text-emerald-300"}),(0,s.jsxs)("div",{className:"min-w-0",children:[(0,s.jsxs)("div",{className:"truncate text-[12px] leading-tight text-foreground",children:[(0,s.jsx)("span",{className:"text-emerald-300/80",children:"Plan ready \xb7 "}),e.description||"(no description)"]}),(0,s.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,s.jsxs)(a(),{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,s.jsx)(o.A,{className:"size-3"})," Open plan"]}),(0,s.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,s.jsx)(c.A,{className:"size-3"})," Discard"]})]})}):null}},1494:(e,t,n)=>{"use strict";n.d(t,{NotesDrawer:()=>O});var s=n(95155),r=n(12115),a=n(82879),i=n(2125),l=n(9005),o=n(62700),c=n(27076),d=n(65738),u=n(82099),h=n(13439),x=n(95112),f=n(67357),p=n(50109),m=n(38332),g=n(8143),b=n(58309),v=n(5497),w=n(11436),j=n(82150),N=n(83694),k=n(35580);let y=N.z.extend({renderMarkdown:(e,t)=>`<u>${t.renderChildren(e)}</u>`}),z=[w.W.configure({underline:!1}),y,j._0,j.L2.configure({nested:!0})],C=new k.db({extensions:z});var S=n(91337);function P({value:e,onChange:t}){let n=(0,h.hG)({extensions:z,content:e?function e(t){if("text"===t.type&&(t.text??"").includes("<u>"))return{type:"__frag",content:function(e){let t,n=e.text??"",s=e.marks??[],r=/<u>([\s\S]*?)<\/u>/g,a=[],i=0;for(;null!==(t=r.exec(n));)t.index>i&&a.push({...e,text:n.slice(i,t.index)}),a.push({type:"text",text:t[1],marks:[...s,{type:"underline"}]}),i=r.lastIndex;return i<n.length&&a.push({...e,text:n.slice(i)}),a.filter(e=>(e.text??"").length>0)}(t)};if(Array.isArray(t.content)){let n=t.content.flatMap(t=>{let n=e(t);return"__frag"===n.type?n.content:[n]});return{...t,content:n}}return t}(C.parse(e)):void 0,immediatelyRender:!1,editorProps:{attributes:{class:"note-prose focus:outline-none"}},onUpdate:({editor:e})=>{var n;return t((n=e.getJSON(),C.serialize(n)))}});return n?(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,s.jsx)(A,{editor:n}),(0,s.jsx)(h.$Z,{editor:n,className:"min-h-0 flex-1 overflow-y-auto px-1 py-2 text-[14px] leading-relaxed"})]}):null}function A({editor:e}){let[,t]=(0,r.useReducer)(e=>e+1,0);(0,r.useEffect)(()=>{let n=()=>t();return e.on("transaction",n),()=>{e.off("transaction",n)}},[e]);let n=()=>e.chain().focus();return(0,s.jsxs)("div",{className:"flex items-center gap-0.5 border-b border-white/10 pb-2",children:[(0,s.jsx)(E,{label:"Bold",active:e.isActive("bold"),onClick:()=>n().toggleBold().run(),children:(0,s.jsx)(x.A,{className:"size-4"})}),(0,s.jsx)(E,{label:"Italic",active:e.isActive("italic"),onClick:()=>n().toggleItalic().run(),children:(0,s.jsx)(f.A,{className:"size-4"})}),(0,s.jsx)(E,{label:"Underline",active:e.isActive("underline"),onClick:()=>n().toggleUnderline().run(),children:(0,s.jsx)(p.A,{className:"size-4"})}),(0,s.jsx)(E,{label:"Strikethrough",active:e.isActive("strike"),onClick:()=>n().toggleStrike().run(),children:(0,s.jsx)(m.A,{className:"size-4"})}),(0,s.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,s.jsx)(E,{label:"Checklist",active:e.isActive("taskList"),onClick:()=>n().toggleTaskList().run(),children:(0,s.jsx)(g.A,{className:"size-4"})}),(0,s.jsx)(E,{label:"Bullet list",active:e.isActive("bulletList"),onClick:()=>n().toggleBulletList().run(),children:(0,s.jsx)(b.A,{className:"size-4"})}),(0,s.jsx)(E,{label:"Numbered list",active:e.isActive("orderedList"),onClick:()=>n().toggleOrderedList().run(),children:(0,s.jsx)(v.A,{className:"size-4"})})]})}function E({label:e,active:t,onClick:n,children:r}){return(0,s.jsx)("button",{type:"button","aria-label":e,"aria-pressed":t,title:e,onMouseDown:e=>e.preventDefault(),onClick:n,className:(0,S.cn)("rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",t&&"bg-white/[0.12] text-foreground"),children:r})}var _=n(81984);function L(e){return[...e].sort((e,t)=>e.pinned!==t.pinned?Number(t.pinned)-Number(e.pinned):t.updatedAt.localeCompare(e.updatedAt))}function O(){let{open:e,close:t}=(0,_.b)(),[n,h]=(0,r.useState)([]),[x,f]=(0,r.useState)(null),p=(0,r.useRef)({}),m=(0,r.useRef)({}),g=(0,r.useCallback)(e=>{clearTimeout(p.current[e]);let t=m.current[e];t&&(delete m.current[e],fetch(`/api/notes/${e}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)}).catch(()=>{}))},[]),b=(0,r.useCallback)((e,t)=>{m.current[e]={...m.current[e],...t},clearTimeout(p.current[e]),p.current[e]=setTimeout(()=>g(e),500)},[g]),v=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/notes",{cache:"no-store"});if(!e.ok)return;let t=await e.json();h(L(t)),f(e=>e??t[0]?.id??null)}catch{}},[]);(0,r.useEffect)(()=>{e?v():Object.keys(m.current).forEach(g)},[e,v,g]);let w=(0,r.useCallback)(async()=>{let e=await fetch("/api/notes",{method:"POST"}).catch(()=>null);if(!e?.ok)return;let t=await e.json();h(e=>L([t,...e])),f(t.id)},[]),j=(0,r.useCallback)(async e=>{clearTimeout(p.current[e]),delete m.current[e],h(t=>{let n=t.filter(t=>t.id!==e);return f(t=>t===e?n[0]?.id??null:t),n}),await fetch(`/api/notes/${e}`,{method:"DELETE"}).catch(()=>{})},[]),N=(0,r.useCallback)((e,t)=>{h(n=>L(n.map(n=>n.id===e?{...n,...t,updatedAt:new Date().toISOString()}:n))),b(e,t)},[b]),k=(0,r.useCallback)(e=>N(e.id,{pinned:!e.pinned}),[N]),y=n.find(e=>e.id===x)??null;return(0,s.jsx)("div",{"aria-hidden":!e,className:(0,S.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,s.jsxs)(u.b,{className:"flex h-full w-[420px] flex-col rounded-l-2xl border-l border-white/10",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 border-b border-white/10 px-3 py-2.5",children:[(0,s.jsx)(a.A,{className:"size-4 text-[var(--accent-2,#ff7a45)]"}),(0,s.jsx)("span",{className:"text-sm font-semibold tracking-tight",children:"Notes"}),(0,s.jsx)("span",{className:"ml-auto"}),(0,s.jsx)("button",{type:"button",onClick:w,"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,s.jsx)(i.A,{className:"size-4"})}),(0,s.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,s.jsx)(l.A,{className:"size-4"})})]}),(0,s.jsx)("div",{className:"max-h-44 shrink-0 overflow-y-auto border-b border-white/10 p-1.5",children:0===n.length?(0,s.jsxs)("p",{className:"px-2 py-3 text-[13px] text-muted-foreground",children:["No notes yet. Hit ",(0,s.jsx)("span",{className:"text-foreground",children:"+"})," to start one."]}):n.map(e=>(0,s.jsxs)("div",{className:(0,S.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,s.jsxs)("button",{type:"button",onClick:()=>f(e.id),className:"min-w-0 flex-1 truncate text-left",children:[e.pinned&&(0,s.jsx)(o.A,{className:"mr-1 inline size-3 -translate-y-px"}),e.title||"Untitled"]}),(0,s.jsx)("button",{type:"button",onClick:()=>k(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,s.jsx)(c.A,{className:"size-3.5"}):(0,s.jsx)(o.A,{className:"size-3.5"})}),(0,s.jsx)("button",{type:"button",onClick:()=>j(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,s.jsx)(d.A,{className:"size-3.5"})})]},e.id))}),y?(0,s.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 p-3",children:[(0,s.jsx)("input",{value:y.title,onChange:e=>N(y.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,s.jsx)(P,{value:y.body,onChange:e=>N(y.id,{body:e})},y.id)]}):(0,s.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,s.jsx)("span",{className:"px-1 text-foreground",children:"@"}),"-mention it in your terminal to turn it into features."]})]})})}},15053:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,66872,23)),Promise.resolve().then(n.bind(n,52174)),Promise.resolve().then(n.bind(n,81998)),Promise.resolve().then(n.bind(n,81984)),Promise.resolve().then(n.bind(n,1494)),Promise.resolve().then(n.bind(n,434)),Promise.resolve().then(n.bind(n,48484)),Promise.resolve().then(n.bind(n,77242)),Promise.resolve().then(n.bind(n,96848)),Promise.resolve().then(n.bind(n,33082)),Promise.resolve().then(n.t.bind(n,35353,23)),Promise.resolve().then(n.t.bind(n,63494,23))},26518:(e,t,n)=>{"use strict";n.d(t,{bq:()=>k,eb:()=>z,gC:()=>y,l6:()=>j,yv:()=>N});var s=n(95155);n(12115);var r=n(40595),a=n(41294),i=n(75681),l=n(17314),o=n(37265),c=n(23107),d=n(70826),u=n(67564),h=n(1938),x=n(15433),f=n(5919),p=n(45450),m=n(88988),g=n(91337),b=n(12363),v=n(64577),w=n(94088);let j=r.H;function N({className:e,...t}){return(0,s.jsx)(a.y,{"data-slot":"select-value",className:(0,g.cn)("flex flex-1 text-left",e),...t})}function k({className:e,size:t="default",children:n,...r}){return(0,s.jsxs)(i.b,{"data-slot":"select-trigger","data-size":t,className:(0,g.cn)("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,(0,s.jsx)(l.w,{render:(0,s.jsx)(b.A,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function y({className:e,children:t,side:n="bottom",sideOffset:r=4,align:a="center",alignOffset:i=0,alignItemWithTrigger:l=!0,...h}){return(0,s.jsx)(o.V,{children:(0,s.jsx)(c.l,{side:n,sideOffset:r,align:a,alignOffset:i,alignItemWithTrigger:l,className:"isolate z-50",children:(0,s.jsxs)(d.t,{"data-slot":"select-content","data-align-trigger":l,className:(0,g.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...h,children:[(0,s.jsx)(C,{}),(0,s.jsx)(u.B,{children:t}),(0,s.jsx)(S,{})]})})})}function z({className:e,children:t,...n}){return(0,s.jsxs)(h.e,{"data-slot":"select-item",className:(0,g.cn)("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,s.jsx)(x.h,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:t}),(0,s.jsx)(f.h,{render:(0,s.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,s.jsx)(v.A,{className:"pointer-events-none"})})]})}function C({className:e,...t}){return(0,s.jsx)(p.w,{"data-slot":"select-scroll-up-button",className:(0,g.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,s.jsx)(w.A,{})})}function S({className:e,...t}){return(0,s.jsx)(m.d,{"data-slot":"select-scroll-down-button",className:(0,g.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...t,children:(0,s.jsx)(b.A,{})})}},33082:(e,t,n)=>{"use strict";n.d(t,{UpdateBanner:()=>h});var s=n(95155),r=n(12115),a=n(56363),i=n(9005),l=n(64577),o=n(99314),c=n(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,n]=(0,r.useState)(null),[x,f]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{let t=!1;return(async()=>{try{let s=await fetch(c.kw);if(!s.ok)return;let r=await s.json(),a="string"==typeof r?.version?r.version:"";if(t||!function(e,t){let n=d(e),s=d(t);if(!n||!s)return!1;for(let e=0;e<3;e++){if(n[e]>s[e])return!0;if(n[e]<s[e])break}return!1}(a,e)||localStorage.getItem(u)===a)return;n(a)}catch{}})(),()=>{t=!0}},[e]),!t)return null;let p=async()=>{try{await navigator.clipboard?.writeText(c.EO),f(!0),setTimeout(()=>f(!1),1600)}catch{}};return(0,s.jsx)("div",{className:"pointer-events-none fixed bottom-4 right-4 z-50 flex justify-end",children:(0,s.jsx)("div",{className:"glass pointer-events-auto w-[320px] rounded-xl p-3.5 shadow-xl",children:(0,s.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,s.jsx)(a.A,{className:"mt-0.5 size-4 shrink-0 text-[#ff7a45]"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("p",{className:"text-[13px] font-semibold tracking-tight text-foreground",children:"New version available"}),(0,s.jsx)("button",{type:"button",onClick:()=>{try{localStorage.setItem(u,t)}catch{}n(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,s.jsx)(i.A,{className:"size-3.5"})})]}),(0,s.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:[e," →"," ",(0,s.jsx)("span",{className:"text-foreground",children:t.replace(/^v/i,"")})," \xb7 update Beacon"]}),(0,s.jsxs)("button",{type:"button",onClick:p,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,s.jsx)("span",{className:"truncate",children:c.EO}),x?(0,s.jsx)(l.A,{className:"size-3.5 shrink-0 text-[#ff7a45]"}):(0,s.jsx)(o.A,{className:"size-3.5 shrink-0"})]})]})]})})})}},39593:(e,t,n)=>{"use strict";n.d(t,{EO:()=>i,W6:()=>a,kw:()=>r});var s=n(41463);let r="https://registry.npmjs.org/trybeacon/latest",a=(s.env.NEXT_PUBLIC_BEACON_SITE_URL??"https://www.trybeacon.sh").replace(/\/$/,""),i=`curl -fsSL ${a}/install.sh | sh`},48484:(e,t,n)=>{"use strict";n.d(t,{PlanProvider:()=>d,j:()=>u});var s=n(95155),r=n(12115),a=n(73321),i=n(60292),l=n(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,a.useRouter)(),[n,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]),f=(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,s.jsx)(c.Provider,{value:{status:n,discard:x,approvePlan:f,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,n)=>{"use strict";n.d(t,{MainRegion:()=>r});var s=n(95155);function r({children:e}){return(0,s.jsx)("main",{className:"flex flex-1 flex-col",children:e})}},52965:(e,t,n)=>{"use strict";n.d(t,{_:()=>r});var s=n(95155);function r({size:e=18,className:t}){return(0,s.jsxs)("svg",{width:e,height:e,viewBox:"20 22 56 56",fill:"none",className:t,"aria-hidden":"true",children:[(0,s.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,s.jsx)("circle",{cx:"48",cy:"29.5",r:"7",fill:"var(--accent-2, #ff7a45)"})]})}},60292:(e,t,n)=>{"use strict";n.d(t,{Bz:()=>s,Fj:()=>l,aE:()=>a,dh:()=>i,fk:()=>r,q0:()=>o});let s="beacon:tab-ws";function r(){var e;let t=new URLSearchParams(window.location.search).get("ws"),n=null;try{t&&sessionStorage.setItem(s,t),n=sessionStorage.getItem(s)}catch{}return e=n,t||e||null}function a(e){try{sessionStorage.setItem(s,e)}catch{}}function i(e){return e?{"x-beacon-workspace":e}:{}}function l(e,t,n){let s=new URLSearchParams;for(let[e,r]of(t&&s.set("ws",t),Object.entries(n??{})))s.set(e,r);let r=s.toString();return r?`${e}?${r}`:e}function o(e,t){if(e.startsWith("/api/"))return!0;try{let n=new URL(e,t);return n.origin===t&&n.pathname.startsWith("/api/")}catch{return!1}}},66872:()=>{},77242:(e,t,n)=>{"use strict";n.d(t,{TabWorkspace:()=>i});var s=n(12115),r=n(73321),a=n(60292);function i(){let e=(0,r.useRouter)(),t=(0,r.usePathname)();return(0,s.useEffect)(()=>{let e=window.fetch;if(e.__beaconPinned)return;let t=(t,n)=>{try{let s=(0,a.fk)();if(s){let r=window.location.origin;if(t instanceof Request){if((0,a.q0)(t.url,r)&&!t.headers.has("x-beacon-workspace")){let r=new Headers(t.headers);return r.set("x-beacon-workspace",s),e(new Request(t,{headers:r}),n)}}else{let i="string"==typeof t?t:t.href;if((0,a.q0)(i,r)){let r=new Headers(n?.headers);if(!r.has("x-beacon-workspace"))return r.set("x-beacon-workspace",s),e(t,{...n,headers:r})}}}}catch{}return e(t,n)};return t.__beaconPinned=!0,window.fetch=t,()=>{window.fetch=e}},[]),(0,s.useEffect)(()=>{let n=new URLSearchParams(window.location.search).get("ws");if(n){try{sessionStorage.setItem(a.Bz,n)}catch{}return}let s=null;try{s=sessionStorage.getItem(a.Bz)}catch{}if(!s)return;let r=new URLSearchParams(window.location.search);r.set("ws",s),e.replace(`${t}?${r.toString()}`)},[t,e]),null}},81984:(e,t,n)=>{"use strict";n.d(t,{NotesProvider:()=>i,b:()=>l});var s=n(95155),r=n(12115);let a=(0,r.createContext)(null);function i({children:e}){let[t,n]=(0,r.useState)(!1),l=(0,r.useCallback)(()=>n(!0),[]),o=(0,r.useCallback)(()=>n(!1),[]),c=(0,r.useCallback)(()=>n(e=>!e),[]),d=(0,r.useMemo)(()=>({open:t,openDrawer:l,close:o,toggle:c}),[t,l,o,c]);return(0,s.jsx)(a.Provider,{value:d,children:e})}function l(){let e=(0,r.useContext)(a);if(!e)throw Error("useNotes must be used inside NotesProvider");return e}},81998:(e,t,n)=>{"use strict";n.d(t,{LiveRefresh:()=>l});var s=n(12115),r=n(73321);let a={primed:!1,lastV:-1,lastNavSeq:-1};var i=n(60292);function l(){let e=(0,r.useRouter)();return(0,s.useEffect)(()=>{let t=(0,i.fk)(),n=new EventSource(t?`/api/stream?ws=${encodeURIComponent(t)}`:"/api/stream"),s=a;return n.onopen=()=>{s=a},n.onmessage=t=>{var n,r;let a;try{a=JSON.parse(t.data)}catch{e.refresh();return}let{state:i,action:l}=(n=s,r={v:"number"==typeof a.v?a.v:0,navSeq:a.nav?.seq??0,navPath:a.nav?.path??""},n.primed?r.navSeq!==n.lastNavSeq?{state:{primed:!0,lastV:r.v,lastNavSeq:r.navSeq},action:{kind:"push",path:r.navPath}}:r.v!==n.lastV?{state:{...n,lastV:r.v},action:{kind:"refresh"}}:{state:n,action:{kind:"none"}}:{state:{primed:!0,lastV:r.v,lastNavSeq:r.navSeq},action:{kind:"none"}});if(s=i,"refresh"===l.kind)e.refresh();else if("push"===l.kind&&l.path){e.push(l.path);try{window.focus()}catch{}}},()=>n.close()},[e]),null}},82099:(e,t,n)=>{"use strict";n.d(t,{b:()=>a});var s=n(95155);n(12115);var r=n(91337);function a({className:e,children:t,...n}){return(0,s.jsxs)("div",{className:(0,r.cn)("glass relative isolate overflow-hidden",e),...n,children:[(0,s.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,s.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,n)=>{"use strict";n.d(t,{cn:()=>a});var s=n(29722),r=n(622);function a(...e){return(0,r.QP)((0,s.$)(e))}},96848:(e,t,n)=>{"use strict";n.d(t,{TopNav:()=>g});var s=n(95155),r=n(12115),a=n(98500),i=n.n(a),l=n(73321),o=n(82879),c=n(52965),d=n(39143),u=n(26518),h=n(91337),x=n(60292);function f({fallback:e}){let[t,n]=(0,r.useState)([]),[a,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&&(n(t.workspaces??[]),i((0,x.fk)()??t.active??null))}).catch(()=>{});t();let s=setInterval(t,5e3);return()=>{e=!1,clearInterval(s)}},[]),0===t.length)return e?(0,s.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===a);return(0,s.jsxs)(u.l6,{value:a??"",onValueChange:e=>e&&l(e),children:[(0,s.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,s.jsx)(d.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,s.jsx)(u.yv,{children:()=>o?.name??"Project"})]}),(0,s.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,s.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,n;let r,i=e.id===a;return(0,s.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,s.jsxs)("span",{className:"flex items-center gap-2.5",children:[(0,s.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,s.jsx)(d.A,{className:"size-3.5"})}),(0,s.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,s.jsx)("span",{className:"truncate text-[13px] font-medium leading-tight text-foreground",children:e.name}),(0,s.jsx)("span",{className:"truncate font-mono text-[10px] leading-tight text-muted-foreground",children:(t=e.path,n=e.name,(r=t.replace(/^\/(Users|home)\/[^/]+/,"~").split("/").filter(Boolean))[r.length-1]===n&&r.pop(),(r.length>3?[r[0],"…",r[r.length-1]]:r).join("/")||"~")})]})]})},e.id)})]})]})}var p=n(81984);let m=[{href:"/plan",label:"Plans"},{href:"/map",label:"Map"},{href:"/settings",label:"Settings"}];function g({repo:e}){let t=(0,l.usePathname)(),{toggle:n,open:a}=(0,p.b)(),[d,u]=(0,r.useState)(null);return(0,r.useEffect)(()=>{u((0,x.fk)())},[t]),(0,s.jsx)("header",{className:"pointer-events-none fixed left-3 top-3 z-30",children:(0,s.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5",children:[(0,s.jsxs)(i(),{href:"/",className:"mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight",children:[(0,s.jsx)(c._,{size:18,className:"text-foreground"}),"Beacon"]}),(0,s.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,s.jsx)(f,{fallback:e}),(0,s.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,s.jsx)("nav",{className:"flex items-center gap-0.5 text-sm",children:m.map(e=>{let n=t===e.href||t.startsWith(e.href+"/");return(0,s.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",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:e.label},e.href)})}),(0,s.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,s.jsx)("button",{type:"button",onClick:n,"aria-pressed":a,"aria-label":"Notes",title:"Notes",className:(0,h.cn)("flex items-center justify-center rounded-full p-1.5 transition-colors",a?"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,s.jsx)(o.A,{className:"size-4"})})]})})}},99979:(e,t,n)=>{"use strict";function s(){return new URLSearchParams(window.location.search).get("ws")}function r(e){let t=new URLSearchParams,n=s();for(let[s,r]of(n&&t.set("ws",n),Object.entries(e??{})))t.set(s,r);let r=t.toString();return r?`/plan?${r}`:"/plan"}n.d(t,{X0:()=>s,rc:()=>r})}},e=>{e.O(0,[7513,7352,5004,277,8500,4294,7886,8441,3794,7358],()=>e(e.s=15053)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5823],{39454:(e,t,o)=>{Promise.resolve().then(o.bind(o,91588)),Promise.resolve().then(o.bind(o,62079)),Promise.resolve().then(o.bind(o,70104))},62079:(e,t,o)=>{"use strict";o.d(t,{FilesMapClient:()=>F});var r=o(95155),n=o(12115),s=o(81750),l=o(6266),a=o(7679),i=o(98766),d=o(15629),c=o(79176),u=o(2982),p=o(64385);o(53255);var h=o(18986),f=o(9005),m=o(25583),x=o(82099),g=o(62311),b=o(9991),y=o(14983);let w=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var k=o(44267),j=o(70947),v=o(98238),N=o(28161);let M=/\.(py|go|rb|rs|java|php|ex|exs)$/i,C=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,S=e=>e.includes("/")?e.slice(0,e.indexOf("/")):"(root)";function A(e){let t=Math.max(14,.35*e.length),o=new Map;for(let t of e)o.set(t,S(t));for(let e=0;e<6;e++){let e=new Map;for(let t of o.values())e.set(t,(e.get(t)??0)+1);let r=!1;for(let[n,s]of o){if((e.get(s)??0)<=t||!n.startsWith(`${s}/`))continue;let l=n.slice(s.length+1);l.includes("/")&&(o.set(n,`${s}/${l.slice(0,l.indexOf("/"))}`),r=!0)}if(!r)break}return o}var $=o(29523),E=o(70221),z=o(12410),O=o(91337);function I(e){return 5+.5*Math.min(e,26)}let D={file:function({data:e}){let t=(0,$.k)(E.kz),o=!!e.touched,n=e.recency??0,a=e.inDegree??0,i=I(a),d=e.layer??null,c=2*!!d,u=a>0?` \xb7 imported by ${a}`:"",p=d?` \xb7 ${"fullstack"===d?"shared (used by frontend + backend)":N.YG[d].label.toLowerCase()}`:"",h=o?`${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,r.jsxs)("div",{title:h,className:"relative flex flex-col items-center",children:[(0,r.jsx)(s.h7,{type:"target",position:l.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,left:"50%"}}),(0,r.jsx)("span",{"aria-hidden":!0,className:(0,O.cn)("rounded-full",e.isNewest&&"animate-touch-pulse"),style:{padding:c,background:d?(0,N.A6)(d):void 0,boxShadow:o?`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,r.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:e.dirColor}})}),o&&(e.count??0)>0&&(0,r.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&&a>=4)&&(0,r.jsx)("span",{className:(0,O.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",o?"font-semibold text-teal-100":"text-foreground/75"),children:e.label}),(0,r.jsx)(s.h7,{type:"source",position:l.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 R({regions:e,dominant:t}){return(0,r.jsx)(s.DX,{children:e.map(e=>{let o=t.get(e.key);return o&&"fullstack"!==o?(0,r.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, ${N.ZD[o]} 0%, transparent 72%)`,opacity:.1}},e.key):null})})}function F({files:e,edges:t,touched:o,hasFrontend:l=!1,classificationRoots:S=[]}){let _,P=(0,n.useMemo)(()=>(function(e,t){let o=function(e){if(!e?.length)return[];let t=new Set;for(let o of e){let e=o.trim().replace(/^\/+|\/+$/g,"");e&&t.add(e)}return[...t]}(t);if(!o.length)return A(e);let r=new Map,n=[];for(let t of e){let e=function(e,t){let o=null;for(let r of t)(e===r||e.startsWith(`${r}/`))&&(!o||r.length>o.length)&&(o=r);return o}(t,o);e?r.set(t,function(e,t){if(e===t||!e.startsWith(`${t}/`))return t;let o=e.slice(t.length+1);return o.includes("/")?`${t}/${o.slice(0,o.indexOf("/"))}`:t}(t,e)):n.push(t)}for(let[e,t]of A(n))r.set(e,t);return r})(e.map(e=>e.path),S),[e,S]),T=(0,n.useMemo)(()=>(function(e,t,o){let r=function(e){let t=new Map;for(let o of e.values())t.set(o,(t.get(o)??0)+1);let o=Array.from(t.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])),r=Math.max(1,Math.ceil(Math.sqrt(2.5*o.length))),n=new Map;return o.forEach(([e],t)=>{n.set(e,{x:t%r*1250,y:950*Math.floor(t/r)})}),n}(o),n=e=>r.get(o.get(e)??"(root)"),s=e.map(e=>{let t=function(e){let t=0x811c9dc5;for(let o=0;o<e.length;o++)t=(t^e.charCodeAt(o))*0x1000193>>>0;return{x:(t%10007/10007-.5)*900,y:((t>>>13)%10007/10007-.5)*900}}(e.path),o=n(e.path);return{id:e.path,x:o.x+.5*t.x,y:o.y+.5*t.y,pinned:!1,radius:I(e.inDegree??0)+22}}),l=t.filter(e=>e.from!==e.to).map(e=>({source:e.from,target:e.to})),h=(0,a.A)(s).force("link",(0,i.A)(l).id(e=>e.id).distance(100).strength(e=>{let t="object"==typeof e.source?e.source.id:String(e.source),r="object"==typeof e.target?e.target.id:String(e.target);return o.get(t)===o.get(r)?.5:.02})).force("charge",(0,d.A)().strength(-260).distanceMax(800)).force("collide",(0,c.A)().radius(e=>e.radius).strength(.6)).force("clusterX",(0,u.A)(e=>n(e.id).x).strength(.1)).force("clusterY",(0,p.A)(e=>n(e.id).y).strength(.115)).stop();for(let e=0;e<500;e++)h.tick();let f=new Map;for(let e of s)f.set(e.id,{x:e.x??0,y:e.y??0});return f})(e,t,P),[e,t,P]),W=(0,n.useMemo)(()=>(function(e,t){var o;let r=new Set;for(let e of t)o=e.from,w.test(o)&&r.add(e.to);let n=new Set;for(let t of e)w.test(t)||r.has(t)||n.add(t);return n})(e.map(e=>e.path),t),[e,t]),L=(0,n.useMemo)(()=>l?function(e,t){let o=new Map,r=new Map;for(let e of t){let t=r.get(e.from);t?t.push(e.to):r.set(e.from,[e.to])}let n=new Map;for(let t of e){let e=C.test(t)?"backend":N.An.test(t)?"frontend":M.test(t)?"backend":null;o.set(t,e),e&&n.set(t,e)}let s=e=>{let t=new Set,o=[];for(let[t,r]of n)r===e&&o.push(t);for(;o.length;){let e=o.pop();for(let n of r.get(e)??[])t.has(n)||(t.add(n),o.push(n))}return t},l=s("frontend"),a=s("backend");for(let t of e){if(o.get(t))continue;let e=l.has(t),r=a.has(t);e&&r?o.set(t,"fullstack"):e?o.set(t,"frontend"):r&&o.set(t,"backend")}return o}(e.map(e=>e.path),t):null,[l,e,t]),V=(0,n.useMemo)(()=>{let e=new Map,t=Object.entries(o??{});if(!t.length)return e;let r=t.map(([,e])=>e.lastAt),n=Math.max(...r),s=Math.min(...r),l=n-s||1,a=t[0][0],i=t[0][1].lastAt;for(let[e,o]of t)o.lastAt>=i&&(a=e,i=o.lastAt);for(let[o,r]of t)e.set(o,{count:r.count,recency:(r.lastAt-s)/l,isNewest:o===a});return e},[o]),X=V.size>0,U=(0,n.useMemo)(()=>Array.from(V.entries()).map(([e,t])=>({path:e,label:e.slice(e.lastIndexOf("/")+1),count:t.count,recency:t.recency})).sort((e,t)=>t.recency-e.recency),[V]),B=(0,n.useMemo)(()=>e.map(e=>{let t=T.get(e.path)??{x:e.x,y:e.y},o=e.path.lastIndexOf("/"),r=o>=0?e.path.slice(o+1):e.path,n=V.get(e.path);return{id:e.path,type:"file",position:t,data:{label:r,tooltip:e.path,untested:W.has(e.path),inDegree:e.inDegree??0,dirColor:(0,z.i3)(P.get(e.path)??"(root)"),layer:L?.get(e.path)??null,touched:!!n,count:n?.count??0,recency:n?.recency??0,isNewest:n?.isNewest??!1}}}),[e,T,W,V,L,P]),H=(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]),[q,G]=(0,n.useState)(B),[J,K]=(0,n.useState)(H),[Q,Y]=(0,n.useState)(null),[ee,et]=(0,n.useState)(null),[eo,er]=(0,n.useState)(null),[en,es]=(0,n.useState)(!1),[el,ea]=(0,n.useState)(!1),[ei,ed]=(0,n.useState)(null),[ec,eu]=(0,n.useState)(!1),[ep,eh]=(0,n.useState)(""),[ef,em]=(0,n.useState)(!1),[ex,eg]=(0,n.useState)("full"),eb=(0,n.useRef)(null),ey=(0,n.useCallback)(e=>{Y(e),er(null);let t=eb.current?.getNode(e);t&&eb.current&&eb.current.setCenter(t.position.x+40,t.position.y+12,{zoom:1.4,duration:600})},[]),ew=(0,n.useCallback)(()=>{Y(null),er(null);let e=!el;if(ea(e),eu(e),e&&eb.current){let e=Array.from(V.keys()).map(e=>({id:e}));e.length&&eb.current.fitView({nodes:e,duration:600,padding:.4})}},[el,V]);(0,n.useEffect)(()=>em(!0),[]),(0,n.useEffect)(()=>G(B),[B]),(0,n.useEffect)(()=>K(H),[H]);let ek=(0,n.useCallback)(e=>G(t=>(0,s._0)(e,t)),[]),ej=(0,n.useCallback)(e=>K(t=>(0,s.zW)(e,t)),[]),ev=(0,n.useCallback)((e,t,o)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:e,x:t,y:o})})},[]),eN=(0,n.useMemo)(()=>new Set(t.filter(e=>e.circular).map(e=>`${e.from}|${e.to}`)),[t]),eM=(0,n.useMemo)(()=>{let e=new Set;for(let o of t)o.circular&&(e.add(o.from),e.add(o.to));return e},[t]),eC=Q??ee,eS=ep.trim().length>0,eA=(0,n.useMemo)(()=>{if(!eS)return null;let t=new Set;for(let o of e)(0,y.Qk)((0,y.zn)(o),ep)&&t.add(o.path);return t},[e,ep,eS]),e$=(0,n.useMemo)(()=>eS?(0,y.r2)(e,ep,e=>(0,y.zn)(e),e=>({id:e.path,label:e.path,sublabel:e.lang??void 0,kind:"file"})):[],[e,ep,eS]),eE=(0,n.useMemo)(()=>{if(eo){let e=J.find(e=>e.id===eo);return e?new Set([e.source,e.target]):null}if(eC){let e=new Set([eC]);for(let o of t)o.from===eC&&e.add(o.to),o.to===eC&&e.add(o.from);return e}return en?eM:el&&X?new Set(V.keys()):null},[eC,eo,en,eM,t,J,el,X,V]),ez=eA??eE,eO=(0,n.useMemo)(()=>{if(!ei||!L)return null;let t=new Set;for(let o of e)(0,v.F)(ei,L.get(o.path)??null)||t.add(o.path);return t},[ei,L,e]),eI=(0,n.useMemo)(()=>ez?q.map(e=>{let t=ez.has(e.id);return{...e,zIndex:t&&eA?10:e.zIndex,style:{...e.style,opacity:t?1:.15,boxShadow:t&&eA?y.RU:e.style?.boxShadow,borderRadius:t&&eA?9999:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):eO?q.map(e=>eO.has(e.id)?{...e,style:{...e.style,opacity:.15,transition:"opacity 120ms"}}:e):q,[q,ez,eA,eO]),eD=(0,n.useMemo)(()=>eA?J.map(e=>eA.has(e.source)&&eA.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}):eC||eo||en||el?J.map(e=>{let t=!1;return eo?t=e.id===eo:eC?t=e.source===eC||e.target===eC:en?t=eN.has(e.id):el&&(t=V.has(e.source)&&V.has(e.target)),t?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}}):eO?J.map(e=>eO.has(e.source)||eO.has(e.target)?{...e,style:{...e.style,opacity:.05}}:e):J,[J,eC,eo,en,eN,el,V,eA,eO]),eR=(0,n.useMemo)(()=>{let e=q.map(e=>{let t=I(e.data.inDegree??0);return{id:e.id,group:P.get(e.id)??"(root)",x:e.position.x,y:e.position.y,w:2*t,h:2*t}});return(0,k.S)(e,{pad:60})},[q,P]),eF=(0,n.useMemo)(()=>{let t=new Map;if(!L)return t;let o=new Map;for(let t of e){let e=L.get(t.path);if(!e)continue;let r=P.get(t.path)??"(root)",n=o.get(r)??new Map;n.set(e,(n.get(e)??0)+1),o.set(r,n)}for(let[e,r]of o){let o=null,n=0,s=!1;for(let[e,t]of r)t>n?(o=e,n=t,s=!1):t===n&&(s=!0);t.set(e,s?null:o)}return t},[L,e,P]),eZ=(0,n.useMemo)(()=>{let e=new Map;for(let t of P.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,z.i3)(e)}))},[P]),e_=t.filter(e=>e.circular).length,eP=(0,n.useMemo)(()=>Q?t.filter(e=>e.from===Q).map(e=>e.to):[],[Q,t]),eT=(0,n.useMemo)(()=>Q?t.filter(e=>e.to===Q).map(e=>e.from):[],[Q,t]),eW=null!==Q||ec&&X,eL=(0,n.useCallback)(()=>{Y(null),eu(!1),ea(!1)},[]);return ef?(0,r.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,r.jsxs)(s.Gc,{nodes:eI,edges:eD,nodeTypes:D,onNodesChange:ek,onEdgesChange:ej,onNodeClick:(e,t)=>{Y(t.id),er(null)},onEdgeClick:(e,t)=>{er(t.id),Y(null)},onPaneClick:()=>{Y(null),er(null)},onNodeMouseEnter:(e,t)=>et(t.id),onNodeMouseLeave:()=>et(null),onInit:e=>{eb.current=e},onNodeDragStop:(e,t)=>ev(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,r.jsx)(j.Z,{regions:"far"===ex?eR:[],tone:"category",lod:ex}),l&&(0,r.jsx)(R,{regions:"far"===ex?[]:eR,dominant:eF}),(0,r.jsx)($.J,{onLod:eg,thresholds:E.kz}),(0,r.jsx)(s.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,r.jsx)(s.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),(0,r.jsx)(s.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,r.jsx)(g.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,r.jsx)(s.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:eZ.map(t=>(0,r.jsxs)("button",{type:"button",onClick:()=>{let o=e.filter(e=>(P.get(e.path)??"(root)")===t.group).map(e=>({id:e.path}));o.length&&eb.current?.fitView({nodes:o,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,r.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:t.color}}),t.group]},t.group))}),(0,r.jsxs)(s.Zk,{position:"top-right",className:"flex items-center gap-2",children:[(0,r.jsx)(b.X,{query:ep,onQuery:eh,hits:e$,placeholder:"Find a file…",onPick:e=>{eh(""),ey(e)},onZoomToMatches:()=>{eA?.size&&eb.current?.fitView({nodes:[...eA].map(e=>({id:e})),duration:600,padding:.3})}}),l&&(0,r.jsx)(v.o,{value:ei,onChange:ed,options:["frontend","backend"]}),(0,r.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,r.jsxs)("span",{className:"text-muted-foreground",children:[e.length," files \xb7 ",t.length," imports"]}),e_>0&&(0,r.jsxs)("button",{type:"button",onClick:()=>{es(e=>!e),Y(null),er(null)},title:en?"Show all imports":"Show only files involved in import cycles",className:(0,O.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",en?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,r.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),e_," circular"]}),X&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("button",{type:"button",onClick:ew,title:el?"Show all files again":"Focus + zoom to the files edited this session",className:(0,O.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",el?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,r.jsx)(h.A,{className:"size-3"}),V.size," edited"]})})]})]})]}),eW&&(0,r.jsxs)(x.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,r.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:Q?"File":"Edited this session"}),(0,r.jsx)("button",{onClick:eL,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,r.jsx)(f.A,{className:"size-4"})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:Q?(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,r.jsx)(m.A,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:Q.slice(Q.lastIndexOf("/")+1)})]}),(0,r.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:Q})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(_=V.get(Q))?(0,r.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",_.count,"\xd7"]}):null,W.has(Q)&&(0,r.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,r.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(Q)}`).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,r.jsx)(Z,{label:"Imports",paths:eP,onPick:ey}),(0,r.jsx)(Z,{label:"Imported by",paths:eT,onPick:ey})]}):(0,r.jsx)("ul",{className:"space-y-0.5",children:U.map(e=>(0,r.jsx)("li",{children:(0,r.jsxs)("button",{onClick:()=>ey(e.path),title:e.path,className:"flex w-full items-center justify-between gap-2 rounded px-2 py-1 text-left transition-colors hover:bg-white/[0.06]",children:[(0,r.jsx)("span",{className:"truncate text-[11px] text-foreground/90",children:e.label}),(0,r.jsxs)("span",{className:"shrink-0 text-[9px] text-teal-300/80",children:[e.count,"\xd7"]})]})},e.path))})})]})]}):(0,r.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function Z({label:e,paths:t,onPick:o}){return t.length?(0,r.jsxs)("div",{children:[(0,r.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[e," (",t.length,")"]}),(0,r.jsx)("ul",{className:"space-y-0.5",children:t.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)("button",{onClick:()=>o(e),title:e,className:"block w-full truncate rounded px-1.5 py-0.5 text-left font-mono text-[10px] text-muted-foreground transition-colors hover:bg-white/5 hover:text-foreground",children:e.slice(e.lastIndexOf("/")+1)})},e))})]}):null}}},e=>{e.O(0,[2574,3862,8500,4294,766,6955,1439,1237,8441,3794,7358],()=>e(e.s=39454)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5823],{39454:(e,t,o)=>{Promise.resolve().then(o.bind(o,91588)),Promise.resolve().then(o.bind(o,62079)),Promise.resolve().then(o.bind(o,85955))},62079:(e,t,o)=>{"use strict";o.d(t,{FilesMapClient:()=>F});var r=o(95155),n=o(12115),s=o(81750),l=o(6266),a=o(7679),i=o(98766),d=o(15629),c=o(79176),u=o(2982),p=o(64385);o(53255);var h=o(18986),f=o(9005),m=o(25583),x=o(82099),g=o(62311),b=o(9991),y=o(14983);let w=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var k=o(44267),j=o(70947),v=o(98238),N=o(28161);let M=/\.(py|go|rb|rs|java|php|ex|exs)$/i,C=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,S=e=>e.includes("/")?e.slice(0,e.indexOf("/")):"(root)";function A(e){let t=Math.max(14,.35*e.length),o=new Map;for(let t of e)o.set(t,S(t));for(let e=0;e<6;e++){let e=new Map;for(let t of o.values())e.set(t,(e.get(t)??0)+1);let r=!1;for(let[n,s]of o){if((e.get(s)??0)<=t||!n.startsWith(`${s}/`))continue;let l=n.slice(s.length+1);l.includes("/")&&(o.set(n,`${s}/${l.slice(0,l.indexOf("/"))}`),r=!0)}if(!r)break}return o}var $=o(29523),E=o(70221),z=o(12410),O=o(91337);function I(e){return 5+.5*Math.min(e,26)}let D={file:function({data:e}){let t=(0,$.k)(E.kz),o=!!e.touched,n=e.recency??0,a=e.inDegree??0,i=I(a),d=e.layer??null,c=2*!!d,u=a>0?` \xb7 imported by ${a}`:"",p=d?` \xb7 ${"fullstack"===d?"shared (used by frontend + backend)":N.YG[d].label.toLowerCase()}`:"",h=o?`${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,r.jsxs)("div",{title:h,className:"relative flex flex-col items-center",children:[(0,r.jsx)(s.h7,{type:"target",position:l.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+c,left:"50%"}}),(0,r.jsx)("span",{"aria-hidden":!0,className:(0,O.cn)("rounded-full",e.isNewest&&"animate-touch-pulse"),style:{padding:c,background:d?(0,N.A6)(d):void 0,boxShadow:o?`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,r.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:e.dirColor}})}),o&&(e.count??0)>0&&(0,r.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&&a>=4)&&(0,r.jsx)("span",{className:(0,O.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",o?"font-semibold text-teal-100":"text-foreground/75"),children:e.label}),(0,r.jsx)(s.h7,{type:"source",position:l.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 R({regions:e,dominant:t}){return(0,r.jsx)(s.DX,{children:e.map(e=>{let o=t.get(e.key);return o&&"fullstack"!==o?(0,r.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, ${N.ZD[o]} 0%, transparent 72%)`,opacity:.1}},e.key):null})})}function F({files:e,edges:t,touched:o,hasFrontend:l=!1,classificationRoots:S=[]}){let _,P=(0,n.useMemo)(()=>(function(e,t){let o=function(e){if(!e?.length)return[];let t=new Set;for(let o of e){let e=o.trim().replace(/^\/+|\/+$/g,"");e&&t.add(e)}return[...t]}(t);if(!o.length)return A(e);let r=new Map,n=[];for(let t of e){let e=function(e,t){let o=null;for(let r of t)(e===r||e.startsWith(`${r}/`))&&(!o||r.length>o.length)&&(o=r);return o}(t,o);e?r.set(t,function(e,t){if(e===t||!e.startsWith(`${t}/`))return t;let o=e.slice(t.length+1);return o.includes("/")?`${t}/${o.slice(0,o.indexOf("/"))}`:t}(t,e)):n.push(t)}for(let[e,t]of A(n))r.set(e,t);return r})(e.map(e=>e.path),S),[e,S]),T=(0,n.useMemo)(()=>(function(e,t,o){let r=function(e){let t=new Map;for(let o of e.values())t.set(o,(t.get(o)??0)+1);let o=Array.from(t.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])),r=Math.max(1,Math.ceil(Math.sqrt(2.5*o.length))),n=new Map;return o.forEach(([e],t)=>{n.set(e,{x:t%r*1250,y:950*Math.floor(t/r)})}),n}(o),n=e=>r.get(o.get(e)??"(root)"),s=e.map(e=>{let t=function(e){let t=0x811c9dc5;for(let o=0;o<e.length;o++)t=(t^e.charCodeAt(o))*0x1000193>>>0;return{x:(t%10007/10007-.5)*900,y:((t>>>13)%10007/10007-.5)*900}}(e.path),o=n(e.path);return{id:e.path,x:o.x+.5*t.x,y:o.y+.5*t.y,pinned:!1,radius:I(e.inDegree??0)+22}}),l=t.filter(e=>e.from!==e.to).map(e=>({source:e.from,target:e.to})),h=(0,a.A)(s).force("link",(0,i.A)(l).id(e=>e.id).distance(100).strength(e=>{let t="object"==typeof e.source?e.source.id:String(e.source),r="object"==typeof e.target?e.target.id:String(e.target);return o.get(t)===o.get(r)?.5:.02})).force("charge",(0,d.A)().strength(-260).distanceMax(800)).force("collide",(0,c.A)().radius(e=>e.radius).strength(.6)).force("clusterX",(0,u.A)(e=>n(e.id).x).strength(.1)).force("clusterY",(0,p.A)(e=>n(e.id).y).strength(.115)).stop();for(let e=0;e<500;e++)h.tick();let f=new Map;for(let e of s)f.set(e.id,{x:e.x??0,y:e.y??0});return f})(e,t,P),[e,t,P]),W=(0,n.useMemo)(()=>(function(e,t){var o;let r=new Set;for(let e of t)o=e.from,w.test(o)&&r.add(e.to);let n=new Set;for(let t of e)w.test(t)||r.has(t)||n.add(t);return n})(e.map(e=>e.path),t),[e,t]),L=(0,n.useMemo)(()=>l?function(e,t){let o=new Map,r=new Map;for(let e of t){let t=r.get(e.from);t?t.push(e.to):r.set(e.from,[e.to])}let n=new Map;for(let t of e){let e=C.test(t)?"backend":N.An.test(t)?"frontend":M.test(t)?"backend":null;o.set(t,e),e&&n.set(t,e)}let s=e=>{let t=new Set,o=[];for(let[t,r]of n)r===e&&o.push(t);for(;o.length;){let e=o.pop();for(let n of r.get(e)??[])t.has(n)||(t.add(n),o.push(n))}return t},l=s("frontend"),a=s("backend");for(let t of e){if(o.get(t))continue;let e=l.has(t),r=a.has(t);e&&r?o.set(t,"fullstack"):e?o.set(t,"frontend"):r&&o.set(t,"backend")}return o}(e.map(e=>e.path),t):null,[l,e,t]),V=(0,n.useMemo)(()=>{let e=new Map,t=Object.entries(o??{});if(!t.length)return e;let r=t.map(([,e])=>e.lastAt),n=Math.max(...r),s=Math.min(...r),l=n-s||1,a=t[0][0],i=t[0][1].lastAt;for(let[e,o]of t)o.lastAt>=i&&(a=e,i=o.lastAt);for(let[o,r]of t)e.set(o,{count:r.count,recency:(r.lastAt-s)/l,isNewest:o===a});return e},[o]),X=V.size>0,U=(0,n.useMemo)(()=>Array.from(V.entries()).map(([e,t])=>({path:e,label:e.slice(e.lastIndexOf("/")+1),count:t.count,recency:t.recency})).sort((e,t)=>t.recency-e.recency),[V]),B=(0,n.useMemo)(()=>e.map(e=>{let t=T.get(e.path)??{x:e.x,y:e.y},o=e.path.lastIndexOf("/"),r=o>=0?e.path.slice(o+1):e.path,n=V.get(e.path);return{id:e.path,type:"file",position:t,data:{label:r,tooltip:e.path,untested:W.has(e.path),inDegree:e.inDegree??0,dirColor:(0,z.i3)(P.get(e.path)??"(root)"),layer:L?.get(e.path)??null,touched:!!n,count:n?.count??0,recency:n?.recency??0,isNewest:n?.isNewest??!1}}}),[e,T,W,V,L,P]),H=(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]),[q,G]=(0,n.useState)(B),[J,K]=(0,n.useState)(H),[Q,Y]=(0,n.useState)(null),[ee,et]=(0,n.useState)(null),[eo,er]=(0,n.useState)(null),[en,es]=(0,n.useState)(!1),[el,ea]=(0,n.useState)(!1),[ei,ed]=(0,n.useState)(null),[ec,eu]=(0,n.useState)(!1),[ep,eh]=(0,n.useState)(""),[ef,em]=(0,n.useState)(!1),[ex,eg]=(0,n.useState)("full"),eb=(0,n.useRef)(null),ey=(0,n.useCallback)(e=>{Y(e),er(null);let t=eb.current?.getNode(e);t&&eb.current&&eb.current.setCenter(t.position.x+40,t.position.y+12,{zoom:1.4,duration:600})},[]),ew=(0,n.useCallback)(()=>{Y(null),er(null);let e=!el;if(ea(e),eu(e),e&&eb.current){let e=Array.from(V.keys()).map(e=>({id:e}));e.length&&eb.current.fitView({nodes:e,duration:600,padding:.4})}},[el,V]);(0,n.useEffect)(()=>em(!0),[]),(0,n.useEffect)(()=>G(B),[B]),(0,n.useEffect)(()=>K(H),[H]);let ek=(0,n.useCallback)(e=>G(t=>(0,s._0)(e,t)),[]),ej=(0,n.useCallback)(e=>K(t=>(0,s.zW)(e,t)),[]),ev=(0,n.useCallback)((e,t,o)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:e,x:t,y:o})})},[]),eN=(0,n.useMemo)(()=>new Set(t.filter(e=>e.circular).map(e=>`${e.from}|${e.to}`)),[t]),eM=(0,n.useMemo)(()=>{let e=new Set;for(let o of t)o.circular&&(e.add(o.from),e.add(o.to));return e},[t]),eC=Q??ee,eS=ep.trim().length>0,eA=(0,n.useMemo)(()=>{if(!eS)return null;let t=new Set;for(let o of e)(0,y.Qk)((0,y.zn)(o),ep)&&t.add(o.path);return t},[e,ep,eS]),e$=(0,n.useMemo)(()=>eS?(0,y.r2)(e,ep,e=>(0,y.zn)(e),e=>({id:e.path,label:e.path,sublabel:e.lang??void 0,kind:"file"})):[],[e,ep,eS]),eE=(0,n.useMemo)(()=>{if(eo){let e=J.find(e=>e.id===eo);return e?new Set([e.source,e.target]):null}if(eC){let e=new Set([eC]);for(let o of t)o.from===eC&&e.add(o.to),o.to===eC&&e.add(o.from);return e}return en?eM:el&&X?new Set(V.keys()):null},[eC,eo,en,eM,t,J,el,X,V]),ez=eA??eE,eO=(0,n.useMemo)(()=>{if(!ei||!L)return null;let t=new Set;for(let o of e)(0,v.F)(ei,L.get(o.path)??null)||t.add(o.path);return t},[ei,L,e]),eI=(0,n.useMemo)(()=>ez?q.map(e=>{let t=ez.has(e.id);return{...e,zIndex:t&&eA?10:e.zIndex,style:{...e.style,opacity:t?1:.15,boxShadow:t&&eA?y.RU:e.style?.boxShadow,borderRadius:t&&eA?9999:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):eO?q.map(e=>eO.has(e.id)?{...e,style:{...e.style,opacity:.15,transition:"opacity 120ms"}}:e):q,[q,ez,eA,eO]),eD=(0,n.useMemo)(()=>eA?J.map(e=>eA.has(e.source)&&eA.has(e.target)?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}):eC||eo||en||el?J.map(e=>{let t=!1;return eo?t=e.id===eo:eC?t=e.source===eC||e.target===eC:en?t=eN.has(e.id):el&&(t=V.has(e.source)&&V.has(e.target)),t?{...e,style:{...e.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...e,style:{...e.style,opacity:.05}}}):eO?J.map(e=>eO.has(e.source)||eO.has(e.target)?{...e,style:{...e.style,opacity:.05}}:e):J,[J,eC,eo,en,eN,el,V,eA,eO]),eR=(0,n.useMemo)(()=>{let e=q.map(e=>{let t=I(e.data.inDegree??0);return{id:e.id,group:P.get(e.id)??"(root)",x:e.position.x,y:e.position.y,w:2*t,h:2*t}});return(0,k.S)(e,{pad:60})},[q,P]),eF=(0,n.useMemo)(()=>{let t=new Map;if(!L)return t;let o=new Map;for(let t of e){let e=L.get(t.path);if(!e)continue;let r=P.get(t.path)??"(root)",n=o.get(r)??new Map;n.set(e,(n.get(e)??0)+1),o.set(r,n)}for(let[e,r]of o){let o=null,n=0,s=!1;for(let[e,t]of r)t>n?(o=e,n=t,s=!1):t===n&&(s=!0);t.set(e,s?null:o)}return t},[L,e,P]),eZ=(0,n.useMemo)(()=>{let e=new Map;for(let t of P.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,z.i3)(e)}))},[P]),e_=t.filter(e=>e.circular).length,eP=(0,n.useMemo)(()=>Q?t.filter(e=>e.from===Q).map(e=>e.to):[],[Q,t]),eT=(0,n.useMemo)(()=>Q?t.filter(e=>e.to===Q).map(e=>e.from):[],[Q,t]),eW=null!==Q||ec&&X,eL=(0,n.useCallback)(()=>{Y(null),eu(!1),ea(!1)},[]);return ef?(0,r.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,r.jsxs)(s.Gc,{nodes:eI,edges:eD,nodeTypes:D,onNodesChange:ek,onEdgesChange:ej,onNodeClick:(e,t)=>{Y(t.id),er(null)},onEdgeClick:(e,t)=>{er(t.id),Y(null)},onPaneClick:()=>{Y(null),er(null)},onNodeMouseEnter:(e,t)=>et(t.id),onNodeMouseLeave:()=>et(null),onInit:e=>{eb.current=e},onNodeDragStop:(e,t)=>ev(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,r.jsx)(j.Z,{regions:"far"===ex?eR:[],tone:"category",lod:ex}),l&&(0,r.jsx)(R,{regions:"far"===ex?[]:eR,dominant:eF}),(0,r.jsx)($.J,{onLod:eg,thresholds:E.kz}),(0,r.jsx)(s.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,r.jsx)(s.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),(0,r.jsx)(s.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,r.jsx)(g.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,r.jsx)(s.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:eZ.map(t=>(0,r.jsxs)("button",{type:"button",onClick:()=>{let o=e.filter(e=>(P.get(e.path)??"(root)")===t.group).map(e=>({id:e.path}));o.length&&eb.current?.fitView({nodes:o,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,r.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:t.color}}),t.group]},t.group))}),(0,r.jsxs)(s.Zk,{position:"top-right",className:"flex items-center gap-2",children:[(0,r.jsx)(b.X,{query:ep,onQuery:eh,hits:e$,placeholder:"Find a file…",onPick:e=>{eh(""),ey(e)},onZoomToMatches:()=>{eA?.size&&eb.current?.fitView({nodes:[...eA].map(e=>({id:e})),duration:600,padding:.3})}}),l&&(0,r.jsx)(v.o,{value:ei,onChange:ed,options:["frontend","backend"]}),(0,r.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,r.jsxs)("span",{className:"text-muted-foreground",children:[e.length," files \xb7 ",t.length," imports"]}),e_>0&&(0,r.jsxs)("button",{type:"button",onClick:()=>{es(e=>!e),Y(null),er(null)},title:en?"Show all imports":"Show only files involved in import cycles",className:(0,O.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",en?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,r.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),e_," circular"]}),X&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("button",{type:"button",onClick:ew,title:el?"Show all files again":"Focus + zoom to the files edited this session",className:(0,O.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",el?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,r.jsx)(h.A,{className:"size-3"}),V.size," edited"]})})]})]})]}),eW&&(0,r.jsxs)(x.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,r.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:Q?"File":"Edited this session"}),(0,r.jsx)("button",{onClick:eL,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,r.jsx)(f.A,{className:"size-4"})})]}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:Q?(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,r.jsx)(m.A,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,r.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:Q.slice(Q.lastIndexOf("/")+1)})]}),(0,r.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:Q})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(_=V.get(Q))?(0,r.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",_.count,"\xd7"]}):null,W.has(Q)&&(0,r.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,r.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(Q)}`).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,r.jsx)(Z,{label:"Imports",paths:eP,onPick:ey}),(0,r.jsx)(Z,{label:"Imported by",paths:eT,onPick:ey})]}):(0,r.jsx)("ul",{className:"space-y-0.5",children:U.map(e=>(0,r.jsx)("li",{children:(0,r.jsxs)("button",{onClick:()=>ey(e.path),title:e.path,className:"flex w-full items-center justify-between gap-2 rounded px-2 py-1 text-left transition-colors hover:bg-white/[0.06]",children:[(0,r.jsx)("span",{className:"truncate text-[11px] text-foreground/90",children:e.label}),(0,r.jsxs)("span",{className:"shrink-0 text-[9px] text-teal-300/80",children:[e.count,"\xd7"]})]})},e.path))})})]})]}):(0,r.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function Z({label:e,paths:t,onPick:o}){return t.length?(0,r.jsxs)("div",{children:[(0,r.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[e," (",t.length,")"]}),(0,r.jsx)("ul",{className:"space-y-0.5",children:t.map(e=>(0,r.jsx)("li",{children:(0,r.jsx)("button",{onClick:()=>o(e),title:e,className:"block w-full truncate rounded px-1.5 py-0.5 text-left font-mono text-[10px] text-muted-foreground transition-colors hover:bg-white/5 hover:text-foreground",children:e.slice(e.lastIndexOf("/")+1)})},e))})]}):null}}},e=>{e.O(0,[2574,3862,8500,4294,766,6955,1439,1726,8441,3794,7358],()=>e(e.s=39454)),_N_E=e.O()}]);
|