trybeacon 0.1.67 → 0.1.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +11 -15
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -27
- package/.next/routes-manifest.json +0 -28
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +11 -11
- package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
- package/.next/server/app/api/board-annotations/route.js +1 -1
- package/.next/server/app/api/board-layout/route.js +1 -1
- package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
- package/.next/server/app/api/bug-flags/route.js +1 -1
- package/.next/server/app/api/code-graph/position/route.js +1 -1
- package/.next/server/app/api/code-graph/route.js +1 -1
- package/.next/server/app/api/context/feature/route.js +1 -1
- package/.next/server/app/api/context/file/route.js +1 -1
- package/.next/server/app/api/context/route.js +1 -1
- package/.next/server/app/api/db/arrange/route.js +1 -1
- package/.next/server/app/api/db/backfill-access/route.js +1 -1
- package/.next/server/app/api/db/position/route.js +1 -1
- package/.next/server/app/api/db/prune-planned/route.js +1 -1
- package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
- package/.next/server/app/api/db/relations/[id]/route.js +1 -1
- package/.next/server/app/api/db/tables/[id]/route.js +1 -1
- package/.next/server/app/api/draft/approve/route.js +1 -1
- package/.next/server/app/api/draft/route.js +1 -1
- package/.next/server/app/api/draft/status/route.js +1 -1
- package/.next/server/app/api/edges/[id]/route.js +1 -1
- package/.next/server/app/api/edges/route.js +1 -1
- package/.next/server/app/api/endpoints/[id]/route.js +1 -1
- package/.next/server/app/api/entities/route.js +1 -1
- package/.next/server/app/api/flags/route.js +1 -1
- package/.next/server/app/api/ingest/route.js +2 -2
- package/.next/server/app/api/init/route.js +2 -2
- package/.next/server/app/api/lesson/close/route.js +1 -1
- package/.next/server/app/api/lesson/presence/route.js +1 -1
- package/.next/server/app/api/lesson/questions/route.js +1 -1
- package/.next/server/app/api/lesson/route.js +1 -1
- package/.next/server/app/api/lesson/save/route.js +1 -1
- package/.next/server/app/api/lesson/verdict/route.js +1 -1
- package/.next/server/app/api/map/describe/route.js +2 -2
- package/.next/server/app/api/map/files/route.js +1 -1
- package/.next/server/app/api/map/finish/route.js +1 -1
- package/.next/server/app/api/map/route.js +1 -1
- package/.next/server/app/api/map/start/route.js +1 -1
- package/.next/server/app/api/map/touch-active/route.js +1 -1
- package/.next/server/app/api/mention-search/route.js +1 -1
- package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
- package/.next/server/app/api/nodes/[id]/route.js +1 -1
- package/.next/server/app/api/nodes/positions/route.js +1 -1
- package/.next/server/app/api/nodes/route.js +1 -1
- package/.next/server/app/api/nodes/subtasks/route.js +1 -1
- package/.next/server/app/api/notes/[id]/route.js +1 -1
- package/.next/server/app/api/notes/route.js +1 -1
- package/.next/server/app/api/open/route.js +1 -1
- package/.next/server/app/api/plan/annotations/route.js +3 -3
- package/.next/server/app/api/plan/approve/route.js +2 -2
- package/.next/server/app/api/plan/history/route.js +1 -1
- package/.next/server/app/api/plan/markdown/route.js +1 -1
- package/.next/server/app/api/plan/presence/route.js +1 -1
- package/.next/server/app/api/plan/route.js +1 -1
- package/.next/server/app/api/plan/verdict/route.js +1 -1
- package/.next/server/app/api/preferences/route.js +1 -1
- package/.next/server/app/api/project-meta/route.js +1 -1
- package/.next/server/app/api/reset/route.js +1 -1
- package/.next/server/app/api/scope-guard/check/route.js +1 -1
- package/.next/server/app/api/share/create/route.js +1 -1
- package/.next/server/app/api/share/route.js +1 -1
- package/.next/server/app/api/share/route.js.nft.json +1 -1
- package/.next/server/app/api/stream/route.js +2 -2
- package/.next/server/app/api/tab/nav/route.js +1 -1
- package/.next/server/app/api/tab/presence/route.js +1 -1
- package/.next/server/app/api/telemetry/route.js +1 -1
- package/.next/server/app/api/telemetry/stats/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/workspace/activate/route.js +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/apple-icon.png/route.js +1 -1
- package/.next/server/app/docs/page.js +2 -2
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs.html +1 -1
- package/.next/server/app/docs.rsc +12 -12
- package/.next/server/app/docs.segments/_full.segment.rsc +12 -12
- package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/docs.segments/_index.segment.rsc +11 -11
- package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/.next/server/app/help/page.js +2 -2
- package/.next/server/app/help/page_client-reference-manifest.js +1 -1
- package/.next/server/app/help.html +1 -1
- package/.next/server/app/help.rsc +11 -11
- package/.next/server/app/help.segments/_full.segment.rsc +11 -11
- package/.next/server/app/help.segments/_head.segment.rsc +1 -1
- package/.next/server/app/help.segments/_index.segment.rsc +11 -11
- package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/help.segments/help.segment.rsc +1 -1
- package/.next/server/app/icon.svg/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +12 -12
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +12 -12
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/learn/page.js +3 -3
- package/.next/server/app/learn/page.js.nft.json +1 -1
- package/.next/server/app/learn/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/plan/page.js +2 -2
- package/.next/server/app/plan/page.js.nft.json +1 -1
- package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
- package/.next/server/app/s/[token]/page.js +2 -2
- package/.next/server/app/s/[token]/page.js.nft.json +1 -1
- package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page.js +2 -2
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +11 -15
- package/.next/server/chunks/2773.js +1 -0
- package/.next/server/chunks/4307.js +1 -1
- package/.next/server/chunks/6709.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.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/ZEJwYPSMMES2UlUBBgBmw/_buildManifest.js +1 -0
- package/.next/static/chunks/6371-9ebaddaf512402a4.js +1 -0
- package/.next/static/chunks/app/_global-error/page-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/board-annotations/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/board-layout/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/bug-flags/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/code-graph/position/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/code-graph/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/context/feature/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/context/file/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/context/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/arrange/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/backfill-access/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/position/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/prune-planned/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/relations/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/db/tables/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/draft/approve/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/draft/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/draft/status/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/edges/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/edges/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/endpoints/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/entities/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/flags/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/ingest/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/init/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/close/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/presence/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/questions/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/save/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/lesson/verdict/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/describe/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/files/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/finish/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/start/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/map/touch-active/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/mention-search/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/position/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/nodes/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/nodes/positions/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/nodes/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/nodes/subtasks/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/notes/[id]/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/notes/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/open/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/annotations/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/approve/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/history/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/markdown/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/presence/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/plan/verdict/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/preferences/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/project-meta/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/reset/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/scope-guard/check/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/share/create/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/share/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/stream/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/tab/nav/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/tab/presence/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/telemetry/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/telemetry/stats/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/version/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/workspace/activate/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/api/workspace/route-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/app/docs/page-126c0e42c71731b2.js +1 -0
- package/.next/static/chunks/app/layout-e46e1337e196e904.js +1 -0
- package/.next/static/chunks/app/learn/{page-03acad0a37068966.js → page-4193bf2f60c4f812.js} +1 -1
- package/.next/static/chunks/app/map/{page-5cfad64d5feea695.js → page-6f0139228ec52538.js} +1 -1
- package/.next/static/chunks/app/{page-d08947a671077569.js → page-ec00130a7a249f14.js} +1 -1
- package/.next/static/chunks/app/plan/{page-5eacb6b83bd4873d.js → page-5addc50440c40167.js} +1 -1
- package/.next/static/chunks/app/s/[token]/{page-1a350cf50a45500c.js → page-13976553e707cad8.js} +1 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-93569b5eb93a61e9.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-93569b5eb93a61e9.js +1 -0
- package/.next/static/css/ac0b6ff5058ccc12.css +1 -0
- package/.next/trace +43 -43
- package/.next/trace-build +1 -1
- package/.next/types/routes.d.ts +2 -6
- package/.next/types/validator.ts +0 -36
- package/package.json +3 -3
- package/.next/server/app/api/feedback/[id]/route.js +0 -1
- package/.next/server/app/api/feedback/[id]/route.js.nft.json +0 -1
- package/.next/server/app/api/feedback/[id]/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/feedback/[id]/vote/route.js +0 -1
- package/.next/server/app/api/feedback/[id]/vote/route.js.nft.json +0 -1
- package/.next/server/app/api/feedback/[id]/vote/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/feedback/route.js +0 -1
- package/.next/server/app/api/feedback/route.js.nft.json +0 -1
- package/.next/server/app/api/feedback/route_client-reference-manifest.js +0 -1
- package/.next/server/app/feedback/page.js +0 -2
- package/.next/server/app/feedback/page.js.nft.json +0 -1
- package/.next/server/app/feedback/page_client-reference-manifest.js +0 -1
- package/.next/server/app/feedback.html +0 -1
- package/.next/server/app/feedback.meta +0 -15
- package/.next/server/app/feedback.rsc +0 -32
- package/.next/server/app/feedback.segments/_full.segment.rsc +0 -32
- package/.next/server/app/feedback.segments/_head.segment.rsc +0 -6
- package/.next/server/app/feedback.segments/_index.segment.rsc +0 -15
- package/.next/server/app/feedback.segments/_tree.segment.rsc +0 -5
- package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/feedback.segments/feedback.segment.rsc +0 -5
- package/.next/server/chunks/2050.js +0 -1
- package/.next/server/chunks/5683.js +0 -1
- package/.next/static/chunks/1276-b84f61ec9c0df862.js +0 -1
- package/.next/static/chunks/app/_global-error/page-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/board-annotations/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/board-layout/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/bug-flags/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/code-graph/position/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/code-graph/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/context/feature/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/context/file/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/context/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/arrange/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/backfill-access/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/position/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/prune-planned/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/reconcile-endpoints/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/relations/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/db/tables/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/draft/approve/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/draft/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/draft/status/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/edges/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/edges/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/endpoints/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/entities/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/feedback/[id]/vote/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/feedback/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/flags/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/ingest/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/init/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/close/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/presence/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/questions/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/save/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/lesson/verdict/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/describe/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/files/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/finish/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/start/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/map/touch-active/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/mention-search/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/position/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/nodes/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/nodes/positions/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/nodes/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/nodes/subtasks/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/notes/[id]/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/notes/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/open/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/annotations/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/approve/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/history/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/markdown/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/presence/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/plan/verdict/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/preferences/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/project-meta/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/reset/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/scope-guard/check/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/share/create/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/share/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/stream/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/tab/nav/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/tab/presence/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/telemetry/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/telemetry/stats/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/version/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/workspace/activate/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/api/workspace/route-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/app/docs/page-ae19d2e91ec24771.js +0 -1
- package/.next/static/chunks/app/feedback/page-ea7f66503f2a4ca6.js +0 -1
- package/.next/static/chunks/app/layout-9f0f4d8e4534a62e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-2390ea0e69e5991f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2390ea0e69e5991f.js +0 -1
- package/.next/static/css/63986592e2be7d62.css +0 -1
- package/.next/static/hkOIw5DQW9WSwBwZrD8_9/_buildManifest.js +0 -1
- package/.next/types/app/api/feedback/[id]/route.ts +0 -351
- package/.next/types/app/api/feedback/[id]/vote/route.ts +0 -351
- package/.next/types/app/api/feedback/route.ts +0 -351
- package/.next/types/app/feedback/page.ts +0 -87
- /package/.next/static/{hkOIw5DQW9WSwBwZrD8_9 → ZEJwYPSMMES2UlUBBgBmw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"434":{"*":{"id":"41616","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"10436":{"*":{"id":"41164","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"24006":{"*":{"id":"10768","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"29510":{"*":{"id":"59953","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"16900","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"86634","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"42025","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"65699","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"81166","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"94736","name":"*","chunks":[],"async":false}},"51276":{"*":{"id":"34948","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"18718","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"10125","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"37008","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"71886":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"19208","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"96512","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"69370","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"47194","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"67344","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/ai/main-region.tsx":{"id":52174,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/live-refresh.tsx":{"id":81998,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx":{"id":81984,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-drawer.tsx":{"id":71886,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-bar.tsx":{"id":434,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx":{"id":48484,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/tab-workspace.tsx":{"id":77242,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/top-nav.tsx":{"id":10436,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/components/update-banner.tsx":{"id":29510,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-9f0f4d8e4534a62e.js"],"async":false},"/home/runner/work/beacon/beacon/app/feedback/page.tsx":{"id":90546,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/learn-workspace.tsx":{"id":37665,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/lesson-library-view.tsx":{"id":38464,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-954e0e6619585d3c.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","5957","static/chunks/5957-83f611fcd5a08b45.js","8974","static/chunks/app/page-d08947a671077569.js"],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-board-view.tsx":{"id":48045,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-plan-view.tsx":{"id":51212,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":44853,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":51276,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-tabs-shell.tsx":{"id":77260,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":24006,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/scope-guard-card.tsx":{"id":60163,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/63986592e2be7d62.css"},{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"}],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/53e84df868515cf7.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}]},"rscModuleMapping":{"434":{"*":{"id":"81974","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"10436":{"*":{"id":"77946","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"24006":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"29510":{"*":{"id":"17017","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"28030","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"41276","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"89501","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"48136","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"24774","name":"*","chunks":[],"async":false}},"51276":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"7572","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"27736","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"71886":{"*":{"id":"30818","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"25126","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"46126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"71412","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"60867","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"90546":{"*":{"id":"64549","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"434":{"*":{"id":"41616","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"70813","name":"*","chunks":[],"async":false}},"10436":{"*":{"id":"41164","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"77476","name":"*","chunks":[],"async":false}},"24006":{"*":{"id":"10768","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"29510":{"*":{"id":"59953","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"16900","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"86634","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"42025","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"65699","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"81166","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"94736","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"18718","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"10125","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"37008","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"95151","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"10549","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"81281","name":"*","chunks":[],"async":false}},"71886":{"*":{"id":"5547","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"88264","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"19208","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"96512","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"1237","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"69370","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"47194","name":"*","chunks":[],"async":false}},"86371":{"*":{"id":"62299","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"79573","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/app/globals.css":{"id":66872,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/ai/main-region.tsx":{"id":52174,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/live-refresh.tsx":{"id":81998,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx":{"id":81984,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/notes/notes-drawer.tsx":{"id":71886,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-bar.tsx":{"id":434,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx":{"id":48484,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/tab-workspace.tsx":{"id":77242,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/top-nav.tsx":{"id":10436,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/components/update-banner.tsx":{"id":29510,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"variable\":\"--font-sans\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistSans\"}":{"id":35353,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"variable\":\"--font-geist-mono\",\"subsets\":[\"latin\"]}],\"variableName\":\"geistMono\"}":{"id":63494,"name":"*","chunks":["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-63ad38ec8fb7cb6f.js","7177","static/chunks/app/layout-e46e1337e196e904.js"],"async":false},"/home/runner/work/beacon/beacon/node_modules/lucide-react/dist/esm/Icon.mjs":{"id":71265,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/client/app-dir/link.js":{"id":98500,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/next/dist/esm/client/app-dir/link.js":{"id":98500,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/docs/docs.tsx":{"id":73954,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/learn-workspace.tsx":{"id":37665,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/learn/lesson-library-view.tsx":{"id":38464,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/landing/landing.tsx":{"id":21904,"name":"*","chunks":["3862","static/chunks/1a258343-954e0e6619585d3c.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","5957","static/chunks/5957-83f611fcd5a08b45.js","8974","static/chunks/app/page-ec00130a7a249f14.js"],"async":false},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx":{"id":44853,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx":{"id":62079,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx":{"id":86371,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/graph/map-tabs-shell.tsx":{"id":77260,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-board-view.tsx":{"id":48045,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/share/shared-plan-view.tsx":{"id":51212,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/context-card.tsx":{"id":81453,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/danger-card.tsx":{"id":71423,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/delete-workspace-card.tsx":{"id":96759,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/permission-mode-card.tsx":{"id":67787,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/scope-guard-card.tsx":{"id":60163,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/node_modules/@base-ui/react/esm/button/Button.js":{"id":6539,"name":"*","chunks":[],"async":false},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx":{"id":24006,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/home/runner/work/beacon/beacon/":[],"/home/runner/work/beacon/beacon/app/layout":[{"inlined":false,"path":"static/css/ac0b6ff5058ccc12.css"},{"inlined":false,"path":"static/css/e02ab5db9ff2dca2.css"}],"/home/runner/work/beacon/beacon/app/page":[{"inlined":false,"path":"static/css/008a05b0ad6b854a.css"},{"inlined":false,"path":"static/css/53e84df868515cf7.css"},{"inlined":false,"path":"static/css/83755b1f39ccf91d.css"}]},"rscModuleMapping":{"434":{"*":{"id":"81974","name":"*","chunks":[],"async":false}},"6539":{"*":{"id":"2739","name":"*","chunks":[],"async":false}},"10436":{"*":{"id":"77946","name":"*","chunks":[],"async":false}},"21904":{"*":{"id":"67878","name":"*","chunks":[],"async":false}},"24006":{"*":{"id":"478","name":"*","chunks":[],"async":false}},"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"29510":{"*":{"id":"17017","name":"*","chunks":[],"async":false}},"37665":{"*":{"id":"28030","name":"*","chunks":[],"async":false}},"38464":{"*":{"id":"41276","name":"*","chunks":[],"async":false}},"44853":{"*":{"id":"7239","name":"*","chunks":[],"async":false}},"48045":{"*":{"id":"89501","name":"*","chunks":[],"async":false}},"48484":{"*":{"id":"48136","name":"*","chunks":[],"async":false}},"51212":{"*":{"id":"24774","name":"*","chunks":[],"async":false}},"52174":{"*":{"id":"7572","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"60163":{"*":{"id":"27736","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"62079":{"*":{"id":"42696","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"67787":{"*":{"id":"74069","name":"*","chunks":[],"async":false}},"71265":{"*":{"id":"47613","name":"*","chunks":[],"async":false}},"71423":{"*":{"id":"44919","name":"*","chunks":[],"async":false}},"71886":{"*":{"id":"30818","name":"*","chunks":[],"async":false}},"73954":{"*":{"id":"42590","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"77242":{"*":{"id":"25126","name":"*","chunks":[],"async":false}},"77260":{"*":{"id":"46126","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"81453":{"*":{"id":"13255","name":"*","chunks":[],"async":false}},"81984":{"*":{"id":"71412","name":"*","chunks":[],"async":false}},"81998":{"*":{"id":"60867","name":"*","chunks":[],"async":false}},"86371":{"*":{"id":"56030","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"96759":{"*":{"id":"98167","name":"*","chunks":[],"async":false}},"98500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=6624,a.ids=[6624],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},478:(a,b,c)=>{"use strict";c.d(b,{PlanWorkspace:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call PlanWorkspace() from the server but PlanWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx","PlanWorkspace")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4870:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},6324:(a,b,c)=>{"use strict";c.d(b,{Jd:()=>i,SF:()=>h,Xg:()=>j,_A:()=>g});var d=c(44046),e=c(86548);let f=d.vk(a=>{if("string"==typeof a){let[b,...c]=a.trim().split(/\s+/);return{name:b,type:c.join(" ")||"text"}}return a},d.Ik({name:d.Yj().trim().min(1),type:d.Yj().trim().min(1),isPk:d.zM().optional(),isFk:d.zM().optional(),nullable:d.zM().optional(),note:d.Yj().nullish()})),g=d.Ik({name:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),columns:d.YO(f).default([])}),h=d.Ik({fromTable:d.Yj(),fromColumn:d.Yj(),toTable:d.Yj(),toColumn:d.Yj(),label:d.Yj().nullish()}),i=d.Ik({method:d.Yj().trim().min(1),path:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),uses:d.YO(d.Ik({table:d.Yj().trim().min(1),access:d.Yj().optional()})).default([])}).transform(a=>({...a,uses:a.uses.map(b=>({...b,access:b.access??(0,e.P)(a.method)}))})),j=d.Ik({tables:d.YO(g).default([]),relations:d.YO(h).default([]),endpoints:d.YO(i).default([])})},10768:(a,b,c)=>{"use strict";c.d(b,{PlanWorkspace:()=>ab});var d=c(48249),e=c(67484),f=c(35471),g=c(15996),h=c(36274),i=c(69357),j=c(64686);let k=(0,j.A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),l=(0,j.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var m=c(95744),n=c(61022),o=c(10920),p=c(52839),q=c(45535),r=c(57684),s=c(24422),t=c(19099),u=c(81166),v=c(79768),w=c(61837),x=c(49783),y=c(99086),z=c(33191);function A(a,b,c,d,e,f,g=8){return{left:Math.max(g,Math.min(a,e-c-g)),top:Math.max(g,Math.min(b,f-d-g))}}var B=c(53174);let C="u">typeof CSS&&"highlights"in CSS&&"u">typeof Highlight;function D({markdown:a,round:b,onApi:c,hideSubmit:g=!1,getExtraSubmitPayload:h}){let[i,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(!1),[o,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,B]=(0,e.useState)(null),[F,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!1),K=(0,e.useRef)(null),L=(0,e.useRef)(null),M=(0,e.useRef)(null);(0,e.useCallback)(()=>{var a;let b,c,d=window.getSelection();if(!d||d.isCollapsed)return void r(null);let e=d.toString().trim();if(!e)return void r(null);if(!K.current?.contains(d.anchorNode))return;let{x:f,y:g}={x:(c=(b=(a=d.getRangeAt(0)).getClientRects()).length?b[b.length-1]:a.getBoundingClientRect()).right,y:c.bottom};r({x:f,y:g,excerpt:e})},[]);let N=(0,e.useCallback)((a,b="comment",c="")=>{let d=`a-${Date.now()}-${Math.floor(1e6*Math.random())}`;j(e=>[...e,{id:d,excerpt:a,comment:c,kind:b}]),"comment"===b&&B(d),r(null),window.getSelection()?.removeAllRanges()},[]),O=async()=>{if(!F){H(!0);try{let a=h?.()??{},c=await fetch("/api/plan/annotations",{method:"POST",headers:{"content-type":"application/json",...(0,v.dh)((0,w.X0)())},body:JSON.stringify({annotations:i,globalComment:k,round:b,...a})});c.ok?J(!0):409===c.status&&window.location.reload()}finally{H(!1)}}},P=(0,e.useMemo)(()=>i.filter(a=>"deletion"===a.kind||a.comment.trim()).length+ +!!k.trim(),[i,k]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,d.jsx)("div",{className:"relative shrink-0",children:(0,d.jsxs)("div",{className:"absolute right-3 top-2 z-30 flex items-center gap-1",children:[!g&&(0,d.jsxs)("button",{onClick:()=>void O(),disabled:F||0===P,className:(0,z.cn)("flex items-center gap-1 rounded-md border px-2 py-1 text-[11px] font-semibold transition-colors",I?"border-emerald-500/40 bg-emerald-500/15 text-emerald-300":0===P?"border-white/10 text-muted-foreground opacity-50":"border-sky-500/40 bg-sky-500/15 text-sky-300 hover:bg-sky-500/25"),title:I?"Submitted — your terminal session is reading the feedback":"Submit all feedback so the agent can revise the plan",children:[I?(0,d.jsx)(f.A,{className:"size-3"}):(0,d.jsx)(p.A,{className:"size-3"}),I?"Submitted":"Submit feedback"]}),m&&(0,d.jsxs)("div",{ref:L,className:"absolute right-0 top-[calc(100%+6px)] z-50 w-[320px] rounded-md border border-white/10 bg-card p-2 shadow-xl",children:[(0,d.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Overall feedback"}),(0,d.jsx)("button",{onClick:()=>n(!1),title:"Close (Esc)",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(q.A,{className:"size-3"})})]}),(0,d.jsx)("textarea",{autoFocus:!0,value:k,onChange:a=>l(a.target.value),onKeyDown:a=>{a.stopPropagation(),"Enter"===a.key&&(a.metaKey||a.ctrlKey)?(a.preventDefault(),!F&&P>0&&(O(),n(!1))):"Escape"===a.key&&(a.preventDefault(),n(!1))},placeholder:"Plan-level notes — e.g. 'split this into two phases' or 'wrong abstraction'…",rows:4,className:"w-full resize-y rounded border border-white/5 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-sky-400/40"}),(0,d.jsx)("div",{className:"mt-1 text-right text-[9px] text-muted-foreground/70",children:"⌘/Ctrl+Enter to submit \xb7 Esc to close"})]})]})}),(0,d.jsx)("div",{ref:K,className:"min-h-0 flex-1 overflow-y-auto px-5 pb-5 pt-16 text-[15px] leading-[1.6] selection:bg-[var(--accent-2,#ff7a45)]/30",children:(0,d.jsx)(G,{markdown:a,annotations:s&&!C?[...i,{id:"__pending",excerpt:s.excerpt,comment:"",kind:"comment"}]:i,focusOnId:u,onClearFocus:()=>B(null),onUpdate:(a,b)=>j(c=>c.map(c=>c.id===a?{...c,comment:b}:c)),onRemove:a=>j(b=>b.filter(b=>b.id!==a))})}),o&&(0,d.jsxs)("div",{style:function(a,b){let{left:c,top:d}=A(a,b,76,34,window.innerWidth,window.innerHeight);return{position:"fixed",left:c,top:d,zIndex:60}}(o.x+4,o.y+6),className:"flex items-center gap-0.5 rounded-md border border-white/15 bg-card/95 p-0.5 shadow-lg backdrop-blur",children:[(0,d.jsx)("button",{onClick:()=>{let a=window.getSelection();M.current=a&&a.rangeCount?a.getRangeAt(0).cloneRange():null,t({...o,seed:""}),r(null),a?.removeAllRanges()},title:"Comment on this text",className:"rounded p-1 text-sky-300 hover:bg-sky-500/15",children:(0,d.jsx)(x.A,{className:"size-3.5"})}),(0,d.jsx)("button",{onClick:()=>N(o.excerpt,"deletion"),title:"Mark this for deletion",className:"rounded p-1 text-red-300 hover:bg-red-500/15",children:(0,d.jsx)(y.A,{className:"size-3.5"})})]}),s&&(0,d.jsx)(E,{excerpt:s.excerpt,x:s.x,y:s.y,seed:s.seed,onConfirm:a=>{N(s.excerpt,"comment",a),t(null)},onCancel:()=>t(null)})]})}function E({excerpt:a,x:b,y:c,seed:g,onConfirm:h,onCancel:i}){let[j,k]=(0,e.useState)(g),l=(0,e.useRef)(null),[m,n]=(0,e.useState)(()=>A(b+4,c+6,256,130,window.innerWidth,window.innerHeight)),o=()=>j.trim()?h(j.trim()):i();return(0,d.jsxs)("div",{ref:l,style:{position:"fixed",left:m.left,top:m.top,zIndex:60},className:"w-64 rounded-md border border-white/15 bg-card/95 p-1.5 shadow-xl backdrop-blur",onBlur:a=>{l.current?.contains(a.relatedTarget)||o()},children:[(0,d.jsxs)("div",{className:"mb-1 line-clamp-1 text-[10px] text-muted-foreground",children:["“",a,"”"]}),(0,d.jsx)("textarea",{autoFocus:!0,value:j,onChange:a=>k(a.target.value),onFocus:a=>a.currentTarget.setSelectionRange(j.length,j.length),placeholder:"Comment… (Enter to add \xb7 Esc to discard)",onKeyDown:a=>{a.stopPropagation(),"Enter"!==a.key||a.shiftKey?"Escape"===a.key&&(a.preventDefault(),i()):(a.preventDefault(),o())},className:"h-16 w-full resize-none rounded bg-white/[0.05] px-1.5 py-1 text-xs outline-none placeholder:text-muted-foreground/50 focus:bg-white/[0.08]"}),(0,d.jsxs)("div",{className:"mt-1 flex items-center justify-end gap-1",children:[(0,d.jsxs)("button",{type:"button",onClick:i,title:"Discard this comment (Esc)",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",children:[(0,d.jsx)(q.A,{className:"size-3"}),"Discard"]}),(0,d.jsxs)("button",{type:"button",onClick:o,disabled:!j.trim(),title:"Add this comment (Enter)",className:"flex items-center gap-1 rounded bg-sky-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-sky-300 transition-colors hover:bg-sky-500/25 disabled:opacity-40",children:[(0,d.jsx)(f.A,{className:"size-3"}),"Add"]})]})]})}function F({annotations:a,updateComment:b,removeAnnotation:c,focusOnAnnotation:e,onClose:f}){return 0===a.length?(0,d.jsx)("div",{className:"rounded-lg border border-dashed border-white/10 px-3 py-6 text-center text-[11px] text-muted-foreground",children:"Highlight any text in the plan to leave an inline comment."}):(0,d.jsx)("ul",{className:"space-y-1.5",children:a.map(a=>(0,d.jsx)("li",{className:(0,z.cn)("group rounded-md border bg-background/30 px-2 py-1.5 transition-colors hover:bg-background/50","deletion"===a.kind?"border-red-500/25":"border-sky-500/15"),children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{e(a.id),f?.()},title:"Jump to this excerpt in the plan",className:(0,z.cn)("block w-full truncate text-left text-[10.5px] font-mono","deletion"===a.kind?"text-red-300/90 line-through":"text-foreground/80 hover:text-foreground"),children:["“",a.excerpt,"”"]}),"deletion"!==a.kind&&(0,d.jsx)("textarea",{value:a.comment,onChange:c=>b(a.id,c.target.value),placeholder:"Write your comment…",rows:1,className:"field-sizing-content mt-1 w-full resize-none bg-transparent text-[11px] leading-snug text-foreground/90 outline-none placeholder:text-muted-foreground/60 focus:text-foreground"})]}),(0,d.jsx)("button",{onClick:()=>c(a.id),title:"Remove this annotation",className:"shrink-0 rounded p-1 text-muted-foreground/70 opacity-0 transition-opacity hover:bg-red-500/15 hover:text-red-300 group-hover:opacity-100",children:(0,d.jsx)(r.A,{className:"size-3"})})]})},a.id))})}function G({markdown:a,annotations:b,focusOnId:c,onClearFocus:f,onUpdate:g,onRemove:h}){let i=(0,e.useMemo)(()=>(0,B.n$)(a),[a]);return(0,d.jsx)("div",{className:"mx-auto w-full max-w-[66ch] space-y-4",children:i.map((a,e)=>(0,d.jsx)(H,{block:a,index:e,annotations:b,focusOnId:c,onClearFocus:f,onUpdate:g,onRemove:h},e))})}function H({block:a,index:b,annotations:c,focusOnId:e,onClearFocus:f,onUpdate:g,onRemove:h}){if("code"===a.kind)return(0,d.jsx)(B.NG,{text:a.text});if("table"===a.kind)return(0,d.jsx)(B.QH,{block:a});let i=(0,d.jsx)(I,{text:a.text,annotations:c,focusOnId:e,onClearFocus:f,onUpdate:g,onRemove:h}),j=(0,B.Vq)(a.kind)?(0,B.vB)(b):void 0;return(0,d.jsx)(d.Fragment,{children:(0,B.aM)(a,i,"reading",j)})}function I({text:a,annotations:b,focusOnId:c,onClearFocus:e,onUpdate:f,onRemove:g}){let h=(C?[]:b).map(b=>({a:b,idx:a.indexOf(b.excerpt)})).filter(a=>a.idx>=0).sort((a,b)=>a.idx-b.idx);if(!h.length)return(0,d.jsx)(K,{text:a});let i=[],j=0;for(let{a:b,idx:k}of h)k<j||(k>j&&i.push((0,d.jsx)(K,{text:a.slice(j,k)},`p-${j}`)),i.push((0,d.jsx)(J,{annotation:b,autoFocus:c===b.id,onClearFocus:e,onUpdate:f,onRemove:g},b.id)),j=k+b.excerpt.length);return j<a.length&&i.push((0,d.jsx)(K,{text:a.slice(j)},"p-tail")),(0,d.jsx)(d.Fragment,{children:i})}function J({annotation:a,autoFocus:b,onClearFocus:c,onUpdate:f,onRemove:g}){return((0,e.useRef)(null),"deletion"===(a.kind??"comment"))?(0,d.jsxs)("span",{className:"relative inline",children:[(0,d.jsx)("span",{className:"rounded bg-red-500/15 px-0.5 text-red-200/90 line-through decoration-red-300/70 decoration-2",children:(0,d.jsx)(K,{text:a.excerpt})}),(0,d.jsx)("button",{type:"button",onClick:()=>g(a.id),title:"Unmark",className:"ml-0.5 inline-flex translate-y-[-1px] items-center text-red-300/70 hover:text-red-300",children:(0,d.jsx)(r.A,{className:"size-3"})})]}):(0,d.jsx)("span",{className:"rounded bg-[var(--accent-2,#ff7a45)]/15 px-0.5","data-annotation-id":a.id,children:(0,d.jsx)(K,{text:a.excerpt})})}function K({text:a}){return(0,d.jsx)(B.cV,{text:a})}var L=c(4870);let M=(0,j.A)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),N=(0,j.A)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var O=c(34948),P=c(42025),Q=c(89327),R=c(74732),S=c(71703),T=c(99281);function U({planId:a,className:b,title:c="Share a read-only link to this plan"}){let[f,g]=(0,e.useState)(!1),{status:h,url:j,error:k,copied:l,mint:m,copy:n,reset:o}=(0,S.b)();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",title:c,onClick:function(){o(),g(!0),m({kind:"plan",...a?{planId:a}:{}})},className:b??"glass flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:text-foreground",children:(0,d.jsx)(Q.A,{className:"size-3.5"})}),(0,d.jsx)(R.lG,{open:f,onOpenChange:g,children:(0,d.jsxs)(R.Cf,{children:[(0,d.jsxs)(R.c7,{children:[(0,d.jsx)(R.L3,{children:"Share this plan"}),(0,d.jsx)(R.rr,{children:"Anyone with the link can view this plan and its boards — no Beacon needed. Links expire after 7 days."})]}),"loading"===h&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-muted-foreground",children:[(0,d.jsx)(i.A,{className:"size-4 animate-spin"})," Creating link…"]}),"done"===h&&(0,d.jsx)(T.F,{url:j,copied:l,onCopy:n}),"error"===h&&(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:k})]})})]})}var V=c(62190),W=c(34849);function X({pendingPlan:a=!1,workspaceId:b}){let c=(0,t.useRouter)(),[i,j]=(0,e.useState)([]),[k,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(null),[p,r]=(0,e.useState)("map"),[s,u]=(0,e.useState)(()=>!0),v=(0,e.useCallback)(()=>{u(a=>{let b=!a;try{localStorage.setItem("beacon:plan-history-sidebar",b?"1":"0")}catch{}return b})},[]),x=(0,e.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Date(c.archivedAt).toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"});b.has(a)||b.set(a,[]),b.get(a).push(c)}return Array.from(b.entries())})(i),[i]),y=(0,e.useMemo)(()=>(function(a){let b=a?.features??[];if(0===b.length)return{nodes:[],edges:[]};let c=new Map;b.forEach((a,b)=>{let d=a.title.trim();c.has(d)||c.set(d,`arch-${b}`)});let d=(a,b)=>c.get(a.title.trim())??`arch-${b}`,e=b.map((a,b)=>({id:d(a,b),parentId:null,cluster:a.cluster??null,status:"PENDING",priority:a.priority??2,title:a.title,role:a.role??null})),f=(0,W.VI)(e,"cluster"),g=b.map((a,b)=>{let c=d(a,b),e=f.get(c)??{x:0,y:0};return{id:c,view:"ROADMAP",kind:a.kind??"FEATURE",cluster:a.cluster??null,layer:a.layer??null,title:a.title,role:a.role??null,plain:a.plain??null,status:"PENDING",priority:a.priority??2,x:e.x,y:e.y,source:"DRAFT",sourceRef:null,parentId:null,isCriterion:!1,files:[],bugFlags:[]}}),h=[];return b.forEach((a,b)=>{let e=d(a,b);for(let b of a.dependsOn??[]){let a=c.get(b.trim());a&&a!==e&&h.push({id:`arch-edge-${e}-${a}`,fromId:e,toId:a,kind:"DEPENDS",label:"depends on",sourceHandle:null,targetHandle:null})}}),{nodes:g,edges:h}})(n?.featureGraph),[n]),A=y.nodes.length>0,C=(n?.draftDoc?.tables.length??0)>0||(n?.draftDoc?.endpoints.length??0)>0,D=A||C,E="map"!==p||A?"db"!==p||C?p:"map":"db",F=!!n&&""===n.markdown.replace(/^#[^\n]*\n?/,"").trim(),G=a?(0,d.jsxs)("button",{onClick:()=>c.push((0,w.rc)()),className:"glass pointer-events-auto mb-1 ml-3 mt-1 flex h-8 w-fit shrink-0 items-center gap-1.5 rounded-full px-3 text-[11px] font-semibold text-sky-300 transition-colors hover:bg-sky-500/15",title:"Return to the plan that's still pending review",children:[(0,d.jsx)(L.A,{className:"size-3.5"})," Back to current plan"]}):null;return 0===i.length?(0,d.jsxs)("div",{className:"flex h-screen min-h-0 flex-col pt-14",children:[G,(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center px-6 text-center",children:(0,d.jsxs)("div",{className:"max-w-md text-sm text-muted-foreground",children:[(0,d.jsx)(l,{className:"mx-auto mb-3 size-7 text-muted-foreground/40"}),(0,d.jsx)("div",{className:"mb-2 text-base font-semibold text-foreground",children:"No plans yet."}),"Ask the agent to propose a feature in your terminal session — it lands here via MCP and you can review + annotate on both sides. Past plans get archived to this page for browsing."]})})]}):(0,d.jsxs)("div",{className:"flex h-screen min-h-0 flex-col pt-14",children:[G,n&&(0,d.jsxs)("div",{className:"glass pointer-events-auto fixed right-3 top-3 z-30 flex h-9 items-center gap-2 rounded-full px-3",children:[(0,d.jsx)("span",{className:(0,z.cn)("rounded px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide","approved"===n.verdict?"bg-emerald-500/15 text-emerald-300":"bg-red-500/15 text-red-300"),children:n.verdict}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:new Date(n.archivedAt).toLocaleString()}),(0,d.jsx)("span",{"aria-hidden":!0,className:"h-4 w-px bg-white/10"}),(0,d.jsx)(U,{planId:n.id,className:"flex size-6 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"})]}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1",children:[s?(0,d.jsxs)("aside",{className:"flex w-64 min-w-0 shrink-0 flex-col border-r border-white/5 bg-card/30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-white/5 px-3 py-2",children:[(0,d.jsxs)("span",{className:"text-[10.5px] font-semibold uppercase tracking-wide text-muted-foreground",children:["Plan history \xb7 ",i.length]}),(0,d.jsx)("button",{onClick:v,title:"Collapse history",className:"flex size-5 items-center justify-center rounded text-muted-foreground/70 transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(M,{className:"size-3.5"})})]}),(0,d.jsx)("ul",{className:"min-h-0 flex-1 overflow-y-auto",children:x.map(([a,b])=>(0,d.jsxs)("li",{children:[(0,d.jsx)("div",{className:"px-3 pb-1 pt-3 text-[9px] font-semibold uppercase tracking-widest text-muted-foreground/60",children:a}),(0,d.jsx)("ul",{children:b.map(a=>(0,d.jsx)("li",{children:(0,d.jsxs)("button",{onClick:()=>m(a.id),className:(0,z.cn)("flex w-full items-start gap-1.5 px-3 py-1.5 text-left text-[12px] transition-colors",k===a.id?"bg-white/[0.06] text-foreground":"text-muted-foreground hover:bg-white/[0.03] hover:text-foreground"),children:[(0,d.jsx)("span",{className:(0,z.cn)("mt-0.5 inline-flex size-3.5 shrink-0 items-center justify-center rounded-full","approved"===a.verdict?"bg-emerald-500/15 text-emerald-300":"bg-red-500/15 text-red-300"),title:a.verdict,children:"approved"===a.verdict?(0,d.jsx)(f.A,{className:"size-2.5"}):(0,d.jsx)(q.A,{className:"size-2.5"})}),(0,d.jsx)("span",{className:"line-clamp-2",children:a.description})]})},a.id))})]},a))})]}):(0,d.jsx)("aside",{className:"flex w-10 shrink-0 flex-col items-center border-r border-white/5 bg-card/30 py-2",children:(0,d.jsx)("button",{onClick:v,title:`Show plan history \xb7 ${i.length}`,className:"flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(N,{className:"size-4"})})}),n?(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1",children:[(0,d.jsx)("div",{className:(0,z.cn)("relative flex min-h-0 min-w-0 flex-col",!D&&"flex-1"),style:D?{width:"44%"}:void 0,children:(0,d.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 py-4",children:[(0,d.jsx)(B.pO,{markdown:n.markdown}),F&&(0,d.jsx)("p",{className:"mt-2 text-[13px] text-muted-foreground",children:(n.featureGraph?.features?.length??0)===0&&(n.draftDoc?.tables?.length??0)===0&&(n.draftDoc?.endpoints?.length??0)===0?"This plan was approved without a detailed write-up — no features or schema were attached either.":"This plan has no written body. See the Features and Schema canvases for what it proposed."}),n.globalComment&&(0,d.jsxs)("div",{className:"mt-4 rounded-lg border border-white/5 bg-card/40 p-3",children:[(0,d.jsx)("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Overall feedback"}),(0,d.jsx)("div",{className:"text-[12px] whitespace-pre-wrap",children:n.globalComment})]})]})}),D&&(0,d.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col border-l border-white/5",children:[A&&C&&(0,d.jsx)("div",{className:"pointer-events-none absolute left-3 top-3 z-20",children:(0,d.jsxs)("div",{className:"glass pointer-events-auto flex items-center gap-1 rounded-full p-0.5",children:[(0,d.jsx)(V.E,{active:"map"===E,onClick:()=>r("map"),icon:(0,d.jsx)(g.A,{className:"size-3"}),children:"Features"}),(0,d.jsx)(V.E,{active:"db"===E,onClick:()=>r("db"),icon:(0,d.jsx)(h.A,{className:"size-3"}),children:"Schema"})]})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:"map"===E?(0,d.jsx)(O.MapClient,{view:"ROADMAP",nodes:y.nodes,edges:y.edges,embedded:!0,readOnly:!0}):(0,d.jsx)(P.DbMapClient,{tables:[],relations:[],endpoints:[],draft:n.draftDoc??null,workspaceId:b,embedded:!0,readOnly:!0})})]})]}):(0,d.jsx)("section",{className:"flex min-h-0 min-w-0 flex-1 items-center justify-center text-sm text-muted-foreground",children:"Select a plan on the left to view it."})]})]})}function Y({markdown:a}){let b=(0,e.useMemo)(()=>(0,B.n$)(a).map((a,b)=>({b:a,i:b})).filter(({b:a})=>(0,B.Vq)(a.kind)).map(({b:a,i:b})=>({id:(0,B.vB)(b),level:(0,B.F8)(a.kind),label:(0,B.kz)(a.text)})).filter(a=>a.label.length>0),[a]),[c,f]=(0,e.useState)(null);return(0,d.jsxs)("aside",{className:"flex w-60 shrink-0 flex-col overflow-y-auto border-r border-white/5 bg-background pt-16",children:[(0,d.jsx)("div",{className:"px-4 pb-2 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Sections"}),0===b.length?(0,d.jsx)("p",{className:"px-4 text-[12px] text-muted-foreground/70",children:"No headings in this plan."}):(0,d.jsx)("nav",{className:"space-y-0.5 px-2 pb-6",children:b.map(a=>(0,d.jsx)("button",{onClick:()=>{var b;let c;return b=a.id,void((c=document.getElementById(b))&&(c.scrollIntoView({behavior:"smooth",block:"start"}),f(b)))},title:a.label,style:{paddingLeft:`${.5+.75*a.level}rem`},className:(0,z.cn)("block w-full truncate rounded py-1 pr-2 text-left text-[12px] leading-snug transition-colors",c===a.id?"bg-white/10 font-medium text-foreground":"text-muted-foreground hover:bg-white/[0.05] hover:text-foreground"),children:a.label},a.id))})]})}var Z=c(48581),$=c(26284),_=c(56922);function aa({open:a,onOpenChange:b,onConfirmed:c}){let[g,h]=(0,e.useState)("bypassPermissions"),[i,j]=(0,e.useState)(!1);async function k(){j(!0);try{await fetch("/api/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({planApprovalMode:g})}).catch(()=>{}),b(!1),c()}finally{j(!1)}}return(0,d.jsx)(R.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(R.Cf,{className:"max-w-lg",children:[(0,d.jsxs)(R.c7,{children:[(0,d.jsxs)(R.L3,{className:"flex items-center gap-2",children:[(0,d.jsx)(Z.A,{className:"size-4 text-emerald-400"}),"After approving, the agent should…"]}),(0,d.jsx)(R.rr,{children:"Pick the permission mode your terminal session enters when you approve a plan. We ask once and remember it for every project — change it anytime in Settings."})]}),(0,d.jsx)("div",{className:"space-y-2 py-1",children:_.pC.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>h(a.value),className:(0,z.cn)("flex w-full items-start gap-3 rounded-lg border p-3 text-left transition-colors",g===a.value?"border-emerald-500/50 bg-emerald-500/10":"border-white/10 bg-white/[0.03] hover:bg-white/[0.06]"),children:[(0,d.jsx)("span",{className:(0,z.cn)("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border",g===a.value?"border-emerald-400 bg-emerald-400/20":"border-white/30"),children:g===a.value&&(0,d.jsx)(f.A,{className:"size-3 text-emerald-300"})}),(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"block text-sm font-medium text-foreground",children:a.label}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:a.description})]})]},a.value))}),(0,d.jsxs)(R.Es,{className:"items-center justify-between gap-2 sm:justify-between",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"You can change this later in Settings."}),(0,d.jsx)($.$,{onClick:k,disabled:i,size:"sm",children:i?"Saving…":"Save & approve"})]})]})})}function ab({dbProps:a,mapProps:b,planMarkdown:c,repoFiles:j=[],forceHistory:x=!1}){let y=(0,t.useRouter)(),{status:A,discard:C}=(0,u.j)(),E=b.nodes.length>0,G=a.tables.length>0||a.endpoints.length>0||(a.draft?.tables.length??0)>0||(a.draft?.endpoints.length??0)>0,[H,I]=(0,e.useState)(E?"map":"db"),J="map"!==H||E?"db"!==H||G?H:"map":"db",[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(null),S=(0,e.useRef)(!1),T=(0,e.useCallback)(async()=>{await fetch("/api/plan/approve",{method:"POST",headers:(0,v.dh)((0,w.X0)())}).catch(()=>{}),R({features:A.features,tables:A.tables,endpoints:A.endpoints})},[A.features,A.tables,A.endpoints]),W=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/preferences",{cache:"no-store"});if((await a.json()).planApprovalModeConfigured)return void T()}catch{T();return}N(!0)},[T]),[Z,$]=(0,e.useState)(null),_=(0,e.useCallback)(a=>$(a),[]),ad=(0,e.useRef)(null),ae=(0,e.useRef)(null),af=(0,e.useRef)(a.draft),[ag,ah]=(0,e.useState)(!1),ai=(0,e.useCallback)(()=>ah(!0),[]),[aj,ak]=(0,e.useState)([]),[al,am]=(0,e.useState)(!1),[an,ao]=(0,e.useState)(""),ap=(0,e.useCallback)(a=>{ao(a),am(!0)},[]),aq=(0,e.useRef)(aj),ar=(0,e.useCallback)(()=>({draft:af.current,questions:aq.current}),[]),as=(0,e.useMemo)(()=>{let c=[];for(let a of b.nodes)c.push(`feature: ${a.title}`);for(let b of a.draft?.tables??[])c.push(`table: ${b.name}`);for(let b of a.tables)c.push(`table: ${b.name}`);for(let b of a.draft?.endpoints??[])c.push(`endpoint: ${b.method} ${b.path}`);for(let b of a.endpoints)c.push(`endpoint: ${b.method} ${b.path}`);return Array.from(new Set(c))},[b.nodes,a]),at=Z?(0,d.jsx)(F,{annotations:Z.annotations,updateComment:Z.updateComment,removeAnnotation:Z.removeAnnotation,focusOnAnnotation:Z.focusOnAnnotation,onClose:()=>ad.current?.close()}):null,au=(0,e.useCallback)(()=>{ad.current?.open()},[]),av=(0,e.useCallback)(a=>{Z?.addComment(a)},[Z]),aw=(0,e.useCallback)(a=>{Z?.focusOnAnnotation(a),"db"===J?ae.current?.openComments():ad.current?.openComments()},[Z,J]),[ax,ay]=(0,e.useState)(()=>50),az=(0,e.useRef)(null),aA=(0,e.useRef)(!1),aB=(0,e.useCallback)(a=>{a.preventDefault(),aA.current=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]),aC=async()=>{await fetch("/api/plan/annotations",{method:"DELETE",headers:(0,v.dh)((0,w.X0)())}).catch(()=>{}),await C(),y.refresh()};if((!A.pending||x)&&!Q)return(0,d.jsx)(B.Ue,{files:j,children:(0,d.jsx)(X,{pendingPlan:A.pending,workspaceId:a.workspaceId})});let aD=E||G,aE=aD&&!K,aF=!aD||K,aG=((Z?.liveCount??0)>0||ag||aj.length>0)&&!Z?.submitted;return(0,d.jsxs)("div",{className:"relative flex h-screen flex-col",children:[Q&&(0,d.jsxs)("div",{className:"absolute inset-0 z-50 flex flex-col items-center justify-center gap-5 bg-background/97 px-6 text-center backdrop-blur-sm",children:[(0,d.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-emerald-500/15",children:(0,d.jsx)(f.A,{className:"size-6 text-emerald-300"})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Plan approved"}),(0,d.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:Q.features>0||Q.tables>0||Q.endpoints>0?"It's committed. Here's where to find it:":"It's archived to your plan history."}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Taking you to the map in 3 seconds…"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[Q.features>0&&(0,d.jsxs)("button",{onClick:()=>{S.current=!0,y.push("/map?view=ROADMAP")},className:"flex items-center gap-2 rounded-lg border border-white/12 px-3 py-2 text-sm text-foreground transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)(g.A,{className:"size-4 text-sky-300"})," ",Q.features," feature",1===Q.features?"":"s"," → Map"]}),(Q.tables>0||Q.endpoints>0)&&(0,d.jsxs)("button",{onClick:()=>{S.current=!0,y.push("/map?view=DATABASE")},className:"flex items-center gap-2 rounded-lg border border-white/12 px-3 py-2 text-sm text-foreground transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)(h.A,{className:"size-4 text-violet-300"})," ",Q.tables," table",1===Q.tables?"":"s"," \xb7 ",Q.endpoints," endpoint",1===Q.endpoints?"":"s"," → Database"]})]}),(0,d.jsx)("button",{onClick:()=>{S.current=!0,R(null),y.push((0,w.rc)({view:"history"}))},className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Done — browse plan history"})]}),Z?.submitted&&(0,d.jsxs)("div",{className:"absolute inset-0 z-40 flex flex-col items-center justify-center gap-4 bg-background/95 px-6 text-center backdrop-blur-sm",children:[(0,d.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-sky-500/15",children:(0,d.jsx)(i.A,{className:"size-6 animate-spin text-sky-300"})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Feedback sent"}),(0,d.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"Your terminal session is revising the plan based on your comments. The updated plan will appear here automatically — no need to refresh."})]}),(0,d.jsx)("button",{onClick:()=>y.push((0,w.rc)({view:"history"})),className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Browse past plans"})]}),(0,d.jsxs)("div",{className:"pointer-events-none fixed right-3 top-3 z-30 flex items-center gap-2",children:[aD&&K&&(0,d.jsx)("button",{onClick:()=>L(!1),title:"Collapse — show the board again",className:"glass pointer-events-auto flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(k,{className:"size-3.5"})}),(0,d.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-0.5 rounded-full px-1",children:[(0,d.jsx)("button",{onClick:()=>y.push((0,w.rc)({view:"history"})),title:"Browse past plans (you can come back to this one)",className:"flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(l,{className:"size-3.5"})}),(0,d.jsx)(U,{className:"flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsxs)("button",{onClick:au,disabled:!Z,title:Z?.annotationCount?`Open the side panel \xb7 ${Z.annotationCount} comment${1===Z.annotationCount?"":"s"} so far`:"Open the side panel (details + comments)",className:"relative flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,d.jsx)(m.A,{className:"size-3.5"}),Z&&(Z.annotationCount??0)>0&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-sky-500 px-1 text-[9px] font-semibold text-white",children:Z.annotationCount})]}),(0,d.jsxs)("button",{"data-overall-toggle":!0,onClick:()=>Z?.toggleOverall?.(),disabled:!Z?.toggleOverall,title:Z?.hasGlobalComment?"Edit your overall feedback":"Add overall plan-level feedback",className:(0,z.cn)("relative flex size-8 shrink-0 items-center justify-center rounded-full transition-colors",Z?.globalOpen?"bg-white/10 text-foreground":Z?.hasGlobalComment?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,d.jsx)(n.A,{className:"size-3.5"}),Z?.hasGlobalComment&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-2 rounded-full bg-sky-400"})]}),(0,d.jsxs)("button",{onClick:()=>am(a=>!a),title:"Ask the agent a question about a node (answered in its next round)",className:(0,z.cn)("relative flex size-8 shrink-0 items-center justify-center rounded-full transition-colors",al?"bg-white/10 text-foreground":aj.length?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,d.jsx)(o.A,{className:"size-3.5"}),aj.length>0&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-sky-500 px-1 text-[9px] font-semibold text-white",children:aj.length})]}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsxs)("button",{onClick:()=>Z?.submit(),disabled:!Z||Z.submitting||0===Z.liveCount&&!ag&&0===aj.length,title:Z&&(0!==Z.liveCount||ag||0!==aj.length)?Z.submitted?"Submitted — your terminal session is reading the feedback":"Submit feedback (comments + canvas edits) so the agent can revise the plan":"Highlight text or edit the canvas, then submit",className:(0,z.cn)("flex shrink-0 items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-semibold transition-colors",Z?.submitted?"text-sky-300":Z&&(0!==Z.liveCount||ag||0!==aj.length)?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground opacity-50"),children:[Z?.submitted?(0,d.jsx)(f.A,{className:"size-3"}):(0,d.jsx)(p.A,{className:"size-3"}),Z?.submitted?"Submitted":"Feedback"]}),aG&&(0,d.jsxs)("button",{onClick:()=>{Z?.clearAll?.(),ah(!1),ak([])},title:"Discard your unsubmitted comments / canvas edits so you can approve the plan as-is",className:"flex shrink-0 items-center gap-1 rounded-full px-2 py-1 text-[11px] font-medium text-amber-300/90 transition-colors hover:bg-amber-500/15",children:[(0,d.jsx)(q.A,{className:"size-3"})," Clear to approve"]}),(0,d.jsxs)("button",{onClick:()=>void W(),disabled:aG,title:aG?"You have unsubmitted feedback — submit it, or click ‘Clear to approve’ to drop it":"Approve the plan",className:(0,z.cn)("flex shrink-0 items-center gap-1 rounded-full border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",aG&&"opacity-40 hover:bg-emerald-500/15"),children:[(0,d.jsx)(f.A,{className:"size-3"})," Approve"]}),(0,d.jsxs)("button",{onClick:aC,className:"flex shrink-0 items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",title:"Discard the plan",children:[(0,d.jsx)(r.A,{className:"size-3"})," Discard"]}),(0,d.jsx)(aa,{open:M,onOpenChange:N,onConfirmed:()=>void T()})]})]}),al&&(0,d.jsxs)("div",{className:"fixed right-3 top-16 z-30 w-80 rounded-xl border border-white/10 bg-card p-3 shadow-xl",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Ask the agent"}),(0,d.jsx)("button",{onClick:()=>am(!1),title:"Close",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(q.A,{className:"size-3.5"})})]}),(0,d.jsx)(ac,{targets:as,initialTarget:an,onAdd:a=>ak(b=>[...b,a])}),aj.length>0&&(0,d.jsx)("ul",{className:"mt-2 space-y-1",children:aj.map((a,b)=>(0,d.jsxs)("li",{className:"group flex items-start justify-between gap-2 rounded-md border border-white/5 bg-background/40 px-2 py-1",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"truncate font-mono text-[10px] text-sky-300/90",children:a.target}),(0,d.jsx)("div",{className:"text-[11px] text-foreground/90",children:a.question})]}),(0,d.jsx)("button",{onClick:()=>ak(a=>a.filter((a,c)=>c!==b)),title:"Remove",className:"shrink-0 rounded p-0.5 text-muted-foreground/70 opacity-0 transition-opacity hover:text-red-300 group-hover:opacity-100",children:(0,d.jsx)(q.A,{className:"size-3"})})]},b))}),(0,d.jsx)("p",{className:"mt-2 text-[10px] text-muted-foreground",children:"Questions are sent with your feedback on Submit — the agent answers them in its next round."})]}),(0,d.jsxs)("div",{ref:az,className:"flex min-h-0 flex-1",children:[aF&&(0,d.jsx)(Y,{markdown:c}),(0,d.jsxs)("div",{className:(0,z.cn)("relative flex min-w-0 flex-col",!aE&&"flex-1"),style:aE?{width:`${ax}%`}:void 0,children:[aE&&(0,d.jsx)("div",{className:"pointer-events-none absolute right-3 top-3 z-20",children:(0,d.jsx)("button",{onClick:()=>L(!0),title:"Expand the plan to full width",className:"glass pointer-events-auto flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(s.A,{className:"size-3.5"})})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:(0,d.jsx)(B.Ue,{files:j,children:(0,d.jsx)(D,{markdown:c,round:A.proposedAt,onApi:_,hideSubmit:!0,getExtraSubmitPayload:ar})})})]}),aE&&(0,d.jsx)("div",{onPointerDown:aB,className:"group relative w-px shrink-0 cursor-col-resize bg-white/5 hover:bg-white/15",title:"Drag to resize",children:(0,d.jsx)("div",{className:"absolute inset-y-0 -left-1.5 right-[-6px] z-10"})}),aE&&(0,d.jsxs)("div",{className:"relative flex min-w-0 flex-col",style:{width:`${100-ax}%`},children:[E&&G&&(0,d.jsx)("div",{className:"pointer-events-none absolute left-3 top-3 z-20",children:(0,d.jsxs)("div",{className:"glass pointer-events-auto flex items-center gap-1 rounded-full p-0.5",children:[(0,d.jsx)(V.E,{active:"map"===J,onClick:()=>I("map"),icon:(0,d.jsx)(g.A,{className:"size-3"}),children:"Map"}),(0,d.jsx)(V.E,{active:"db"===J,onClick:()=>I("db"),icon:(0,d.jsx)(h.A,{className:"size-3"}),children:"Database"})]})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:"map"===J?(0,d.jsx)(O.MapClient,{view:b.view,nodes:b.nodes,edges:b.edges,hasFrontend:b.hasFrontend,embedded:!0,commentsContent:at,commentsCount:Z?.annotationCount??0,controlRef:ad,onAskAgent:ap,onAddComment:av,annotations:Z?.annotations,onPinClick:aw,onUpdateComment:Z?.updateComment,onRemoveComment:Z?.removeAnnotation}):(0,d.jsx)(P.DbMapClient,{tables:a.tables,relations:a.relations,endpoints:a.endpoints,draft:a.draft,workspaceId:a.workspaceId,diffBase:a.diffBase,embedded:!0,draftRef:af,onEdit:ai,controlRef:ae,commentsContent:at,commentsCount:Z?.annotationCount??0,onAddComment:av,annotations:Z?.annotations,onPinClick:aw,onUpdateComment:Z?.updateComment,onRemoveComment:Z?.removeAnnotation})})]})]})]})}function ac({targets:a,onAdd:b,initialTarget:c}){let[f,g]=(0,e.useState)(c||a[0]||""),[h,i]=(0,e.useState)(""),j=()=>{let a=h.trim();a&&(b({target:f||"(plan)",question:a}),i(""))};return(0,d.jsxs)("div",{className:"space-y-1.5",children:[a.length>0&&(0,d.jsx)("select",{value:f,onChange:a=>g(a.target.value),className:"w-full rounded border border-white/10 bg-background px-2 py-1 text-[11px] outline-none focus:border-sky-400/40",children:a.map(a=>(0,d.jsx)("option",{value:a,className:"bg-card",children:a},a))}),(0,d.jsx)("textarea",{value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),j())},rows:2,placeholder:"e.g. why a new table instead of reusing users? (⌘/Ctrl+Enter to add)",className:"w-full resize-y rounded border border-white/10 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-sky-400/40"}),(0,d.jsx)("button",{onClick:j,disabled:!h.trim(),className:(0,z.cn)("w-full rounded-md px-2 py-1 text-[11px] font-semibold transition-colors",h.trim()?"bg-sky-500/15 text-sky-300 hover:bg-sky-500/25":"text-muted-foreground opacity-50"),children:"Add question"})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24433:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>i});var e=c(6324),f=c(50101),g=a([f]);f=(g.then?(await g)():g)[0];let j=/^[ \t]*```beacon[ \t]*\r?\n([\s\S]*?)\r?\n[ \t]*```[ \t]*$/im;function h(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a){let a=b.safeParse(d);a.success&&c.push(a.data)}return c}function i(a){let b,c=a.match(j);if(!c)return{prose:a};try{b=JSON.parse(c[1])}catch{return{prose:a}}let d=b&&"object"==typeof b?b:{},g=h(d.tables,e._A),i=h(d.relations,e.SF),k=h(d.endpoints,e.Jd),l=h(d.features,f.te),m=Array.isArray(d.contract)?d.contract.filter(a=>"string"==typeof a&&!!a.trim()).map(a=>a.trim()):void 0,n=g.length||k.length||i.length?{tables:g,relations:i,endpoints:k}:void 0,o=l.length?l:void 0,p=m?.length?m:void 0;return n||o||p?{prose:a.replace(j,"").replace(/\n{3,}/g,"\n\n").trim(),draft:n,features:o,contract:p}:{prose:a}}d()}catch(a){d(a)}})},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32753:(a,b,c)=>{"use strict";c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},50101:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{C5:()=>n,KR:()=>m,Qy:()=>p,t7:()=>l,te:()=>o});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(32753),j=c(90497),k=a([g]);g=(k.then?(await k)():k)[0];let o=e.Ik({title:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),cluster:e.Yj().nullish(),category:e.Yj().nullish(),domain:e.Yj().nullish(),priority:e.ai().nullish(),kind:e.Yj().nullish(),layer:e.Yj().nullish(),dependsOn:e.YO(e.Yj()).nullish()}).transform(({category:a,domain:b,priority:c,kind:d,layer:e,...f})=>({...f,cluster:f.cluster??a??b??null,priority:null==c?null:Math.max(0,Math.min(3,Math.round(c))),kind:d?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",layer:(0,i.jR)(e)})),p=e.Ik({features:e.YO(o).default([])});async function l(a=g.db){await a.delete(h.node).where((0,f.Uo)((0,f.eq)(h.node.source,"DRAFT"),(0,f.eq)(h.node.view,"ROADMAP")))}async function m(a,b=g.db){let c=p.parse(a);await l(b);let d=await b.query.node.findFirst({where:(a,{eq:b})=>b(a.view,"ROADMAP"),orderBy:(a,{desc:b})=>b(a.y)}),e=(d?.y??0)+200,f=new Set(c.features.map(a=>a.title.trim())),i=c.features.map(a=>({id:a.title.trim()})),k=c.features.flatMap(a=>(a.dependsOn??[]).map(a=>a.trim()).filter(b=>f.has(b)&&b!==a.title.trim()).map(b=>({fromId:a.title.trim(),toId:b}))),n=(0,j.u)(i,k),o=new Map;for(let a of c.features){let c=n.get(a.title.trim())??{x:0,y:0},[d]=await b.insert(h.node).values({view:"ROADMAP",source:"DRAFT",status:"PENDING",kind:a.kind,title:a.title,role:a.role??null,plain:a.plain??null,cluster:a.cluster??null,layer:a.layer??null,priority:a.priority??2,x:c.x,y:c.y+e}).returning();o.set(a.title.trim(),d.id)}for(let a of c.features){let c=o.get(a.title.trim());if(c&&a.dependsOn)for(let d of a.dependsOn){let a=o.get(d.trim());a&&a!==c&&(await b.query.edge.findFirst({where:(b,{and:d,eq:e})=>d(e(b.fromId,c),e(b.toId,a),e(b.kind,"DEPENDS"))})||await b.insert(h.edge).values({fromId:c,toId:a,kind:"DEPENDS"}))}}}async function n(a=g.db){let b=await a.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.source,"DRAFT"),c(a.view,"ROADMAP")),orderBy:(a,{asc:b})=>b(a.createdAt)}),c=b.map(a=>a.id),d=c.length?await a.query.edge.findMany({where:(a,{and:b,eq:d})=>b(d(a.kind,"DEPENDS"),(0,f.RV)(a.fromId,c),(0,f.RV)(a.toId,c))}):[],e=new Map(b.map(a=>[a.id,a.title])),h=new Map;for(let a of d){let b=e.get(a.toId);if(!b)continue;let c=h.get(a.fromId)??[];c.push(b),h.set(a.fromId,c)}return{features:b.map(a=>({title:a.title,role:a.role,plain:a.plain,cluster:a.cluster,priority:a.priority,kind:"BUG"===a.kind?"BUG":"FEATURE",layer:(0,i.jR)(a.layer),dependsOn:h.get(a.id)}))}}d()}catch(a){d(a)}})},52839:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},56922:(a,b,c)=>{"use strict";c.d(b,{pC:()=>d});let d=[{value:"default",label:"Manual approval",description:"Approve each tool call yourself — Claude Code's default."},{value:"acceptEdits",label:"Auto-accept edits",description:"Auto-approve file edits; still ask before running other tools."},{value:"bypassPermissions",label:"Bypass permissions",description:"Auto-approve every tool call (like --dangerously-skip-permissions)."},{value:"auto",label:"Auto",description:"Autonomous, gated by a safety classifier (needs a recent Claude Code + Sonnet 4.6+)."}]},58343:(a,b,c)=>{Promise.resolve().then(c.bind(c,478))},61022:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65193:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>s,dynamic:()=>t});var e=c(5735),f=c(73024),g=c(76760),h=c(56727),i=c(72179),j=c(50101),k=c(79935),l=c(24433),m=c(72595),n=c(45301),o=c(6716),p=c(84853),q=c(478),r=a([h,i,j,l,m]);[h,i,j,l,m]=r.then?(await r)():r;let t="force-dynamic";async function s({searchParams:a}){let b=await a??{},c="history"===b.view,d="string"==typeof b.ws?b.ws:void 0,r=await (0,p.KW)(d);return(0,h.X_)(r,async()=>{let a,b=(0,i.iL)(),d=await h.db.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.view,"ROADMAP"),c(a.source,"DRAFT")),with:{nodeTags:{with:{tag:{columns:{label:!0}}}},files:{columns:{path:!0},orderBy:(a,{asc:b})=>b(a.path)}}}),p=r??(0,o.VB)()?.id??"default",[s,t,u]=await Promise.all([h.db.query.dbTable.findMany({columns:{name:!0},with:{columns:{columns:{name:!0,type:!0,isPk:!0,isFk:!0,nullable:!0}}}}),h.db.query.endpoint.findMany({columns:{method:!0,path:!0}}),h.db.query.codeFile.findMany({columns:{path:!0}})]),v=u.map(a=>a.path),w={tables:s.map(a=>({name:a.name,columns:a.columns})),endpoints:t.map(a=>({method:a.method,path:a.path}))},x=new Set(d.map(a=>a.id)),y=x.size?await h.db.query.edge.findMany({where:(a,{and:b,inArray:c})=>b(c(a.fromId,[...x]),c(a.toId,[...x]))}):[],z=d.map(a=>({id:a.id,view:a.view,kind:a.kind,cluster:a.cluster,layer:a.layer,title:a.title,role:a.role,plain:a.plain,status:a.status,priority:a.priority,x:a.x,y:a.y,source:a.source,sourceRef:a.sourceRef,parentId:a.parentId,isCriterion:a.nodeTags.some(a=>"criterion"===a.tag.label),files:a.files.map(a=>a.path),bugFlags:[]})),A=y.map(a=>({id:a.id,fromId:a.fromId,toId:a.toId,kind:a.kind,label:a.label,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),B=await (0,j.C5)(),C="(no description)";try{let b=JSON.parse((0,f.readFileSync)((0,g.join)((0,n.KS)(),"plan-meta.json"),"utf8"));C=b.description??C,a=b.markdown?(0,l.J)(b.markdown).prose:void 0}catch{}let D=a??(0,k.j)(C,b,B),E=await (0,m.jZ)();return(0,e.jsx)(q.PlanWorkspace,{dbProps:{tables:[],relations:[],endpoints:[],draft:b,workspaceId:p,diffBase:w},mapProps:{view:"ROADMAP",nodes:z,edges:A,hasFrontend:E},planMarkdown:D,repoFiles:v,forceHistory:c})})}d()}catch(a){d(a)}})},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},72595:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Wg:()=>k,hA:()=>i,jZ:()=>l,zr:()=>j});var e=c(56727),f=c(30046),g=c(32753),h=a([e]);async function i(a=e.db){let[b]=await a.insert(f.projectMeta).values({id:"singleton"}).onConflictDoUpdate({target:f.projectMeta.id,set:{id:"singleton"}}).returning();return b}async function j(a,b=e.db){let c={};null!=a.overview&&(c.overview=a.overview),a.conventions&&(c.conventions=JSON.stringify(a.conventions)),void 0!==a.hasFrontend&&(c.hasFrontend=a.hasFrontend),a.classificationRoots&&(c.classificationRoots=JSON.stringify(a.classificationRoots)),0===Object.keys(c).length&&(c.id="singleton");let[d]=await b.insert(f.projectMeta).values({id:"singleton",overview:a.overview??null,conventions:JSON.stringify(a.conventions??[]),hasFrontend:a.hasFrontend??null,classificationRoots:JSON.stringify(a.classificationRoots??[])}).onConflictDoUpdate({target:f.projectMeta.id,set:c}).returning();return d}async function k(a=e.db){let b=await i(a);try{let a=JSON.parse(b.classificationRoots??"[]");return Array.isArray(a)?a.filter(a=>"string"==typeof a):[]}catch{return[]}}async function l(a=e.db){let b=await i(a);if(null!=b.hasFrontend)return b.hasFrontend;let c=await a.select({path:f.codeFile.path}).from(f.codeFile);return(0,g.EC)(c.map(a=>a.path))}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},79935:(a,b,c)=>{"use strict";function d(a,b,c){let d=[`# Plan: ${a}`,""],e=c?.features??[];if(e.length)for(let a of(d.push("## Features",""),e))d.push(`### ${a.title}`),a.cluster&&d.push(`*Domain:* \`${a.cluster}\``),a.role&&d.push(`*Role:* ${a.role}`),a.plain&&d.push("",a.plain),d.push("");let f=b?.tables??[];if(f.length)for(let a of(d.push("## Database — Tables",""),f)){for(let b of(d.push(`### Table \`${a.name}\``),a.domain&&d.push(`*Domain:* \`${a.domain}\``),a.description&&d.push("",a.description,""),a.columns)){let a=[b.isPk&&"PK",b.isFk&&"FK",b.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");d.push(`- \`${b.name}\` ${b.type}${a?` *${a}*`:""}${b.note?` — ${b.note}`:""}`)}d.push("")}let g=b?.relations??[];if(g.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Database — Relations (FKs)",""),g)){let c=a.get(b.fromTableId)??b.fromTableId,e=a.get(b.toTableId)??b.toTableId;d.push(`- \`${c}.${b.fromColumn}\` → \`${e}.${b.toColumn}\``)}d.push("")}let h=b?.endpoints??[];if(h.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Endpoints",""),h)){if(d.push(`### ${b.method} ${b.path}`),b.domain&&d.push(`*Domain:* \`${b.domain}\``),b.description&&d.push("",b.description),b.links.length){let c=b.links.map(b=>`\`${a.get(b.tableId)??b.tableId}\` (${b.access})`).join(", ");d.push("",`Touches: ${c}`)}d.push("")}}return d.join("\n")}c.d(b,{j:()=>d})},84268:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["plan",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,65193)),"/home/runner/work/beacon/beacon/app/plan/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/plan/page",pathname:"/plan",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/plan/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},84853:(a,b,c)=>{"use strict";c.d(b,{C5:()=>f,KW:()=>g});var d=c(65573),e=c(6716);async function f(a){if(a&&(0,e.K4)(a))return a;let b=(await (0,d.cookies)()).get(e.Dk)?.value;return b&&(0,e.K4)(b)?b:null}let g=f},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90497:(a,b,c)=>{"use strict";c.d(b,{u:()=>i});var d=c(61661),e=c(52648),f=c(61639),g=c(62088),h=c(19125);function i(a,b,c={}){let j,k=c.linkDistance??210,l=c.charge??-450,m=c.collideRadius??132,n=c.ticks??500,o=[...a].sort((a,b)=>a.id<b.id?-1:+(a.id>b.id)),p=new Set(o.map(a=>a.id)),q=o.map(a=>({id:a.id})),r=[];for(let a of b)a.fromId!==a.toId&&p.has(a.fromId)&&p.has(a.toId)&&r.push({source:a.fromId,target:a.toId});for(let a of o)a.parentId&&p.has(a.parentId)&&r.push({source:a.id,target:a.parentId});let s=(0,d.A)(q).randomSource((j=0x9e3779b9,()=>{let a=j=j+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000})).force("link",(0,e.A)(r).id(a=>a.id).distance(k).strength(.6)).force("charge",(0,f.A)().strength(l).distanceMax(1200)).force("collide",(0,g.A)().radius(m).strength(1)).force("center",(0,h.A)(0,0).strength(.08)).stop();for(let a=0;a<n;a++)s.tick();let t=new Map;for(let a of q)t.set(a.id,{x:Math.round(a.x??0),y:Math.round(a.y??0)});return t}},97663:(a,b,c)=>{Promise.resolve().then(c.bind(c,10768))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,319,4700,4198,2994,5719,5573,7720,9683,9734,2179,4307,5683,2025,3174],()=>b(b.s=84268));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=6624,a.ids=[6624],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},478:(a,b,c)=>{"use strict";c.d(b,{PlanWorkspace:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call PlanWorkspace() from the server but PlanWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/plan/plan-workspace.tsx","PlanWorkspace")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4870:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},6324:(a,b,c)=>{"use strict";c.d(b,{Jd:()=>i,SF:()=>h,Xg:()=>j,_A:()=>g});var d=c(44046),e=c(86548);let f=d.vk(a=>{if("string"==typeof a){let[b,...c]=a.trim().split(/\s+/);return{name:b,type:c.join(" ")||"text"}}return a},d.Ik({name:d.Yj().trim().min(1),type:d.Yj().trim().min(1),isPk:d.zM().optional(),isFk:d.zM().optional(),nullable:d.zM().optional(),note:d.Yj().nullish()})),g=d.Ik({name:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),columns:d.YO(f).default([])}),h=d.Ik({fromTable:d.Yj(),fromColumn:d.Yj(),toTable:d.Yj(),toColumn:d.Yj(),label:d.Yj().nullish()}),i=d.Ik({method:d.Yj().trim().min(1),path:d.Yj().trim().min(1),domain:d.Yj().nullish(),description:d.Yj().nullish(),uses:d.YO(d.Ik({table:d.Yj().trim().min(1),access:d.Yj().optional()})).default([])}).transform(a=>({...a,uses:a.uses.map(b=>({...b,access:b.access??(0,e.P)(a.method)}))})),j=d.Ik({tables:d.YO(g).default([]),relations:d.YO(h).default([]),endpoints:d.YO(i).default([])})},10768:(a,b,c)=>{"use strict";c.d(b,{PlanWorkspace:()=>ab});var d=c(48249),e=c(67484),f=c(35471),g=c(15996),h=c(36274),i=c(69357),j=c(64686);let k=(0,j.A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),l=(0,j.A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var m=c(95744),n=c(61022),o=c(10920),p=c(52839),q=c(45535),r=c(57684),s=c(24422),t=c(19099),u=c(81166),v=c(79768),w=c(61837),x=c(49783),y=c(99086),z=c(33191);function A(a,b,c,d,e,f,g=8){return{left:Math.max(g,Math.min(a,e-c-g)),top:Math.max(g,Math.min(b,f-d-g))}}var B=c(53174);let C="u">typeof CSS&&"highlights"in CSS&&"u">typeof Highlight;function D({markdown:a,round:b,onApi:c,hideSubmit:g=!1,getExtraSubmitPayload:h}){let[i,j]=(0,e.useState)([]),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(!1),[o,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,B]=(0,e.useState)(null),[F,H]=(0,e.useState)(!1),[I,J]=(0,e.useState)(!1),K=(0,e.useRef)(null),L=(0,e.useRef)(null),M=(0,e.useRef)(null);(0,e.useCallback)(()=>{var a;let b,c,d=window.getSelection();if(!d||d.isCollapsed)return void r(null);let e=d.toString().trim();if(!e)return void r(null);if(!K.current?.contains(d.anchorNode))return;let{x:f,y:g}={x:(c=(b=(a=d.getRangeAt(0)).getClientRects()).length?b[b.length-1]:a.getBoundingClientRect()).right,y:c.bottom};r({x:f,y:g,excerpt:e})},[]);let N=(0,e.useCallback)((a,b="comment",c="")=>{let d=`a-${Date.now()}-${Math.floor(1e6*Math.random())}`;j(e=>[...e,{id:d,excerpt:a,comment:c,kind:b}]),"comment"===b&&B(d),r(null),window.getSelection()?.removeAllRanges()},[]),O=async()=>{if(!F){H(!0);try{let a=h?.()??{},c=await fetch("/api/plan/annotations",{method:"POST",headers:{"content-type":"application/json",...(0,v.dh)((0,w.X0)())},body:JSON.stringify({annotations:i,globalComment:k,round:b,...a})});c.ok?J(!0):409===c.status&&window.location.reload()}finally{H(!1)}}},P=(0,e.useMemo)(()=>i.filter(a=>"deletion"===a.kind||a.comment.trim()).length+ +!!k.trim(),[i,k]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,d.jsx)("div",{className:"relative shrink-0",children:(0,d.jsxs)("div",{className:"absolute right-3 top-2 z-30 flex items-center gap-1",children:[!g&&(0,d.jsxs)("button",{onClick:()=>void O(),disabled:F||0===P,className:(0,z.cn)("flex items-center gap-1 rounded-md border px-2 py-1 text-[11px] font-semibold transition-colors",I?"border-emerald-500/40 bg-emerald-500/15 text-emerald-300":0===P?"border-white/10 text-muted-foreground opacity-50":"border-sky-500/40 bg-sky-500/15 text-sky-300 hover:bg-sky-500/25"),title:I?"Submitted — your terminal session is reading the feedback":"Submit all feedback so the agent can revise the plan",children:[I?(0,d.jsx)(f.A,{className:"size-3"}):(0,d.jsx)(p.A,{className:"size-3"}),I?"Submitted":"Submit feedback"]}),m&&(0,d.jsxs)("div",{ref:L,className:"absolute right-0 top-[calc(100%+6px)] z-50 w-[320px] rounded-md border border-white/10 bg-card p-2 shadow-xl",children:[(0,d.jsxs)("div",{className:"mb-1 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Overall feedback"}),(0,d.jsx)("button",{onClick:()=>n(!1),title:"Close (Esc)",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(q.A,{className:"size-3"})})]}),(0,d.jsx)("textarea",{autoFocus:!0,value:k,onChange:a=>l(a.target.value),onKeyDown:a=>{a.stopPropagation(),"Enter"===a.key&&(a.metaKey||a.ctrlKey)?(a.preventDefault(),!F&&P>0&&(O(),n(!1))):"Escape"===a.key&&(a.preventDefault(),n(!1))},placeholder:"Plan-level notes — e.g. 'split this into two phases' or 'wrong abstraction'…",rows:4,className:"w-full resize-y rounded border border-white/5 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-sky-400/40"}),(0,d.jsx)("div",{className:"mt-1 text-right text-[9px] text-muted-foreground/70",children:"⌘/Ctrl+Enter to submit \xb7 Esc to close"})]})]})}),(0,d.jsx)("div",{ref:K,className:"min-h-0 flex-1 overflow-y-auto px-5 pb-5 pt-16 text-[15px] leading-[1.6] selection:bg-[var(--accent-2,#ff7a45)]/30",children:(0,d.jsx)(G,{markdown:a,annotations:s&&!C?[...i,{id:"__pending",excerpt:s.excerpt,comment:"",kind:"comment"}]:i,focusOnId:u,onClearFocus:()=>B(null),onUpdate:(a,b)=>j(c=>c.map(c=>c.id===a?{...c,comment:b}:c)),onRemove:a=>j(b=>b.filter(b=>b.id!==a))})}),o&&(0,d.jsxs)("div",{style:function(a,b){let{left:c,top:d}=A(a,b,76,34,window.innerWidth,window.innerHeight);return{position:"fixed",left:c,top:d,zIndex:60}}(o.x+4,o.y+6),className:"flex items-center gap-0.5 rounded-md border border-white/15 bg-card/95 p-0.5 shadow-lg backdrop-blur",children:[(0,d.jsx)("button",{onClick:()=>{let a=window.getSelection();M.current=a&&a.rangeCount?a.getRangeAt(0).cloneRange():null,t({...o,seed:""}),r(null),a?.removeAllRanges()},title:"Comment on this text",className:"rounded p-1 text-sky-300 hover:bg-sky-500/15",children:(0,d.jsx)(x.A,{className:"size-3.5"})}),(0,d.jsx)("button",{onClick:()=>N(o.excerpt,"deletion"),title:"Mark this for deletion",className:"rounded p-1 text-red-300 hover:bg-red-500/15",children:(0,d.jsx)(y.A,{className:"size-3.5"})})]}),s&&(0,d.jsx)(E,{excerpt:s.excerpt,x:s.x,y:s.y,seed:s.seed,onConfirm:a=>{N(s.excerpt,"comment",a),t(null)},onCancel:()=>t(null)})]})}function E({excerpt:a,x:b,y:c,seed:g,onConfirm:h,onCancel:i}){let[j,k]=(0,e.useState)(g),l=(0,e.useRef)(null),[m,n]=(0,e.useState)(()=>A(b+4,c+6,256,130,window.innerWidth,window.innerHeight)),o=()=>j.trim()?h(j.trim()):i();return(0,d.jsxs)("div",{ref:l,style:{position:"fixed",left:m.left,top:m.top,zIndex:60},className:"w-64 rounded-md border border-white/15 bg-card/95 p-1.5 shadow-xl backdrop-blur",onBlur:a=>{l.current?.contains(a.relatedTarget)||o()},children:[(0,d.jsxs)("div",{className:"mb-1 line-clamp-1 text-[10px] text-muted-foreground",children:["“",a,"”"]}),(0,d.jsx)("textarea",{autoFocus:!0,value:j,onChange:a=>k(a.target.value),onFocus:a=>a.currentTarget.setSelectionRange(j.length,j.length),placeholder:"Comment… (Enter to add \xb7 Esc to discard)",onKeyDown:a=>{a.stopPropagation(),"Enter"!==a.key||a.shiftKey?"Escape"===a.key&&(a.preventDefault(),i()):(a.preventDefault(),o())},className:"h-16 w-full resize-none rounded bg-white/[0.05] px-1.5 py-1 text-xs outline-none placeholder:text-muted-foreground/50 focus:bg-white/[0.08]"}),(0,d.jsxs)("div",{className:"mt-1 flex items-center justify-end gap-1",children:[(0,d.jsxs)("button",{type:"button",onClick:i,title:"Discard this comment (Esc)",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",children:[(0,d.jsx)(q.A,{className:"size-3"}),"Discard"]}),(0,d.jsxs)("button",{type:"button",onClick:o,disabled:!j.trim(),title:"Add this comment (Enter)",className:"flex items-center gap-1 rounded bg-sky-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-sky-300 transition-colors hover:bg-sky-500/25 disabled:opacity-40",children:[(0,d.jsx)(f.A,{className:"size-3"}),"Add"]})]})]})}function F({annotations:a,updateComment:b,removeAnnotation:c,focusOnAnnotation:e,onClose:f}){return 0===a.length?(0,d.jsx)("div",{className:"rounded-lg border border-dashed border-white/10 px-3 py-6 text-center text-[11px] text-muted-foreground",children:"Highlight any text in the plan to leave an inline comment."}):(0,d.jsx)("ul",{className:"space-y-1.5",children:a.map(a=>(0,d.jsx)("li",{className:(0,z.cn)("group rounded-md border bg-background/30 px-2 py-1.5 transition-colors hover:bg-background/50","deletion"===a.kind?"border-red-500/25":"border-sky-500/15"),children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>{e(a.id),f?.()},title:"Jump to this excerpt in the plan",className:(0,z.cn)("block w-full truncate text-left text-[10.5px] font-mono","deletion"===a.kind?"text-red-300/90 line-through":"text-foreground/80 hover:text-foreground"),children:["“",a.excerpt,"”"]}),"deletion"!==a.kind&&(0,d.jsx)("textarea",{value:a.comment,onChange:c=>b(a.id,c.target.value),placeholder:"Write your comment…",rows:1,className:"field-sizing-content mt-1 w-full resize-none bg-transparent text-[11px] leading-snug text-foreground/90 outline-none placeholder:text-muted-foreground/60 focus:text-foreground"})]}),(0,d.jsx)("button",{onClick:()=>c(a.id),title:"Remove this annotation",className:"shrink-0 rounded p-1 text-muted-foreground/70 opacity-0 transition-opacity hover:bg-red-500/15 hover:text-red-300 group-hover:opacity-100",children:(0,d.jsx)(r.A,{className:"size-3"})})]})},a.id))})}function G({markdown:a,annotations:b,focusOnId:c,onClearFocus:f,onUpdate:g,onRemove:h}){let i=(0,e.useMemo)(()=>(0,B.n$)(a),[a]);return(0,d.jsx)("div",{className:"mx-auto w-full max-w-[66ch] space-y-4",children:i.map((a,e)=>(0,d.jsx)(H,{block:a,index:e,annotations:b,focusOnId:c,onClearFocus:f,onUpdate:g,onRemove:h},e))})}function H({block:a,index:b,annotations:c,focusOnId:e,onClearFocus:f,onUpdate:g,onRemove:h}){if("code"===a.kind)return(0,d.jsx)(B.NG,{text:a.text});if("table"===a.kind)return(0,d.jsx)(B.QH,{block:a});let i=(0,d.jsx)(I,{text:a.text,annotations:c,focusOnId:e,onClearFocus:f,onUpdate:g,onRemove:h}),j=(0,B.Vq)(a.kind)?(0,B.vB)(b):void 0;return(0,d.jsx)(d.Fragment,{children:(0,B.aM)(a,i,"reading",j)})}function I({text:a,annotations:b,focusOnId:c,onClearFocus:e,onUpdate:f,onRemove:g}){let h=(C?[]:b).map(b=>({a:b,idx:a.indexOf(b.excerpt)})).filter(a=>a.idx>=0).sort((a,b)=>a.idx-b.idx);if(!h.length)return(0,d.jsx)(K,{text:a});let i=[],j=0;for(let{a:b,idx:k}of h)k<j||(k>j&&i.push((0,d.jsx)(K,{text:a.slice(j,k)},`p-${j}`)),i.push((0,d.jsx)(J,{annotation:b,autoFocus:c===b.id,onClearFocus:e,onUpdate:f,onRemove:g},b.id)),j=k+b.excerpt.length);return j<a.length&&i.push((0,d.jsx)(K,{text:a.slice(j)},"p-tail")),(0,d.jsx)(d.Fragment,{children:i})}function J({annotation:a,autoFocus:b,onClearFocus:c,onUpdate:f,onRemove:g}){return((0,e.useRef)(null),"deletion"===(a.kind??"comment"))?(0,d.jsxs)("span",{className:"relative inline",children:[(0,d.jsx)("span",{className:"rounded bg-red-500/15 px-0.5 text-red-200/90 line-through decoration-red-300/70 decoration-2",children:(0,d.jsx)(K,{text:a.excerpt})}),(0,d.jsx)("button",{type:"button",onClick:()=>g(a.id),title:"Unmark",className:"ml-0.5 inline-flex translate-y-[-1px] items-center text-red-300/70 hover:text-red-300",children:(0,d.jsx)(r.A,{className:"size-3"})})]}):(0,d.jsx)("span",{className:"rounded bg-[var(--accent-2,#ff7a45)]/15 px-0.5","data-annotation-id":a.id,children:(0,d.jsx)(K,{text:a.excerpt})})}function K({text:a}){return(0,d.jsx)(B.cV,{text:a})}var L=c(4870);let M=(0,j.A)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),N=(0,j.A)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var O=c(62299),P=c(42025),Q=c(89327),R=c(74732),S=c(71703),T=c(99281);function U({planId:a,className:b,title:c="Share a read-only link to this plan"}){let[f,g]=(0,e.useState)(!1),{status:h,url:j,error:k,copied:l,mint:m,copy:n,reset:o}=(0,S.b)();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("button",{type:"button",title:c,onClick:function(){o(),g(!0),m({kind:"plan",...a?{planId:a}:{}})},className:b??"glass flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:text-foreground",children:(0,d.jsx)(Q.A,{className:"size-3.5"})}),(0,d.jsx)(R.lG,{open:f,onOpenChange:g,children:(0,d.jsxs)(R.Cf,{children:[(0,d.jsxs)(R.c7,{children:[(0,d.jsx)(R.L3,{children:"Share this plan"}),(0,d.jsx)(R.rr,{children:"Anyone with the link can view this plan and its boards — no Beacon needed. Links expire after 7 days."})]}),"loading"===h&&(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-muted-foreground",children:[(0,d.jsx)(i.A,{className:"size-4 animate-spin"})," Creating link…"]}),"done"===h&&(0,d.jsx)(T.F,{url:j,copied:l,onCopy:n}),"error"===h&&(0,d.jsx)("p",{className:"text-[12px] text-red-400",children:k})]})})]})}var V=c(62190),W=c(34849);function X({pendingPlan:a=!1,workspaceId:b}){let c=(0,t.useRouter)(),[i,j]=(0,e.useState)([]),[k,m]=(0,e.useState)(null),[n,o]=(0,e.useState)(null),[p,r]=(0,e.useState)("map"),[s,u]=(0,e.useState)(()=>!0),v=(0,e.useCallback)(()=>{u(a=>{let b=!a;try{localStorage.setItem("beacon:plan-history-sidebar",b?"1":"0")}catch{}return b})},[]),x=(0,e.useMemo)(()=>(function(a){let b=new Map;for(let c of a){let a=new Date(c.archivedAt).toLocaleDateString(void 0,{weekday:"short",month:"short",day:"numeric"});b.has(a)||b.set(a,[]),b.get(a).push(c)}return Array.from(b.entries())})(i),[i]),y=(0,e.useMemo)(()=>(function(a){let b=a?.features??[];if(0===b.length)return{nodes:[],edges:[]};let c=new Map;b.forEach((a,b)=>{let d=a.title.trim();c.has(d)||c.set(d,`arch-${b}`)});let d=(a,b)=>c.get(a.title.trim())??`arch-${b}`,e=b.map((a,b)=>({id:d(a,b),parentId:null,cluster:a.cluster??null,status:"PENDING",priority:a.priority??2,title:a.title,role:a.role??null})),f=(0,W.VI)(e,"cluster"),g=b.map((a,b)=>{let c=d(a,b),e=f.get(c)??{x:0,y:0};return{id:c,view:"ROADMAP",kind:a.kind??"FEATURE",cluster:a.cluster??null,layer:a.layer??null,title:a.title,role:a.role??null,plain:a.plain??null,status:"PENDING",priority:a.priority??2,x:e.x,y:e.y,source:"DRAFT",sourceRef:null,parentId:null,isCriterion:!1,files:[],bugFlags:[]}}),h=[];return b.forEach((a,b)=>{let e=d(a,b);for(let b of a.dependsOn??[]){let a=c.get(b.trim());a&&a!==e&&h.push({id:`arch-edge-${e}-${a}`,fromId:e,toId:a,kind:"DEPENDS",label:"depends on",sourceHandle:null,targetHandle:null})}}),{nodes:g,edges:h}})(n?.featureGraph),[n]),A=y.nodes.length>0,C=(n?.draftDoc?.tables.length??0)>0||(n?.draftDoc?.endpoints.length??0)>0,D=A||C,E="map"!==p||A?"db"!==p||C?p:"map":"db",F=!!n&&""===n.markdown.replace(/^#[^\n]*\n?/,"").trim(),G=a?(0,d.jsxs)("button",{onClick:()=>c.push((0,w.rc)()),className:"glass pointer-events-auto mb-1 ml-3 mt-1 flex h-8 w-fit shrink-0 items-center gap-1.5 rounded-full px-3 text-[11px] font-semibold text-sky-300 transition-colors hover:bg-sky-500/15",title:"Return to the plan that's still pending review",children:[(0,d.jsx)(L.A,{className:"size-3.5"})," Back to current plan"]}):null;return 0===i.length?(0,d.jsxs)("div",{className:"flex h-screen min-h-0 flex-col pt-14",children:[G,(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center px-6 text-center",children:(0,d.jsxs)("div",{className:"max-w-md text-sm text-muted-foreground",children:[(0,d.jsx)(l,{className:"mx-auto mb-3 size-7 text-muted-foreground/40"}),(0,d.jsx)("div",{className:"mb-2 text-base font-semibold text-foreground",children:"No plans yet."}),"Ask the agent to propose a feature in your terminal session — it lands here via MCP and you can review + annotate on both sides. Past plans get archived to this page for browsing."]})})]}):(0,d.jsxs)("div",{className:"flex h-screen min-h-0 flex-col pt-14",children:[G,n&&(0,d.jsxs)("div",{className:"glass pointer-events-auto fixed right-3 top-3 z-30 flex h-9 items-center gap-2 rounded-full px-3",children:[(0,d.jsx)("span",{className:(0,z.cn)("rounded px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wide","approved"===n.verdict?"bg-emerald-500/15 text-emerald-300":"bg-red-500/15 text-red-300"),children:n.verdict}),(0,d.jsx)("span",{className:"text-[10px] text-muted-foreground",children:new Date(n.archivedAt).toLocaleString()}),(0,d.jsx)("span",{"aria-hidden":!0,className:"h-4 w-px bg-white/10"}),(0,d.jsx)(U,{planId:n.id,className:"flex size-6 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"})]}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1",children:[s?(0,d.jsxs)("aside",{className:"flex w-64 min-w-0 shrink-0 flex-col border-r border-white/5 bg-card/30",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-white/5 px-3 py-2",children:[(0,d.jsxs)("span",{className:"text-[10.5px] font-semibold uppercase tracking-wide text-muted-foreground",children:["Plan history \xb7 ",i.length]}),(0,d.jsx)("button",{onClick:v,title:"Collapse history",className:"flex size-5 items-center justify-center rounded text-muted-foreground/70 transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(M,{className:"size-3.5"})})]}),(0,d.jsx)("ul",{className:"min-h-0 flex-1 overflow-y-auto",children:x.map(([a,b])=>(0,d.jsxs)("li",{children:[(0,d.jsx)("div",{className:"px-3 pb-1 pt-3 text-[9px] font-semibold uppercase tracking-widest text-muted-foreground/60",children:a}),(0,d.jsx)("ul",{children:b.map(a=>(0,d.jsx)("li",{children:(0,d.jsxs)("button",{onClick:()=>m(a.id),className:(0,z.cn)("flex w-full items-start gap-1.5 px-3 py-1.5 text-left text-[12px] transition-colors",k===a.id?"bg-white/[0.06] text-foreground":"text-muted-foreground hover:bg-white/[0.03] hover:text-foreground"),children:[(0,d.jsx)("span",{className:(0,z.cn)("mt-0.5 inline-flex size-3.5 shrink-0 items-center justify-center rounded-full","approved"===a.verdict?"bg-emerald-500/15 text-emerald-300":"bg-red-500/15 text-red-300"),title:a.verdict,children:"approved"===a.verdict?(0,d.jsx)(f.A,{className:"size-2.5"}):(0,d.jsx)(q.A,{className:"size-2.5"})}),(0,d.jsx)("span",{className:"line-clamp-2",children:a.description})]})},a.id))})]},a))})]}):(0,d.jsx)("aside",{className:"flex w-10 shrink-0 flex-col items-center border-r border-white/5 bg-card/30 py-2",children:(0,d.jsx)("button",{onClick:v,title:`Show plan history \xb7 ${i.length}`,className:"flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(N,{className:"size-4"})})}),n?(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1",children:[(0,d.jsx)("div",{className:(0,z.cn)("relative flex min-h-0 min-w-0 flex-col",!D&&"flex-1"),style:D?{width:"44%"}:void 0,children:(0,d.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 py-4",children:[(0,d.jsx)(B.pO,{markdown:n.markdown}),F&&(0,d.jsx)("p",{className:"mt-2 text-[13px] text-muted-foreground",children:(n.featureGraph?.features?.length??0)===0&&(n.draftDoc?.tables?.length??0)===0&&(n.draftDoc?.endpoints?.length??0)===0?"This plan was approved without a detailed write-up — no features or schema were attached either.":"This plan has no written body. See the Features and Schema canvases for what it proposed."}),n.globalComment&&(0,d.jsxs)("div",{className:"mt-4 rounded-lg border border-white/5 bg-card/40 p-3",children:[(0,d.jsx)("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Overall feedback"}),(0,d.jsx)("div",{className:"text-[12px] whitespace-pre-wrap",children:n.globalComment})]})]})}),D&&(0,d.jsxs)("div",{className:"relative flex min-h-0 min-w-0 flex-1 flex-col border-l border-white/5",children:[A&&C&&(0,d.jsx)("div",{className:"pointer-events-none absolute left-3 top-3 z-20",children:(0,d.jsxs)("div",{className:"glass pointer-events-auto flex items-center gap-1 rounded-full p-0.5",children:[(0,d.jsx)(V.E,{active:"map"===E,onClick:()=>r("map"),icon:(0,d.jsx)(g.A,{className:"size-3"}),children:"Features"}),(0,d.jsx)(V.E,{active:"db"===E,onClick:()=>r("db"),icon:(0,d.jsx)(h.A,{className:"size-3"}),children:"Schema"})]})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:"map"===E?(0,d.jsx)(O.MapClient,{view:"ROADMAP",nodes:y.nodes,edges:y.edges,embedded:!0,readOnly:!0}):(0,d.jsx)(P.DbMapClient,{tables:[],relations:[],endpoints:[],draft:n.draftDoc??null,workspaceId:b,embedded:!0,readOnly:!0})})]})]}):(0,d.jsx)("section",{className:"flex min-h-0 min-w-0 flex-1 items-center justify-center text-sm text-muted-foreground",children:"Select a plan on the left to view it."})]})]})}function Y({markdown:a}){let b=(0,e.useMemo)(()=>(0,B.n$)(a).map((a,b)=>({b:a,i:b})).filter(({b:a})=>(0,B.Vq)(a.kind)).map(({b:a,i:b})=>({id:(0,B.vB)(b),level:(0,B.F8)(a.kind),label:(0,B.kz)(a.text)})).filter(a=>a.label.length>0),[a]),[c,f]=(0,e.useState)(null);return(0,d.jsxs)("aside",{className:"flex w-60 shrink-0 flex-col overflow-y-auto border-r border-white/5 bg-background pt-16",children:[(0,d.jsx)("div",{className:"px-4 pb-2 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Sections"}),0===b.length?(0,d.jsx)("p",{className:"px-4 text-[12px] text-muted-foreground/70",children:"No headings in this plan."}):(0,d.jsx)("nav",{className:"space-y-0.5 px-2 pb-6",children:b.map(a=>(0,d.jsx)("button",{onClick:()=>{var b;let c;return b=a.id,void((c=document.getElementById(b))&&(c.scrollIntoView({behavior:"smooth",block:"start"}),f(b)))},title:a.label,style:{paddingLeft:`${.5+.75*a.level}rem`},className:(0,z.cn)("block w-full truncate rounded py-1 pr-2 text-left text-[12px] leading-snug transition-colors",c===a.id?"bg-white/10 font-medium text-foreground":"text-muted-foreground hover:bg-white/[0.05] hover:text-foreground"),children:a.label},a.id))})]})}var Z=c(48581),$=c(26284),_=c(56922);function aa({open:a,onOpenChange:b,onConfirmed:c}){let[g,h]=(0,e.useState)("bypassPermissions"),[i,j]=(0,e.useState)(!1);async function k(){j(!0);try{await fetch("/api/preferences",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({planApprovalMode:g})}).catch(()=>{}),b(!1),c()}finally{j(!1)}}return(0,d.jsx)(R.lG,{open:a,onOpenChange:b,children:(0,d.jsxs)(R.Cf,{className:"max-w-lg",children:[(0,d.jsxs)(R.c7,{children:[(0,d.jsxs)(R.L3,{className:"flex items-center gap-2",children:[(0,d.jsx)(Z.A,{className:"size-4 text-emerald-400"}),"After approving, the agent should…"]}),(0,d.jsx)(R.rr,{children:"Pick the permission mode your terminal session enters when you approve a plan. We ask once and remember it for every project — change it anytime in Settings."})]}),(0,d.jsx)("div",{className:"space-y-2 py-1",children:_.pC.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>h(a.value),className:(0,z.cn)("flex w-full items-start gap-3 rounded-lg border p-3 text-left transition-colors",g===a.value?"border-emerald-500/50 bg-emerald-500/10":"border-white/10 bg-white/[0.03] hover:bg-white/[0.06]"),children:[(0,d.jsx)("span",{className:(0,z.cn)("mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border",g===a.value?"border-emerald-400 bg-emerald-400/20":"border-white/30"),children:g===a.value&&(0,d.jsx)(f.A,{className:"size-3 text-emerald-300"})}),(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"block text-sm font-medium text-foreground",children:a.label}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:a.description})]})]},a.value))}),(0,d.jsxs)(R.Es,{className:"items-center justify-between gap-2 sm:justify-between",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:"You can change this later in Settings."}),(0,d.jsx)($.$,{onClick:k,disabled:i,size:"sm",children:i?"Saving…":"Save & approve"})]})]})})}function ab({dbProps:a,mapProps:b,planMarkdown:c,repoFiles:j=[],forceHistory:x=!1}){let y=(0,t.useRouter)(),{status:A,discard:C}=(0,u.j)(),E=b.nodes.length>0,G=a.tables.length>0||a.endpoints.length>0||(a.draft?.tables.length??0)>0||(a.draft?.endpoints.length??0)>0,[H,I]=(0,e.useState)(E?"map":"db"),J="map"!==H||E?"db"!==H||G?H:"map":"db",[K,L]=(0,e.useState)(!1),[M,N]=(0,e.useState)(!1),[Q,R]=(0,e.useState)(null),S=(0,e.useRef)(!1),T=(0,e.useCallback)(async()=>{await fetch("/api/plan/approve",{method:"POST",headers:(0,v.dh)((0,w.X0)())}).catch(()=>{}),R({features:A.features,tables:A.tables,endpoints:A.endpoints})},[A.features,A.tables,A.endpoints]),W=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/preferences",{cache:"no-store"});if((await a.json()).planApprovalModeConfigured)return void T()}catch{T();return}N(!0)},[T]),[Z,$]=(0,e.useState)(null),_=(0,e.useCallback)(a=>$(a),[]),ad=(0,e.useRef)(null),ae=(0,e.useRef)(null),af=(0,e.useRef)(a.draft),[ag,ah]=(0,e.useState)(!1),ai=(0,e.useCallback)(()=>ah(!0),[]),[aj,ak]=(0,e.useState)([]),[al,am]=(0,e.useState)(!1),[an,ao]=(0,e.useState)(""),ap=(0,e.useCallback)(a=>{ao(a),am(!0)},[]),aq=(0,e.useRef)(aj),ar=(0,e.useCallback)(()=>({draft:af.current,questions:aq.current}),[]),as=(0,e.useMemo)(()=>{let c=[];for(let a of b.nodes)c.push(`feature: ${a.title}`);for(let b of a.draft?.tables??[])c.push(`table: ${b.name}`);for(let b of a.tables)c.push(`table: ${b.name}`);for(let b of a.draft?.endpoints??[])c.push(`endpoint: ${b.method} ${b.path}`);for(let b of a.endpoints)c.push(`endpoint: ${b.method} ${b.path}`);return Array.from(new Set(c))},[b.nodes,a]),at=Z?(0,d.jsx)(F,{annotations:Z.annotations,updateComment:Z.updateComment,removeAnnotation:Z.removeAnnotation,focusOnAnnotation:Z.focusOnAnnotation,onClose:()=>ad.current?.close()}):null,au=(0,e.useCallback)(()=>{ad.current?.open()},[]),av=(0,e.useCallback)(a=>{Z?.addComment(a)},[Z]),aw=(0,e.useCallback)(a=>{Z?.focusOnAnnotation(a),"db"===J?ae.current?.openComments():ad.current?.openComments()},[Z,J]),[ax,ay]=(0,e.useState)(()=>50),az=(0,e.useRef)(null),aA=(0,e.useRef)(!1),aB=(0,e.useCallback)(a=>{a.preventDefault(),aA.current=!0,document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[]),aC=async()=>{await fetch("/api/plan/annotations",{method:"DELETE",headers:(0,v.dh)((0,w.X0)())}).catch(()=>{}),await C(),y.refresh()};if((!A.pending||x)&&!Q)return(0,d.jsx)(B.Ue,{files:j,children:(0,d.jsx)(X,{pendingPlan:A.pending,workspaceId:a.workspaceId})});let aD=E||G,aE=aD&&!K,aF=!aD||K,aG=((Z?.liveCount??0)>0||ag||aj.length>0)&&!Z?.submitted;return(0,d.jsxs)("div",{className:"relative flex h-screen flex-col",children:[Q&&(0,d.jsxs)("div",{className:"absolute inset-0 z-50 flex flex-col items-center justify-center gap-5 bg-background/97 px-6 text-center backdrop-blur-sm",children:[(0,d.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-emerald-500/15",children:(0,d.jsx)(f.A,{className:"size-6 text-emerald-300"})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Plan approved"}),(0,d.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:Q.features>0||Q.tables>0||Q.endpoints>0?"It's committed. Here's where to find it:":"It's archived to your plan history."}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Taking you to the map in 3 seconds…"})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[Q.features>0&&(0,d.jsxs)("button",{onClick:()=>{S.current=!0,y.push("/map?view=ROADMAP")},className:"flex items-center gap-2 rounded-lg border border-white/12 px-3 py-2 text-sm text-foreground transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)(g.A,{className:"size-4 text-sky-300"})," ",Q.features," feature",1===Q.features?"":"s"," → Map"]}),(Q.tables>0||Q.endpoints>0)&&(0,d.jsxs)("button",{onClick:()=>{S.current=!0,y.push("/map?view=DATABASE")},className:"flex items-center gap-2 rounded-lg border border-white/12 px-3 py-2 text-sm text-foreground transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)(h.A,{className:"size-4 text-violet-300"})," ",Q.tables," table",1===Q.tables?"":"s"," \xb7 ",Q.endpoints," endpoint",1===Q.endpoints?"":"s"," → Database"]})]}),(0,d.jsx)("button",{onClick:()=>{S.current=!0,R(null),y.push((0,w.rc)({view:"history"}))},className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Done — browse plan history"})]}),Z?.submitted&&(0,d.jsxs)("div",{className:"absolute inset-0 z-40 flex flex-col items-center justify-center gap-4 bg-background/95 px-6 text-center backdrop-blur-sm",children:[(0,d.jsx)("div",{className:"flex size-12 items-center justify-center rounded-full bg-sky-500/15",children:(0,d.jsx)(i.A,{className:"size-6 animate-spin text-sky-300"})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:"Feedback sent"}),(0,d.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:"Your terminal session is revising the plan based on your comments. The updated plan will appear here automatically — no need to refresh."})]}),(0,d.jsx)("button",{onClick:()=>y.push((0,w.rc)({view:"history"})),className:"rounded-full border border-white/12 px-3 py-1.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Browse past plans"})]}),(0,d.jsxs)("div",{className:"pointer-events-none fixed right-3 top-3 z-30 flex items-center gap-2",children:[aD&&K&&(0,d.jsx)("button",{onClick:()=>L(!1),title:"Collapse — show the board again",className:"glass pointer-events-auto flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(k,{className:"size-3.5"})}),(0,d.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-0.5 rounded-full px-1",children:[(0,d.jsx)("button",{onClick:()=>y.push((0,w.rc)({view:"history"})),title:"Browse past plans (you can come back to this one)",className:"flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(l,{className:"size-3.5"})}),(0,d.jsx)(U,{className:"flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground"}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsxs)("button",{onClick:au,disabled:!Z,title:Z?.annotationCount?`Open the side panel \xb7 ${Z.annotationCount} comment${1===Z.annotationCount?"":"s"} so far`:"Open the side panel (details + comments)",className:"relative flex size-8 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,d.jsx)(m.A,{className:"size-3.5"}),Z&&(Z.annotationCount??0)>0&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-sky-500 px-1 text-[9px] font-semibold text-white",children:Z.annotationCount})]}),(0,d.jsxs)("button",{"data-overall-toggle":!0,onClick:()=>Z?.toggleOverall?.(),disabled:!Z?.toggleOverall,title:Z?.hasGlobalComment?"Edit your overall feedback":"Add overall plan-level feedback",className:(0,z.cn)("relative flex size-8 shrink-0 items-center justify-center rounded-full transition-colors",Z?.globalOpen?"bg-white/10 text-foreground":Z?.hasGlobalComment?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,d.jsx)(n.A,{className:"size-3.5"}),Z?.hasGlobalComment&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 size-2 rounded-full bg-sky-400"})]}),(0,d.jsxs)("button",{onClick:()=>am(a=>!a),title:"Ask the agent a question about a node (answered in its next round)",className:(0,z.cn)("relative flex size-8 shrink-0 items-center justify-center rounded-full transition-colors",al?"bg-white/10 text-foreground":aj.length?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground hover:bg-white/[0.06] hover:text-foreground"),children:[(0,d.jsx)(o.A,{className:"size-3.5"}),aj.length>0&&(0,d.jsx)("span",{className:"absolute -right-0.5 -top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-sky-500 px-1 text-[9px] font-semibold text-white",children:aj.length})]}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsxs)("button",{onClick:()=>Z?.submit(),disabled:!Z||Z.submitting||0===Z.liveCount&&!ag&&0===aj.length,title:Z&&(0!==Z.liveCount||ag||0!==aj.length)?Z.submitted?"Submitted — your terminal session is reading the feedback":"Submit feedback (comments + canvas edits) so the agent can revise the plan":"Highlight text or edit the canvas, then submit",className:(0,z.cn)("flex shrink-0 items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-semibold transition-colors",Z?.submitted?"text-sky-300":Z&&(0!==Z.liveCount||ag||0!==aj.length)?"text-sky-300 hover:bg-sky-500/15":"text-muted-foreground opacity-50"),children:[Z?.submitted?(0,d.jsx)(f.A,{className:"size-3"}):(0,d.jsx)(p.A,{className:"size-3"}),Z?.submitted?"Submitted":"Feedback"]}),aG&&(0,d.jsxs)("button",{onClick:()=>{Z?.clearAll?.(),ah(!1),ak([])},title:"Discard your unsubmitted comments / canvas edits so you can approve the plan as-is",className:"flex shrink-0 items-center gap-1 rounded-full px-2 py-1 text-[11px] font-medium text-amber-300/90 transition-colors hover:bg-amber-500/15",children:[(0,d.jsx)(q.A,{className:"size-3"})," Clear to approve"]}),(0,d.jsxs)("button",{onClick:()=>void W(),disabled:aG,title:aG?"You have unsubmitted feedback — submit it, or click ‘Clear to approve’ to drop it":"Approve the plan",className:(0,z.cn)("flex shrink-0 items-center gap-1 rounded-full border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",aG&&"opacity-40 hover:bg-emerald-500/15"),children:[(0,d.jsx)(f.A,{className:"size-3"})," Approve"]}),(0,d.jsxs)("button",{onClick:aC,className:"flex shrink-0 items-center gap-1 rounded-full px-2.5 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",title:"Discard the plan",children:[(0,d.jsx)(r.A,{className:"size-3"})," Discard"]}),(0,d.jsx)(aa,{open:M,onOpenChange:N,onConfirmed:()=>void T()})]})]}),al&&(0,d.jsxs)("div",{className:"fixed right-3 top-16 z-30 w-80 rounded-xl border border-white/10 bg-card p-3 shadow-xl",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Ask the agent"}),(0,d.jsx)("button",{onClick:()=>am(!1),title:"Close",className:"rounded p-0.5 text-muted-foreground hover:text-foreground",children:(0,d.jsx)(q.A,{className:"size-3.5"})})]}),(0,d.jsx)(ac,{targets:as,initialTarget:an,onAdd:a=>ak(b=>[...b,a])}),aj.length>0&&(0,d.jsx)("ul",{className:"mt-2 space-y-1",children:aj.map((a,b)=>(0,d.jsxs)("li",{className:"group flex items-start justify-between gap-2 rounded-md border border-white/5 bg-background/40 px-2 py-1",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"truncate font-mono text-[10px] text-sky-300/90",children:a.target}),(0,d.jsx)("div",{className:"text-[11px] text-foreground/90",children:a.question})]}),(0,d.jsx)("button",{onClick:()=>ak(a=>a.filter((a,c)=>c!==b)),title:"Remove",className:"shrink-0 rounded p-0.5 text-muted-foreground/70 opacity-0 transition-opacity hover:text-red-300 group-hover:opacity-100",children:(0,d.jsx)(q.A,{className:"size-3"})})]},b))}),(0,d.jsx)("p",{className:"mt-2 text-[10px] text-muted-foreground",children:"Questions are sent with your feedback on Submit — the agent answers them in its next round."})]}),(0,d.jsxs)("div",{ref:az,className:"flex min-h-0 flex-1",children:[aF&&(0,d.jsx)(Y,{markdown:c}),(0,d.jsxs)("div",{className:(0,z.cn)("relative flex min-w-0 flex-col",!aE&&"flex-1"),style:aE?{width:`${ax}%`}:void 0,children:[aE&&(0,d.jsx)("div",{className:"pointer-events-none absolute right-3 top-3 z-20",children:(0,d.jsx)("button",{onClick:()=>L(!0),title:"Expand the plan to full width",className:"glass pointer-events-auto flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(s.A,{className:"size-3.5"})})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:(0,d.jsx)(B.Ue,{files:j,children:(0,d.jsx)(D,{markdown:c,round:A.proposedAt,onApi:_,hideSubmit:!0,getExtraSubmitPayload:ar})})})]}),aE&&(0,d.jsx)("div",{onPointerDown:aB,className:"group relative w-px shrink-0 cursor-col-resize bg-white/5 hover:bg-white/15",title:"Drag to resize",children:(0,d.jsx)("div",{className:"absolute inset-y-0 -left-1.5 right-[-6px] z-10"})}),aE&&(0,d.jsxs)("div",{className:"relative flex min-w-0 flex-col",style:{width:`${100-ax}%`},children:[E&&G&&(0,d.jsx)("div",{className:"pointer-events-none absolute left-3 top-3 z-20",children:(0,d.jsxs)("div",{className:"glass pointer-events-auto flex items-center gap-1 rounded-full p-0.5",children:[(0,d.jsx)(V.E,{active:"map"===J,onClick:()=>I("map"),icon:(0,d.jsx)(g.A,{className:"size-3"}),children:"Map"}),(0,d.jsx)(V.E,{active:"db"===J,onClick:()=>I("db"),icon:(0,d.jsx)(h.A,{className:"size-3"}),children:"Database"})]})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden bg-background",children:"map"===J?(0,d.jsx)(O.MapClient,{view:b.view,nodes:b.nodes,edges:b.edges,hasFrontend:b.hasFrontend,embedded:!0,commentsContent:at,commentsCount:Z?.annotationCount??0,controlRef:ad,onAskAgent:ap,onAddComment:av,annotations:Z?.annotations,onPinClick:aw,onUpdateComment:Z?.updateComment,onRemoveComment:Z?.removeAnnotation}):(0,d.jsx)(P.DbMapClient,{tables:a.tables,relations:a.relations,endpoints:a.endpoints,draft:a.draft,workspaceId:a.workspaceId,diffBase:a.diffBase,embedded:!0,draftRef:af,onEdit:ai,controlRef:ae,commentsContent:at,commentsCount:Z?.annotationCount??0,onAddComment:av,annotations:Z?.annotations,onPinClick:aw,onUpdateComment:Z?.updateComment,onRemoveComment:Z?.removeAnnotation})})]})]})]})}function ac({targets:a,onAdd:b,initialTarget:c}){let[f,g]=(0,e.useState)(c||a[0]||""),[h,i]=(0,e.useState)(""),j=()=>{let a=h.trim();a&&(b({target:f||"(plan)",question:a}),i(""))};return(0,d.jsxs)("div",{className:"space-y-1.5",children:[a.length>0&&(0,d.jsx)("select",{value:f,onChange:a=>g(a.target.value),className:"w-full rounded border border-white/10 bg-background px-2 py-1 text-[11px] outline-none focus:border-sky-400/40",children:a.map(a=>(0,d.jsx)("option",{value:a,className:"bg-card",children:a},a))}),(0,d.jsx)("textarea",{value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),j())},rows:2,placeholder:"e.g. why a new table instead of reusing users? (⌘/Ctrl+Enter to add)",className:"w-full resize-y rounded border border-white/10 bg-background px-2 py-1.5 text-[12px] leading-snug outline-none focus:border-sky-400/40"}),(0,d.jsx)("button",{onClick:j,disabled:!h.trim(),className:(0,z.cn)("w-full rounded-md px-2 py-1 text-[11px] font-semibold transition-colors",h.trim()?"bg-sky-500/15 text-sky-300 hover:bg-sky-500/25":"text-muted-foreground opacity-50"),children:"Add question"})]})}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24433:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{J:()=>i});var e=c(6324),f=c(50101),g=a([f]);f=(g.then?(await g)():g)[0];let j=/^[ \t]*```beacon[ \t]*\r?\n([\s\S]*?)\r?\n[ \t]*```[ \t]*$/im;function h(a,b){if(!Array.isArray(a))return[];let c=[];for(let d of a){let a=b.safeParse(d);a.success&&c.push(a.data)}return c}function i(a){let b,c=a.match(j);if(!c)return{prose:a};try{b=JSON.parse(c[1])}catch{return{prose:a}}let d=b&&"object"==typeof b?b:{},g=h(d.tables,e._A),i=h(d.relations,e.SF),k=h(d.endpoints,e.Jd),l=h(d.features,f.te),m=Array.isArray(d.contract)?d.contract.filter(a=>"string"==typeof a&&!!a.trim()).map(a=>a.trim()):void 0,n=g.length||k.length||i.length?{tables:g,relations:i,endpoints:k}:void 0,o=l.length?l:void 0,p=m?.length?m:void 0;return n||o||p?{prose:a.replace(j,"").replace(/\n{3,}/g,"\n\n").trim(),draft:n,features:o,contract:p}:{prose:a}}d()}catch(a){d(a)}})},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32753:(a,b,c)=>{"use strict";c.d(b,{EC:()=>h,jR:()=>f});let d=["frontend","backend","fullstack"],e={fe:"frontend",front:"frontend",be:"backend",back:"backend",fs:"fullstack","full-stack":"fullstack","full stack":"fullstack"};function f(a){let b=(a??"").trim().toLowerCase();return b?d.includes(b)?b:e[b]??null:null}let g=/\.(tsx|jsx|vue|svelte)$/i;function h(a){return a.some(a=>g.test(a))}},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},48161:a=>{"use strict";a.exports=require("node:os")},50101:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{C5:()=>n,KR:()=>m,Qy:()=>p,t7:()=>l,te:()=>o});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(32753),j=c(90497),k=a([g]);g=(k.then?(await k)():k)[0];let o=e.Ik({title:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),cluster:e.Yj().nullish(),category:e.Yj().nullish(),domain:e.Yj().nullish(),priority:e.ai().nullish(),kind:e.Yj().nullish(),layer:e.Yj().nullish(),dependsOn:e.YO(e.Yj()).nullish()}).transform(({category:a,domain:b,priority:c,kind:d,layer:e,...f})=>({...f,cluster:f.cluster??a??b??null,priority:null==c?null:Math.max(0,Math.min(3,Math.round(c))),kind:d?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",layer:(0,i.jR)(e)})),p=e.Ik({features:e.YO(o).default([])});async function l(a=g.db){await a.delete(h.node).where((0,f.Uo)((0,f.eq)(h.node.source,"DRAFT"),(0,f.eq)(h.node.view,"ROADMAP")))}async function m(a,b=g.db){let c=p.parse(a);await l(b);let d=await b.query.node.findFirst({where:(a,{eq:b})=>b(a.view,"ROADMAP"),orderBy:(a,{desc:b})=>b(a.y)}),e=(d?.y??0)+200,f=new Set(c.features.map(a=>a.title.trim())),i=c.features.map(a=>({id:a.title.trim()})),k=c.features.flatMap(a=>(a.dependsOn??[]).map(a=>a.trim()).filter(b=>f.has(b)&&b!==a.title.trim()).map(b=>({fromId:a.title.trim(),toId:b}))),n=(0,j.u)(i,k),o=new Map;for(let a of c.features){let c=n.get(a.title.trim())??{x:0,y:0},[d]=await b.insert(h.node).values({view:"ROADMAP",source:"DRAFT",status:"PENDING",kind:a.kind,title:a.title,role:a.role??null,plain:a.plain??null,cluster:a.cluster??null,layer:a.layer??null,priority:a.priority??2,x:c.x,y:c.y+e}).returning();o.set(a.title.trim(),d.id)}for(let a of c.features){let c=o.get(a.title.trim());if(c&&a.dependsOn)for(let d of a.dependsOn){let a=o.get(d.trim());a&&a!==c&&(await b.query.edge.findFirst({where:(b,{and:d,eq:e})=>d(e(b.fromId,c),e(b.toId,a),e(b.kind,"DEPENDS"))})||await b.insert(h.edge).values({fromId:c,toId:a,kind:"DEPENDS"}))}}}async function n(a=g.db){let b=await a.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.source,"DRAFT"),c(a.view,"ROADMAP")),orderBy:(a,{asc:b})=>b(a.createdAt)}),c=b.map(a=>a.id),d=c.length?await a.query.edge.findMany({where:(a,{and:b,eq:d})=>b(d(a.kind,"DEPENDS"),(0,f.RV)(a.fromId,c),(0,f.RV)(a.toId,c))}):[],e=new Map(b.map(a=>[a.id,a.title])),h=new Map;for(let a of d){let b=e.get(a.toId);if(!b)continue;let c=h.get(a.fromId)??[];c.push(b),h.set(a.fromId,c)}return{features:b.map(a=>({title:a.title,role:a.role,plain:a.plain,cluster:a.cluster,priority:a.priority,kind:"BUG"===a.kind?"BUG":"FEATURE",layer:(0,i.jR)(a.layer),dependsOn:h.get(a.id)}))}}d()}catch(a){d(a)}})},52839:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},56922:(a,b,c)=>{"use strict";c.d(b,{pC:()=>d});let d=[{value:"default",label:"Manual approval",description:"Approve each tool call yourself — Claude Code's default."},{value:"acceptEdits",label:"Auto-accept edits",description:"Auto-approve file edits; still ask before running other tools."},{value:"bypassPermissions",label:"Bypass permissions",description:"Auto-approve every tool call (like --dangerously-skip-permissions)."},{value:"auto",label:"Auto",description:"Autonomous, gated by a safety classifier (needs a recent Claude Code + Sonnet 4.6+)."}]},58343:(a,b,c)=>{Promise.resolve().then(c.bind(c,478))},61022:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d=(0,c(64686).A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]])},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63988:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["plan",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,65193)),"/home/runner/work/beacon/beacon/app/plan/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/plan/page",pathname:"/plan",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/plan/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},65193:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>s,dynamic:()=>t});var e=c(5735),f=c(73024),g=c(76760),h=c(56727),i=c(72179),j=c(50101),k=c(79935),l=c(24433),m=c(72595),n=c(45301),o=c(6716),p=c(84853),q=c(478),r=a([h,i,j,l,m]);[h,i,j,l,m]=r.then?(await r)():r;let t="force-dynamic";async function s({searchParams:a}){let b=await a??{},c="history"===b.view,d="string"==typeof b.ws?b.ws:void 0,r=await (0,p.KW)(d);return(0,h.X_)(r,async()=>{let a,b=(0,i.iL)(),d=await h.db.query.node.findMany({where:(a,{and:b,eq:c})=>b(c(a.view,"ROADMAP"),c(a.source,"DRAFT")),with:{nodeTags:{with:{tag:{columns:{label:!0}}}},files:{columns:{path:!0},orderBy:(a,{asc:b})=>b(a.path)}}}),p=r??(0,o.VB)()?.id??"default",[s,t,u]=await Promise.all([h.db.query.dbTable.findMany({columns:{name:!0},with:{columns:{columns:{name:!0,type:!0,isPk:!0,isFk:!0,nullable:!0}}}}),h.db.query.endpoint.findMany({columns:{method:!0,path:!0}}),h.db.query.codeFile.findMany({columns:{path:!0}})]),v=u.map(a=>a.path),w={tables:s.map(a=>({name:a.name,columns:a.columns})),endpoints:t.map(a=>({method:a.method,path:a.path}))},x=new Set(d.map(a=>a.id)),y=x.size?await h.db.query.edge.findMany({where:(a,{and:b,inArray:c})=>b(c(a.fromId,[...x]),c(a.toId,[...x]))}):[],z=d.map(a=>({id:a.id,view:a.view,kind:a.kind,cluster:a.cluster,layer:a.layer,title:a.title,role:a.role,plain:a.plain,status:a.status,priority:a.priority,x:a.x,y:a.y,source:a.source,sourceRef:a.sourceRef,parentId:a.parentId,isCriterion:a.nodeTags.some(a=>"criterion"===a.tag.label),files:a.files.map(a=>a.path),bugFlags:[]})),A=y.map(a=>({id:a.id,fromId:a.fromId,toId:a.toId,kind:a.kind,label:a.label,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),B=await (0,j.C5)(),C="(no description)";try{let b=JSON.parse((0,f.readFileSync)((0,g.join)((0,n.KS)(),"plan-meta.json"),"utf8"));C=b.description??C,a=b.markdown?(0,l.J)(b.markdown).prose:void 0}catch{}let D=a??(0,k.j)(C,b,B),E=await (0,m.jZ)();return(0,e.jsx)(q.PlanWorkspace,{dbProps:{tables:[],relations:[],endpoints:[],draft:b,workspaceId:p,diffBase:w},mapProps:{view:"ROADMAP",nodes:z,edges:A,hasFrontend:E},planMarkdown:D,repoFiles:v,forceHistory:c})})}d()}catch(a){d(a)}})},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},72595:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Wg:()=>k,hA:()=>i,jZ:()=>l,zr:()=>j});var e=c(56727),f=c(30046),g=c(32753),h=a([e]);async function i(a=e.db){let[b]=await a.insert(f.projectMeta).values({id:"singleton"}).onConflictDoUpdate({target:f.projectMeta.id,set:{id:"singleton"}}).returning();return b}async function j(a,b=e.db){let c={};null!=a.overview&&(c.overview=a.overview),a.conventions&&(c.conventions=JSON.stringify(a.conventions)),void 0!==a.hasFrontend&&(c.hasFrontend=a.hasFrontend),a.classificationRoots&&(c.classificationRoots=JSON.stringify(a.classificationRoots)),0===Object.keys(c).length&&(c.id="singleton");let[d]=await b.insert(f.projectMeta).values({id:"singleton",overview:a.overview??null,conventions:JSON.stringify(a.conventions??[]),hasFrontend:a.hasFrontend??null,classificationRoots:JSON.stringify(a.classificationRoots??[])}).onConflictDoUpdate({target:f.projectMeta.id,set:c}).returning();return d}async function k(a=e.db){let b=await i(a);try{let a=JSON.parse(b.classificationRoots??"[]");return Array.isArray(a)?a.filter(a=>"string"==typeof a):[]}catch{return[]}}async function l(a=e.db){let b=await i(a);if(null!=b.hasFrontend)return b.hasFrontend;let c=await a.select({path:f.codeFile.path}).from(f.codeFile);return(0,g.EC)(c.map(a=>a.path))}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},79935:(a,b,c)=>{"use strict";function d(a,b,c){let d=[`# Plan: ${a}`,""],e=c?.features??[];if(e.length)for(let a of(d.push("## Features",""),e))d.push(`### ${a.title}`),a.cluster&&d.push(`*Domain:* \`${a.cluster}\``),a.role&&d.push(`*Role:* ${a.role}`),a.plain&&d.push("",a.plain),d.push("");let f=b?.tables??[];if(f.length)for(let a of(d.push("## Database — Tables",""),f)){for(let b of(d.push(`### Table \`${a.name}\``),a.domain&&d.push(`*Domain:* \`${a.domain}\``),a.description&&d.push("",a.description,""),a.columns)){let a=[b.isPk&&"PK",b.isFk&&"FK",b.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");d.push(`- \`${b.name}\` ${b.type}${a?` *${a}*`:""}${b.note?` — ${b.note}`:""}`)}d.push("")}let g=b?.relations??[];if(g.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Database — Relations (FKs)",""),g)){let c=a.get(b.fromTableId)??b.fromTableId,e=a.get(b.toTableId)??b.toTableId;d.push(`- \`${c}.${b.fromColumn}\` → \`${e}.${b.toColumn}\``)}d.push("")}let h=b?.endpoints??[];if(h.length){let a=new Map(f.map(a=>[a.id,a.name]));for(let b of(d.push("## Endpoints",""),h)){if(d.push(`### ${b.method} ${b.path}`),b.domain&&d.push(`*Domain:* \`${b.domain}\``),b.description&&d.push("",b.description),b.links.length){let c=b.links.map(b=>`\`${a.get(b.tableId)??b.tableId}\` (${b.access})`).join(", ");d.push("",`Touches: ${c}`)}d.push("")}}return d.join("\n")}c.d(b,{j:()=>d})},84853:(a,b,c)=>{"use strict";c.d(b,{C5:()=>f,KW:()=>g});var d=c(65573),e=c(6716);async function f(a){if(a&&(0,e.K4)(a))return a;let b=(await (0,d.cookies)()).get(e.Dk)?.value;return b&&(0,e.K4)(b)?b:null}let g=f},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},90497:(a,b,c)=>{"use strict";c.d(b,{u:()=>i});var d=c(61661),e=c(52648),f=c(61639),g=c(62088),h=c(19125);function i(a,b,c={}){let j,k=c.linkDistance??210,l=c.charge??-450,m=c.collideRadius??132,n=c.ticks??500,o=[...a].sort((a,b)=>a.id<b.id?-1:+(a.id>b.id)),p=new Set(o.map(a=>a.id)),q=o.map(a=>({id:a.id})),r=[];for(let a of b)a.fromId!==a.toId&&p.has(a.fromId)&&p.has(a.toId)&&r.push({source:a.fromId,target:a.toId});for(let a of o)a.parentId&&p.has(a.parentId)&&r.push({source:a.id,target:a.parentId});let s=(0,d.A)(q).randomSource((j=0x9e3779b9,()=>{let a=j=j+0x6d2b79f5>>>0;return a=Math.imul(a^a>>>15,1|a),(((a^=a+Math.imul(a^a>>>7,61|a))^a>>>14)>>>0)/0x100000000})).force("link",(0,e.A)(r).id(a=>a.id).distance(k).strength(.6)).force("charge",(0,f.A)().strength(l).distanceMax(1200)).force("collide",(0,g.A)().radius(m).strength(1)).force("center",(0,h.A)(0,0).strength(.08)).stop();for(let a=0;a<n;a++)s.tick();let t=new Map;for(let a of q)t.set(a.id,{x:Math.round(a.x??0),y:Math.round(a.y??0)});return t}},97663:(a,b,c)=>{Promise.resolve().then(c.bind(c,10768))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,319,4700,4198,2994,5719,5573,7720,9683,9734,2179,4307,6709,2025,3174],()=>b(b.s=63988));module.exports=c})();
|