prism0x2a 0.19.0 → 0.24.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/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +20 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/routes-manifest.json +120 -0
- package/.next/standalone/.next/server/app/_global-error/page.js +3 -3
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +3 -3
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agb/page.js +2 -2
- package/.next/standalone/.next/server/app/agb/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/agb.html +2 -2
- package/.next/standalone/.next/server/app/agb.rsc +2 -2
- package/.next/standalone/.next/server/app/agb.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agb.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agb.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agb.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/agb.segments/agb/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/agb.segments/agb.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/capabilities/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/amber/capabilities/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/amber/capabilities/page.js +3 -3
- package/.next/standalone/.next/server/app/amber/capabilities/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/amber/capabilities.html +2 -2
- package/.next/standalone/.next/server/app/amber/capabilities.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/capabilities.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/capabilities.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/capabilities.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/capabilities.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/capabilities.segments/amber/capabilities/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/capabilities.segments/amber/capabilities.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/capabilities.segments/amber.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/coverage/page.js +2 -2
- package/.next/standalone/.next/server/app/amber/coverage/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/amber/coverage.html +2 -2
- package/.next/standalone/.next/server/app/amber/coverage.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/coverage.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/coverage.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/coverage.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/coverage.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/coverage.segments/amber/coverage/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/coverage.segments/amber/coverage.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/coverage.segments/amber.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/files/page.js +2 -2
- package/.next/standalone/.next/server/app/amber/files/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/amber/files.html +2 -2
- package/.next/standalone/.next/server/app/amber/files.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/files.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/amber/files.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/files.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/files.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/files.segments/amber/files/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber/files.segments/amber/files.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/files.segments/amber.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber/page.js +3 -3
- package/.next/standalone/.next/server/app/amber/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/amber.html +2 -2
- package/.next/standalone/.next/server/app/amber.rsc +3 -3
- package/.next/standalone/.next/server/app/amber.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/amber.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/amber.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber.segments/amber/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/amber.segments/amber.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/amber/ai/bootstrap/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/capabilities/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/capabilities/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/chat/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/chat/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/chat/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/config/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/config/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/config/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/context-options/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/context-options/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/context-options/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/coverage/[scanId]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/coverage/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/enriched/route.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/enriched/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/amber/enriched/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/amber/files/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/registry/route.js +1 -1
- package/.next/standalone/.next/server/app/api/amber/scan/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/auto-execute/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/ask/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/comments/[hash]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/coverage/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/doc-content/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/explain/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/history/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/outdated/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/refactor/prompt/route.js +2 -2
- package/.next/standalone/.next/server/app/api/blue/explorer/refactor/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/explorer/todos/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/recommendations/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/recommendations/route.js +2 -2
- package/.next/standalone/.next/server/app/api/blue/scan/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/sessions/[id]/route.js +2 -2
- package/.next/standalone/.next/server/app/api/blue/sessions/route.js +1 -1
- package/.next/standalone/.next/server/app/api/blue/standards/route.js +2 -2
- package/.next/standalone/.next/server/app/api/config/route.js +1 -1
- package/.next/standalone/.next/server/app/api/config/test/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/chat/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/chat/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/chat/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/cross-layer/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/insights/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/insights/apply/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/apply/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/apply/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/discover/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/discover/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/discover/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/parse/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/parse/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/parse/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/proposed/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/proposed/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/proposed/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/insights/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/queries/[id]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/queries/[id]/run/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/queries/promote/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/queries/promote/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/queries/promote/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/queries/route.js +1 -1
- package/.next/standalone/.next/server/app/api/green/queries/track-use/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/queries/track-use/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/queries/track-use/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/green/status/route.js +1 -0
- package/.next/standalone/.next/server/app/api/green/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/green/status/route_client-reference-manifest.js +1 -0
- package/.next/standalone/.next/server/app/api/license/activate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/license/deactivate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/license/route.js +1 -1
- package/.next/standalone/.next/server/app/api/license/validate/route.js +1 -1
- package/.next/standalone/.next/server/app/api/monorepo/active/route.js +1 -1
- package/.next/standalone/.next/server/app/api/monorepo/route.js +1 -1
- package/.next/standalone/.next/server/app/api/scan/route.js +1 -1
- package/.next/standalone/.next/server/app/blue/dashboard/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/ask/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/ask/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/ask/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/ask.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/ask.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer/ask/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer/ask.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/explain/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/explain/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/explain/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/explain.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/explain.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer/explain/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer/explain.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/fitness/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/fitness/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/fitness/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/fitness.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/fitness.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer/fitness/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer/fitness.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/flow/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/flow/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/flow/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/flow.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/flow.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer/flow/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer/flow.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/graph/page.js +2 -3
- package/.next/standalone/.next/server/app/blue/explorer/graph/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/graph/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/graph.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/graph.rsc +8 -9
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_full.segment.rsc +8 -9
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_tree.segment.rsc +2 -3
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer/graph/__PAGE__.segment.rsc +2 -3
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer/graph.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/libraries/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/libraries/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/libraries/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/libraries.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/libraries.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer/libraries/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer/libraries.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/page.js +10 -2
- package/.next/standalone/.next/server/app/blue/explorer/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/refactor/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/refactor/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/refactor/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/refactor.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/refactor.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer/refactor/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer/refactor.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/wire/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/wire/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/wire/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/wire.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/wire.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer/wire/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer/wire.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/zones/page.js +2 -4
- package/.next/standalone/.next/server/app/blue/explorer/zones/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/zones/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/zones.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/zones.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_full.segment.rsc +8 -8
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer/zones/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer/zones.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer.html +2 -2
- package/.next/standalone/.next/server/app/blue/explorer.rsc +9 -8
- package/.next/standalone/.next/server/app/blue/explorer.segments/_full.segment.rsc +9 -8
- package/.next/standalone/.next/server/app/blue/explorer.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/explorer.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/explorer.segments/_tree.segment.rsc +3 -2
- package/.next/standalone/.next/server/app/blue/explorer.segments/blue/explorer/__PAGE__.segment.rsc +3 -2
- package/.next/standalone/.next/server/app/blue/explorer.segments/blue/explorer.segment.rsc +4 -3
- package/.next/standalone/.next/server/app/blue/explorer.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/recommendations/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/recommendations/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/recommendations.html +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations.rsc +3 -3
- package/.next/standalone/.next/server/app/blue/recommendations.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/blue/recommendations.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/recommendations.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations.segments/blue/recommendations/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/recommendations.segments/blue/recommendations.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/recommendations.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/sessions/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/sessions/page.js +2 -2
- package/.next/standalone/.next/server/app/blue/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/blue/sessions.html +2 -2
- package/.next/standalone/.next/server/app/blue/sessions.rsc +3 -3
- package/.next/standalone/.next/server/app/blue/sessions.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/blue/sessions.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/sessions.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/sessions.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/sessions.segments/blue/sessions/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue/sessions.segments/blue/sessions.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue/sessions.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue.html +2 -2
- package/.next/standalone/.next/server/app/blue.rsc +3 -3
- package/.next/standalone/.next/server/app/blue.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/blue.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/blue.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue.segments/blue/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/blue.segments/blue.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/datenschutz/page.js +3 -3
- package/.next/standalone/.next/server/app/datenschutz/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/datenschutz.html +2 -2
- package/.next/standalone/.next/server/app/datenschutz.rsc +2 -2
- package/.next/standalone/.next/server/app/datenschutz.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/datenschutz.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/datenschutz.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/datenschutz.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/datenschutz.segments/datenschutz/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/datenschutz.segments/datenschutz.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/standalone/.next/server/app/green/cross-layer/page.js +2 -2
- package/.next/standalone/.next/server/app/green/cross-layer/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/cross-layer.html +2 -2
- package/.next/standalone/.next/server/app/green/cross-layer.rsc +3 -3
- package/.next/standalone/.next/server/app/green/cross-layer.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/green/cross-layer.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/cross-layer.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/cross-layer.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/cross-layer.segments/green/cross-layer/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/cross-layer.segments/green/cross-layer.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/cross-layer.segments/green.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/insights/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/green/insights/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/insights/page.js +2 -2
- package/.next/standalone/.next/server/app/green/insights/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/insights.html +2 -2
- package/.next/standalone/.next/server/app/green/insights.rsc +3 -3
- package/.next/standalone/.next/server/app/green/insights.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/green/insights.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/insights.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/insights.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/insights.segments/green/insights/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/insights.segments/green/insights.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/insights.segments/green.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/page.js +2 -2
- package/.next/standalone/.next/server/app/green/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/queries/[id]/page.js +2 -2
- package/.next/standalone/.next/server/app/green/queries/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/queries/page.js +2 -2
- package/.next/standalone/.next/server/app/green/queries/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/green/queries.html +2 -2
- package/.next/standalone/.next/server/app/green/queries.rsc +3 -3
- package/.next/standalone/.next/server/app/green/queries.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/green/queries.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/queries.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/queries.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/queries.segments/green/queries/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green/queries.segments/green/queries.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green/queries.segments/green.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green.html +2 -2
- package/.next/standalone/.next/server/app/green.rsc +3 -3
- package/.next/standalone/.next/server/app/green.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/green.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/green.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green.segments/green/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/green.segments/green.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/impressum/page.js +3 -3
- package/.next/standalone/.next/server/app/impressum/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/impressum.html +2 -2
- package/.next/standalone/.next/server/app/impressum.rsc +2 -2
- package/.next/standalone/.next/server/app/impressum.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/impressum.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/impressum.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/impressum.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/impressum.segments/impressum/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/impressum.segments/impressum.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/opengraph-image/route.js +1 -1
- package/.next/standalone/.next/server/app/page.js +2 -2
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/plans/page.js +2 -2
- package/.next/standalone/.next/server/app/plans/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/plans.html +1 -1
- package/.next/standalone/.next/server/app/plans.rsc +2 -2
- package/.next/standalone/.next/server/app/plans.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/plans.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/plans.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/plans.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/plans.segments/plans/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/plans.segments/plans.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/pricing/page.js +2 -2
- package/.next/standalone/.next/server/app/pricing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/pricing.html +2 -2
- package/.next/standalone/.next/server/app/pricing.rsc +2 -2
- package/.next/standalone/.next/server/app/pricing.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/pricing.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/pricing.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/pricing.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/pricing.segments/pricing/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/pricing.segments/pricing.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/robots.txt/route.js +2 -2
- package/.next/standalone/.next/server/app/settings/page.js +2 -2
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/sitemap.xml/route.js +2 -2
- package/.next/standalone/.next/server/app/sitemap.xml.body +5 -5
- package/.next/standalone/.next/server/app-paths-manifest.json +20 -0
- package/.next/standalone/.next/server/chunks/2836.js +1 -1
- package/.next/standalone/.next/server/chunks/3128.js +1 -0
- package/.next/standalone/.next/server/chunks/5909.js +1 -1
- package/.next/standalone/.next/server/chunks/6093.js +37 -5
- package/.next/standalone/.next/server/chunks/79.js +1 -0
- package/.next/standalone/.next/server/chunks/7961.js +1 -0
- package/.next/standalone/.next/server/chunks/9057.js +1 -1
- package/.next/standalone/.next/server/functions-config-manifest.json +34 -0
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/1495-75e9acb2052fc0df.js +1 -0
- package/.next/standalone/.next/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
- package/.next/standalone/.next/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
- package/.next/standalone/.next/static/chunks/5516-cb87b88338e627ef.js +1 -0
- package/.next/standalone/.next/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/{static/chunks/app/amber/capabilities/[id]/page-016e34f6bc7b1332.js → chunks/app/amber/capabilities/[id]/page-dec90538e1cf5523.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
- package/.next/{static/chunks/app/amber/coverage/page-562f7636134ad802.js → standalone/.next/static/chunks/app/amber/coverage/page-f1a1b649283ce9e5.js} +1 -1
- package/.next/{static/chunks/app/amber/files/page-c5a00329d2baea42.js → standalone/.next/static/chunks/app/amber/files/page-7f881cdb968806b0.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
- package/.next/{static/chunks/app/amber/page-09a2a736e71e67f1.js → standalone/.next/static/chunks/app/amber/page-fa23a597af958b37.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
- package/.next/standalone/.next/static/{static/chunks/app/blue/explorer/refactor/page-00cb78fc390c2180.js → chunks/app/blue/explorer/refactor/page-7a1f6ed11e9571e2.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
- package/.next/standalone/.next/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
- package/.next/{static/chunks/app/blue/page-f4ee07f4d344f2a3.js → standalone/.next/static/chunks/app/blue/page-93eae87ab6d00744.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/blue/recommendations/{page-a4c7e29279255810.js → page-0acb52f5fd116d50.js} +1 -1
- package/.next/{static/chunks/app/blue/sessions/[id]/page-5d579eb65e6eb241.js → standalone/.next/static/chunks/app/blue/sessions/[id]/page-ef15ea149058d11f.js} +1 -1
- package/.next/{static/chunks/app/blue/sessions/page-f4f63169769c824c.js → standalone/.next/static/chunks/app/blue/sessions/page-dc461a931a50a038.js} +1 -1
- package/.next/{static/chunks/app/green/cross-layer/page-19478231719554ad.js → standalone/.next/static/chunks/app/green/cross-layer/page-2cbb41cf8e8d8ca0.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/green/insights/[id]/{page-6b6c1b4332580525.js → page-6e7df3da727fca1e.js} +1 -1
- package/.next/{static/chunks/app/green/insights/page-d7dc0a40a00765f9.js → standalone/.next/static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
- package/.next/{static/chunks/app/green/page-d6c742a31a4fa4f3.js → standalone/.next/static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
- package/.next/{static/chunks/app/green/queries/[id]/page-8a527d8b13d5262f.js → standalone/.next/static/chunks/app/green/queries/[id]/page-e239ee7a85e4a90d.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/green/queries/{page-d151ce517cf80ddb.js → page-4df25fe178475dd3.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/{static/chunks/app/page-db3a489ea4200465.js → chunks/app/page-1f36cee48eda8c55.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
- package/.next/standalone/.next/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/css/e3cfb352af066a62.css +1 -0
- package/.next/standalone/.next/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
- package/.next/standalone/.next/static/static/chunks/1495-75e9acb2052fc0df.js +1 -0
- package/.next/standalone/.next/static/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
- package/.next/standalone/.next/static/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
- package/.next/standalone/.next/static/static/chunks/5516-cb87b88338e627ef.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/{chunks/app/amber/capabilities/[id]/page-016e34f6bc7b1332.js → static/chunks/app/amber/capabilities/[id]/page-dec90538e1cf5523.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/amber/coverage/{page-562f7636134ad802.js → page-f1a1b649283ce9e5.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/amber/files/{page-c5a00329d2baea42.js → page-7f881cdb968806b0.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/amber/{page-09a2a736e71e67f1.js → page-fa23a597af958b37.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
- package/.next/standalone/.next/static/{chunks/app/blue/explorer/refactor/page-00cb78fc390c2180.js → static/chunks/app/blue/explorer/refactor/page-7a1f6ed11e9571e2.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/blue/{page-f4ee07f4d344f2a3.js → page-93eae87ab6d00744.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
- package/.next/{static/chunks/app/blue/recommendations/page-a4c7e29279255810.js → standalone/.next/static/static/chunks/app/blue/recommendations/page-0acb52f5fd116d50.js} +1 -1
- package/.next/standalone/.next/static/{chunks/app/blue/sessions/[id]/page-5d579eb65e6eb241.js → static/chunks/app/blue/sessions/[id]/page-ef15ea149058d11f.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/sessions/{page-f4f63169769c824c.js → page-dc461a931a50a038.js} +1 -1
- package/.next/standalone/.next/static/{chunks/app/green/cross-layer/page-19478231719554ad.js → static/chunks/app/green/cross-layer/page-2cbb41cf8e8d8ca0.js} +1 -1
- package/.next/{static/chunks/app/green/insights/[id]/page-6b6c1b4332580525.js → standalone/.next/static/static/chunks/app/green/insights/[id]/page-6e7df3da727fca1e.js} +1 -1
- package/.next/standalone/.next/static/{chunks/app/green/insights/page-d7dc0a40a00765f9.js → static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/{chunks/app/green/page-d6c742a31a4fa4f3.js → static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
- package/.next/standalone/.next/static/{chunks/app/green/queries/[id]/page-8a527d8b13d5262f.js → static/chunks/app/green/queries/[id]/page-e239ee7a85e4a90d.js} +1 -1
- package/.next/{static/chunks/app/green/queries/page-d151ce517cf80ddb.js → standalone/.next/static/static/chunks/app/green/queries/page-4df25fe178475dd3.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/{chunks/app/page-db3a489ea4200465.js → static/chunks/app/page-1f36cee48eda8c55.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
- package/.next/standalone/.next/static/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
- package/.next/standalone/.next/static/static/css/e3cfb352af066a62.css +1 -0
- package/.next/standalone/.next/static/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/server.js +1 -1
- package/.next/static/chunks/1495-75e9acb2052fc0df.js +1 -0
- package/.next/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
- package/.next/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
- package/.next/static/chunks/5516-cb87b88338e627ef.js +1 -0
- package/.next/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/amber/capabilities/[id]/{page-016e34f6bc7b1332.js → page-dec90538e1cf5523.js} +1 -1
- package/.next/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
- package/.next/{standalone/.next/static/chunks/app/amber/coverage/page-562f7636134ad802.js → static/chunks/app/amber/coverage/page-f1a1b649283ce9e5.js} +1 -1
- package/.next/{standalone/.next/static/chunks/app/amber/files/page-c5a00329d2baea42.js → static/chunks/app/amber/files/page-7f881cdb968806b0.js} +1 -1
- package/.next/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/amber/page-09a2a736e71e67f1.js → static/chunks/app/amber/page-fa23a597af958b37.js} +1 -1
- package/.next/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
- package/.next/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
- package/.next/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
- package/.next/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
- package/.next/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
- package/.next/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
- package/.next/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
- package/.next/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
- package/.next/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
- package/.next/static/chunks/app/blue/explorer/refactor/{page-00cb78fc390c2180.js → page-7a1f6ed11e9571e2.js} +1 -1
- package/.next/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
- package/.next/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
- package/.next/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
- package/.next/{standalone/.next/static/chunks/app/blue/page-f4ee07f4d344f2a3.js → static/chunks/app/blue/page-93eae87ab6d00744.js} +1 -1
- package/.next/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/blue/recommendations/page-a4c7e29279255810.js → static/chunks/app/blue/recommendations/page-0acb52f5fd116d50.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/blue/sessions/[id]/page-5d579eb65e6eb241.js → static/chunks/app/blue/sessions/[id]/page-ef15ea149058d11f.js} +1 -1
- package/.next/{standalone/.next/static/chunks/app/blue/sessions/page-f4f63169769c824c.js → static/chunks/app/blue/sessions/page-dc461a931a50a038.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/green/cross-layer/page-19478231719554ad.js → static/chunks/app/green/cross-layer/page-2cbb41cf8e8d8ca0.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/green/insights/[id]/page-6b6c1b4332580525.js → static/chunks/app/green/insights/[id]/page-6e7df3da727fca1e.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/green/insights/page-d7dc0a40a00765f9.js → static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
- package/.next/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
- package/.next/{standalone/.next/static/static/chunks/app/green/page-d6c742a31a4fa4f3.js → static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/green/queries/[id]/page-8a527d8b13d5262f.js → static/chunks/app/green/queries/[id]/page-e239ee7a85e4a90d.js} +1 -1
- package/.next/{standalone/.next/static/static/chunks/app/green/queries/page-d151ce517cf80ddb.js → static/chunks/app/green/queries/page-4df25fe178475dd3.js} +1 -1
- package/.next/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/{page-db3a489ea4200465.js → page-1f36cee48eda8c55.js} +1 -1
- package/.next/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
- package/.next/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
- package/.next/static/css/e3cfb352af066a62.css +1 -0
- package/.next/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
- package/CHANGELOG.md +131 -0
- package/package.json +2 -2
- package/.next/standalone/.next/server/chunks/2595.js +0 -1
- package/.next/standalone/.next/server/chunks/3373.js +0 -1
- package/.next/standalone/.next/server/chunks/3887.js +0 -1
- package/.next/standalone/.next/server/chunks/8025.js +0 -1
- package/.next/standalone/.next/server/chunks/8369.js +0 -1
- package/.next/standalone/.next/static/chunks/1385-e703281157e9a720.js +0 -1
- package/.next/standalone/.next/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
- package/.next/standalone/.next/static/chunks/2069-6c986f45d83747e8.js +0 -1
- package/.next/standalone/.next/static/chunks/6828-8083804108435962.js +0 -1
- package/.next/standalone/.next/static/chunks/6901-0fb424e0f614eb33.js +0 -1
- package/.next/standalone/.next/static/chunks/8110-2759599cc7c92cb2.js +0 -1
- package/.next/standalone/.next/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
- package/.next/standalone/.next/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
- package/.next/standalone/.next/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/css/e44bc5acc45571f0.css +0 -1
- package/.next/standalone/.next/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
- package/.next/standalone/.next/static/static/chunks/1385-e703281157e9a720.js +0 -1
- package/.next/standalone/.next/static/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
- package/.next/standalone/.next/static/static/chunks/2069-6c986f45d83747e8.js +0 -1
- package/.next/standalone/.next/static/static/chunks/6828-8083804108435962.js +0 -1
- package/.next/standalone/.next/static/static/chunks/6901-0fb424e0f614eb33.js +0 -1
- package/.next/standalone/.next/static/static/chunks/8110-2759599cc7c92cb2.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
- package/.next/standalone/.next/static/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
- package/.next/standalone/.next/static/static/css/e44bc5acc45571f0.css +0 -1
- package/.next/standalone/.next/static/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
- package/.next/static/chunks/1385-e703281157e9a720.js +0 -1
- package/.next/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
- package/.next/static/chunks/2069-6c986f45d83747e8.js +0 -1
- package/.next/static/chunks/6828-8083804108435962.js +0 -1
- package/.next/static/chunks/6901-0fb424e0f614eb33.js +0 -1
- package/.next/static/chunks/8110-2759599cc7c92cb2.js +0 -1
- package/.next/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
- package/.next/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
- package/.next/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
- package/.next/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
- package/.next/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
- package/.next/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
- package/.next/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
- package/.next/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
- package/.next/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
- package/.next/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
- package/.next/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
- package/.next/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
- package/.next/static/css/e44bc5acc45571f0.css +0 -1
- package/.next/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
- /package/.next/standalone/.next/static/{s2Z9h2OHvDU8rn7KcosRH → qLLIDH_h2yj22uNNp3KKM}/_ssgManifest.js +0 -0
- /package/.next/standalone/.next/static/static/{s2Z9h2OHvDU8rn7KcosRH → qLLIDH_h2yj22uNNp3KKM}/_ssgManifest.js +0 -0
- /package/.next/static/{s2Z9h2OHvDU8rn7KcosRH → qLLIDH_h2yj22uNNp3KKM}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3396],{29212:(e,t,s)=>{Promise.resolve().then(s.bind(s,40319))},36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>r,jL:()=>a});let l={monorepo:{tier:"pro",label:"Monorepo support"},aggregate_scan:{tier:"pro",label:"Aggregate workspace scan"},cross_workspace_insights:{tier:"pro",label:"Cross-workspace insights"},llm_insights:{tier:"pro",label:"AI-powered insights"},custom_queries:{tier:"pro",label:"Custom GREEN queries"},cross_layer_context:{tier:"pro",label:"Cross-layer context"},auto_insights:{tier:"pro",label:"Auto-generated insights"},team_sync:{tier:"team",label:"Team sync"},ci_integration:{tier:"team",label:"CI integration"},blueprint_explorer:{tier:"pro",label:"Blueprint Explorer"},forge_unlimited:{tier:"forge-pro",label:"forge0x2B unlimited"},forge_unlimited_generation:{tier:"forge-pro",label:"forge0x2B unlimited generation"}},a=5e4;function r(e){return"free"!==l[e].tier}},40319:(e,t,s)=>{"use strict";s.d(t,{default:()=>h});var l=s(95155),a=s(12115),r=s(98500),n=s.n(r),o=s(74892),i=s(53729),c=s(83851),d=s(70238),x=s(71602);function p({data:e}){let t=e.analysis.filesInCycles??[],s=e.files.filter(e=>e.metrics.heatScore>65&&!t.includes(e.path)).sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,3),a=[...t.map(e=>({path:e,reason:"Circular dependency",color:"rgb(248,113,113)"})),...s.map(e=>({path:e.path,reason:`Heat ${e.metrics.heatScore}`,color:"rgb(251,191,36)"}))].slice(0,5);return 0===a.length?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 h-full text-center py-4",children:[(0,l.jsx)("span",{className:"text-2xl",children:"✅"}),(0,l.jsx)("p",{className:"text-sm text-slate-400 font-medium",children:"No risky zones"}),(0,l.jsx)("p",{className:"text-xs text-slate-600",children:"Architecture looks clean"})]}):(0,l.jsx)("div",{className:"flex flex-col gap-2",children:a.map(e=>(0,l.jsxs)("div",{className:"flex items-center justify-between gap-2 px-3 py-2 rounded-lg",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,l.jsx)("span",{className:"text-xs font-mono text-slate-400 truncate flex-1",children:e.path.split("/").pop()}),(0,l.jsx)("span",{className:"text-[10px] font-semibold px-1.5 py-0.5 rounded flex-shrink-0",style:{color:e.color,background:e.color+"15"},children:e.reason})]},e.path))})}function u({data:e}){let t=(e.summary.mostImportedFiles??[]).slice(0,4),s=t[0]?.count??1;return(0,l.jsxs)("div",{className:"flex flex-col gap-2.5",children:[t.map(e=>{let t=Math.round(e.count/s*100),a=e.path.split("/").pop()??e.path;return(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsx)("span",{className:"text-xs font-mono text-slate-400 truncate flex-1",children:a}),(0,l.jsxs)("span",{className:"text-xs font-mono text-blue-400 ml-2 flex-shrink-0",children:[e.count," imports"]})]}),(0,l.jsx)("div",{className:"h-1 rounded-full w-full",style:{background:"rgba(51,65,85,0.4)"},children:(0,l.jsx)("div",{className:"h-1 rounded-full",style:{width:`${t}%`,background:"rgba(96,165,250,0.6)"}})})]},e.path)}),0===t.length&&(0,l.jsx)("p",{className:"text-xs text-slate-600 text-center py-4",children:"No dependency data available"})]})}function m({data:e}){let t=Math.round(e.files.reduce((e,t)=>e+t.metrics.loc,0)/(e.files.length||1)),s=(e.files.reduce((e,t)=>e+t.metrics.outgoingRuntimeDeps,0)/(e.files.length||1)).toFixed(1),a=e.files.slice().sort((e,t)=>t.metrics.loc-e.metrics.loc)[0],r=e.files.slice().sort((e,t)=>t.metrics.outgoingRuntimeDeps-e.metrics.outgoingRuntimeDeps)[0],n=[{label:"Avg file size",value:`${t} lines`},{label:"Avg connections",value:`${s} deps`},{label:"Largest file",value:a?`${a.path.split("/").pop()} (${a.metrics.loc}L)`:"—"},{label:"Most connected",value:r?`${r.path.split("/").pop()} (${r.metrics.outgoingRuntimeDeps}d)`:"—"}];return(0,l.jsx)("div",{className:"flex flex-col gap-2",children:n.map(e=>(0,l.jsxs)("div",{className:"flex items-center justify-between py-1.5 border-b",style:{borderColor:"rgba(51,65,85,0.25)"},children:[(0,l.jsx)("span",{className:"text-xs text-slate-500",children:e.label}),(0,l.jsx)("span",{className:"text-xs font-mono text-slate-300",children:e.value})]},e.label))})}function h({isDemo:e}){let{tq:t,ready:s}=(0,c.e)(),[r,b]=(0,a.useState)(null),[g,f]=(0,a.useState)(!1),[j,y]=(0,a.useState)(!1),[N,v]=(0,a.useState)(null),[k,w]=(0,a.useState)(0);(0,a.useEffect)(()=>{s&&(f(!0),v(null),fetch(`/api/blue/explorer${t}`).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok)throw Error(t&&"string"==typeof t.error&&t.error||`Scan failed (HTTP ${e.status})`);return t}).then(e=>{b(e?.data??null),y(!!e?._proGated)}).catch(e=>{v(e instanceof Error?e.message:"Failed to load architecture data"),b(null)}).finally(()=>f(!1)))},[s,k]);let C=(0,a.useMemo)(()=>{let e;return r?(e=100-Math.min(15*r.analysis.cycleCount,30)-Math.min(2*r.files.filter(e=>e.metrics.heatScore>70).length,20),r.files.reduce((e,t)=>e+t.metrics.loc,0)/(r.files.length||1)>200&&(e-=5),r.files.reduce((e,t)=>e+t.metrics.outgoingRuntimeDeps,0)/(r.files.length||1)>4&&(e-=5),Math.max(0,Math.round(e))):null},[r]),S=(0,a.useMemo)(()=>null!==C?C>=80?{label:"Healthy",color:"rgb(52,211,153)",bg:"rgba(52,211,153,0.12)",border:"rgba(52,211,153,0.25)"}:C>=55?{label:"Fair",color:"rgb(251,191,36)",bg:"rgba(251,191,36,0.10)",border:"rgba(251,191,36,0.25)"}:{label:"At risk",color:"rgb(248,113,113)",bg:"rgba(248,113,113,0.10)",border:"rgba(248,113,113,0.25)"}:null,[C]),E=(0,a.useMemo)(()=>r?function(e){let{summary:t,analysis:s,files:l}=e,a=t.mostImportedFiles?.[0],r=l.find(e=>e.path===a?.path),n=r?r.path.split("/").pop().replace(/\.(ts|tsx|js|jsx)$/,""):"core logic",o=0===s.cycleCount?"No circular dependencies were found — the codebase structure is clean.":1===s.cycleCount?`There is 1 circular dependency between ${s.stronglyConnectedComponents[0]?.paths.map(e=>e.split("/").pop()).join(" and ")}. This creates hidden coupling that can make changes unpredictable.`:`There are ${s.cycleCount} circular dependencies, meaning some parts of the code depend on each other in loops. This tends to make changes risky.`,i=0===l.filter(e=>e.metrics.heatScore>70).length?"No single file is carrying an outsized load.":`The most central piece of code is "${n}", used by ${a?.count??"several"} other parts of the app. Changes there ripple widely.`;return`This codebase has ${t.fileCount} files across ${t.componentCount} UI components, ${t.libCount} libraries, and ${t.hookCount} hooks. ${i} ${o}`}(r):"",[r]),$={background:"rgba(10,16,30,0.7)",border:"1px solid rgba(51,65,85,0.35)",borderRadius:"0.875rem"};return(0,l.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"#020617"},children:[(0,l.jsx)(o.PrismDock,{}),e&&(0,l.jsx)(i.y,{}),(0,l.jsxs)("main",{className:"flex-1 flex flex-col pt-16 pb-16",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between gap-4 px-6 py-3 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-sm font-semibold text-blue-400 font-mono",children:"BLUE"}),(0,l.jsx)("span",{className:"text-xs text-slate-500",children:"Architecture Dashboard"}),e&&(0,l.jsx)("span",{className:"text-[10px] font-bold px-2 py-0.5 rounded-full",style:{background:"rgba(14,165,233,0.15)",color:"rgb(125,211,252)",border:"1px solid rgba(14,165,233,0.25)"},children:"DEMO"}),j&&(0,l.jsx)("span",{className:"text-[10px] font-bold px-2 py-0.5 rounded-full",style:{background:"rgba(251,191,36,0.12)",color:"rgb(251,191,36)",border:"1px solid rgba(251,191,36,0.25)"},children:"PRO"})]}),(0,l.jsx)(n(),{href:"/blue/explorer",className:"flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-semibold transition-all hover:brightness-110",style:{background:"rgba(51,65,85,0.4)",color:"rgb(148,163,184)",border:"1px solid rgba(71,85,105,0.5)"},children:"Expert view →"})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto px-6 py-6",style:{maxWidth:900,margin:"0 auto",width:"100%"},children:[g&&(0,l.jsx)(d.O2,{}),!g&&N&&(0,l.jsx)("div",{className:"flex items-center justify-center min-h-[12rem]",children:(0,l.jsx)(x.f,{message:N,onRetry:()=>w(e=>e+1)})}),!g&&!N&&!r&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-48 gap-4 text-center",children:[(0,l.jsx)("span",{className:"text-5xl",children:"\uD83D\uDCCA"}),(0,l.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No data yet"}),(0,l.jsxs)("p",{className:"text-sm text-slate-500 max-w-sm",children:["Run a scan from the"," ",(0,l.jsx)(n(),{href:"/blue/explorer",className:"text-blue-400 hover:text-blue-300",children:"Explorer"})," ","to see your dashboard."]})]}),!g&&!N&&r&&null!==C&&S&&(0,l.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,l.jsxs)("div",{className:"flex items-center gap-5 p-5 rounded-2xl",style:{...$,background:S.bg,borderColor:S.border},children:[(0,l.jsx)("div",{className:"flex items-center justify-center w-20 h-20 rounded-full flex-shrink-0",style:{background:S.bg,border:`3px solid ${S.color}`},children:(0,l.jsx)("span",{className:"text-3xl font-bold font-mono",style:{color:S.color},children:C})}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,l.jsx)("span",{className:"text-lg font-semibold",style:{color:S.color},children:S.label}),(0,l.jsx)("span",{className:"text-xs text-slate-500",children:"/ 100"})]}),(0,l.jsx)("p",{className:"text-sm text-slate-400",children:"Healthy"===S.label?"Your codebase architecture is in good shape. Minor improvements possible.":"Fair"===S.label?"Some architectural issues need attention before they become expensive.":"Significant structural problems detected. Refactoring recommended soon."})]})]}),(0,l.jsxs)(n(),{href:"/blue/explorer/fitness",className:"flex items-center gap-3 px-4 py-3 rounded-xl transition-all hover:brightness-110",style:$,children:[(0,l.jsx)("span",{className:"text-base",children:"◆"}),(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsx)("p",{className:"text-xs font-semibold text-slate-300",children:"Architecture Fitness Functions"}),(0,l.jsx)("p",{className:"text-[10px] text-slate-600",children:"Executable governance rules — compliance proven live from the code."})]}),(0,l.jsx)("span",{className:"text-[11px] font-mono text-blue-400",children:"Open ◆ →"})]}),(0,l.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[{title:"Risky Zones",subtitle:"Files that could break things",icon:"⚠️",content:(0,l.jsx)(p,{data:r})},{title:"Most Depended On",subtitle:"Code that everything relies on",icon:"\uD83D\uDD17",content:(0,l.jsx)(u,{data:r})},{title:"Complexity",subtitle:"Size and connection density",icon:"\uD83D\uDCD0",content:(0,l.jsx)(m,{data:r})}].map(({title:e,subtitle:t,icon:s,content:a})=>(0,l.jsxs)("div",{className:"flex flex-col gap-3 p-4",style:$,children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"text-base",children:s}),(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-xs font-semibold text-slate-300",children:e}),(0,l.jsx)("p",{className:"text-[10px] text-slate-600",children:t})]})]}),(0,l.jsx)("div",{className:"flex-1",children:a})]},e))}),(0,l.jsxs)("div",{className:"flex flex-col gap-3 p-5",style:$,children:[(0,l.jsx)("div",{className:"flex items-center gap-2",children:(0,l.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-500 font-semibold",children:"What this means for your team"})}),(0,l.jsx)("p",{className:"text-sm text-slate-300 leading-relaxed",children:E}),(0,l.jsxs)("div",{className:"flex items-center gap-3 pt-1",children:[(0,l.jsx)("span",{className:"text-xs text-slate-600",children:"Want more detail?"}),(0,l.jsx)(n(),{href:"/blue/explorer",className:"text-xs text-blue-400 hover:text-blue-300 transition-colors font-semibold",children:"Open Expert view →"}),(0,l.jsx)(n(),{href:"/blue/explorer/graph",className:"text-xs text-slate-400 hover:text-slate-300 transition-colors",children:"Dependency graph"}),(0,l.jsx)(n(),{href:"/blue/explorer/zones",className:"text-xs text-slate-400 hover:text-slate-300 transition-colors",children:"Zone map"})]})]}),(0,l.jsx)("div",{className:"grid grid-cols-4 gap-3",children:[{label:"Files",value:r.summary.fileCount},{label:"Connections",value:r.summary.internalDependencyCount},{label:"Cycles",value:r.analysis.cycleCount,alert:r.analysis.cycleCount>0},{label:"Components",value:r.summary.componentCount}].map(({label:e,value:t,alert:s})=>(0,l.jsxs)("div",{className:"flex flex-col gap-0.5 px-4 py-3 rounded-xl",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,l.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600",children:e}),(0,l.jsx)("span",{className:"text-xl font-semibold font-mono",style:{color:s?"rgb(248,113,113)":"rgb(226,232,240)"},children:t})]},e))})]})]})]})]})}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>a});var l=s(12115);function a(e){let[t,s]=(0,l.useState)(null),[a,r]=(0,l.useState)(null),[n,o]=(0,l.useState)(!1);(0,l.useEffect)(()=>{Promise.all([fetch(`/api/monorepo${e}`).then(e=>e.json()).catch(()=>({monorepo:null})),fetch(`/api/monorepo/active${e}`).then(e=>e.json()).catch(()=>({workspace:null}))]).then(([e,t])=>{s(e.monorepo??null),r(t.workspace??null)}).finally(()=>o(!0))},[e]);let i=(0,l.useCallback)(async t=>{r(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=a?`&workspace=${encodeURIComponent(a)}`:"";return{monorepo:t,activeWorkspace:a,setActiveWorkspace:i,ready:n,wq:c}}},73321:(e,t,s)=>{"use strict";var l=s(74645);s.o(l,"useParams")&&s.d(t,{useParams:function(){return l.useParams}}),s.o(l,"usePathname")&&s.d(t,{usePathname:function(){return l.usePathname}}),s.o(l,"useRouter")&&s.d(t,{useRouter:function(){return l.useRouter}}),s.o(l,"useSearchParams")&&s.d(t,{useSearchParams:function(){return l.useSearchParams}})},74892:(e,t,s)=>{"use strict";s.d(t,{PrismDock:()=>h});var l=s(95155),a=s(98500),r=s.n(a),n=s(73321),o=s(12115),i=s(36664);let c=()=>(0,l.jsx)("span",{className:"text-[10px] font-bold px-1 py-0.5 rounded leading-none",style:{background:"rgba(251,191,36,0.15)",color:"rgb(251,191,36)",border:"1px solid rgba(251,191,36,0.3)"},children:"PRO"});function d({monorepo:e,activeWorkspace:t,onSelect:s,isPro:a=!1}){let[r,n]=(0,o.useState)(!1),x=(0,o.useRef)(null);if((0,o.useEffect)(()=>{function e(e){x.current&&!x.current.contains(e.target)&&n(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),!e||"single"===e.type||0===e.packages.length)return null;let p=(0,i.QS)("monorepo")&&!a;return(0,l.jsxs)("div",{className:"relative",ref:x,children:[(0,l.jsxs)("button",{onClick:()=>n(e=>!e),className:"flex items-center gap-1.5 px-2.5 py-1 rounded-full text-xs font-medium transition-colors",style:{background:r?"rgba(51,65,85,0.5)":"rgba(51,65,85,0.25)",border:"1px solid rgba(51,65,85,0.5)",color:"rgb(148,163,184)"},title:`Monorepo: ${e.type}`,children:[(0,l.jsx)("span",{className:"font-mono",style:{color:"rgb(52,211,153)",fontSize:10},children:e.type.toUpperCase()}),(0,l.jsx)("span",{className:"max-w-[80px] truncate",children:t??"all workspaces"}),p&&(0,l.jsx)(c,{}),(0,l.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",className:"opacity-60",children:(0,l.jsx)("path",{d:"M1 2.5l3 3 3-3",stroke:"currentColor",strokeWidth:"1.2",fill:"none",strokeLinecap:"round"})})]}),r&&(0,l.jsxs)("div",{className:"absolute top-full mt-1 right-0 z-50 rounded-xl overflow-hidden py-1 min-w-[180px]",style:{background:"rgba(15,23,42,0.95)",backdropFilter:"blur(20px)",border:"1px solid rgba(51,65,85,0.5)",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"},children:[(0,l.jsxs)("button",{className:"w-full text-left px-3 py-2 text-xs flex items-center gap-2 transition-colors hover:bg-white/5",style:{color:null===t?"rgb(52,211,153)":"rgb(148,163,184)"},onClick:()=>{s(null),n(!1)},children:[(0,l.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:"∑"}),"All workspaces",null===t&&(0,l.jsx)("span",{className:"ml-auto text-[10px] opacity-60",children:"✓"})]}),(0,l.jsx)("div",{className:"my-1",style:{borderTop:"1px solid rgba(51,65,85,0.3)"}}),e.packages.map(e=>(0,l.jsxs)("button",{className:"w-full text-left px-3 py-2 text-xs flex items-center gap-2 transition-colors hover:bg-white/5",style:{color:t===e.name?"rgb(52,211,153)":"rgb(148,163,184)"},onClick:()=>{s(e.name),n(!1)},children:[(0,l.jsx)("span",{className:"font-mono text-[10px] opacity-50",children:"pkg"}),(0,l.jsx)("span",{className:"flex-1 truncate",children:e.name}),void 0!==e.loc&&(0,l.jsxs)("span",{className:"text-[10px] font-mono opacity-40",children:[(e.loc/1e3).toFixed(1),"k"]}),t===e.name&&(0,l.jsx)("span",{className:"text-[10px] opacity-60",children:"✓"})]},e.path))]})]})}var x=s(83851),p=s(50285),u=s(92073);let m=[{href:"/blue",label:"BLUE",color:"rgb(59,130,246)"},{href:"/amber",label:"AMBER",color:"rgb(251,191,36)"},{href:"/green",label:"GREEN",color:"rgb(52,211,153)"},{href:"/settings",label:"⚙",color:void 0}];function h(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:a,setActiveWorkspace:o}=(0,p.V)(t),{isPro:i}=(0,u.R)(t),c=i?[m[0],{href:"/blue/explorer",label:"Explorer",color:"rgb(56,189,248)"},...m.slice(1)]:[...m.slice(0,-1),{href:"/pricing",label:"Plans",color:"rgb(167,139,250)"},m[m.length-1]];return(0,l.jsxs)("div",{className:"fixed top-3 left-1/2 -translate-x-1/2 z-50 flex items-center gap-2 px-4 py-2 rounded-full",style:{background:"linear-gradient(to bottom, rgba(15,23,42,0.4), rgba(2,6,23,0.5))",backdropFilter:"blur(24px) saturate(1.5)",border:"1px solid rgba(51,65,85,0.3)",boxShadow:"0 1px 2px rgba(15,23,42,.06),0 4px 12px rgba(15,23,42,.12),0 16px 40px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(15,23,42,.4)"},children:[(0,l.jsxs)(r(),{href:"/",className:"flex items-center gap-1.5 group",children:[(0,l.jsx)("span",{className:"text-sky-400 text-lg select-none",children:"✦"}),(0,l.jsxs)("span",{className:"text-slate-200 text-sm font-semibold tracking-tight group-hover:text-white transition-colors",children:["prism",(0,l.jsx)("span",{className:"font-mono text-sky-500",children:"0x2A"})]})]}),c.map(({href:t,label:s,color:a})=>{let n=e===t||"/blue"!==t&&e.startsWith(t);return(0,l.jsxs)("span",{className:"flex items-center gap-2",children:[(0,l.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,l.jsx)(r(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?a??"rgb(226,232,240)":"rgba(148,163,184,0.8)"},children:s})]},t)}),s&&"single"!==s.type&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,l.jsx)(d,{monorepo:s,activeWorkspace:a,onSelect:o,isPro:i})]})]})}},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>a});var l=s(12115);function a(){let[e,t]=(0,l.useState)(""),[s,a]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{fetch("/api/config").then(e=>e.json()).then(e=>{let s=e.targetPath??"";t(s?`?target=${encodeURIComponent(s)}`:"")}).catch(()=>{}).finally(()=>a(!0))},[]),{tq:e,ready:s}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>r});var l=s(12115);let a={tier:"free",issuedAt:null,expiresAt:null,userId:null,features:[],isValid:!1,isExpired:!1,licenseKey:null,instanceId:null,productName:null,subscriptionStatus:null,validatedAt:null,revalidationDue:null,gracePeriodEnd:null,activationLimit:null,activationUsage:null,cacheStatus:"no-cache",daysSinceValidation:null};function r(e){let[t,s]=(0,l.useState)(null),[r,n]=(0,l.useState)(!1),[o,i]=(0,l.useState)(0);(0,l.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(a)).finally(()=>n(!0))},[e,o]);let c=(0,l.useCallback)(()=>i(e=>e+1),[]),d=!!t&&"free"!==t.tier&&"forge-pro"!==t.tier&&t.isValid&&!t.isExpired&&"expired"!==t.cacheStatus;return{license:t,ready:r,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,1385,8441,3794,7358],()=>e(e.s=29212)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3941],{25700:(e,s,t)=>{Promise.resolve().then(t.bind(t,90488))},71602:(e,s,t)=>{"use strict";t.d(s,{f:()=>a});var r=t(95155);function a({message:e,onRetry:s}){return(0,r.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",role:"alert",children:[(0,r.jsx)("span",{className:"text-5xl",children:"⚠️"}),(0,r.jsx)("h2",{className:"text-lg font-semibold text-red-300",children:"Couldn’t load architecture data"}),(0,r.jsxs)("p",{className:"text-sm text-slate-400 max-w-md",children:["The scan or blueprint load failed. This is ",(0,r.jsx)("em",{children:"not"})," an empty repo — something went wrong."]}),(0,r.jsx)("pre",{className:"text-xs font-mono text-red-300/90 max-w-md whitespace-pre-wrap break-words px-3 py-2 rounded-lg",style:{background:"rgba(127,29,29,0.18)",border:"1px solid rgba(153,27,27,0.35)"},children:e}),s&&(0,r.jsx)("button",{onClick:s,className:"text-xs font-semibold px-3 py-1.5 rounded-lg transition-colors",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.35)"},children:"↺ Retry"})]})}},73321:(e,s,t)=>{"use strict";var r=t(74645);t.o(r,"useParams")&&t.d(s,{useParams:function(){return r.useParams}}),t.o(r,"usePathname")&&t.d(s,{usePathname:function(){return r.usePathname}}),t.o(r,"useRouter")&&t.d(s,{useRouter:function(){return r.useRouter}}),t.o(r,"useSearchParams")&&t.d(s,{useSearchParams:function(){return r.useSearchParams}})},90488:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>i});var r=t(95155),a=t(12115),l=t(3846),n=t(63935),o=t(71602);function i(){let{data:e,setData:s,loading:t,error:i,outdated:d,setOutdated:c,target:x,reload:u}=(0,l.W)(),[p,h]=(0,a.useState)([]),[m,f]=(0,a.useState)(""),[b,g]=(0,a.useState)(!1),y=(0,a.useRef)(null);async function j(){let e=m.trim();if(e&&!b){f(""),h(s=>[...s,{role:"user",text:e}]),g(!0);try{let s=await fetch("/api/blue/explorer/ask",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({target:x,question:e})}),t=await s.json();s.ok?h(e=>[...e,{role:"assistant",text:t.answer.text,referencedFiles:t.answer.referencedFiles,pending:t.answer.pending}]):h(e=>[...e,{role:"assistant",text:`**Error:** ${t.error??"Unknown error"}`}])}catch{h(e=>[...e,{role:"assistant",text:"**Network error** — could not reach the API."}])}finally{g(!1)}}}return(0,a.useEffect)(()=>{y.current?.scrollIntoView({behavior:"smooth"})},[p]),(0,r.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[(0,r.jsx)(n.F,{target:x,outdated:d,onRescan:function(e){e&&(s(e),c(!1))}}),t&&(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center text-slate-500 text-sm",children:"Loading blueprint…"}),!t&&i&&(0,r.jsx)(o.f,{message:i,onRetry:u}),!t&&!i&&!e&&(0,r.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,r.jsx)("span",{className:"text-4xl",children:"\uD83D\uDCAC"}),(0,r.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,r.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan to generate a blueprint before using Architect Mode."})]}),!t&&!i&&e&&(0,r.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden",children:[(0,r.jsxs)("div",{className:"px-4 py-2 text-[10px] font-mono text-slate-600 border-b flex items-center gap-3 flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,12,24,0.5)"},children:[(0,r.jsxs)("span",{children:["Blueprint: ",(0,r.jsxs)("span",{className:"text-slate-500",children:[e.summary.fileCount," files"]})]}),(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsxs)("span",{children:["Scanned: ",(0,r.jsx)("span",{className:"text-slate-500",children:new Date(e.generatedAt).toLocaleString()})]}),e.analysis.hasCycles&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"\xb7"}),(0,r.jsxs)("span",{className:"text-red-400",children:[e.analysis.cycleCount," cycle",1!==e.analysis.cycleCount?"s":""]})]})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-4 flex flex-col gap-4 max-w-3xl mx-auto w-full",children:[0===p.length&&(0,r.jsxs)("div",{className:"flex flex-col gap-3 pt-8",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-widest text-slate-600 font-semibold",children:"Suggested questions"}),["Where are the highest-risk files in this codebase?","What import cycles exist and how should I fix them?","Which modules have the lowest test coverage?","Where should I add a new authentication layer?"].map(e=>(0,r.jsx)("button",{onClick:()=>f(e),className:"text-left text-xs px-3 py-2 rounded-lg text-slate-400 hover:text-slate-200 transition-colors",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.35)"},children:e},e))]}),p.map((e,s)=>(0,r.jsxs)("div",{className:`flex ${"user"===e.role?"justify-end":"justify-start gap-2 items-start"}`,children:["assistant"===e.role&&(0,r.jsx)("span",{className:"w-5 h-5 rounded flex items-center justify-center text-[9px] font-bold flex-shrink-0 mt-0.5",style:{background:"rgba(167,139,250,0.15)",color:"rgb(167,139,250)"},children:"✦"}),(0,r.jsxs)("div",{className:"max-w-xl rounded-xl px-4 py-3 text-xs leading-relaxed whitespace-pre-wrap",style:"user"===e.role?{background:"rgba(59,130,246,0.12)",border:"1px solid rgba(59,130,246,0.25)",color:"rgb(203,213,225)",borderTopRightRadius:4}:{background:"rgba(15,23,42,0.8)",border:"1px solid rgba(51,65,85,0.4)",color:"rgb(148,163,184)",borderTopLeftRadius:4},children:[e.text,e.pending&&(0,r.jsx)("p",{className:"mt-2 text-[10px]",style:{color:"rgba(167,139,250,0.6)"},children:"✦ prismlens@0.4.0 not yet published — response is a preview."}),e.referencedFiles&&e.referencedFiles.length>0&&(0,r.jsx)("div",{className:"mt-2 flex flex-wrap gap-1",children:e.referencedFiles.map(e=>(0,r.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(51,65,85,0.4)",color:"rgb(100,116,139)"},children:e.split("/").pop()},e))})]})]},s)),b&&(0,r.jsxs)("div",{className:"flex gap-2 items-start",children:[(0,r.jsx)("span",{className:"w-5 h-5 rounded flex items-center justify-center text-[9px] font-bold flex-shrink-0",style:{background:"rgba(167,139,250,0.15)",color:"rgb(167,139,250)"},children:"✦"}),(0,r.jsx)("div",{className:"px-4 py-3 rounded-xl text-xs text-slate-600",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:"Thinking…"})]}),(0,r.jsx)("div",{ref:y})]}),(0,r.jsx)("div",{className:"px-4 py-3 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.7)"},children:(0,r.jsxs)("div",{className:"max-w-3xl mx-auto flex gap-2 items-end",children:[(0,r.jsx)("textarea",{value:m,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),j())},placeholder:"Ask anything about your codebase… (Enter to send, Shift+Enter for newline)",rows:2,className:"flex-1 resize-none rounded-xl px-3 py-2.5 text-xs text-slate-300 placeholder:text-slate-600 outline-none",style:{background:"rgba(15,23,42,0.8)",border:"1px solid rgba(51,65,85,0.5)"}}),(0,r.jsx)("button",{onClick:j,disabled:!m.trim()||b,className:"px-4 py-2.5 rounded-xl text-xs font-semibold flex-shrink-0 transition-all disabled:opacity-40",style:{background:"rgba(167,139,250,0.15)",color:"rgb(167,139,250)",border:"1px solid rgba(167,139,250,0.3)"},children:b?"…":"Send"})]})})]})]})}}},e=>{e.O(0,[8500,6828,8441,3794,7358],()=>e(e.s=25700)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1407],{14158:(e,t,s)=>{Promise.resolve().then(s.bind(s,57078))},57078:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>o});var a=s(95155),l=s(12115),r=s(73321),n=s(3846),i=s(63935),c=s(71602);function o(){let{data:e,setData:t,loading:s,error:o,outdated:x,setOutdated:d,target:m,reload:h}=(0,n.W)(),p=(0,r.useSearchParams)().get("path")??"",[u,f]=(0,l.useState)(null),[j,b]=(0,l.useState)(!1),[N,g]=(0,l.useState)(null);async function y(e){b(!0),g(null),f(null);try{let t=await fetch("/api/blue/explorer/explain",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({target:m,modulePath:e})}),s=await t.json();t.ok?f(s.markdown):g(s.error??"Failed")}catch{g("Network error")}finally{b(!1)}}let[v,w]=(0,l.useState)(!1);return!p||!e||v||j||u||(w(!0),y(p)),e?.files.find(e=>e.path===p),(0,a.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[(0,a.jsx)(i.F,{target:m,outdated:x,onRescan:function(e){e&&(t(e),d(!1))}}),s&&(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center text-slate-500 text-sm",children:"Loading blueprint…"}),!s&&o&&(0,a.jsx)(c.f,{message:o,onRetry:h}),!s&&!o&&!e&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,a.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD0D"}),(0,a.jsx)("p",{className:"text-sm text-slate-500",children:"No blueprint yet. Run ↺ Rescan first."})]}),!s&&!o&&e&&(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsxs)("div",{className:"w-56 flex-shrink-0 border-r overflow-y-auto",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,12,24,0.6)"},children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold px-3 py-3",children:"Choose a module"}),(0,a.jsx)("div",{className:"flex flex-col",children:e.files.sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,30).map(e=>(0,a.jsxs)("button",{onClick:()=>y(e.path),className:"text-left px-3 py-2 text-[10px] font-mono text-slate-500 hover:text-slate-200 hover:bg-slate-800/40 transition-colors border-b border-slate-800/30 truncate",style:{color:e.path===p?"rgb(167,139,250)":void 0},children:[e.path.split("/").pop(),(0,a.jsx)("span",{className:"ml-1 opacity-50",children:e.metrics.heatScore.toFixed(0)})]},e.id))})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-6",children:[!p&&!j&&!u&&(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-center",children:[(0,a.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD0D"}),(0,a.jsx)("p",{className:"text-sm text-slate-500",children:"Select a module from the left to explain it."})]}),j&&(0,a.jsxs)("div",{className:"flex items-center gap-2 text-slate-500 text-sm",children:[(0,a.jsx)("span",{className:"animate-pulse",children:"✦"}),(0,a.jsxs)("span",{children:["Explaining ",p.split("/").pop(),"…"]})]}),N&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:N}),u&&!j&&(0,a.jsx)("div",{className:"prose prose-invert prose-sm max-w-none text-slate-300",style:{fontFamily:"inherit"},children:u.split("\n").map((e,t)=>e.startsWith("# ")?(0,a.jsx)("h1",{className:"text-xl font-bold text-slate-100 mb-3",children:e.slice(2)},t):e.startsWith("## ")?(0,a.jsx)("h2",{className:"text-base font-semibold text-slate-200 mt-6 mb-2",children:e.slice(3)},t):e.startsWith("| ")?(0,a.jsx)("p",{className:"text-xs font-mono text-slate-400",children:e},t):e.startsWith("- ")?(0,a.jsxs)("p",{className:"text-xs text-slate-400 ml-2",children:["• ",e.slice(2)]},t):e.startsWith("> ")?(0,a.jsx)("p",{className:"text-xs italic text-slate-500 border-l-2 border-slate-700 pl-3 my-1",children:e.slice(2)},t):e.startsWith("**")?(0,a.jsx)("p",{className:"text-xs font-semibold text-slate-300",children:e.replace(/\*\*(.*?)\*\*/g,"$1")},t):""===e?(0,a.jsx)("div",{className:"h-1"},t):(0,a.jsx)("p",{className:"text-xs text-slate-400 leading-relaxed",children:e},t))})]})]})]})}},71602:(e,t,s)=>{"use strict";s.d(t,{f:()=>l});var a=s(95155);function l({message:e,onRetry:t}){return(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",role:"alert",children:[(0,a.jsx)("span",{className:"text-5xl",children:"⚠️"}),(0,a.jsx)("h2",{className:"text-lg font-semibold text-red-300",children:"Couldn’t load architecture data"}),(0,a.jsxs)("p",{className:"text-sm text-slate-400 max-w-md",children:["The scan or blueprint load failed. This is ",(0,a.jsx)("em",{children:"not"})," an empty repo — something went wrong."]}),(0,a.jsx)("pre",{className:"text-xs font-mono text-red-300/90 max-w-md whitespace-pre-wrap break-words px-3 py-2 rounded-lg",style:{background:"rgba(127,29,29,0.18)",border:"1px solid rgba(153,27,27,0.35)"},children:e}),t&&(0,a.jsx)("button",{onClick:t,className:"text-xs font-semibold px-3 py-1.5 rounded-lg transition-colors",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.35)"},children:"↺ Retry"})]})}},73321:(e,t,s)=>{"use strict";var a=s(74645);s.o(a,"useParams")&&s.d(t,{useParams:function(){return a.useParams}}),s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})}},e=>{e.O(0,[8500,6828,8441,3794,7358],()=>e(e.s=14158)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8118],{35183:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=s(95155),r=s(12115),l=s(73321),n=s(98500),o=s.n(n),c=s(83851),i=s(22069);function d(){let e=decodeURIComponent((0,l.useParams)().path??""),{tq:t,ready:s}=(0,c.e)(),[n,d]=(0,r.useState)(null),[x,u]=(0,r.useState)(!0),[m,f]=(0,r.useState)(null),[h,p]=(0,r.useState)([]),[b,g]=(0,r.useState)(""),[j,y]=(0,r.useState)(!1),N=function(e){let t=0;for(let s=0;s<e.length;s++)t=Math.imul(31,t)+e.charCodeAt(s)|0;return Math.abs(t).toString(16).padStart(8,"0")}(e);async function v(){if(!b.trim())return;y(!0);let s=new URLSearchParams(t.slice(1)).get("target")??"",a=await fetch(`/api/blue/explorer/comments/${N}?target=${encodeURIComponent(s)}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:b.trim(),filePath:e})}),{comment:r}=await a.json();r&&p(e=>[r,...e]),g(""),y(!1)}async function w(e){let s=new URLSearchParams(t.slice(1)).get("target")??"";await fetch(`/api/blue/explorer/comments/${N}?target=${encodeURIComponent(s)}&id=${e}`,{method:"DELETE"}),p(t=>t.filter(t=>t.id!==e))}return(0,r.useEffect)(()=>{if(!s)return;let a=new URLSearchParams(t.slice(1)).get("target")??"";f(null),fetch(`/api/blue/explorer?target=${encodeURIComponent(a)}`).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok)throw Error(t&&"string"==typeof t.error&&t.error||`Failed to load blueprint (HTTP ${e.status})`);return t}).then(t=>{d(t?.data?.files.find(t=>t.path===e)??null)}).catch(e=>{f(e instanceof Error?e.message:"Failed to load blueprint")}).finally(()=>u(!1)),fetch(`/api/blue/explorer/comments/${N}?target=${encodeURIComponent(a)}`).then(e=>e.json()).then(({comments:e})=>p(e??[])).catch(()=>{})},[s]),(0,a.jsxs)("main",{className:"flex-1 flex flex-col overflow-hidden pt-16",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b text-xs flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(15,23,42,0.5)"},children:[(0,a.jsx)(o(),{href:"/blue/explorer",className:"text-slate-500 hover:text-slate-400",children:"Explorer"}),(0,a.jsx)("span",{className:"text-slate-700",children:"/"}),(0,a.jsx)("span",{className:"text-slate-400 font-mono truncate max-w-md",children:e})]}),x&&(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center text-slate-500 text-sm",children:"Loading…"}),!x&&m&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",role:"alert",children:[(0,a.jsx)("span",{className:"text-4xl",children:"⚠️"}),(0,a.jsx)("p",{className:"text-red-300 text-sm font-semibold",children:"Couldn’t load blueprint data"}),(0,a.jsx)("pre",{className:"text-xs font-mono text-red-300/90 max-w-md whitespace-pre-wrap break-words px-3 py-2 rounded-lg",style:{background:"rgba(127,29,29,0.18)",border:"1px solid rgba(153,27,27,0.35)"},children:m}),(0,a.jsx)(o(),{href:"/blue/explorer",className:"text-xs text-blue-400",children:"← Back to Explorer"})]}),!x&&!m&&!n&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,a.jsx)("p",{className:"text-slate-500 text-sm",children:"File not found in blueprint data."}),(0,a.jsx)(o(),{href:"/blue/explorer",className:"text-xs text-blue-400",children:"← Back to Explorer"})]}),!x&&!m&&n&&(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsx)("div",{className:"w-80 flex-shrink-0 overflow-y-auto border-r",style:{borderColor:"rgba(51,65,85,0.3)"},children:(0,a.jsx)(i.$,{file:n})}),(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"px-4 py-2 border-b flex-shrink-0 text-xs font-semibold text-slate-500 uppercase tracking-widest",style:{borderColor:"rgba(51,65,85,0.3)"},children:["Comments (",h.length,")"]}),(0,a.jsxs)("div",{className:"px-4 py-3 border-b flex gap-2 flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,a.jsx)("textarea",{value:b,onChange:e=>g(e.target.value),placeholder:"Add a comment about this file…",rows:2,className:"flex-1 text-xs bg-slate-900 border border-slate-700/60 rounded px-2.5 py-2 text-slate-300 placeholder:text-slate-600 outline-none focus:border-blue-500/50 resize-none"}),(0,a.jsx)("button",{onClick:v,disabled:j||!b.trim(),className:"text-xs px-3 py-1 rounded font-medium self-end transition-all disabled:opacity-40",style:{background:"rgba(59,130,246,0.2)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.3)"},children:j?"…":"Add"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-3 flex flex-col gap-3",children:[0===h.length&&(0,a.jsx)("p",{className:"text-sm text-slate-600 text-center py-8",children:"No comments yet."}),h.map(e=>(0,a.jsxs)("div",{className:"rounded-lg px-3 py-2.5 flex flex-col gap-1",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,a.jsx)("p",{className:"text-xs text-slate-300 leading-relaxed",children:e.text}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-600 font-mono",children:new Date(e.createdAt).toLocaleString()}),(0,a.jsx)("button",{onClick:()=>w(e.id),className:"text-[10px] text-slate-700 hover:text-red-500 transition-colors",children:"delete"})]})]},e.id))]})]})]})]})}},56045:(e,t,s)=>{Promise.resolve().then(s.bind(s,35183))},73321:(e,t,s)=>{"use strict";var a=s(74645);s.o(a,"useParams")&&s.d(t,{useParams:function(){return a.useParams}}),s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>r});var a=s(12115);function r(){let[e,t]=(0,a.useState)(""),[s,r]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{fetch("/api/config").then(e=>e.json()).then(e=>{let s=e.targetPath??"";t(s?`?target=${encodeURIComponent(s)}`:"")}).catch(()=>{}).finally(()=>r(!0))},[]),{tq:e,ready:s}}}},e=>{e.O(0,[8500,2069,8441,3794,7358],()=>e(e.s=56045)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5188],{33312:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>R});var l=a(95155),s=a(12115),r=a(3846),n=a(61578),o=a(41897),i=a(63935),c=a(53729),d=a(92829),x=a(71602),u=a(70238),p=a(94137),h=a(92452);let m={fail:3,warn:2,info:1};function f(e,t){return!t||(e.startsWith("src/")?e.slice(4):e).startsWith(t)||e.startsWith(t)}function b(e,t,a){let l=a.length,s=0===t?100:Math.round((t-l)/t*100);return{rule:e,passing:0===l,checked:t,violationCount:l,compliancePct:s,violations:a.slice(0,50),truncated:l>50}}let g={"max-file-loc":"Max file size (LOC)","no-cycles":"No import cycles","layer-boundary":"Layer boundary","min-coverage":"Min test coverage","max-heat":"Max heat score","max-fan-in":"Max fan-in (importers)","require-jsdoc":"Require doc block"},v=Object.keys(g);function y({label:e,value:t,onChange:a,min:s=0}){return(0,l.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,l.jsx)("span",{className:"text-[10px] text-slate-500",children:e}),(0,l.jsx)("input",{type:"number",value:t,min:s,onChange:e=>a(Math.max(s,Number(e.target.value))),className:"w-20 bg-slate-900 border border-slate-700/60 rounded px-2 py-1 text-xs font-mono text-slate-200 outline-none focus:border-blue-500/50"})]})}function j({label:e,value:t,placeholder:a,onChange:s}){return(0,l.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,l.jsx)("span",{className:"text-[10px] text-slate-500 flex-shrink-0",children:e}),(0,l.jsx)("input",{type:"text",value:t,placeholder:a,onChange:e=>s(e.target.value),className:"w-32 bg-slate-900 border border-slate-700/60 rounded px-2 py-1 text-xs font-mono text-slate-200 placeholder:text-slate-600 outline-none focus:border-blue-500/50"})]})}function N({value:e,onChange:t}){return(0,l.jsxs)("select",{value:e,onChange:e=>t(e.target.value),className:"bg-slate-900 border border-slate-700/60 rounded px-1.5 py-0.5 text-[10px] text-slate-300 outline-none focus:border-blue-500/50",children:[(0,l.jsx)("option",{value:"info",children:"info"}),(0,l.jsx)("option",{value:"warn",children:"warn"}),(0,l.jsx)("option",{value:"fail",children:"fail"})]})}function k({rule:e,onPatch:t,onRemove:a}){return(0,l.jsxs)("div",{className:"rounded-lg p-2.5 space-y-2",style:{background:e.enabled?"rgba(15,23,42,0.6)":"rgba(15,23,42,0.3)",border:"1px solid rgba(51,65,85,0.4)",opacity:e.enabled?1:.6},children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:e=>t({enabled:e.target.checked}),className:"accent-blue-500 flex-shrink-0","aria-label":"Enable rule"}),(0,l.jsx)("input",{type:"text",value:e.name,onChange:e=>t({name:e.target.value}),className:"flex-1 min-w-0 bg-transparent border-0 border-b border-transparent hover:border-slate-700 focus:border-blue-500/50 text-xs text-slate-200 font-medium outline-none px-0.5"}),(0,l.jsx)(N,{value:e.severity,onChange:e=>t({severity:e})}),(0,l.jsx)("button",{onClick:a,className:"text-slate-600 hover:text-red-400 text-sm flex-shrink-0 transition-colors","aria-label":"Remove rule",children:"✕"})]}),(0,l.jsx)("p",{className:"text-[9px] uppercase tracking-wide text-slate-600 font-semibold",children:g[e.kind]}),(0,l.jsxs)("div",{className:"space-y-1.5",children:["max-file-loc"===e.kind&&(0,l.jsx)(y,{label:"Max LOC",value:e.maxLoc??400,min:1,onChange:e=>t({maxLoc:e})}),"max-heat"===e.kind&&(0,l.jsx)(y,{label:"Max heat",value:e.maxHeat??90,min:1,onChange:e=>t({maxHeat:e})}),"max-fan-in"===e.kind&&(0,l.jsx)(y,{label:"Max importers",value:e.maxDependents??25,min:1,onChange:e=>t({maxDependents:e})}),"min-coverage"===e.kind&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(y,{label:"Min coverage %",value:e.minCoveragePct??70,onChange:e=>t({minCoveragePct:e})}),(0,l.jsx)(j,{label:"Path prefix",value:e.pathPrefix??"",placeholder:"lib/ (blank = repo)",onChange:e=>t({pathPrefix:e})})]}),("no-cycles"===e.kind||"require-jsdoc"===e.kind)&&(0,l.jsx)(j,{label:"Path prefix",value:e.pathPrefix??"",placeholder:"lib/ (blank = repo)",onChange:e=>t({pathPrefix:e})}),"layer-boundary"===e.kind&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j,{label:"From prefix",value:e.fromPrefix??"",placeholder:"lib/",onChange:e=>t({fromPrefix:e})}),(0,l.jsx)(j,{label:"May not import",value:e.toPrefix??"",placeholder:"components/",onChange:e=>t({toPrefix:e})})]})]}),(0,l.jsx)("p",{className:"text-[10px] text-slate-600 italic leading-snug",children:(0,o.IO)(e)})]})}function C({rules:e,saving:t,onChange:a,onSave:r,onClose:n}){let[i,c]=(0,s.useState)("max-file-loc"),[d,x]=(0,s.useState)("idle"),u=(0,s.useRef)(null);async function p(){x(await r(e)?"saved":"error")}return(0,l.jsxs)("div",{className:"w-80 flex-shrink-0 border-l flex flex-col overflow-hidden",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.85)"},children:[(0,l.jsxs)("div",{className:"flex-shrink-0 flex items-center justify-between px-3.5 py-2.5 border-b",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.95)"},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-xs font-semibold text-slate-200",children:"Fitness Rules"}),(0,l.jsxs)("p",{className:"text-[10px] text-slate-600",children:[e.length," rules \xb7 .prism/standards.json"]})]}),(0,l.jsx)("button",{onClick:n,className:"text-slate-600 hover:text-slate-300 text-sm transition-colors","aria-label":"Close editor",children:"✕"})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto px-2.5 py-2.5 space-y-2",children:[e.map(t=>(0,l.jsx)(k,{rule:t,onPatch:l=>{var s;return s=t.id,void(a(e.map(e=>e.id===s?{...e,...l}:e)),x("idle"))},onRemove:()=>{var l;return l=t.id,void(a(e.filter(e=>e.id!==l)),x("idle"))}},t.id)),0===e.length&&(0,l.jsx)("p",{className:"text-[10px] text-slate-600 text-center py-6",children:"No rules. Add one below to start governing this codebase."})]}),(0,l.jsxs)("div",{className:"flex-shrink-0 px-2.5 py-2 border-t flex items-center gap-1.5",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,l.jsx)("select",{value:i,onChange:e=>c(e.target.value),className:"flex-1 min-w-0 bg-slate-900 border border-slate-700/60 rounded px-1.5 py-1 text-[10px] text-slate-300 outline-none focus:border-blue-500/50",children:v.map(e=>(0,l.jsx)("option",{value:e,children:g[e]},e))}),(0,l.jsx)("button",{onClick:function(){a([...e,function(e){let t={id:`${e}-${Date.now().toString(36)}`,enabled:!0,severity:"warn",kind:e};switch(e){case"max-file-loc":return{...t,name:"Max file size",maxLoc:400};case"max-heat":return{...t,name:"Max heat score",maxHeat:90};case"max-fan-in":return{...t,name:"Max fan-in",maxDependents:25};case"min-coverage":return{...t,name:"Min coverage",minCoveragePct:70,pathPrefix:""};case"no-cycles":return{...t,name:"No import cycles",severity:"fail",pathPrefix:""};case"require-jsdoc":return{...t,name:"Require doc block",pathPrefix:""};case"layer-boundary":return{...t,name:"Layer boundary",severity:"fail",fromPrefix:"lib/",toPrefix:"components/"}}}(i)]),x("idle")},className:"text-[10px] px-2 py-1 rounded border flex-shrink-0",style:{background:"rgba(59,130,246,0.18)",color:"rgb(147,197,253)",borderColor:"rgba(59,130,246,0.4)"},children:"+ Add"})]}),(0,l.jsxs)("div",{className:"flex-shrink-0 px-2.5 py-2 border-t flex items-center gap-1.5",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.95)"},children:[(0,l.jsx)("button",{onClick:p,disabled:t,className:"flex-1 text-[11px] px-2 py-1.5 rounded font-medium transition-colors disabled:opacity-50",style:{background:"saved"===d?"rgba(52,211,153,0.18)":"error"===d?"rgba(248,113,113,0.18)":"rgba(59,130,246,0.22)",color:"saved"===d?"rgb(52,211,153)":"error"===d?"rgb(248,113,113)":"rgb(147,197,253)"},children:t?"Saving…":"saved"===d?"✓ Saved":"error"===d?"Save failed":"Save rules"}),(0,l.jsx)("button",{onClick:function(){window.confirm("Replace all rules with the default starter policy?")&&(a(o.t6.map(e=>({...e}))),x("idle"))},title:"Reset to default policy",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↺"}),(0,l.jsx)("button",{onClick:function(){let t=new Blob([JSON.stringify({rules:e},null,2)],{type:"application/json"}),a=URL.createObjectURL(t),l=document.createElement("a");l.href=a,l.download="fitness-rules.json",l.click(),URL.revokeObjectURL(a)},title:"Export rules JSON",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↓"}),(0,l.jsx)("button",{onClick:()=>u.current?.click(),title:"Import rules JSON",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↑"}),(0,l.jsx)("input",{ref:u,type:"file",accept:"application/json",onChange:function(e){let t=e.target.files?.[0];if(!t)return;let l=new FileReader;l.onload=e=>{try{let t=JSON.parse(e.target?.result),l=(0,o.vw)(Array.isArray(t)?t:t.rules);l.length>0&&(a(l),x("idle"))}catch{x("error")}},l.readAsText(t),e.target.value=""},className:"hidden"})]})]})}let w={fail:{label:"fail",color:"rgb(248,113,113)",bg:"rgba(248,113,113,0.12)"},warn:{label:"warn",color:"rgb(251,191,36)",bg:"rgba(251,191,36,0.12)"},info:{label:"info",color:"rgb(96,165,250)",bg:"rgba(96,165,250,0.12)"}};function P(e){return e>=90?"rgb(52,211,153)":e>=70?"rgb(251,191,36)":"rgb(248,113,113)"}function S({pct:e,passing:t,total:a,hasFailingViolation:s}){let r=P(e),n=2*Math.PI*34,o=e/100*n;return(0,l.jsxs)("div",{className:"flex items-center gap-5 rounded-xl px-5 py-4",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,l.jsxs)("div",{className:"relative flex-shrink-0",style:{width:84,height:84},children:[(0,l.jsxs)("svg",{width:84,height:84,className:"-rotate-90",children:[(0,l.jsx)("circle",{cx:42,cy:42,r:34,fill:"none",stroke:"rgba(51,65,85,0.5)",strokeWidth:7}),(0,l.jsx)("circle",{cx:42,cy:42,r:34,fill:"none",stroke:r,strokeWidth:7,strokeLinecap:"round",strokeDasharray:`${o} ${n}`,style:{transition:"stroke-dasharray 400ms ease"}})]}),(0,l.jsx)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:(0,l.jsxs)("span",{className:"text-xl font-bold font-mono",style:{color:r},children:[e,"%"]})})]}),(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("h2",{className:"text-sm font-semibold text-slate-200",children:"Architecture Compliance"}),s&&(0,l.jsx)("span",{className:"text-[10px] font-semibold px-1.5 py-0.5 rounded",style:{color:"rgb(248,113,113)",background:"rgba(248,113,113,0.12)"},children:"⚠ failing"})]}),(0,l.jsxs)("p",{className:"text-xs text-slate-500",children:[(0,l.jsx)("span",{className:"font-mono text-slate-300",children:t})," of"," ",(0,l.jsx)("span",{className:"font-mono text-slate-300",children:a})," rules passing — computed live from the codebase, severity-weighted."]}),(0,l.jsx)("p",{className:"text-[10px] text-slate-600 leading-relaxed",children:"Governance-as-code: every rule is proven against real blueprint data on every scan — no surveys, no manual attestation."})]})]})}function $({result:e,expanded:t,onToggle:a,onSelectFile:s}){let{rule:r,passing:n,compliancePct:i,violationCount:c,checked:d,violations:x,truncated:u}=e,p=w[r.severity],h=P(i);return(0,l.jsxs)("div",{className:"rounded-lg overflow-hidden",style:{background:"rgba(15,23,42,0.5)",border:`1px solid ${n?"rgba(51,65,85,0.4)":p.color+"55"}`},children:[(0,l.jsxs)("button",{onClick:a,disabled:n,className:"w-full flex items-center gap-3 px-3.5 py-2.5 text-left transition-colors hover:bg-slate-800/30 disabled:cursor-default disabled:hover:bg-transparent",children:[(0,l.jsx)("span",{className:"flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold",style:{background:n?"rgba(52,211,153,0.15)":p.bg,color:n?"rgb(52,211,153)":p.color},children:n?"✓":"✕"}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"text-sm text-slate-200 font-medium truncate",children:r.name}),(0,l.jsx)("span",{className:"text-[9px] uppercase tracking-wide font-semibold px-1.5 py-0.5 rounded flex-shrink-0",style:{color:p.color,background:p.bg},children:p.label})]}),(0,l.jsx)("p",{className:"text-[10px] text-slate-500 truncate mt-0.5",children:(0,o.IO)(r)})]}),(0,l.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[(0,l.jsxs)("div",{className:"flex flex-col items-end",children:[(0,l.jsxs)("span",{className:"text-sm font-mono font-semibold",style:{color:h},children:[i,"%"]}),(0,l.jsx)("span",{className:"text-[9px] text-slate-600 font-mono",children:n?`${d} checked`:`${c}/${d} violating`})]}),!n&&(0,l.jsx)("span",{className:"text-slate-600 text-xs",children:t?"▾":"▸"})]})]}),(0,l.jsx)("div",{className:"h-1 w-full",style:{background:"rgba(51,65,85,0.4)"},children:(0,l.jsx)("div",{className:"h-full",style:{width:`${i}%`,background:h,transition:"width 400ms ease"}})}),t&&!n&&(0,l.jsxs)("div",{className:"px-3.5 py-2.5 space-y-1",style:{background:"rgba(2,6,23,0.5)",borderTop:"1px solid rgba(51,65,85,0.3)"},children:[r.description&&(0,l.jsx)("p",{className:"text-[10px] text-slate-500 italic pb-1",children:r.description}),x.map(e=>(0,l.jsxs)("button",{onClick:()=>s?.(e.path),className:"w-full flex items-center justify-between gap-3 px-2 py-1.5 rounded text-left transition-colors hover:bg-slate-800/50 group",children:[(0,l.jsx)("span",{className:"text-[11px] font-mono text-slate-400 group-hover:text-blue-300 truncate transition-colors",children:e.path}),(0,l.jsx)("span",{className:"text-[10px] font-mono flex-shrink-0",style:{color:w[r.severity].color},children:e.detail})]},e.path)),u&&(0,l.jsxs)("p",{className:"text-[10px] text-slate-600 pt-1",children:["… and ",c-x.length," more violating files."]})]})]})}function M({data:e,rules:t,target:a,onRulesChange:r,onSaveRules:n,saving:o,onSelectFile:i}){let[c,d]=(0,s.useState)(null),[x,u]=(0,s.useState)(!1),p=(0,s.useMemo)(()=>(function(e,t){let a=e.filter(e=>e.enabled).map(e=>(function(e,t){let a=t.files??[];switch(e.kind){case"max-file-loc":{let t=e.maxLoc??400,l=[];for(let e of a){let a=e.metrics?.loc??e.loc??0;a>t&&l.push({path:e.path,detail:`${a} LOC (limit ${t})`})}return l.sort((e,t)=>t.detail.localeCompare(e.detail)),b(e,a.length,l)}case"max-heat":{let t=e.maxHeat??90,l=[];for(let e of a){let a=e.metrics?.heatScore??0;a>t&&l.push({path:e.path,detail:`heat ${Math.round(a)} (limit ${t})`})}return l.sort((e,t)=>t.path.localeCompare(e.path)),b(e,a.length,l)}case"max-fan-in":{let t=e.maxDependents??25,l=[];for(let e of a){let a=e.incomingInternalDependencies?.length??e.metrics?.incomingRuntimeDeps??0;a>t&&l.push({path:e.path,detail:`${a} importers (limit ${t})`})}return b(e,a.length,l)}case"min-coverage":{let t=e.minCoveragePct??70,l=e.pathPrefix??"",s=a.filter(e=>f(e.path,l)),r=[],n=0;for(let e of s){let a=(0,h.TR)(e.coverage);null!=a&&(n++,a<t&&r.push({path:e.path,detail:`${Math.round(a)}% covered (min ${t}%)`}))}return b(e,n,r)}case"no-cycles":{let l=e.pathPrefix??"",s=(t.analysis?.filesInCycles??[]).filter(e=>f(e,l)).map(e=>{let t=a.find(t=>t.path===e),l=t?.cycleGroupId?` (cycle ${t.cycleGroupId})`:"";return{path:e,detail:`in import cycle${l}`}});return b(e,a.filter(e=>f(e.path,l)).length,s)}case"layer-boundary":{let t=e.fromPrefix??"",l=e.toPrefix??"",s=new Map;for(let e of a)s.set(e.path,e);let r=a.filter(e=>f(e.path,t)),n=[];for(let e of r){let t=(e.outgoingInternalDependencies??e.internalImports??[]).filter(e=>f(e,l));if(t.length>0){let a=t.slice(0,3).map(e=>e.split("/").pop()).join(", ");n.push({path:e.path,detail:`imports ${l} → ${a}${t.length>3?"…":""}`})}}return b(e,r.length,n)}case"require-jsdoc":{let t=e.pathPrefix??"",l=a.filter(e=>f(e.path,t)),s=[];for(let e of l)e.hasJsDoc||s.push({path:e.path,detail:"missing doc block"});return b(e,l.length,s)}}})(e,t)),l=0,s=0,r=0,n=!1;for(let e of a){let t=m[e.rule.severity];l+=t,s+=t*e.compliancePct,e.passing?r++:"fail"===e.rule.severity&&(n=!0)}let o=0===l?100:Math.round(s/l);return{results:a,evaluatedCount:a.length,passingCount:r,failingCount:a.length-r,overallCompliance:o,hasFailingViolation:n}})(t,e),[t,e]),g=(0,s.useMemo)(()=>{let e={fail:0,warn:1,info:2};return[...p.results].sort((t,a)=>t.passing!==a.passing?t.passing?1:-1:t.rule.severity!==a.rule.severity?e[t.rule.severity]-e[a.rule.severity]:t.compliancePct-a.compliancePct)},[p]);return(0,l.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,l.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:(0,l.jsxs)("div",{className:"max-w-3xl mx-auto flex flex-col gap-4",children:[(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h1",{className:"text-base font-semibold text-slate-100",children:"Architecture Fitness Functions"}),(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:["Executable governance rules — compliance proven from"," ",(0,l.jsx)("span",{className:"font-mono text-slate-400",children:e.files.length})," ","scanned files."]})]}),(0,l.jsx)("button",{onClick:()=>u(e=>!e),className:"text-xs px-3 py-1.5 rounded border transition-colors flex-shrink-0",style:{background:x?"rgba(59,130,246,0.18)":"rgba(30,41,59,0.6)",color:x?"rgb(147,197,253)":"rgb(148,163,184)",borderColor:x?"rgba(59,130,246,0.4)":"rgba(51,65,85,0.5)"},children:x?"Close editor":"✎ Edit rules"})]}),(0,l.jsx)(S,{pct:p.overallCompliance,passing:p.passingCount,total:p.evaluatedCount,hasFailingViolation:p.hasFailingViolation}),0===p.evaluatedCount&&(0,l.jsxs)("div",{className:"rounded-xl px-5 py-8 text-center",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,l.jsx)("p",{className:"text-sm text-slate-400 font-medium",children:"No active fitness rules"}),(0,l.jsx)("p",{className:"text-xs text-slate-600 mt-1 mb-3",children:"Enable or add rules in the editor to start governing this codebase."}),(0,l.jsx)("button",{onClick:()=>u(!0),className:"text-xs px-3 py-1.5 rounded border",style:{background:"rgba(59,130,246,0.18)",color:"rgb(147,197,253)",borderColor:"rgba(59,130,246,0.4)"},children:"✎ Open rule editor"})]}),g.map(e=>(0,l.jsx)($,{result:e,expanded:c===e.rule.id,onToggle:()=>d(t=>t===e.rule.id?null:e.rule.id),onSelectFile:i},e.rule.id)),p.evaluatedCount>0&&(0,l.jsx)("p",{className:"text-[10px] text-slate-600 text-center pt-1",children:"Compliance is recomputed on every scan — it cannot drift from the code."})]})}),x&&(0,l.jsx)(C,{rules:t,target:a,saving:o,onChange:r,onSave:n,onClose:()=>u(!1)})]})}function R(){let{data:e,setData:t,loading:a,error:h,outdated:m,setOutdated:f,target:b,isDemo:g,isProGated:v,reload:y}=(0,r.W)(),[j,N]=(0,n.a)(),{rules:k,setRules:C,save:w,saving:P}=function(e){let[t,a]=(0,s.useState)(o.t6),[l,r]=(0,s.useState)(!1),[n,i]=(0,s.useState)(!1),[c,d]=(0,s.useState)(null);return(0,s.useEffect)(()=>{if(!e)return;let t=!1;return r(!0),fetch(`/api/blue/standards?target=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t||(Array.isArray(e.rules)&&a(e.rules),d(null))}).catch(e=>{t||d(e instanceof Error?e.message:"Failed to load rules")}).finally(()=>{t||r(!1)}),()=>{t=!0}},[e]),{rules:t,loading:l,error:c,setRules:(0,s.useCallback)(e=>{a(e)},[]),save:(0,s.useCallback)(async t=>{if(!e)return!1;i(!0),d(null);try{let l=await fetch(`/api/blue/standards?target=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rules:t})});if(!l.ok)throw Error(`HTTP ${l.status}`);let s=await l.json();return Array.isArray(s.rules)&&a(s.rules),!0}catch(e){return d(e instanceof Error?e.message:"Failed to save rules"),!1}finally{i(!1)}},[e]),saving:n}}(b),[S,$]=(0,s.useState)(null),R=(0,l.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[g&&(0,l.jsx)(c.y,{}),(0,l.jsx)(i.F,{target:b,outdated:m,onRescan:function(e){e&&(t(e),f(!1))},hideRescan:g||v,viewMode:j,onViewModeChange:N}),a&&(0,l.jsx)(u.Dk,{}),!a&&h&&(0,l.jsx)(x.f,{message:h,onRetry:y}),!a&&!h&&!e&&(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,l.jsx)("span",{className:"text-5xl",children:"◆"}),(0,l.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,l.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Architecture Fitness Functions evaluate your rules against the real codebase. Run ↺ Rescan above to generate a blueprint first."})]}),!a&&!h&&e&&(0,l.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,l.jsx)(M,{data:e,rules:k,target:b,onRulesChange:C,onSaveRules:w,saving:P,onSelectFile:t=>{let a=e.files.find(e=>e.path===t);a&&$(a)}}),S&&(0,l.jsx)(p.N,{file:S,allFiles:e.files,target:b,onClose:()=>$(null),onSelectFile:t=>{let a=e.files.find(e=>e.path===t);a&&$(a)}})]})]});return v?(0,l.jsx)(d.e,{children:R}):R}},38415:(e,t,a)=>{Promise.resolve().then(a.bind(a,33312))},61578:(e,t,a)=>{"use strict";a.d(t,{a:()=>r});var l=a(12115);let s="prism.viewMode";function r(){let[e,t]=(0,l.useState)("expert");return(0,l.useEffect)(()=>{try{let e=localStorage.getItem(s);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,l.useCallback)(e=>{t(e);try{localStorage.setItem(s,e)}catch{}},[])]}}},e=>{e.O(0,[8500,8110,6828,2069,1385,6901,8441,3794,7358],()=>e(e.s=38415)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5524],{35518:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>S});var a=s(95155),l=s(12115),n=s(3846),r=s(61578),i=s(63935),o=s(53729),c=s(92829),d=s(94137),x=s(92452);let p="#0d111c",u="#151e30",h={form:"⬜",data:"⊞",chat:"\uD83D\uDCAC",nav:"⊹",action:"◈",dashboard:"⊟",content:"□",settings:"⚙",auth:"\uD83D\uDD12"},m={form:{bg:"rgba(120,53,15,0.30)",border:"rgba(146,64,14,0.45)"},data:{bg:"rgba(30,58,138,0.30)",border:"rgba(37,99,235,0.35)"},chat:{bg:"rgba(6,78,59,0.30)",border:"rgba(16,185,129,0.35)"},nav:{bg:"rgba(76,29,149,0.25)",border:"rgba(109,40,217,0.35)"},action:{bg:"rgba(55,48,163,0.25)",border:"rgba(79,70,229,0.35)"},dashboard:{bg:"rgba(30,41,59,0.50)",border:"rgba(51,65,85,0.60)"},content:{bg:"rgba(30,41,59,0.35)",border:"rgba(51,65,85,0.50)"},settings:{bg:"rgba(51,65,85,0.35)",border:"rgba(71,85,105,0.50)"},auth:{bg:"rgba(127,29,29,0.25)",border:"rgba(153,27,27,0.40)"}};function f(e){return e.screenInfo?.label??e.path.split("/").pop()?.replace(/\.(tsx?|jsx?)$/,"")??e.path}function g(e){switch(e){case"dashboard":return"bg-blue-900/50 text-blue-300";case"admin":return"bg-violet-900/50 text-violet-300";case"chat":return"bg-green-900/50 text-green-300";case"form":case"builder":return"bg-amber-900/50 text-amber-300";case"settings":return"bg-slate-700/50 text-slate-300";case"auth":case"recovery":return"bg-red-900/40 text-red-300";default:return"bg-slate-800/50 text-slate-400"}}function b({zones:e,selected:t,colorMode:s,onSelect:n}){let[r,i]=(0,l.useState)(()=>Object.fromEntries(e.map(e=>[e.key,!0]))),[o,c]=(0,l.useState)(""),d=(0,l.useMemo)(()=>{if(!o.trim())return e;let t=o.trim().toLowerCase();return e.map(e=>({...e,screens:e.screens.filter(e=>f(e).toLowerCase().includes(t)||e.path.toLowerCase().includes(t))})).filter(e=>e.screens.length>0)},[e,o]),p=(0,l.useMemo)(()=>d.flatMap(e=>!1!==r[e.key]?e.screens:[]),[d,r]),[h,m]=(0,l.useState)(-1),v=(0,l.useRef)(null),j=(0,l.useRef)(null);return(0,l.useEffect)(()=>{h>=p.length&&m(p.length-1)},[p.length,h]),(0,l.useEffect)(()=>{!(h<0)&&j.current&&j.current.querySelector(`[data-kbd-index="${h}"]`)?.scrollIntoView({block:"nearest"})},[h]),(0,l.useEffect)(()=>{function e(e){let t=e.target,s=t instanceof HTMLElement&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable);if("/"===e.key&&!s){e.preventDefault(),v.current?.focus(),v.current?.select();return}if("Escape"===e.key&&s&&t===v.current)return void t.blur();if(!s&&0!==p.length){if("ArrowDown"===e.key||"j"===e.key)e.preventDefault(),m(e=>e<p.length-1?e+1:0);else if("ArrowUp"===e.key||"k"===e.key)e.preventDefault(),m(e=>e>0?e-1:p.length-1);else if("Enter"===e.key&&h>=0){e.preventDefault();let t=p[h];t&&n(t)}}}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[p,h,n]),(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0",style:{background:"#080d18",borderRight:`1.5px solid ${u}`},children:[(0,a.jsxs)("div",{className:"shrink-0 px-3 pt-3 pb-2",children:[(0,a.jsx)("div",{className:"text-[10px] font-mono font-semibold text-slate-500 uppercase tracking-wide mb-2",children:"⊙ Flow — App Screens"}),(0,a.jsx)("input",{ref:v,value:o,onChange:e=>c(e.target.value),placeholder:"Find screen… ( / )",className:"bx-transition bx-focusable w-full bg-slate-900/60 border border-slate-700/60 rounded px-2 py-1 text-[11px] text-slate-300 placeholder-slate-600 focus:outline-none focus:border-blue-600/50"})]}),(0,a.jsxs)("div",{ref:j,className:"flex-1 overflow-y-auto px-2 pb-3 space-y-0.5",children:[d.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>i(t=>({...t,[e.key]:!t[e.key]})),className:"w-full flex items-center gap-1.5 px-2 py-1 rounded hover:bg-slate-800/30 transition-colors",children:[(0,a.jsx)("span",{className:"text-[11px]",children:e.icon}),(0,a.jsx)("span",{className:"text-[10px] font-mono font-semibold",style:{color:e.color},children:e.label}),(0,a.jsxs)("span",{className:"text-[9px] text-slate-600 ml-0.5",children:["(",e.screens.length,")"]}),(0,a.jsx)("span",{className:"ml-auto text-slate-700 text-[9px]",children:!1!==r[e.key]?"▾":"▸"})]}),!1!==r[e.key]&&(0,a.jsx)("div",{className:"space-y-px ml-1.5 mb-1",children:e.screens.map(e=>{let l=f(e),r=t?.id===e.id,i=e.screenInfo?.screenKind,o=(0,x.Rl)(e.coverage),c=(0,x.NU)(o),d=p.findIndex(t=>t.id===e.id),u=d>=0&&h===d;return(0,a.jsxs)("button",{onClick:()=>n(e),"data-kbd-index":d>=0?d:void 0,"aria-current":r?"page":void 0,className:`bx-transition bx-focusable w-full text-left px-2 py-1.5 rounded ${r?"bg-blue-900/50 border border-blue-600/40":u?"bg-slate-800/40 border border-slate-600/40":"border border-transparent hover:bg-slate-800/30"}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[i&&"page"!==i&&"unknown"!==i&&(0,a.jsx)("span",{className:`text-[7px] px-1 py-0 rounded font-mono leading-tight shrink-0 ${g(i)}`,children:i}),(0,a.jsxs)("span",{className:`text-[11px] font-mono truncate leading-snug ${r?"text-blue-200 font-semibold":"text-slate-300"}`,children:[l.slice(0,22),l.length>22?"…":""]}),"heat"===s&&(0,a.jsx)("span",{className:"ml-auto text-[8px] font-mono text-slate-600 shrink-0",children:e.metrics.heatScore.toFixed(0)}),"coverage"===s&&null!=o&&(0,a.jsxs)("span",{className:"ml-auto text-[8px] font-mono shrink-0",style:{color:x.Vt[c]},children:[o.toFixed(0),"%"]})]}),r&&(0,a.jsx)("div",{className:"text-[9px] text-slate-600 font-mono mt-0.5 truncate",children:e.path})]},e.id)})})]},e.key)),0===d.length&&(0,a.jsx)("div",{className:"text-[11px] text-slate-600 text-center py-6",children:"No screens match"})]})]})}function v({area:e}){let{bg:t,border:s}=m[e.kind];return(0,a.jsxs)("div",{className:"rounded-lg p-3",style:{background:t,border:`1px solid ${s}`},children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)("span",{className:"text-[13px]","aria-hidden":!0,children:h[e.kind]}),(0,a.jsx)("span",{className:"text-[11px] font-semibold text-slate-100",children:e.label})]}),(0,a.jsx)("p",{className:"text-[10px] text-slate-400 leading-relaxed mb-1.5",children:e.description}),e.controls.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.controls.map(e=>(0,a.jsx)("span",{className:"text-[8px] font-mono px-1.5 py-0.5 rounded bg-slate-900/50 text-slate-400 border border-slate-700/40",children:e},e))}),e.signals.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-1",children:e.signals.map(e=>(0,a.jsx)("span",{className:"text-[8px] font-mono text-slate-600 italic",children:e},e))})]})}function j({screen:e,allFiles:t,onSelectFile:s}){let n=e.screenInfo,r=f(e),i=(0,l.useMemo)(()=>(function(e){let t=[],s=e.screenInfo,a=e.controlInventory,l=s?.uiPatterns??[],n=s?.eventHandlers??[],r=s?.screenKind??"page";if(("dashboard"===r||l.includes("card-grid"))&&t.push({id:"dashboard",label:"Dashboard Overview",kind:"dashboard",description:"Metric cards, KPIs, or summary panels",controls:a?[`${a.actionCount} actions`]:[],signals:["metrics","summary"]}),"chat"===r||l.includes("chat")){let e=a?.controls.filter(e=>/composer|message|send/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"chat",label:"Message / Chat",kind:"chat",description:"Messaging interface with message feed and composer",controls:e.slice(0,3),signals:["send message","chat feed"]})}if(l.includes("form")||"form"===r||a&&!a.isInferred&&a.hasForm&&a.formFieldCount>0){let e=a?.controls.filter(e=>["input","select","textarea","checkbox"].includes(e.kind)).map(e=>`${e.count>1?`${e.count}\xd7 `:""}${e.semanticRole}`)??[],s=a?.controls.filter(e=>/save|submit/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"form",label:"Form / Input",kind:"form",description:`${a?.formFieldCount??"?"} input fields for structured data entry`,controls:[...e.slice(0,3),...s.slice(0,1)],signals:["save","validate","submit"]})}if(l.includes("data-table")){let e=a?.controls.filter(e=>"search"===e.kind||/filter|search/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"data",label:"Data Table / List",kind:"data",description:"Structured data display with sorting and filtering",controls:e.slice(0,2),signals:["filter","sort","paginate"]})}if((l.includes("tabbed-layout")||a&&!a.isInferred&&a.hasTabs)&&t.push({id:"nav-tabs",label:"Tab Navigation",kind:"nav",description:"Tabbed sections letting users switch between views",controls:["Navigation Tabs"],signals:["navigate","switch section"]}),("recovery"===r||"auth"===r||e.path.includes("auth")||e.path.includes("login")||e.path.includes("signup"))&&t.push({id:"auth",label:"Authentication",kind:"auth",description:"Login, registration, or account recovery flow",controls:[],signals:["sign in","register","recover"]}),("settings"===r||e.path.includes("setting"))&&t.push({id:"settings",label:"Settings / Config",kind:"settings",description:"User preferences and app configuration",controls:[],signals:["configure","save settings"]}),(a?.hasSearch||n.some(e=>/search|query/i.test(e)))&&t.push({id:"search",label:"Search",kind:"action",description:"Full-text or filtered search interface",controls:["Search Input"],signals:["search","query"]}),a&&!a.isInferred&&a.controls.some(e=>/delete|remove|destruct/i.test(e.semanticRole))&&t.push({id:"destructive",label:"Destructive Actions",kind:"action",description:"Actions that permanently modify or delete data",controls:a.controls.filter(e=>/delete|remove|destruct/i.test(e.semanticRole)).map(e=>e.semanticRole).slice(0,2),signals:["delete","remove"]}),0===t.length){let s=a?.controls.filter(e=>"button"===e.kind).map(e=>e.semanticRole)??[];t.push({id:"content",label:"page"!==r&&"unknown"!==r?`${r} view`:"Content Area",kind:"content",description:e.docSummary?.slice(0,90)??"Main content area for this screen",controls:s.slice(0,3),signals:[]})}return t})(e),[e.id]),o=(0,x.Rl)(e.coverage),c=(0,x.NU)(o),d=(0,l.useMemo)(()=>{let s=e=>"page"===e.nextFileKind||"layout"===e.nextFileKind,a=new Map(t.map(e=>[e.path,e])),l=e.runtimeInternalImports.map(e=>a.get(e)).filter(e=>!!e&&s(e)),n=t.filter(t=>s(t)&&t.runtimeInternalImports.includes(e.path));return{outgoing:l.slice(0,6),incoming:n.slice(0,6)}},[e.id,t]);return(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0 overflow-y-auto",style:{background:p},children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 pt-4 pb-3 border-b",style:{borderColor:u},children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h2",{className:"text-[17px] font-bold text-slate-100 leading-tight",children:r}),(0,a.jsx)("div",{className:"text-[10px] text-slate-500 font-mono mt-0.5 truncate",children:e.path})]}),n?.screenKind&&"unknown"!==n.screenKind&&"page"!==n.screenKind&&(0,a.jsx)("span",{className:`text-[9px] px-2 py-0.5 rounded font-mono font-semibold shrink-0 ${g(n.screenKind)}`,children:n.screenKind})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-2 flex-wrap",children:[(0,a.jsxs)("span",{className:"text-[10px] font-mono text-slate-400",children:["\uD83D\uDD25",e.metrics.heatScore.toFixed(1)]}),null!=o&&(0,a.jsxs)("span",{className:"text-[10px] font-mono",style:{color:x.Vt[c]},children:["\uD83E\uDDEA",o.toFixed(0),"%"]}),n?.dataSources&&n.dataSources.length>0&&(0,a.jsx)("div",{className:"flex gap-1.5 flex-wrap",children:n.dataSources.slice(0,3).map(e=>(0,a.jsx)("span",{className:"text-[9px] bg-sky-900/30 text-sky-400 border border-sky-800/30 px-1.5 py-0.5 rounded",children:"supabase"===e?"\uD83D\uDDC4 supabase":"http-fetch"===e?"\uD83C\uDF10 http":"router"===e?"\uD83D\uDD00 router":`📡 ${e}`},e))})]}),n?.uiPatterns&&n.uiPatterns.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-1.5",children:n.uiPatterns.map(e=>(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono bg-slate-800/60 px-1.5 py-0.5 rounded border border-slate-700/40",children:e},e))})]}),(0,a.jsxs)("div",{className:"shrink-0 px-5 py-4",children:[(0,a.jsx)("h3",{className:"text-[10px] font-semibold text-slate-500 uppercase tracking-wide mb-2.5",children:"What you can do here"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:i.map(e=>(0,a.jsx)(v,{area:e},e.id))})]}),(d.incoming.length>0||d.outgoing.length>0)&&(0,a.jsxs)("div",{className:"shrink-0 px-5 pb-4 border-t",style:{borderColor:u},children:[(0,a.jsx)("h3",{className:"text-[10px] font-semibold text-slate-500 uppercase tracking-wide mt-3 mb-2.5",children:"Navigation context"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[d.incoming.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[9px] text-amber-500/60 font-mono mb-1.5",children:"← entered from"}),(0,a.jsx)("div",{className:"space-y-1",children:d.incoming.map(e=>(0,a.jsx)("button",{onClick:()=>s(e),className:"w-full text-left px-2 py-1 rounded border text-[10px] font-mono truncate transition-colors hover:border-amber-700/50",style:{borderColor:"rgba(180,83,9,0.25)",background:"rgba(120,53,15,0.15)",color:"#fbbf24"},children:f(e)},e.id))})]}),d.outgoing.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[9px] text-cyan-500/60 font-mono mb-1.5",children:"→ leads to"}),(0,a.jsx)("div",{className:"space-y-1",children:d.outgoing.map(e=>(0,a.jsx)("button",{onClick:()=>s(e),className:"w-full text-left px-2 py-1 rounded border text-[10px] font-mono truncate transition-colors hover:border-cyan-700/50",style:{borderColor:"rgba(8,145,178,0.25)",background:"rgba(6,78,59,0.15)",color:"#67e8f9"},children:f(e)},e.id))})]})]})]})]})}function N({zones:e,totalFiles:t}){let s=e.reduce((e,t)=>e+t.screens.length,0);return(0,a.jsx)("div",{className:"flex flex-col h-full items-center justify-center p-8",style:{background:p},children:(0,a.jsxs)("div",{className:"text-center max-w-xs",children:[(0,a.jsx)("div",{className:"text-[40px] mb-3 opacity-20",children:"⊙"}),(0,a.jsx)("div",{className:"text-[14px] font-semibold text-slate-300 mb-1.5",children:"App Navigation Map"}),(0,a.jsx)("div",{className:"text-[11px] text-slate-500 leading-relaxed mb-4",children:"Select a screen on the left to explore its feature areas and navigation paths."}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2 justify-center",children:e.map(e=>(0,a.jsxs)("div",{className:"text-[10px] font-mono px-2 py-1 rounded border border-slate-700/50",style:{color:e.color,background:`${e.color}12`},children:[e.icon," ",e.screens.length," ",e.label]},e.key))}),(0,a.jsxs)("div",{className:"text-[10px] text-slate-600 mt-3",children:[s," screens / ",t," total files"]})]})})}function y({files:e,selected:t,colorMode:s="neutral",onSelect:n}){let r=(0,l.useMemo)(()=>(function(e){let t=e.filter(e=>"page"===e.nextFileKind||"layout"===e.nextFileKind),s=[],a=[],l=[],n=[];for(let e of t){let t=e.path;t.startsWith("app/api/")||t.startsWith("src/app/api/")?n.push(e):t.startsWith("app/")||t.startsWith("src/app/")?s.push(e):t.startsWith("components/admin/")?a.push(e):l.push(e)}let r=[];return s.length&&r.push({key:"pages",label:"Pages",icon:"\uD83D\uDCC4",color:"#3b82f6",screens:s}),a.length&&r.push({key:"admin",label:"Admin",icon:"\uD83D\uDD12",color:"#f97316",screens:a}),l.length&&r.push({key:"ui",label:"UI Screens",icon:"⚛",color:"#8b5cf6",screens:l}),n.length&&r.push({key:"api",label:"API Routes",icon:"\uD83D\uDD0C",color:"#64748b",screens:n}),r})(e),[e]),[i,o]=(0,l.useState)(null),c=i??(t&&("page"===t.nextFileKind||"layout"===t.nextFileKind)?t:null);function d(e){o(e),n(e)}return(0,a.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,a.jsx)("div",{className:"w-[240px] shrink-0 overflow-hidden",children:(0,a.jsx)(b,{zones:r,selected:c,colorMode:s,onSelect:d})}),(0,a.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:c?(0,a.jsx)("div",{className:"bx-fade-in h-full",children:(0,a.jsx)(j,{screen:c,allFiles:e,onSelectFile:d})},c.id):(0,a.jsx)(N,{zones:r,totalFiles:e.length})})]})}var k=s(70238),w=s(71602);function S(){let{data:e,setData:t,loading:s,error:x,outdated:p,setOutdated:u,target:h,isDemo:m,isProGated:g,reload:b}=(0,n.W)(),[v,j]=(0,r.a)(),[N,S]=(0,l.useState)(null),[C,I]=(0,l.useState)("heat"),F=(0,l.useMemo)(()=>e?e.files.filter(e=>{let t=e.path.toLowerCase(),s=t.startsWith("app/")||t.startsWith("src/app/"),a=t.split("/").pop()??"";return s&&(a.startsWith("page.")||a.startsWith("layout.")||a.startsWith("route."))}).sort((e,t)=>e.path.localeCompare(t.path)):[],[e]),R=(0,a.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[m&&(0,a.jsx)(o.y,{}),(0,a.jsx)(i.F,{target:h,outdated:p,onRescan:function(e){e&&(t(e),u(!1))},hideRescan:m||g,viewMode:v,onViewModeChange:j}),s&&(0,a.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,a.jsx)(k.gM,{})}),!s&&x&&(0,a.jsx)(w.f,{message:x,onRetry:b}),!s&&!x&&!e&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,a.jsx)("span",{className:"text-5xl",children:"\uD83C\uDF0A"}),(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan above to generate a blueprint."})]}),!s&&!x&&e&&(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsx)("div",{className:"flex-1 overflow-hidden",children:"simple"===v?(0,a.jsxs)("div",{className:"flex flex-col h-full overflow-y-auto px-6 py-4 gap-3",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-500",children:[F.length," user-facing pages, layouts, and API routes in your app."]}),0===F.length?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-3 text-center",children:[(0,a.jsx)("span",{className:"text-4xl",children:"\uD83C\uDF0A"}),(0,a.jsx)("p",{className:"text-sm font-semibold text-slate-300",children:"No app routes detected"}),(0,a.jsx)("p",{className:"text-xs text-slate-600 max-w-xs",children:"No page.tsx, layout.tsx, or route.ts files found under app/. Switch to Expert view to see all files."})]}):(0,a.jsx)("div",{className:"flex flex-col gap-1.5",children:F.map(e=>{let t=e.path.split("/").pop()??e.path,s="/"+e.path.replace(/^(src\/)?app\//,"").replace(/\/(page|layout|route)\.(tsx?|jsx?)$/,"").replace(/\(.*?\)\//g,""),l=f(e),n=t.startsWith("page."),r=t.startsWith("layout.");t.startsWith("route.");let i=n?"rgb(96,165,250)":r?"rgb(167,139,250)":"rgb(52,211,153)";return(0,a.jsxs)("div",{onClick:()=>S(N?.id===e.id?null:e),className:"flex items-center gap-3 px-4 py-2.5 rounded-xl cursor-pointer transition-colors",style:{background:N?.id===e.id?"rgba(59,130,246,0.1)":"rgba(15,23,42,0.4)",border:`1px solid ${N?.id===e.id?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:[(0,a.jsx)("span",{className:"text-[10px] font-bold px-1.5 py-0.5 rounded flex-shrink-0",style:{color:i,background:i+"18",border:`1px solid ${i}30`},children:n?"page":r?"layout":"API"}),(0,a.jsx)("span",{className:"text-xs font-semibold text-slate-200 truncate",children:l}),(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-500 truncate flex-1",children:s}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-600 font-mono flex-shrink-0",children:[e.metrics.loc,"L"]})]},e.id)})})]}):(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,a.jsx)("div",{className:"shrink-0 flex items-center gap-1 px-3 py-1.5 border-b border-slate-800/60",children:["neutral","heat","coverage"].map(e=>(0,a.jsx)("button",{onClick:()=>I(e),className:"text-[10px] font-mono px-2 py-0.5 rounded transition-colors",style:{background:C===e?"rgba(59,130,246,0.2)":"rgba(30,41,59,0.5)",color:C===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${C===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:e},e))}),(0,a.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,a.jsx)(y,{files:e.files,selected:N,colorMode:C,onSelect:S})})]})}),N&&(0,a.jsx)(d.N,{file:N,allFiles:e.files,target:h,onClose:()=>S(null),onSelectFile:t=>{let s=e?.files.find(e=>e.path===t);s&&S(s)}})]})]});return g?(0,a.jsx)(c.e,{children:R}):R}},61578:(e,t,s)=>{"use strict";s.d(t,{a:()=>n});var a=s(12115);let l="prism.viewMode";function n(){let[e,t]=(0,a.useState)("expert");return(0,a.useEffect)(()=>{try{let e=localStorage.getItem(l);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,a.useCallback)(e=>{t(e);try{localStorage.setItem(l,e)}catch{}},[])]}},66553:(e,t,s)=>{Promise.resolve().then(s.bind(s,35518))}},e=>{e.O(0,[8500,8110,6828,2069,1385,6901,8441,3794,7358],()=>e(e.s=66553)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2600],{42655:(e,t,a)=>{Promise.resolve().then(a.bind(a,67557))},67557:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>E});var o=a(95155),l=a(12115),r=a(3846),s=a(63935),n=a(53729),i=a(92829),d=a(94137),c=a(81750),h=a(61278);a(53255);var x=a(67773),b=a.n(x),p=a(92452);let u=[{value:60,label:"60"},{value:100,label:"100"},{value:150,label:"150"},{value:"all",label:"All"}];function g(e){return e>=50?"#ef4444":e>=30?"#f97316":e>=15?"#eab308":e>=5?"#3b82f6":"#475569"}function m(e){return({app:"#1e40af",component:"#5b21b6",lib:"#0f766e",hook:"#b45309"})[e]??"#334155"}function f(e){return e.replace(/[^a-zA-Z0-9]/g,"_").replace(/_+/g,"_").replace(/^_|_$/,"")}function y(e,t){let a=e.map(e=>e.id).sort(),o=t.map(e=>`${e.source}>${e.target}`).sort();return`${a.length}:${o.length}|${a.join(",")}|${o.join(",")}`}let j=new Map,v={selected:{bg:"rgba(30,58,138,0.55)",border:"#60a5fa",shadow:"0 0 0 2px rgba(96,165,250,0.45), 0 2px 8px rgba(0,0,0,0.6)",opacity:1,borderWidth:"2px",textColor:"#bfdbfe"},incoming:{bg:"rgba(0,55,90,0.55)",border:"#22d3ee",shadow:"0 0 0 1.5px rgba(34,211,238,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#a5f3fc"},outgoing:{bg:"rgba(100,40,0,0.55)",border:"#fb923c",shadow:"0 0 0 1.5px rgba(251,146,60,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#fed7aa"},both:{bg:"rgba(55,20,90,0.55)",border:"#a78bfa",shadow:"0 0 0 1.5px rgba(167,139,250,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#ddd6fe"},dimmed:{bg:"rgba(15,23,42,0.88)",border:"#1e293b",shadow:"none",opacity:.22,borderWidth:"1px",textColor:"#475569"},normal:{bg:"rgba(15,23,42,0.92)",border:"",shadow:"0 1px 4px rgba(0,0,0,0.4)",opacity:1,borderWidth:"1.5px",textColor:"#e2e8f0"}},w={blueprintFile:function({data:e}){let t,a=e.heatScore,l=e.covAvgPct,r=e.highlightRole,s=v[r],n="dimmed"===r,i="neutral"===e.metricMode,d="coverage"===e.metricMode,x="normal"===r?m(e.category):s.border;t=n?"#1e293b":i?m(e.category):d?null!=l?p.Vt[(0,p.NU)(l)]:"#334155":g(a);let b=n||i?"#1e293b":d?g(a):null!=l?p.Vt[(0,p.NU)(l)]:"#334155",u=d?`${Math.min(100,a)}%`:null!=l?`${Math.min(100,l)}%`:"100%",f=n||i?0:d?.35:null!=l?.65:.12,y=d?null!=l?`${l.toFixed(0)}%`:"?":a.toFixed(0),j=n?"#334155":i?"#475569":d?null!=l?p.Vt[(0,p.NU)(l)]:"#475569":g(a),w=i?null!=l?`${l.toFixed(0)}%`:"?":d?a.toFixed(0):null!=l?`${l.toFixed(0)}%`:"?",N=i?"#475569":d?g(a):null!=l?p.Vt[(0,p.NU)(l)]:"#334155",k=d?`Heat: ${a.toFixed(1)}`:null!=l?`Coverage: ${l.toFixed(0)}%`:"No coverage data",S=e.searchMatch?"#fbbf24":x,C=e.searchMatch?"0 0 0 2px rgba(251,191,36,0.7), 0 0 14px rgba(251,191,36,0.35)":s.shadow,M=e.searchDimmed?.2:s.opacity;return(0,o.jsxs)("div",{className:"bx-node-in",style:{width:168,height:64,background:s.bg,borderTop:`3px solid ${e.searchMatch?"#fbbf24":t}`,borderRight:`${s.borderWidth} solid ${S}`,borderBottom:`${s.borderWidth} solid ${S}`,borderLeft:`${s.borderWidth} solid ${S}`,borderRadius:6,boxShadow:C,cursor:"pointer",overflow:"hidden",userSelect:"none",display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"6px 8px 4px",opacity:M,transition:"opacity 160ms cubic-bezier(0.16,1,0.3,1), box-shadow 160ms cubic-bezier(0.16,1,0.3,1), border-color 160ms cubic-bezier(0.16,1,0.3,1)"},children:[(0,o.jsx)(c.h7,{type:"target",position:h.yX.Left,style:{background:"#334155",width:6,height:6,border:"none"}}),(0,o.jsx)(c.h7,{type:"source",position:h.yX.Right,style:{background:"#334155",width:6,height:6,border:"none"}}),(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0},children:[(0,o.jsx)("span",{style:{fontSize:10,color:"#94a3b8",flexShrink:0},children:{app:"\uD83D\uDCC4",component:"⚛",lib:"\uD83D\uDCE6",hook:"\uD83E\uDE9D"}[e.category]??"\xb7"}),(0,o.jsx)("span",{style:{fontSize:11,fontWeight:600,color:s.textColor,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,fontFamily:"monospace"},children:e.label}),(0,o.jsx)("span",{style:{fontSize:9,fontFamily:"monospace",color:j,flexShrink:0,fontWeight:d?700:400,opacity:i?.45:.95},title:d?`Coverage: ${l?.toFixed(0)??"?"}%`:`Heat: ${a.toFixed(1)}`,children:y})]}),(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,o.jsx)("span",{style:{fontSize:8,background:"rgba(51,65,85,0.6)",color:n?"#334155":"#94a3b8",padding:"1px 4px",borderRadius:3,fontFamily:"monospace"},children:e.category}),e.hasDoc&&!n&&(0,o.jsx)("span",{style:{fontSize:9,opacity:.8},title:"Has documentation",children:"\uD83D\uDDD2"}),e.hasDirectMatch&&!n&&(0,o.jsx)("span",{style:{fontSize:9,opacity:.9},title:"Direct code evidence",children:"\uD83C\uDFAF"}),e.hasSymbols&&!n&&(0,o.jsx)("span",{style:{fontSize:9,opacity:.7},title:"Exported symbols",children:"ƒ"}),e.docSummary&&!n&&(0,o.jsx)("span",{style:{fontSize:8,color:"#64748b",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,marginLeft:2},title:e.docSummary,children:e.docSummary.slice(0,30)}),!n&&(0,o.jsx)("span",{style:{fontSize:7,fontFamily:"monospace",color:N,marginLeft:"auto",opacity:.55,flexShrink:0},title:k,children:w})]}),(0,o.jsx)("div",{style:{position:"absolute",bottom:0,left:0,height:2,width:u,background:b,opacity:f,borderBottomLeftRadius:5}})]})}};function N(e){return(0,o.jsx)(c.Ln,{children:(0,o.jsx)(k,{...e})})}function k({files:e,selected:t,colorMode:a="neutral",onSelect:r}){let[s,n]=(0,l.useState)(60),[i,d]=(0,l.useState)(""),x=(0,l.useMemo)(()=>{let t=[],a=new Set;for(let o of e)for(let e of o.runtimeInternalImports){let l=f(e);if(l!==o.id){let e=`${o.id}::${l}`;a.has(e)||(a.add(e),t.push({source:o.id,target:l}))}}return t},[e]),m=(0,l.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),{cappedFiles:v,extraCount:N}=(0,l.useMemo)(()=>{let a="all"===s?1/0:s,o=e.length<=a?e:[...e].sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,a);if(!t)return{cappedFiles:o,extraCount:0};let l=new Set(o.map(e=>e.id)),r=t.id,n=new Set;for(let e of x)e.source===r&&n.add(e.target),e.target===r&&n.add(e.source);let i=[];if(!l.has(r)){let e=m.get(r);e&&i.push(e)}for(let e of n)if(!l.has(e)){let t=m.get(e);t&&i.push(t)}return{cappedFiles:i.length>0?[...o,...i]:o,extraCount:i.length}},[e,s,t?.id,x,m]),C=(0,l.useMemo)(()=>new Map(v.map(e=>[e.id,e])),[v]),M=(0,l.useMemo)(()=>{let e=new Set(v.map(e=>e.id)),t=[],a=new Set;for(let o of v)for(let l of o.runtimeInternalImports){let r=f(l);if(e.has(r)&&o.id!==r){let e=`${o.id}::${r}`;a.has(e)||(a.add(e),t.push({source:o.id,target:r}))}}return t},[v]),E=(0,l.useMemo)(()=>{if(!t?.id)return null;let e=t.id,a=new Set,o=new Set;for(let t of M)t.source===e&&a.add(t.target),t.target===e&&o.add(t.source);return{outgoing:a,incoming:o}},[t?.id,M]),$=(0,l.useMemo)(()=>y(v,M),[v,M]),z=(0,l.useMemo)(()=>(function(e,t){let a,o,l=y(e,t),r=j.get(l);if(r)return j.delete(l),j.set(l,r),r;let s=((a=new(b()).graphlib.Graph).setDefaultEdgeLabel(()=>({})),a.setGraph({rankdir:"LR",nodesep:55,ranksep:130,marginx:30,marginy:30}),e.forEach(e=>a.setNode(e.id,{width:168,height:64})),t.forEach(e=>{a.hasNode(e.source)&&a.hasNode(e.target)&&a.setEdge(e.source,e.target)}),b().layout(a),o=new Map,e.forEach(e=>{let t=a.node(e.id);o.set(e.id,{x:t.x-84,y:t.y-32})}),o);if(j.set(l,s),j.size>16){let e=j.keys().next().value;void 0!==e&&j.delete(e)}return s})(v,M),[$]),[F,R]=(0,l.useState)(!1),D=(0,l.useMemo)(()=>F&&t&&E?function(e,t,a){let o=new Map,l=e.filter(e=>a.has(e.id)),r=e.filter(e=>!a.has(e.id));if(l.length>0){let e=new(b()).graphlib.Graph;e.setDefaultEdgeLabel(()=>({})),e.setGraph({rankdir:"LR",nodesep:70,ranksep:180,marginx:40,marginy:40}),l.forEach(t=>e.setNode(t.id,{width:168,height:64})),t.filter(e=>a.has(e.source)&&a.has(e.target)).forEach(t=>{e.hasNode(t.source)&&e.hasNode(t.target)&&e.setEdge(t.source,t.target)}),b().layout(e);let r=0,s=0;l.forEach(t=>{let a=e.node(t.id);r+=a.x,s+=a.y});let n=r/l.length,i=s/l.length;l.forEach(t=>{let a=e.node(t.id);o.set(t.id,{x:a.x-n-84,y:a.y-i-32})})}let s=Math.max(500,25*r.length);return r.forEach((e,t)=>{let a=2*Math.PI*t/Math.max(r.length,1);o.set(e.id,{x:Math.round(Math.cos(a)*s)-84,y:Math.round(Math.sin(a)*s)-32})}),o}(v,M,new Set([t.id,...E.outgoing,...E.incoming])):null,[F,t?.id,E,v,M])??z,L=(0,l.useMemo)(()=>{let e=i.trim().toLowerCase();return e?v.filter(t=>t.path.toLowerCase().includes(e)||(t.path.split("/").pop()??"").toLowerCase().includes(e)):[]},[i,v]),A=(0,l.useMemo)(()=>new Set(L.map(e=>e.id)),[L]),I=(0,l.useMemo)(()=>v.map(e=>{let o=D.get(e.id)??{x:0,y:0},l=e.explainability,r="normal";if(t?.id){if(e.id===t.id)r="selected";else if(E){let t=E.outgoing.has(e.id),a=E.incoming.has(e.id);r=t&&a?"both":t?"outgoing":a?"incoming":"dimmed"}}return{id:e.id,type:"blueprintFile",position:o,selected:e.id===t?.id,data:{label:e.path.split("/").pop()??e.path,path:e.path,category:e.category,heatScore:e.metrics.heatScore,covAvgPct:(0,p.Rl)(e.coverage),hasDoc:!!l?.primaryDocBlock,hasDirectMatch:(l?.matchedConfigIdsInCode?.length??0)>0||(l?.matchedTableNamesInCode?.length??0)>0,hasSymbols:(l?.symbolSummaries?.length??0)>0,docSummary:e.docSummary,highlightRole:r,metricMode:a,searchMatch:A.has(e.id),searchDimmed:A.size>0&&!A.has(e.id)}}}),[v,D,t?.id,E,a,A]),T=(0,l.useMemo)(()=>M.map((e,a)=>{let o=t?.id,l="#334155",r=1.2,s=.7,n="#334155";return o&&(e.source===o?(l="#fb923c",r=2.5,s=1,n="#fb923c"):e.target===o?(l="#22d3ee",r=2.5,s=1,n="#22d3ee"):(l="#1e293b",r=.8,s=.1,n="#1e293b")),{id:`e${a}`,source:e.source,target:e.target,type:"smoothstep",animated:!1,style:{stroke:l,strokeWidth:r,opacity:s},markerEnd:{type:h.TG.ArrowClosed,color:n,width:r>1.5?12:10,height:r>1.5?12:10}}}),[M,t?.id]),[W,_,O]=(0,c.ck)(I),[P,H,V]=(0,c.fM)(T);(0,l.useEffect)(()=>{_(I)},[I,_]),(0,l.useEffect)(()=>{H(T)},[T,H]),(0,l.useEffect)(()=>{t||R(!1)},[t]);let U=(0,l.useCallback)((e,t)=>{let a=C.get(t.id);a&&r(a)},[C,r]),G=(0,c.VH)(),X=(0,l.useRef)(null),[Z,B]=(0,l.useState)(0),K=(0,l.useCallback)(e=>{let t=D.get(e);t&&G.setCenter(t.x+84,t.y+32,{zoom:1.2,duration:220})},[G,D]);(0,l.useEffect)(()=>{0!==L.length&&(B(0),K(L[0].id))},[L]);let Q=(0,l.useCallback)(e=>{0!==L.length&&B(t=>{let a=(t+e+L.length)%L.length;return K(L[a].id),a})},[L,K]);(0,l.useEffect)(()=>{function e(e){let a=e.target,o=a instanceof HTMLElement&&("INPUT"===a.tagName||"TEXTAREA"===a.tagName||a.isContentEditable);if("/"===e.key&&!o){e.preventDefault(),X.current?.focus(),X.current?.select();return}if(!o&&0!==v.length)if("ArrowDown"===e.key||"ArrowUp"===e.key||"j"===e.key||"k"===e.key){e.preventDefault();let a="ArrowDown"===e.key||"j"===e.key?1:-1,o=t?v.findIndex(e=>e.id===t.id):-1,l=o<0?a>0?0:v.length-1:(o+a+v.length)%v.length,s=v[l];s&&(r(s),K(s.id))}else"Enter"===e.key&&t&&(e.preventDefault(),K(t.id))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[v,t,r,K]);let q="all"===s?e.length:s,J=e.length>q,Y=t?.path.split("/").pop();return(0,o.jsxs)("div",{className:"w-full h-full relative bg-slate-950",children:[(0,o.jsxs)("div",{className:"absolute top-3 left-3 z-10 flex items-center gap-1.5 bg-slate-900/90 border border-slate-700/60 rounded px-2 py-1",children:[(0,o.jsx)("span",{className:"text-[9px] text-slate-500 font-mono mr-0.5",children:"Nodes:"}),u.map(({value:e,label:t})=>(0,o.jsx)("button",{onClick:()=>n(e),className:`text-[9px] font-mono px-1.5 py-0.5 rounded transition-colors ${s===e?"bg-blue-800/60 text-blue-300 border border-blue-600/50":"text-slate-500 hover:text-slate-300 border border-transparent hover:border-slate-600"}`,children:t},String(e))),"all"===s&&e.length>200&&(0,o.jsx)("span",{className:"text-[8px] text-amber-500/70 font-mono ml-1",children:"⚠ slow"})]}),(0,o.jsxs)("div",{className:"absolute top-12 left-3 z-10 flex items-center gap-1.5 bg-slate-900/90 border border-slate-700/60 rounded px-1.5 py-1",children:[(0,o.jsx)("span",{className:"text-[10px] text-slate-600 pl-0.5","aria-hidden":!0,children:"⌕"}),(0,o.jsx)("input",{ref:X,type:"text",value:i,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),Q(e.shiftKey?-1:1)):"Escape"===e.key&&(d(""),e.currentTarget.blur())},placeholder:"Find node… ( / )","aria-label":"Search graph nodes by file name or path",className:"bx-focusable bg-transparent text-[10px] font-mono text-slate-300 placeholder:text-slate-600 outline-none w-36"}),i.trim()&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:"text-[9px] font-mono tabular-nums shrink-0",style:{color:L.length?"#fbbf24":"#64748b"},children:L.length?`${Z+1}/${L.length}`:"0"}),L.length>1&&(0,o.jsxs)("span",{className:"flex items-center",children:[(0,o.jsx)("button",{onClick:()=>Q(-1),className:"bx-transition bx-focusable text-[10px] text-slate-500 hover:text-slate-200 px-0.5",title:"Previous match (Shift+Enter)","aria-label":"Previous match",children:"‹"}),(0,o.jsx)("button",{onClick:()=>Q(1),className:"bx-transition bx-focusable text-[10px] text-slate-500 hover:text-slate-200 px-0.5",title:"Next match (Enter)","aria-label":"Next match",children:"›"})]}),(0,o.jsx)("button",{onClick:()=>{d(""),X.current?.focus()},className:"bx-transition bx-focusable text-[10px] text-slate-600 hover:text-slate-300 px-0.5",title:"Clear search","aria-label":"Clear search",children:"✕"})]})]}),(0,o.jsx)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10",children:(0,o.jsx)("span",{className:`text-[9px] font-mono px-2 py-0.5 rounded border ${"neutral"===a?"bg-slate-900/90 border-slate-600/60 text-slate-400":"coverage"===a?"bg-blue-950/80 border-blue-700/60 text-blue-300":"heat"===a?"bg-orange-950/80 border-orange-700/60 text-orange-300":"bg-slate-900/90 border-slate-600/60 text-slate-400"}`,children:"neutral"===a?"⬡ Neutral":"coverage"===a?"\uD83E\uDDEA Coverage":"\uD83D\uDD25 Heat"})}),(J||N>0)&&(0,o.jsxs)("div",{className:"absolute top-3 right-3 z-10 text-[10px] text-slate-500 bg-slate-900/90 px-3 py-1.5 rounded border border-slate-700/60",children:[J&&0===N&&(0,o.jsxs)(o.Fragment,{children:["Top ",Math.min(q,e.length)," of ",e.length," files \xb7 ",(0,o.jsx)("span",{className:"text-slate-600",children:"change limit to see more"})]}),J&&N>0&&(0,o.jsxs)(o.Fragment,{children:["Top ",Math.min(q,e.length)," ",(0,o.jsxs)("span",{className:"text-cyan-500/80",children:["+ ",N," connected"]})," of ",e.length]}),!J&&N>0&&(0,o.jsxs)(o.Fragment,{children:[e.length," files ",(0,o.jsxs)("span",{className:"text-cyan-500/80",children:["+ ",N," connected extras"]})]})]}),0===v.length&&(0,o.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-slate-600 text-sm",children:"No files match the current filters."}),t&&E&&(0,o.jsxs)("div",{className:"absolute bottom-16 left-3 z-10 rounded border border-slate-700/60 px-2.5 py-2 space-y-1.5",style:{background:"rgba(15,23,42,0.92)"},children:[(0,o.jsx)(S,{bg:"rgba(30,58,138,0.55)",border:"#60a5fa",label:"Selected"}),(0,o.jsx)(S,{bg:"rgba(0,55,90,0.55)",border:"#22d3ee",label:`Incoming (${E.incoming.size})`}),(0,o.jsx)(S,{bg:"rgba(100,40,0,0.55)",border:"#fb923c",label:`Outgoing (${E.outgoing.size})`}),(0,o.jsx)(S,{bg:"rgba(15,23,42,0.88)",border:"#1e293b",label:"Dimmed",muted:!0})]}),t&&Y&&(0,o.jsxs)("div",{className:"absolute bottom-3 left-3 z-10 text-[10px] text-slate-500 bg-slate-900/80 px-2.5 py-1 rounded border border-slate-700/50 font-mono max-w-[240px] truncate",children:["⬡ ",(0,o.jsx)("span",{className:"text-slate-300",children:Y})]}),t&&(0,o.jsxs)("button",{onClick:()=>R(e=>!e),className:`absolute bottom-3 right-3 z-10 text-[10px] font-mono px-2.5 py-1.5 rounded border transition-colors ${F?"bg-blue-900/60 border-blue-600/60 text-blue-300 hover:bg-blue-900/80":"bg-slate-900/80 border-slate-700/50 text-slate-400 hover:text-slate-200 hover:border-slate-600"}`,title:"Reposition selected node and its direct neighbors to the center",children:["⬡ Smart reorder",F?" ✓":""]}),(0,o.jsxs)(c.Gc,{nodes:W,edges:P,nodeTypes:w,onNodeClick:U,onNodesChange:O,onEdgesChange:V,fitView:!0,fitViewOptions:{padding:.15,maxZoom:1.2},minZoom:.05,maxZoom:2.5,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,proOptions:{hideAttribution:!0},children:[(0,o.jsx)(c.VS,{color:"#1e293b",gap:24,size:1}),(0,o.jsx)(c.H2,{style:{background:"#0f172a",border:"1px solid #1e293b",borderRadius:6}}),(0,o.jsx)(c.of,{nodeColor:e=>{let t=e.data;return t.searchMatch?"#fbbf24":t.searchDimmed?"#1e293b":"selected"===t.highlightRole?"#60a5fa":"incoming"===t.highlightRole?"#22d3ee":"outgoing"===t.highlightRole?"#fb923c":"both"===t.highlightRole?"#a78bfa":"dimmed"===t.highlightRole?"#1e293b":g(t.heatScore)},bgColor:"#0f172a",maskColor:"rgba(15,23,42,0.75)",style:{background:"#0f172a",border:"1px solid #1e293b",borderRadius:6}})]})]})}function S({bg:e,border:t,label:a,muted:l=!1}){return(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,o.jsx)("div",{style:{width:10,height:10,borderRadius:2,background:e,border:`1.5px solid ${t}`,flexShrink:0,opacity:l?.5:1}}),(0,o.jsx)("span",{style:{fontSize:10,color:l?"#475569":"#94a3b8",fontFamily:"monospace"},children:a})]})}var C=a(70238),M=a(71602);function E(){let{data:e,setData:t,loading:a,error:c,outdated:h,setOutdated:x,target:b,isDemo:u,isProGated:g,reload:m}=(0,r.W)(),[f,y]=(0,l.useState)(null),[j,v]=(0,l.useState)("all"),[w,k]=(0,l.useState)("heat"),S=(0,l.useMemo)(()=>e?["all",...Array.from(new Set(e.files.map(e=>e.category))).sort()]:[],[e]);(0,l.useEffect)(()=>{function e(e){if("Escape"!==e.key)return;let t=e.target;t instanceof HTMLElement&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable)||y(null)}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let E=(0,o.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[u&&(0,o.jsx)(n.y,{}),(0,o.jsx)(s.F,{target:b,outdated:h,onRescan:function(e){e&&(t(e),x(!1))},hideRescan:u||g}),a&&(0,o.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,o.jsx)(C.Q5,{})}),!a&&c&&(0,o.jsx)(M.f,{message:c,onRetry:m}),!a&&!c&&!e&&(0,o.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,o.jsx)("span",{className:"text-5xl",children:"\uD83D\uDD78️"}),(0,o.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,o.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan above to generate a blueprint."})]}),!a&&!c&&e&&(0,o.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,o.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[(0,o.jsxs)("span",{className:"text-[10px] text-slate-500 font-mono",children:[e.nodes.length," nodes \xb7 ",e.edges.length," edges"]}),(0,o.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[(0,o.jsx)("div",{className:"flex items-center gap-0.5 rounded-md border border-slate-700/50 overflow-hidden",children:["neutral","heat","coverage"].map(e=>(0,o.jsx)("button",{onClick:()=>k(e),className:"text-[9px] font-mono px-2 py-0.5 bx-transition",style:{background:w===e?"rgba(37,99,235,0.25)":"transparent",color:w===e?"#93c5fd":"#64748b"},children:"neutral"===e?"⬡ neutral":"heat"===e?"\uD83D\uDD25 heat":"\uD83E\uDDEA cov"},e))}),(0,o.jsx)("select",{value:j,onChange:e=>v(e.target.value),className:"text-xs px-2 py-0.5 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",children:S.map(e=>(0,o.jsx)("option",{value:e,children:"all"===e?"All categories":`${(0,p.eD)(e)} ${e}`},e))})]}),(0,o.jsx)("span",{className:"text-[10px] text-slate-600 font-mono",children:"Click node → inspector"})]}),(0,o.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,o.jsx)(N,{files:"all"===j?e.files:e.files.filter(e=>e.category===j),selected:f,colorMode:w,onSelect:y})})]}),f&&(0,o.jsx)(d.N,{file:f,allFiles:e.files,target:b,onClose:()=>y(null),onSelectFile:t=>{let a=e?.files.find(e=>e.path===t);a&&y(a)}})]})]});return g?(0,o.jsx)(i.e,{children:E}):E}}},e=>{e.O(0,[2574,3862,8500,8110,1441,6828,2069,1385,6901,8441,3794,7358],()=>e(e.s=42655)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[31],{1212:(e,t,s)=>{"use strict";s.d(t,{$8:()=>h,C0:()=>u,Hv:()=>f,I8:()=>c,Ql:()=>o,Zl:()=>p,vw:()=>n,wn:()=>m,x$:()=>x});var a=s(95155),l=s(12115);let r={blue:"bg-blue-500/20 text-blue-300 border-blue-500/30",purple:"bg-purple-500/20 text-purple-300 border-purple-500/30",green:"bg-green-500/20 text-green-300 border-green-500/30",orange:"bg-orange-500/20 text-orange-300 border-orange-500/30",red:"bg-red-500/20 text-red-300 border-red-500/30",teal:"bg-teal-500/20 text-teal-300 border-teal-500/30",slate:"bg-slate-700/50 text-slate-400 border-slate-600/30"};function n({label:e,color:t="slate"}){return(0,a.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded border ${r[t]??r.slate}`,children:e})}let o={high:{label:"⚠ High Risk",cls:"bg-red-900/40 text-red-400 border-red-800/40"},medium:{label:"~ Medium Risk",cls:"bg-amber-900/30 text-amber-400 border-amber-800/30"},low:{label:"✓ Low Risk",cls:"bg-emerald-900/30 text-emerald-400 border-emerald-800/30"}},i={function:{label:"fn",cls:"bg-slate-700/80 text-slate-300"},component:{label:"⚛",cls:"bg-blue-900/60 text-blue-300"},hook:{label:"⚙",cls:"bg-purple-900/60 text-purple-300"},const:{label:"c",cls:"bg-slate-800 text-slate-400"},type:{label:"T",cls:"bg-teal-900/60 text-teal-300"},unknown:{label:"?",cls:"bg-slate-800 text-slate-500"}};function c({kind:e}){let t=i[e]??i.unknown;return(0,a.jsx)("span",{className:`text-[9px] font-mono px-1.5 py-0.5 rounded shrink-0 ${t.cls}`,children:t.label})}let d={function:"bg-slate-700/50 text-slate-400",component:"bg-blue-900/40 text-blue-400",query:"bg-emerald-900/40 text-emerald-400","config-usage":"bg-amber-900/40 text-amber-400","table-usage":"bg-teal-900/40 text-teal-400",export:"bg-green-900/40 text-green-400"};function x({kind:e}){return(0,a.jsx)("span",{className:`text-[9px] font-mono px-1.5 py-0.5 rounded ${d[e]??d.function}`,children:e})}function u(e){if("inferred"===e.confidence)return"bg-slate-800/50 text-slate-500 border-slate-700/50 italic";switch(e.kind){case"button":return"bg-blue-900/30 text-blue-300 border-blue-800/40";case"input":case"textarea":return"bg-amber-900/25 text-amber-300 border-amber-800/30";case"tabs":return"bg-indigo-900/30 text-indigo-300 border-indigo-800/40";case"dialog":return"bg-slate-700/50 text-slate-300 border-slate-600";case"table":return"bg-teal-900/25 text-teal-300 border-teal-800/30";default:return"bg-slate-800/60 text-slate-400 border-slate-700/50"}}function p(e){return e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0]}function m({title:e,children:t}){return(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-[10px] uppercase tracking-widest font-semibold text-slate-600 mb-2 pb-1 border-b border-slate-800",children:e}),t]})}function b({values:e,direction:t="neutral",label:s}){let[r,n]=(0,l.useState)(null);if(e.length<2)return null;let o=Math.min(...e),i=Math.max(...e,o+1)-o,c=e.map((t,s)=>`${s/(e.length-1)*48},${10-(t-o)/i*9}`).join(" "),d=e[0],x=e[e.length-1],u=x-d,p=i>0&&Math.abs(u)>.05*i?"up-good"===t?u>0?"#22c55e":"#f97316":"down-good"===t?u<0?"#22c55e":"#f97316":"#64748b":"#64748b",m=e.map((t,s)=>`${s/(e.length-1)*160},${36-(t-o)/i*32}`).join(" "),h=e=>Number.isInteger(e)?e.toString():Math.abs(e)>=10?e.toFixed(1):e.toFixed(2),f=`${u>=0?"+":""}${h(u)}`;return(0,a.jsxs)("div",{className:"relative shrink-0 cursor-default",onMouseEnter:e=>{let t=e.currentTarget.getBoundingClientRect();n({x:t.left+t.width/2,y:t.top})},onMouseLeave:()=>n(null),children:[(0,a.jsx)("svg",{width:48,height:10,className:"opacity-70 block","aria-hidden":!0,children:(0,a.jsx)("polyline",{points:c,fill:"none",stroke:p,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),r&&(0,a.jsx)("div",{className:"pointer-events-none fixed z-[9999]",style:{left:r.x,top:r.y-8,transform:"translate(-50%, -100%)"},children:(0,a.jsxs)("div",{className:"bg-slate-900 border border-slate-700/80 rounded-lg shadow-2xl px-3 pt-2.5 pb-2 w-[188px]",children:[s&&(0,a.jsx)("p",{className:"text-[9px] uppercase tracking-widest text-slate-500 mb-1.5 font-semibold truncate",children:s}),(0,a.jsxs)("svg",{width:160,height:38,className:"block mb-2","aria-hidden":!0,children:[(0,a.jsx)("line",{x1:0,y1:37,x2:160,y2:37,stroke:"#1e293b",strokeWidth:"1"}),(0,a.jsx)("polyline",{points:m,fill:"none",stroke:p,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,a.jsx)("circle",{cx:0,cy:36-(d-o)/i*32,r:"2.5",fill:p,opacity:"0.5"}),(0,a.jsx)("circle",{cx:160,cy:36-(x-o)/i*32,r:"3",fill:p})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-[10px] font-mono leading-none mb-1",children:[(0,a.jsx)("span",{className:"text-slate-500",children:h(d)}),(0,a.jsx)("span",{className:"text-slate-600 px-1",children:"→"}),(0,a.jsx)("span",{style:{color:p},className:"font-semibold",children:h(x)}),(0,a.jsx)("span",{className:"ml-auto pl-2 font-semibold",style:{color:0===u?"#64748b":u>0==("up-good"===t)?"#22c55e":"#f97316"},children:f})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between text-[9px] font-mono text-slate-600 pt-1 border-t border-slate-800",children:[(0,a.jsxs)("span",{children:["↓ ",h(o)]}),(0,a.jsxs)("span",{children:[e.length," pts"]}),(0,a.jsxs)("span",{children:["↑ ",h(Math.max(...e))]})]})]})})]})}function h({label:e,value:t,trend:s,direction:l="neutral"}){return(0,a.jsxs)("div",{className:"flex items-center justify-between bg-slate-900/60 px-2.5 py-1.5 rounded gap-2",children:[(0,a.jsx)("span",{className:"text-slate-500 text-xs",children:e}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[s&&s.length>=2&&(0,a.jsx)(b,{values:s,direction:l,label:e}),(0,a.jsx)("span",{className:"text-slate-300 font-mono font-medium text-xs",children:t})]})]})}function f({label:e,value:t}){return(0,a.jsxs)("div",{className:"bg-slate-900 rounded-lg p-3 text-center border border-slate-800",children:[(0,a.jsx)("p",{className:"text-xl font-bold text-slate-100 font-mono",children:t}),(0,a.jsx)("p",{className:"text-[11px] text-slate-500 mt-1",children:e})]})}},22202:(e,t,s)=>{"use strict";function a(e){return{path:e.path,category:e.category,docSummary:e.docSummary??null,internalImports:(e.runtimeInternalImports??[]).slice(0,8),importedBy:(e.incomingInternalDependencies??[]).slice(0,8),tableRefsInCode:e.explainability?.matchedTableNamesInCode??[],configRefsInCode:e.explainability?.matchedConfigIdsInCode??[],externalPackages:(e.externalImports??[]).slice(0,6),symbols:(e.explainability?.symbolSummaries??[]).filter(e=>e.exported).slice(0,6).map(e=>({name:e.name,kind:e.kind,exported:!0}))}}function l(e){let t=e.explainability;return{path:e.path,category:e.category,renderEnvironment:e.renderEnvironment,nextFileKind:e.nextFileKind,routePath:e.routePath??null,isApiRoute:e.isApiRoute,metrics:{loc:e.metrics.loc,heatScore:e.metrics.heatScore,incomingRuntimeDeps:e.metrics.incomingRuntimeDeps,outgoingRuntimeDeps:e.metrics.outgoingRuntimeDeps,complexityScore:e.metrics.complexityScore??null},docSummary:e.docSummary??null,primaryDocBlock:t?.primaryDocBlock??null,docBlocks:(t?.docBlocks??[]).slice(0,2),symbols:(t?.symbolSummaries??[]).slice(0,8).map(e=>({name:e.name,kind:e.kind,exported:e.exported,doc:e.doc??null})),snippets:(t?.codeSnippets??[]).slice(0,2).map(e=>({label:e.label,kind:e.kind,snippet:e.snippet})),configRefsInCode:t?.matchedConfigIdsInCode??[],tableRefsInCode:t?.matchedTableNamesInCode??[],internalImports:(e.runtimeInternalImports??[]).slice(0,10),importedBy:(e.incomingInternalDependencies??[]).slice(0,10),externalPackages:(e.externalImports??[]).slice(0,8),jsxComponents:(e.jsxComponents??[]).slice(0,10),stateComplexity:e.stateComplexity??null,isCyclic:e.isCyclic}}function r(e,t){return 529===e?"Anthropic is temporarily overloaded — please try again in a moment.":401===e?"API key invalid or missing — check Settings → LLM Provider.":403===e?"Pro tier required — upgrade to unlock AI features.":429===e?"Rate limit reached — please wait a moment before retrying.":t??`Request failed (HTTP ${e})`}async function n(e,t){let s,a=0;for(let l=0;l<3;l++){l>0&&await new Promise(e=>setTimeout(e,1e3*l));let n=await fetch("/api/blue/explorer/explain",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(a=n.status,!n.ok){let e;if(s=e=(n.headers.get("content-type")??"").includes("application/json")?(await n.json().catch(()=>({}))).error:(await n.text().catch(()=>"")).slice(0,120)||void 0,(529===n.status||503===n.status)&&l<2)continue;throw Error(r(n.status,e))}let o=n.headers.get("content-type")??"";if(o.includes("text/plain")||o.includes("octet-stream")){let e=n.body?.getReader();if(!e)throw Error("No response body");let s=new TextDecoder,a="";for(;;){let{done:l,value:r}=await e.read();if(l)break;t(a+=s.decode(r,{stream:!0}))}return a}{let e=await n.json(),s=e.markdown??e.text??JSON.stringify(e);return t(s),s}}throw Error(r(a,s))}s.d(t,{MA:()=>o,UR:()=>n,_W:()=>l,lv:()=>a});let o=[{label:"What is problematic here?",q:"What architectural problems or concerns do you see in this file based on the blueprint data? Focus on coupling, complexity, and responsibilities."},{label:"How would you extend this safely?",q:"I want to extend or add features to this file. What approach would you recommend, and what parts need attention?"},{label:"Which parts would be affected by a change?",q:"If I made a significant change to this file, which other files and systems would be affected, based on the dependency and relationship data?"},{label:"Does this have too many responsibilities?",q:"Does this file have too many responsibilities? Assess its architectural cohesion based on the available data."},{label:"What risks would a refactor create?",q:"What risks and trade-offs would a refactoring of this file create, given its current role in the system?"}]},32303:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>y});var a=s(95155),l=s(12115),r=s(73321),n=s(3846),o=s(61578),i=s(63935),c=s(53729),d=s(92829),x=s(71602),u=s(70238),p=s(92452),m=s(22202);function b(e){return e.startsWith("@")?e.split("/").slice(0,2).join("/"):e.split("/")[0]}var h=s(1212);function f({info:e,target:t}){let[s,r]=(0,l.useState)(null),[n,o]=(0,l.useState)(!1),[i,c]=(0,l.useState)(null);async function d(){o(!0),c(null),r("");try{await (0,m.UR)({target:t,mode:"architect",fileContext:{path:`[external-library:${e.name}]`,category:"lib",metrics:{loc:0,heatScore:2*e.fileCount,incomingRuntimeDeps:e.fileCount,outgoingRuntimeDeps:0},docSummary:`External npm package: ${e.name}`,primaryDocBlock:[`Package: ${e.name}`,`Used in ${e.fileCount} project files.`,e.subImports.length>0?`Sub-imports: ${e.subImports.join(", ")}`:"",`Top files using it: ${e.files.slice(0,8).map(e=>e.path).join(", ")}`].filter(Boolean).join("\n"),symbols:[]},question:`What role does the "${e.name}" npm package play in this project? Based on which files use it and what sub-modules are imported, describe its purpose and importance here.`,history:[]},e=>r(e))}catch(e){c(e instanceof Error?e.message:"Failed")}finally{o(!1)}}return null!==s?(0,a.jsx)("div",{className:"bg-blue-950/30 border border-blue-800/30 rounded px-3 py-2.5",children:i?(0,a.jsxs)("p",{className:"text-[10px] text-red-400",children:["⚠️ ",i]}):(0,a.jsxs)("p",{className:"text-[11px] text-blue-200 leading-relaxed whitespace-pre-wrap",children:[s,n&&(0,a.jsx)("span",{className:"inline-block w-1.5 h-3 bg-blue-400 animate-pulse ml-0.5 align-middle"})]})}):(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("button",{onClick:d,disabled:n,className:"w-full text-left px-3 py-2.5 bg-slate-900/60 border border-slate-800 rounded text-xs text-slate-400 hover:bg-slate-800/60 hover:text-slate-300 transition-colors disabled:opacity-50",children:["\uD83D\uDCAC Summarize role of ",e.name," in this project with AI"]}),i&&(0,a.jsxs)("p",{className:"text-[10px] text-red-400 px-1",children:["⚠️ ",i]})]})}function g({pkg:e,allFiles:t,target:s,onBack:r,onSelectFile:n}){let o=(0,l.useMemo)(()=>{let s,a,l;return s=b(e),l=[...new Set((a=t.filter(e=>(e.externalImports??[]).some(e=>b(e)===s))).flatMap(e=>(e.externalImports??[]).filter(e=>b(e)===s)))].sort().slice(0,12),{name:s,fileCount:a.length,files:[...a].sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,15).map(e=>({path:e.path,heatScore:e.metrics.heatScore})),subImports:l}},[e,t]);return(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"shrink-0 border-b border-slate-800 px-4 py-2.5 flex items-center gap-3",children:[(0,a.jsx)("button",{onClick:r,className:"text-[11px] text-slate-500 hover:text-slate-300 transition-colors",children:"← back"}),(0,a.jsx)("span",{className:"text-slate-700",children:"|"}),(0,a.jsx)("span",{className:"font-mono text-sm text-slate-200 font-semibold",children:o.name}),(0,a.jsx)("span",{className:"text-[10px] bg-slate-800 text-slate-500 px-2 py-0.5 rounded ml-auto",children:"npm package"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-5",children:[(0,a.jsxs)("div",{className:"bg-slate-900/60 border border-slate-800 rounded-lg px-4 py-3 flex items-center gap-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-2xl font-bold text-slate-100 font-mono",children:o.fileCount}),(0,a.jsx)("p",{className:"text-[11px] text-slate-500 mt-0.5",children:"files use this package"})]}),o.subImports.length>1&&(0,a.jsxs)("div",{className:"text-right ml-auto",children:[(0,a.jsx)("p",{className:"text-lg font-bold text-slate-300 font-mono",children:o.subImports.length}),(0,a.jsx)("p",{className:"text-[11px] text-slate-500",children:"sub-paths"})]})]}),o.subImports.length>0&&(0,a.jsx)(h.wn,{title:"Import paths used in project",children:(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:o.subImports.map(e=>(0,a.jsx)("span",{className:"text-[10px] font-mono bg-slate-800 text-slate-300 px-1.5 py-0.5 rounded",children:e},e))})}),(0,a.jsx)(h.wn,{title:"AI Summary",children:(0,a.jsx)(f,{info:o,target:s})}),(0,a.jsx)(h.wn,{title:`Used in ${o.fileCount} files`,children:(0,a.jsx)("div",{className:"space-y-0.5",children:o.files.map(e=>(0,a.jsxs)("button",{onClick:()=>n(e.path),className:"w-full text-left flex items-center gap-2 px-2 py-1.5 rounded hover:bg-slate-800/50 transition-colors group",children:[(0,a.jsx)("span",{className:`text-[9px] font-mono px-1 py-0.5 rounded shrink-0 ${(0,p.o0)(e.heatScore)}`,children:e.heatScore.toFixed(0)}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-400 group-hover:text-blue-300 truncate transition-colors",children:e.path})]},e.path))})})]})]})}function y(){let{data:e,setData:t,loading:s,error:p,outdated:m,setOutdated:h,target:f,isDemo:y,isProGated:j,reload:w}=(0,n.W)(),[N,k]=(0,o.a)(),[v,S]=(0,l.useState)(null),I=(0,r.useRouter)(),C=(0,l.useMemo)(()=>e?function(e){let t=new Map;for(let s of e)for(let e of s.externalImports??[]){let a=b(e);if(!a)continue;let l=t.get(a)??new Set;l.add(s.path),t.set(a,l)}return[...t.entries()].map(([e,t])=>({name:e,fileCount:t.size})).sort((e,t)=>t.fileCount-e.fileCount||e.name.localeCompare(t.name))}(e.files):[],[e]),R=(0,a.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[y&&(0,a.jsx)(c.y,{}),(0,a.jsx)(i.F,{target:f,outdated:m,onRescan:function(e){e&&(t(e),h(!1))},hideRescan:y||j,viewMode:N,onViewModeChange:k}),s&&(0,a.jsx)(u.Dk,{}),!s&&p&&(0,a.jsx)(x.f,{message:p,onRetry:w}),!s&&!p&&!e&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,a.jsx)("span",{className:"text-5xl",children:"\uD83D\uDCE6"}),(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,a.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan above to generate a blueprint."})]}),!s&&!p&&e&&(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsxs)("div",{className:"w-72 flex-shrink-0 overflow-y-auto border-r",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,15,30,0.6)"},children:[(0,a.jsxs)("div",{className:"px-3 py-2.5 border-b",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,a.jsx)("p",{className:"text-xs font-semibold text-slate-300",children:"External Packages"}),(0,a.jsxs)("p",{className:"text-[10px] text-slate-600",children:[C.length," npm packages imported"]})]}),C.map(e=>(0,a.jsxs)("button",{onClick:()=>S(e.name),className:"w-full flex items-center justify-between gap-2 px-3 py-2 text-left transition-colors hover:bg-slate-800/40",style:{background:v===e.name?"rgba(59,130,246,0.12)":"transparent"},children:[(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-400 truncate",children:e.name}),(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-600 flex-shrink-0",children:e.fileCount})]},e.name)),0===C.length&&(0,a.jsx)("p",{className:"text-[10px] text-slate-600 text-center py-6",children:"No external packages found."})]}),(0,a.jsx)("div",{className:"flex-1 overflow-hidden",children:v?(0,a.jsx)(g,{pkg:v,allFiles:e.files,target:f,onBack:()=>S(null),onSelectFile:e=>I.push(`/blue/explorer/file/${encodeURIComponent(e)}`)}):(0,a.jsx)("div",{className:"flex items-center justify-center h-full text-slate-700 text-xs font-mono select-none",children:"← Select a package to inspect"})})]})]});return j?(0,a.jsx)(d.e,{children:R}):R}},53634:(e,t,s)=>{Promise.resolve().then(s.bind(s,32303))},61578:(e,t,s)=>{"use strict";s.d(t,{a:()=>r});var a=s(12115);let l="prism.viewMode";function r(){let[e,t]=(0,a.useState)("expert");return(0,a.useEffect)(()=>{try{let e=localStorage.getItem(l);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,a.useCallback)(e=>{t(e);try{localStorage.setItem(l,e)}catch{}},[])]}},73321:(e,t,s)=>{"use strict";var a=s(74645);s.o(a,"useParams")&&s.d(t,{useParams:function(){return a.useParams}}),s.o(a,"usePathname")&&s.d(t,{usePathname:function(){return a.usePathname}}),s.o(a,"useRouter")&&s.d(t,{useRouter:function(){return a.useRouter}}),s.o(a,"useSearchParams")&&s.d(t,{useSearchParams:function(){return a.useSearchParams}})},92452:(e,t,s)=>{"use strict";function a(e){return e>=75?"bg-red-950/60 text-red-400 border border-red-900/40":e>=50?"bg-orange-950/60 text-orange-400 border border-orange-900/40":e>=25?"bg-yellow-950/60 text-yellow-500 border border-yellow-900/40":"bg-slate-800/60 text-slate-500 border border-slate-700/40"}function l(e){return e>=75?"#f87171":e>=50?"#fb923c":e>=25?"#facc15":"#475569"}function r(e){switch(e){case"component":return"\uD83E\uDDE9";case"page":return"\uD83D\uDCC4";case"lib":return"\uD83D\uDCE6";case"api":return"⚡";case"hook":return"\uD83E\uDE9D";case"config":return"⚙️";case"test":return"\uD83E\uDDEA";case"app":return"\uD83D\uDCF1";default:return"\uD83D\uDCC1"}}function n(e){return e?(e.statements+e.branches+e.functions+e.lines)/4:null}function o(e){return null===e?"none":e>=85?"high":e>=70?"good":e>=50?"medium":e>=30?"partial":"low"}s.d(t,{NU:()=>o,Rl:()=>d,TR:()=>n,Vt:()=>i,XK:()=>l,eD:()=>r,o0:()=>a,rs:()=>c,w8:()=>x});let i={none:"#475569",low:"#ef4444",partial:"#f97316",medium:"#facc15",good:"#86efac",high:"#4ade80"},c={none:"rgba(51,65,85,0.3)",low:"rgba(239,68,68,0.1)",partial:"rgba(249,115,22,0.1)",medium:"rgba(250,204,21,0.1)",good:"rgba(134,239,172,0.08)",high:"rgba(74,222,128,0.1)"};function d(e){return n(e)}let x={none:"#334155",low:"#7f1d1d",partial:"#7c2d12",medium:"#713f12",good:"#14532d",high:"#052e16"}},92829:(e,t,s)=>{"use strict";s.d(t,{e:()=>n});var a=s(95155),l=s(98500),r=s.n(l);function n({children:e,feature:t="Blueprint Explorer"}){return(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("div",{className:"pointer-events-none select-none",style:{filter:"blur(5px)",opacity:.45},"aria-hidden":!0,children:e}),(0,a.jsx)("div",{className:"absolute inset-x-0 bottom-0 top-16 flex items-center justify-center",style:{minHeight:320},children:(0,a.jsxs)("div",{className:"rounded-2xl px-8 py-7 flex flex-col items-center gap-4 text-center max-w-sm w-full mx-4",style:{background:"rgba(2,6,23,0.88)",border:"1px solid rgba(59,130,246,0.3)",boxShadow:"0 0 40px rgba(59,130,246,0.12), 0 8px 32px rgba(0,0,0,0.4)",backdropFilter:"blur(8px)"},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1 rounded-full text-xs font-bold",style:{background:"rgba(59,130,246,0.12)",border:"1px solid rgba(59,130,246,0.3)",color:"rgb(96,165,250)"},children:[(0,a.jsx)("span",{"aria-hidden":!0,children:"✦"}),(0,a.jsx)("span",{children:"PRO FEATURE"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-100 mb-1",children:t}),(0,a.jsx)("p",{className:"text-xs text-slate-400 leading-relaxed",children:"Full view available on Pro and above — heat scores, import graphs, coverage overlays, AI recommendations, and zone analysis."})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 w-full",children:[(0,a.jsx)(r(),{href:"/pricing?utm_source=upgrade_blur&utm_content=blueprint_explorer",className:"w-full py-2.5 rounded-lg text-sm font-semibold text-center transition-all",style:{background:"rgb(59,130,246)",color:"#fff",boxShadow:"0 0 20px rgba(59,130,246,0.3)"},children:"Unlock — from €39/mo"}),(0,a.jsx)(r(),{href:"/pricing?utm_source=upgrade_blur&utm_content=spectrum",className:"w-full py-2 rounded-lg text-xs font-medium text-center transition-colors",style:{color:"rgb(167,139,250)",border:"1px solid rgba(99,102,241,0.25)"},children:"Spectrum 0x55 bundle — €49/mo (prism + forge)"})]})]})})]})}}},e=>{e.O(0,[8500,6828,1385,8441,3794,7358],()=>e(e.s=53634)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4935],{6801:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>k});var l=r(95155),s=r(12115),a=r(92452),o=r(60158);function n({file:e,selected:t,colorMode:r,onClick:s,history:c,kbdActive:d=!1,kbdIndex:x}){var u;let p,h=e.metrics.heatScore,{filename:b,dir:m}={filename:(p=(u=e.path).split("/")).pop()??u,dir:p.join("/")},g=e.coverage,f=(0,a.TR)(g),v=(0,a.NU)(f),j="neutral"===r,y="coverage"===r,k=t?"rgb(59,130,246)":"transparent";return t||j||(k=y?a.Vt[v]:h>=50?"#f97316":h>=25?"#facc15":"transparent"),(0,l.jsxs)("button",{onClick:s,"data-kbd-index":x,"aria-current":t?"true":void 0,className:`bx-transition bx-focusable w-full text-left px-4 py-2.5 border-b border-slate-800/40 hover:bg-slate-800/30 border-l-2 ${t?"bg-slate-800/60":d?"bg-slate-800/40":""}`,style:{borderLeftColor:k,boxShadow:d&&!t?"inset 2px 0 0 rgba(96,165,250,0.6)":void 0},children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:`text-[10px] font-mono px-1.5 py-0.5 rounded shrink-0 ${j?"bg-slate-800/60 text-slate-500 border border-slate-700/40":(0,a.o0)(h)}`,children:h.toFixed(1)}),(y||j)&&(0,l.jsxs)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded shrink-0 border",style:j?{color:"#64748b",borderColor:"#334155",background:"rgba(30,41,59,0.4)"}:{color:a.Vt[v],borderColor:a.w8[v],background:a.rs[v]},title:g?`${f?.toFixed(1)}% avg \xb7 S:${g.statements}% B:${g.branches}% F:${g.functions}% L:${g.lines}%`:"No coverage data",children:["\uD83E\uDDEA ",g?`${f?.toFixed(0)}%`:"—"]}),(0,l.jsx)("span",{className:"text-sm text-slate-200 font-medium truncate flex-1 min-w-0",children:b}),(0,l.jsxs)("div",{className:"flex gap-1 shrink-0 items-center",children:[(0,l.jsxs)("span",{className:"text-[9px] font-mono text-slate-600",children:[e.metrics.loc,"L"]}),e.hasUseClientDirective&&(0,l.jsx)(i,{label:"client",color:"purple"}),e.isApiRoute&&(0,l.jsx)(i,{label:"api",color:"green"}),e.isCyclic&&(0,l.jsx)(i,{label:"cycle",color:"red"}),(e.commitStats?.count_180d??0)>10&&(0,l.jsx)("span",{title:`Hot: ${e.commitStats.count_180d} commits/180d`,className:"text-[10px]",children:"\uD83D\uDD25"}),c&&c.length>=2?(0,l.jsx)(o.Z,{points:c.map(e=>e.heat),color:"coverage"===r?"coverage":"heat",className:"opacity-70"}):(e.churn??0)>0?(0,l.jsx)(o.Z,{churn:e.churn,color:"churn",className:"opacity-60"}):null]})]}),m&&(0,l.jsxs)("div",{className:"text-[11px] text-slate-600 font-mono mt-0.5 truncate pl-[52px]",children:[m,"/"]}),(0,l.jsx)("div",{className:"mt-1.5 h-0.5 rounded-full bg-slate-800 overflow-hidden",children:(0,l.jsx)("div",{className:"h-full rounded-full",style:j?{width:"100%",backgroundColor:"#1e293b"}:y&&g?{width:`${Math.min(100,f??0)}%`,backgroundColor:a.Vt[v]}:{width:`${Math.min(100,h)}%`,backgroundColor:(0,a.XK)(h)}})})]})}function i({label:e,color:t}){let r={purple:{bg:"rgba(168,85,247,0.12)",text:"rgb(216,180,254)",border:"rgba(168,85,247,0.3)"},green:{bg:"rgba(34,197,94,0.12)",text:"rgb(134,239,172)",border:"rgba(34,197,94,0.3)"},red:{bg:"rgba(239,68,68,0.12)",text:"rgb(252,165,165)",border:"rgba(239,68,68,0.3)"},teal:{bg:"rgba(20,184,166,0.12)",text:"rgb(94,234,212)",border:"rgba(20,184,166,0.3)"}}[t];return(0,l.jsx)("span",{className:"text-[9px] font-mono px-1 py-0.5 rounded",style:{background:r.bg,color:r.text,border:`1px solid ${r.border}`},children:e})}var c=r(22069),d=r(94137),x=r(63935),u=r(53729),p=r(92829),h=r(3846),b=r(61578),m=r(48435);let g={riskFilter:"all",heatFilter:"all",covFilter:"all",sortKey:"heat",sortDir:"desc",search:"",catFilter:"all"},f={high:2,medium:1,low:0};function v({docs:e,target:t,className:r=""}){let a=e?[...e].sort((e,t)=>(t.wordCount??0)-(e.wordCount??0)):[],[o,n]=(0,s.useState)(null),[i,c]=(0,s.useState)(null),[d,x]=(0,s.useState)(!1),[u,p]=(0,s.useState)(null);return((0,s.useEffect)(()=>{a.length>0&&null===o&&n(a[0])},[]),(0,s.useEffect)(()=>{if(!o)return;let e=!1;return x(!0),p(null),c(null),fetch(`/api/blue/explorer/doc-content?target=${encodeURIComponent(t)}&path=${encodeURIComponent(o.path)}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.text()}).then(t=>{e||(c(t),x(!1))}).catch(t=>{e||(p(t instanceof Error?t.message:String(t)),x(!1))}),()=>{e=!0}},[o,t]),a.length)?(0,l.jsxs)("div",{className:`flex h-full overflow-hidden ${r}`,style:{background:"rgba(8,15,30,0.95)"},children:[(0,l.jsx)("div",{className:"w-56 flex-shrink-0 overflow-y-auto border-r",style:{borderColor:"rgba(51,65,85,0.6)"},children:a.map(e=>{let t=o?.path===e.path;return(0,l.jsxs)("button",{onClick:()=>n(e),className:"w-full text-left px-3 py-2 border-b transition-colors",style:{borderColor:"rgba(51,65,85,0.4)",background:t?"rgba(59,130,246,0.15)":"transparent",borderLeft:t?"2px solid rgba(59,130,246,0.8)":"2px solid transparent"},children:[(0,l.jsx)("div",{className:"text-xs font-medium leading-snug",style:{color:t?"#93c5fd":"#cbd5e1"},children:e.title||e.path.split("/").pop()}),(0,l.jsx)("div",{className:"text-[10px] mt-0.5 truncate",style:{color:"rgba(100,116,139,0.8)"},title:e.path,children:function(e,t=36){return e.length<=t?e:"…"+e.slice(-(t-1))}(e.path)}),(0,l.jsxs)("div",{className:"flex gap-2 mt-0.5 text-[9px]",style:{color:"rgba(100,116,139,0.7)"},children:[void 0!==e.wordCount&&(0,l.jsxs)("span",{children:[e.wordCount.toLocaleString()," words"]}),(0,l.jsx)("span",{children:function(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"})}catch{return e}}(e.lastModified)})]})]},e.path)})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[o&&o.headingTree.length>0&&(0,l.jsx)("div",{className:"flex flex-wrap items-center gap-1 mb-3 text-[10px]",style:{color:"rgba(100,116,139,0.7)"},children:o.headingTree.map((e,t)=>(0,l.jsxs)("span",{className:"flex items-center gap-1",children:[t>0&&(0,l.jsx)("span",{children:"›"}),(0,l.jsx)("span",{children:e})]},t))}),d&&(0,l.jsx)("div",{className:"text-xs",style:{color:"rgba(148,163,184,0.6)"},children:"Loading…"}),u&&!d&&(0,l.jsx)("div",{className:"text-xs px-3 py-2 rounded",style:{color:"#f87171",background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.2)"},children:u}),null!==i&&!d&&!u&&(0,l.jsx)("pre",{className:"text-xs font-mono text-slate-300 whitespace-pre-wrap leading-relaxed",children:i})]})]}):(0,l.jsxs)("div",{className:`flex flex-col items-center justify-center gap-2 py-16 ${r}`,style:{color:"rgba(148,163,184,0.7)"},children:[(0,l.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCC4"}),(0,l.jsx)("span",{className:"text-sm",children:"No markdown docs found in this blueprint."})]})}var j=r(70238),y=r(71602);function k(){let{data:e,setData:t,loading:r,error:o,outdated:i,setOutdated:k,target:N,isDemo:w,isProGated:C,reload:F}=(0,h.W)(),[S,E]=(0,b.a)(),[R,D]=(0,s.useState)(null),[$,M]=(0,s.useState)("heat"),[L,I]=(0,s.useState)(g),[A,T]=(0,s.useState)({}),[H,_]=(0,s.useState)(!1);function U(e){I(t=>({...t,...e}))}(0,s.useEffect)(()=>{N&&!w&&fetch(`/api/blue/explorer/history?target=${encodeURIComponent(N)}`).then(e=>e.ok?e.json():null).then(e=>{e?.history&&T(e.history)}).catch(()=>{})},[N,w]);let K=(0,s.useMemo)(()=>e?["all",...Array.from(new Set(e.files.map(e=>e.category))).sort()]:[],[e]),V=(0,s.useMemo)(()=>{if(!e)return{};let t={};for(let r of e.files)t[r.category]=(t[r.category]??0)+1;return t},[e]),O=(0,s.useMemo)(()=>{if(!e)return[];let t=new Map;for(let r of e.files){let e=r.path.split("/")[0]??"(root)",l=t.get(e)??[];l.push(r),t.set(e,l)}return Array.from(t.entries()).map(([e,t])=>({zone:e,files:t.sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore)})).sort((e,t)=>t.files[0]?.metrics.heatScore-e.files[0]?.metrics.heatScore)},[e]),P=(0,s.useMemo)(()=>{var t,r,l;let s;return e?(t=e.files,r=t.filter(e=>(function(e,t){if("all"!==t.catFilter&&e.category!==t.catFilter)return!1;if(t.search.trim()){let r=t.search.toLowerCase();if(!e.path.toLowerCase().includes(r))return!1}if("all"!==t.riskFilter&&(0,m.E)(e)!==t.riskFilter)return!1;if("all"!==t.heatFilter){let r=e.metrics.heatScore;if("hot"===t.heatFilter&&r<70||"warm"===t.heatFilter&&(r<40||r>=70)||"cold"===t.heatFilter&&r>=40)return!1}if("all"!==t.covFilter){let r=(0,a.TR)(e.coverage??null);if("none"===t.covFilter&&null!==r)return!1;if("none"!==t.covFilter){if(null===r)return!1;let e=t.covFilter;if("low"===e&&r>=30||"partial"===e&&(r<30||r>=50)||"medium"===e&&(r<50||r>=70)||"good"===e&&(r<70||r>=85)||"high"===e&&r<85)return!1}}return!0})(e,L)),l=L.sortKey,s="desc"===L.sortDir?-1:1,[...r].sort((e,t)=>s*function(e,t,r){switch(r){case"heat":return e.metrics.heatScore-t.metrics.heatScore;case"loc":return e.metrics.loc-t.metrics.loc;case"name":return e.path.localeCompare(t.path);case"deps":return e.metrics.outgoingRuntimeDeps-t.metrics.outgoingRuntimeDeps;case"coverage":return((0,a.TR)(e.coverage)??-1)-((0,a.TR)(t.coverage)??-1);case"risk":return f[(0,m.E)(e)]-f[(0,m.E)(t)]}}(e,t,l))):[]},[e,L]),z="all"!==L.riskFilter||"all"!==L.heatFilter||"all"!==L.covFilter,B=function(e){let{count:t,onActivate:r,onEscape:l,enabled:a=!0}=e,[o,n]=(0,s.useState)(-1),i=(0,s.useRef)(null),c=(0,s.useRef)(null),d=(0,s.useRef)(r),x=(0,s.useRef)(l);return d.current=r,x.current=l,(0,s.useEffect)(()=>{o>=t&&n(t-1)},[t,o]),(0,s.useEffect)(()=>{if(o<0||!c.current)return;let e=c.current.querySelector(`[data-kbd-index="${o}"]`);e?.scrollIntoView({block:"nearest"})},[o]),(0,s.useEffect)(()=>{if(a)return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e);function e(e){let r=function(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||e.isContentEditable}(e.target);if("/"===e.key&&!r&&!e.metaKey&&!e.ctrlKey){e.preventDefault(),i.current?.focus(),i.current?.select();return}if("Escape"===e.key)return r&&document.activeElement instanceof HTMLElement?void document.activeElement.blur():(x.current?.(),void n(-1));if(!r&&0!==t)switch(e.key){case"ArrowDown":case"j":e.preventDefault(),n(e=>e<t-1?e+1:0);break;case"ArrowUp":case"k":e.preventDefault(),n(e=>e>0?e-1:t-1);break;case"Home":e.preventDefault(),n(0);break;case"End":e.preventDefault(),n(t-1);break;case"Enter":o>=0&&o<t&&(e.preventDefault(),d.current(o))}}},[a,t,o]),{activeIndex:o,setActiveIndex:(0,s.useCallback)(e=>n(e),[]),searchRef:i,listRef:c}}({count:P.length,enabled:!r&&!o&&!!e&&!H,onActivate:e=>{let t=P[e];t&&D(R?.id===t.id?null:t)},onEscape:()=>D(null)}),W=B.setActiveIndex;(0,s.useEffect)(()=>{if(!R)return;let e=P.findIndex(e=>e.id===R.id);e>=0&&W(e)},[R,P,W]);let X=(0,l.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[w&&(0,l.jsx)(u.y,{}),(0,l.jsx)(x.F,{target:N,outdated:i,onRescan:function(e){e&&(t(e),k(!1))},hideRescan:w||C,viewMode:S,onViewModeChange:E,data:e,onReset:()=>{D(null),I(g)}}),r&&(0,l.jsx)(j._N,{}),!r&&o&&(0,l.jsx)(y.f,{message:o,onRetry:F}),!r&&!o&&!e&&(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,l.jsx)("span",{className:"text-5xl",children:"\uD83D\uDCD0"}),(0,l.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,l.jsxs)("p",{className:"text-sm text-slate-500 max-w-sm",children:["No blueprint generated yet. Click"," ",(0,l.jsx)("span",{className:"font-mono text-blue-400",children:"↺ Re-scan"})," ","above to analyse your codebase."]}),(0,l.jsxs)("p",{className:"text-xs text-slate-600",children:["Or place a ",(0,l.jsx)("span",{className:"font-mono",children:"blueprint.json"})," in"," ",(0,l.jsx)("span",{className:"font-mono text-slate-500",children:".prism/"})," manually."]})]}),!r&&!o&&e&&(0,l.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,l.jsx)("div",{className:"w-64 flex-shrink-0 overflow-y-auto border-r",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,15,30,0.6)"},children:(0,l.jsx)(c.Q,{data:e,historyMap:A,target:N,onSelectFile:t=>{let r=e?.files.find(e=>e.path===t);r&&D(r)}})}),(0,l.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden",children:"simple"===S?(0,l.jsx)("div",{ref:B.listRef,className:"flex-1 overflow-y-auto px-4 py-4 flex flex-col gap-4",children:O.map(({zone:e,files:t})=>(0,l.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 px-1 mb-1",children:[(0,l.jsx)("span",{className:"text-[10px] uppercase tracking-widest font-semibold text-slate-500",children:e}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-700 font-mono",children:[t.length," files"]})]}),t.map(e=>{let t=e.metrics.heatScore,r=P.findIndex(t=>t.id===e.id),s=r>=0&&B.activeIndex===r;return(0,l.jsxs)("div",{"data-kbd-index":r>=0?r:void 0,onClick:()=>D(R?.id===e.id?null:e),className:"bx-transition flex items-center justify-between px-3 py-2 rounded-lg cursor-pointer",style:{background:R?.id===e.id?"rgba(59,130,246,0.1)":"rgba(15,23,42,0.4)",border:`1px solid ${R?.id===e.id?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`,boxShadow:s&&R?.id!==e.id?"inset 2px 0 0 rgba(96,165,250,0.6)":void 0},children:[(0,l.jsx)("span",{className:"text-xs font-mono text-slate-400 truncate flex-1",children:e.path.split("/").pop()}),e.isCyclic&&(0,l.jsx)("span",{className:"text-[10px] text-red-400 ml-2 flex-shrink-0",children:"cycle"}),(0,l.jsx)("span",{className:"text-xs font-mono ml-2 flex-shrink-0",style:{color:t>=70?"rgb(248,113,113)":t>=40?"rgb(251,191,36)":"rgb(100,116,139)"},children:t})]},e.id)})]},e))}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-3 py-2 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[(0,l.jsx)("input",{ref:B.searchRef,type:"text",value:L.search,onChange:e=>U({search:e.target.value}),placeholder:"Filter files… ( / )",className:"bx-transition bx-focusable text-xs px-2.5 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-300 placeholder:text-slate-600 outline-none focus:border-blue-500/50 w-40"}),(0,l.jsx)("div",{className:"flex gap-1 flex-wrap",children:K.map(t=>{let r=L.catFilter===t,s="all"===t?e?.files.length??0:V[t]??0;return(0,l.jsxs)("button",{onClick:()=>U({catFilter:t}),className:"text-[10px] px-2 py-0.5 rounded-full bx-transition",style:{background:r?"rgba(59,130,246,0.18)":"rgba(30,41,59,0.5)",color:r?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${r?"rgba(59,130,246,0.35)":"rgba(51,65,85,0.3)"}`},children:["all"===t?"all":`${(0,a.eD)(t)} ${t}`,(0,l.jsx)("span",{className:"ml-1 opacity-60",children:s})]},t)})}),(0,l.jsxs)("select",{value:L.riskFilter,onChange:e=>U({riskFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==L.riskFilter?{borderColor:"rgba(239,68,68,0.4)",color:"rgb(252,165,165)"}:{},children:[(0,l.jsx)("option",{value:"all",children:"Risk: all"}),(0,l.jsx)("option",{value:"high",children:"⚠ High"}),(0,l.jsx)("option",{value:"medium",children:"~ Medium"}),(0,l.jsx)("option",{value:"low",children:"✓ Low"})]}),(0,l.jsxs)("select",{value:L.heatFilter,onChange:e=>U({heatFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==L.heatFilter?{borderColor:"rgba(251,191,36,0.4)",color:"rgb(253,224,71)"}:{},children:[(0,l.jsx)("option",{value:"all",children:"Heat: all"}),(0,l.jsx)("option",{value:"hot",children:"\uD83D\uDD34 Hot ≥70"}),(0,l.jsx)("option",{value:"warm",children:"\uD83D\uDFE1 Warm 40–69"}),(0,l.jsx)("option",{value:"cold",children:"\uD83D\uDD35 Cold <40"})]}),(0,l.jsxs)("select",{value:L.covFilter,onChange:e=>U({covFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==L.covFilter?{borderColor:"rgba(34,197,94,0.4)",color:"rgb(134,239,172)"}:{},children:[(0,l.jsx)("option",{value:"all",children:"Cov: all"}),(0,l.jsx)("option",{value:"none",children:"⬜ No data"}),(0,l.jsx)("option",{value:"low",children:"\uD83D\uDD34 Low <30%"}),(0,l.jsx)("option",{value:"partial",children:"\uD83D\uDFE0 Partial 30–49%"}),(0,l.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium 50–69%"}),(0,l.jsx)("option",{value:"good",children:"\uD83D\uDFE2 Good 70–84%"}),(0,l.jsx)("option",{value:"high",children:"✅ High ≥85%"})]}),(0,l.jsx)("div",{className:"flex gap-1",children:["heat","coverage","neutral"].map(e=>(0,l.jsx)("button",{onClick:()=>M(e),className:"text-[10px] px-2 py-0.5 rounded capitalize",style:{background:$===e?"rgba(59,130,246,0.2)":"rgba(30,41,59,0.5)",color:$===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${$===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:e},e))}),(0,l.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[(0,l.jsxs)("select",{value:L.sortKey,onChange:e=>U({sortKey:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",children:[(0,l.jsx)("option",{value:"heat",children:"Sort: heat"}),(0,l.jsx)("option",{value:"loc",children:"Sort: LOC"}),(0,l.jsx)("option",{value:"name",children:"Sort: name"}),(0,l.jsx)("option",{value:"deps",children:"Sort: deps"}),(0,l.jsx)("option",{value:"coverage",children:"Sort: coverage"}),(0,l.jsx)("option",{value:"risk",children:"Sort: risk"})]}),(0,l.jsx)("button",{onClick:()=>U({sortDir:"desc"===L.sortDir?"asc":"desc"}),title:"desc"===L.sortDir?"Descending — click to sort ascending":"Ascending — click to sort descending",className:"text-xs px-1.5 py-1 rounded border bx-transition",style:{background:"rgba(30,41,59,0.5)",color:"rgb(148,163,184)",borderColor:"rgba(51,65,85,0.5)"},children:"desc"===L.sortDir?"↓":"↑"})]}),z&&(0,l.jsx)("button",{onClick:()=>I(g),className:"text-[10px] px-2 py-0.5 rounded border bx-transition ml-auto",style:{background:"rgba(239,68,68,0.08)",color:"rgb(252,165,165)",borderColor:"rgba(239,68,68,0.25)"},children:"Reset all"}),(e.markdownDocs?.length??0)>0&&(0,l.jsxs)("button",{onClick:()=>_(e=>!e),className:"text-[10px] px-2 py-0.5 rounded border bx-transition",style:{background:H?"rgba(99,102,241,0.15)":"rgba(30,41,59,0.4)",color:H?"rgb(165,180,252)":"rgb(100,116,139)",borderColor:H?"rgba(99,102,241,0.35)":"rgba(51,65,85,0.4)"},children:["\uD83D\uDCC4 Docs ",e.markdownDocs.length]}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-600 font-mono",children:[P.length," files"]})]}),z&&(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-1.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.25)",background:"rgba(2,6,23,0.4)"},children:[(0,l.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600 font-semibold",children:"Active:"}),"all"!==L.riskFilter&&(0,l.jsxs)("button",{onClick:()=>U({riskFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(239,68,68,0.1)",color:"rgb(252,165,165)",borderColor:"rgba(239,68,68,0.3)"},children:["Risk: ",L.riskFilter," ✕"]}),"all"!==L.heatFilter&&(0,l.jsxs)("button",{onClick:()=>U({heatFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(251,191,36,0.1)",color:"rgb(253,224,71)",borderColor:"rgba(251,191,36,0.3)"},children:["Heat: ",L.heatFilter," ✕"]}),"all"!==L.covFilter&&(0,l.jsxs)("button",{onClick:()=>U({covFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",borderColor:"rgba(34,197,94,0.3)"},children:["Cov: ",L.covFilter," ✕"]})]}),H?(0,l.jsx)(v,{docs:e.markdownDocs,target:N,className:"flex-1 overflow-hidden"}):(0,l.jsx)("div",{ref:B.listRef,className:"flex-1 overflow-y-auto",children:(()=>{if(0===P.length)return(0,l.jsx)("div",{className:"p-8 text-center text-slate-600 text-sm",children:"No files match your filter."});let e=new Map(P.map((e,t)=>[e.id,t]));if(!("all"===L.catFilter&&!L.search))return P.map((e,t)=>(0,l.jsx)(n,{file:e,selected:R?.id===e.id,kbdActive:B.activeIndex===t,kbdIndex:t,colorMode:$,onClick:()=>D(R?.id===e.id?null:e),history:A[e.path]},e.id));let t=new Map;for(let e of P){let r=e.category;t.has(r)||t.set(r,[]),t.get(r).push(e)}return Array.from(t.entries()).map(([t,r])=>(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-1.5 px-3 py-1 text-[10px] font-semibold uppercase tracking-widest",style:{background:"rgba(2,6,23,0.92)",borderBottom:"1px solid rgba(51,65,85,0.25)",color:"rgb(71,85,105)"},children:[(0,l.jsx)("span",{children:(0,a.eD)(t)}),(0,l.jsx)("span",{children:t}),(0,l.jsx)("span",{className:"font-mono font-normal opacity-60 ml-1",children:r.length})]}),r.map(t=>{let r=e.get(t.id)??-1;return(0,l.jsx)(n,{file:t,selected:R?.id===t.id,kbdActive:B.activeIndex===r,kbdIndex:r,colorMode:$,onClick:()=>D(R?.id===t.id?null:t),history:A[t.path]},t.id)})]},t))})()})]})}),R?(0,l.jsx)(d.N,{file:R,allFiles:e.files,target:N,history:A[R.path],onClose:()=>D(null),onSelectFile:t=>{let r=e?.files.find(e=>e.path===t);r&&D(r)},onSearch:e=>{U({search:e}),D(null)}}):(0,l.jsx)("div",{className:"flex items-center justify-center h-full text-slate-700 text-xs font-mono select-none pointer-events-none",children:"← Select a file to inspect"})]})]});return C?(0,l.jsx)(p.e,{children:X}):X}},61578:(e,t,r)=>{"use strict";r.d(t,{a:()=>a});var l=r(12115);let s="prism.viewMode";function a(){let[e,t]=(0,l.useState)("expert");return(0,l.useEffect)(()=>{try{let e=localStorage.getItem(s);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,l.useCallback)(e=>{t(e);try{localStorage.setItem(s,e)}catch{}},[])]}},78624:(e,t,r)=>{Promise.resolve().then(r.bind(r,6801))}},e=>{e.O(0,[8500,8110,6828,2069,1385,6901,8441,3794,7358],()=>e(e.s=78624)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6989],{37634:(e,t,l)=>{"use strict";l.r(t),l.d(t,{default:()=>R});var s=l(95155),a=l(12115),n=l(3846),r=l(61578),o=l(63935),c=l(53729),i=l(92829),x=l(94137),d=l(92452);let p=new Set(["input","textarea","select","checkbox","radio","toggle","dropdown"]),m=new Set(["form","tabs","dialog"]);function h(e){return e?e.replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()):e}let u={dashboard:"\uD83D\uDCCA",admin:"⚙️",chat:"\uD83D\uDCAC",form:"\uD83D\uDCDD",profile:"\uD83D\uDC64",settings:"⚙️",landing:"\uD83C\uDFE0",list:"\uD83D\uDCCB",detail:"\uD83D\uDD0D",builder:"\uD83C\uDFD7",wizard:"\uD83E\uDDD9",recovery:"\uD83D\uDD11",page:"\uD83D\uDCC4",layout:"\uD83D\uDCD0",component:"\uD83E\uDDE9",unknown:"❓"},f={button:"\uD83D\uDD18",input:"✏️",textarea:"\uD83D\uDCDD",select:"▼",checkbox:"☑️",radio:"\uD83D\uDD35",tabs:"\uD83D\uDCD1",dialog:"\uD83D\uDCAC",table:"\uD83D\uDDC3️",search:"\uD83D\uDD0D",toggle:"\uD83D\uDD04",dropdown:"▾",form:"\uD83D\uDCCB",nav:"\uD83E\uDDED",other:"⬜"};function g({s:e}){return"supabase"===e?(0,s.jsx)("span",{className:"text-[9px] text-slate-600",title:"supabase",children:"\uD83D\uDDC4"}):"http-fetch"===e?(0,s.jsx)("span",{className:"text-[9px] text-slate-600",title:"http-fetch",children:"\uD83C\uDF10"}):(0,s.jsx)("span",{className:"text-[9px] text-slate-600",title:e,children:"\uD83D\uDCE1"})}function b({item:e}){let t=f[e.kind]??"⬜",l=e.semanticRole||e.kind;return(0,s.jsxs)("span",{className:"inline-flex items-center gap-0.5 text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(30,41,59,0.7)",color:"rgb(148,163,184)",border:"1px solid rgba(51,65,85,0.5)"},title:"inferred"===e.confidence?"inferred":void 0,children:[t," ",l,e.count>1?` \xd7${e.count}`:"","inferred"===e.confidence&&(0,s.jsx)("span",{style:{color:"rgb(100,116,139)"},children:"*"})]})}function j({si:e}){let t=u[e.screenKind]??"\uD83D\uDCC4";return(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,s.jsx)("span",{className:"text-[10px]",children:t}),(0,s.jsx)("span",{className:"text-[10px] font-semibold text-slate-300",children:e.label||e.screenKind}),"unknown"!==e.screenKind&&e.label&&(0,s.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded font-mono",style:{background:"rgba(99,102,241,0.15)",color:"rgb(165,180,252)",border:"1px solid rgba(99,102,241,0.25)"},children:e.screenKind})]}),e.uiPatterns.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:e.uiPatterns.map(e=>(0,s.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(59,130,246,0.1)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.2)"},children:e},e))}),e.dataSources.length>0&&(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,s.jsx)("span",{className:"text-[9px] text-slate-600",children:"data:"}),e.dataSources.map(e=>(0,s.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(234,179,8,0.1)",color:"rgb(253,224,71)",border:"1px solid rgba(234,179,8,0.2)"},children:e},e))]}),e.customHooks.length>0&&(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,s.jsx)("span",{className:"text-[9px] text-slate-600",children:"hooks:"}),e.customHooks.slice(0,6).map(e=>(0,s.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:e},e)),e.customHooks.length>6&&(0,s.jsxs)("span",{className:"text-[9px] text-slate-700",children:["+",e.customHooks.length-6]})]}),e.eventHandlers.length>0&&(0,s.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,s.jsx)("span",{className:"text-[9px] text-slate-600",children:"handlers:"}),e.eventHandlers.slice(0,4).map(e=>(0,s.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:e},e)),e.eventHandlers.length>4&&(0,s.jsxs)("span",{className:"text-[9px] text-slate-700",children:["+",e.eventHandlers.length-4]})]})]})}function N({inv:e}){let t=function(e){let t=[],l=new Set,s=e.controls.filter(e=>"form"===e.kind);if(s.length>0&&(s.forEach((l,s)=>{let a=l.semanticRole||`Form ${s+1}`,n=e.controls.filter(e=>p.has(e.kind)&&(!l.hint||e.hint===l.hint));t.push({label:h(a),controls:[l,...n],fieldCount:n.reduce((e,t)=>e+t.count,0)||e.formFieldCount})}),l.add("form"),p.forEach(e=>l.add(e))),e.hasTabs&&!l.has("tabs")){let s=e.controls.find(e=>"tabs"===e.kind);s&&(t.push({label:h(s.semanticRole)||"Tabs",controls:[s],fieldCount:0}),l.add("tabs"))}let a=e.controls.filter(e=>p.has(e.kind)&&!l.has(e.kind));a.length>0&&0===t.length&&(t.push({label:"Main Form",controls:a,fieldCount:e.formFieldCount||a.reduce((e,t)=>e+t.count,0)}),a.forEach(e=>l.add(e.kind)));let n=e.controls.filter(e=>!l.has(e.kind)&&!m.has(e.kind)&&"button"!==e.kind);if(e.hasSearch||e.hasTable||e.hasDialog){let s=[...n,...e.controls.filter(e=>("search"===e.kind||"table"===e.kind||"dialog"===e.kind)&&!l.has(e.kind))];s.length>0&&t.push({label:"Utilities",controls:s,fieldCount:0})}return 0===t.length&&e.controls.length>0&&t.push({label:"Controls",controls:e.controls,fieldCount:e.formFieldCount}),t}(e),[l,n]=(0,a.useState)(!1);return(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[e.hasForm&&(0,s.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",border:"1px solid rgba(34,197,94,0.2)"},children:["\uD83D\uDCCB ",e.formFieldCount>0?`${e.formFieldCount} fields`:"form"]}),e.actionCount>0&&(0,s.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded",style:{background:"rgba(59,130,246,0.1)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.2)"},children:["\uD83D\uDD18 ",e.actionCount," action",1!==e.actionCount?"s":""]}),e.hasSearch&&(0,s.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDD0D search"}),e.hasTabs&&(0,s.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDCD1 tabs"}),e.hasTable&&(0,s.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDDC3️ table"}),e.hasDialog&&(0,s.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDCAC dialog"}),e.isInferred&&(0,s.jsx)("span",{className:"text-[9px] text-slate-700 italic",children:"inferred"})]}),t.length>0&&(0,s.jsx)("div",{className:"flex flex-col gap-1",children:t.map((e,t)=>(0,s.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,s.jsx)("span",{className:"text-[9px] font-semibold text-slate-500 uppercase tracking-wide",children:e.label}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:e.controls.map((e,t)=>(0,s.jsx)(b,{item:e},t))})]},t))}),e.controls.length>0&&(0,s.jsx)("button",{onClick:()=>n(e=>!e),className:"text-[9px] text-slate-600 hover:text-slate-400 text-left transition-colors",children:l?"▲ hide controls":`▼ ${e.controls.length} control${1!==e.controls.length?"s":""}`}),l&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1 pl-1",children:e.controls.map((e,t)=>(0,s.jsx)(b,{item:e},t))})]})}function y({sc:e}){let t=e.hookCounts,l=[t.useState>0&&`useState\xd7${t.useState}`,t.useReducer>0&&`useReducer\xd7${t.useReducer}`,t.useEffect>0&&`useEffect\xd7${t.useEffect}`,t.useMemo>0&&`useMemo\xd7${t.useMemo}`,t.useCallback>0&&`useCallback\xd7${t.useCallback}`,t.useRef>0&&`useRef\xd7${t.useRef}`].filter(Boolean);return 0===l.length&&0===e.complexityNotes.length?null:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[l.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map(e=>(0,s.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(168,85,247,0.1)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.2)"},children:e},e))}),e.complexityNotes.map((e,t)=>(0,s.jsx)("p",{className:"text-[9px] text-amber-500/70 italic",children:e},t))]})}function v({churn:e,count90d:t,count180d:l,subjects:a}){return void 0===e&&void 0===t?null:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[void 0!==t&&(0,s.jsxs)("span",{className:"text-[9px] font-mono text-slate-400",children:[(0,s.jsx)("span",{className:"text-slate-600",children:"90d:"})," ",t," commits"]}),void 0!==l&&l!==t&&(0,s.jsxs)("span",{className:"text-[9px] font-mono text-slate-500",children:[(0,s.jsx)("span",{className:"text-slate-600",children:"180d:"})," ",l]}),void 0!==e&&void 0===t&&(0,s.jsxs)("span",{className:"text-[9px] font-mono text-slate-400",children:[e," commits (90d)"]})]}),a&&a.length>0&&(0,s.jsx)("div",{className:"flex flex-col gap-0.5",children:a.slice(0,3).map((e,t)=>(0,s.jsxs)("p",{className:"text-[9px] text-slate-600 font-mono truncate",children:["\xb7 ",e]},t))})]})}function k({files:e,onSelect:t}){let l=e.find(e=>"page"===e.nextFileKind)??e.find(e=>"layout"===e.nextFileKind)??e[0];if(!l)return null;let a=e.map(e=>e.screenInfo).filter(e=>null!==e),n=l.screenInfo??a[0]??null,r=e.map(e=>e.controlInventory).filter(e=>null!==e),o=l.controlInventory??r[0]??null,c=l.stateComplexity??null,i=e.reduce((e,t)=>e+(t.churn??0),0),x=l.commitStats;return null!==n||null!==o||null!==c||i>0?(0,s.jsxs)("div",{className:"flex flex-col gap-3 px-3 py-2.5 border-t text-[10px]",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.5)"},children:[l.isApiRoute&&(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",border:"1px solid rgba(34,197,94,0.3)"},children:"API route"}),l.routePath&&(0,s.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:l.routePath})]}),null!==n&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Screen"}),(0,s.jsx)(j,{si:n})]}),null!==o&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Controls"}),(0,s.jsx)(N,{inv:o})]}),null!==c&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"State"}),(0,s.jsx)(y,{sc:c})]}),(i>0||x)&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Churn"}),(0,s.jsx)(v,{churn:i||void 0,count90d:x?.count_90d,count180d:x?.count_180d,subjects:x?.subjects_180d})]}),(0,s.jsx)("div",{className:"flex flex-wrap gap-1 pt-0.5",children:e.map(e=>(0,s.jsx)("button",{onClick:()=>t(e),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:e.path.split("/").pop()},e.id))})]}):null}function C({node:e,depth:t,onSelect:l,onDrillZone:n}){let[r,o]=(0,a.useState)(!1),c=(0,d.XK)(e.maxHeat),i=e.segment.startsWith("(")?e.segment:`/${e.segment}`,x=[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),p=function(e){let t=e.filter(e=>null!==e.coverage),l=null,s=null;if(t.length>0){let e=t.reduce((e,t)=>e+((0,d.TR)(t.coverage)??0),0)/t.length,a=(0,d.NU)(e);l=`🧪 ${e.toFixed(0)}%`,s=d.Vt[a]}let a=new Set;for(let t of e)for(let e of t.screenInfo?.dataSources??[])a.add(e);let n=e.reduce((e,t)=>e+t.metrics.loc,0);return{covLabel:l,covColor:s,dataSources:Array.from(a).slice(0,3),loc:n}}(x),m=x.some(e=>null!==e.screenInfo||null!==e.controlInventory||null!==e.stateComplexity||(e.churn??0)>0);return(0,s.jsxs)("div",{className:"rounded border flex flex-col",style:{borderColor:r?`${c}55`:`${c}33`,background:`rgba(8,15,30,${.7-.05*t})`,marginLeft:12*(t>0)},children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b",style:{borderColor:`${c}22`,background:`${c}08`},children:[(0,s.jsx)("span",{className:"text-[9px] font-mono font-bold px-1 py-0.5 rounded",style:{background:`${c}22`,color:c},children:e.maxHeat.toFixed(0)}),(0,s.jsxs)("button",{onClick:()=>m&&o(e=>!e),className:"text-xs font-mono text-slate-300 font-medium flex items-center gap-1 hover:text-slate-100 transition-colors",style:{cursor:m?"pointer":"default"},title:m?r?"Hide screen interior":"Show screen interior":void 0,children:[i,m&&(0,s.jsx)("span",{className:"text-[9px] text-slate-600",children:r?"▲":"▼"})]}),n&&0===t&&(0,s.jsx)("button",{onClick:()=>n(e),className:"text-[9px] px-1.5 py-0.5 rounded transition-all",style:{background:"rgba(59,130,246,0.1)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.2)"},title:"Drill into this zone (L4)",children:"Focus ▶"}),p.covLabel&&(0,s.jsx)("span",{className:"text-[9px] font-mono ml-0.5",style:{color:p.covColor??void 0},children:p.covLabel}),p.dataSources.map(e=>(0,s.jsx)(g,{s:e},e)),p.loc>0&&(0,s.jsxs)("span",{className:"text-[9px] font-mono text-slate-700 ml-auto",children:[p.loc,"L"]}),e.layoutFile&&(0,s.jsx)("button",{onClick:()=>l(e.layoutFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded ml-1 hover:opacity-80 transition-opacity",style:{background:"rgba(168,85,247,0.15)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.3)"},children:"layout"}),e.pageFile&&(0,s.jsx)("button",{onClick:()=>l(e.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"}),e.otherFiles.slice(0,3).map(e=>(0,s.jsx)("button",{onClick:()=>l(e),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(30,41,59,0.5)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.3)"},children:e.path.split("/").pop()},e.id)),e.otherFiles.length>3&&(0,s.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono",children:["+",e.otherFiles.length-3]})]}),r&&x.length>0&&(0,s.jsx)(k,{files:x,onSelect:l}),e.children.length>0&&(0,s.jsx)("div",{className:"flex flex-col gap-1.5 p-1.5",children:e.children.sort((e,t)=>t.maxHeat-e.maxHeat).map(e=>(0,s.jsx)(C,{node:e,depth:t+1,onSelect:l,onDrillZone:n},e.fullPath))})]})}function w({crumbs:e,onNavigate:t}){return(0,s.jsx)("div",{className:"flex items-center gap-1 flex-wrap text-[10px] font-mono px-4 py-1.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.5)"},children:e.map((l,a)=>(0,s.jsxs)("span",{className:"flex items-center gap-1",children:[a>0&&(0,s.jsx)("span",{className:"text-slate-700",children:"▸"}),a<e.length-1?(0,s.jsx)("button",{onClick:()=>t(a),className:"text-blue-400 hover:text-blue-300 transition-colors",children:l.label}):(0,s.jsx)("span",{className:"text-slate-300 font-semibold",children:l.label})]},a))})}function F({allFiles:e,onSelectControl:t}){let l=(0,a.useMemo)(()=>{let t=[];for(let l of e)for(let e of l.controlInventory?.controls??[])t.push({...e,filePath:l.path});return t},[e]);return l.length?(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsxs)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600 px-3 pt-2",children:["Controls (",l.length,")"]}),(0,s.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.2)"},children:l.map((e,l)=>(0,s.jsxs)("button",{onClick:()=>t(e),className:"flex items-center gap-2 px-3 py-1.5 text-left hover:bg-slate-800/40 transition-colors",children:[(0,s.jsx)("span",{className:"text-[12px]",children:f[e.kind]??"⬜"}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("span",{className:"text-[11px] text-slate-200 font-medium truncate block",children:e.semanticRole||e.kind}),(0,s.jsx)("span",{className:"text-[10px] font-mono text-slate-600 truncate block",children:e.filePath.split("/").pop()})]}),e.count>1&&(0,s.jsxs)("span",{className:"text-[10px] text-slate-600 shrink-0",children:["\xd7",e.count]}),"inferred"===e.confidence&&(0,s.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded shrink-0",style:{background:"rgba(251,191,36,0.1)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.2)"},title:"Inferred — not explicitly declared",children:"~inferred"}),(0,s.jsx)("span",{className:"text-slate-600 text-[10px]",children:"›"})]},l))})]}):(0,s.jsx)("p",{className:"text-[11px] text-slate-600 italic px-3 py-2",children:"No controls detected in this zone."})}function S({control:e,onBack:t}){let l=f[e.kind]??"⬜";return(0,s.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("span",{className:"text-2xl",children:l}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-slate-200",children:e.semanticRole||e.kind}),(0,s.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(99,102,241,0.12)",color:"rgb(165,180,252)",border:"1px solid rgba(99,102,241,0.2)"},children:e.kind})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"rounded-lg px-3 py-2 flex flex-col gap-0.5",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600",children:"Count"}),(0,s.jsx)("span",{className:"text-lg font-mono font-semibold text-slate-200",children:e.count})]}),(0,s.jsxs)("div",{className:"rounded-lg px-3 py-2 flex flex-col gap-0.5",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600",children:"Confidence"}),(0,s.jsx)("span",{className:"text-sm font-semibold",style:{color:"certain"===e.confidence?"rgb(52,211,153)":"rgb(253,224,71)"},children:"certain"===e.confidence?"✓ Certain":"~ Inferred"})]})]}),"inferred"===e.confidence&&(0,s.jsxs)("div",{className:"rounded-lg px-3 py-2 text-[11px] text-slate-400",style:{background:"rgba(251,191,36,0.06)",border:"1px solid rgba(251,191,36,0.15)"},children:[(0,s.jsx)("span",{className:"font-semibold text-yellow-400",children:"~ Inferred"})," — this control was not explicitly declared in the component props or JSX; it was inferred from patterns like handler names, hook usage, or context. Verify in the source."]}),e.hint&&(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Hint"}),(0,s.jsx)("p",{className:"text-[11px] text-slate-400",children:e.hint})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Source file"}),(0,s.jsx)("span",{className:"text-[11px] font-mono text-blue-400",children:e.filePath})]}),(0,s.jsx)("button",{onClick:t,className:"text-[11px] px-3 py-1.5 rounded-lg self-start transition-all",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:"← Back to controls"})]})}function H({zone:e,onSelect:t,onSelectControl:l}){let n=(0,a.useMemo)(()=>{let t=e=>[...[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),...e.children.flatMap(t)];return t(e)},[e]),r=(0,a.useMemo)(()=>e.children.length>0?e.children:[e],[e]);return(0,s.jsxs)("div",{className:"flex flex-col gap-0 overflow-y-auto h-full",children:[(0,s.jsxs)("div",{className:"px-4 py-2.5 border-b flex items-center gap-2 flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.6)"},children:[(0,s.jsx)("span",{className:"text-[10px] font-mono font-bold px-1.5 py-0.5 rounded",style:{background:`${(0,d.XK)(e.maxHeat)}22`,color:(0,d.XK)(e.maxHeat)},children:e.maxHeat.toFixed(0)}),(0,s.jsxs)("span",{className:"text-sm font-mono text-slate-300 font-medium",children:["/",e.segment]}),(0,s.jsxs)("span",{className:"text-[10px] text-slate-600",children:[n.length," files"]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-2 p-3 flex-shrink-0",children:[(0,s.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600 font-semibold",children:"Screens"}),r.map(e=>{let l=[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),a=e.segment.startsWith("(")?e.segment:`/${e.segment}`;return(0,s.jsxs)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:`${(0,d.XK)(e.maxHeat)}33`,background:"rgba(8,15,30,0.6)"},children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b",style:{borderColor:`${(0,d.XK)(e.maxHeat)}22`},children:[(0,s.jsx)("span",{className:"text-[9px] font-mono font-bold px-1 py-0.5 rounded",style:{background:`${(0,d.XK)(e.maxHeat)}22`,color:(0,d.XK)(e.maxHeat)},children:e.maxHeat.toFixed(0)}),(0,s.jsx)("span",{className:"text-[11px] font-mono text-slate-300",children:a}),e.pageFile&&(0,s.jsx)("button",{onClick:()=>t(e.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded ml-auto hover:opacity-80",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"})]}),l.length>0&&(0,s.jsx)(k,{files:l,onSelect:t})]},e.fullPath)})]}),(0,s.jsx)("div",{className:"border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:(0,s.jsx)(F,{allFiles:n,onSelectControl:l})})]})}function $({files:e,selected:t,colorMode:l,onSelect:n}){let r=(0,a.useMemo)(()=>(function(e){let t={segment:"(root)",fullPath:"",layoutFile:null,pageFile:null,otherFiles:[],children:[],maxHeat:0};for(let l of e.filter(e=>{var t;return(t=e.path).startsWith("app/")||t.startsWith("src/app/")})){let e=function e(t,l){if(0===t.length)return l;let[s,...a]=t,n=l.children.find(e=>e.segment===s);if(!n){let e=l.fullPath?`${l.fullPath}/${s}`:s;n={segment:s,fullPath:e,layoutFile:null,pageFile:null,otherFiles:[],children:[],maxHeat:0},l.children.push(n)}return e(a,n)}(function(e){let t=e.replace(/^app\//,"").split("/");return t.pop(),t}(l.path),t),s=l.path.split("/").pop()??"";"layout.tsx"===s||"layout.ts"===s?e.layoutFile=l:"page.tsx"===s||"page.ts"===s?e.pageFile=l:e.otherFiles.push(l);let a=l.metrics.heatScore;a>e.maxHeat&&(e.maxHeat=a)}return!function e(t){let l=t.children.reduce((t,l)=>Math.max(t,e(l)),0);return t.maxHeat=Math.max(t.maxHeat,l),t.maxHeat}(t),t})(e),[e]),o=r.layoutFile||r.pageFile||r.children.length>0,[c,i]=(0,a.useState)({level:"l1"});if(!o)return(0,s.jsxs)("div",{className:"h-full flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,s.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD0C"}),(0,s.jsx)("p",{className:"text-sm text-slate-500",children:"No app/ directory files found in this blueprint."})]});let x=[{label:"App"}];return("l4"===c.level||"l6"===c.level)&&x.push({label:`/${c.zone.segment}`}),"l6"===c.level&&x.push({label:c.control.semanticRole||c.control.kind}),(0,s.jsxs)("div",{className:"h-full flex flex-col overflow-hidden",children:[(0,s.jsx)(w,{crumbs:x,onNavigate:function(e){0===e?i({level:"l1"}):1===e&&("l4"===c.level||"l6"===c.level)&&i({level:"l4",zone:c.zone})}}),"l1"===c.level&&(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[(0,s.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-3",children:"Next.js Layout Hierarchy — click a zone to drill into L4 ▶"}),(0,s.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(r.layoutFile||r.pageFile)&&(0,s.jsxs)("div",{className:"rounded border p-2 flex items-center gap-2 mb-1",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,15,30,0.6)"},children:[(0,s.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:"/"}),r.layoutFile&&(0,s.jsxs)("button",{onClick:()=>n(r.layoutFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80",style:{background:"rgba(168,85,247,0.15)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.3)"},children:["layout ",r.layoutFile.metrics.heatScore.toFixed(0)]}),r.pageFile&&(0,s.jsx)("button",{onClick:()=>n(r.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"})]}),r.children.sort((e,t)=>t.maxHeat-e.maxHeat).map(e=>(0,s.jsx)(C,{node:e,depth:0,onSelect:n,onDrillZone:e=>i({level:"l4",zone:e})},e.fullPath))]})]}),"l4"===c.level&&(0,s.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,s.jsx)(H,{zone:c.zone,onSelect:n,onSelectControl:e=>i({level:"l6",zone:c.zone,control:e})})}),"l6"===c.level&&(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)(S,{control:c.control,onBack:()=>i({level:"l4",zone:c.zone})})})]})}function R(){let{data:e,setData:t,loading:l,error:d,outdated:p,setOutdated:m,target:h,isDemo:u,isProGated:f}=(0,n.W)(),[g,b]=(0,r.a)(),[j,N]=(0,a.useState)(null),y=(0,a.useMemo)(()=>e?e.files.filter(e=>e.isCyclic||e.metrics.heatScore>65).sort((e,t)=>e.isCyclic!==t.isCyclic?e.isCyclic?-1:1:t.metrics.heatScore-e.metrics.heatScore):[],[e]),v=(0,s.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[u&&(0,s.jsx)(c.y,{}),(0,s.jsx)(o.F,{target:h,outdated:p,onRescan:function(e){e&&(t(e),m(!1))},hideRescan:u||f,viewMode:g,onViewModeChange:b}),d&&(0,s.jsx)("div",{className:"px-4 py-2 text-xs text-red-400 font-mono bg-red-950/30 border-b border-red-900/30 flex-shrink-0",children:d}),l&&(0,s.jsx)("div",{className:"flex-1 flex items-center justify-center text-slate-500 text-sm",children:"Loading blueprint…"}),!l&&!e&&(0,s.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,s.jsx)("span",{className:"text-5xl",children:"\uD83D\uDD0C"}),(0,s.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,s.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan above to generate a blueprint."})]}),!l&&e&&(0,s.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,s.jsx)("div",{className:"flex-1 overflow-hidden",children:"simple"===g?(0,s.jsxs)("div",{className:"flex flex-col h-full overflow-y-auto px-6 py-4 gap-3",children:[(0,s.jsx)("p",{className:"text-xs text-slate-500",children:0===y.length?"No critical paths detected — your dependency structure looks healthy.":`${y.length} files are on critical paths. Changes here are highest risk.`}),0===y.length&&(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-3 text-center",children:[(0,s.jsx)("span",{className:"text-4xl",children:"✅"}),(0,s.jsx)("p",{className:"text-sm font-semibold text-slate-300",children:"No critical paths"}),(0,s.jsx)("p",{className:"text-xs text-slate-600 max-w-xs",children:"No circular dependencies and no extremely hot files. The wiring looks clean."})]}),(0,s.jsx)("div",{className:"flex flex-col gap-2",children:y.map(e=>{let t=e.metrics.heatScore;return(0,s.jsxs)("div",{onClick:()=>N(j?.id===e.id?null:e),className:"flex items-center gap-3 px-4 py-3 rounded-xl cursor-pointer transition-colors",style:{background:j?.id===e.id?"rgba(59,130,246,0.1)":"rgba(15,23,42,0.5)",border:`1px solid ${j?.id===e.id?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.35)"}`},children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-xs font-mono text-slate-300 truncate",children:e.path}),(0,s.jsxs)("p",{className:"text-[10px] text-slate-600 mt-0.5",children:[e.metrics.outgoingRuntimeDeps," outgoing deps \xb7 ",e.metrics.loc," lines"]})]}),e.isCyclic&&(0,s.jsx)("span",{className:"text-[10px] font-bold px-1.5 py-0.5 rounded flex-shrink-0",style:{background:"rgba(248,113,113,0.15)",color:"rgb(248,113,113)",border:"1px solid rgba(248,113,113,0.25)"},children:"cycle"}),(0,s.jsx)("span",{className:"text-sm font-bold font-mono flex-shrink-0",style:{color:t>=70?"rgb(248,113,113)":"rgb(251,191,36)"},children:t})]},e.id)})})]}):(0,s.jsx)($,{files:e.files,selected:j,onSelect:e=>N(t=>t?.id===e.id?null:e)})}),j&&(0,s.jsx)(x.N,{file:j,allFiles:e.files,target:h,onClose:()=>N(null),onSelectFile:t=>{let l=e?.files.find(e=>e.path===t);l&&N(l)}})]})]});return f?(0,s.jsx)(i.e,{children:v}):v}},53729:(e,t,l)=>{"use strict";l.d(t,{y:()=>r});var s=l(95155),a=l(98500),n=l.n(a);function r(){return(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4 px-4 py-2.5 text-xs",style:{background:"rgba(14,165,233,0.08)",borderBottom:"1px solid rgba(14,165,233,0.2)"},children:[(0,s.jsxs)("span",{className:"flex items-center gap-2 text-sky-400 font-medium",children:[(0,s.jsx)("span",{"aria-hidden":!0,children:"✦"}),"Demo data — NexPay sample project. Install Prism to scan your own codebase."]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[(0,s.jsx)(n(),{href:"/#quickstart",className:"text-sky-300 hover:text-sky-200 transition-colors font-semibold",children:"Get started →"}),(0,s.jsx)(n(),{href:"/pricing",className:"px-3 py-1 rounded-md text-xs font-semibold transition-colors",style:{background:"rgba(14,165,233,0.15)",border:"1px solid rgba(14,165,233,0.3)",color:"rgb(125,211,252)"},children:"View pricing"})]})]})}},61578:(e,t,l)=>{"use strict";l.d(t,{a:()=>n});var s=l(12115);let a="prism.viewMode";function n(){let[e,t]=(0,s.useState)("expert");return(0,s.useEffect)(()=>{try{let e=localStorage.getItem(a);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,s.useCallback)(e=>{t(e);try{localStorage.setItem(a,e)}catch{}},[])]}},79938:(e,t,l)=>{Promise.resolve().then(l.bind(l,37634))}},e=>{e.O(0,[8500,8110,6828,2069,6901,8441,3794,7358],()=>e(e.s=79938)),_N_E=e.O()}]);
|
package/.next/standalone/.next/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4707],{54346:(e,t,s)=>{Promise.resolve().then(s.bind(s,69389))},61578:(e,t,s)=>{"use strict";s.d(t,{a:()=>r});var l=s(12115);let a="prism.viewMode";function r(){let[e,t]=(0,l.useState)("expert");return(0,l.useEffect)(()=>{try{let e=localStorage.getItem(a);("simple"===e||"expert"===e)&&t(e)}catch{}},[]),[e,(0,l.useCallback)(e=>{t(e);try{localStorage.setItem(a,e)}catch{}},[])]}},69389:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>M});var l=s(95155),a=s(12115),r=s(3846),n=s(61578),o=s(63935),i=s(53729),c=s(92829),x=s(94137),d=s(92452);function p(e){if(!e.length)return{maxHeat:0,avgHeat:0};let t=e.map(e=>e.metrics.heatScore);return{maxHeat:Math.max(...t),avgHeat:t.reduce((e,t)=>e+t,0)/t.length}}let m=["#3b82f6","#8b5cf6","#0d9488","#b45309","#ef4444","#ec4899","#84cc16"],h={app:"\uD83D\uDCC4",components:"⚛",component:"⚛",lib:"\uD83D\uDCE6",libs:"\uD83D\uDCE6",hooks:"\uD83E\uDE9D",hook:"\uD83E\uDE9D",api:"\uD83D\uDD0C",pages:"\uD83D\uDCC4",utils:"\uD83D\uDD27",styles:"\uD83C\uDFA8",types:"\uD83D\uDCD0",tests:"\uD83E\uDDEA",config:"⚙️",public:"\uD83C\uDF10"};function b(e,t){switch(t){case"hottest":return e.metrics.heatScore>=10;case"routes":return e.isApiRoute||"page"===e.nextFileKind;case"core-libs":return e.metrics.incomingRuntimeDeps>=5;case"api-surface":return e.isApiRoute;case"state-heavy":return(e.stateComplexity?.hookCounts.total??0)>=10;default:return!0}}let u=[{id:"all",label:"All",desc:"All files"},{id:"hottest",label:"\uD83D\uDD25 Hot",desc:"Heat ≥ 10"},{id:"routes",label:"\uD83D\uDCC4 Routes",desc:"Pages & API"},{id:"core-libs",label:"\uD83D\uDCE6 Core",desc:"≥ 5 importers"},{id:"api-surface",label:"\uD83D\uDD0C API",desc:"API routes"},{id:"state-heavy",label:"⚡ State",desc:"≥ 10 hooks"}];function f(e,t,s,l){return t?e.id===t.id?"selected":s?.imports.has(e.path)?"imports":s?.importedBy.has(e.path)?"importedBy":"unrelated":"all"===l||b(e,l)?"normal":"dimmed"}function g(e){return e>=50?"rgba(239,68,68,0.9)":e>=30?"rgba(249,115,22,0.8)":e>=15?"rgba(234,179,8,0.7)":e>=5?"rgba(59,130,246,0.6)":"rgba(71,85,105,0.5)"}function j(e,t){let s=parseInt(e.slice(1,3),16),l=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return`rgba(${s},${l},${a},${t})`}let N={selected:{bg:"rgba(37,99,235,0.65)",border:"#60a5fa",opacity:1,shadow:"0 0 0 2px rgba(96,165,250,0.4)"},imports:{bg:"rgba(245,158,11,0.35)",border:"#fb923c",opacity:1,shadow:"0 0 0 1.5px rgba(251,146,60,0.3)"},importedBy:{bg:"rgba(6,182,212,0.35)",border:"#22d3ee",opacity:1,shadow:"0 0 0 1.5px rgba(34,211,238,0.3)"},unrelated:{bg:"",border:"",opacity:.14},dimmed:{bg:"",border:"",opacity:.18},normal:{bg:"",border:"",opacity:1}};function y({file:e,role:t,colorMode:s,onHover:a,onClick:r}){let n=e.metrics.heatScore,o=N[t],i=(0,d.TR)(e.coverage),c="neutral"===s,x="coverage"===s,p=o.bg||(c?"rgba(30,41,59,0.55)":x?null!=i?j(d.Vt[(0,d.NU)(i)],.55):"rgba(71,85,105,0.25)":n>=50?"rgba(239,68,68,0.7)":n>=30?"rgba(249,115,22,0.6)":n>=15?"rgba(234,179,8,0.5)":n>=5?"rgba(59,130,246,0.4)":"rgba(71,85,105,0.25)"),m=o.border||(c?"#334155":x?null!=i?j(d.Vt[(0,d.NU)(i)],.85):"rgba(71,85,105,0.5)":g(n)),h=x?null!=i?`${i.toFixed(0)}%`:"?":n.toFixed(0),b=c?"#64748b":x?null!=i?d.Vt[(0,d.NU)(i)]:"#64748b":void 0,u=(e.stateComplexity?.hookCounts.total??0)>=10,f=!!e.docSummary||!!e.explainability?.primaryDocBlock,v=(e.explainability?.matchedConfigIdsInCode?.length??0)>0||(e.explainability?.matchedTableNamesInCode?.length??0)>0,w=e.path.split("/").pop()??e.path,k=`${e.path}
|
|
2
|
-
Heat: ${n.toFixed(1)}${null!=i?`
|
|
3
|
-
Coverage: ${i.toFixed(0)}%`:""}`;return(0,l.jsxs)("button",{onClick:r,onMouseEnter:()=>a(e),onMouseLeave:()=>a(null),title:k,style:{background:p,border:`1.5px solid ${m}`,opacity:o.opacity,boxShadow:o.shadow,transition:"opacity 0.12s"},className:"w-[68px] h-[52px] rounded flex flex-col items-start justify-between p-1.5 cursor-pointer hover:brightness-125 text-left overflow-hidden shrink-0",children:[(0,l.jsx)("span",{className:"text-[9px] font-mono text-slate-200 block w-full truncate font-medium",children:w}),(0,l.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,l.jsx)("span",{className:"text-[8px] font-mono text-slate-300",style:b?{color:b,fontWeight:c?400:700}:void 0,children:h}),u&&(0,l.jsx)("span",{style:{fontSize:7},children:"⚡"}),f&&(0,l.jsx)("span",{style:{fontSize:7,opacity:.7},children:"\uD83D\uDDD2"}),v&&(0,l.jsx)("span",{style:{fontSize:7},children:"\uD83C\uDFAF"})]})]})}function v({file:e,role:t,colorMode:s,onHover:a,onClick:r}){let n=e.screenInfo,o=n?.label??e.path.split("/").pop()??e.path,i=N[t],c=e.metrics.heatScore,x=(0,d.TR)(e.coverage),p="neutral"===s,m="coverage"===s,h=i.bg||(p?"rgba(30,41,59,0.55)":m&&null!=x?j(d.Vt[(0,d.NU)(x)],.1):"rgba(30,41,59,0.7)"),b=i.border||(p?"#334155":m&&null!=x?j(d.Vt[(0,d.NU)(x)],.6):"#475569");return(0,l.jsxs)("button",{onClick:r,onMouseEnter:()=>a(e),onMouseLeave:()=>a(null),style:{background:h,border:`1.5px solid ${b}`,opacity:i.opacity,boxShadow:i.shadow},className:"w-[140px] rounded-lg p-2 flex flex-col gap-1 cursor-pointer hover:brightness-110 transition-all text-left",children:[(0,l.jsx)("div",{className:"flex items-start gap-1",children:(0,l.jsx)("span",{className:"text-[11px] font-semibold text-slate-100 leading-tight flex-1 line-clamp-2",children:o})}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1",children:[n?.screenKind&&"unknown"!==n.screenKind&&"page"!==n.screenKind&&(0,l.jsx)("span",{className:`text-[8px] px-1.5 py-0.5 rounded font-medium ${{dashboard:"bg-blue-900/40 text-blue-300",admin:"bg-slate-700/60 text-slate-300",chat:"bg-green-900/40 text-green-300",form:"bg-yellow-900/40 text-yellow-300",builder:"bg-orange-900/40 text-orange-300",settings:"bg-violet-900/40 text-violet-300"}[n.screenKind]??"bg-slate-700/50 text-slate-300"}`,children:n.screenKind}),n?.uiPatterns?.slice(0,2).map(e=>(0,l.jsx)("span",{className:"text-[8px] bg-slate-700/50 text-slate-400 px-1 rounded",children:e},e))]}),(0,l.jsxs)("div",{className:"flex items-center justify-between",children:[p?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-[8px] font-mono opacity-45 text-slate-400",children:["\uD83D\uDD25",c.toFixed(0)]}),null!=x&&(0,l.jsxs)("span",{className:"text-[8px] font-mono opacity-45 text-slate-400",children:["\uD83E\uDDEA",x.toFixed(0),"%"]})]}):m?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-[8px] font-mono font-semibold",style:{color:null!=x?d.Vt[(0,d.NU)(x)]:"#64748b"},children:["\uD83E\uDDEA",null!=x?`${x.toFixed(0)}%`:"—"]}),(0,l.jsxs)("span",{className:"text-[8px] font-mono opacity-45",style:{color:g(c)},children:["\uD83D\uDD25",c.toFixed(0)]})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-[8px] font-mono font-semibold",style:{color:g(c)},children:["\uD83D\uDD25",c.toFixed(0)]}),null!=x&&(0,l.jsxs)("span",{className:"text-[8px] font-mono opacity-55",style:{color:d.Vt[(0,d.NU)(x)]},children:["\uD83E\uDDEA",x.toFixed(0),"%"]})]}),n?.dataSources?.slice(0,2).map(e=>(0,l.jsx)("span",{className:"text-[8px] text-slate-600",children:"supabase"===e?"\uD83D\uDDC4":"http-fetch"===e?"\uD83C\uDF10":"\uD83D\uDCE1"},e))]}),(0,l.jsx)("div",{className:"h-0.5 rounded-full bg-slate-800 overflow-hidden mt-0.5",children:p?null:m?(0,l.jsx)("div",{className:"h-full rounded-full",style:{width:null!=x?`${Math.min(100,x)}%`:"0%",backgroundColor:null!=x?d.Vt[(0,d.NU)(x)]:"#334155"}}):(0,l.jsx)("div",{className:"h-full rounded-full",style:{width:`${Math.min(100,c)}%`,backgroundColor:g(c)}})})]})}function w({zone:e,preset:t,selected:s,neighborhood:r,colorMode:n,onSelectFile:o,onHover:i}){let[c,x]=(0,a.useState)(!0),d=e.subZones.flatMap(e=>e.files),p=d.filter(e=>"page"===e.nextFileKind||"layout"===e.nextFileKind),m=s?d.filter(e=>r?.imports.has(e.path)).length:0,h=s?d.filter(e=>r?.importedBy.has(e.path)).length:0;return(0,l.jsxs)("div",{className:"rounded-xl overflow-hidden border border-slate-700/50",style:{borderLeft:`3px solid ${e.color}`},children:[(0,l.jsxs)("button",{onClick:()=>x(e=>!e),className:"w-full bg-slate-900/60 px-4 py-2.5 flex items-center gap-2 hover:bg-slate-900/80 transition-colors",children:[(0,l.jsx)("span",{children:e.icon}),(0,l.jsx)("span",{className:"text-xs font-semibold font-mono",style:{color:e.color},children:e.label}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-400",children:[d.length," files"]}),p.length>0&&(0,l.jsxs)("span",{className:"text-[10px] text-slate-500",children:["\xb7 ",p.length," screens"]}),m>0&&(0,l.jsxs)("span",{className:"text-[9px] bg-amber-900/40 text-amber-300 border border-amber-700/40 px-1.5 py-0.5 rounded ml-1",children:["← ",m]}),h>0&&(0,l.jsxs)("span",{className:"text-[9px] bg-cyan-900/40 text-cyan-300 border border-cyan-700/40 px-1.5 py-0.5 rounded ml-1",children:["→ ",h]}),(0,l.jsx)("span",{className:"ml-auto text-slate-600 text-xs",children:c?"▾":"▸"})]}),c&&(0,l.jsxs)("div",{className:"p-3 bg-slate-900/30 space-y-3",children:[p.length>0&&(0,l.jsxs)("div",{children:[(0,l.jsx)("p",{className:"text-[10px] text-slate-400 font-semibold mb-2 uppercase tracking-wide",children:"Screens"}),(0,l.jsx)("div",{className:"flex flex-wrap gap-2",children:p.map(e=>(0,l.jsx)(v,{file:e,role:f(e,s,r,t),colorMode:n,onHover:i,onClick:()=>o(e)},e.id))})]}),e.subZones.map(e=>{let a=e.files.filter(e=>"page"!==e.nextFileKind&&"layout"!==e.nextFileKind);return a.length?(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-[10px] text-slate-400 mb-1.5 flex items-center gap-1.5",children:[(0,l.jsx)("span",{className:"font-medium",children:e.label}),(0,l.jsxs)("span",{className:"text-slate-600",children:["(",e.files.length,")"]})]}),(0,l.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[a.sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,20).map(e=>(0,l.jsx)(y,{file:e,role:f(e,s,r,t),colorMode:n,onHover:i,onClick:()=>o(e)},e.id)),a.length>20&&(0,l.jsxs)("span",{className:"text-[9px] text-slate-600 self-center",children:["+",a.length-20]})]})]},e.key):null})]})]})}function k({file:e}){return(0,l.jsxs)("div",{className:"shrink-0 border-t border-slate-800 bg-slate-900/60 px-3 py-1.5 flex items-center gap-3 flex-wrap",children:[(0,l.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate max-w-[240px]",children:e.path}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-400",children:["\uD83D\uDD25",e.metrics.heatScore.toFixed(1)]}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-500",children:["←",e.metrics.incomingRuntimeDeps]}),(e.stateComplexity?.hookCounts.total??0)>0&&(0,l.jsxs)("span",{className:"text-[10px] text-slate-500",children:["⚡",e.stateComplexity.hookCounts.total]}),e.screenInfo?.label&&(0,l.jsx)("span",{className:"text-[10px] text-slate-500",children:e.screenInfo.label})]})}function S({files:e,selected:t,colorMode:s="neutral",onSelect:r}){let[n,o]=(0,a.useState)("all"),[i,c]=(0,a.useState)(null),x=(0,a.useMemo)(()=>(function(e){let t=new Map;for(let s of e){let e=s.path.split("/")[0]??"(root)",l=t.get(e)??[];l.push(s),t.set(e,l)}let s=0;return Array.from(t.entries()).filter(([,e])=>e.length>0).map(([e,t])=>{let l=new Map;for(let e of t){let t=e.path.split("/"),s=t.length>2?t[1]:"__root__",a=l.get(s)??[];a.push(e),l.set(s,a)}let a=Array.from(l.entries()).filter(([,e])=>e.length>0).map(([t,s])=>({key:`${e}/${t}`,label:"__root__"===t?e:t,files:s,...p(s)})).sort((e,t)=>t.avgHeat-e.avgHeat);return{key:e,label:`${e}/`,icon:h[e]??"\uD83D\uDCC1",color:m[s++%m.length],subZones:a,...p(t)}}).sort((e,t)=>t.avgHeat-e.avgHeat)})(e),[e]),d=(0,a.useMemo)(()=>t?{imports:new Set(t.runtimeInternalImports??[]),importedBy:new Set(t.incomingInternalDependencies??[])}:null,[t]),f="all"===n?e.length:e.filter(e=>b(e,n)).length,g=i??t,j="neutral"===s,N="coverage"===s;return(0,l.jsxs)("div",{className:"flex flex-col h-full min-h-0 bg-slate-950",children:[(0,l.jsxs)("div",{className:"shrink-0 border-b border-slate-800 px-3 py-2 flex items-center gap-2 flex-wrap",children:[(0,l.jsx)("span",{className:"text-[11px] text-slate-400 font-mono font-semibold",children:"◻ Zones"}),(0,l.jsx)("span",{className:`text-[9px] font-mono px-1.5 py-0.5 rounded border ${j?"bg-slate-900/80 border-slate-600/60 text-slate-400":N?"bg-blue-950/80 border-blue-700/60 text-blue-300":"bg-orange-950/80 border-orange-700/60 text-orange-300"}`,children:j?"⬡ Neutral":N?"\uD83E\uDDEA Coverage":"\uD83D\uDD25 Heat"}),t&&(0,l.jsxs)("span",{className:"text-[10px] text-slate-500",children:[(0,l.jsx)("span",{className:"text-slate-300",children:t.path.split("/").pop()})," ","← ",(0,l.jsx)("span",{className:"text-amber-400",children:d?.imports.size??0})," ","→ ",(0,l.jsx)("span",{className:"text-cyan-400",children:d?.importedBy.size??0})]}),(0,l.jsxs)("div",{className:"ml-auto flex items-center gap-1 flex-wrap",children:[(0,l.jsx)("span",{className:"text-[10px] text-slate-500",children:"Filter:"}),u.map(e=>(0,l.jsx)("button",{onClick:()=>o(e.id),title:e.desc,className:`text-[9px] px-1.5 py-0.5 rounded transition-colors ${n===e.id?"bg-amber-900/50 text-amber-300 border border-amber-700/50":"text-slate-500 hover:text-slate-300"}`,children:e.label},e.id))]})]}),"all"!==n&&(0,l.jsx)("div",{className:"shrink-0 px-3 py-1 bg-amber-950/20 border-b border-amber-900/30",children:(0,l.jsxs)("span",{className:"text-[10px] text-amber-400",children:[u.find(e=>e.id===n).label," \xb7 ",f," files"]})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-3",children:[x.map(e=>(0,l.jsx)(w,{zone:e,preset:n,selected:t,neighborhood:d,colorMode:s,onSelectFile:r,onHover:c},e.key)),(0,l.jsxs)("div",{className:"flex items-center gap-3 pt-1 flex-wrap px-1",children:[j?(0,l.jsx)("span",{className:"text-[9px] text-slate-600 italic",children:"⬡ Structure view — metrics shown as secondary badges only"}):N?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[9px] text-slate-600",children:"Coverage:"}),[["< 50","#f87171"],["50–79","#facc15"],["≥ 80","#4ade80"]].map(([e,t])=>(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,l.jsx)("div",{className:"w-3 h-3 rounded-sm",style:{background:t,opacity:.75}}),(0,l.jsxs)("span",{className:"text-[9px] text-slate-500",children:[e,"%"]})]},e)),(0,l.jsx)("span",{className:"text-[9px] text-slate-600 ml-1",children:"slate = no data"})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[9px] text-slate-600",children:"Heat:"}),[["< 5","rgba(71,85,105,0.5)"],["5–15","rgba(59,130,246,0.6)"],["15–30","rgba(234,179,8,0.7)"],["30+","rgba(249,115,22,0.8)"]].map(([e,t])=>(0,l.jsxs)("div",{className:"flex items-center gap-1",children:[(0,l.jsx)("div",{className:"w-3 h-3 rounded-sm",style:{background:t}}),(0,l.jsx)("span",{className:"text-[9px] text-slate-500",children:e})]},e))]}),t&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"text-[9px] text-amber-400/70 ml-1",children:"amber = imports"}),(0,l.jsx)("span",{className:"text-[9px] text-cyan-400/70",children:"cyan = importedBy"})]})]})]}),g&&(0,l.jsx)(k,{file:g})]})}var C=s(70238),F=s(71602);function M(){let{data:e,setData:t,loading:s,error:d,outdated:p,setOutdated:m,target:h,isDemo:b,isProGated:u,reload:f}=(0,r.W)(),[g,j]=(0,n.a)(),[N,y]=(0,a.useState)(null),[v,w]=(0,a.useState)("heat"),k=(0,a.useMemo)(()=>{if(!e)return[];let t=new Map;for(let s of e.files){let e=s.path.split("/")[0]??"(root)",l=t.get(e)??[];l.push(s),t.set(e,l)}return Array.from(t.entries()).map(([e,t])=>{let s=Math.round(t.reduce((e,t)=>e+t.metrics.heatScore,0)/t.length),l=t.some(e=>e.isCyclic);return{zone:e,count:t.length,avgHeat:s,hasCycle:l}}).sort((e,t)=>t.avgHeat-e.avgHeat)},[e]),M=(0,l.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[b&&(0,l.jsx)(i.y,{}),(0,l.jsx)(o.F,{target:h,outdated:p,onRescan:function(e){e&&(t(e),m(!1))},hideRescan:b||u,viewMode:g,onViewModeChange:j}),s&&(0,l.jsx)(C.Dk,{}),!s&&d&&(0,l.jsx)(F.f,{message:d,onRetry:f}),!s&&!d&&!e&&(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,l.jsx)("span",{className:"text-5xl",children:"\uD83D\uDDFA️"}),(0,l.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,l.jsx)("p",{className:"text-sm text-slate-500 max-w-sm",children:"Run ↺ Rescan above to generate a blueprint."})]}),!s&&!d&&e&&(0,l.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,l.jsx)("div",{className:"flex-1 overflow-hidden",children:"simple"===g?(0,l.jsxs)("div",{className:"flex flex-col h-full overflow-y-auto px-6 py-4 gap-3",children:[(0,l.jsxs)("p",{className:"text-xs text-slate-500",children:["Your codebase is divided into ",k.length," zones. Higher heat means more cross-zone dependencies."]}),(0,l.jsx)("div",{className:"flex flex-col gap-2",children:k.map(({zone:e,count:t,avgHeat:s,hasCycle:a})=>{let r=s>=60?"rgb(248,113,113)":s>=35?"rgb(251,191,36)":"rgb(52,211,153)",n=Math.round(s/100*100);return(0,l.jsxs)("div",{className:"flex items-center gap-4 px-4 py-3 rounded-xl",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.35)"},children:[(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,l.jsx)("span",{className:"text-sm font-semibold text-slate-300 truncate",children:e}),a&&(0,l.jsx)("span",{className:"text-[10px] font-bold px-1.5 py-0.5 rounded flex-shrink-0",style:{background:"rgba(248,113,113,0.15)",color:"rgb(248,113,113)"},children:"circular dep"})]}),(0,l.jsx)("div",{className:"h-1.5 rounded-full w-full",style:{background:"rgba(51,65,85,0.4)"},children:(0,l.jsx)("div",{className:"h-1.5 rounded-full transition-all",style:{width:`${n}%`,background:r}})})]}),(0,l.jsxs)("div",{className:"flex flex-col items-end flex-shrink-0",children:[(0,l.jsx)("span",{className:"text-sm font-semibold font-mono",style:{color:r},children:s}),(0,l.jsxs)("span",{className:"text-[10px] text-slate-600",children:[t," files"]})]})]},e)})})]}):(0,l.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,l.jsx)("div",{className:"shrink-0 flex items-center gap-1 px-3 py-1.5 border-b border-slate-800/60",children:["neutral","heat","coverage"].map(e=>(0,l.jsx)("button",{onClick:()=>w(e),className:"text-[10px] font-mono px-2 py-0.5 rounded transition-colors",style:{background:v===e?"rgba(59,130,246,0.2)":"rgba(30,41,59,0.5)",color:v===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${v===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:e},e))}),(0,l.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:(0,l.jsx)(S,{files:e.files,selected:N,colorMode:v,onSelect:e=>y(t=>t?.id===e.id?null:e)})})]})}),N&&(0,l.jsx)(x.N,{file:N,allFiles:e.files,target:h,onClose:()=>y(null),onSelectFile:t=>{let s=e?.files.find(e=>e.path===t);s&&y(s)}})]})]});return u?(0,l.jsx)(c.e,{children:M}):M}}},e=>{e.O(0,[8500,8110,6828,2069,1385,6901,8441,3794,7358],()=>e(e.s=54346)),_N_E=e.O()}]);
|