trybeacon 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +59 -0
- package/.next/build/56416d4ae4ce586f.js +6 -0
- package/.next/build/56416d4ae4ce586f.js.map +5 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +206 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +8 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +11 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +890 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules_20v-8wl._.js +6824 -0
- package/.next/build/chunks/node_modules_20v-8wl._.js.map +47 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +21 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/diagnostics/route-bundle-stats.json +100 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +13 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +167 -0
- package/.next/required-server-files.js +338 -0
- package/.next/required-server-files.json +338 -0
- package/.next/routes-manifest.json +402 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +17 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +14 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +17 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +15 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +24 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +13 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -0
- package/.next/server/app/api/code-graph/position/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/code-graph/position/route/build-manifest.json +9 -0
- package/.next/server/app/api/code-graph/position/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/code-graph/position/route.js +12 -0
- package/.next/server/app/api/code-graph/position/route.js.map +5 -0
- package/.next/server/app/api/code-graph/position/route.js.nft.json +1 -0
- package/.next/server/app/api/code-graph/position/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/code-graph/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/code-graph/route/build-manifest.json +9 -0
- package/.next/server/app/api/code-graph/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/code-graph/route.js +12 -0
- package/.next/server/app/api/code-graph/route.js.map +5 -0
- package/.next/server/app/api/code-graph/route.js.nft.json +1 -0
- package/.next/server/app/api/code-graph/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/context/embed-backfill/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/context/embed-backfill/route/build-manifest.json +9 -0
- package/.next/server/app/api/context/embed-backfill/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/context/embed-backfill/route.js +11 -0
- package/.next/server/app/api/context/embed-backfill/route.js.map +5 -0
- package/.next/server/app/api/context/embed-backfill/route.js.nft.json +1 -0
- package/.next/server/app/api/context/embed-backfill/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/context/feature/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/context/feature/route/build-manifest.json +9 -0
- package/.next/server/app/api/context/feature/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/context/feature/route.js +15 -0
- package/.next/server/app/api/context/feature/route.js.map +5 -0
- package/.next/server/app/api/context/feature/route.js.nft.json +1 -0
- package/.next/server/app/api/context/feature/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/context/file/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/context/file/route/build-manifest.json +9 -0
- package/.next/server/app/api/context/file/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/context/file/route.js +13 -0
- package/.next/server/app/api/context/file/route.js.map +5 -0
- package/.next/server/app/api/context/file/route.js.nft.json +1 -0
- package/.next/server/app/api/context/file/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/context/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/context/route/build-manifest.json +9 -0
- package/.next/server/app/api/context/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/context/route.js +11 -0
- package/.next/server/app/api/context/route.js.map +5 -0
- package/.next/server/app/api/context/route.js.nft.json +1 -0
- package/.next/server/app/api/context/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/db/backfill-access/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/db/backfill-access/route/build-manifest.json +9 -0
- package/.next/server/app/api/db/backfill-access/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/db/backfill-access/route.js +13 -0
- package/.next/server/app/api/db/backfill-access/route.js.map +5 -0
- package/.next/server/app/api/db/backfill-access/route.js.nft.json +1 -0
- package/.next/server/app/api/db/backfill-access/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/db/position/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/db/position/route/build-manifest.json +9 -0
- package/.next/server/app/api/db/position/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/db/position/route.js +15 -0
- package/.next/server/app/api/db/position/route.js.map +5 -0
- package/.next/server/app/api/db/position/route.js.nft.json +1 -0
- package/.next/server/app/api/db/position/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/db/reconcile-endpoints/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/db/reconcile-endpoints/route/build-manifest.json +9 -0
- package/.next/server/app/api/db/reconcile-endpoints/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/db/reconcile-endpoints/route.js +12 -0
- package/.next/server/app/api/db/reconcile-endpoints/route.js.map +5 -0
- package/.next/server/app/api/db/reconcile-endpoints/route.js.nft.json +1 -0
- package/.next/server/app/api/db/reconcile-endpoints/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/db/relations/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/db/relations/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/db/relations/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/db/relations/[id]/route.js +12 -0
- package/.next/server/app/api/db/relations/[id]/route.js.map +5 -0
- package/.next/server/app/api/db/relations/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/db/relations/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/db/tables/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/db/tables/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/db/tables/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/db/tables/[id]/route.js +12 -0
- package/.next/server/app/api/db/tables/[id]/route.js.map +5 -0
- package/.next/server/app/api/db/tables/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/db/tables/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/draft/approve/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/draft/approve/route/build-manifest.json +9 -0
- package/.next/server/app/api/draft/approve/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/draft/approve/route.js +16 -0
- package/.next/server/app/api/draft/approve/route.js.map +5 -0
- package/.next/server/app/api/draft/approve/route.js.nft.json +1 -0
- package/.next/server/app/api/draft/approve/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/draft/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/draft/route/build-manifest.json +9 -0
- package/.next/server/app/api/draft/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/draft/route.js +16 -0
- package/.next/server/app/api/draft/route.js.map +5 -0
- package/.next/server/app/api/draft/route.js.nft.json +1 -0
- package/.next/server/app/api/draft/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/draft/status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/draft/status/route/build-manifest.json +9 -0
- package/.next/server/app/api/draft/status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/draft/status/route.js +13 -0
- package/.next/server/app/api/draft/status/route.js.map +5 -0
- package/.next/server/app/api/draft/status/route.js.nft.json +1 -0
- package/.next/server/app/api/draft/status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/edges/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/edges/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/edges/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/edges/[id]/route.js +11 -0
- package/.next/server/app/api/edges/[id]/route.js.map +5 -0
- package/.next/server/app/api/edges/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/edges/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/edges/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/edges/route/build-manifest.json +9 -0
- package/.next/server/app/api/edges/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/edges/route.js +15 -0
- package/.next/server/app/api/edges/route.js.map +5 -0
- package/.next/server/app/api/edges/route.js.nft.json +1 -0
- package/.next/server/app/api/edges/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/endpoints/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/endpoints/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/endpoints/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/endpoints/[id]/route.js +12 -0
- package/.next/server/app/api/endpoints/[id]/route.js.map +5 -0
- package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/endpoints/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/entities/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/entities/route/build-manifest.json +9 -0
- package/.next/server/app/api/entities/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/entities/route.js +11 -0
- package/.next/server/app/api/entities/route.js.map +5 -0
- package/.next/server/app/api/entities/route.js.nft.json +1 -0
- package/.next/server/app/api/entities/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/ingest/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/ingest/route/build-manifest.json +9 -0
- package/.next/server/app/api/ingest/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/ingest/route.js +12 -0
- package/.next/server/app/api/ingest/route.js.map +5 -0
- package/.next/server/app/api/ingest/route.js.nft.json +1 -0
- package/.next/server/app/api/ingest/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/init/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/init/route/build-manifest.json +9 -0
- package/.next/server/app/api/init/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/init/route.js +15 -0
- package/.next/server/app/api/init/route.js.map +5 -0
- package/.next/server/app/api/init/route.js.nft.json +1 -0
- package/.next/server/app/api/init/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/describe/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/describe/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/describe/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/describe/route.js +15 -0
- package/.next/server/app/api/map/describe/route.js.map +5 -0
- package/.next/server/app/api/map/describe/route.js.nft.json +1 -0
- package/.next/server/app/api/map/describe/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/files/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/files/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/files/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/files/route.js +15 -0
- package/.next/server/app/api/map/files/route.js.map +5 -0
- package/.next/server/app/api/map/files/route.js.nft.json +1 -0
- package/.next/server/app/api/map/files/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/finish/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/finish/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/finish/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/finish/route.js +15 -0
- package/.next/server/app/api/map/finish/route.js.map +5 -0
- package/.next/server/app/api/map/finish/route.js.nft.json +1 -0
- package/.next/server/app/api/map/finish/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/route.js +15 -0
- package/.next/server/app/api/map/route.js.map +5 -0
- package/.next/server/app/api/map/route.js.nft.json +1 -0
- package/.next/server/app/api/map/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/start/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/start/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/start/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/start/route.js +15 -0
- package/.next/server/app/api/map/start/route.js.map +5 -0
- package/.next/server/app/api/map/start/route.js.nft.json +1 -0
- package/.next/server/app/api/map/start/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/map/touch-active/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/map/touch-active/route/build-manifest.json +9 -0
- package/.next/server/app/api/map/touch-active/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/map/touch-active/route.js +15 -0
- package/.next/server/app/api/map/touch-active/route.js.map +5 -0
- package/.next/server/app/api/map/touch-active/route.js.nft.json +1 -0
- package/.next/server/app/api/map/touch-active/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/nodes/[id]/position/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/[id]/position/route/build-manifest.json +9 -0
- package/.next/server/app/api/nodes/[id]/position/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/[id]/position/route.js +15 -0
- package/.next/server/app/api/nodes/[id]/position/route.js.map +5 -0
- package/.next/server/app/api/nodes/[id]/position/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/[id]/position/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/nodes/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/nodes/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/[id]/route.js +15 -0
- package/.next/server/app/api/nodes/[id]/route.js.map +5 -0
- package/.next/server/app/api/nodes/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/nodes/positions/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/positions/route/build-manifest.json +9 -0
- package/.next/server/app/api/nodes/positions/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/positions/route.js +15 -0
- package/.next/server/app/api/nodes/positions/route.js.map +5 -0
- package/.next/server/app/api/nodes/positions/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/positions/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/nodes/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/route/build-manifest.json +9 -0
- package/.next/server/app/api/nodes/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/route.js +15 -0
- package/.next/server/app/api/nodes/route.js.map +5 -0
- package/.next/server/app/api/nodes/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/nodes/subtasks/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/nodes/subtasks/route/build-manifest.json +9 -0
- package/.next/server/app/api/nodes/subtasks/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/nodes/subtasks/route.js +15 -0
- package/.next/server/app/api/nodes/subtasks/route.js.map +5 -0
- package/.next/server/app/api/nodes/subtasks/route.js.nft.json +1 -0
- package/.next/server/app/api/nodes/subtasks/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/notes/[id]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/notes/[id]/route/build-manifest.json +9 -0
- package/.next/server/app/api/notes/[id]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/notes/[id]/route.js +12 -0
- package/.next/server/app/api/notes/[id]/route.js.map +5 -0
- package/.next/server/app/api/notes/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/notes/[id]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/notes/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/notes/route/build-manifest.json +9 -0
- package/.next/server/app/api/notes/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/notes/route.js +12 -0
- package/.next/server/app/api/notes/route.js.map +5 -0
- package/.next/server/app/api/notes/route.js.nft.json +1 -0
- package/.next/server/app/api/notes/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/open/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/open/route/build-manifest.json +9 -0
- package/.next/server/app/api/open/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/open/route.js +11 -0
- package/.next/server/app/api/open/route.js.map +5 -0
- package/.next/server/app/api/open/route.js.nft.json +1 -0
- package/.next/server/app/api/open/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/annotations/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/annotations/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/annotations/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/annotations/route.js +15 -0
- package/.next/server/app/api/plan/annotations/route.js.map +5 -0
- package/.next/server/app/api/plan/annotations/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/annotations/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/approve/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/approve/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/approve/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/approve/route.js +16 -0
- package/.next/server/app/api/plan/approve/route.js.map +5 -0
- package/.next/server/app/api/plan/approve/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/approve/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/history/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/history/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/history/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/history/route.js +11 -0
- package/.next/server/app/api/plan/history/route.js.map +5 -0
- package/.next/server/app/api/plan/history/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/history/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/markdown/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/markdown/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/markdown/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/markdown/route.js +16 -0
- package/.next/server/app/api/plan/markdown/route.js.map +5 -0
- package/.next/server/app/api/plan/markdown/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/markdown/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/presence/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/presence/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/presence/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/presence/route.js +11 -0
- package/.next/server/app/api/plan/presence/route.js.map +5 -0
- package/.next/server/app/api/plan/presence/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/presence/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/route.js +16 -0
- package/.next/server/app/api/plan/route.js.map +5 -0
- package/.next/server/app/api/plan/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/plan/verdict/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/plan/verdict/route/build-manifest.json +9 -0
- package/.next/server/app/api/plan/verdict/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/plan/verdict/route.js +16 -0
- package/.next/server/app/api/plan/verdict/route.js.map +5 -0
- package/.next/server/app/api/plan/verdict/route.js.nft.json +1 -0
- package/.next/server/app/api/plan/verdict/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/preferences/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/preferences/route/build-manifest.json +9 -0
- package/.next/server/app/api/preferences/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/preferences/route.js +7 -0
- package/.next/server/app/api/preferences/route.js.map +5 -0
- package/.next/server/app/api/preferences/route.js.nft.json +1 -0
- package/.next/server/app/api/preferences/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/reset/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/reset/route/build-manifest.json +9 -0
- package/.next/server/app/api/reset/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/reset/route.js +13 -0
- package/.next/server/app/api/reset/route.js.map +5 -0
- package/.next/server/app/api/reset/route.js.nft.json +1 -0
- package/.next/server/app/api/reset/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/settings/route/build-manifest.json +9 -0
- package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/settings/route.js +11 -0
- package/.next/server/app/api/settings/route.js.map +5 -0
- package/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/stream/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/stream/route/build-manifest.json +9 -0
- package/.next/server/app/api/stream/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/stream/route.js +12 -0
- package/.next/server/app/api/stream/route.js.map +5 -0
- package/.next/server/app/api/stream/route.js.nft.json +1 -0
- package/.next/server/app/api/stream/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/version/route/build-manifest.json +9 -0
- package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/version/route.js +12 -0
- package/.next/server/app/api/version/route.js.map +5 -0
- package/.next/server/app/api/version/route.js.nft.json +1 -0
- package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/workspace/activate/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/workspace/activate/route/build-manifest.json +9 -0
- package/.next/server/app/api/workspace/activate/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/workspace/activate/route.js +14 -0
- package/.next/server/app/api/workspace/activate/route.js.map +5 -0
- package/.next/server/app/api/workspace/activate/route.js.nft.json +1 -0
- package/.next/server/app/api/workspace/activate/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/workspace/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/workspace/route/build-manifest.json +9 -0
- package/.next/server/app/api/workspace/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/workspace/route.js +11 -0
- package/.next/server/app/api/workspace/route.js.map +5 -0
- package/.next/server/app/api/workspace/route.js.nft.json +1 -0
- package/.next/server/app/api/workspace/route_client-reference-manifest.js +3 -0
- package/.next/server/app/apple-icon.png/route/app-paths-manifest.json +3 -0
- package/.next/server/app/apple-icon.png/route/build-manifest.json +9 -0
- package/.next/server/app/apple-icon.png/route.js +8 -0
- package/.next/server/app/apple-icon.png/route.js.map +5 -0
- package/.next/server/app/apple-icon.png/route.js.nft.json +1 -0
- package/.next/server/app/apple-icon.png.body +0 -0
- package/.next/server/app/apple-icon.png.meta +1 -0
- package/.next/server/app/help/page/app-paths-manifest.json +3 -0
- package/.next/server/app/help/page/build-manifest.json +17 -0
- package/.next/server/app/help/page/next-font-manifest.json +11 -0
- package/.next/server/app/help/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/help/page/server-reference-manifest.json +4 -0
- package/.next/server/app/help/page.js +16 -0
- package/.next/server/app/help/page.js.map +5 -0
- package/.next/server/app/help/page.js.nft.json +1 -0
- package/.next/server/app/help/page_client-reference-manifest.js +3 -0
- package/.next/server/app/help.html +1 -0
- package/.next/server/app/help.meta +15 -0
- package/.next/server/app/help.rsc +36 -0
- package/.next/server/app/help.segments/_full.segment.rsc +36 -0
- package/.next/server/app/help.segments/_head.segment.rsc +6 -0
- package/.next/server/app/help.segments/_index.segment.rsc +13 -0
- package/.next/server/app/help.segments/_tree.segment.rsc +5 -0
- package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +17 -0
- package/.next/server/app/help.segments/help.segment.rsc +5 -0
- package/.next/server/app/icon.svg/route/app-paths-manifest.json +3 -0
- package/.next/server/app/icon.svg/route/build-manifest.json +9 -0
- package/.next/server/app/icon.svg/route.js +7 -0
- package/.next/server/app/icon.svg/route.js.map +5 -0
- package/.next/server/app/icon.svg/route.js.nft.json +1 -0
- package/.next/server/app/icon.svg.body +4 -0
- package/.next/server/app/icon.svg.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +26 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +7 -0
- package/.next/server/app/index.segments/_full.segment.rsc +26 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +13 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
- package/.next/server/app/map/page/app-paths-manifest.json +3 -0
- package/.next/server/app/map/page/build-manifest.json +17 -0
- package/.next/server/app/map/page/next-font-manifest.json +11 -0
- package/.next/server/app/map/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/map/page/server-reference-manifest.json +89 -0
- package/.next/server/app/map/page.js +25 -0
- package/.next/server/app/map/page.js.map +5 -0
- package/.next/server/app/map/page.js.nft.json +1 -0
- package/.next/server/app/map/page_client-reference-manifest.js +3 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +17 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +16 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app/plan/page/app-paths-manifest.json +3 -0
- package/.next/server/app/plan/page/build-manifest.json +17 -0
- package/.next/server/app/plan/page/next-font-manifest.json +11 -0
- package/.next/server/app/plan/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/plan/page/server-reference-manifest.json +89 -0
- package/.next/server/app/plan/page.js +26 -0
- package/.next/server/app/plan/page.js.map +5 -0
- package/.next/server/app/plan/page.js.nft.json +1 -0
- package/.next/server/app/plan/page_client-reference-manifest.js +3 -0
- package/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/server/app/settings/page/build-manifest.json +17 -0
- package/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/.next/server/app/settings/page.js +17 -0
- package/.next/server/app/settings/page.js.map +5 -0
- package/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +59 -0
- package/.next/server/chunks/[externals]_@huggingface_transformers_05bd-zz._.js +3 -0
- package/.next/server/chunks/[externals]_@huggingface_transformers_05bd-zz._.js.map +1 -0
- package/.next/server/chunks/[externals]__1m_jh08._.js +3 -0
- package/.next/server/chunks/[externals]__1m_jh08._.js.map +1 -0
- package/.next/server/chunks/[externals]_next_dist_1081pat._.js +3 -0
- package/.next/server/chunks/[externals]_next_dist_1081pat._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0--8e0y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0--8e0y._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0-68r22._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-68r22._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__008acf8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__008acf8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__00rostp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__00rostp._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__04deymo._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04deymo._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__05_ckr9._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__05_ckr9._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__08b769e._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08b769e._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0935gge._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0935gge._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0b04f4n._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b04f4n._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0bule95._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0bule95._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0dgnobj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0dgnobj._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0fnoun8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0fnoun8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0gcvcx_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0gcvcx_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0gnu9c5._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0gnu9c5._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0imrhoi._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0imrhoi._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0iq9oau._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0iq9oau._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0k_e0ex._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0k_e0ex._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0kj4pte._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0kj4pte._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0muvnnv._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0muvnnv._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0olqs85._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0olqs85._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0r4ba8s._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0r4ba8s._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0sb_5m8._.js +20 -0
- package/.next/server/chunks/[root-of-the-server]__0sb_5m8._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0y6kb2t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0y6kb2t._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0zfwiuh._.js +11 -0
- package/.next/server/chunks/[root-of-the-server]__0zfwiuh._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__11037f1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__11037f1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1197yfd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1197yfd._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__138pbmp._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__138pbmp._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__166th-t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__166th-t._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__190_wb7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__190_wb7._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__190zu98._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__190zu98._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1_7ntsu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_7ntsu._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1bwqb44._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bwqb44._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1d6w22k._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1d6w22k._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1d9wmd_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1d9wmd_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1j25n4-._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1j25n4-._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1jtw_i1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtw_i1._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1lv6sqm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1lv6sqm._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1m2v05v._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1m2v05v._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1n-kcwj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1n-kcwj._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1nn9crd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nn9crd._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1rimo-u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1rimo-u._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1sb7b9b._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__1sb7b9b._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1t2egm-._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__1t2egm-._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1t3s3-y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1t3s3-y._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1tab6-_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tab6-_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1v3_x0a._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1v3_x0a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1vq6_bb._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vq6_bb._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1xfg6n4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1xfg6n4._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1y_g68p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1y_g68p._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/_0-k8r4o._.js +3 -0
- package/.next/server/chunks/_0-k8r4o._.js.map +1 -0
- package/.next/server/chunks/_00drqg3._.js +3 -0
- package/.next/server/chunks/_00drqg3._.js.map +1 -0
- package/.next/server/chunks/_04_hx58._.js +3 -0
- package/.next/server/chunks/_04_hx58._.js.map +1 -0
- package/.next/server/chunks/_0bj_zep._.js +3 -0
- package/.next/server/chunks/_0bj_zep._.js.map +1 -0
- package/.next/server/chunks/_0d9p87n._.js +3 -0
- package/.next/server/chunks/_0d9p87n._.js.map +1 -0
- package/.next/server/chunks/_0uzzk4s._.js +3 -0
- package/.next/server/chunks/_0uzzk4s._.js.map +1 -0
- package/.next/server/chunks/_0x--pb9._.js +3 -0
- package/.next/server/chunks/_0x--pb9._.js.map +1 -0
- package/.next/server/chunks/_1-006gs._.js +11 -0
- package/.next/server/chunks/_1-006gs._.js.map +1 -0
- package/.next/server/chunks/_1gmut2r._.js +3 -0
- package/.next/server/chunks/_1gmut2r._.js.map +1 -0
- package/.next/server/chunks/_1h7jba5._.js +3 -0
- package/.next/server/chunks/_1h7jba5._.js.map +1 -0
- package/.next/server/chunks/_1p13_nj._.js +3 -0
- package/.next/server/chunks/_1p13_nj._.js.map +1 -0
- package/.next/server/chunks/_1v92m46._.js +11 -0
- package/.next/server/chunks/_1v92m46._.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_code-graph_position_route_actions_0ddmfq8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_code-graph_position_route_actions_0ddmfq8.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_code-graph_route_actions_107oiy1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_code-graph_route_actions_107oiy1.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_embed-backfill_route_actions_0fddf11.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_embed-backfill_route_actions_0fddf11.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_feature_route_actions_0g4_r0t.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_feature_route_actions_0g4_r0t.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_file_route_actions_1v15k33.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_file_route_actions_1v15k33.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_route_actions_066vuc0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_context_route_actions_066vuc0.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_backfill-access_route_actions_0krkam5.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_backfill-access_route_actions_0krkam5.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_position_route_actions_0y81s5h.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_position_route_actions_0y81s5h.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_reconcile-endpoints_route_actions_11wjo3_.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_reconcile-endpoints_route_actions_11wjo3_.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_relations_[id]_route_actions_0ok7b-c.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_relations_[id]_route_actions_0ok7b-c.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_tables_[id]_route_actions_17b6_8p.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_db_tables_[id]_route_actions_17b6_8p.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_approve_route_actions_12l1gql.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_approve_route_actions_12l1gql.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_route_actions_1y2euqt.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_route_actions_1y2euqt.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_status_route_actions_0imc7yr.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_draft_status_route_actions_0imc7yr.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_edges_[id]_route_actions_1rx28dy.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_edges_[id]_route_actions_1rx28dy.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_edges_route_actions_1i6-f0p.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_edges_route_actions_1i6-f0p.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_endpoints_[id]_route_actions_1hynl36.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_endpoints_[id]_route_actions_1hynl36.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_entities_route_actions_1jx0-vm.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_entities_route_actions_1jx0-vm.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_ingest_route_actions_1oz_9xc.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ingest_route_actions_1oz_9xc.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_init_route_actions_00i08o0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_init_route_actions_00i08o0.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_describe_route_actions_04m22-e.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_describe_route_actions_04m22-e.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_files_route_actions_1gsvfd9.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_files_route_actions_1gsvfd9.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_finish_route_actions_130bs5b.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_finish_route_actions_130bs5b.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_route_actions_1ylt-yg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_route_actions_1ylt-yg.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_start_route_actions_1n4zdon.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_start_route_actions_1n4zdon.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_touch-active_route_actions_0wvoq-h.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_map_touch-active_route_actions_0wvoq-h.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_position_route_actions_0_695u2.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_position_route_actions_0_695u2.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_route_actions_017e_f3.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_[id]_route_actions_017e_f3.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_positions_route_actions_1pz3o9o.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_positions_route_actions_1pz3o9o.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_0iuxxdu.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_route_actions_0iuxxdu.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_subtasks_route_actions_0uw715o.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_nodes_subtasks_route_actions_0uw715o.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_notes_[id]_route_actions_1kpl381.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notes_[id]_route_actions_1kpl381.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_notes_route_actions_0mm_p_3.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notes_route_actions_0mm_p_3.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_open_route_actions_1x77eq1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_open_route_actions_1x77eq1.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_annotations_route_actions_11aui44.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_annotations_route_actions_11aui44.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_approve_route_actions_06jkmnf.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_approve_route_actions_06jkmnf.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_history_route_actions_17hqx0m.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_history_route_actions_17hqx0m.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_markdown_route_actions_1qb1-9r.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_markdown_route_actions_1qb1-9r.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_presence_route_actions_1r91k5c.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_presence_route_actions_1r91k5c.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_route_actions_1_nzr8r.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_route_actions_1_nzr8r.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_verdict_route_actions_10xm0j8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_plan_verdict_route_actions_10xm0j8.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_preferences_route_actions_14__a0r.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_preferences_route_actions_14__a0r.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_reset_route_actions_1tcp2ms.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_reset_route_actions_1tcp2ms.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_stream_route_actions_0oy6g75.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stream_route_actions_0oy6g75.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_activate_route_actions_1hv2y82.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_activate_route_actions_1hv2y82.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_route_actions_19-xkal.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_workspace_route_actions_19-xkal.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_apple-icon_png_route_actions_0jcl8au.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_apple-icon_png_route_actions_0jcl8au.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_icon_svg_route_actions_1r2h_ub.js.map +1 -0
- package/.next/server/chunks/instrumentation_ts_1oq3o45._.js +3 -0
- package/.next/server/chunks/instrumentation_ts_1oq3o45._.js.map +1 -0
- package/.next/server/chunks/lib_04zrdtl._.js +3 -0
- package/.next/server/chunks/lib_04zrdtl._.js.map +1 -0
- package/.next/server/chunks/lib_0rad2y6._.js +3 -0
- package/.next/server/chunks/lib_0rad2y6._.js.map +1 -0
- package/.next/server/chunks/lib_10tibe8._.js +7 -0
- package/.next/server/chunks/lib_10tibe8._.js.map +1 -0
- package/.next/server/chunks/lib_1upr0dj._.js +3 -0
- package/.next/server/chunks/lib_1upr0dj._.js.map +1 -0
- package/.next/server/chunks/lib_1wz-3od._.js +3 -0
- package/.next/server/chunks/lib_1wz-3od._.js.map +1 -0
- package/.next/server/chunks/lib_1xzwro7._.js +3 -0
- package/.next/server/chunks/lib_1xzwro7._.js.map +1 -0
- package/.next/server/chunks/lib_db_ts_0h_yn5m._.js +3 -0
- package/.next/server/chunks/lib_db_ts_0h_yn5m._.js.map +1 -0
- package/.next/server/chunks/lib_drizzle_provision_ts_1po9dyo._.js +3 -0
- package/.next/server/chunks/lib_drizzle_provision_ts_1po9dyo._.js.map +1 -0
- package/.next/server/chunks/lib_drizzle_schema_ts_0ixydnz._.js +3 -0
- package/.next/server/chunks/lib_drizzle_schema_ts_0ixydnz._.js.map +1 -0
- package/.next/server/chunks/lib_roadmap-force-layout_ts_0e5r3g2._.js +3 -0
- package/.next/server/chunks/lib_roadmap-force-layout_ts_0e5r3g2._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_05n3ooz._.js +3 -0
- package/.next/server/chunks/node_modules_drizzle-orm_05n3ooz._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0cht0an._.js +3 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0cht0an._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0ma7f2e._.js +4 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0ma7f2e._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0q0hg2u._.js +4 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0q0hg2u._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0rs3wbv._.js +3 -0
- package/.next/server/chunks/node_modules_drizzle-orm_0rs3wbv._.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_index_1qnscv7.js +3 -0
- package/.next/server/chunks/node_modules_drizzle-orm_index_1qnscv7.js.map +1 -0
- package/.next/server/chunks/node_modules_drizzle-orm_libsql_0yabams._.js +15 -0
- package/.next/server/chunks/node_modules_drizzle-orm_libsql_0yabams._.js.map +1 -0
- package/.next/server/chunks/node_modules_next_08s853w._.js +13 -0
- package/.next/server/chunks/node_modules_next_08s853w._.js.map +1 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0qz67ql.js +3 -0
- package/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_0qz67ql.js.map +1 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +64 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js.map +1 -0
- package/.next/server/chunks/ssr/[externals]_@huggingface_transformers_05bd-zz._.js +3 -0
- package/.next/server/chunks/ssr/[externals]_@huggingface_transformers_05bd-zz._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00vz2sw._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__00vz2sw._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07b655z._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__07b655z._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dr0a32._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0dr0a32._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0jx25ik._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0jx25ik._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0nqskgw._.js +19 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0nqskgw._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pkeb0m._.js +9 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0pkeb0m._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s74gvr._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s74gvr._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0v7a-e-._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0v7a-e-._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x4-71n._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x4-71n._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xqf488._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0xqf488._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_88xg._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_88xg._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1-yyv5l._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1-yyv5l._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1366qju._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1366qju._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1_ustu7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1_ustu7._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1dky4g0._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/ssr/_0eabx1f._.js +3 -0
- package/.next/server/chunks/ssr/_0eabx1f._.js.map +1 -0
- package/.next/server/chunks/ssr/_0ni84yi._.js +3 -0
- package/.next/server/chunks/ssr/_0ni84yi._.js.map +1 -0
- package/.next/server/chunks/ssr/_0pgw716._.js +67 -0
- package/.next/server/chunks/ssr/_0pgw716._.js.map +1 -0
- package/.next/server/chunks/ssr/_0r84jcg._.js +6 -0
- package/.next/server/chunks/ssr/_0r84jcg._.js.map +1 -0
- package/.next/server/chunks/ssr/_15if8ma._.js +3 -0
- package/.next/server/chunks/ssr/_15if8ma._.js.map +1 -0
- package/.next/server/chunks/ssr/_176djsq._.js +4 -0
- package/.next/server/chunks/ssr/_176djsq._.js.map +1 -0
- package/.next/server/chunks/ssr/_179xsho._.js +3 -0
- package/.next/server/chunks/ssr/_179xsho._.js.map +1 -0
- package/.next/server/chunks/ssr/_1_n8arv._.js +3 -0
- package/.next/server/chunks/ssr/_1_n8arv._.js.map +1 -0
- package/.next/server/chunks/ssr/_1suxp_q._.js +3 -0
- package/.next/server/chunks/ssr/_1suxp_q._.js.map +1 -0
- package/.next/server/chunks/ssr/_1vt70iy._.js +18 -0
- package/.next/server/chunks/ssr/_1vt70iy._.js.map +1 -0
- package/.next/server/chunks/ssr/_1w2komx._.js +3 -0
- package/.next/server/chunks/ssr/_1w2komx._.js.map +1 -0
- package/.next/server/chunks/ssr/_1w73gpg._.js +4 -0
- package/.next/server/chunks/ssr/_1w73gpg._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_help_page_actions_04daq_g.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_help_page_actions_04daq_g.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js.map +1 -0
- package/.next/server/chunks/ssr/components_1wolv70._.js +157 -0
- package/.next/server/chunks/ssr/components_1wolv70._.js.map +1 -0
- package/.next/server/chunks/ssr/components_graph_files-map-client_tsx_10bha9z._.js +3 -0
- package/.next/server/chunks/ssr/components_graph_files-map-client_tsx_10bha9z._.js.map +1 -0
- package/.next/server/chunks/ssr/components_landing_landing_tsx_1_9k5z7._.js +3 -0
- package/.next/server/chunks/ssr/components_landing_landing_tsx_1_9k5z7._.js.map +1 -0
- package/.next/server/chunks/ssr/components_plan_plan-workspace_tsx_0t1topu._.js +3 -0
- package/.next/server/chunks/ssr/components_plan_plan-workspace_tsx_0t1topu._.js.map +1 -0
- package/.next/server/chunks/ssr/lib_13g58ln._.js +3 -0
- package/.next/server/chunks/ssr/lib_13g58ln._.js.map +1 -0
- package/.next/server/chunks/ssr/lib_db_ts_0bo045t._.js +3 -0
- package/.next/server/chunks/ssr/lib_db_ts_0bo045t._.js.map +1 -0
- package/.next/server/chunks/ssr/lib_drizzle_schema_ts_0oz5uob._.js +3 -0
- package/.next/server/chunks/ssr/lib_drizzle_schema_ts_0oz5uob._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_0h91jdk._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_0vtauab._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_0vtauab._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_0txo559._.js +4 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_0txo559._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_1d7zgzr._.js +4 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_1d7zgzr._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_1zqkwdy._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_1zqkwdy._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_202ujxv._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_202ujxv._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_index_0ji3_g8.js +3 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_index_0ji3_g8.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_libsql_06opikx._.js +15 -0
- package/.next/server/chunks/ssr/node_modules_drizzle-orm_libsql_06opikx._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_shield-check_mjs_1cccgdy._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_shield-check_mjs_1cccgdy._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0890nbp._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0890nbp._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0airgni._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0airgni._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0alesp5._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0alesp5._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0uboya6._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0-o-goa.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwh.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d7qbqa.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0d7qbqa.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s87tpk.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0s87tpk.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_114qdo2.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_114qdo2.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19--w_z.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19_kztz.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19_kztz.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19qzf81.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_19qzf81.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wge0av.js +4 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1wge0av.js.map +1 -0
- package/.next/server/edge/chunks/_0o_tvsk._.js +3 -0
- package/.next/server/edge/chunks/_0o_tvsk._.js.map +1 -0
- package/.next/server/edge/chunks/node_modules_next_dist_esm_build_templates_edge-wrapper_1ipl-lx.js.map +1 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1ipl-lx.js +3 -0
- package/.next/server/functions-config-manifest.json +14 -0
- package/.next/server/instrumentation/middleware-manifest.json +12 -0
- package/.next/server/instrumentation.js +4 -0
- package/.next/server/instrumentation.js.map +5 -0
- package/.next/server/instrumentation.js.nft.json +1 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware/middleware-manifest.json +6 -0
- package/.next/server/middleware-build-manifest.js +21 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/middleware.js +5 -0
- package/.next/server/middleware.js.map +5 -0
- package/.next/server/middleware.js.nft.json +1 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +31 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +132 -0
- package/.next/static/_wmO3ZSrpuwty88NNlnrH/_buildManifest.js +11 -0
- package/.next/static/_wmO3ZSrpuwty88NNlnrH/_clientMiddlewareManifest.js +6 -0
- package/.next/static/_wmO3ZSrpuwty88NNlnrH/_ssgManifest.js +1 -0
- package/.next/static/chunks/01dkdyukbdpqq.js +31 -0
- package/.next/static/chunks/05-c3ty_6dwfk.js +1 -0
- package/.next/static/chunks/07u_h6i539_wj.js +2 -0
- package/.next/static/chunks/09wlenlnsbkl7.js +2 -0
- package/.next/static/chunks/0_9p121-4am0a.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/19cl65vz3pos0.js +1 -0
- package/.next/static/chunks/19hoowcssv0w1.css +1 -0
- package/.next/static/chunks/1bk_i_akra521.css +2 -0
- package/.next/static/chunks/1pp98vred9isg.js +1 -0
- package/.next/static/chunks/2-t6-hz_de2nr.js +155 -0
- package/.next/static/chunks/203o948823s96.css +1 -0
- package/.next/static/chunks/245vq4i7_x7tm.js +1 -0
- package/.next/static/chunks/27jktro2p5rq9.js +4 -0
- package/.next/static/chunks/2hpdskhtooxl4.js +1 -0
- package/.next/static/chunks/368etk_9oovhj.js +1 -0
- package/.next/static/chunks/3n7dm2ojtyzwn.js +1 -0
- package/.next/static/chunks/3oc95d6bep78a.css +1 -0
- package/.next/static/chunks/3qp8f4catg9zw.js +2 -0
- package/.next/static/chunks/3ywpldblg905c.js +1 -0
- package/.next/static/chunks/4397avi9yar6d.js +1 -0
- package/.next/static/chunks/44_nvrzzjs0pv.js +1 -0
- package/.next/static/chunks/turbopack-0rldyqi2kcq2j.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/static/media/apple-icon.0qbqv4vpdxdo0.png +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/static/media/icon.23_qbw6oy1xqy.svg +4 -0
- package/.next/trace +2 -0
- package/.next/trace-build +1 -0
- package/.next/turbopack +0 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/routes.d.ts +124 -0
- package/.next/types/validator.ts +538 -0
- package/README.md +94 -0
- package/dist/bin/beacon.js +10 -0
- package/dist/bin/doctor.js +227 -0
- package/dist/bin/hook.js +225 -0
- package/dist/bin/mcp.js +247 -0
- package/dist/bin/plan.js +228 -0
- package/dist/bin/prompt.js +4 -0
- package/dist/bin/stop-hook.js +5 -0
- package/dist/bin/uninstall.js +228 -0
- package/dist/lib/assets.js +192 -0
- package/dist/lib/global-install.js +224 -0
- package/dist/lib/workspaces.js +2 -0
- package/drizzle/0000_bitter_network.sql +230 -0
- package/drizzle/meta/0000_snapshot.json +1589 -0
- package/drizzle/meta/_journal.json +13 -0
- package/next.config.ts +15 -0
- package/package.json +90 -0
- package/public/brand/beacon-apple.svg +30 -0
- package/public/brand/beacon-glyph-128.png +0 -0
- package/public/brand/beacon-glyph-512.png +0 -0
- package/public/brand/beacon-glyph-mono-128.png +0 -0
- package/public/brand/beacon-glyph-mono-512.png +0 -0
- package/public/brand/beacon-glyph-mono.svg +4 -0
- package/public/brand/beacon-glyph.svg +21 -0
- package/public/brand/beacon-icon-1024.png +0 -0
- package/public/brand/beacon-icon-192.png +0 -0
- package/public/brand/beacon-icon-256.png +0 -0
- package/public/brand/beacon-icon-32.png +0 -0
- package/public/brand/beacon-icon-512.png +0 -0
- package/public/brand/beacon-icon-64.png +0 -0
- package/public/brand/beacon-icon-light-192.png +0 -0
- package/public/brand/beacon-icon-light-512.png +0 -0
- package/public/brand/beacon-icon-light.svg +31 -0
- package/public/brand/beacon-icon.svg +33 -0
- package/public/brand/beacon-wordmark-1200.png +0 -0
- package/public/brand/beacon-wordmark.svg +38 -0
- package/public/brand/favicon-16.png +0 -0
- package/public/brand/favicon-32.png +0 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/install.sh +55 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[78500,(e,t,n)=>{t.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},74533,(e,t,n)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},60526,(e,t,n)=>{t.exports=e.x("node:os",()=>require("node:os"))},66680,(e,t,n)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,t,n)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},50227,(e,t,n)=>{t.exports=e.x("node:path",()=>require("node:path"))},18520,e=>e.a(async(t,n)=>{try{let t=await e.y("@libsql/client-6da938047d5fc1cd");e.n(t),n()}catch(e){n(e)}},!0),75799,61328,16918,849,37540,24325,80568,46683,1440,e=>{"use strict";var t=e.i(44988),n=e.i(69e3),i=e.i(4313),r=e.i(43179),o=e.i(56325),s=e.i(833);class a{static [t.entityKind]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){this.reference=()=>{let{name:t,columns:n,foreignColumns:i}=e();return{name:t,columns:n,foreignTable:i[0].table,foreignColumns:i}},t&&(this._onUpdate=t.onUpdate,this._onDelete=t.onDelete)}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new l(e,this)}}class l{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static [t.entityKind]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:n}=this.reference(),i=t.map(e=>e.name),r=n.map(e=>e.name),o=[this.table[s.TableName],...i,n[0].table[s.TableName],...r];return e??`${o.join("_")}_fk`}}function u(e,t){return`${e[s.TableName]}_${t.join("_")}_unique`}e.s(["ForeignKeyBuilder",0,a,"foreignKey",0,function(e){return new a(function(){if("function"==typeof e){let{name:t,columns:n,foreignColumns:i}=e();return{name:t,columns:n,foreignColumns:i}}return e})}],61328);class d{constructor(e,t){this.name=t,this.columns=e}static [t.entityKind]="SQLiteUniqueConstraintBuilder";columns;build(e){return new f(e,this.columns,this.name)}}class c{static [t.entityKind]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new d(e,this.name)}}class f{constructor(e,t,n){this.table=e,this.columns=t,this.name=n??u(this.table,this.columns.map(e=>e.name))}static [t.entityKind]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}e.s(["UniqueConstraintBuilder",0,d,"uniqueKeyName",0,u],16918);class m extends r.ColumnBuilder{static [t.entityKind]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:n,actions:i})=>{let r;return r=new a(()=>({columns:[e],foreignColumns:[n()]})),i.onUpdate&&r.onUpdate(i.onUpdate),i.onDelete&&r.onDelete(i.onDelete),r.build(t)})}}class g extends o.Column{constructor(e,t){t.uniqueName||(t.uniqueName=u(e,[t.name])),super(e,t),this.table=e}static [t.entityKind]="SQLiteColumn"}e.s(["SQLiteColumn",0,g,"SQLiteColumnBuilder",0,m],849);class b extends m{static [t.entityKind]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new p(e,this.config)}}class p extends g{static [t.entityKind]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){return"u">typeof Buffer&&Buffer.from?BigInt((Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e)).toString("utf8")):BigInt(i.textDecoder.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}}class y extends m{static [t.entityKind]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new h(e,this.config)}}class h extends g{static [t.entityKind]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){return"u">typeof Buffer&&Buffer.from?JSON.parse((Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e)).toString("utf8")):JSON.parse(i.textDecoder.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}}class S extends m{static [t.entityKind]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new T(e,this.config)}}class T extends g{static [t.entityKind]="SQLiteBlobBuffer";mapFromDriverValue(e){return Buffer.isBuffer(e)?e:Buffer.from(e)}getSQLType(){return"blob"}}function B(e,t){let{name:n,config:r}=(0,i.getColumnNameAndConfig)(e,t);return r?.mode==="json"?new y(n):r?.mode==="bigint"?new b(n):new S(n)}class x extends m{static [t.entityKind]="SQLiteCustomColumnBuilder";constructor(e,t,n){super(e,"custom","SQLiteCustomColumn"),this.config.fieldConfig=t,this.config.customTypeParams=n}build(e){return new L(e,this.config)}}class L extends g{static [t.entityKind]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t),this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return"function"==typeof this.mapFrom?this.mapFrom(e):e}mapToDriverValue(e){return"function"==typeof this.mapTo?this.mapTo(e):e}}function Q(e){return(t,n)=>{let{name:r,config:o}=(0,i.getColumnNameAndConfig)(t,n);return new x(r,o,e)}}var N=e.i(18899);class F extends m{static [t.entityKind]="SQLiteBaseIntegerBuilder";constructor(e,t,n){super(e,t,n),this.config.autoIncrement=!1}primaryKey(e){return e?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class w extends g{static [t.entityKind]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class K extends F{static [t.entityKind]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new C(e,this.config)}}class C extends w{static [t.entityKind]="SQLiteInteger"}class I extends F{static [t.entityKind]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp"),this.config.mode=t}defaultNow(){return this.default(N.sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new D(e,this.config)}}class D extends w{static [t.entityKind]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){return new Date("timestamp"===this.config.mode?1e3*e:e)}mapToDriverValue(e){let t=e.getTime();return"timestamp"===this.config.mode?Math.floor(t/1e3):t}}class v extends F{static [t.entityKind]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean"),this.config.mode=t}build(e){return new k(e,this.config)}}class k extends w{static [t.entityKind]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return 1===Number(e)}mapToDriverValue(e){return+!!e}}function R(e,t){let{name:n,config:r}=(0,i.getColumnNameAndConfig)(e,t);return r?.mode==="timestamp"||r?.mode==="timestamp_ms"?new I(n,r.mode):r?.mode==="boolean"?new v(n,r.mode):new K(n)}e.s(["integer",0,R],37540);class O extends m{static [t.entityKind]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new _(e,this.config)}}class _ extends g{static [t.entityKind]="SQLiteNumeric";mapFromDriverValue(e){return"string"==typeof e?e:String(e)}getSQLType(){return"numeric"}}class q extends m{static [t.entityKind]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new A(e,this.config)}}class A extends g{static [t.entityKind]="SQLiteNumericNumber";mapFromDriverValue(e){return"number"==typeof e?e:Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}}class E extends m{static [t.entityKind]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new U(e,this.config)}}class U extends g{static [t.entityKind]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function V(e,t){let{name:n,config:r}=(0,i.getColumnNameAndConfig)(e,t),o=r?.mode;return"number"===o?new q(n):"bigint"===o?new E(n):new O(n)}class j extends m{static [t.entityKind]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new P(e,this.config)}}class P extends g{static [t.entityKind]="SQLiteReal";getSQLType(){return"real"}}function J(e){return new j(e??"")}e.s(["real",0,J],24325);class W extends m{static [t.entityKind]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText"),this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new $(e,this.config)}}class $ extends g{static [t.entityKind]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class z extends m{static [t.entityKind]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new H(e,this.config)}}class H extends g{static [t.entityKind]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}function M(e,t={}){let{name:n,config:r}=(0,i.getColumnNameAndConfig)(e,t);return"json"===r.mode?new z(n):new W(n,r)}e.s(["text",0,M],80568);let G=Symbol.for("drizzle:SQLiteInlineForeignKeys");class X extends n.Table{static [t.entityKind]="SQLiteTable";static Symbol=Object.assign({},n.Table.Symbol,{InlineForeignKeys:G});[n.Table.Symbol.Columns];[G]=[];[n.Table.Symbol.ExtraConfigBuilder]=void 0}e.s(["SQLiteTable",0,X,"sqliteTable",0,(e,t,i)=>(function(e,t,i,r=e){let o=new X(e,void 0,r),s=Object.fromEntries(Object.entries("function"==typeof t?t({blob:B,customType:Q,integer:R,numeric:V,real:J,text:M}):t).map(([e,t])=>{t.setName(e);let n=t.build(o);return o[G].push(...t.buildForeignKeys(n,o)),[e,n]})),a=Object.assign(o,s);return a[n.Table.Symbol.Columns]=s,a[n.Table.Symbol.ExtraConfigColumns]=s,i&&(a[X.Symbol.ExtraConfigBuilder]=i),a})(e,t,i)],75799);class Y{constructor(e,t){this.name=e,this.unique=t}static [t.entityKind]="SQLiteIndexBuilderOn";on(...e){return new Z(this.name,e,this.unique)}}class Z{static [t.entityKind]="SQLiteIndexBuilder";config;constructor(e,t,n){this.config={name:e,columns:t,unique:n,where:void 0}}where(e){return this.config.where=e,this}build(e){return new ee(this.config,e)}}class ee{static [t.entityKind]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}e.s(["IndexBuilder",0,Z,"index",0,function(e){return new Y(e,!1)},"uniqueIndex",0,function(e){return new Y(e,!0)}],46683);class et{static [t.entityKind]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new en(e,this.columns,this.name)}}class en{constructor(e,t,n){this.table=e,this.columns=t,this.name=n}static [t.entityKind]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[X.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}e.s(["PrimaryKeyBuilder",0,et,"primaryKey",0,function(...e){return e[0].columns?new et(e[0].columns,e[0].name):new et(e)}],1440)},14859,e=>{"use strict";var t=e.i(78500);e.i(74533);var n=e.i(66680),i=e.i(2157),r=e.i(60526),o=e.i(50227);function s(){return process.env.BEACON_HOME||(0,o.join)((0,r.homedir)(),".beacon")}function a(){return(0,o.join)(s(),"workspaces.json")}function l(e){return(0,n.createHash)("sha256").update(e).digest("hex").slice(0,12)}function u(e){return(0,o.join)(s(),e)}function d(e){return`file:${(0,o.join)(u(e),"db.sqlite")}`}function c(){try{let e=JSON.parse((0,i.readFileSync)(a(),"utf8"));return Array.isArray(e)?e:[]}catch{return[]}}function f(e){return c().find(t=>t.id===e)??null}function m(){return(0,o.join)(s(),"active")}function g(){try{return(0,i.readFileSync)(m(),"utf8").trim()||null}catch{return null}}let b="beacon_ws";function p(e,t){let n=e.headers.get("cookie");if(!n)return null;for(let e of n.split(";")){let n=e.indexOf("=");if(-1!==n&&e.slice(0,n).trim()===t)return decodeURIComponent(e.slice(n+1).trim())}return null}let y="x-beacon-workspace-path";async function h(e){let t=e.headers.get("x-beacon-workspace");if(t&&f(t))return t;let n=e.headers.get(y);if(n&&(!t||l(n)===t)){let e=function(e,t=new Date().toISOString()){let n=l(e),r=c(),d=r.find(e=>e.id===n),f={id:n,path:e,name:d?.name||(0,o.basename)(e),lastOpenedAt:t},m=[f,...r.filter(e=>e.id!==n)];return(0,i.mkdirSync)(u(n),{recursive:!0}),(0,i.mkdirSync)(s(),{recursive:!0}),(0,i.writeFileSync)(a(),JSON.stringify(m,null,2)),f}(n);return await B(e.id),e.id}let r=p(e,b);return r&&f(r)?r:null}let S=new t.AsyncLocalStorage,T=new Set;async function B(t){let n=u(t),r=(0,o.join)(n,"db.sqlite"),s=(0,i.existsSync)(r);if(s&&T.has(r))return{ok:!0,created:!1,migrated:!1};try{(0,i.mkdirSync)(n,{recursive:!0});let{provisionDb:o}=await e.A(58502),a=await o(d(t));return T.add(r),{ok:!0,created:!s,migrated:s&&a.migrated}}catch(e){return{ok:!1,created:!1,migrated:!1,error:e instanceof Error?e.message:String(e)}}}e.s(["BEACON_WS_COOKIE",0,b,"BEACON_WS_PATH_HEADER",0,y,"activeWorkspace",0,function(){let e=g();return e?f(e):null},"beaconHome",0,s,"dataDirFor",0,u,"dbUrlFor",0,d,"ensureWorkspaceDb",0,B,"getActiveId",0,g,"getPinnedWorkspaceId",0,function(){return S.getStore()??null},"getWorkspace",0,f,"listWorkspaces",0,function(){return c().sort((e,t)=>t.lastOpenedAt.localeCompare(e.lastOpenedAt))},"resolveRequestWorkspaceId",0,h,"runWithWorkspace",0,function(e,t){return e?S.run(e,t):t()},"setActiveId",0,function(e){(0,i.mkdirSync)(s(),{recursive:!0}),(0,i.writeFileSync)(m(),e??"")},"workspaceIdFromRequest",0,function(e){let t=e.headers.get("x-beacon-workspace");if(t&&f(t))return t;let n=p(e,b);return n&&f(n)?n:null}])},48486,e=>{"use strict";var t=e.i(79822),n=e.i(34700);let i=(0,t.relations)(n.node,({one:e,many:t})=>({files:t(n.nodeFile),nodeTags:t(n.nodeTags),edgesOut:t(n.edge,{relationName:"EdgeFrom"}),edgesIn:t(n.edge,{relationName:"EdgeTo"}),parent:e(n.node,{fields:[n.node.parentId],references:[n.node.id],relationName:"NodeTree"}),children:t(n.node,{relationName:"NodeTree"})})),r=(0,t.relations)(n.nodeFile,({one:e})=>({node:e(n.node,{fields:[n.nodeFile.nodeId],references:[n.node.id]})})),o=(0,t.relations)(n.tag,({many:e})=>({nodeTags:e(n.nodeTags)})),s=(0,t.relations)(n.nodeTags,({one:e})=>({node:e(n.node,{fields:[n.nodeTags.a],references:[n.node.id]}),tag:e(n.tag,{fields:[n.nodeTags.b],references:[n.tag.id]})})),a=(0,t.relations)(n.edge,({one:e})=>({from:e(n.node,{fields:[n.edge.fromId],references:[n.node.id],relationName:"EdgeFrom"}),to:e(n.node,{fields:[n.edge.toId],references:[n.node.id],relationName:"EdgeTo"})})),l=(0,t.relations)(n.dbTable,({many:e})=>({columns:e(n.dbColumn),fksOut:e(n.dbRelation,{relationName:"FkFrom"}),fksIn:e(n.dbRelation,{relationName:"FkTo"}),usages:e(n.endpointTable)})),u=(0,t.relations)(n.dbColumn,({one:e})=>({table:e(n.dbTable,{fields:[n.dbColumn.tableId],references:[n.dbTable.id]})})),d=(0,t.relations)(n.dbRelation,({one:e})=>({fromTable:e(n.dbTable,{fields:[n.dbRelation.fromTableId],references:[n.dbTable.id],relationName:"FkFrom"}),toTable:e(n.dbTable,{fields:[n.dbRelation.toTableId],references:[n.dbTable.id],relationName:"FkTo"})})),c=(0,t.relations)(n.endpoint,({many:e})=>({tables:e(n.endpointTable)})),f=(0,t.relations)(n.endpointTable,({one:e})=>({endpoint:e(n.endpoint,{fields:[n.endpointTable.endpointId],references:[n.endpoint.id]}),table:e(n.dbTable,{fields:[n.endpointTable.tableId],references:[n.dbTable.id]})})),m=(0,t.relations)(n.draftTable,({many:e})=>({columns:e(n.draftColumn),fksOut:e(n.draftRelation,{relationName:"DraftFkFrom"}),fksIn:e(n.draftRelation,{relationName:"DraftFkTo"})})),g=(0,t.relations)(n.draftColumn,({one:e})=>({table:e(n.draftTable,{fields:[n.draftColumn.tableId],references:[n.draftTable.id]})})),b=(0,t.relations)(n.draftRelation,({one:e})=>({fromTable:e(n.draftTable,{fields:[n.draftRelation.fromTableId],references:[n.draftTable.id],relationName:"DraftFkFrom"}),toTable:e(n.draftTable,{fields:[n.draftRelation.toTableId],references:[n.draftTable.id],relationName:"DraftFkTo"})})),p=(0,t.relations)(n.codeFile,({many:e})=>({edgesOut:e(n.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:e(n.codeFileEdge,{relationName:"CFETo"})})),y=(0,t.relations)(n.codeFileEdge,({one:e})=>({fromFile:e(n.codeFile,{fields:[n.codeFileEdge.fromPath],references:[n.codeFile.path],relationName:"CFEFrom"}),toFile:e(n.codeFile,{fields:[n.codeFileEdge.toPath],references:[n.codeFile.path],relationName:"CFETo"})}));e.s(["codeFileEdgeRelations",0,y,"codeFileRelations",0,p,"dbColumnRelations",0,u,"dbRelationRelations",0,d,"dbTableRelations",0,l,"draftColumnRelations",0,g,"draftRelationRelations",0,b,"draftTableRelations",0,m,"edgeRelations",0,a,"endpointRelations",0,c,"endpointTableRelations",0,f,"nodeFileRelations",0,r,"nodeRelations",0,i,"nodeTagsRelations",0,s,"tagRelations",0,o])},91426,e=>e.a(async(t,n)=>{try{var i=e.i(19756),r=e.i(18520),o=e.i(34700),s=e.i(48486),a=e.i(14859),l=t([i,r]);[i,r]=l.then?(await l)():l;let c={...o,...s},f=process.env.DATABASE_URL??"file:./dev.db";function u(e){let t=(0,r.createClient)({url:e});return t.execute("PRAGMA foreign_keys = ON;"),(0,i.drizzle)(t,{schema:c})}let m=globalThis,g=m.dzDefault??u(f),b=m.dzByUrl??=new Map;function d(e){let t=b.get(e);return t||(t=u(e),b.set(e,t)),t}let p=new Proxy({},{get(e,t){let n=function(){if(process.env.BEACON_REPO)return g;let e=(0,a.getPinnedWorkspaceId)()??(0,a.getActiveId)();return e?d((0,a.dbUrlFor)(e)):g}(),i=n[t];return"function"==typeof i?i.bind(n):i}});e.s(["db",0,p,"defaultDb",0,g,"getDb",0,d,"invalidateDb",0,function(e){b.delete(e)}]),n()}catch(e){n(e)}},!1)];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0k_e0ex._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/drizzle-orm/sqlite-core/table.js","../../../node_modules/drizzle-orm/sqlite-core/columns/common.js","../../../node_modules/drizzle-orm/sqlite-core/foreign-keys.js","../../../node_modules/drizzle-orm/sqlite-core/columns/integer.js","../../../node_modules/drizzle-orm/sqlite-core/indexes.js","../../../node_modules/drizzle-orm/sqlite-core/columns/blob.js","../../../node_modules/drizzle-orm/sqlite-core/unique-constraint.js","../../../node_modules/drizzle-orm/sqlite-core/columns/real.js","../../../node_modules/drizzle-orm/sqlite-core/primary-keys.js","../../../node_modules/drizzle-orm/sqlite-core/columns/text.js","../../../node_modules/drizzle-orm/sqlite-core/columns/numeric.js","../../../node_modules/drizzle-orm/sqlite-core/columns/custom.js","../../../node_modules/drizzle-orm/sqlite-core/columns/all.js","../../../lib/workspaces.ts","../../../lib/drizzle/relations.ts","../../../lib/db-drizzle.ts"],"sourcesContent":["import { entityKind } from \"../entity.js\";\nimport { Table } from \"../table.js\";\nimport { getSQLiteColumnBuilders } from \"./columns/all.js\";\nconst InlineForeignKeys = Symbol.for(\"drizzle:SQLiteInlineForeignKeys\");\nclass SQLiteTable extends Table {\n static [entityKind] = \"SQLiteTable\";\n /** @internal */\n static Symbol = Object.assign({}, Table.Symbol, {\n InlineForeignKeys\n });\n /** @internal */\n [Table.Symbol.Columns];\n /** @internal */\n [InlineForeignKeys] = [];\n /** @internal */\n [Table.Symbol.ExtraConfigBuilder] = void 0;\n}\nfunction sqliteTableBase(name, columns, extraConfig, schema, baseName = name) {\n const rawTable = new SQLiteTable(name, schema, baseName);\n const parsedColumns = typeof columns === \"function\" ? columns(getSQLiteColumnBuilders()) : columns;\n const builtColumns = Object.fromEntries(\n Object.entries(parsedColumns).map(([name2, colBuilderBase]) => {\n const colBuilder = colBuilderBase;\n colBuilder.setName(name2);\n const column = colBuilder.build(rawTable);\n rawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n return [name2, column];\n })\n );\n const table = Object.assign(rawTable, builtColumns);\n table[Table.Symbol.Columns] = builtColumns;\n table[Table.Symbol.ExtraConfigColumns] = builtColumns;\n if (extraConfig) {\n table[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig;\n }\n return table;\n}\nconst sqliteTable = (name, columns, extraConfig) => {\n return sqliteTableBase(name, columns, extraConfig);\n};\nfunction sqliteTableCreator(customizeTableName) {\n return (name, columns, extraConfig) => {\n return sqliteTableBase(customizeTableName(name), columns, extraConfig, void 0, name);\n };\n}\nexport {\n InlineForeignKeys,\n SQLiteTable,\n sqliteTable,\n sqliteTableCreator\n};\n//# sourceMappingURL=table.js.map","import { ColumnBuilder } from \"../../column-builder.js\";\nimport { Column } from \"../../column.js\";\nimport { entityKind } from \"../../entity.js\";\nimport { ForeignKeyBuilder } from \"../foreign-keys.js\";\nimport { uniqueKeyName } from \"../unique-constraint.js\";\nclass SQLiteColumnBuilder extends ColumnBuilder {\n static [entityKind] = \"SQLiteColumnBuilder\";\n foreignKeyConfigs = [];\n references(ref, actions = {}) {\n this.foreignKeyConfigs.push({ ref, actions });\n return this;\n }\n unique(name) {\n this.config.isUnique = true;\n this.config.uniqueName = name;\n return this;\n }\n generatedAlwaysAs(as, config) {\n this.config.generated = {\n as,\n type: \"always\",\n mode: config?.mode ?? \"virtual\"\n };\n return this;\n }\n /** @internal */\n buildForeignKeys(column, table) {\n return this.foreignKeyConfigs.map(({ ref, actions }) => {\n return ((ref2, actions2) => {\n const builder = new ForeignKeyBuilder(() => {\n const foreignColumn = ref2();\n return { columns: [column], foreignColumns: [foreignColumn] };\n });\n if (actions2.onUpdate) {\n builder.onUpdate(actions2.onUpdate);\n }\n if (actions2.onDelete) {\n builder.onDelete(actions2.onDelete);\n }\n return builder.build(table);\n })(ref, actions);\n });\n }\n}\nclass SQLiteColumn extends Column {\n constructor(table, config) {\n if (!config.uniqueName) {\n config.uniqueName = uniqueKeyName(table, [config.name]);\n }\n super(table, config);\n this.table = table;\n }\n static [entityKind] = \"SQLiteColumn\";\n}\nexport {\n SQLiteColumn,\n SQLiteColumnBuilder\n};\n//# sourceMappingURL=common.js.map","import { entityKind } from \"../entity.js\";\nimport { TableName } from \"../table.utils.js\";\nclass ForeignKeyBuilder {\n static [entityKind] = \"SQLiteForeignKeyBuilder\";\n /** @internal */\n reference;\n /** @internal */\n _onUpdate;\n /** @internal */\n _onDelete;\n constructor(config, actions) {\n this.reference = () => {\n const { name, columns, foreignColumns } = config();\n return { name, columns, foreignTable: foreignColumns[0].table, foreignColumns };\n };\n if (actions) {\n this._onUpdate = actions.onUpdate;\n this._onDelete = actions.onDelete;\n }\n }\n onUpdate(action) {\n this._onUpdate = action;\n return this;\n }\n onDelete(action) {\n this._onDelete = action;\n return this;\n }\n /** @internal */\n build(table) {\n return new ForeignKey(table, this);\n }\n}\nclass ForeignKey {\n constructor(table, builder) {\n this.table = table;\n this.reference = builder.reference;\n this.onUpdate = builder._onUpdate;\n this.onDelete = builder._onDelete;\n }\n static [entityKind] = \"SQLiteForeignKey\";\n reference;\n onUpdate;\n onDelete;\n getName() {\n const { name, columns, foreignColumns } = this.reference();\n const columnNames = columns.map((column) => column.name);\n const foreignColumnNames = foreignColumns.map((column) => column.name);\n const chunks = [\n this.table[TableName],\n ...columnNames,\n foreignColumns[0].table[TableName],\n ...foreignColumnNames\n ];\n return name ?? `${chunks.join(\"_\")}_fk`;\n }\n}\nfunction foreignKey(config) {\n function mappedConfig() {\n if (typeof config === \"function\") {\n const { name, columns, foreignColumns } = config();\n return {\n name,\n columns,\n foreignColumns\n };\n }\n return config;\n }\n return new ForeignKeyBuilder(mappedConfig);\n}\nexport {\n ForeignKey,\n ForeignKeyBuilder,\n foreignKey\n};\n//# sourceMappingURL=foreign-keys.js.map","import { entityKind } from \"../../entity.js\";\nimport { sql } from \"../../sql/sql.js\";\nimport { getColumnNameAndConfig } from \"../../utils.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteBaseIntegerBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteBaseIntegerBuilder\";\n constructor(name, dataType, columnType) {\n super(name, dataType, columnType);\n this.config.autoIncrement = false;\n }\n primaryKey(config) {\n if (config?.autoIncrement) {\n this.config.autoIncrement = true;\n }\n this.config.hasDefault = true;\n return super.primaryKey();\n }\n}\nclass SQLiteBaseInteger extends SQLiteColumn {\n static [entityKind] = \"SQLiteBaseInteger\";\n autoIncrement = this.config.autoIncrement;\n getSQLType() {\n return \"integer\";\n }\n}\nclass SQLiteIntegerBuilder extends SQLiteBaseIntegerBuilder {\n static [entityKind] = \"SQLiteIntegerBuilder\";\n constructor(name) {\n super(name, \"number\", \"SQLiteInteger\");\n }\n build(table) {\n return new SQLiteInteger(\n table,\n this.config\n );\n }\n}\nclass SQLiteInteger extends SQLiteBaseInteger {\n static [entityKind] = \"SQLiteInteger\";\n}\nclass SQLiteTimestampBuilder extends SQLiteBaseIntegerBuilder {\n static [entityKind] = \"SQLiteTimestampBuilder\";\n constructor(name, mode) {\n super(name, \"date\", \"SQLiteTimestamp\");\n this.config.mode = mode;\n }\n /**\n * @deprecated Use `default()` with your own expression instead.\n *\n * Adds `DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer))` to the column, which is the current epoch timestamp in milliseconds.\n */\n defaultNow() {\n return this.default(sql`(cast((julianday('now') - 2440587.5)*86400000 as integer))`);\n }\n build(table) {\n return new SQLiteTimestamp(\n table,\n this.config\n );\n }\n}\nclass SQLiteTimestamp extends SQLiteBaseInteger {\n static [entityKind] = \"SQLiteTimestamp\";\n mode = this.config.mode;\n mapFromDriverValue(value) {\n if (this.config.mode === \"timestamp\") {\n return new Date(value * 1e3);\n }\n return new Date(value);\n }\n mapToDriverValue(value) {\n const unix = value.getTime();\n if (this.config.mode === \"timestamp\") {\n return Math.floor(unix / 1e3);\n }\n return unix;\n }\n}\nclass SQLiteBooleanBuilder extends SQLiteBaseIntegerBuilder {\n static [entityKind] = \"SQLiteBooleanBuilder\";\n constructor(name, mode) {\n super(name, \"boolean\", \"SQLiteBoolean\");\n this.config.mode = mode;\n }\n build(table) {\n return new SQLiteBoolean(\n table,\n this.config\n );\n }\n}\nclass SQLiteBoolean extends SQLiteBaseInteger {\n static [entityKind] = \"SQLiteBoolean\";\n mode = this.config.mode;\n mapFromDriverValue(value) {\n return Number(value) === 1;\n }\n mapToDriverValue(value) {\n return value ? 1 : 0;\n }\n}\nfunction integer(a, b) {\n const { name, config } = getColumnNameAndConfig(a, b);\n if (config?.mode === \"timestamp\" || config?.mode === \"timestamp_ms\") {\n return new SQLiteTimestampBuilder(name, config.mode);\n }\n if (config?.mode === \"boolean\") {\n return new SQLiteBooleanBuilder(name, config.mode);\n }\n return new SQLiteIntegerBuilder(name);\n}\nconst int = integer;\nexport {\n SQLiteBaseInteger,\n SQLiteBaseIntegerBuilder,\n SQLiteBoolean,\n SQLiteBooleanBuilder,\n SQLiteInteger,\n SQLiteIntegerBuilder,\n SQLiteTimestamp,\n SQLiteTimestampBuilder,\n int,\n integer\n};\n//# sourceMappingURL=integer.js.map","import { entityKind } from \"../entity.js\";\nclass IndexBuilderOn {\n constructor(name, unique) {\n this.name = name;\n this.unique = unique;\n }\n static [entityKind] = \"SQLiteIndexBuilderOn\";\n on(...columns) {\n return new IndexBuilder(this.name, columns, this.unique);\n }\n}\nclass IndexBuilder {\n static [entityKind] = \"SQLiteIndexBuilder\";\n /** @internal */\n config;\n constructor(name, columns, unique) {\n this.config = {\n name,\n columns,\n unique,\n where: void 0\n };\n }\n /**\n * Condition for partial index.\n */\n where(condition) {\n this.config.where = condition;\n return this;\n }\n /** @internal */\n build(table) {\n return new Index(this.config, table);\n }\n}\nclass Index {\n static [entityKind] = \"SQLiteIndex\";\n config;\n constructor(config, table) {\n this.config = { ...config, table };\n }\n}\nfunction index(name) {\n return new IndexBuilderOn(name, false);\n}\nfunction uniqueIndex(name) {\n return new IndexBuilderOn(name, true);\n}\nexport {\n Index,\n IndexBuilder,\n IndexBuilderOn,\n index,\n uniqueIndex\n};\n//# sourceMappingURL=indexes.js.map","import { entityKind } from \"../../entity.js\";\nimport { getColumnNameAndConfig, textDecoder } from \"../../utils.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteBigIntBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteBigIntBuilder\";\n constructor(name) {\n super(name, \"bigint\", \"SQLiteBigInt\");\n }\n /** @internal */\n build(table) {\n return new SQLiteBigInt(table, this.config);\n }\n}\nclass SQLiteBigInt extends SQLiteColumn {\n static [entityKind] = \"SQLiteBigInt\";\n getSQLType() {\n return \"blob\";\n }\n mapFromDriverValue(value) {\n if (typeof Buffer !== \"undefined\" && Buffer.from) {\n const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);\n return BigInt(buf.toString(\"utf8\"));\n }\n return BigInt(textDecoder.decode(value));\n }\n mapToDriverValue(value) {\n return Buffer.from(value.toString());\n }\n}\nclass SQLiteBlobJsonBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteBlobJsonBuilder\";\n constructor(name) {\n super(name, \"json\", \"SQLiteBlobJson\");\n }\n /** @internal */\n build(table) {\n return new SQLiteBlobJson(\n table,\n this.config\n );\n }\n}\nclass SQLiteBlobJson extends SQLiteColumn {\n static [entityKind] = \"SQLiteBlobJson\";\n getSQLType() {\n return \"blob\";\n }\n mapFromDriverValue(value) {\n if (typeof Buffer !== \"undefined\" && Buffer.from) {\n const buf = Buffer.isBuffer(value) ? value : value instanceof ArrayBuffer ? Buffer.from(value) : value.buffer ? Buffer.from(value.buffer, value.byteOffset, value.byteLength) : Buffer.from(value);\n return JSON.parse(buf.toString(\"utf8\"));\n }\n return JSON.parse(textDecoder.decode(value));\n }\n mapToDriverValue(value) {\n return Buffer.from(JSON.stringify(value));\n }\n}\nclass SQLiteBlobBufferBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteBlobBufferBuilder\";\n constructor(name) {\n super(name, \"buffer\", \"SQLiteBlobBuffer\");\n }\n /** @internal */\n build(table) {\n return new SQLiteBlobBuffer(table, this.config);\n }\n}\nclass SQLiteBlobBuffer extends SQLiteColumn {\n static [entityKind] = \"SQLiteBlobBuffer\";\n mapFromDriverValue(value) {\n if (Buffer.isBuffer(value)) {\n return value;\n }\n return Buffer.from(value);\n }\n getSQLType() {\n return \"blob\";\n }\n}\nfunction blob(a, b) {\n const { name, config } = getColumnNameAndConfig(a, b);\n if (config?.mode === \"json\") {\n return new SQLiteBlobJsonBuilder(name);\n }\n if (config?.mode === \"bigint\") {\n return new SQLiteBigIntBuilder(name);\n }\n return new SQLiteBlobBufferBuilder(name);\n}\nexport {\n SQLiteBigInt,\n SQLiteBigIntBuilder,\n SQLiteBlobBuffer,\n SQLiteBlobBufferBuilder,\n SQLiteBlobJson,\n SQLiteBlobJsonBuilder,\n blob\n};\n//# sourceMappingURL=blob.js.map","import { entityKind } from \"../entity.js\";\nimport { TableName } from \"../table.utils.js\";\nfunction uniqueKeyName(table, columns) {\n return `${table[TableName]}_${columns.join(\"_\")}_unique`;\n}\nfunction unique(name) {\n return new UniqueOnConstraintBuilder(name);\n}\nclass UniqueConstraintBuilder {\n constructor(columns, name) {\n this.name = name;\n this.columns = columns;\n }\n static [entityKind] = \"SQLiteUniqueConstraintBuilder\";\n /** @internal */\n columns;\n /** @internal */\n build(table) {\n return new UniqueConstraint(table, this.columns, this.name);\n }\n}\nclass UniqueOnConstraintBuilder {\n static [entityKind] = \"SQLiteUniqueOnConstraintBuilder\";\n /** @internal */\n name;\n constructor(name) {\n this.name = name;\n }\n on(...columns) {\n return new UniqueConstraintBuilder(columns, this.name);\n }\n}\nclass UniqueConstraint {\n constructor(table, columns, name) {\n this.table = table;\n this.columns = columns;\n this.name = name ?? uniqueKeyName(this.table, this.columns.map((column) => column.name));\n }\n static [entityKind] = \"SQLiteUniqueConstraint\";\n columns;\n name;\n getName() {\n return this.name;\n }\n}\nexport {\n UniqueConstraint,\n UniqueConstraintBuilder,\n UniqueOnConstraintBuilder,\n unique,\n uniqueKeyName\n};\n//# sourceMappingURL=unique-constraint.js.map","import { entityKind } from \"../../entity.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteRealBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteRealBuilder\";\n constructor(name) {\n super(name, \"number\", \"SQLiteReal\");\n }\n /** @internal */\n build(table) {\n return new SQLiteReal(table, this.config);\n }\n}\nclass SQLiteReal extends SQLiteColumn {\n static [entityKind] = \"SQLiteReal\";\n getSQLType() {\n return \"real\";\n }\n}\nfunction real(name) {\n return new SQLiteRealBuilder(name ?? \"\");\n}\nexport {\n SQLiteReal,\n SQLiteRealBuilder,\n real\n};\n//# sourceMappingURL=real.js.map","import { entityKind } from \"../entity.js\";\nimport { SQLiteTable } from \"./table.js\";\nfunction primaryKey(...config) {\n if (config[0].columns) {\n return new PrimaryKeyBuilder(config[0].columns, config[0].name);\n }\n return new PrimaryKeyBuilder(config);\n}\nclass PrimaryKeyBuilder {\n static [entityKind] = \"SQLitePrimaryKeyBuilder\";\n /** @internal */\n columns;\n /** @internal */\n name;\n constructor(columns, name) {\n this.columns = columns;\n this.name = name;\n }\n /** @internal */\n build(table) {\n return new PrimaryKey(table, this.columns, this.name);\n }\n}\nclass PrimaryKey {\n constructor(table, columns, name) {\n this.table = table;\n this.columns = columns;\n this.name = name;\n }\n static [entityKind] = \"SQLitePrimaryKey\";\n columns;\n name;\n getName() {\n return this.name ?? `${this.table[SQLiteTable.Symbol.Name]}_${this.columns.map((column) => column.name).join(\"_\")}_pk`;\n }\n}\nexport {\n PrimaryKey,\n PrimaryKeyBuilder,\n primaryKey\n};\n//# sourceMappingURL=primary-keys.js.map","import { entityKind } from \"../../entity.js\";\nimport { getColumnNameAndConfig } from \"../../utils.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteTextBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteTextBuilder\";\n constructor(name, config) {\n super(name, \"string\", \"SQLiteText\");\n this.config.enumValues = config.enum;\n this.config.length = config.length;\n }\n /** @internal */\n build(table) {\n return new SQLiteText(\n table,\n this.config\n );\n }\n}\nclass SQLiteText extends SQLiteColumn {\n static [entityKind] = \"SQLiteText\";\n enumValues = this.config.enumValues;\n length = this.config.length;\n constructor(table, config) {\n super(table, config);\n }\n getSQLType() {\n return `text${this.config.length ? `(${this.config.length})` : \"\"}`;\n }\n}\nclass SQLiteTextJsonBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteTextJsonBuilder\";\n constructor(name) {\n super(name, \"json\", \"SQLiteTextJson\");\n }\n /** @internal */\n build(table) {\n return new SQLiteTextJson(\n table,\n this.config\n );\n }\n}\nclass SQLiteTextJson extends SQLiteColumn {\n static [entityKind] = \"SQLiteTextJson\";\n getSQLType() {\n return \"text\";\n }\n mapFromDriverValue(value) {\n return JSON.parse(value);\n }\n mapToDriverValue(value) {\n return JSON.stringify(value);\n }\n}\nfunction text(a, b = {}) {\n const { name, config } = getColumnNameAndConfig(a, b);\n if (config.mode === \"json\") {\n return new SQLiteTextJsonBuilder(name);\n }\n return new SQLiteTextBuilder(name, config);\n}\nexport {\n SQLiteText,\n SQLiteTextBuilder,\n SQLiteTextJson,\n SQLiteTextJsonBuilder,\n text\n};\n//# sourceMappingURL=text.js.map","import { entityKind } from \"../../entity.js\";\nimport { getColumnNameAndConfig } from \"../../utils.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteNumericBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteNumericBuilder\";\n constructor(name) {\n super(name, \"string\", \"SQLiteNumeric\");\n }\n /** @internal */\n build(table) {\n return new SQLiteNumeric(\n table,\n this.config\n );\n }\n}\nclass SQLiteNumeric extends SQLiteColumn {\n static [entityKind] = \"SQLiteNumeric\";\n mapFromDriverValue(value) {\n if (typeof value === \"string\") return value;\n return String(value);\n }\n getSQLType() {\n return \"numeric\";\n }\n}\nclass SQLiteNumericNumberBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteNumericNumberBuilder\";\n constructor(name) {\n super(name, \"number\", \"SQLiteNumericNumber\");\n }\n /** @internal */\n build(table) {\n return new SQLiteNumericNumber(\n table,\n this.config\n );\n }\n}\nclass SQLiteNumericNumber extends SQLiteColumn {\n static [entityKind] = \"SQLiteNumericNumber\";\n mapFromDriverValue(value) {\n if (typeof value === \"number\") return value;\n return Number(value);\n }\n mapToDriverValue = String;\n getSQLType() {\n return \"numeric\";\n }\n}\nclass SQLiteNumericBigIntBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteNumericBigIntBuilder\";\n constructor(name) {\n super(name, \"bigint\", \"SQLiteNumericBigInt\");\n }\n /** @internal */\n build(table) {\n return new SQLiteNumericBigInt(\n table,\n this.config\n );\n }\n}\nclass SQLiteNumericBigInt extends SQLiteColumn {\n static [entityKind] = \"SQLiteNumericBigInt\";\n mapFromDriverValue = BigInt;\n mapToDriverValue = String;\n getSQLType() {\n return \"numeric\";\n }\n}\nfunction numeric(a, b) {\n const { name, config } = getColumnNameAndConfig(a, b);\n const mode = config?.mode;\n return mode === \"number\" ? new SQLiteNumericNumberBuilder(name) : mode === \"bigint\" ? new SQLiteNumericBigIntBuilder(name) : new SQLiteNumericBuilder(name);\n}\nexport {\n SQLiteNumeric,\n SQLiteNumericBigInt,\n SQLiteNumericBigIntBuilder,\n SQLiteNumericBuilder,\n SQLiteNumericNumber,\n SQLiteNumericNumberBuilder,\n numeric\n};\n//# sourceMappingURL=numeric.js.map","import { entityKind } from \"../../entity.js\";\nimport { getColumnNameAndConfig } from \"../../utils.js\";\nimport { SQLiteColumn, SQLiteColumnBuilder } from \"./common.js\";\nclass SQLiteCustomColumnBuilder extends SQLiteColumnBuilder {\n static [entityKind] = \"SQLiteCustomColumnBuilder\";\n constructor(name, fieldConfig, customTypeParams) {\n super(name, \"custom\", \"SQLiteCustomColumn\");\n this.config.fieldConfig = fieldConfig;\n this.config.customTypeParams = customTypeParams;\n }\n /** @internal */\n build(table) {\n return new SQLiteCustomColumn(\n table,\n this.config\n );\n }\n}\nclass SQLiteCustomColumn extends SQLiteColumn {\n static [entityKind] = \"SQLiteCustomColumn\";\n sqlName;\n mapTo;\n mapFrom;\n constructor(table, config) {\n super(table, config);\n this.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n this.mapTo = config.customTypeParams.toDriver;\n this.mapFrom = config.customTypeParams.fromDriver;\n }\n getSQLType() {\n return this.sqlName;\n }\n mapFromDriverValue(value) {\n return typeof this.mapFrom === \"function\" ? this.mapFrom(value) : value;\n }\n mapToDriverValue(value) {\n return typeof this.mapTo === \"function\" ? this.mapTo(value) : value;\n }\n}\nfunction customType(customTypeParams) {\n return (a, b) => {\n const { name, config } = getColumnNameAndConfig(a, b);\n return new SQLiteCustomColumnBuilder(\n name,\n config,\n customTypeParams\n );\n };\n}\nexport {\n SQLiteCustomColumn,\n SQLiteCustomColumnBuilder,\n customType\n};\n//# sourceMappingURL=custom.js.map","import { blob } from \"./blob.js\";\nimport { customType } from \"./custom.js\";\nimport { integer } from \"./integer.js\";\nimport { numeric } from \"./numeric.js\";\nimport { real } from \"./real.js\";\nimport { text } from \"./text.js\";\nfunction getSQLiteColumnBuilders() {\n return {\n blob,\n customType,\n integer,\n numeric,\n real,\n text\n };\n}\nexport {\n getSQLiteColumnBuilders\n};\n//# sourceMappingURL=all.js.map","import { AsyncLocalStorage } from \"node:async_hooks\";\nimport { spawnSync } from \"node:child_process\";\nimport { createHash } from \"node:crypto\";\nimport { existsSync, mkdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { basename, join } from \"node:path\";\n\n// Registry of the repos Beacon knows about. One Beacon server serves them all\n// (multi-workspace): each repo keeps its own per-id data dir + sqlite, and the\n// server resolves which workspace a request is for. The registry is a small JSON\n// file so the CLI and the server share the same source of truth.\n//\n// BEACON_HOME overrides the root (tests point it at a temp dir).\n\nexport interface Workspace {\n id: string;\n path: string;\n name: string;\n lastOpenedAt: string;\n}\n\nexport function beaconHome(): string {\n return process.env.BEACON_HOME || join(homedir(), \".beacon\");\n}\n\nfunction registryPath(): string {\n return join(beaconHome(), \"workspaces.json\");\n}\n\n/** Stable per-repo id — same hashing the CLI/project use, so data dirs line up. */\nexport function idForPath(path: string): string {\n return createHash(\"sha256\").update(path).digest(\"hex\").slice(0, 12);\n}\n\n/**\n * The git toplevel for `cwd` (so a subdirectory of a repo still maps to the repo's workspace),\n * falling back to `cwd` itself when it isn't a git repo. Shared by `beacon mcp` and the\n * PostToolUse hook so both derive the SAME workspace id from a session's working directory —\n * which is what keeps an agent's edits attached to its own repo instead of the global active.\n */\nexport function repoRootFrom(cwd: string = process.cwd()): string {\n const r = spawnSync(\"git\", [\"rev-parse\", \"--show-toplevel\"], {\n cwd,\n stdio: [\"ignore\", \"pipe\", \"ignore\"],\n });\n if (r.status === 0) {\n const top = r.stdout?.toString().trim();\n if (top) return top;\n }\n return cwd;\n}\n\nexport function dataDirFor(id: string): string {\n return join(beaconHome(), id);\n}\n\nexport function dbUrlFor(id: string): string {\n return `file:${join(dataDirFor(id), \"db.sqlite\")}`;\n}\n\nfunction readRegistry(): Workspace[] {\n try {\n const raw = JSON.parse(readFileSync(registryPath(), \"utf8\"));\n return Array.isArray(raw) ? (raw as Workspace[]) : [];\n } catch {\n return [];\n }\n}\n\nfunction writeRegistry(list: Workspace[]): void {\n mkdirSync(beaconHome(), { recursive: true });\n writeFileSync(registryPath(), JSON.stringify(list, null, 2));\n}\n\nexport function listWorkspaces(): Workspace[] {\n return readRegistry().sort((a, b) => b.lastOpenedAt.localeCompare(a.lastOpenedAt));\n}\n\nexport function getWorkspace(id: string): Workspace | null {\n return readRegistry().find((w) => w.id === id) ?? null;\n}\n\n/** Add a repo (or refresh its name) and mark it most-recently-opened. Idempotent. */\nexport function addWorkspace(path: string, name?: string, now = new Date().toISOString()): Workspace {\n const id = idForPath(path);\n const list = readRegistry();\n const existing = list.find((w) => w.id === id);\n const ws: Workspace = {\n id,\n path,\n name: name || existing?.name || basename(path),\n lastOpenedAt: now,\n };\n const next = [ws, ...list.filter((w) => w.id !== id)];\n mkdirSync(dataDirFor(id), { recursive: true });\n writeRegistry(next);\n return ws;\n}\n\nexport function touchWorkspace(id: string, now = new Date().toISOString()): void {\n const list = readRegistry();\n const w = list.find((x) => x.id === id);\n if (!w) return;\n w.lastOpenedAt = now;\n writeRegistry(list);\n}\n\nexport function removeWorkspace(id: string): void {\n writeRegistry(readRegistry().filter((w) => w.id !== id));\n if (getActiveId() === id) setActiveId(listWorkspaces()[0]?.id ?? null);\n}\n\n// The single active workspace (the user picked \"one at a time\") persisted to disk.\n// We deliberately re-read on every call: Next.js dev runs API routes and RSC page\n// renders in separate worker processes, so an in-memory cache in one worker would\n// hide POSTs handled by another and make /map and /db render the previous workspace.\n// The file is tiny and OS-cached; the syscall cost is negligible per query.\nfunction activePath(): string {\n return join(beaconHome(), \"active\");\n}\n\nexport function getActiveId(): string | null {\n try {\n return readFileSync(activePath(), \"utf8\").trim() || null;\n } catch {\n return null;\n }\n}\n\nexport function setActiveId(id: string | null): void {\n mkdirSync(beaconHome(), { recursive: true });\n writeFileSync(activePath(), id ?? \"\");\n}\n\n/** The active workspace record (validated against the registry), or null. */\nexport function activeWorkspace(): Workspace | null {\n const id = getActiveId();\n return id ? getWorkspace(id) : null;\n}\n\n/**\n * The workspace the CURRENT request/render operates on: the per-request pin (set by\n * runWithWorkspace from the header or browser cookie) when present, else the global active.\n * Use this — not activeWorkspace() — anywhere the result is handed to the client (e.g. the\n * page's workspaceId), so it tracks the cookie pin instead of the agent-mutable active file.\n */\nexport function currentWorkspace(): Workspace | null {\n const id = getPinnedWorkspaceId() ?? getActiveId();\n return id ? getWorkspace(id) : null;\n}\n\n/** Path stored on disk for a workspace, or null. Lets the data dir resolve a repo. */\nexport function pathForWorkspace(id: string): string | null {\n return getWorkspace(id)?.path ?? null;\n}\n\nexport function registryExists(): boolean {\n return existsSync(registryPath());\n}\n\n// The browser stores its explicitly-selected workspace here so it survives background\n// agent activity. It's distinct from the global `active` file (which any agent push or CLI\n// open mutates) precisely so the dropdown selection is durable per-browser.\nexport const BEACON_WS_COOKIE = \"beacon_ws\";\n\n/** Parse one cookie value out of a Cookie header (no deps). */\nfunction cookieValue(req: Request, name: string): string | null {\n const header = req.headers.get(\"cookie\");\n if (!header) return null;\n for (const part of header.split(\";\")) {\n const eq = part.indexOf(\"=\");\n if (eq === -1) continue;\n if (part.slice(0, eq).trim() === name) return decodeURIComponent(part.slice(eq + 1).trim());\n }\n return null;\n}\n\n/**\n * The workspace a request wants to be pinned to, resolved in priority order:\n * 1. the `x-beacon-workspace` HEADER — the MCP server sets this to the repo its Claude\n * Code session runs in; it must win so an agent's writes land in its own repo.\n * 2. the `beacon_ws` COOKIE — the browser's explicit dropdown selection, so background\n * agent activations (which flip the global `active`) can't yank the user's view.\n * Each is validated against the registry; an unknown/stale id is ignored. Returns null when\n * neither is present/valid, so the caller falls back to the global active workspace.\n */\nexport function workspaceIdFromRequest(req: Request): string | null {\n const header = req.headers.get(\"x-beacon-workspace\");\n if (header && getWorkspace(header)) return header;\n const cookie = cookieValue(req, BEACON_WS_COOKIE);\n if (cookie && getWorkspace(cookie)) return cookie;\n return null;\n}\n\n// The MCP server / intel watcher also send the repo's PATH on this header. It lets the server\n// self-register an agent's workspace the FIRST time it's seen — so an agent whose repo was never\n// opened with `beacon` still pins to its OWN db instead of silently writing to the browser's active\n// repo. Browsers never send it (they only have an id), so it can't move a browser's view.\nexport const BEACON_WS_PATH_HEADER = \"x-beacon-workspace-path\";\n\n/**\n * Async superset of {@link workspaceIdFromRequest} for WRITE boundaries (pinned routes + the intel\n * watcher's ingest routes). Resolves the workspace to pin to, and SELF-HEALS an agent's workspace so\n * its writes never fall back to the browser's active repo:\n * 1. `x-beacon-workspace` header, if it names a registered workspace.\n * 2. else `x-beacon-workspace-path` (agent/watcher only): register that repo + provision its db on\n * demand, then pin to it. The path must hash to the sent id (when one was sent), so a stale or\n * foreign id can't register a mismatched path.\n * 3. else the `beacon_ws` cookie (browser selection).\n * 4. else null → caller falls back to the global active workspace.\n */\nexport async function resolveRequestWorkspaceId(req: Request): Promise<string | null> {\n const headerId = req.headers.get(\"x-beacon-workspace\");\n if (headerId && getWorkspace(headerId)) return headerId;\n const headerPath = req.headers.get(BEACON_WS_PATH_HEADER);\n if (headerPath && (!headerId || idForPath(headerPath) === headerId)) {\n const ws = addWorkspace(headerPath);\n await ensureWorkspaceDb(ws.id);\n return ws.id;\n }\n const cookie = cookieValue(req, BEACON_WS_COOKIE);\n if (cookie && getWorkspace(cookie)) return cookie;\n return null;\n}\n\n// ── Per-request workspace pin (AsyncLocalStorage) ───────────────────────────\n//\n// An API route wraps its handler in `runWithWorkspace(id, fn)` to force everything\n// inside — both `db` access (lib/db.ts) AND the repo filesystem path (lib/project.ts\n// repoRoot, which drives AGENTS.md writes) — to target ONE workspace instead of the\n// server's global active one. This keeps an MCP request pinned to the repo the agent's\n// Claude Code session runs in, even when the human has a different project selected in\n// the browser dropdown. Without it, a `/beacon-init` from one repo lands in whatever\n// workspace happened to be active — the cross-workspace corruption this guards against.\nconst workspacePinALS = new AsyncLocalStorage<string>();\n\n/** Run `fn` with db + repoRoot pinned to workspace `id`. No-op when id is null. */\nexport function runWithWorkspace<T>(id: string | null | undefined, fn: () => T): T {\n return id ? workspacePinALS.run(id, fn) : fn();\n}\n\n/** The workspace id pinned for the current async context, or null. */\nexport function getPinnedWorkspaceId(): string | null {\n return workspacePinALS.getStore() ?? null;\n}\n\n// ── Schema provisioning + migrations (self-heal) ────────────────────────────\n//\n// A workspace can be in the registry without its db.sqlite existing on disk (the user wiped the\n// data, then `/beacon-init` re-registered the repo before `beacon` ran inside it), and an EXISTING\n// db can be a migration behind after a Beacon upgrade. ensureWorkspaceDb is the self-heal for both:\n// it provisions a missing schema AND applies any pending migrations, in-process via libSQL (see\n// lib/drizzle/provision). Async because the libSQL migrator is async — callers MUST await it at a\n// request boundary (pinned()/the activation routes/MCP startup) BEFORE the first query, since the\n// synchronous `db` Proxy getter can no longer block on provisioning. Never throws — returns ok=false\n// with the error so the caller can surface it cleanly.\n\nexport interface EnsureWorkspaceDbResult {\n ok: boolean;\n /** true when this call created the db file (it was missing). */\n created: boolean;\n /** true when an existing db's schema changed this call (a pending migration applied, or a legacy db was baselined). */\n migrated: boolean;\n /** populated when ok=false; a description of the failure. */\n error?: string;\n}\n\n// Provision + migrate at most once per process per db file. migrate() is idempotent, but skipping the\n// repeat keeps pinned() cheap to call on every request (it short-circuits once the file is known-current).\nconst provisionedThisProcess = new Set<string>();\n\n// Make a workspace's db usable: provision the schema when missing, apply pending migrations, and\n// convert any legacy Prisma TEXT timestamps to epoch-ms integers (all idempotent). Runs in-process\n// via libSQL — no `bun`-on-PATH dependency, no out-of-process spawn. Never throws.\nexport async function ensureWorkspaceDb(id: string): Promise<EnsureWorkspaceDbResult> {\n const dir = dataDirFor(id);\n const file = join(dir, \"db.sqlite\");\n const existed = existsSync(file);\n if (existed && provisionedThisProcess.has(file)) {\n return { ok: true, created: false, migrated: false };\n }\n try {\n mkdirSync(dir, { recursive: true });\n const { provisionDb } = await import(\"@/lib/drizzle/provision\");\n const res = await provisionDb(dbUrlFor(id));\n provisionedThisProcess.add(file);\n // `migrated` only describes schema drift on an ALREADY-existing db; a brand-new file is `created`.\n return { ok: true, created: !existed, migrated: existed && res.migrated };\n } catch (e) {\n return {\n ok: false,\n created: false,\n migrated: false,\n error: e instanceof Error ? e.message : String(e),\n };\n }\n}\n","import { relations } from \"drizzle-orm\";\nimport {\n node,\n nodeFile,\n tag,\n nodeTags,\n edge,\n dbTable,\n dbColumn,\n dbRelation,\n endpoint,\n endpointTable,\n draftTable,\n draftColumn,\n draftRelation,\n codeFile,\n codeFileEdge,\n} from \"@/lib/drizzle/schema\";\n\n// Drizzle relations powering relational queries (db.query.*.findMany({ with: … })) — the\n// equivalent of Prisma's `include`. Both sides of each relation must be declared. Self-relations\n// (Node tree) and the two Edge endpoints use `relationName` to disambiguate.\n\nexport const nodeRelations = relations(node, ({ one, many }) => ({\n files: many(nodeFile),\n nodeTags: many(nodeTags),\n edgesOut: many(edge, { relationName: \"EdgeFrom\" }),\n edgesIn: many(edge, { relationName: \"EdgeTo\" }),\n parent: one(node, { fields: [node.parentId], references: [node.id], relationName: \"NodeTree\" }),\n children: many(node, { relationName: \"NodeTree\" }),\n}));\n\nexport const nodeFileRelations = relations(nodeFile, ({ one }) => ({\n node: one(node, { fields: [nodeFile.nodeId], references: [node.id] }),\n}));\n\nexport const tagRelations = relations(tag, ({ many }) => ({\n nodeTags: many(nodeTags),\n}));\n\nexport const nodeTagsRelations = relations(nodeTags, ({ one }) => ({\n node: one(node, { fields: [nodeTags.a], references: [node.id] }),\n tag: one(tag, { fields: [nodeTags.b], references: [tag.id] }),\n}));\n\nexport const edgeRelations = relations(edge, ({ one }) => ({\n from: one(node, { fields: [edge.fromId], references: [node.id], relationName: \"EdgeFrom\" }),\n to: one(node, { fields: [edge.toId], references: [node.id], relationName: \"EdgeTo\" }),\n}));\n\nexport const dbTableRelations = relations(dbTable, ({ many }) => ({\n columns: many(dbColumn),\n fksOut: many(dbRelation, { relationName: \"FkFrom\" }),\n fksIn: many(dbRelation, { relationName: \"FkTo\" }),\n usages: many(endpointTable),\n}));\n\nexport const dbColumnRelations = relations(dbColumn, ({ one }) => ({\n table: one(dbTable, { fields: [dbColumn.tableId], references: [dbTable.id] }),\n}));\n\nexport const dbRelationRelations = relations(dbRelation, ({ one }) => ({\n fromTable: one(dbTable, {\n fields: [dbRelation.fromTableId],\n references: [dbTable.id],\n relationName: \"FkFrom\",\n }),\n toTable: one(dbTable, {\n fields: [dbRelation.toTableId],\n references: [dbTable.id],\n relationName: \"FkTo\",\n }),\n}));\n\nexport const endpointRelations = relations(endpoint, ({ many }) => ({\n tables: many(endpointTable),\n}));\n\nexport const endpointTableRelations = relations(endpointTable, ({ one }) => ({\n endpoint: one(endpoint, { fields: [endpointTable.endpointId], references: [endpoint.id] }),\n table: one(dbTable, { fields: [endpointTable.tableId], references: [dbTable.id] }),\n}));\n\nexport const draftTableRelations = relations(draftTable, ({ many }) => ({\n columns: many(draftColumn),\n fksOut: many(draftRelation, { relationName: \"DraftFkFrom\" }),\n fksIn: many(draftRelation, { relationName: \"DraftFkTo\" }),\n}));\n\nexport const draftColumnRelations = relations(draftColumn, ({ one }) => ({\n table: one(draftTable, { fields: [draftColumn.tableId], references: [draftTable.id] }),\n}));\n\nexport const draftRelationRelations = relations(draftRelation, ({ one }) => ({\n fromTable: one(draftTable, {\n fields: [draftRelation.fromTableId],\n references: [draftTable.id],\n relationName: \"DraftFkFrom\",\n }),\n toTable: one(draftTable, {\n fields: [draftRelation.toTableId],\n references: [draftTable.id],\n relationName: \"DraftFkTo\",\n }),\n}));\n\nexport const codeFileRelations = relations(codeFile, ({ many }) => ({\n edgesOut: many(codeFileEdge, { relationName: \"CFEFrom\" }),\n edgesIn: many(codeFileEdge, { relationName: \"CFETo\" }),\n}));\n\nexport const codeFileEdgeRelations = relations(codeFileEdge, ({ one }) => ({\n fromFile: one(codeFile, {\n fields: [codeFileEdge.fromPath],\n references: [codeFile.path],\n relationName: \"CFEFrom\",\n }),\n toFile: one(codeFile, {\n fields: [codeFileEdge.toPath],\n references: [codeFile.path],\n relationName: \"CFETo\",\n }),\n}));\n","import { drizzle, type LibSQLDatabase } from \"drizzle-orm/libsql\";\nimport { createClient } from \"@libsql/client\";\nimport * as schema from \"@/lib/drizzle/schema\";\nimport * as relations from \"@/lib/drizzle/relations\";\nimport { dbUrlFor, getActiveId, getPinnedWorkspaceId } from \"@/lib/workspaces\";\n\n// Beacon's data client: Drizzle over libSQL. libSQL is the one SQLite driver that loads under BOTH\n// runtimes Beacon uses — Node (the Next server) AND Bun (`bun test`, the CLI, the intel watcher) —\n// because it's pure JS with no native addon. (Bun's `bun:sqlite` is unavailable inside the Next\n// server runtime; better-sqlite3's native addon won't load under Bun. libSQL works in both.)\n// Provisioning (schema create + pending migrations + the legacy-timestamp heal) runs in-process via\n// the SAME libSQL driver — see lib/drizzle/provision + lib/workspaces.ensureWorkspaceDb.\n//\n// Per-workspace resolution mirrors the old lib/db.ts: one cached client per workspace db file,\n// resolved from the BEACON_REPO env pin → request ALS pin → active workspace → env default.\n\nexport { runWithWorkspace } from \"@/lib/workspaces\";\n\nconst fullSchema = { ...schema, ...relations };\nexport type DB = LibSQLDatabase<typeof fullSchema>;\n\nconst DEFAULT_URL = process.env.DATABASE_URL ?? \"file:./dev.db\";\n\nfunction createDbClient(dbUrl: string): DB {\n const client = createClient({ url: dbUrl });\n // SQLite enforces FK cascades only when foreign_keys is ON (per connection). libSQL runs requests\n // serially on the connection, so this lands before any app query.\n void client.execute(\"PRAGMA foreign_keys = ON;\");\n return drizzle(client, { schema: fullSchema });\n}\n\nconst globalForDb = globalThis as unknown as {\n dzByUrl?: Map<string, DB>;\n dzDefault?: DB;\n};\n\n// The env-configured client (DATABASE_URL) — used by the CLI, watcher, seeds, tests, and as the\n// fallback when no workspace is active.\nexport const defaultDb = globalForDb.dzDefault ?? createDbClient(DEFAULT_URL);\nif (process.env.NODE_ENV !== \"production\") globalForDb.dzDefault = defaultDb;\n\nconst clients = (globalForDb.dzByUrl ??= new Map<string, DB>());\n\nexport function getDb(dbUrl: string): DB {\n let c = clients.get(dbUrl);\n if (!c) {\n c = createDbClient(dbUrl);\n clients.set(dbUrl, c);\n }\n return c;\n}\n\nexport function invalidateDb(dbUrl: string): void {\n clients.delete(dbUrl);\n}\n\n// Resolve the workspace this access targets and return its cached client. Provisioning/migration is\n// NOT done here: the libSQL migrator is async and this getter is synchronous (it returns a bound\n// Drizzle method to call). Callers reach a workspace through an async boundary that has already\n// awaited ensureWorkspaceDb — pinned()/the activation routes/MCP startup — so the file + schema are\n// ready by the time any query runs. (Provisioning a missing db inside a sync getter used to mean a\n// blocking out-of-process `bun` spawn on first access; moving it to the boundary removes that.)\nfunction activeDb(): DB {\n if (process.env.BEACON_REPO) return defaultDb;\n const id = getPinnedWorkspaceId() ?? getActiveId();\n if (!id) return defaultDb;\n return getDb(dbUrlFor(id));\n}\n\n// Same ergonomics as before: the whole lib layer imports `db` and the active workspace is resolved\n// per access. Drizzle's methods (select/insert/update/delete/query/transaction) are forwarded.\nexport const db: DB = new Proxy({} as DB, {\n get(_t, prop) {\n const active = activeDb();\n const value = (active as unknown as Record<string | symbol, unknown>)[prop];\n return typeof value === \"function\" ? (value as (...a: unknown[]) => unknown).bind(active) : value;\n },\n});\n"],"names":["ForeignKeyBuilder","reference","actions","_onUpdate","columns","name","foreignColumns","foreignTable","_onDelete","table","config","onUpdate","onDelete","action","ForeignKey","builder","build","column","foreignColumnNames","columnNames","map","chunks","getName","join","foreignKey","mappedConfig","beaconHome","process","env","BEACON_HOME","registryPath","idForPath","path","update","digest","slice","repoRootFrom","cwd","r","stdio","status","top","stdout","toString","trim","dataDirFor","id","dbUrlFor","readRegistry","raw","JSON","parse","Array","isArray","writeRegistry","list","recursive","stringify","listWorkspaces","sort","a","b","lastOpenedAt","localeCompare","getWorkspace","find","w","addWorkspace","now","Date","toISOString","existing","ws","next","filter","touchWorkspace","x","removeWorkspace","getActiveId","setActiveId","activePath","activeWorkspace","currentWorkspace","getPinnedWorkspaceId","pathForWorkspace","registryExists","BEACON_WS_COOKIE","cookieValue","req","header","headers","get","part","split","eq","indexOf","decodeURIComponent","workspaceIdFromRequest","cookie","BEACON_WS_PATH_HEADER","resolveRequestWorkspaceId","headerId","headerPath","ensureWorkspaceDb","workspacePinALS","runWithWorkspace","fn","run","getStore","provisionedThisProcess","Set","dir","file","existed","has","ok","created","migrated","provisionDb","res","add","e","error","Error","message","String","nodeRelations","one","many","files","nodeTags","edgesOut","relationName","edgesIn","parent","fields","parentId","references","children","nodeFileRelations","node","nodeId","tagRelations","nodeTagsRelations","tag","edgeRelations","from","fromId","to","toId","dbTableRelations","fksOut","fksIn","usages","dbColumnRelations","tableId","dbRelationRelations","fromTable","fromTableId","toTable","toTableId","endpointRelations","tables","endpointTableRelations","endpoint","endpointId","draftTableRelations","draftColumnRelations","draftRelationRelations","codeFileRelations","codeFileEdgeRelations","fromFile","fromPath","toFile","toPath","fullSchema","imported module 34700","imported module 48486","DEFAULT_URL","DATABASE_URL","createDbClient","dbUrl","client","url","execute","schema","globalForDb","globalThis","defaultDb","dzDefault","clients","dzByUrl","Map","getDb","c","set","invalidateDb","delete","activeDb","BEACON_REPO","db","Proxy","_t","prop","active","value","bind"],"mappings":"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","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[89122,e=>{"use strict";var t=e.i(14859);e.s(["pinned",0,function(e){return async(r,...n)=>{let a=await (0,t.resolveRequestWorkspaceId)(r);return a&&await (0,t.ensureWorkspaceDb)(a),(0,t.runWithWorkspace)(a,async()=>e(r,...n))}}])},58708,e=>{"use strict";let t=null;async function r(){return t||(t=(async()=>{let{pipeline:t}=await e.A(46128);return await t("feature-extraction","Xenova/all-MiniLM-L6-v2")})().catch(e=>{throw t=null,e})),t}async function n(e){let t=e.trim();if(!t)return null;try{let e=await r(),n=await e(t,{pooling:"mean",normalize:!0});return Array.from(n.data)}catch(e){return console.error("[embeddings] failed:",e instanceof Error?e.message:e),null}}function a(e){return[e.title,e.role,e.plain,e.cluster].filter(Boolean).join(". ")}function i(e){return JSON.stringify(e)}async function s(t){try{let{db:r}=await e.A(35914),{node:s}=await e.A(29363),{eq:o}=await e.A(96359),l=await r.query.node.findFirst({where:(e,{eq:r})=>r(e.id,t),columns:{title:!0,role:!0,plain:!0,cluster:!0}});if(!l)return;let u=await n(a(l));if(!u)return;await r.update(s).set({embedding:i(u)}).where(o(s.id,t))}catch(e){console.error("[embeddings] reembed failed:",t,e instanceof Error?e.message:e)}}async function o(e,t){let r=await n(e);if(!r)return null;let a=[];for(let e of t){let t=function(e){if(!e)return null;try{let t=JSON.parse(e);if(!Array.isArray(t)||t.some(e=>"number"!=typeof e||!Number.isFinite(e)))return null;return t}catch{return null}}(e.embedding);t&&a.push({item:e,score:function(e,t){if(e.length!==t.length)return 0;let r=0,n=0,a=0;for(let i=0;i<e.length;i++)r+=e[i]*t[i],n+=e[i]*e[i],a+=t[i]*t[i];return 0===n||0===a?0:r/(Math.sqrt(n)*Math.sqrt(a))}(r,t)})}return a.sort((e,t)=>t.score-e.score),a}e.s(["embedText",0,n,"encodeVector",0,i,"nodeEmbeddingInput",0,a,"rankByQuery",0,o,"reembedNode",0,s])},53828,e=>e.a(async(t,r)=>{try{var n=e.i(91426),a=e.i(34700),i=t([n]);async function s(e=n.db){let[t]=await e.insert(a.appSetting).values({id:"singleton"}).onConflictDoUpdate({target:a.appSetting.id,set:{id:"singleton"}}).returning();return t}async function o(e,t=n.db){let[r]=await t.insert(a.appSetting).values({id:"singleton",...e}).onConflictDoUpdate({target:a.appSetting.id,set:e}).returning();return r}[n]=i.then?(await i)():i,e.s(["getAppSettings",0,s,"setAppSettings",0,o]),r()}catch(e){r(e)}},!1),91153,e=>{"use strict";let t=new Set(["a","an","the","of","for","to","and","or","in","on","with","via","by","using","use","add","adds","support","implement","implementation","feature","new","build","create","o","os","as","um","uma","de","da","do","das","dos","para","por","com","e","ou","no","na","nos","nas","ao","aos","adicionar","implementar","suporte","suportar","nova","novo","funcionalidade","usar","usando","criar"]);function r(e){return e.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function n(e){return r(e).split(" ").filter(e=>e&&!t.has(e))}function a(e,t){if(!e.size||!t.size)return 0;let r=0;for(let n of e)t.has(n)&&r++;return 2*r/(e.size+t.size)}function i(e){let t=r(e).replace(/ /g,""),n=new Set;for(let e=0;e<t.length-1;e++)n.add(t.slice(e,e+2));return n}e.s(["matchFeature",0,function(e,t,s={}){let o=s.confident??.72,l=s.consider??.5,u=s.margin??.1,d=t.map(t=>{var s,o;let l,u;return{...t,score:Math.round(100*(s=e,o=t.title,l=r(s),u=r(o),l&&u?l===u?1:Math.min(1,.7*a(new Set(n(s)),new Set(n(o)))+.4*a(i(s),i(o))):0))/100}}).sort((e,t)=>t.score-e.score),c=d[0];if(!c||c.score<l)return{best:null,candidates:[]};let p=d[1]?.score??0,h=1===d.length||c.score-p>=u;return c.score>=o&&h?{best:c,candidates:[]}:{best:null,candidates:d.filter(e=>e.score>=l).slice(0,4)}}])},32665,e=>{"use strict";var t=e.i(91153);e.s(["validateFeatureCreation",0,function(e){let r=(e.title??"").trim();if(!r)return"⛔ A feature needs a non-empty title.";if(!(e.category??"").trim()){let t=function(e){let t=new Set;for(let r of e){let e=(r.cluster??"").trim();e&&t.add(e)}return[...t].sort()}(e.existing),n=t.length?` Reuse an existing category where it fits: ${t.join(", ")}.`:"";return`⛔ Feature "${r}" has no category. Every roadmap feature needs one — it drives grouping and color on the board.${n} Pass it as \`category\` (e.g. AUTH, SEARCH, DATA, INTEL, BILLING, INFRA …); don't rely on a default.`}let n=(0,t.matchFeature)(r,e.existing.map(e=>({id:e.id,title:e.title})));if(n.best){let t=e.existing.find(e=>e.id===n.best.id),a=t?.status?` (${t.status})`:"";return`⛔ "${r}" already exists as the feature "${t?.title??n.best.title}"${a}. Don't create a duplicate — mark progress on it with \`beacon_start_feature({ id })\`, add sub-tasks with \`beacon_add_subtasks\`, or finish it with \`beacon_describe_feature\`.`}return null},"validateFront",0,function(e,r){let n=(e??"").trim();if(!n)return null;let a=(0,t.matchFeature)(n,r);if(a.best)return null;let i=a.candidates.length?` Did you mean: ${a.candidates.map(e=>`"${e.title}"`).join(", ")}?`:"";return`⛔ front "${n}" doesn't match an existing feature.${i} \`front\` nests a feature UNDER an existing parent feature — it is NOT a domain tag. If "${n}" is a domain, pass it as \`category\` instead. If it's a real umbrella feature, create it first via beacon_propose_plan.`},"validateNoDuplicateFeatures",0,function(e,r){let n=r.map(e=>({id:e.id,title:e.title})),a=e.map(e=>{let a=(0,t.matchFeature)(e.title??"",n);return a.best?{title:e.title,hit:r.find(e=>e.id===a.best.id)}:null}).filter(e=>null!==e);return a.length?"⛔ These proposed features already exist on the roadmap — reuse them instead of creating duplicates:\n"+a.map(e=>` • "${e.title}" → existing "${e.hit.title}"${e.hit.status?` (${e.hit.status})`:""}`).join("\n")+"\n\nDrop the duplicate(s) from the plan; to add work to an existing feature, ship sub-tasks or update it via beacon_describe_feature. Keep only genuinely new features in the proposal.":null},"validateProposedFeatures",0,function(e){let t=e.map(e=>{let t=[],r=e.cluster??e.category??e.domain??null;return r&&r.trim()||t.push("category"),null==e.priority&&t.push("priority"),t.length?` • "${e.title?.trim()||"(untitled)"}" — missing ${t.join(" + ")}`:null}).filter(e=>null!==e);return 0===t.length?null:"⛔ Every roadmap feature needs a category AND a priority — they drive grouping and ordering on the board, and the user shouldn't have to add them by hand. Missing:\n"+t.join("\n")+"\n\nRe-present with each feature carrying its category as `category` (or `cluster` — both work; e.g. AUTH, SEARCH, DATA, INTEL, BILLING …) and `priority` (0 = P0 critical, 1 = P1 high, 2 = P2 medium, 3 = P3 low). Set BOTH on EVERY feature; don't rely on defaults."}])},74950,e=>e.a(async(t,r)=>{try{var n=e.i(69719),a=e.i(89122),i=e.i(85336),s=t([i]);[i]=s.then?(await s)():s;let o=n.z.object({id:n.z.string().min(1),x:n.z.number(),y:n.z.number()}),l=n.z.object({batch:n.z.array(o).min(1)}),u=(0,a.pinned)(async e=>{try{let{batch:t}=l.parse(await e.json()),r=await (0,i.updateNodePositions)(t);return Response.json({ok:!0,updated:r})}catch(e){return new Response(e instanceof Error?e.message:"error",{status:400})}});e.s(["POST",0,u]),r()}catch(e){r(e)}},!1),15666,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),i=e.i(96250),s=e.i(59756),o=e.i(61916),l=e.i(74677),u=e.i(69741),d=e.i(16795),c=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),m=e.i(70101),g=e.i(26937),v=e.i(10372),y=e.i(93695);e.i(20232);var w=e.i(220),b=e.i(74950),R=t([b]);[b]=R.then?(await R)():R;let A=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/nodes/positions/route",pathname:"/api/nodes/positions",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/nodes/positions/route.ts",nextConfigOutput:"",userland:b,...{}}),{workAsyncStorage:_,workUnitAsyncStorage:x,serverHooks:C}=A;async function E(e,t,r){r.requestMeta&&(0,s.setRequestMeta)(e,r.requestMeta),A.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/nodes/positions/route";n=n.replace(/\/index$/,"")||"/";let i=await A.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:b,deploymentId:R,params:E,nextConfig:_,parsedUrl:x,isDraftMode:C,prerenderManifest:N,routerServerContext:S,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:I,serverActionsManifest:$}=i,O=(0,u.normalizeAppPath)(n),D=!!(N.dynamicRoutes[O]||N.routes[k]),q=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,x,!1):t.end("This page could not be found"),null);if(D&&!C){let e=!!N.routes[k],t=N.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(_.adapterPath)return await q();throw new y.NoFallbackError}}let H=null;!D||A.isDev||C||(H=k,H="/index"===H?"/":H);let M=!0===A.isDev||!D,j=D&&!M;$&&I&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:I,serverActionsManifest:$});let F=e.method||"GET",U=(0,o.getTracer)(),z=U.getActiveScopeSpan(),L=!!(null==S?void 0:S.isWrappedByNextServer),B=!!(0,s.getRequestMeta)(e,"minimalMode"),K=(0,s.getRequestMeta)(e,"incrementalCache")||await A.getIncrementalCache(e,_,N,B);null==K||K.resetRequestCache(),globalThis.__incrementalCache=K;let W={params:E,previewProps:N.preview,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:M,incrementalCache:K,cacheLifeProfiles:_.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>A.onRequestError(e,t,n,a,S)},sharedContext:{buildId:b,deploymentId:R}},G=new d.NodeNextRequest(e),V=new d.NodeNextResponse(t),X=c.NextRequestAdapter.fromNodeNextRequest(G,(0,c.signalFromNodeResponse)(t));try{let i,s=async e=>A.handle(X,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${F} ${n}`)}),l=async i=>{var o,l;let u=async({previousCacheEntry:a})=>{try{if(!B&&P&&T&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await s(i);e.fetchMetrics=W.renderOpts.fetchMetrics;let o=W.renderOpts.pendingWaitUntil;o&&r.waitUntil&&(r.waitUntil(o),o=void 0);let l=W.renderOpts.collectedTags;if(!D)return await (0,f.sendResponse)(G,V,n,W.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[v.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=v.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=v.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await A.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:P})},!1,S),t}},d=await A.handleResponse({req:e,nextConfig:_,cacheKey:H,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:P,revalidateOnlyGenerated:T,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:B});if(!D)return null;if((null==d||null==(o=d.value)?void 0:o.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});B||t.setHeader("x-nextjs-cache",P?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return B&&D||c.delete(v.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,f.sendResponse)(G,V,new Response(d.value.body,{headers:c,status:d.value.status||200})),null};L&&z?await l(z):(i=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(p.BaseServerSpan.handleRequest,{spanName:`${F} ${n}`,kind:o.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},l),void 0,!L))}catch(t){if(t instanceof y.NoFallbackError||await A.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:j,isOnDemandRevalidate:P})},!1,S),D)throw t;return await (0,f.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:x})},"routeModule",0,A,"serverHooks",0,C,"workAsyncStorage",0,_,"workUnitAsyncStorage",0,x]),r()}catch(e){r(e)}},!1),58502,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1t2egm-._.js"].map(t=>e.l(t))).then(()=>t(51514)))},46128,e=>{e.v(t=>Promise.all(["server/chunks/[externals]_@huggingface_transformers_05bd-zz._.js"].map(t=>e.l(t))).then(()=>t(99732)))},35914,e=>{e.v(t=>Promise.all(["server/chunks/lib_db_ts_0h_yn5m._.js"].map(t=>e.l(t))).then(()=>t(62294)))},29363,e=>{e.v(e=>Promise.resolve().then(()=>e(34700)))},96359,e=>{e.v(t=>Promise.all(["server/chunks/node_modules_drizzle-orm_index_1qnscv7.js"].map(t=>e.l(t))).then(()=>t(32628)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0kj4pte._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/api-workspace.ts","../../../lib/embeddings.ts","../../../lib/settings.ts","../../../lib/match.ts","../../../lib/feature-rules.ts","../../../app/api/nodes/positions/route.ts","../../../node_modules/next/src/build/templates/app-route.ts"],"sourcesContent":["import { ensureWorkspaceDb, resolveRequestWorkspaceId, runWithWorkspace } from \"@/lib/workspaces\";\n\n// Wrap a route handler so its whole execution is pinned to the request's workspace —\n// the `x-beacon-workspace` header (agent) or the `beacon_ws` cookie (browser selection),\n// falling back to the global active when neither is present. Use on every browser-facing\n// data route (canvas reads/writes) so an edit lands in the workspace the user is VIEWING,\n// not the global active one a background agent may have flipped.\n//\n// `db` / `dataDir()` / `repoRoot()` all consult the pin first, so wrapping the handler is\n// enough — nothing inside needs to know about workspaces.\n//\n// We `await ensureWorkspaceDb` BEFORE running the handler: the sync `db` Proxy getter no longer\n// self-heals (the libSQL migrator is async), so this request boundary is where a missing/behind\n// db gets provisioned + migrated. It short-circuits once the file is known-current this process,\n// so it's cheap on the hot path.\nexport function pinned<A extends unknown[]>(\n handler: (req: Request, ...rest: A) => Response | Promise<Response>,\n): (req: Request, ...rest: A) => Promise<Response> {\n return async (req, ...rest) => {\n const id = await resolveRequestWorkspaceId(req);\n if (id) await ensureWorkspaceDb(id);\n return runWithWorkspace(id, async () => handler(req, ...rest));\n };\n}\n","// Local semantic-search embedder. Loads Xenova/all-MiniLM-L6-v2 in-process\n// (~22MB cached on first use, ~50-100ms per text after that). Stays local so\n// the Beacon panel has no API-key dependency and no per-query network hop.\n// Vectors live in `Node.embedding` as JSON strings; cosine is computed in JS\n// at query time — at hundreds of nodes per workspace, sqlite-vec is overkill.\n\ntype FeatureExtractionPipeline = (\n text: string | string[],\n opts?: { pooling?: \"mean\" | \"cls\"; normalize?: boolean },\n) => Promise<{ data: Float32Array | number[] }>;\n\nlet pipelinePromise: Promise<FeatureExtractionPipeline> | null = null;\n\nasync function getEmbedder(): Promise<FeatureExtractionPipeline> {\n if (!pipelinePromise) {\n pipelinePromise = (async () => {\n const { pipeline } = await import(\"@huggingface/transformers\");\n // 384-dim sentence embeddings. The \"feature-extraction\" task with\n // mean-pooled + normalized output is the canonical sentence-encoder shape.\n return (await pipeline(\n \"feature-extraction\",\n \"Xenova/all-MiniLM-L6-v2\",\n )) as unknown as FeatureExtractionPipeline;\n })().catch((e) => {\n pipelinePromise = null; // let the next call retry on transient failure\n throw e;\n });\n }\n return pipelinePromise;\n}\n\n/** Compute a 384-dim sentence embedding. Returns null on failure (caller falls back to lexical). */\nexport async function embedText(text: string): Promise<number[] | null> {\n const trimmed = text.trim();\n if (!trimmed) return null;\n try {\n const embedder = await getEmbedder();\n const out = await embedder(trimmed, { pooling: \"mean\", normalize: true });\n return Array.from(out.data);\n } catch (e) {\n console.error(\"[embeddings] failed:\", e instanceof Error ? e.message : e);\n return null;\n }\n}\n\n/** Build the embedding input text from a node's queryable fields. */\nexport function nodeEmbeddingInput(node: {\n title: string;\n role?: string | null;\n plain?: string | null;\n cluster?: string | null;\n}): string {\n return [node.title, node.role, node.plain, node.cluster].filter(Boolean).join(\". \");\n}\n\n/** Cosine similarity, defensive against zero vectors and dimension mismatch. */\nexport function cosineSimilarity(a: number[], b: number[]): number {\n if (a.length !== b.length) return 0;\n let dot = 0;\n let normA = 0;\n let normB = 0;\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n normA += a[i] * a[i];\n normB += b[i] * b[i];\n }\n if (normA === 0 || normB === 0) return 0;\n return dot / (Math.sqrt(normA) * Math.sqrt(normB));\n}\n\nexport function encodeVector(v: number[]): string {\n return JSON.stringify(v);\n}\n\nexport function decodeVector(raw: string | null | undefined): number[] | null {\n if (!raw) return null;\n try {\n const parsed = JSON.parse(raw);\n if (!Array.isArray(parsed)) return null;\n if (parsed.some((x) => typeof x !== \"number\" || !Number.isFinite(x))) return null;\n return parsed as number[];\n } catch {\n return null;\n }\n}\n\n/**\n * Re-embed a Node from its current title/plain/role/cluster. Idempotent; swallows\n * errors so a failed embed never breaks the write that triggered it.\n */\nexport async function reembedNode(id: string): Promise<void> {\n try {\n const { db } = await import(\"@/lib/db\");\n const { node } = await import(\"@/lib/drizzle/schema\");\n const { eq } = await import(\"drizzle-orm\");\n const row = await db.query.node.findFirst({\n where: (t, { eq: eqf }) => eqf(t.id, id),\n columns: { title: true, role: true, plain: true, cluster: true },\n });\n if (!row) return;\n const vec = await embedText(nodeEmbeddingInput(row));\n if (!vec) return;\n await db.update(node).set({ embedding: encodeVector(vec) }).where(eq(node.id, id));\n } catch (e) {\n console.error(\"[embeddings] reembed failed:\", id, e instanceof Error ? e.message : e);\n }\n}\n\n/** Rank candidates by cosine. Returns null when the query embedding fails. */\nexport async function rankByQuery<T extends { embedding: string | null }>(\n query: string,\n candidates: T[],\n): Promise<Array<{ item: T; score: number }> | null> {\n const queryVec = await embedText(query);\n if (!queryVec) return null;\n const scored: Array<{ item: T; score: number }> = [];\n for (const item of candidates) {\n const v = decodeVector(item.embedding);\n if (!v) continue;\n scored.push({ item, score: cosineSimilarity(queryVec, v) });\n }\n scored.sort((a, b) => b.score - a.score);\n return scored;\n}\n","import { db, type DB } from \"@/lib/db-drizzle\";\nimport { appSetting } from \"@/lib/drizzle/schema\";\n\nexport async function getAppSettings(prisma: DB = db) {\n const [row] = await prisma\n .insert(appSetting)\n .values({ id: \"singleton\" })\n .onConflictDoUpdate({ target: appSetting.id, set: { id: \"singleton\" } })\n .returning();\n return row;\n}\n\nexport async function setAppSettings(\n data: {\n intelModel?: string;\n intelProvider?: string;\n editor?: string;\n currentFeatureId?: string | null;\n },\n prisma: DB = db,\n) {\n const [row] = await prisma\n .insert(appSetting)\n .values({ id: \"singleton\", ...data })\n .onConflictDoUpdate({ target: appSetting.id, set: data })\n .returning();\n return row;\n}\n","// Reliable feature matching for the map. Combines accent-folding, content-token\n// overlap (handles word reordering + filler words) and character-bigram similarity\n// (handles stems/typos/substrings), with confidence tiers so we only auto-flag on a\n// high-confidence unambiguous match and otherwise return candidates to disambiguate.\n\n// Filler words stripped before matching. The Portuguese set is intentional and functional —\n// it lets the matcher line up feature titles written in Portuguese (e.g. juriscan), NOT leftover\n// UI cruft, so don't \"clean it up\" as part of an English-only pass.\nconst STOP = new Set([\n // English filler\n \"a\", \"an\", \"the\", \"of\", \"for\", \"to\", \"and\", \"or\", \"in\", \"on\", \"with\", \"via\", \"by\",\n \"using\", \"use\", \"add\", \"adds\", \"support\", \"implement\", \"implementation\", \"feature\",\n \"new\", \"build\", \"create\",\n // Portuguese filler\n \"o\", \"os\", \"as\", \"um\", \"uma\", \"de\", \"da\", \"do\", \"das\", \"dos\", \"para\", \"por\", \"com\",\n \"e\", \"ou\", \"no\", \"na\", \"nos\", \"nas\", \"ao\", \"aos\", \"adicionar\", \"implementar\",\n \"suporte\", \"suportar\", \"nova\", \"novo\", \"funcionalidade\", \"usar\", \"usando\", \"criar\",\n]);\n\nfunction fold(s: string): string {\n return s.normalize(\"NFD\").replace(/[̀-ͯ]/g, \"\");\n}\n\nfunction normExact(s: string): string {\n return fold(s)\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, \" \")\n .trim()\n .replace(/\\s+/g, \" \");\n}\n\nexport function contentTokens(s: string): string[] {\n return normExact(s)\n .split(\" \")\n .filter((t) => t && !STOP.has(t));\n}\n\nfunction diceSets(a: Set<string>, b: Set<string>): number {\n if (!a.size || !b.size) return 0;\n let inter = 0;\n for (const t of a) if (b.has(t)) inter++;\n return (2 * inter) / (a.size + b.size);\n}\n\nfunction charBigrams(s: string): Set<string> {\n const x = normExact(s).replace(/ /g, \"\");\n const set = new Set<string>();\n for (let i = 0; i < x.length - 1; i++) set.add(x.slice(i, i + 2));\n return set;\n}\n\n/** 0..1 similarity between two feature titles. */\nexport function similarity(a: string, b: string): number {\n const na = normExact(a);\n const nb = normExact(b);\n if (!na || !nb) return 0;\n if (na === nb) return 1;\n const tokenDice = diceSets(new Set(contentTokens(a)), new Set(contentTokens(b)));\n const bigramDice = diceSets(charBigrams(a), charBigrams(b));\n return Math.min(1, 0.7 * tokenDice + 0.4 * bigramDice);\n}\n\nexport interface Candidate {\n id: string;\n title: string;\n}\nexport interface Scored extends Candidate {\n score: number;\n}\n\nexport function rankMatches(query: string, candidates: Candidate[]): Scored[] {\n return candidates\n .map((c) => ({ ...c, score: Math.round(similarity(query, c.title) * 100) / 100 }))\n .sort((a, b) => b.score - a.score);\n}\n\nexport interface MatchOutcome {\n /** A confident, unambiguous match — safe to act on automatically. */\n best: Scored | null;\n /** Plausible candidates to disambiguate (caller should pick one by id). */\n candidates: Scored[];\n}\n\nexport function matchFeature(\n query: string,\n candidates: Candidate[],\n opts: { confident?: number; consider?: number; margin?: number } = {},\n): MatchOutcome {\n const confident = opts.confident ?? 0.72;\n const consider = opts.consider ?? 0.5;\n const margin = opts.margin ?? 0.1;\n\n const ranked = rankMatches(query, candidates);\n const top = ranked[0];\n if (!top || top.score < consider) return { best: null, candidates: [] };\n\n const runnerUp = ranked[1]?.score ?? 0;\n const unambiguous = ranked.length === 1 || top.score - runnerUp >= margin;\n\n if (top.score >= confident && unambiguous) return { best: top, candidates: [] };\n return { best: null, candidates: ranked.filter((r) => r.score >= consider).slice(0, 4) };\n}\n","// Shared rule for proposed roadmap features: a feature node is only useful on the board if it\n// carries a category (cluster) and a priority — they drive grouping + ordering, and the user\n// shouldn't have to add them by hand every time. The propose-plan flow therefore REQUIRES both\n// and rejects a plan missing either, the same gate idea as \"a DB plan must ship structured\n// tables\". Pure (no db / no fs import) so BOTH the MCP server process and the /api/plan route\n// can call it.\n\nimport { matchFeature, type Candidate } from \"@/lib/match\";\n\nexport interface FeatureLike {\n title: string;\n cluster?: string | null;\n // The agent + UI both call this \"category\", and \"domain\" is the adjacent word it reaches for.\n // Accept all three as the same thing so a plan written with `category` isn't falsely rejected.\n category?: string | null;\n domain?: string | null;\n priority?: number | null;\n}\n\n// The feature's category, accepting the `cluster` / `category` / `domain` aliases.\nexport function featureCategory(f: FeatureLike): string | null {\n return f.cluster ?? f.category ?? f.domain ?? null;\n}\n\n// Returns an agent-facing rejection message when any feature is missing its category/priority,\n// or null when every feature is complete.\nexport function validateProposedFeatures(features: FeatureLike[]): string | null {\n const gaps = features\n .map((f) => {\n const missing: string[] = [];\n const category = featureCategory(f);\n if (!category || !category.trim()) missing.push(\"category\");\n if (f.priority == null) missing.push(\"priority\");\n return missing.length\n ? ` • \"${f.title?.trim() || \"(untitled)\"}\" — missing ${missing.join(\" + \")}`\n : null;\n })\n .filter((x): x is string => x !== null);\n if (gaps.length === 0) return null;\n return (\n \"⛔ Every roadmap feature needs a category AND a priority — they drive grouping and ordering \" +\n \"on the board, and the user shouldn't have to add them by hand. Missing:\\n\" +\n gaps.join(\"\\n\") +\n \"\\n\\nRe-present with each feature carrying its category as `category` (or `cluster` — both \" +\n \"work; e.g. AUTH, SEARCH, DATA, INTEL, BILLING …) and `priority` (0 = P0 critical, 1 = P1 \" +\n \"high, 2 = P2 medium, 3 = P3 low). Set BOTH on EVERY feature; don't rely on defaults.\"\n );\n}\n\nexport interface ExistingFeature {\n id: string;\n title: string;\n cluster?: string | null;\n status?: string | null;\n}\n\n/** Sorted, unique, non-empty category (cluster) names already on the roadmap — surfaced to the\n * agent so it reuses an existing category instead of inventing a near-synonym. */\nexport function existingCategories(features: ExistingFeature[]): string[] {\n const set = new Set<string>();\n for (const f of features) {\n const c = (f.cluster ?? \"\").trim();\n if (c) set.add(c);\n }\n return [...set].sort();\n}\n\n/** Guard for creating a SINGLE roadmap feature on the loose paths (start_feature / add_subtasks),\n * mirroring the propose_plan gate: a feature must carry a category and must not duplicate an\n * existing one. Returns an agent-facing rejection message, or null when it's safe to create.\n * Pure (no db) so the route + the MCP process share one rule. */\nexport function validateFeatureCreation(input: {\n title: string;\n category?: string | null;\n existing: ExistingFeature[];\n}): string | null {\n const title = (input.title ?? \"\").trim();\n if (!title) return \"⛔ A feature needs a non-empty title.\";\n\n const category = (input.category ?? \"\").trim();\n if (!category) {\n const cats = existingCategories(input.existing);\n const reuse = cats.length\n ? ` Reuse an existing category where it fits: ${cats.join(\", \")}.`\n : \"\";\n return (\n `⛔ Feature \"${title}\" has no category. Every roadmap feature needs one — it drives grouping ` +\n `and color on the board.${reuse} Pass it as \\`category\\` (e.g. AUTH, SEARCH, DATA, INTEL, ` +\n `BILLING, INFRA …); don't rely on a default.`\n );\n }\n\n const dup = matchFeature(\n title,\n input.existing.map((f) => ({ id: f.id, title: f.title })),\n );\n if (dup.best) {\n const f = input.existing.find((e) => e.id === dup.best!.id);\n const status = f?.status ? ` (${f.status})` : \"\";\n return (\n `⛔ \"${title}\" already exists as the feature \"${f?.title ?? dup.best.title}\"${status}. Don't ` +\n `create a duplicate — mark progress on it with \\`beacon_start_feature({ id })\\`, add sub-tasks ` +\n `with \\`beacon_add_subtasks\\`, or finish it with \\`beacon_describe_feature\\`.`\n );\n }\n return null;\n}\n\n/** Dedup guard for a multi-feature plan (propose_plan / ExitPlanMode block): flags any proposed\n * feature whose title confidently matches an EXISTING (non-draft) roadmap feature, so the agent\n * reuses it instead of shadowing it. Returns a rejection message, or null when all are new. */\nexport function validateNoDuplicateFeatures(\n features: { title: string }[],\n existing: ExistingFeature[],\n): string | null {\n const cands = existing.map((e) => ({ id: e.id, title: e.title }));\n const dups = features\n .map((f) => {\n const m = matchFeature(f.title ?? \"\", cands);\n return m.best ? { title: f.title, hit: existing.find((e) => e.id === m.best!.id)! } : null;\n })\n .filter((x): x is { title: string; hit: ExistingFeature } => x !== null);\n if (!dups.length) return null;\n return (\n \"⛔ These proposed features already exist on the roadmap — reuse them instead of creating \" +\n \"duplicates:\\n\" +\n dups\n .map((d) => ` • \"${d.title}\" → existing \"${d.hit.title}\"${d.hit.status ? ` (${d.hit.status})` : \"\"}`)\n .join(\"\\n\") +\n \"\\n\\nDrop the duplicate(s) from the plan; to add work to an existing feature, ship sub-tasks \" +\n \"or update it via beacon_describe_feature. Keep only genuinely new features in the proposal.\"\n );\n}\n\n/** Guard for the `front` param of beacon_start_feature: it must reference an EXISTING parent\n * feature, NOT a domain label. Returns a rejection message, or null when front matches (or is\n * empty — no front means the feature lands top-level, which is fine). */\nexport function validateFront(front: string, existingFronts: Candidate[]): string | null {\n const f = (front ?? \"\").trim();\n if (!f) return null;\n const m = matchFeature(f, existingFronts);\n if (m.best) return null;\n const hint = m.candidates.length\n ? ` Did you mean: ${m.candidates.map((c) => `\"${c.title}\"`).join(\", \")}?`\n : \"\";\n return (\n `⛔ front \"${f}\" doesn't match an existing feature.${hint} \\`front\\` nests a feature UNDER an ` +\n `existing parent feature — it is NOT a domain tag. If \"${f}\" is a domain, pass it as \\`category\\` ` +\n `instead. If it's a real umbrella feature, create it first via beacon_propose_plan.`\n );\n}\n","import { z } from \"zod\";\nimport { pinned } from \"@/lib/api-workspace\";\nimport { updateNodePositions } from \"@/lib/mutations\";\n\n// Batch position persistence for the roadmap \"Arrange\" action: the client computes group-by\n// lane positions for every feature and saves them in ONE round-trip. Static sibling of\n// `nodes/[id]` (like `nodes/subtasks`), so `/api/nodes/positions` resolves here, not to the\n// dynamic `[id]` route. No cache revalidation — positions don't change rendered data, and the\n// canvas already applied them optimistically. Pinned to the workspace the browser is viewing.\nconst row = z.object({ id: z.string().min(1), x: z.number(), y: z.number() });\nconst schema = z.object({ batch: z.array(row).min(1) });\n\nexport const POST = pinned(async (req: Request) => {\n try {\n const { batch } = schema.parse(await req.json());\n const updated = await updateNodePositions(batch);\n return Response.json({ ok: true, updated });\n } catch (e) {\n return new Response(e instanceof Error ? e.message : \"error\", { status: 400 });\n }\n});\n","import {\n AppRouteRouteModule,\n type AppRouteRouteHandlerContext,\n type AppRouteRouteModuleOptions,\n type AppRouteUserlandModule,\n} from '../../server/route-modules/app-route/module.compiled'\nimport { RouteKind } from '../../server/route-kind'\nimport { patchFetch as _patchFetch } from '../../server/lib/patch-fetch'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\nimport {\n addRequestMeta,\n getRequestMeta,\n setRequestMeta,\n type RequestMeta,\n} from '../../server/request-meta'\nimport { getTracer, type Span, SpanKind } from '../../server/lib/trace/tracer'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport {\n NextRequestAdapter,\n signalFromNodeResponse,\n} from '../../server/web/spec-extension/adapters/next-request'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { sendResponse } from '../../server/send-response'\nimport {\n fromNodeOutgoingHttpHeaders,\n toNodeOutgoingHttpHeaders,\n} from '../../server/web/utils'\nimport { getCacheControlHeader } from '../../server/lib/cache-control'\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from '../../lib/constants'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport {\n CachedRouteKind,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\nimport * as userland from 'VAR_USERLAND'\n\n// These are injected by the loader afterwards. This is injected as a variable\n// instead of a replacement because this could also be `undefined` instead of\n// an empty string.\ndeclare const nextConfigOutput: AppRouteRouteModuleOptions['nextConfigOutput']\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\n// INJECT:nextConfigOutput\n\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n filename: 'VAR_DEFINITION_FILENAME',\n bundlePath: 'VAR_DEFINITION_BUNDLE_PATH',\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: 'VAR_RESOLVED_PAGE_PATH',\n nextConfigOutput,\n // The static import is used for initialization (methods, dynamic, etc.).\n userland: userland as AppRouteUserlandModule,\n // In Turbopack dev mode, also provide a getter that calls require() on every\n // request. This re-reads from devModuleCache so HMR updates are picked up,\n // and the async wrapper unwraps async-module Promises (ESM-only\n // serverExternalPackages) automatically.\n ...(process.env.TURBOPACK && process.env.__NEXT_DEV_SERVER\n ? {\n getUserland: () => import('VAR_USERLAND'),\n }\n : {}),\n})\n\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule\n\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n routeModule,\n workAsyncStorage,\n workUnitAsyncStorage,\n serverHooks,\n patchFetch,\n}\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil?: (prom: Promise<void>) => void\n requestMeta?: RequestMeta\n }\n) {\n if (ctx.requestMeta) {\n setRequestMeta(req, ctx.requestMeta)\n }\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n deploymentId,\n params,\n nextConfig,\n parsedUrl,\n isDraftMode,\n prerenderManifest,\n routerServerContext,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n resolvedPathname,\n clientReferenceManifest,\n serverActionsManifest,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let isIsr = Boolean(\n prerenderManifest.dynamicRoutes[normalizedSrcPage] ||\n prerenderManifest.routes[resolvedPathname]\n )\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname])\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage]\n\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n if (nextConfig.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n }\n }\n\n let cacheKey: string | null = null\n\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey\n }\n\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr\n\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isStaticGeneration = isIsr && !supportsDynamicResponse\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n const isWrappedByNextServer = Boolean(\n routerServerContext?.isWrappedByNextServer\n )\n const isMinimalMode = Boolean(getRequestMeta(req, 'minimalMode'))\n\n const incrementalCache =\n getRequestMeta(req, 'incrementalCache') ||\n (await routeModule.getIncrementalCache(\n req,\n nextConfig,\n prerenderManifest,\n isMinimalMode\n ))\n\n incrementalCache?.resetRequestCache()\n ;(globalThis as any).__incrementalCache = incrementalCache\n\n const context: AppRouteRouteHandlerContext = {\n params,\n previewProps: prerenderManifest.preview,\n renderOpts: {\n experimental: {\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n },\n cacheComponents: Boolean(nextConfig.cacheComponents),\n supportsDynamicResponse,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n },\n sharedContext: {\n buildId,\n deploymentId,\n },\n }\n const nodeNextReq = new NodeNextRequest(req)\n const nodeNextRes = new NodeNextResponse(res)\n\n const nextReq = NextRequestAdapter.fromNodeNextRequest(\n nodeNextReq,\n signalFromNodeResponse(res)\n )\n\n try {\n let parentSpan: Span | undefined\n const invokeRouteModule = async (span?: Span) => {\n return routeModule.handle(nextReq, context).finally(() => {\n if (!span) return\n\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false,\n })\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route')\n if (route) {\n const name = `${method} ${route}`\n\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n span.updateName(name)\n\n // Propagate http.route to the parent span if one exists (e.g.\n // a platform-created HTTP span in adapter deployments).\n if (parentSpan && parentSpan !== span) {\n parentSpan.setAttribute('http.route', route)\n parentSpan.updateName(name)\n }\n } else {\n span.updateName(`${method} ${srcPage}`)\n }\n })\n }\n\n const handleResponse = async (currentSpan?: Span) => {\n const responseGenerator: ResponseGenerator = async ({\n previousCacheEntry,\n }) => {\n try {\n if (\n !isMinimalMode &&\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousCacheEntry\n ) {\n res.statusCode = 404\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED')\n res.end('This page could not be found')\n return null\n }\n\n const response = await invokeRouteModule(currentSpan)\n\n ;(req as any).fetchMetrics = (context.renderOpts as any).fetchMetrics\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil\n\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil)\n pendingWaitUntil = undefined\n }\n }\n const cacheTags = context.renderOpts.collectedTags\n\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob()\n\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers)\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type\n }\n\n const revalidate =\n typeof context.renderOpts.collectedRevalidate === 'undefined' ||\n context.renderOpts.collectedRevalidate >= INFINITE_CACHE\n ? false\n : context.renderOpts.collectedRevalidate\n\n const expire =\n typeof context.renderOpts.collectedExpire === 'undefined' ||\n context.renderOpts.collectedExpire >= INFINITE_CACHE\n ? undefined\n : context.renderOpts.collectedExpire\n\n // Create the cache entry for the response.\n const cacheEntry: ResponseCacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers,\n },\n cacheControl: { revalidate, expire },\n }\n\n return cacheEntry\n } else {\n // send response without caching if not ISR\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n response,\n context.renderOpts.pendingWaitUntil\n )\n return null\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry?.isStale) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n throw err\n }\n }\n\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null\n }\n\n if (cacheEntry?.value?.kind !== CachedRouteKind.APP_ROUTE) {\n throw new Error(\n `Invariant: app-route received invalid cache entry ${cacheEntry?.value?.kind}`\n )\n }\n\n if (!isMinimalMode) {\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers)\n\n if (!(isMinimalMode && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER)\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (\n cacheEntry.cacheControl &&\n !res.getHeader('Cache-Control') &&\n !headers.get('Cache-Control')\n ) {\n headers.set(\n 'Cache-Control',\n getCacheControlHeader(cacheEntry.cacheControl)\n )\n }\n\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n // @ts-expect-error - Argument of type 'Buffer<ArrayBufferLike>' is not assignable to parameter of type 'BodyInit | null | undefined'.\n new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200,\n })\n )\n return null\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (isWrappedByNextServer && activeSpan) {\n await handleResponse(activeSpan)\n } else {\n parentSpan = tracer.getActiveScopeSpan()\n await tracer.withPropagatedContext(\n req.headers,\n () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n handleResponse\n ),\n undefined,\n !isWrappedByNextServer\n )\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isStaticGeneration,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n\n // If this is during static generation, throw the error again.\n if (isIsr) throw err\n\n // Otherwise, send a 500 response.\n await sendResponse(\n nodeNextReq,\n nodeNextRes,\n new Response(null, { status: 500 })\n )\n return null\n }\n}\n"],"names":["pinned","handler","req","rest","id","pipelinePromise","getEmbedder","pipeline","catch","e","embedText","text","trimmed","trim","embedder","out","pooling","normalize","Array","from","data","console","error","Error","message","nodeEmbeddingInput","node","title","role","plain","cluster","filter","Boolean","join","cosineSimilarity","a","b","length","dot","normA","normB","i","Math","sqrt","encodeVector","v","JSON","stringify","decodeVector","raw","parsed","parse","isArray","some","x","Number","isFinite","reembedNode","db","eq","row","query","findFirst","where","t","eqf","columns","vec","update","set","embedding","rankByQuery","candidates","queryVec","scored","item","push","score","sort","getAppSettings","prisma","insert","values","onConflictDoUpdate","target","returning","setAppSettings","STOP","Set","fold","s","replace","normExact","toLowerCase","contentTokens","split","has","diceSets","size","inter","charBigrams","add","slice","similarity","na","nb","tokenDice","bigramDice","min","rankMatches","map","c","round","matchFeature","opts","confident","consider","margin","ranked","top","best","runnerUp","unambiguous","r","featureCategory","f","category","domain","validateProposedFeatures","features","gaps","missing","priority","existingCategories","validateFeatureCreation","input","cats","existing","reuse","dup","find","status","validateNoDuplicateFeatures","cands","dups","m","hit","d","validateFront","front","existingFronts","hint","object","string","number","y","schema","batch","array","POST","json","updated","Response","ok","AppRouteRouteModule","RouteKind","patchFetch","_patchFetch","addRequestMeta","getRequestMeta","setRequestMeta","getTracer","SpanKind","setManifestsSingleton","normalizeAppPath","NodeNextRequest","NodeNextResponse","NextRequestAdapter","signalFromNodeResponse","BaseServerSpan","getRevalidateReason","sendResponse","fromNodeOutgoingHttpHeaders","toNodeOutgoingHttpHeaders","getCacheControlHeader","INFINITE_CACHE","NEXT_CACHE_TAGS_HEADER","NoFallbackError","CachedRouteKind","userland","routeModule","definition","kind","APP_ROUTE","page","pathname","filename","bundlePath","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","resolvedPagePath","nextConfigOutput","TURBOPACK","__NEXT_DEV_SERVER","getUserland","workAsyncStorage","workUnitAsyncStorage","serverHooks","res","ctx","requestMeta","isDev","hrtime","bigint","srcPage","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","deploymentId","params","nextConfig","parsedUrl","isDraftMode","prerenderManifest","routerServerContext","isOnDemandRevalidate","revalidateOnlyGenerated","resolvedPathname","clientReferenceManifest","serverActionsManifest","normalizedSrcPage","isIsr","dynamicRoutes","routes","render404","isPrerendered","prerenderInfo","fallback","adapterPath","cacheKey","supportsDynamicResponse","isStaticGeneration","method","tracer","activeSpan","getActiveScopeSpan","isWrappedByNextServer","isMinimalMode","incrementalCache","getIncrementalCache","resetRequestCache","globalThis","__incrementalCache","context","previewProps","preview","renderOpts","experimental","authInterrupts","cacheComponents","cacheLifeProfiles","cacheLife","onClose","cb","on","onAfterTaskError","undefined","onInstrumentationRequestError","_request","errorContext","silenceLog","onRequestError","sharedContext","nodeNextReq","nodeNextRes","nextReq","fromNodeNextRequest","parentSpan","invokeRouteModule","span","handle","finally","setAttributes","rootSpanAttributes","getRootSpanAttributes","get","handleRequest","warn","route","name","updateName","setAttribute","handleResponse","currentSpan","cacheEntry","responseGenerator","previousCacheEntry","setHeader","response","fetchMetrics","pendingWaitUntil","cacheTags","collectedTags","blob","headers","type","revalidate","collectedRevalidate","expire","collectedExpire","value","body","Buffer","arrayBuffer","cacheControl","err","isStale","routerKind","routePath","routeType","revalidateReason","routeKind","isFallback","isRoutePPREnabled","isMiss","delete","getHeader","withPropagatedContext","trace","spanName","SERVER","attributes","url"],"mappings":"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","ignoreList":[6]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
module.exports=[18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},38752,e=>{"use strict";var t=e.i(74533),r=e.i(66680),n=e.i(60526),a=e.i(50227),i=e.i(14859);let o=null;function s(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let e=(0,i.getPinnedWorkspaceId)();if(e){let t=(0,i.getWorkspace)(e);if(t)return t.path}let r=(0,i.activeWorkspace)();if(r)return r.path;if(o)return o;try{let e=(0,t.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(e)return o=e}catch{}return o=(0,a.resolve)(process.cwd(),"../..")}e.s(["dataDir",0,function(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let e=(0,i.getPinnedWorkspaceId)();if(e&&(0,i.getWorkspace)(e))return(0,i.dataDirFor)(e);let t=(0,i.activeWorkspace)();return t?(0,i.dataDirFor)(t.id):(0,a.join)((0,n.homedir)(),".beacon",(0,r.createHash)("sha256").update(s()).digest("hex").slice(0,12))},"repoName",0,function(){return(0,a.basename)(s())},"repoRoot",0,s])},23092,e=>e.a(async(t,r)=>{try{var n=e.i(91426),a=e.i(34700),i=t([n]);async function o(e=n.db){let[t]=await e.insert(a.projectMeta).values({id:"singleton"}).onConflictDoUpdate({target:a.projectMeta.id,set:{id:"singleton"}}).returning();return t}async function s(e,t=n.db){let r={};null!=e.overview&&(r.overview=e.overview),e.conventions&&(r.conventions=JSON.stringify(e.conventions)),0===Object.keys(r).length&&(r.id="singleton");let[i]=await t.insert(a.projectMeta).values({id:"singleton",overview:e.overview??null,conventions:JSON.stringify(e.conventions??[])}).onConflictDoUpdate({target:a.projectMeta.id,set:r}).returning();return i}[n]=i.then?(await i)():i,e.s(["getProjectMeta",0,o,"setProjectMeta",0,s]),r()}catch(e){r(e)}},!1),81494,e=>e.a(async(t,r)=>{try{var n=e.i(2157),a=e.i(50227),i=e.i(91426),o=e.i(38752),s=e.i(23092),l=t([i,s]);[i,s]=l.then?(await l)():l;let p="<!-- beacon:start -->",h="<!-- beacon:end -->";async function c(){let e=await (0,s.getProjectMeta)(),t=[];try{t=JSON.parse(e.conventions)}catch{t=[]}let r=await i.db.query.node.findMany({where:(e,{eq:t})=>t(e.view,"ARCHITECTURE"),with:{files:{columns:{path:!0}}},orderBy:(e,{asc:t})=>t(e.cluster)}),l=await i.db.query.dbTable.findMany({with:{columns:{orderBy:(e,{asc:t})=>t(e.ord)}},orderBy:(e,{asc:t})=>t(e.name)}),c=await i.db.query.endpoint.findMany({orderBy:(e,{asc:t})=>[t(e.domain),t(e.path)]}),u=function(e){let t={};try{let r=JSON.parse((0,n.readFileSync)((0,a.join)(e,"package.json"),"utf8"));for(let e of["dev","build","test","lint","start"])r.scripts?.[e]&&(t[e]=`npm run ${e}`)}catch{}try{let r=(0,n.readFileSync)((0,a.join)(e,"Makefile"),"utf8");for(let e of["dev","up","build","test","lint"])RegExp(`^${e}:`,"m").test(r)&&(t[e]=`make ${e}`)}catch{}return!t.test&&((0,n.existsSync)((0,a.join)(e,"pyproject.toml"))||(0,n.existsSync)((0,a.join)(e,"requirements.txt")))&&(t.test="pytest"),t}((0,o.repoRoot)()),d=[`## Project: ${(0,o.repoName)()}`];if(e.overview&&d.push("",e.overview),Object.keys(u).length)for(let[e,t]of(d.push("","### Commands"),Object.entries(u)))d.push(`- ${e}: \`${t}\``);if(r.length){d.push("","### Architecture");let e=new Map;for(let t of r){let r=t.cluster??"MISC";e.has(r)||e.set(r,[]),e.get(r).push(t)}for(let[t,r]of e)for(let e of(d.push(`- **${t}**`),r)){let t=e.files.map(e=>e.path).slice(0,6).join(", ");d.push(` - ${e.title}${e.role?` — ${e.role}`:""}${t?` (${t})`:""}`)}}if(l.length)for(let e of(d.push("","### Database"),l))d.push(`- \`${e.name}\`: ${e.columns.map(e=>e.name).slice(0,12).join(", ")}`);if(c.length)for(let e of(d.push("","### Endpoints"),c.slice(0,40)))d.push(`- ${e.method} ${e.path}`);if(t.length)for(let e of(d.push("","### Conventions & gotchas"),t))d.push(`- ${e}`);return d.push("","_Maintained by Beacon — edit outside the markers; this block is regenerated._"),d.join("\n")}function u(e,t,r){let a=`${p}
|
|
2
|
+
${t}
|
|
3
|
+
${h}`,i=(0,n.existsSync)(e)?(0,n.readFileSync)(e,"utf8"):"";i=i.includes(p)&&i.includes(h)?i.replace(RegExp(`${p}[\\s\\S]*?${h}`),a):i.trim()?`${i.trim()}
|
|
4
|
+
|
|
5
|
+
${a}
|
|
6
|
+
`:`${r}
|
|
7
|
+
|
|
8
|
+
${a}
|
|
9
|
+
`,(0,n.writeFileSync)(e,i)}async function d(e={}){let t=(0,o.repoRoot)(),r=(0,a.join)(t,"AGENTS.md"),i=(0,a.join)(t,"CLAUDE.md");if(e.onlyIfManaged&&!((0,n.existsSync)(r)&&(0,n.readFileSync)(r,"utf8").includes(p)))return[];let s=[];u(r,await c(),"# AGENTS.md"),s.push(r);let l=(0,n.existsSync)(i)?(0,n.readFileSync)(i,"utf8"):"";return/@?AGENTS\.md/.test(l)||(u(i,"@AGENTS.md","# CLAUDE.md"),s.push(i)),s}e.s(["writeContextFiles",0,d]),r()}catch(e){r(e)}},!1),44294,e=>e.a(async(t,r)=>{try{var n=e.i(81494),a=t([n]);async function i(){try{let e=await (0,n.writeContextFiles)();return Response.json({ok:!0,files:e})}catch(e){return new Response(`context failed: ${e instanceof Error?e.message:"error"}`,{status:500})}}[n]=a.then?(await a)():a,e.s(["POST",0,i,"dynamic",0,"force-dynamic"]),r()}catch(e){r(e)}},!1),43941,e=>e.a(async(t,r)=>{try{var n=e.i(47909),a=e.i(74017),i=e.i(96250),o=e.i(59756),s=e.i(61916),l=e.i(74677),c=e.i(69741),u=e.i(16795),d=e.i(87718),p=e.i(95169),h=e.i(47587),f=e.i(66012),v=e.i(70101),y=e.i(26937),g=e.i(10372),m=e.i(93695);e.i(20232);var x=e.i(220),w=e.i(44294),R=t([w]);[w]=R.then?(await R)():R;let C=new n.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/context/route",pathname:"/api/context",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/app/api/context/route.ts",nextConfigOutput:"",userland:w,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:S}=C;async function E(e,t,r){r.requestMeta&&(0,o.setRequestMeta)(e,r.requestMeta),C.isDev&&(0,o.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let n="/api/context/route";n=n.replace(/\/index$/,"")||"/";let i=await C.prepare(e,t,{srcPage:n,multiZoneDraftMode:!1});if(!i)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:w,deploymentId:R,params:E,nextConfig:b,parsedUrl:A,isDraftMode:S,prerenderManifest:j,routerServerContext:N,isOnDemandRevalidate:$,revalidateOnlyGenerated:O,resolvedPathname:T,clientReferenceManifest:k,serverActionsManifest:P}=i,_=(0,c.normalizeAppPath)(n),M=!!(j.dynamicRoutes[_]||j.routes[T]),q=async()=>((null==N?void 0:N.render404)?await N.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!S){let e=!!j.routes[T],t=j.dynamicRoutes[_];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await q();throw new m.NoFallbackError}}let D=null;!M||C.isDev||S||(D=T,D="/index"===D?"/":D);let I=!0===C.isDev||!M,U=M&&!I;P&&k&&(0,l.setManifestsSingleton)({page:n,clientReferenceManifest:k,serverActionsManifest:P});let H=e.method||"GET",F=(0,s.getTracer)(),B=F.getActiveScopeSpan(),W=!!(null==N?void 0:N.isWrappedByNextServer),K=!!(0,o.getRequestMeta)(e,"minimalMode"),G=(0,o.getRequestMeta)(e,"incrementalCache")||await C.getIncrementalCache(e,b,j,K);null==G||G.resetRequestCache(),globalThis.__incrementalCache=G;let L={params:E,previewProps:j.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:G,cacheLifeProfiles:b.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,N)},sharedContext:{buildId:w,deploymentId:R}},J=new u.NodeNextRequest(e),V=new u.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(J,(0,d.signalFromNodeResponse)(t));try{let i,o=async e=>C.handle(X,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),i&&i!==e&&(i.setAttribute("http.route",a),i.updateName(t))}else e.updateName(`${H} ${n}`)}),l=async i=>{var s,l;let c=async({previousCacheEntry:a})=>{try{if(!K&&$&&O&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(i);e.fetchMetrics=L.renderOpts.fetchMetrics;let s=L.renderOpts.pendingWaitUntil;s&&r.waitUntil&&(r.waitUntil(s),s=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,f.sendResponse)(J,V,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,v.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==a?void 0:a.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:n,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,N),t}},u=await C.handleResponse({req:e,nextConfig:b,cacheKey:D,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:j,isRoutePPREnabled:!1,isOnDemandRevalidate:$,revalidateOnlyGenerated:O,responseGenerator:c,waitUntil:r.waitUntil,isMinimalMode:K});if(!M)return null;if((null==u||null==(s=u.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(l=u.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",$?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let d=(0,v.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&M||d.delete(g.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||d.get("Cache-Control")||d.set("Cache-Control",(0,y.getCacheControlHeader)(u.cacheControl)),await (0,f.sendResponse)(J,V,new Response(u.value.body,{headers:d,status:u.value.status||200})),null};W&&B?await l(B):(i=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${n}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l),void 0,!W))}catch(t){if(t instanceof m.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:_,routeType:"route",revalidateReason:(0,h.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:$})},!1,N),M)throw t;return await (0,f.sendResponse)(J,V,new Response(null,{status:500})),null}}e.s(["handler",0,E,"patchFetch",0,function(){return(0,i.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})},"routeModule",0,C,"serverHooks",0,S,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,A]),r()}catch(e){r(e)}},!1),58502,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1t2egm-._.js"].map(t=>e.l(t))).then(()=>t(51514)))}];
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0muvnnv._.js.map
|