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 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1366],{38665:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>v});var l=s(95155),r=s(12115),a=s(98500),o=s.n(a),n=s(3846),i=s(63935),d=s(71602);function c(e){let[t,s]=(0,r.useState)([]),[l,a]=(0,r.useState)(!1),o=(0,r.useCallback)(async()=>{if(e){a(!0);try{let t=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`),l=await t.json();s(l.todos??[])}catch{}finally{a(!1)}}},[e]);(0,r.useEffect)(()=>{o()},[o]);let n=(0,r.useCallback)(async t=>{let l=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}),r=await l.json();return r.duplicate||s(e=>[r.todo,...e]),{todo:r.todo,duplicate:!!r.duplicate}},[e]);return{todos:t,loading:l,addTodo:n,updateStatus:(0,r.useCallback)(async(t,l)=>{let r=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({id:t,status:l})}),a=await r.json();s(e=>e.map(e=>e.id===t?a.todo:e))},[e]),removeTodo:(0,r.useCallback)(async t=>{await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}&id=${encodeURIComponent(t)}`,{method:"DELETE"}),s(e=>e.filter(e=>e.id!==t))},[e]),reload:o}}let x={open:"Open",in_progress:"In progress",done:"Done"},p={open:"in_progress",in_progress:"done",done:null},u={open:"rgb(100,116,139)",in_progress:"rgb(251,191,36)",done:"rgb(52,211,153)"},m={cycle:"↺",coverage:"\uD83E\uDDEA",hotspot:"\uD83D\uDD25",complexity:"⚙",custom:"\uD83D\uDCCC"},g={critical:"rgb(248,113,113)",high:"rgb(251,146,60)",medium:"rgb(250,204,21)",low:"rgb(100,116,139)"};function b({target:e,onClose:t}){let{todos:s,loading:a,addTodo:o,updateStatus:n,removeTodo:i}=c(e),[d,f]=(0,r.useState)("all"),[h,y]=(0,r.useState)(!1),[j,N]=(0,r.useState)(""),[v,k]=(0,r.useState)(""),[w,C]=(0,r.useState)(!1),[S,$]=(0,r.useState)(null),T="all"===d?s:s.filter(e=>e.status===d),R=s.filter(e=>"done"!==e.status).length;async function O(){if(!j.trim())return;C(!0);let{duplicate:e}=await o({kind:"custom",title:j.trim(),description:v.trim()});C(!1),N(""),k(""),y(!1),e&&($("Already tracked"),setTimeout(()=>$(null),2e3))}async function E(e){let t=p[e.status];t&&await n(e.id,t)}return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-end sm:items-center justify-center",style:{background:"rgba(2,6,23,0.75)",backdropFilter:"blur(4px)"},onClick:e=>{e.target===e.currentTarget&&t()},children:(0,l.jsxs)("div",{className:"flex flex-col w-full max-w-xl rounded-t-2xl sm:rounded-2xl overflow-hidden",style:{background:"#0d111c",border:"1px solid rgba(51,65,85,0.5)",maxHeight:"85vh",boxShadow:"0 8px 40px rgba(0,0,0,0.7)"},children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"text-sm font-semibold text-slate-200",children:"\uD83D\uDCCB TODOs"}),R>0&&(0,l.jsxs)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-full bg-blue-900/50 text-blue-300 border border-blue-800/40",children:[R," open"]}),S&&(0,l.jsx)("span",{className:"text-[10px] text-amber-400 font-mono",children:S})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("button",{onClick:()=>y(e=>!e),className:"text-[11px] px-2.5 py-1 rounded-md font-semibold transition-colors",style:{background:"rgba(59,130,246,0.15)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.3)"},children:"+ Add"}),(0,l.jsx)("button",{onClick:t,className:"text-slate-500 hover:text-slate-300 transition-colors text-lg leading-none",children:"✕"})]})]}),h&&(0,l.jsxs)("div",{className:"px-5 py-3 border-b flex flex-col gap-2",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(15,23,42,0.5)"},children:[(0,l.jsx)("input",{autoFocus:!0,value:j,onChange:e=>N(e.target.value),placeholder:"Issue title…",className:"w-full bg-slate-900/70 border border-slate-700/60 rounded-md px-3 py-1.5 text-xs text-slate-200 placeholder-slate-600 outline-none focus:border-blue-600/50",onKeyDown:e=>{"Enter"===e.key&&O(),"Escape"===e.key&&y(!1)}}),(0,l.jsx)("textarea",{value:v,onChange:e=>k(e.target.value),placeholder:"Description (optional)…",rows:2,className:"w-full bg-slate-900/70 border border-slate-700/60 rounded-md px-3 py-1.5 text-xs text-slate-300 placeholder-slate-600 outline-none focus:border-blue-600/50 resize-none"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)("button",{onClick:()=>void O(),disabled:w||!j.trim(),className:"px-3 py-1 rounded-md text-[11px] font-semibold 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:w?"Saving…":"Save"}),(0,l.jsx)("button",{onClick:()=>y(!1),className:"px-3 py-1 rounded-md text-[11px] text-slate-500 hover:text-slate-300",children:"Cancel"})]})]}),(0,l.jsx)("div",{className:"flex gap-1 px-5 pt-3 pb-1 flex-shrink-0",children:["all","open","in_progress","done"].map(e=>{let t="all"===e?s.length:s.filter(t=>t.status===e).length;return(0,l.jsxs)("button",{onClick:()=>f(e),className:"text-[10px] px-2.5 py-1 rounded-md font-mono transition-colors",style:{background:d===e?"rgba(59,130,246,0.15)":"transparent",color:d===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${d===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:["all"===e?"All":x[e]," ",t>0&&`(${t})`]},e)})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-3 flex flex-col gap-2",children:[a&&(0,l.jsx)("p",{className:"text-xs text-slate-600 text-center py-6",children:"Loading…"}),!a&&0===T.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center py-10 gap-2 text-center",children:[(0,l.jsx)("span",{className:"text-3xl",children:"✓"}),(0,l.jsx)("p",{className:"text-xs text-slate-600",children:"all"===d?'No TODOs yet — add one above or use "+ TODO" on a Refactor suggestion.':`No ${d.replace("_"," ")} items.`})]}),T.map(e=>(0,l.jsxs)("div",{className:"rounded-xl p-3 flex flex-col gap-2",style:{background:"done"===e.status?"rgba(15,23,42,0.3)":"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.35)",opacity:"done"===e.status?.65:1},children:[(0,l.jsxs)("div",{className:"flex items-start gap-2",children:[(0,l.jsx)("span",{className:"text-sm flex-shrink-0",title:e.kind,children:m[e.kind]??"\uD83D\uDCCC"}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsx)("p",{className:`text-xs font-semibold leading-snug ${"done"===e.status?"line-through text-slate-500":"text-slate-200"}`,children:e.title}),e.description&&(0,l.jsx)("p",{className:"text-[11px] text-slate-500 mt-0.5 leading-relaxed",children:e.description}),e.files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[e.files.slice(0,3).map(e=>(0,l.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-slate-900/60 text-slate-500 border border-slate-700/30",children:e.split("/").pop()},e)),e.files.length>3&&(0,l.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono self-center",children:["+",e.files.length-3]})]})]}),(0,l.jsx)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:(0,l.jsx)("span",{className:"text-[9px] font-semibold px-1.5 py-0.5 rounded uppercase",style:{color:g[e.severity]??"#64748b",background:(g[e.severity]??"#64748b")+"18"},children:e.severity})})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 pl-6",children:[(0,l.jsxs)("button",{onClick:()=>void E(e),disabled:null===p[e.status],className:"text-[10px] font-mono px-2 py-0.5 rounded transition-colors disabled:cursor-default",style:{color:u[e.status],background:u[e.status]+"12",border:`1px solid ${u[e.status]}30`},children:[x[e.status],p[e.status]&&(0,l.jsx)("span",{className:"opacity-60 ml-1",children:"→"})]}),(0,l.jsx)("span",{className:"text-[9px] text-slate-700 font-mono ml-auto",children:new Date(e.createdAt).toLocaleDateString()}),(0,l.jsx)("button",{onClick:()=>void i(e.id),className:"text-[10px] text-slate-700 hover:text-red-400 transition-colors",title:"Remove",children:"✕"})]})]},e.id))]})]})})}let f={cycle:"↺",coverage:"\uD83E\uDDEA",hotspot:"\uD83D\uDD25",complexity:"⚙"},h={critical:"rgb(248,113,113)",high:"rgb(251,146,60)",medium:"rgb(250,204,21)",low:"rgb(100,116,139)"},y={critical:"rgba(239,68,68,0.1)",high:"rgba(251,146,60,0.1)",medium:"rgba(250,204,21,0.08)",low:"rgba(51,65,85,0.3)"};function j(){return(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,l.jsx)("div",{className:"w-8 h-8 rounded-full border-2 border-transparent animate-spin",style:{borderTopColor:"rgb(96,165,250)",borderRightColor:"rgba(96,165,250,0.3)"}}),(0,l.jsx)("p",{className:"text-xs text-slate-500 font-mono animate-pulse",children:"Analysing refactor opportunities…"})]})}function N({s:e,target:t}){let{addTodo:s}=c(t),[a,o]=(0,r.useState)("idle"),[n,i]=(0,r.useState)(null),[d,x]=(0,r.useState)(!1),p=(0,r.useCallback)(async()=>{if("generating"!==a){o("generating"),i(null);try{let s=await fetch("/api/blue/explorer/refactor/prompt",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({suggestion:e,target:t})}),l=await s.json();if(!s.ok||!l.prompt){o("error"),i(l.error??`Error ${s.status}`),setTimeout(()=>{o("idle"),i(null)},4e3);return}await navigator.clipboard.writeText(l.prompt),o("done"),setTimeout(()=>o("idle"),2500)}catch(e){o("error"),i(String(e).slice(0,120)),setTimeout(()=>{o("idle"),i(null)},4e3)}}},[e,t,a]),u=(0,r.useCallback)(async()=>{await s({kind:e.kind,severity:e.severity,title:e.title,description:e.description,files:e.files}),x(!0),setTimeout(()=>x(!1),2e3)},[e,s]),m="done"===a?"rgba(52,211,153,0.3)":"error"===a?"rgba(239,68,68,0.3)":"rgba(59,130,246,0.2)";return(0,l.jsxs)("div",{className:"flex flex-col gap-1 pl-10 pt-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("button",{onClick:()=>void p(),disabled:"generating"===a,title:"Call LLM to generate a complete, actionable Claude Code prompt",className:"text-[10px] font-mono px-2.5 py-1 rounded transition-all disabled:opacity-60",style:{background:"done"===a?"rgba(52,211,153,0.12)":"error"===a?"rgba(239,68,68,0.12)":"rgba(15,23,42,0.6)",color:"done"===a?"rgb(52,211,153)":"error"===a?"rgb(248,113,113)":"rgb(96,165,250)",border:`1px solid ${m}`},children:"generating"===a?"✦ Generating…":"done"===a?"✓ Copied!":"error"===a?"✗ Failed":"\uD83D\uDCCB Copy as Claude Code prompt"}),(0,l.jsx)("button",{onClick:()=>void u(),className:"text-[10px] font-mono px-2.5 py-1 rounded transition-all",style:{background:d?"rgba(52,211,153,0.12)":"rgba(15,23,42,0.6)",color:d?"rgb(52,211,153)":"rgb(100,116,139)",border:`1px solid ${d?"rgba(52,211,153,0.3)":"rgba(51,65,85,0.3)"}`},children:d?"✓ Added!":"+ TODO"})]}),n&&(0,l.jsx)("span",{className:"text-[10px] text-red-400/80 font-mono truncate max-w-xs pl-0.5",title:n,children:n})]})}function v(){let{data:e,setData:t,loading:s,error:a,outdated:c,setOutdated:x,target:p,reload:u}=(0,n.W)(),[m,g]=(0,r.useState)([]),[v,k]=(0,r.useState)(!1),[w,C]=(0,r.useState)(null),[S,$]=(0,r.useState)("all"),[T,R]=(0,r.useState)(!1),[O,E]=(0,r.useState)(!1);async function P(e){k(!0),C(null);try{let t=await fetch(`/api/blue/explorer/refactor?target=${encodeURIComponent(e)}`);if(!(t.headers.get("content-type")??"").includes("application/json"))return void C(`Server error (${t.status}): ${(await t.text()).slice(0,200)}`);let s=await t.json();t.ok?(g(s.suggestions??[]),R(!!s.derived)):C(s.error??`Error ${t.status}`)}catch(e){C(e instanceof Error?e.message:"Request failed")}finally{k(!1)}}(0,r.useEffect)(()=>{p&&e&&P(p)},[p,e]);let D="all"===S?m:m.filter(e=>e.kind===S),_={all:m.length,cycle:m.filter(e=>"cycle"===e.kind).length,hotspot:m.filter(e=>"hotspot"===e.kind).length,coverage:m.filter(e=>"coverage"===e.kind).length,complexity:m.filter(e=>"complexity"===e.kind).length};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[(0,l.jsx)(i.F,{target:p,outdated:c,onRescan:function(e){e&&(t(e),x(!1))}}),w&&(0,l.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:w}),(s||v)&&(0,l.jsx)(j,{}),!s&&a&&(0,l.jsx)(d.f,{message:a,onRetry:u}),!s&&!a&&!e&&(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,l.jsx)("span",{className:"text-4xl",children:"⚡"}),(0,l.jsx)("p",{className:"text-sm text-slate-500",children:"No blueprint yet. Run ↺ Rescan first."})]}),!s&&!v&&e&&(0,l.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[["all","cycle","hotspot","coverage"].map(e=>(0,l.jsxs)("button",{onClick:()=>$(e),className:"text-[10px] px-2.5 py-1 rounded capitalize flex items-center gap-1",style:{background:S===e?"rgba(59,130,246,0.15)":"rgba(15,23,42,0.4)",color:S===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${S===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:["all"!==e&&(0,l.jsx)("span",{children:f[e]}),e," ",void 0!==_[e]&&_[e]>0&&(0,l.jsxs)("span",{className:"opacity-60",children:["(",_[e],")"]})]},e)),(0,l.jsx)("div",{className:"flex-1"}),T&&(0,l.jsx)("span",{className:"text-[10px] font-mono text-slate-600",children:"✦ Derived from blueprint"}),(0,l.jsx)("button",{onClick:()=>E(!0),className:"text-[10px] font-mono px-2.5 py-1 rounded transition-colors",style:{background:"rgba(59,130,246,0.1)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.25)"},children:"\uD83D\uDCCB TODOs"})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[0===D.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-center",children:[(0,l.jsx)("span",{className:"text-4xl",children:"✓"}),(0,l.jsxs)("p",{className:"text-sm text-slate-400",children:["No ","all"!==S?S:""," issues found."]})]}),(0,l.jsx)("div",{className:"flex flex-col gap-3 max-w-3xl mx-auto",children:D.map(e=>(0,l.jsxs)("div",{className:"flex flex-col gap-2 p-4 rounded-xl",style:{background:y[e.severity],border:`1px solid ${h[e.severity]}33`},children:[(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)("span",{className:"text-sm w-7 h-7 rounded flex items-center justify-center flex-shrink-0",style:{background:`${h[e.severity]}18`,color:h[e.severity]},children:f[e.kind]}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,l.jsx)("span",{className:"text-[9px] font-mono font-bold px-1.5 py-0.5 rounded uppercase",style:{background:`${h[e.severity]}18`,color:h[e.severity]},children:e.severity}),(0,l.jsx)("span",{className:"text-xs font-semibold text-slate-200",children:e.title})]}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1 leading-relaxed",children:e.description})]})]}),e.files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 pl-10",children:[e.files.slice(0,4).map(e=>(0,l.jsx)(o(),{href:`/blue/explorer/file/${encodeURIComponent(e)}`,className:"text-[10px] font-mono px-2 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(15,23,42,0.7)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.2)"},children:e.split("/").pop()},e)),e.files.length>4&&(0,l.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono self-center",children:["+",e.files.length-4," more"]})]}),(0,l.jsx)(N,{s:e,target:p})]},e.id))})]})]})]}),O&&p&&(0,l.jsx)(b,{target:p,onClose:()=>E(!1)})]})}},71602:(e,t,s)=>{"use strict";s.d(t,{f:()=>r});var l=s(95155);function r({message:e,onRetry:t}){return(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",role:"alert",children:[(0,l.jsx)("span",{className:"text-5xl",children:"⚠️"}),(0,l.jsx)("h2",{className:"text-lg font-semibold text-red-300",children:"Couldn’t load architecture data"}),(0,l.jsxs)("p",{className:"text-sm text-slate-400 max-w-md",children:["The scan or blueprint load failed. This is ",(0,l.jsx)("em",{children:"not"})," an empty repo — something went wrong."]}),(0,l.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,l.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 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}})},95515:(e,t,s)=>{Promise.resolve().then(s.bind(s,38665))}},e=>{e.O(0,[8500,6828,8441,3794,7358],()=>e(e.s=95515)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1366],{38665:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>v});var l=s(95155),a=s(12115),r=s(98500),o=s.n(r),n=s(3846),i=s(68300),d=s(71602);function c(e){let[t,s]=(0,a.useState)([]),[l,r]=(0,a.useState)(!1),o=(0,a.useCallback)(async()=>{if(e){r(!0);try{let t=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`),l=await t.json();s(l.todos??[])}catch{}finally{r(!1)}}},[e]);(0,a.useEffect)(()=>{o()},[o]);let n=(0,a.useCallback)(async t=>{let l=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)}),a=await l.json();return a.duplicate||s(e=>[a.todo,...e]),{todo:a.todo,duplicate:!!a.duplicate}},[e]);return{todos:t,loading:l,addTodo:n,updateStatus:(0,a.useCallback)(async(t,l)=>{let a=await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({id:t,status:l})}),r=await a.json();s(e=>e.map(e=>e.id===t?r.todo:e))},[e]),removeTodo:(0,a.useCallback)(async t=>{await fetch(`/api/blue/explorer/todos?target=${encodeURIComponent(e)}&id=${encodeURIComponent(t)}`,{method:"DELETE"}),s(e=>e.filter(e=>e.id!==t))},[e]),reload:o}}let x={open:"Open",in_progress:"In progress",done:"Done"},p={open:"in_progress",in_progress:"done",done:null},u={open:"rgb(100,116,139)",in_progress:"rgb(251,191,36)",done:"rgb(52,211,153)"},m={cycle:"↺",coverage:"\uD83E\uDDEA",hotspot:"\uD83D\uDD25",complexity:"⚙",custom:"\uD83D\uDCCC"},g={critical:"rgb(248,113,113)",high:"rgb(251,146,60)",medium:"rgb(250,204,21)",low:"rgb(100,116,139)"};function b({target:e,onClose:t}){let{todos:s,loading:r,addTodo:o,updateStatus:n,removeTodo:i}=c(e),[d,f]=(0,a.useState)("all"),[h,y]=(0,a.useState)(!1),[j,N]=(0,a.useState)(""),[v,k]=(0,a.useState)(""),[w,C]=(0,a.useState)(!1),[S,$]=(0,a.useState)(null),O="all"===d?s:s.filter(e=>e.status===d),T=s.filter(e=>"done"!==e.status).length;async function R(){if(!j.trim())return;C(!0);let{duplicate:e}=await o({kind:"custom",title:j.trim(),description:v.trim()});C(!1),N(""),k(""),y(!1),e&&($("Already tracked"),setTimeout(()=>$(null),2e3))}async function E(e){let t=p[e.status];t&&await n(e.id,t)}return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-end sm:items-center justify-center",style:{background:"rgba(2,6,23,0.75)",backdropFilter:"blur(4px)"},onClick:e=>{e.target===e.currentTarget&&t()},children:(0,l.jsxs)("div",{className:"flex flex-col w-full max-w-xl rounded-t-2xl sm:rounded-2xl overflow-hidden",style:{background:"#0d111c",border:"1px solid rgba(51,65,85,0.5)",maxHeight:"85vh",boxShadow:"0 8px 40px rgba(0,0,0,0.7)"},children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("span",{className:"text-sm font-semibold text-slate-200",children:"\uD83D\uDCCB TODOs"}),T>0&&(0,l.jsxs)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded-full bg-blue-900/50 text-blue-300 border border-blue-800/40",children:[T," open"]}),S&&(0,l.jsx)("span",{className:"text-[10px] text-amber-400 font-mono",children:S})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("button",{onClick:()=>y(e=>!e),className:"text-[11px] px-2.5 py-1 rounded-md font-semibold transition-colors",style:{background:"rgba(59,130,246,0.15)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.3)"},children:"+ Add"}),(0,l.jsx)("button",{onClick:t,className:"text-slate-500 hover:text-slate-300 transition-colors text-lg leading-none",children:"✕"})]})]}),h&&(0,l.jsxs)("div",{className:"px-5 py-3 border-b flex flex-col gap-2",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(15,23,42,0.5)"},children:[(0,l.jsx)("input",{autoFocus:!0,value:j,onChange:e=>N(e.target.value),placeholder:"Issue title…",className:"w-full bg-slate-900/70 border border-slate-700/60 rounded-md px-3 py-1.5 text-xs text-slate-200 placeholder-slate-600 outline-none focus:border-blue-600/50",onKeyDown:e=>{"Enter"===e.key&&R(),"Escape"===e.key&&y(!1)}}),(0,l.jsx)("textarea",{value:v,onChange:e=>k(e.target.value),placeholder:"Description (optional)…",rows:2,className:"w-full bg-slate-900/70 border border-slate-700/60 rounded-md px-3 py-1.5 text-xs text-slate-300 placeholder-slate-600 outline-none focus:border-blue-600/50 resize-none"}),(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)("button",{onClick:()=>void R(),disabled:w||!j.trim(),className:"px-3 py-1 rounded-md text-[11px] font-semibold 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:w?"Saving…":"Save"}),(0,l.jsx)("button",{onClick:()=>y(!1),className:"px-3 py-1 rounded-md text-[11px] text-slate-500 hover:text-slate-300",children:"Cancel"})]})]}),(0,l.jsx)("div",{className:"flex gap-1 px-5 pt-3 pb-1 flex-shrink-0",children:["all","open","in_progress","done"].map(e=>{let t="all"===e?s.length:s.filter(t=>t.status===e).length;return(0,l.jsxs)("button",{onClick:()=>f(e),className:"text-[10px] px-2.5 py-1 rounded-md font-mono transition-colors",style:{background:d===e?"rgba(59,130,246,0.15)":"transparent",color:d===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${d===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:["all"===e?"All":x[e]," ",t>0&&`(${t})`]},e)})}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-3 flex flex-col gap-2",children:[r&&(0,l.jsx)("p",{className:"text-xs text-slate-600 text-center py-6",children:"Loading…"}),!r&&0===O.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center py-10 gap-2 text-center",children:[(0,l.jsx)("span",{className:"text-3xl",children:"✓"}),(0,l.jsx)("p",{className:"text-xs text-slate-600",children:"all"===d?'No TODOs yet — add one above or use "+ TODO" on a Refactor suggestion.':`No ${d.replace("_"," ")} items.`})]}),O.map(e=>(0,l.jsxs)("div",{className:"rounded-xl p-3 flex flex-col gap-2",style:{background:"done"===e.status?"rgba(15,23,42,0.3)":"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.35)",opacity:"done"===e.status?.65:1},children:[(0,l.jsxs)("div",{className:"flex items-start gap-2",children:[(0,l.jsx)("span",{className:"text-sm flex-shrink-0",title:e.kind,children:m[e.kind]??"\uD83D\uDCCC"}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsx)("p",{className:`text-xs font-semibold leading-snug ${"done"===e.status?"line-through text-slate-500":"text-slate-200"}`,children:e.title}),e.description&&(0,l.jsx)("p",{className:"text-[11px] text-slate-500 mt-0.5 leading-relaxed",children:e.description}),e.files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[e.files.slice(0,3).map(e=>(0,l.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-slate-900/60 text-slate-500 border border-slate-700/30",children:e.split("/").pop()},e)),e.files.length>3&&(0,l.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono self-center",children:["+",e.files.length-3]})]})]}),(0,l.jsx)("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:(0,l.jsx)("span",{className:"text-[9px] font-semibold px-1.5 py-0.5 rounded uppercase",style:{color:g[e.severity]??"#64748b",background:(g[e.severity]??"#64748b")+"18"},children:e.severity})})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2 pl-6",children:[(0,l.jsxs)("button",{onClick:()=>void E(e),disabled:null===p[e.status],className:"text-[10px] font-mono px-2 py-0.5 rounded transition-colors disabled:cursor-default",style:{color:u[e.status],background:u[e.status]+"12",border:`1px solid ${u[e.status]}30`},children:[x[e.status],p[e.status]&&(0,l.jsx)("span",{className:"opacity-60 ml-1",children:"→"})]}),(0,l.jsx)("span",{className:"text-[9px] text-slate-700 font-mono ml-auto",children:new Date(e.createdAt).toLocaleDateString()}),(0,l.jsx)("button",{onClick:()=>void i(e.id),className:"text-[10px] text-slate-700 hover:text-red-400 transition-colors",title:"Remove",children:"✕"})]})]},e.id))]})]})})}let f={cycle:"↺",coverage:"\uD83E\uDDEA",hotspot:"\uD83D\uDD25",complexity:"⚙"},h={critical:"rgb(248,113,113)",high:"rgb(251,146,60)",medium:"rgb(250,204,21)",low:"rgb(100,116,139)"},y={critical:"rgba(239,68,68,0.1)",high:"rgba(251,146,60,0.1)",medium:"rgba(250,204,21,0.08)",low:"rgba(51,65,85,0.3)"};function j(){return(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,l.jsx)("div",{className:"w-8 h-8 rounded-full border-2 border-transparent animate-spin",style:{borderTopColor:"rgb(96,165,250)",borderRightColor:"rgba(96,165,250,0.3)"}}),(0,l.jsx)("p",{className:"text-xs text-slate-500 font-mono animate-pulse",children:"Analysing refactor opportunities…"})]})}function N({s:e,target:t}){let{addTodo:s}=c(t),[r,o]=(0,a.useState)("idle"),[n,i]=(0,a.useState)(null),[d,x]=(0,a.useState)(!1),p=(0,a.useCallback)(async()=>{if("generating"!==r){o("generating"),i(null);try{let s=await fetch("/api/blue/explorer/refactor/prompt",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({suggestion:e,target:t})}),l=await s.json();if(!s.ok||!l.prompt){o("error"),i(l.error??`Error ${s.status}`),setTimeout(()=>{o("idle"),i(null)},4e3);return}await navigator.clipboard.writeText(l.prompt),o("done"),setTimeout(()=>o("idle"),2500)}catch(e){o("error"),i(String(e).slice(0,120)),setTimeout(()=>{o("idle"),i(null)},4e3)}}},[e,t,r]),u=(0,a.useCallback)(async()=>{await s({kind:e.kind,severity:e.severity,title:e.title,description:e.description,files:e.files}),x(!0),setTimeout(()=>x(!1),2e3)},[e,s]),m="done"===r?"rgba(52,211,153,0.3)":"error"===r?"rgba(239,68,68,0.3)":"rgba(59,130,246,0.2)";return(0,l.jsxs)("div",{className:"flex flex-col gap-1 pl-10 pt-1",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)("button",{onClick:()=>void p(),disabled:"generating"===r,title:"Call LLM to generate a complete, actionable Claude Code prompt",className:"text-[10px] font-mono px-2.5 py-1 rounded transition-all disabled:opacity-60",style:{background:"done"===r?"rgba(52,211,153,0.12)":"error"===r?"rgba(239,68,68,0.12)":"rgba(15,23,42,0.6)",color:"done"===r?"rgb(52,211,153)":"error"===r?"rgb(248,113,113)":"rgb(96,165,250)",border:`1px solid ${m}`},children:"generating"===r?"✦ Generating…":"done"===r?"✓ Copied!":"error"===r?"✗ Failed":"\uD83D\uDCCB Copy as Claude Code prompt"}),(0,l.jsx)("button",{onClick:()=>void u(),className:"text-[10px] font-mono px-2.5 py-1 rounded transition-all",style:{background:d?"rgba(52,211,153,0.12)":"rgba(15,23,42,0.6)",color:d?"rgb(52,211,153)":"rgb(100,116,139)",border:`1px solid ${d?"rgba(52,211,153,0.3)":"rgba(51,65,85,0.3)"}`},children:d?"✓ Added!":"+ TODO"})]}),n&&(0,l.jsx)("span",{className:"text-[10px] text-red-400/80 font-mono truncate max-w-xs pl-0.5",title:n,children:n})]})}function v(){let{data:e,setData:t,loading:s,error:r,outdated:c,setOutdated:x,target:p,reload:u}=(0,n.W)(),[m,g]=(0,a.useState)([]),[v,k]=(0,a.useState)(!1),[w,C]=(0,a.useState)(null),[S,$]=(0,a.useState)("all"),[O,T]=(0,a.useState)(!1),[R,E]=(0,a.useState)(!1);async function D(e){k(!0),C(null);try{let t=await fetch(`/api/blue/explorer/refactor?target=${encodeURIComponent(e)}`);if(!(t.headers.get("content-type")??"").includes("application/json"))return void C(`Server error (${t.status}): ${(await t.text()).slice(0,200)}`);let s=await t.json();t.ok?(g(s.suggestions??[]),T(!!s.derived)):C(s.error??`Error ${t.status}`)}catch(e){C(e instanceof Error?e.message:"Request failed")}finally{k(!1)}}(0,a.useEffect)(()=>{p&&e&&D(p)},[p,e]);let _="all"===S?m:m.filter(e=>e.kind===S),I={all:m.length,cycle:m.filter(e=>"cycle"===e.kind).length,hotspot:m.filter(e=>"hotspot"===e.kind).length,coverage:m.filter(e=>"coverage"===e.kind).length,complexity:m.filter(e=>"complexity"===e.kind).length};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("main",{className:"flex flex-col flex-1 pt-16 h-screen overflow-hidden",children:[(0,l.jsx)(i.F,{target:p,outdated:c,onRescan:function(e){e&&(t(e),x(!1))}}),w&&(0,l.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:w}),(s||v)&&(0,l.jsx)(j,{}),!s&&r&&(0,l.jsx)(d.f,{message:r,onRetry:u}),!s&&!r&&!e&&(0,l.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,l.jsx)("span",{className:"text-4xl",children:"⚡"}),(0,l.jsx)("p",{className:"text-sm text-slate-500",children:"No blueprint yet. Run ↺ Rescan first."})]}),!s&&!v&&e&&(0,l.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[["all","cycle","hotspot","coverage"].map(e=>(0,l.jsxs)("button",{onClick:()=>$(e),className:"text-[10px] px-2.5 py-1 rounded capitalize flex items-center gap-1",style:{background:S===e?"rgba(59,130,246,0.15)":"rgba(15,23,42,0.4)",color:S===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${S===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:["all"!==e&&(0,l.jsx)("span",{children:f[e]}),e," ",void 0!==I[e]&&I[e]>0&&(0,l.jsxs)("span",{className:"opacity-60",children:["(",I[e],")"]})]},e)),(0,l.jsx)("div",{className:"flex-1"}),O&&(0,l.jsx)("span",{className:"text-[10px] font-mono text-slate-600",children:"✦ Derived from blueprint"}),(0,l.jsx)("button",{onClick:()=>E(!0),className:"text-[10px] font-mono px-2.5 py-1 rounded transition-colors",style:{background:"rgba(59,130,246,0.1)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.25)"},children:"\uD83D\uDCCB TODOs"})]}),(0,l.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[0===_.length&&(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-center",children:[(0,l.jsx)("span",{className:"text-4xl",children:"✓"}),(0,l.jsxs)("p",{className:"text-sm text-slate-400",children:["No ","all"!==S?S:""," issues found."]})]}),(0,l.jsx)("div",{className:"flex flex-col gap-3 max-w-3xl mx-auto",children:_.map(e=>(0,l.jsxs)("div",{className:"flex flex-col gap-2 p-4 rounded-xl",style:{background:y[e.severity],border:`1px solid ${h[e.severity]}33`},children:[(0,l.jsxs)("div",{className:"flex items-start gap-3",children:[(0,l.jsx)("span",{className:"text-sm w-7 h-7 rounded flex items-center justify-center flex-shrink-0",style:{background:`${h[e.severity]}18`,color:h[e.severity]},children:f[e.kind]}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,l.jsx)("span",{className:"text-[9px] font-mono font-bold px-1.5 py-0.5 rounded uppercase",style:{background:`${h[e.severity]}18`,color:h[e.severity]},children:e.severity}),(0,l.jsx)("span",{className:"text-xs font-semibold text-slate-200",children:e.title})]}),(0,l.jsx)("p",{className:"text-xs text-slate-500 mt-1 leading-relaxed",children:e.description})]})]}),e.files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 pl-10",children:[e.files.slice(0,4).map(e=>(0,l.jsx)(o(),{href:`/blue/explorer/file/${encodeURIComponent(e)}`,className:"text-[10px] font-mono px-2 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(15,23,42,0.7)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.2)"},children:e.split("/").pop()},e)),e.files.length>4&&(0,l.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono self-center",children:["+",e.files.length-4," more"]})]}),(0,l.jsx)(N,{s:e,target:p})]},e.id))})]})]})]}),R&&p&&(0,l.jsx)(b,{target:p,onClose:()=>E(!1)})]})}},95515:(e,t,s)=>{Promise.resolve().then(s.bind(s,38665))}},e=>{e.O(0,[8500,4014,8441,3794,7358],()=>e(e.s=95515)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6989],{6378:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>u});var s=t(95155),a=t(72845);function u(){return(0,s.jsx)(a.o,{view:"wire"})}},72845:(e,r,t)=>{"use strict";t.d(r,{o:()=>n});var s=t(95155),a=t(12115),u=t(73321);function n({view:e}){let r=(0,u.useRouter)(),t=(0,u.useSearchParams)();return(0,a.useEffect)(()=>{var s;let a,u,n,i;r.replace((s=new URLSearchParams(t.toString()),a=new URLSearchParams,"list"!==e&&a.set("view",e),u=s.get("file"),n=s.get("target"),u&&a.set("file",u),n&&a.set("target",n),i=a.toString(),`/blue/explorer${i?`?${i}`:""}`))},[r,t,e]),(0,s.jsx)("div",{className:"flex min-h-screen items-center justify-center text-xs font-mono text-slate-600",children:"Opening Explorer…"})}},73321:(e,r,t)=>{"use strict";var s=t(74645);t.o(s,"useParams")&&t.d(r,{useParams:function(){return s.useParams}}),t.o(s,"usePathname")&&t.d(r,{usePathname:function(){return s.usePathname}}),t.o(s,"useRouter")&&t.d(r,{useRouter:function(){return s.useRouter}}),t.o(s,"useSearchParams")&&t.d(r,{useSearchParams:function(){return s.useSearchParams}})},79938:(e,r,t)=>{Promise.resolve().then(t.bind(t,6378))}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=79938)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4707],{42770:(e,r,t)=>{"use strict";t.r(r),t.d(r,{default:()=>u});var s=t(95155),a=t(72845);function u(){return(0,s.jsx)(a.o,{view:"zones"})}},54346:(e,r,t)=>{Promise.resolve().then(t.bind(t,42770))},72845:(e,r,t)=>{"use strict";t.d(r,{o:()=>n});var s=t(95155),a=t(12115),u=t(73321);function n({view:e}){let r=(0,u.useRouter)(),t=(0,u.useSearchParams)();return(0,a.useEffect)(()=>{var s;let a,u,n,o;r.replace((s=new URLSearchParams(t.toString()),a=new URLSearchParams,"list"!==e&&a.set("view",e),u=s.get("file"),n=s.get("target"),u&&a.set("file",u),n&&a.set("target",n),o=a.toString(),`/blue/explorer${o?`?${o}`:""}`))},[r,t,e]),(0,s.jsx)("div",{className:"flex min-h-screen items-center justify-center text-xs font-mono text-slate-600",children:"Opening Explorer…"})}},73321:(e,r,t)=>{"use strict";var s=t(74645);t.o(s,"useParams")&&t.d(r,{useParams:function(){return s.useParams}}),t.o(s,"usePathname")&&t.d(r,{usePathname:function(){return s.usePathname}}),t.o(s,"useRouter")&&t.d(r,{useRouter:function(){return s.useRouter}}),t.o(s,"useSearchParams")&&t.d(r,{useSearchParams:function(){return s.useSearchParams}})}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=54346)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[169,307,481,588,606,674,828,837,980,1035,1068,1292,1448,1491,1499,1526,2040,2164,2179,2237,2289,2337,2465,2571,2949,3067,3082,3327,3338,3488,3555,3729,3762,3784,3960,3964,4190,4198,4372,4539,4896,5143,5155,5218,5475,5544,5634,5739,5752,5856,5881,6004,6157,6664,6819,6829,6988,7320,7405,7685,7809,7851,8167,8183,8268,8434,8630,8648,8880,9014,9137,9479,9690],{6822:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=6822)),_N_E=_.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4027],{34644:(e,s,t)=>{Promise.resolve().then(t.bind(t,37440))},37440:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>p});var l=t(95155),a=t(12115),r=t(98500),n=t.n(r),c=t(74892),o=t(83851),i=t(50285),x=t(36664),d=t(72817);let m={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},u={background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.4)"};function h({label:e,value:s,accent:t}){return(0,l.jsxs)("div",{className:"rounded-lg px-4 py-3 flex flex-col gap-0.5",style:u,children:[(0,l.jsx)("span",{className:"text-xs text-slate-500 uppercase tracking-widest",children:e}),(0,l.jsx)("span",{className:"text-xl font-semibold font-mono",style:{color:t??"rgb(226,232,240)"},children:s})]})}function p(){let{tq:e,ready:s}=(0,o.e)(),{wq:t}=(0,i.V)(e),[r,p]=(0,a.useState)(null),[f,b]=(0,a.useState)(!1),[g,j]=(0,a.useState)(null);async function N(){b(!0),j(null);try{let s=await fetch(`/api/blue/scan${e}${t}`,{method:"POST"}),l=await s.json();if(!s.ok)throw Error(l.error??"Scan failed");p(l.scan)}catch(e){j(e instanceof Error?e.message:String(e))}finally{b(!1)}}return((0,a.useEffect)(()=>{s&&(j(null),fetch(`/api/blue/scan${e}${t}`).then(async e=>{let s=await e.json().catch(()=>null);if(!e.ok)throw Error(s&&"string"==typeof s.error&&s.error||`Failed to load scans (HTTP ${e.status})`);return s}).then(e=>p(e?.scan??null)).catch(e=>{j(e instanceof Error?e.message:"Failed to load scans")}))},[s,t]),(0,d._)())?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.PrismDock,{}),(0,l.jsx)(d.r,{botName:"BLUE",botColor:"rgb(96,165,250)",botTagline:"Sessions + Recommendations"})]}):(0,l.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,l.jsx)(c.PrismDock,{}),(0,l.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,l.jsxs)("div",{className:"w-full flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-xl font-semibold text-slate-100 tracking-tight",children:[(0,l.jsx)("span",{className:"font-mono text-blue-400",children:"BLUE"}),(0,l.jsx)("span",{className:"text-slate-400 text-sm font-normal ml-2",children:"Architecture Intelligence"})]}),r&&(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5 font-mono",children:["Last scan: ",new Date(r.created_at).toLocaleString()," \xb7 ",r.target]})]}),(0,l.jsx)("button",{onClick:N,disabled:f,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgb(59,130,246)",color:"#fff"},children:f?"Scanning…":r?"Re-scan":"Run scan"})]}),r?.loc_over_limit&&(0,l.jsxs)("div",{className:"w-full rounded-xl px-5 py-4 flex items-center justify-between gap-4",style:{background:"rgba(251,191,36,0.08)",border:"1px solid rgba(251,191,36,0.2)"},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-sm font-semibold text-amber-400",children:[r.loc?.toLocaleString()," LOC in this project"]}),(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:["Free tier covers ",x.jL.toLocaleString()," LOC. Partial analysis only."]})]}),(0,l.jsx)("span",{className:"text-xs font-bold px-2 py-1 rounded-full flex-shrink-0",style:{background:"rgba(251,191,36,0.15)",color:"rgb(251,191,36)",border:"1px solid rgba(251,191,36,0.3)"},children:"PRO"})]}),g&&(0,l.jsx)("div",{className:"w-full rounded-lg px-4 py-3 text-sm text-red-400 font-mono",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)"},children:g}),!r&&!f&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-3",style:m,children:[(0,l.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD35"}),(0,l.jsx)("p",{className:"text-slate-300 font-medium",children:"No scan yet"}),(0,l.jsx)("p",{className:"text-slate-500 text-sm",children:"Run your first scan to see import cycles, churn hotspots, and TODOs."})]}),r&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"w-full grid grid-cols-3 gap-3",children:[(0,l.jsx)(h,{label:"Files",value:r.file_count}),(0,l.jsx)(h,{label:"Cycles",value:r.cycle_count,accent:r.cycle_count>0?"rgb(248,113,113)":"rgb(52,211,153)"}),(0,l.jsx)(h,{label:"TODOs",value:r.todos.length,accent:"rgb(251,191,36)"})]}),r.cycle_count>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["Import Cycles (",r.cycle_count,")"]}),(0,l.jsx)("div",{className:"flex flex-col gap-2",children:r.cycle_groups.slice(0,5).map(e=>(0,l.jsxs)("div",{className:"rounded-lg px-3 py-2",style:u,children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,l.jsxs)("span",{className:"text-xs font-mono text-red-400",children:[e.size," files"]})}),e.paths.slice(0,3).map(e=>(0,l.jsx)("p",{className:"text-xs font-mono text-slate-400 truncate",children:e},e)),e.paths.length>3&&(0,l.jsxs)("p",{className:"text-xs text-slate-600",children:["+",e.paths.length-3," more"]})]},e.id))})]}),r.top_churned_files.length>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsx)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:"High-Churn Files (90d)"}),(0,l.jsx)("div",{className:"flex flex-col gap-1",children:r.top_churned_files.slice(0,8).map(e=>(0,l.jsxs)("div",{className:"flex items-center justify-between py-1 border-b",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,l.jsx)("span",{className:"text-xs font-mono text-slate-400 truncate flex-1",children:e.path}),(0,l.jsxs)("span",{className:"text-xs font-mono text-amber-400 ml-3 flex-shrink-0",children:[e.count_90d,"c"]})]},e.path))})]}),r.todos.length>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["TODOs / FIXMEs (",r.todos.length,")"]}),(0,l.jsx)("div",{className:"flex flex-col gap-1",children:r.todos.slice(0,6).map((e,s)=>(0,l.jsxs)("div",{className:"py-1 border-b",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,l.jsx)("p",{className:"text-xs font-mono text-amber-300 truncate",children:e.text}),(0,l.jsx)("p",{className:"text-xs text-slate-600 truncate",children:e.path})]},s))})]}),(0,l.jsx)("div",{className:"w-full grid grid-cols-2 gap-3",children:[{href:"/blue/recommendations",label:"Recommendations",icon:"\uD83D\uDCA1",color:"rgb(59,130,246)"},{href:"/blue/sessions",label:"Sessions",icon:"\uD83D\uDCAC",color:"rgb(99,102,241)"}].map(({href:e,label:s,icon:t,color:a})=>(0,l.jsxs)(n(),{href:e,className:"rounded-xl p-5 flex items-center gap-3 transition-all hover:brightness-110",style:{...m,borderColor:a+"40"},children:[(0,l.jsx)("span",{className:"text-2xl",children:t}),(0,l.jsx)("span",{className:"text-sm font-semibold",style:{color:a},children:s})]},e))})]})]}),(0,l.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,l.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4027],{34644:(e,s,t)=>{Promise.resolve().then(t.bind(t,37440))},37440:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>p});var l=t(95155),a=t(12115),r=t(98500),n=t.n(r),c=t(74892),o=t(83851),i=t(50285),x=t(36664),d=t(72817);let m={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},u={background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.4)"};function h({label:e,value:s,accent:t}){return(0,l.jsxs)("div",{className:"rounded-lg px-4 py-3 flex flex-col gap-0.5",style:u,children:[(0,l.jsx)("span",{className:"text-xs text-slate-500 uppercase tracking-widest",children:e}),(0,l.jsx)("span",{className:"text-xl font-semibold font-mono",style:{color:t??"rgb(226,232,240)"},children:s})]})}function p(){let{tq:e,ready:s}=(0,o.e)(),{wq:t}=(0,i.V)(e),[r,p]=(0,a.useState)(null),[f,b]=(0,a.useState)(!1),[g,j]=(0,a.useState)(null);async function N(){b(!0),j(null);try{let s=await fetch(`/api/blue/scan${e}${t}`,{method:"POST"}),l=await s.json();if(!s.ok)throw Error(l.error??"Scan failed");p(l.scan)}catch(e){j(e instanceof Error?e.message:String(e))}finally{b(!1)}}return((0,a.useEffect)(()=>{s&&(j(null),fetch(`/api/blue/scan${e}${t}`).then(async e=>{let s=await e.json().catch(()=>null);if(!e.ok)throw Error(s&&"string"==typeof s.error&&s.error||`Failed to load scans (HTTP ${e.status})`);return s}).then(e=>p(e?.scan??null)).catch(e=>{j(e instanceof Error?e.message:"Failed to load scans")}))},[s,t]),(0,d._)())?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.PrismDock,{}),(0,l.jsx)(d.r,{botName:"BLUE",botColor:"rgb(96,165,250)",botTagline:"Sessions + Recommendations"})]}):(0,l.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,l.jsx)(c.PrismDock,{}),(0,l.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,l.jsxs)("div",{className:"w-full flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("h1",{className:"text-xl font-semibold text-slate-100 tracking-tight",children:[(0,l.jsx)("span",{className:"font-mono text-blue-400",children:"BLUE"}),(0,l.jsx)("span",{className:"text-slate-400 text-sm font-normal ml-2",children:"Architecture Intelligence"})]}),r&&(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5 font-mono",children:["Last scan: ",new Date(r.created_at).toLocaleString()," \xb7 ",r.target]})]}),(0,l.jsx)("button",{onClick:N,disabled:f,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgb(59,130,246)",color:"#fff"},children:f?"Scanning…":r?"Re-scan":"Run scan"})]}),r?.loc_over_limit&&(0,l.jsxs)("div",{className:"w-full rounded-xl px-5 py-4 flex items-center justify-between gap-4",style:{background:"rgba(251,191,36,0.08)",border:"1px solid rgba(251,191,36,0.2)"},children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("p",{className:"text-sm font-semibold text-amber-400",children:[r.loc?.toLocaleString()," LOC in this project"]}),(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:["Free tier covers ",x.jL.toLocaleString()," LOC. Partial analysis only."]})]}),(0,l.jsx)("span",{className:"text-xs font-bold px-2 py-1 rounded-full flex-shrink-0",style:{background:"rgba(251,191,36,0.15)",color:"rgb(251,191,36)",border:"1px solid rgba(251,191,36,0.3)"},children:"PRO"})]}),g&&(0,l.jsx)("div",{className:"w-full rounded-lg px-4 py-3 text-sm text-red-400 font-mono",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)"},children:g}),!r&&!f&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-3",style:m,children:[(0,l.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD35"}),(0,l.jsx)("p",{className:"text-slate-300 font-medium",children:"No scan yet"}),(0,l.jsx)("p",{className:"text-slate-500 text-sm",children:"Run your first scan to see import cycles, churn hotspots, and TODOs."})]}),r&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{className:"w-full grid grid-cols-3 gap-3",children:[(0,l.jsx)(h,{label:"Files",value:r.file_count}),(0,l.jsx)(h,{label:"Cycles",value:r.cycle_count,accent:r.cycle_count>0?"rgb(248,113,113)":"rgb(52,211,153)"}),(0,l.jsx)(h,{label:"TODOs",value:r.todos.length,accent:"rgb(251,191,36)"})]}),r.cycle_count>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["Import Cycles (",r.cycle_count,")"]}),(0,l.jsx)("div",{className:"flex flex-col gap-2",children:r.cycle_groups.slice(0,5).map(e=>(0,l.jsxs)("div",{className:"rounded-lg px-3 py-2",style:u,children:[(0,l.jsx)("div",{className:"flex items-center gap-2 mb-1",children:(0,l.jsxs)("span",{className:"text-xs font-mono text-red-400",children:[e.size," files"]})}),e.paths.slice(0,3).map(e=>(0,l.jsx)("p",{className:"text-xs font-mono text-slate-400 truncate",children:e},e)),e.paths.length>3&&(0,l.jsxs)("p",{className:"text-xs text-slate-600",children:["+",e.paths.length-3," more"]})]},e.id))})]}),r.top_churned_files.length>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsx)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:"High-Churn Files (90d)"}),(0,l.jsx)("div",{className:"flex flex-col gap-1",children:r.top_churned_files.slice(0,8).map(e=>(0,l.jsxs)("div",{className:"flex items-center justify-between py-1 border-b",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,l.jsx)("span",{className:"text-xs font-mono text-slate-400 truncate flex-1",children:e.path}),(0,l.jsxs)("span",{className:"text-xs font-mono text-amber-400 ml-3 flex-shrink-0",children:[e.count_90d,"c"]})]},e.path))})]}),r.todos.length>0&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-5 flex flex-col gap-3",style:m,children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["TODOs / FIXMEs (",r.todos.length,")"]}),(0,l.jsx)("div",{className:"flex flex-col gap-1",children:r.todos.slice(0,6).map((e,s)=>(0,l.jsxs)("div",{className:"py-1 border-b",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,l.jsx)("p",{className:"text-xs font-mono text-amber-300 truncate",children:e.text}),(0,l.jsx)("p",{className:"text-xs text-slate-600 truncate",children:e.path})]},s))})]}),(0,l.jsx)("div",{className:"w-full grid grid-cols-2 gap-3",children:[{href:"/blue/recommendations",label:"Recommendations",icon:"\uD83D\uDCA1",color:"rgb(59,130,246)"},{href:"/blue/sessions",label:"Sessions",icon:"\uD83D\uDCAC",color:"rgb(99,102,241)"}].map(({href:e,label:s,icon:t,color:a})=>(0,l.jsxs)(n(),{href:e,className:"rounded-xl p-5 flex items-center gap-3 transition-all hover:brightness-110",style:{...m,borderColor:a+"40"},children:[(0,l.jsx)("span",{className:"text-2xl",children:t}),(0,l.jsx)("span",{className:"text-sm font-semibold",style:{color:a},children:s})]},e))})]})]}),(0,l.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,l.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.24.0"," \xb7 BLUE"]})]})}},73321:(e,s,t)=>{"use strict";var l=t(74645);t.o(l,"useParams")&&t.d(s,{useParams:function(){return l.useParams}}),t.o(l,"usePathname")&&t.d(s,{usePathname:function(){return l.usePathname}}),t.o(l,"useRouter")&&t.d(s,{useRouter:function(){return l.useRouter}}),t.o(l,"useSearchParams")&&t.d(s,{useSearchParams:function(){return l.useSearchParams}})}},e=>{e.O(0,[8500,3420,8441,3794,7358],()=>e(e.s=34644)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4270],{25479:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>g});var r=s(95155),l=s(12115),a=s(98500),n=s.n(a),o=s(74892);function i({rec:e,target:t,onClose:s,onStartSession:a}){let[n,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(!0),[x,p]=(0,l.useState)(null),[u,m]=(0,l.useState)(!1),b=(0,l.useRef)(null),g=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let s=new AbortController;return g.current=s,async function(){try{let r=await fetch("/api/blue/auto-execute",{method:"POST",headers:{"Content-Type":"application/json"},signal:s.signal,body:JSON.stringify({target:t,rec:{id:e.id,title:e.title,problem:e.problem,expected_impact:e.expected_impact,suggested_files:e.suggested_files,risk_level:e.risk_level}})});if(!r.ok){let e=await r.json().catch(()=>({}));p(e.error??"Request failed");return}if((r.headers.get("content-type")??"").includes("text/plain")&&r.body){let e=r.body.getReader(),t=new TextDecoder;for(;;){let{done:s,value:r}=await e.read();if(s)break;let l=t.decode(r,{stream:!0});o(e=>e+l),b.current&&(b.current.scrollTop=b.current.scrollHeight)}}else{let e=await r.text();o(e)}}catch(e){"AbortError"!==e.name&&p(String(e))}finally{d(!1)}}(),()=>s.abort()},[e.id,t]),(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.75)"},onClick:e=>{e.target===e.currentTarget&&s()},children:(0,r.jsxs)("div",{className:"flex flex-col rounded-2xl overflow-hidden",style:{background:"rgba(8,15,30,0.97)",border:"1px solid rgba(59,130,246,0.25)",boxShadow:"0 24px 80px rgba(0,0,0,0.7)",width:"min(720px, 95vw)",maxHeight:"85vh"},children:[(0,r.jsxs)("div",{className:"flex items-start gap-3 px-5 py-4 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded",style:{background:"rgba(251,191,36,0.15)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Auto-Execute"}),(0,r.jsxs)("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:[e.risk_level," risk"]})]}),(0,r.jsx)("h2",{className:"text-sm font-semibold text-slate-200 leading-snug truncate",children:e.title})]}),(0,r.jsx)("button",{onClick:s,className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 text-lg leading-none",children:"✕"})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col",children:[c&&0===n.length&&(0,r.jsxs)("div",{className:"flex items-center gap-2 px-5 py-3 flex-shrink-0",style:{background:"rgba(59,130,246,0.05)",borderBottom:"1px solid rgba(51,65,85,0.3)"},children:[(0,r.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin flex-shrink-0"}),(0,r.jsx)("span",{className:"text-[11px] text-slate-500",children:"Generating action plan…"})]}),x&&(0,r.jsx)("div",{className:"mx-4 mt-4 px-3 py-2 rounded-lg text-xs text-red-400 font-mono",style:{background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.25)"},children:x}),(0,r.jsxs)("pre",{ref:b,className:"flex-1 overflow-y-auto p-5 text-[12px] font-mono text-slate-300 whitespace-pre-wrap leading-relaxed",style:{minHeight:0},children:[n||(c?"":"(no output)"),c&&n.length>0&&(0,r.jsx)("span",{className:"inline-block w-1.5 h-4 bg-blue-400 animate-pulse ml-0.5 align-middle"})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(5,10,20,0.5)"},children:[(0,r.jsx)("button",{onClick:function(){navigator.clipboard.writeText(n).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},disabled:!n||c,className:"text-xs px-3 py-1.5 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(30,41,59,0.7)",color:"rgb(148,163,184)",border:"1px solid rgba(51,65,85,0.5)"},children:u?"✓ Copied":"\uD83D\uDCCB Copy plan"}),a&&(0,r.jsx)("button",{onClick:()=>{s(),a()},className:"text-xs px-3 py-1.5 rounded-lg font-medium transition-all",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"\uD83D\uDCAC Start session"}),(0,r.jsx)("button",{onClick:()=>{g.current?.abort(),s()},className:"text-xs px-3 py-1.5 rounded-lg font-medium ml-auto transition-all",style:{background:"rgba(239,68,68,0.1)",color:"rgb(252,165,165)",border:"1px solid rgba(239,68,68,0.25)"},children:c?"⏹ Stop":"Close"})]})]})})}function c({turn:e}){return(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)("div",{className:"max-w-xs rounded-xl rounded-tr-sm px-3 py-2 text-xs text-slate-200 leading-relaxed",style:{background:"rgba(59,130,246,0.15)",border:"1px solid rgba(59,130,246,0.25)"},children:e.prompt})}),e.response?(0,r.jsx)("div",{className:"flex justify-start",children:(0,r.jsxs)("div",{className:"max-w-xs rounded-xl rounded-tl-sm px-3 py-2 text-xs text-slate-300 leading-relaxed",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsx)("span",{className:"text-blue-400 font-mono mr-1.5",children:"✦"}),(0,r.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:e.response})]})}):(0,r.jsx)("div",{className:"flex justify-start",children:(0,r.jsxs)("div",{className:"rounded-xl rounded-tl-sm px-3 py-2 flex items-center gap-2",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}),(0,r.jsx)("span",{className:"text-xs text-slate-500",children:"Thinking…"})]})})]})}function d({recId:e,recTitle:t,target:s}){let[a,o]=(0,l.useState)(null),[i,x]=(0,l.useState)(!0),[p,u]=(0,l.useState)(!1),[m,b]=(0,l.useState)(""),[g,f]=(0,l.useState)(!1),[h,y]=(0,l.useState)(null),j=(0,l.useRef)(null),N=s?`?target=${encodeURIComponent(s)}`:"";async function k(){u(!0),y(null);try{let s=await fetch(`/api/blue/sessions${N}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:`Session: ${t}`,rec_id:e})}),r=await s.json();if(!s.ok)throw Error(r.error??"Failed to create session");o(r.session)}catch(e){y(e instanceof Error?e.message:String(e))}finally{u(!1)}}async function v(){if(!a||!m.trim()||g)return;let e=m.trim();b(""),f(!0),y(null),o(t=>t?{...t,turns:[...t.turns,{turn:t.turns.length+1,prompt:e,created_at:new Date().toISOString()}]}:t);try{let t=await fetch(`/api/blue/sessions/${a.id}${N}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e})}),s=await t.json();if(!t.ok)throw Error(s.error??"Failed to send");o(s.session)}catch(t){y(t instanceof Error?t.message:String(t));let e=await fetch(`/api/blue/sessions/${a.id}${N}`);if(e.ok){let{session:t}=await e.json();o(t)}}finally{f(!1)}}return(0,l.useEffect)(()=>{fetch(`/api/blue/sessions${N}`).then(e=>e.ok?e.json():{sessions:[]}).then(({sessions:t})=>{let s=t.find(t=>t.rec_id===e);if(s)return fetch(`/api/blue/sessions/${s.id}${N}`).then(e=>e.json()).then(({session:e})=>o(e))}).catch(()=>{}).finally(()=>x(!1))},[e,N]),(0,l.useEffect)(()=>{j.current?.scrollIntoView({behavior:"smooth"})},[a?.turns.length]),(0,r.jsxs)("div",{className:"w-full rounded-xl flex flex-col overflow-hidden",style:{background:"rgba(8,15,30,0.8)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-xs font-semibold text-slate-300",children:"\uD83D\uDCAC Session"}),a&&(0,r.jsxs)("span",{className:"text-[10px] text-slate-600 font-mono",children:[a.turns.length," turn",1!==a.turns.length?"s":""]})]}),a&&(0,r.jsx)(n(),{href:`/blue/sessions/${a.id}`,className:"text-[10px] text-slate-600 hover:text-blue-400 transition-colors",children:"Open full session →"})]}),i?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)("span",{className:"animate-spin inline-block w-4 h-4 border border-blue-400 border-t-transparent rounded-full"})}):a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-3 flex flex-col gap-3",style:{maxHeight:320},children:[0===a.turns.length?(0,r.jsx)("p",{className:"text-xs text-slate-600 text-center py-4",children:"Ask anything about implementing this recommendation."}):a.turns.map((e,t)=>(0,r.jsx)(c,{turn:e},`${e.turn}-${t}`)),(0,r.jsx)("div",{ref:j})]}),(0,r.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2.5 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsx)("textarea",{value:m,onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),v())},placeholder:"Ask about implementation…",rows:2,disabled:g,className:"flex-1 resize-none rounded-lg px-3 py-2 text-xs text-slate-300 placeholder:text-slate-600 outline-none disabled:opacity-50",style:{background:"rgba(15,23,42,0.7)",border:"1px solid rgba(51,65,85,0.5)"}}),(0,r.jsx)("button",{onClick:v,disabled:!m.trim()||g,className:"px-3 py-2 rounded-lg text-xs font-semibold transition-all disabled:opacity-40 flex-shrink-0",style:{background:"rgba(59,130,246,0.2)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.3)"},children:g?(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}):"↑"})]}),h&&(0,r.jsx)("div",{className:"mx-3 mb-2 text-xs text-red-400 font-mono px-2 py-1 rounded",style:{background:"rgba(239,68,68,0.1)"},children:h})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 gap-3 px-4 text-center",children:[(0,r.jsx)("p",{className:"text-xs text-slate-400",children:"Start an implementation session to track progress on this recommendation."}),h&&(0,r.jsx)("p",{className:"text-xs text-red-400 font-mono",children:h}),(0,r.jsx)("button",{onClick:k,disabled:p,className:"px-4 py-2 rounded-lg text-xs font-semibold transition-all disabled:opacity-50 flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:p?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-white border-t-transparent rounded-full"}),"Creating…"]}):"\uD83D\uDCAC Start session"})]})]})}var x=s(83851);let p={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},u={draft:"rgba(148,163,184,0.9)",approved:"rgb(52,211,153)",rejected:"rgb(248,113,113)"},m={low:"rgb(52,211,153)",medium:"rgb(251,191,36)",high:"rgb(248,113,113)"};function b({label:e,children:t}){return(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)("span",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:e}),(0,r.jsx)("div",{className:"text-sm text-slate-300 leading-relaxed",children:t})]})}function g({params:e}){let{id:t}=(0,l.use)(e),{tq:s,ready:a}=(0,x.e)(),c=new URLSearchParams(s.slice(1)).get("target")??"",f=(0,l.useRef)(null),[h,y]=(0,l.useState)(null),[j,N]=(0,l.useState)(!0),[k,v]=(0,l.useState)(!1),[w,S]=(0,l.useState)(!1),[C,_]=(0,l.useState)(!1);async function E(e){if(h){S(!0);try{let s=await fetch(`/api/blue/recommendations/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),r=await s.json();y(r.recommendation)}finally{S(!1)}}}function P(){f.current?.scrollIntoView({behavior:"smooth",block:"start"})}return((0,l.useEffect)(()=>{fetch(`/api/blue/recommendations/${t}`).then(async e=>{404===e.status?v(!0):y((await e.json()).recommendation)}).catch(()=>v(!0)).finally(()=>N(!1))},[t]),j)?(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsx)("main",{className:"flex-1 flex items-center justify-center",children:(0,r.jsx)("span",{className:"text-slate-500 text-sm",children:"Loading…"})})]}):k||!h?(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsxs)("main",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,r.jsx)("p",{className:"text-slate-400",children:"Recommendation not found."}),(0,r.jsx)(n(),{href:"/blue/recommendations",className:"text-blue-400 text-sm hover:underline",children:"← Back to Recommendations"})]})]}):(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,r.jsxs)("div",{className:"w-full flex items-center gap-2 text-sm",children:[(0,r.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"BLUE"}),(0,r.jsx)("span",{className:"text-slate-700",children:"/"}),(0,r.jsx)(n(),{href:"/blue/recommendations",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"Recommendations"}),(0,r.jsx)("span",{className:"text-slate-700",children:"/"}),(0,r.jsx)("span",{className:"text-slate-400 truncate max-w-xs",children:h.title})]}),(0,r.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,r.jsx)("h1",{className:"text-xl font-semibold text-slate-100 leading-snug flex-1",children:h.title}),(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,r.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:m[h.risk_level]+"20",color:m[h.risk_level],border:`1px solid ${m[h.risk_level]}40`},children:[h.risk_level," risk"]}),(0,r.jsx)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:u[h.status]+"18",color:u[h.status],border:`1px solid ${u[h.status]}30`},children:h.status})]})]}),(0,r.jsxs)("p",{className:"text-xs text-slate-500 font-mono",children:["llm-generated"===h.source?"✦ AI-generated":"User-created"," \xb7 ",new Date(h.created_at).toLocaleString()]})]}),(0,r.jsxs)("div",{className:"w-full rounded-xl p-6 flex flex-col gap-5",style:p,children:[(0,r.jsx)(b,{label:"Summary",children:h.summary}),(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Problem",children:h.problem}),(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Expected Impact",children:h.expected_impact}),h.suggested_files.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Suggested Files",children:(0,r.jsx)("div",{className:"flex flex-col gap-1 mt-0.5",children:h.suggested_files.map(e=>(0,r.jsx)("span",{className:"text-xs font-mono text-slate-400 bg-slate-800/60 px-2 py-1 rounded",children:e},e))})})]})]}),(0,r.jsxs)("div",{className:"w-full flex flex-wrap items-center gap-3",children:[(0,r.jsx)("button",{onClick:()=>_(!0),className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgba(251,191,36,0.12)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Auto-Execute"}),(0,r.jsx)("button",{onClick:P,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:"\uD83D\uDCAC Session"}),"approved"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("approved"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(52,211,153,0.12)",color:"rgb(52,211,153)",border:"1px solid rgba(52,211,153,0.3)"},children:"Approve"}),"rejected"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("rejected"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(248,113,113,0.1)",color:"rgb(248,113,113)",border:"1px solid rgba(248,113,113,0.25)"},children:"Reject"}),"draft"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("draft"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(148,163,184,0.1)",color:"rgba(148,163,184,0.9)",border:"1px solid rgba(148,163,184,0.2)"},children:"Reset to draft"})]}),(0,r.jsx)("div",{ref:f,className:"w-full",children:(0,r.jsx)(d,{recId:h.id,recTitle:h.title,target:c})})]}),(0,r.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,r.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.19.0"," \xb7 BLUE / Recommendations"]}),C&&h&&(0,r.jsx)(i,{rec:h,target:c,onClose:()=>_(!1),onStartSession:()=>{_(!1),P()}})]})}},31447:(e,t,s)=>{Promise.resolve().then(s.bind(s,25479))},36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>a,jL:()=>l});let r={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"}},l=5e4;function a(e){return"free"!==r[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>l});var r=s(12115);function l(e){let[t,s]=(0,r.useState)(null),[l,a]=(0,r.useState)(null),[n,o]=(0,r.useState)(!1);(0,r.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),a(t.workspace??null)}).finally(()=>o(!0))},[e]);let i=(0,r.useCallback)(async t=>{a(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=l?`&workspace=${encodeURIComponent(l)}`:"";return{monorepo:t,activeWorkspace:l,setActiveWorkspace:i,ready:n,wq:c}}},73321:(e,t,s)=>{"use strict";var r=s(74645);s.o(r,"useParams")&&s.d(t,{useParams:function(){return r.useParams}}),s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},74892:(e,t,s)=>{"use strict";s.d(t,{PrismDock:()=>b});var r=s(95155),l=s(98500),a=s.n(l),n=s(73321),o=s(12115),i=s(36664);let c=()=>(0,r.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:l=!1}){let[a,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")&&!l;return(0,r.jsxs)("div",{className:"relative",ref:x,children:[(0,r.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:a?"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,r.jsx)("span",{className:"font-mono",style:{color:"rgb(52,211,153)",fontSize:10},children:e.type.toUpperCase()}),(0,r.jsx)("span",{className:"max-w-[80px] truncate",children:t??"all workspaces"}),p&&(0,r.jsx)(c,{}),(0,r.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",className:"opacity-60",children:(0,r.jsx)("path",{d:"M1 2.5l3 3 3-3",stroke:"currentColor",strokeWidth:"1.2",fill:"none",strokeLinecap:"round"})})]}),a&&(0,r.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,r.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,r.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:"∑"}),"All workspaces",null===t&&(0,r.jsx)("span",{className:"ml-auto text-[10px] opacity-60",children:"✓"})]}),(0,r.jsx)("div",{className:"my-1",style:{borderTop:"1px solid rgba(51,65,85,0.3)"}}),e.packages.map(e=>(0,r.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,r.jsx)("span",{className:"font-mono text-[10px] opacity-50",children:"pkg"}),(0,r.jsx)("span",{className:"flex-1 truncate",children:e.name}),void 0!==e.loc&&(0,r.jsxs)("span",{className:"text-[10px] font-mono opacity-40",children:[(e.loc/1e3).toFixed(1),"k"]}),t===e.name&&(0,r.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 b(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:l,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,r.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,r.jsxs)(a(),{href:"/",className:"flex items-center gap-1.5 group",children:[(0,r.jsx)("span",{className:"text-sky-400 text-lg select-none",children:"✦"}),(0,r.jsxs)("span",{className:"text-slate-200 text-sm font-semibold tracking-tight group-hover:text-white transition-colors",children:["prism",(0,r.jsx)("span",{className:"font-mono text-sky-500",children:"0x2A"})]})]}),c.map(({href:t,label:s,color:l})=>{let n=e===t||"/blue"!==t&&e.startsWith(t);return(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,r.jsx)(a(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?l??"rgb(226,232,240)":"rgba(148,163,184,0.8)"},children:s})]},t)}),s&&"single"!==s.type&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,r.jsx)(d,{monorepo:s,activeWorkspace:l,onSelect:o,isPro:i})]})]})}},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>l});var r=s(12115);function l(){let[e,t]=(0,r.useState)(""),[s,l]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{fetch("/api/config").then(e=>e.json()).then(e=>{let s=e.targetPath??"";t(s?`?target=${encodeURIComponent(s)}`:"")}).catch(()=>{}).finally(()=>l(!0))},[]),{tq:e,ready:s}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>a});var r=s(12115);let l={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 a(e){let[t,s]=(0,r.useState)(null),[a,n]=(0,r.useState)(!1),[o,i]=(0,r.useState)(0);(0,r.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(l)).finally(()=>n(!0))},[e,o]);let c=(0,r.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:a,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=31447)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4270],{25479:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>g});var r=s(95155),l=s(12115),a=s(98500),n=s.n(a),o=s(74892);function i({rec:e,target:t,onClose:s,onStartSession:a}){let[n,o]=(0,l.useState)(""),[c,d]=(0,l.useState)(!0),[x,p]=(0,l.useState)(null),[u,m]=(0,l.useState)(!1),b=(0,l.useRef)(null),g=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let s=new AbortController;return g.current=s,async function(){try{let r=await fetch("/api/blue/auto-execute",{method:"POST",headers:{"Content-Type":"application/json"},signal:s.signal,body:JSON.stringify({target:t,rec:{id:e.id,title:e.title,problem:e.problem,expected_impact:e.expected_impact,suggested_files:e.suggested_files,risk_level:e.risk_level}})});if(!r.ok){let e=await r.json().catch(()=>({}));p(e.error??"Request failed");return}if((r.headers.get("content-type")??"").includes("text/plain")&&r.body){let e=r.body.getReader(),t=new TextDecoder;for(;;){let{done:s,value:r}=await e.read();if(s)break;let l=t.decode(r,{stream:!0});o(e=>e+l),b.current&&(b.current.scrollTop=b.current.scrollHeight)}}else{let e=await r.text();o(e)}}catch(e){"AbortError"!==e.name&&p(String(e))}finally{d(!1)}}(),()=>s.abort()},[e.id,t]),(0,r.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.75)"},onClick:e=>{e.target===e.currentTarget&&s()},children:(0,r.jsxs)("div",{className:"flex flex-col rounded-2xl overflow-hidden",style:{background:"rgba(8,15,30,0.97)",border:"1px solid rgba(59,130,246,0.25)",boxShadow:"0 24px 80px rgba(0,0,0,0.7)",width:"min(720px, 95vw)",maxHeight:"85vh"},children:[(0,r.jsxs)("div",{className:"flex items-start gap-3 px-5 py-4 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,r.jsx)("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded",style:{background:"rgba(251,191,36,0.15)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Auto-Execute"}),(0,r.jsxs)("span",{className:"text-[10px] font-mono px-2 py-0.5 rounded",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:[e.risk_level," risk"]})]}),(0,r.jsx)("h2",{className:"text-sm font-semibold text-slate-200 leading-snug truncate",children:e.title})]}),(0,r.jsx)("button",{onClick:s,className:"text-slate-500 hover:text-slate-300 transition-colors flex-shrink-0 text-lg leading-none",children:"✕"})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-hidden flex flex-col",children:[c&&0===n.length&&(0,r.jsxs)("div",{className:"flex items-center gap-2 px-5 py-3 flex-shrink-0",style:{background:"rgba(59,130,246,0.05)",borderBottom:"1px solid rgba(51,65,85,0.3)"},children:[(0,r.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin flex-shrink-0"}),(0,r.jsx)("span",{className:"text-[11px] text-slate-500",children:"Generating action plan…"})]}),x&&(0,r.jsx)("div",{className:"mx-4 mt-4 px-3 py-2 rounded-lg text-xs text-red-400 font-mono",style:{background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.25)"},children:x}),(0,r.jsxs)("pre",{ref:b,className:"flex-1 overflow-y-auto p-5 text-[12px] font-mono text-slate-300 whitespace-pre-wrap leading-relaxed",style:{minHeight:0},children:[n||(c?"":"(no output)"),c&&n.length>0&&(0,r.jsx)("span",{className:"inline-block w-1.5 h-4 bg-blue-400 animate-pulse ml-0.5 align-middle"})]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(5,10,20,0.5)"},children:[(0,r.jsx)("button",{onClick:function(){navigator.clipboard.writeText(n).then(()=>{m(!0),setTimeout(()=>m(!1),2e3)})},disabled:!n||c,className:"text-xs px-3 py-1.5 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(30,41,59,0.7)",color:"rgb(148,163,184)",border:"1px solid rgba(51,65,85,0.5)"},children:u?"✓ Copied":"\uD83D\uDCCB Copy plan"}),a&&(0,r.jsx)("button",{onClick:()=>{s(),a()},className:"text-xs px-3 py-1.5 rounded-lg font-medium transition-all",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"\uD83D\uDCAC Start session"}),(0,r.jsx)("button",{onClick:()=>{g.current?.abort(),s()},className:"text-xs px-3 py-1.5 rounded-lg font-medium ml-auto transition-all",style:{background:"rgba(239,68,68,0.1)",color:"rgb(252,165,165)",border:"1px solid rgba(239,68,68,0.25)"},children:c?"⏹ Stop":"Close"})]})]})})}function c({turn:e}){return(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsx)("div",{className:"flex justify-end",children:(0,r.jsx)("div",{className:"max-w-xs rounded-xl rounded-tr-sm px-3 py-2 text-xs text-slate-200 leading-relaxed",style:{background:"rgba(59,130,246,0.15)",border:"1px solid rgba(59,130,246,0.25)"},children:e.prompt})}),e.response?(0,r.jsx)("div",{className:"flex justify-start",children:(0,r.jsxs)("div",{className:"max-w-xs rounded-xl rounded-tl-sm px-3 py-2 text-xs text-slate-300 leading-relaxed",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsx)("span",{className:"text-blue-400 font-mono mr-1.5",children:"✦"}),(0,r.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:e.response})]})}):(0,r.jsx)("div",{className:"flex justify-start",children:(0,r.jsxs)("div",{className:"rounded-xl rounded-tl-sm px-3 py-2 flex items-center gap-2",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}),(0,r.jsx)("span",{className:"text-xs text-slate-500",children:"Thinking…"})]})})]})}function d({recId:e,recTitle:t,target:s}){let[a,o]=(0,l.useState)(null),[i,x]=(0,l.useState)(!0),[p,u]=(0,l.useState)(!1),[m,b]=(0,l.useState)(""),[g,f]=(0,l.useState)(!1),[h,y]=(0,l.useState)(null),j=(0,l.useRef)(null),N=s?`?target=${encodeURIComponent(s)}`:"";async function k(){u(!0),y(null);try{let s=await fetch(`/api/blue/sessions${N}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:`Session: ${t}`,rec_id:e})}),r=await s.json();if(!s.ok)throw Error(r.error??"Failed to create session");o(r.session)}catch(e){y(e instanceof Error?e.message:String(e))}finally{u(!1)}}async function v(){if(!a||!m.trim()||g)return;let e=m.trim();b(""),f(!0),y(null),o(t=>t?{...t,turns:[...t.turns,{turn:t.turns.length+1,prompt:e,created_at:new Date().toISOString()}]}:t);try{let t=await fetch(`/api/blue/sessions/${a.id}${N}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e})}),s=await t.json();if(!t.ok)throw Error(s.error??"Failed to send");o(s.session)}catch(t){y(t instanceof Error?t.message:String(t));let e=await fetch(`/api/blue/sessions/${a.id}${N}`);if(e.ok){let{session:t}=await e.json();o(t)}}finally{f(!1)}}return(0,l.useEffect)(()=>{fetch(`/api/blue/sessions${N}`).then(e=>e.ok?e.json():{sessions:[]}).then(({sessions:t})=>{let s=t.find(t=>t.rec_id===e);if(s)return fetch(`/api/blue/sessions/${s.id}${N}`).then(e=>e.json()).then(({session:e})=>o(e))}).catch(()=>{}).finally(()=>x(!1))},[e,N]),(0,l.useEffect)(()=>{j.current?.scrollIntoView({behavior:"smooth"})},[a?.turns.length]),(0,r.jsxs)("div",{className:"w-full rounded-xl flex flex-col overflow-hidden",style:{background:"rgba(8,15,30,0.8)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-xs font-semibold text-slate-300",children:"\uD83D\uDCAC Session"}),a&&(0,r.jsxs)("span",{className:"text-[10px] text-slate-600 font-mono",children:[a.turns.length," turn",1!==a.turns.length?"s":""]})]}),a&&(0,r.jsx)(n(),{href:`/blue/sessions/${a.id}`,className:"text-[10px] text-slate-600 hover:text-blue-400 transition-colors",children:"Open full session →"})]}),i?(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)("span",{className:"animate-spin inline-block w-4 h-4 border border-blue-400 border-t-transparent rounded-full"})}):a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-3 flex flex-col gap-3",style:{maxHeight:320},children:[0===a.turns.length?(0,r.jsx)("p",{className:"text-xs text-slate-600 text-center py-4",children:"Ask anything about implementing this recommendation."}):a.turns.map((e,t)=>(0,r.jsx)(c,{turn:e},`${e.turn}-${t}`)),(0,r.jsx)("div",{ref:j})]}),(0,r.jsxs)("div",{className:"flex items-end gap-2 px-3 py-2.5 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,r.jsx)("textarea",{value:m,onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),v())},placeholder:"Ask about implementation…",rows:2,disabled:g,className:"flex-1 resize-none rounded-lg px-3 py-2 text-xs text-slate-300 placeholder:text-slate-600 outline-none disabled:opacity-50",style:{background:"rgba(15,23,42,0.7)",border:"1px solid rgba(51,65,85,0.5)"}}),(0,r.jsx)("button",{onClick:v,disabled:!m.trim()||g,className:"px-3 py-2 rounded-lg text-xs font-semibold transition-all disabled:opacity-40 flex-shrink-0",style:{background:"rgba(59,130,246,0.2)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.3)"},children:g?(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}):"↑"})]}),h&&(0,r.jsx)("div",{className:"mx-3 mb-2 text-xs text-red-400 font-mono px-2 py-1 rounded",style:{background:"rgba(239,68,68,0.1)"},children:h})]}):(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 gap-3 px-4 text-center",children:[(0,r.jsx)("p",{className:"text-xs text-slate-400",children:"Start an implementation session to track progress on this recommendation."}),h&&(0,r.jsx)("p",{className:"text-xs text-red-400 font-mono",children:h}),(0,r.jsx)("button",{onClick:k,disabled:p,className:"px-4 py-2 rounded-lg text-xs font-semibold transition-all disabled:opacity-50 flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:p?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-white border-t-transparent rounded-full"}),"Creating…"]}):"\uD83D\uDCAC Start session"})]})]})}var x=s(83851);let p={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},u={draft:"rgba(148,163,184,0.9)",approved:"rgb(52,211,153)",rejected:"rgb(248,113,113)"},m={low:"rgb(52,211,153)",medium:"rgb(251,191,36)",high:"rgb(248,113,113)"};function b({label:e,children:t}){return(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsx)("span",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:e}),(0,r.jsx)("div",{className:"text-sm text-slate-300 leading-relaxed",children:t})]})}function g({params:e}){let{id:t}=(0,l.use)(e),{tq:s,ready:a}=(0,x.e)(),c=new URLSearchParams(s.slice(1)).get("target")??"",f=(0,l.useRef)(null),[h,y]=(0,l.useState)(null),[j,N]=(0,l.useState)(!0),[k,v]=(0,l.useState)(!1),[w,S]=(0,l.useState)(!1),[C,_]=(0,l.useState)(!1);async function E(e){if(h){S(!0);try{let s=await fetch(`/api/blue/recommendations/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),r=await s.json();y(r.recommendation)}finally{S(!1)}}}function P(){f.current?.scrollIntoView({behavior:"smooth",block:"start"})}return((0,l.useEffect)(()=>{fetch(`/api/blue/recommendations/${t}`).then(async e=>{404===e.status?v(!0):y((await e.json()).recommendation)}).catch(()=>v(!0)).finally(()=>N(!1))},[t]),j)?(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsx)("main",{className:"flex-1 flex items-center justify-center",children:(0,r.jsx)("span",{className:"text-slate-500 text-sm",children:"Loading…"})})]}):k||!h?(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsxs)("main",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,r.jsx)("p",{className:"text-slate-400",children:"Recommendation not found."}),(0,r.jsx)(n(),{href:"/blue/recommendations",className:"text-blue-400 text-sm hover:underline",children:"← Back to Recommendations"})]})]}):(0,r.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,r.jsx)(o.PrismDock,{}),(0,r.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,r.jsxs)("div",{className:"w-full flex items-center gap-2 text-sm",children:[(0,r.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"BLUE"}),(0,r.jsx)("span",{className:"text-slate-700",children:"/"}),(0,r.jsx)(n(),{href:"/blue/recommendations",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"Recommendations"}),(0,r.jsx)("span",{className:"text-slate-700",children:"/"}),(0,r.jsx)("span",{className:"text-slate-400 truncate max-w-xs",children:h.title})]}),(0,r.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,r.jsx)("h1",{className:"text-xl font-semibold text-slate-100 leading-snug flex-1",children:h.title}),(0,r.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,r.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:m[h.risk_level]+"20",color:m[h.risk_level],border:`1px solid ${m[h.risk_level]}40`},children:[h.risk_level," risk"]}),(0,r.jsx)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:u[h.status]+"18",color:u[h.status],border:`1px solid ${u[h.status]}30`},children:h.status})]})]}),(0,r.jsxs)("p",{className:"text-xs text-slate-500 font-mono",children:["llm-generated"===h.source?"✦ AI-generated":"User-created"," \xb7 ",new Date(h.created_at).toLocaleString()]})]}),(0,r.jsxs)("div",{className:"w-full rounded-xl p-6 flex flex-col gap-5",style:p,children:[(0,r.jsx)(b,{label:"Summary",children:h.summary}),(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Problem",children:h.problem}),(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Expected Impact",children:h.expected_impact}),h.suggested_files.length>0&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"border-t",style:{borderColor:"var(--border-default)"}}),(0,r.jsx)(b,{label:"Suggested Files",children:(0,r.jsx)("div",{className:"flex flex-col gap-1 mt-0.5",children:h.suggested_files.map(e=>(0,r.jsx)("span",{className:"text-xs font-mono text-slate-400 bg-slate-800/60 px-2 py-1 rounded",children:e},e))})})]})]}),(0,r.jsxs)("div",{className:"w-full flex flex-wrap items-center gap-3",children:[(0,r.jsx)("button",{onClick:()=>_(!0),className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgba(251,191,36,0.12)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Auto-Execute"}),(0,r.jsx)("button",{onClick:P,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:"\uD83D\uDCAC Session"}),"approved"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("approved"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(52,211,153,0.12)",color:"rgb(52,211,153)",border:"1px solid rgba(52,211,153,0.3)"},children:"Approve"}),"rejected"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("rejected"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(248,113,113,0.1)",color:"rgb(248,113,113)",border:"1px solid rgba(248,113,113,0.25)"},children:"Reject"}),"draft"!==h.status&&(0,r.jsx)("button",{onClick:()=>E("draft"),disabled:w,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50",style:{background:"rgba(148,163,184,0.1)",color:"rgba(148,163,184,0.9)",border:"1px solid rgba(148,163,184,0.2)"},children:"Reset to draft"})]}),(0,r.jsx)("div",{ref:f,className:"w-full",children:(0,r.jsx)(d,{recId:h.id,recTitle:h.title,target:c})})]}),(0,r.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,r.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.24.0"," \xb7 BLUE / Recommendations"]}),C&&h&&(0,r.jsx)(i,{rec:h,target:c,onClose:()=>_(!1),onStartSession:()=>{_(!1),P()}})]})}},31447:(e,t,s)=>{Promise.resolve().then(s.bind(s,25479))},36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>a,jL:()=>l});let r={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"}},l=5e4;function a(e){return"free"!==r[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>l});var r=s(12115);function l(e){let[t,s]=(0,r.useState)(null),[l,a]=(0,r.useState)(null),[n,o]=(0,r.useState)(!1);(0,r.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),a(t.workspace??null)}).finally(()=>o(!0))},[e]);let i=(0,r.useCallback)(async t=>{a(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=l?`&workspace=${encodeURIComponent(l)}`:"";return{monorepo:t,activeWorkspace:l,setActiveWorkspace:i,ready:n,wq:c}}},73321:(e,t,s)=>{"use strict";var r=s(74645);s.o(r,"useParams")&&s.d(t,{useParams:function(){return r.useParams}}),s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},74892:(e,t,s)=>{"use strict";s.d(t,{PrismDock:()=>b});var r=s(95155),l=s(98500),a=s.n(l),n=s(73321),o=s(12115),i=s(36664);let c=()=>(0,r.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:l=!1}){let[a,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")&&!l;return(0,r.jsxs)("div",{className:"relative",ref:x,children:[(0,r.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:a?"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,r.jsx)("span",{className:"font-mono",style:{color:"rgb(52,211,153)",fontSize:10},children:e.type.toUpperCase()}),(0,r.jsx)("span",{className:"max-w-[80px] truncate",children:t??"all workspaces"}),p&&(0,r.jsx)(c,{}),(0,r.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",className:"opacity-60",children:(0,r.jsx)("path",{d:"M1 2.5l3 3 3-3",stroke:"currentColor",strokeWidth:"1.2",fill:"none",strokeLinecap:"round"})})]}),a&&(0,r.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,r.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,r.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:"∑"}),"All workspaces",null===t&&(0,r.jsx)("span",{className:"ml-auto text-[10px] opacity-60",children:"✓"})]}),(0,r.jsx)("div",{className:"my-1",style:{borderTop:"1px solid rgba(51,65,85,0.3)"}}),e.packages.map(e=>(0,r.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,r.jsx)("span",{className:"font-mono text-[10px] opacity-50",children:"pkg"}),(0,r.jsx)("span",{className:"flex-1 truncate",children:e.name}),void 0!==e.loc&&(0,r.jsxs)("span",{className:"text-[10px] font-mono opacity-40",children:[(e.loc/1e3).toFixed(1),"k"]}),t===e.name&&(0,r.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 b(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:l,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,r.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,r.jsxs)(a(),{href:"/",className:"flex items-center gap-1.5 group",children:[(0,r.jsx)("span",{className:"text-sky-400 text-lg select-none",children:"✦"}),(0,r.jsxs)("span",{className:"text-slate-200 text-sm font-semibold tracking-tight group-hover:text-white transition-colors",children:["prism",(0,r.jsx)("span",{className:"font-mono text-sky-500",children:"0x2A"})]})]}),c.map(({href:t,label:s,color:l})=>{let n=e===t||"/blue"!==t&&e.startsWith(t);return(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,r.jsx)(a(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?l??"rgb(226,232,240)":"rgba(148,163,184,0.8)"},children:s})]},t)}),s&&"single"!==s.type&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,r.jsx)(d,{monorepo:s,activeWorkspace:l,onSelect:o,isPro:i})]})]})}},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>l});var r=s(12115);function l(){let[e,t]=(0,r.useState)(""),[s,l]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{fetch("/api/config").then(e=>e.json()).then(e=>{let s=e.targetPath??"";t(s?`?target=${encodeURIComponent(s)}`:"")}).catch(()=>{}).finally(()=>l(!0))},[]),{tq:e,ready:s}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>a});var r=s(12115);let l={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 a(e){let[t,s]=(0,r.useState)(null),[a,n]=(0,r.useState)(!1),[o,i]=(0,r.useState)(0);(0,r.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(l)).finally(()=>n(!0))},[e,o]);let c=(0,r.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:a,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=31447)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8596],{36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>a,jL:()=>r});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"}},r=5e4;function a(e){return"free"!==l[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>r});var l=s(12115);function r(e){let[t,s]=(0,l.useState)(null),[r,a]=(0,l.useState)(null),[n,i]=(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),a(t.workspace??null)}).finally(()=>i(!0))},[e]);let o=(0,l.useCallback)(async t=>{a(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=r?`&workspace=${encodeURIComponent(r)}`:"";return{monorepo:t,activeWorkspace:r,setActiveWorkspace:o,ready:n,wq:c}}},59362:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var l=s(95155),r=s(12115),a=s(98500),n=s.n(a),i=s(74892);function o({recs:e,target:t,onClose:s}){let a=e.filter(e=>"approved"===e.status),[n,i]=(0,r.useState)(new Set(a.map(e=>e.id))),[c,d]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1),[u,m]=(0,r.useState)(!1),[g,h]=(0,r.useState)(null);async function f(){let e=a.filter(e=>n.has(e.id));if(0!==e.length){for(let s of(p(!0),d(e.map(e=>({id:e.id,title:e.title,status:"pending"}))),e)){d(e=>e.map(e=>e.id===s.id?{...e,status:"running"}:e));try{let e=await fetch("/api/blue/auto-execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:t,rec:{id:s.id,title:s.title,problem:s.problem,expected_impact:s.expected_impact,suggested_files:s.suggested_files,risk_level:s.risk_level}})});if(!e.ok){let t=await e.json().catch(()=>({}));d(e=>e.map(e=>e.id===s.id?{...e,status:"error",error:t.error??"Failed"}:e));continue}let l=await e.text();d(e=>e.map(e=>e.id===s.id?{...e,status:"done",output:l}:e))}catch(e){d(t=>t.map(t=>t.id===s.id?{...t,status:"error",error:String(e)}:t))}}p(!1),m(!0)}}let b={pending:"○",running:"◌",done:"✓",error:"✕"},j={pending:"rgb(100,116,139)",running:"rgb(147,197,253)",done:"rgb(52,211,153)",error:"rgb(248,113,113)"};return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.75)"},onClick:e=>{e.target!==e.currentTarget||x||s()},children:(0,l.jsxs)("div",{className:"flex flex-col rounded-2xl overflow-hidden",style:{background:"rgba(8,15,30,0.97)",border:"1px solid rgba(59,130,246,0.25)",boxShadow:"0 24px 80px rgba(0,0,0,0.7)",width:"min(640px, 95vw)",maxHeight:"80vh"},children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-sm font-semibold text-slate-200",children:"⚡ Bulk Auto-Execute"}),(0,l.jsxs)("p",{className:"text-[11px] text-slate-500 mt-0.5",children:[a.length," approved recommendation",1!==a.length?"s":""," \xb7 ",n.size," selected"]})]}),(0,l.jsx)("button",{onClick:s,disabled:x,className:"text-slate-500 hover:text-slate-300 transition-colors disabled:opacity-40",children:"✕"})]}),(0,l.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===a.length?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2 text-center px-6",children:[(0,l.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"}),(0,l.jsx)("p",{className:"text-sm text-slate-400",children:"No approved recommendations."}),(0,l.jsx)("p",{className:"text-xs text-slate-600",children:"Approve recommendations before bulk-executing."})]}):c.length>0?(0,l.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.3)"},children:c.map(e=>(0,l.jsxs)("div",{className:"px-5 py-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-xs font-mono w-4 text-center flex-shrink-0",style:{color:j[e.status]},children:"running"===e.status?(0,l.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin"}):b[e.status]}),(0,l.jsx)("span",{className:"text-xs text-slate-300 flex-1 truncate",children:e.title}),(e.output||e.error)&&(0,l.jsx)("button",{onClick:()=>h(g===e.id?null:e.id),className:"text-[10px] text-slate-600 hover:text-slate-400 flex-shrink-0",children:g===e.id?"▲":"▼"})]}),g===e.id&&(e.output||e.error)&&(0,l.jsx)("pre",{className:"mt-2 text-[10px] font-mono text-slate-400 whitespace-pre-wrap max-h-40 overflow-y-auto bg-slate-900/60 rounded p-2",children:e.error??e.output})]},e.id))}):(0,l.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.25)"},children:a.map(e=>(0,l.jsxs)("button",{onClick:()=>{var t;return t=e.id,void i(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-3 px-5 py-3 text-left hover:bg-slate-800/30 transition-colors",children:[(0,l.jsx)("span",{className:"flex-shrink-0 w-4 h-4 rounded border flex items-center justify-center text-[10px] font-bold",style:{background:n.has(e.id)?"rgba(59,130,246,0.3)":"transparent",borderColor:n.has(e.id)?"rgba(59,130,246,0.6)":"rgba(71,85,105,0.5)",color:"white"},children:n.has(e.id)?"✓":""}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsx)("p",{className:"text-xs text-slate-300 truncate",children:e.title}),(0,l.jsxs)("p",{className:"text-[10px] text-slate-600 mt-0.5",children:[e.suggested_files.length," file",1!==e.suggested_files.length?"s":""," \xb7 ",e.risk_level," risk"]})]})]},e.id))})}),(0,l.jsx)("div",{className:"flex items-center gap-3 px-5 py-3 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(5,10,20,0.5)"},children:u?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-xs text-emerald-400",children:["✓ ",c.filter(e=>"done"===e.status).length," completed \xb7 ",c.filter(e=>"error"===e.status).length," failed"]}),(0,l.jsx)("button",{onClick:s,className:"text-xs px-3 py-1.5 rounded-lg font-medium ml-auto transition-all",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"Close"})]}):c.length>0&&x?(0,l.jsxs)("span",{className:"text-xs text-slate-500 flex items-center gap-2",children:[(0,l.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin"}),"Running ",c.filter(e=>"done"===e.status||"error"===e.status).length," / ",c.length,"…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-xs text-slate-600",children:[n.size," of ",a.length," selected"]}),(0,l.jsx)("button",{onClick:()=>i(new Set(a.map(e=>e.id))),className:"text-[10px] text-slate-600 hover:text-slate-400 transition-colors",children:"All"}),(0,l.jsx)("button",{onClick:()=>i(new Set),className:"text-[10px] text-slate-600 hover:text-slate-400 transition-colors",children:"None"}),(0,l.jsxs)("button",{onClick:f,disabled:0===n.size,className:"text-xs px-3 py-1.5 rounded-lg font-semibold ml-auto transition-all disabled:opacity-40",style:{background:"rgba(251,191,36,0.15)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:["⚡ Execute ",n.size," recommendation",1!==n.size?"s":""]})]})})]})})}var c=s(83851);let d={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},x={draft:"rgba(148,163,184,0.9)",approved:"rgb(52,211,153)",rejected:"rgb(248,113,113)"},p={low:"rgb(52,211,153)",medium:"rgb(251,191,36)",high:"rgb(248,113,113)"};function u({rec:e}){return(0,l.jsxs)(n(),{href:`/blue/recommendations/${e.id}`,className:"w-full rounded-xl p-5 flex flex-col gap-2 transition-all hover:brightness-110 cursor-pointer",style:d,children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsx)("h3",{className:"text-sm font-semibold text-slate-200 leading-snug flex-1",children:e.title}),(0,l.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,l.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:p[e.risk_level]+"20",color:p[e.risk_level],border:`1px solid ${p[e.risk_level]}40`},children:[e.risk_level," risk"]}),(0,l.jsx)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:x[e.status]+"18",color:x[e.status],border:`1px solid ${x[e.status]}30`},children:e.status})]})]}),(0,l.jsx)("p",{className:"text-xs text-slate-400 leading-relaxed line-clamp-2",children:e.summary}),e.suggested_files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[e.suggested_files.slice(0,3).map(e=>(0,l.jsx)("span",{className:"text-xs font-mono text-slate-500 bg-slate-800/60 px-2 py-0.5 rounded",children:e.split("/").pop()},e)),e.suggested_files.length>3&&(0,l.jsxs)("span",{className:"text-xs text-slate-600",children:["+",e.suggested_files.length-3," more"]})]}),(0,l.jsxs)("p",{className:"text-xs text-slate-600 mt-1",children:["llm-generated"===e.source?"✦ AI-generated":"User"," \xb7 ",new Date(e.created_at).toLocaleDateString()]})]})}function m(){let{tq:e}=(0,c.e)(),t=new URLSearchParams(e.slice(1)).get("target")??"",[s,a]=(0,r.useState)([]),[x,p]=(0,r.useState)(!0),[m,g]=(0,r.useState)(!1),[h,f]=(0,r.useState)(null),[b,j]=(0,r.useState)(!1);async function N(){try{let e=await fetch("/api/blue/recommendations"),t=await e.json();a(t.recommendations??[])}catch{}finally{p(!1)}}async function y(){g(!0),f(null);try{let e=await fetch("/api/blue/recommendations",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({generate:!0})}),t=await e.json();if(!e.ok)throw Error(t.error??"Generation failed");await N()}catch(e){f(e instanceof Error?e.message:String(e))}finally{g(!1)}}(0,r.useEffect)(()=>{N()},[]);let v={approved:s.filter(e=>"approved"===e.status),draft:s.filter(e=>"draft"===e.status),rejected:s.filter(e=>"rejected"===e.status)};return(0,l.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,l.jsx)(i.PrismDock,{}),(0,l.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,l.jsxs)("div",{className:"w-full flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 text-sm transition-colors",children:"← BLUE"}),(0,l.jsx)("span",{className:"text-slate-700",children:"/"}),(0,l.jsx)("h1",{className:"text-xl font-semibold text-slate-100 tracking-tight",children:(0,l.jsx)("span",{className:"font-mono text-blue-400",children:"Recommendations"})})]}),(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:[s.length," total"]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[v.approved.length>0&&(0,l.jsx)("button",{onClick:()=>j(!0),className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgba(251,191,36,0.12)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Bulk Execute"}),(0,l.jsx)("button",{onClick:y,disabled:m,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50 flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:m?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-white border-t-transparent rounded-full"}),"Generating…"]}):"✦ Generate with AI"})]})]}),h&&(0,l.jsx)("div",{className:"w-full rounded-lg px-4 py-3 text-sm text-red-400 font-mono",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)"},children:h}),x&&(0,l.jsx)("div",{className:"w-full text-center py-16 text-slate-500 text-sm",children:"Loading…"}),!x&&0===s.length&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-3",style:d,children:[(0,l.jsx)("span",{className:"text-4xl",children:"\uD83D\uDCA1"}),(0,l.jsx)("p",{className:"text-slate-300 font-medium",children:"No recommendations yet"}),(0,l.jsx)("p",{className:"text-slate-500 text-sm max-w-sm",children:'Run a BLUE scan first, then click "Generate with AI" to get architecture recommendations.'})]}),!x&&s.length>0&&(0,l.jsxs)(l.Fragment,{children:[v.approved.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-emerald-400 uppercase tracking-widest",children:["Approved (",v.approved.length,")"]}),v.approved.map(e=>(0,l.jsx)(u,{rec:e},e.id))]}),v.draft.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["Draft (",v.draft.length,")"]}),v.draft.map(e=>(0,l.jsx)(u,{rec:e},e.id))]}),v.rejected.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-red-400 uppercase tracking-widest",children:["Rejected (",v.rejected.length,")"]}),v.rejected.map(e=>(0,l.jsx)(u,{rec:e},e.id))]})]})]}),(0,l.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,l.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.19.0"," \xb7 BLUE / Recommendations"]}),b&&(0,l.jsx)(o,{recs:s,target:t,onClose:()=>j(!1)})]})}},70807:(e,t,s)=>{Promise.resolve().then(s.bind(s,59362))},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:()=>g});var l=s(95155),r=s(98500),a=s.n(r),n=s(73321),i=s(12115),o=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:r=!1}){let[a,n]=(0,i.useState)(!1),x=(0,i.useRef)(null);if((0,i.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,o.QS)("monorepo")&&!r;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:a?"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"})})]}),a&&(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 g(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:r,setActiveWorkspace:i}=(0,p.V)(t),{isPro:o}=(0,u.R)(t),c=o?[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)(a(),{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:r})=>{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)(a(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?r??"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:r,onSelect:i,isPro:o})]})]})}},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>r});var l=s(12115);function r(){let[e,t]=(0,l.useState)(""),[s,r]=(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(()=>r(!0))},[]),{tq:e,ready:s}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>a});var l=s(12115);let r={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 a(e){let[t,s]=(0,l.useState)(null),[a,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)(0);(0,l.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(r)).finally(()=>n(!0))},[e,i]);let c=(0,l.useCallback)(()=>o(e=>e+1),[]),d=!!t&&"free"!==t.tier&&"forge-pro"!==t.tier&&t.isValid&&!t.isExpired&&"expired"!==t.cacheStatus;return{license:t,ready:a,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=70807)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8596],{36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>a,jL:()=>r});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"}},r=5e4;function a(e){return"free"!==l[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>r});var l=s(12115);function r(e){let[t,s]=(0,l.useState)(null),[r,a]=(0,l.useState)(null),[n,i]=(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),a(t.workspace??null)}).finally(()=>i(!0))},[e]);let o=(0,l.useCallback)(async t=>{a(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=r?`&workspace=${encodeURIComponent(r)}`:"";return{monorepo:t,activeWorkspace:r,setActiveWorkspace:o,ready:n,wq:c}}},59362:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>m});var l=s(95155),r=s(12115),a=s(98500),n=s.n(a),i=s(74892);function o({recs:e,target:t,onClose:s}){let a=e.filter(e=>"approved"===e.status),[n,i]=(0,r.useState)(new Set(a.map(e=>e.id))),[c,d]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1),[u,m]=(0,r.useState)(!1),[g,h]=(0,r.useState)(null);async function f(){let e=a.filter(e=>n.has(e.id));if(0!==e.length){for(let s of(p(!0),d(e.map(e=>({id:e.id,title:e.title,status:"pending"}))),e)){d(e=>e.map(e=>e.id===s.id?{...e,status:"running"}:e));try{let e=await fetch("/api/blue/auto-execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:t,rec:{id:s.id,title:s.title,problem:s.problem,expected_impact:s.expected_impact,suggested_files:s.suggested_files,risk_level:s.risk_level}})});if(!e.ok){let t=await e.json().catch(()=>({}));d(e=>e.map(e=>e.id===s.id?{...e,status:"error",error:t.error??"Failed"}:e));continue}let l=await e.text();d(e=>e.map(e=>e.id===s.id?{...e,status:"done",output:l}:e))}catch(e){d(t=>t.map(t=>t.id===s.id?{...t,status:"error",error:String(e)}:t))}}p(!1),m(!0)}}let b={pending:"○",running:"◌",done:"✓",error:"✕"},j={pending:"rgb(100,116,139)",running:"rgb(147,197,253)",done:"rgb(52,211,153)",error:"rgb(248,113,113)"};return(0,l.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",style:{background:"rgba(0,0,0,0.75)"},onClick:e=>{e.target!==e.currentTarget||x||s()},children:(0,l.jsxs)("div",{className:"flex flex-col rounded-2xl overflow-hidden",style:{background:"rgba(8,15,30,0.97)",border:"1px solid rgba(59,130,246,0.25)",boxShadow:"0 24px 80px rgba(0,0,0,0.7)",width:"min(640px, 95vw)",maxHeight:"80vh"},children:[(0,l.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,l.jsxs)("div",{children:[(0,l.jsx)("h2",{className:"text-sm font-semibold text-slate-200",children:"⚡ Bulk Auto-Execute"}),(0,l.jsxs)("p",{className:"text-[11px] text-slate-500 mt-0.5",children:[a.length," approved recommendation",1!==a.length?"s":""," \xb7 ",n.size," selected"]})]}),(0,l.jsx)("button",{onClick:s,disabled:x,className:"text-slate-500 hover:text-slate-300 transition-colors disabled:opacity-40",children:"✕"})]}),(0,l.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===a.length?(0,l.jsxs)("div",{className:"flex flex-col items-center justify-center py-12 gap-2 text-center px-6",children:[(0,l.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCCB"}),(0,l.jsx)("p",{className:"text-sm text-slate-400",children:"No approved recommendations."}),(0,l.jsx)("p",{className:"text-xs text-slate-600",children:"Approve recommendations before bulk-executing."})]}):c.length>0?(0,l.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.3)"},children:c.map(e=>(0,l.jsxs)("div",{className:"px-5 py-3",children:[(0,l.jsxs)("div",{className:"flex items-center gap-3",children:[(0,l.jsx)("span",{className:"text-xs font-mono w-4 text-center flex-shrink-0",style:{color:j[e.status]},children:"running"===e.status?(0,l.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin"}):b[e.status]}),(0,l.jsx)("span",{className:"text-xs text-slate-300 flex-1 truncate",children:e.title}),(e.output||e.error)&&(0,l.jsx)("button",{onClick:()=>h(g===e.id?null:e.id),className:"text-[10px] text-slate-600 hover:text-slate-400 flex-shrink-0",children:g===e.id?"▲":"▼"})]}),g===e.id&&(e.output||e.error)&&(0,l.jsx)("pre",{className:"mt-2 text-[10px] font-mono text-slate-400 whitespace-pre-wrap max-h-40 overflow-y-auto bg-slate-900/60 rounded p-2",children:e.error??e.output})]},e.id))}):(0,l.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.25)"},children:a.map(e=>(0,l.jsxs)("button",{onClick:()=>{var t;return t=e.id,void i(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"flex items-center gap-3 px-5 py-3 text-left hover:bg-slate-800/30 transition-colors",children:[(0,l.jsx)("span",{className:"flex-shrink-0 w-4 h-4 rounded border flex items-center justify-center text-[10px] font-bold",style:{background:n.has(e.id)?"rgba(59,130,246,0.3)":"transparent",borderColor:n.has(e.id)?"rgba(59,130,246,0.6)":"rgba(71,85,105,0.5)",color:"white"},children:n.has(e.id)?"✓":""}),(0,l.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,l.jsx)("p",{className:"text-xs text-slate-300 truncate",children:e.title}),(0,l.jsxs)("p",{className:"text-[10px] text-slate-600 mt-0.5",children:[e.suggested_files.length," file",1!==e.suggested_files.length?"s":""," \xb7 ",e.risk_level," risk"]})]})]},e.id))})}),(0,l.jsx)("div",{className:"flex items-center gap-3 px-5 py-3 border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(5,10,20,0.5)"},children:u?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-xs text-emerald-400",children:["✓ ",c.filter(e=>"done"===e.status).length," completed \xb7 ",c.filter(e=>"error"===e.status).length," failed"]}),(0,l.jsx)("button",{onClick:s,className:"text-xs px-3 py-1.5 rounded-lg font-medium ml-auto transition-all",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"Close"})]}):c.length>0&&x?(0,l.jsxs)("span",{className:"text-xs text-slate-500 flex items-center gap-2",children:[(0,l.jsx)("span",{className:"inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full animate-spin"}),"Running ",c.filter(e=>"done"===e.status||"error"===e.status).length," / ",c.length,"…"]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("span",{className:"text-xs text-slate-600",children:[n.size," of ",a.length," selected"]}),(0,l.jsx)("button",{onClick:()=>i(new Set(a.map(e=>e.id))),className:"text-[10px] text-slate-600 hover:text-slate-400 transition-colors",children:"All"}),(0,l.jsx)("button",{onClick:()=>i(new Set),className:"text-[10px] text-slate-600 hover:text-slate-400 transition-colors",children:"None"}),(0,l.jsxs)("button",{onClick:f,disabled:0===n.size,className:"text-xs px-3 py-1.5 rounded-lg font-semibold ml-auto transition-all disabled:opacity-40",style:{background:"rgba(251,191,36,0.15)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:["⚡ Execute ",n.size," recommendation",1!==n.size?"s":""]})]})})]})})}var c=s(83851);let d={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"},x={draft:"rgba(148,163,184,0.9)",approved:"rgb(52,211,153)",rejected:"rgb(248,113,113)"},p={low:"rgb(52,211,153)",medium:"rgb(251,191,36)",high:"rgb(248,113,113)"};function u({rec:e}){return(0,l.jsxs)(n(),{href:`/blue/recommendations/${e.id}`,className:"w-full rounded-xl p-5 flex flex-col gap-2 transition-all hover:brightness-110 cursor-pointer",style:d,children:[(0,l.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,l.jsx)("h3",{className:"text-sm font-semibold text-slate-200 leading-snug flex-1",children:e.title}),(0,l.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[(0,l.jsxs)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:p[e.risk_level]+"20",color:p[e.risk_level],border:`1px solid ${p[e.risk_level]}40`},children:[e.risk_level," risk"]}),(0,l.jsx)("span",{className:"text-xs font-mono px-2 py-0.5 rounded-full",style:{background:x[e.status]+"18",color:x[e.status],border:`1px solid ${x[e.status]}30`},children:e.status})]})]}),(0,l.jsx)("p",{className:"text-xs text-slate-400 leading-relaxed line-clamp-2",children:e.summary}),e.suggested_files.length>0&&(0,l.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[e.suggested_files.slice(0,3).map(e=>(0,l.jsx)("span",{className:"text-xs font-mono text-slate-500 bg-slate-800/60 px-2 py-0.5 rounded",children:e.split("/").pop()},e)),e.suggested_files.length>3&&(0,l.jsxs)("span",{className:"text-xs text-slate-600",children:["+",e.suggested_files.length-3," more"]})]}),(0,l.jsxs)("p",{className:"text-xs text-slate-600 mt-1",children:["llm-generated"===e.source?"✦ AI-generated":"User"," \xb7 ",new Date(e.created_at).toLocaleDateString()]})]})}function m(){let{tq:e}=(0,c.e)(),t=new URLSearchParams(e.slice(1)).get("target")??"",[s,a]=(0,r.useState)([]),[x,p]=(0,r.useState)(!0),[m,g]=(0,r.useState)(!1),[h,f]=(0,r.useState)(null),[b,j]=(0,r.useState)(!1);async function N(){try{let e=await fetch("/api/blue/recommendations"),t=await e.json();a(t.recommendations??[])}catch{}finally{p(!1)}}async function y(){g(!0),f(null);try{let e=await fetch("/api/blue/recommendations",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({generate:!0})}),t=await e.json();if(!e.ok)throw Error(t.error??"Generation failed");await N()}catch(e){f(e instanceof Error?e.message:String(e))}finally{g(!1)}}(0,r.useEffect)(()=>{N()},[]);let v={approved:s.filter(e=>"approved"===e.status),draft:s.filter(e=>"draft"===e.status),rejected:s.filter(e=>"rejected"===e.status)};return(0,l.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,l.jsx)(i.PrismDock,{}),(0,l.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-32 pb-16 gap-6",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,l.jsxs)("div",{className:"w-full flex items-center justify-between",children:[(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[(0,l.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 text-sm transition-colors",children:"← BLUE"}),(0,l.jsx)("span",{className:"text-slate-700",children:"/"}),(0,l.jsx)("h1",{className:"text-xl font-semibold text-slate-100 tracking-tight",children:(0,l.jsx)("span",{className:"font-mono text-blue-400",children:"Recommendations"})})]}),(0,l.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:[s.length," total"]})]}),(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[v.approved.length>0&&(0,l.jsx)("button",{onClick:()=>j(!0),className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all flex items-center gap-2",style:{background:"rgba(251,191,36,0.12)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.25)"},children:"⚡ Bulk Execute"}),(0,l.jsx)("button",{onClick:y,disabled:m,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-50 flex items-center gap-2",style:{background:"rgb(59,130,246)",color:"#fff"},children:m?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-white border-t-transparent rounded-full"}),"Generating…"]}):"✦ Generate with AI"})]})]}),h&&(0,l.jsx)("div",{className:"w-full rounded-lg px-4 py-3 text-sm text-red-400 font-mono",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)"},children:h}),x&&(0,l.jsx)("div",{className:"w-full text-center py-16 text-slate-500 text-sm",children:"Loading…"}),!x&&0===s.length&&(0,l.jsxs)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-3",style:d,children:[(0,l.jsx)("span",{className:"text-4xl",children:"\uD83D\uDCA1"}),(0,l.jsx)("p",{className:"text-slate-300 font-medium",children:"No recommendations yet"}),(0,l.jsx)("p",{className:"text-slate-500 text-sm max-w-sm",children:'Run a BLUE scan first, then click "Generate with AI" to get architecture recommendations.'})]}),!x&&s.length>0&&(0,l.jsxs)(l.Fragment,{children:[v.approved.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-emerald-400 uppercase tracking-widest",children:["Approved (",v.approved.length,")"]}),v.approved.map(e=>(0,l.jsx)(u,{rec:e},e.id))]}),v.draft.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-slate-400 uppercase tracking-widest",children:["Draft (",v.draft.length,")"]}),v.draft.map(e=>(0,l.jsx)(u,{rec:e},e.id))]}),v.rejected.length>0&&(0,l.jsxs)("div",{className:"w-full flex flex-col gap-3",children:[(0,l.jsxs)("h2",{className:"text-xs font-semibold text-red-400 uppercase tracking-widest",children:["Rejected (",v.rejected.length,")"]}),v.rejected.map(e=>(0,l.jsx)(u,{rec:e},e.id))]})]})]}),(0,l.jsxs)("footer",{className:"text-center py-4 text-xs text-slate-600",children:["prism",(0,l.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.24.0"," \xb7 BLUE / Recommendations"]}),b&&(0,l.jsx)(o,{recs:s,target:t,onClose:()=>j(!1)})]})}},70807:(e,t,s)=>{Promise.resolve().then(s.bind(s,59362))},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:()=>g});var l=s(95155),r=s(98500),a=s.n(r),n=s(73321),i=s(12115),o=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:r=!1}){let[a,n]=(0,i.useState)(!1),x=(0,i.useRef)(null);if((0,i.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,o.QS)("monorepo")&&!r;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:a?"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"})})]}),a&&(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 g(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:r,setActiveWorkspace:i}=(0,p.V)(t),{isPro:o}=(0,u.R)(t),c=o?[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)(a(),{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:r})=>{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)(a(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?r??"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:r,onSelect:i,isPro:o})]})]})}},83851:(e,t,s)=>{"use strict";s.d(t,{e:()=>r});var l=s(12115);function r(){let[e,t]=(0,l.useState)(""),[s,r]=(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(()=>r(!0))},[]),{tq:e,ready:s}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>a});var l=s(12115);let r={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 a(e){let[t,s]=(0,l.useState)(null),[a,n]=(0,l.useState)(!1),[i,o]=(0,l.useState)(0);(0,l.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(r)).finally(()=>n(!0))},[e,i]);let c=(0,l.useCallback)(()=>o(e=>e+1),[]),d=!!t&&"free"!==t.tier&&"forge-pro"!==t.tier&&t.isValid&&!t.isExpired&&"expired"!==t.cacheStatus;return{license:t,ready:a,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=70807)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2165],{7370:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=s(95155),r=s(12115),l=s(98500),n=s.n(l),o=s(74892);let i={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"};function c({turn:e}){return(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-lg rounded-2xl rounded-tr-sm px-4 py-3 text-sm text-slate-200 leading-relaxed",style:{background:"rgba(59,130,246,0.15)",border:"1px solid rgba(59,130,246,0.25)"},children:e.prompt})}),e.response?(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"max-w-lg rounded-2xl rounded-tl-sm px-4 py-3 text-sm text-slate-300 leading-relaxed",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsx)("span",{className:"text-blue-400 text-xs font-mono mr-2",children:"✦"}),(0,a.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:e.response})]})}):(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"rounded-2xl rounded-tl-sm px-4 py-3 flex items-center gap-2",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}),(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Thinking…"})]})})]})}function d({params:e}){let{id:t}=(0,r.use)(e),[s,l]=(0,r.useState)(null),[x,u]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[b,f]=(0,r.useState)(""),[h,g]=(0,r.useState)(!1),[y,j]=(0,r.useState)(!1),N=(0,r.useRef)(null);async function v(){try{let e=await fetch(`/api/blue/sessions/${t}`);if(404===e.status)return void m(!0);let s=await e.json();l(s.session)}catch{m(!0)}finally{u(!1)}}async function k(){if(!b.trim()||h||!s)return;let e=b.trim();f(""),g(!0),l(t=>t?{...t,turns:[...t.turns,{turn:t.turns.length+1,prompt:e,created_at:new Date().toISOString()}]}:t);try{let s=await fetch(`/api/blue/sessions/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e})}),a=await s.json();l(a.session)}catch{await v()}finally{g(!1)}}async function w(e){if(s){j(!0);try{let s=await fetch(`/api/blue/sessions/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),a=await s.json();l(a.session)}finally{j(!1)}}}if((0,r.useEffect)(()=>{v()},[t]),(0,r.useEffect)(()=>{N.current?.scrollIntoView({behavior:"smooth"})},[s?.turns.length]),x)return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsx)("main",{className:"flex-1 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-500 text-sm",children:"Loading…"})})]});if(p||!s)return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsxs)("main",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,a.jsx)("p",{className:"text-slate-400",children:"Session not found."}),(0,a.jsx)(n(),{href:"/blue/sessions",className:"text-indigo-400 text-sm hover:underline",children:"← Back to Sessions"})]})]});let S="active"===s.status;return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-28 pb-4",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,a.jsxs)("div",{className:"w-full flex items-center justify-between mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"BLUE"}),(0,a.jsx)("span",{className:"text-slate-700",children:"/"}),(0,a.jsx)(n(),{href:"/blue/sessions",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"Sessions"}),(0,a.jsx)("span",{className:"text-slate-700",children:"/"}),(0,a.jsx)("span",{className:"text-slate-300 font-medium truncate max-w-xs",children:s.title})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[S&&(0,a.jsx)("button",{onClick:()=>w("completed"),disabled:y,className:"text-xs px-3 py-1 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(52,211,153,0.1)",color:"rgb(52,211,153)",border:"1px solid rgba(52,211,153,0.25)"},children:"Mark complete"}),S&&(0,a.jsx)("button",{onClick:()=>w("abandoned"),disabled:y,className:"text-xs px-3 py-1 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(148,163,184,0.08)",color:"rgba(148,163,184,0.6)",border:"1px solid rgba(148,163,184,0.15)"},children:"Abandon"}),!S&&(0,a.jsx)("span",{className:"text-xs font-mono px-2 py-1 rounded-lg",style:{background:"rgba(148,163,184,0.08)",color:"rgba(148,163,184,0.6)",border:"1px solid rgba(148,163,184,0.15)"},children:s.status})]})]}),s.rec_id&&(0,a.jsx)("div",{className:"w-full mb-4",children:(0,a.jsx)(n(),{href:`/blue/recommendations/${s.rec_id}`,className:"text-xs text-indigo-400 hover:text-indigo-300 transition-colors font-mono",children:"↗ linked recommendation"})}),(0,a.jsxs)("div",{className:"w-full flex flex-col gap-5 flex-1 overflow-y-auto pb-4",children:[0===s.turns.length&&(0,a.jsx)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-2",style:i,children:(0,a.jsx)("p",{className:"text-slate-400 text-sm",children:"No messages yet. Ask your first question below."})}),s.turns.map(e=>(0,a.jsx)(c,{turn:e},e.turn)),(0,a.jsx)("div",{ref:N})]}),S&&(0,a.jsx)("div",{className:"w-full mt-4 sticky bottom-4",children:(0,a.jsxs)("div",{className:"w-full rounded-xl p-3 flex items-end gap-3",style:{background:"rgba(2,6,23,0.85)",backdropFilter:"blur(16px)",border:"1px solid rgba(51,65,85,0.5)",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"},children:[(0,a.jsx)("textarea",{rows:3,value:b,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),k())},placeholder:"Ask about your codebase… (Enter to send, Shift+Enter for newline)",disabled:h,className:"flex-1 bg-transparent text-sm font-mono text-slate-200 outline-none resize-none placeholder:text-slate-600 disabled:opacity-50"}),(0,a.jsx)("button",{onClick:k,disabled:!b.trim()||h,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-40 flex-shrink-0 self-end",style:{background:"rgb(59,130,246)",color:"#fff"},children:h?(0,a.jsx)("span",{className:"animate-spin inline-block w-4 h-4 border-2 border-white border-t-transparent rounded-full"}):"Send"})]})})]}),(0,a.jsxs)("footer",{className:"text-center py-3 text-xs text-slate-600",children:["prism",(0,a.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.19.0"," \xb7 BLUE / Sessions"]})]})}},20468:(e,t,s)=>{Promise.resolve().then(s.bind(s,7370))},36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>l,jL:()=>r});let a={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"}},r=5e4;function l(e){return"free"!==a[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>r});var a=s(12115);function r(e){let[t,s]=(0,a.useState)(null),[r,l]=(0,a.useState)(null),[n,o]=(0,a.useState)(!1);(0,a.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),l(t.workspace??null)}).finally(()=>o(!0))},[e]);let i=(0,a.useCallback)(async t=>{l(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=r?`&workspace=${encodeURIComponent(r)}`:"";return{monorepo:t,activeWorkspace:r,setActiveWorkspace:i,ready:n,wq:c}}},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}})},74892:(e,t,s)=>{"use strict";s.d(t,{PrismDock:()=>b});var a=s(95155),r=s(98500),l=s.n(r),n=s(73321),o=s(12115),i=s(36664);let c=()=>(0,a.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:r=!1}){let[l,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 u=(0,i.QS)("monorepo")&&!r;return(0,a.jsxs)("div",{className:"relative",ref:x,children:[(0,a.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:l?"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,a.jsx)("span",{className:"font-mono",style:{color:"rgb(52,211,153)",fontSize:10},children:e.type.toUpperCase()}),(0,a.jsx)("span",{className:"max-w-[80px] truncate",children:t??"all workspaces"}),u&&(0,a.jsx)(c,{}),(0,a.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",className:"opacity-60",children:(0,a.jsx)("path",{d:"M1 2.5l3 3 3-3",stroke:"currentColor",strokeWidth:"1.2",fill:"none",strokeLinecap:"round"})})]}),l&&(0,a.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,a.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,a.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:"∑"}),"All workspaces",null===t&&(0,a.jsx)("span",{className:"ml-auto text-[10px] opacity-60",children:"✓"})]}),(0,a.jsx)("div",{className:"my-1",style:{borderTop:"1px solid rgba(51,65,85,0.3)"}}),e.packages.map(e=>(0,a.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,a.jsx)("span",{className:"font-mono text-[10px] opacity-50",children:"pkg"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:e.name}),void 0!==e.loc&&(0,a.jsxs)("span",{className:"text-[10px] font-mono opacity-40",children:[(e.loc/1e3).toFixed(1),"k"]}),t===e.name&&(0,a.jsx)("span",{className:"text-[10px] opacity-60",children:"✓"})]},e.path))]})]})}var x=s(83851),u=s(50285),p=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 b(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:r,setActiveWorkspace:o}=(0,u.V)(t),{isPro:i}=(0,p.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,a.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,a.jsxs)(l(),{href:"/",className:"flex items-center gap-1.5 group",children:[(0,a.jsx)("span",{className:"text-sky-400 text-lg select-none",children:"✦"}),(0,a.jsxs)("span",{className:"text-slate-200 text-sm font-semibold tracking-tight group-hover:text-white transition-colors",children:["prism",(0,a.jsx)("span",{className:"font-mono text-sky-500",children:"0x2A"})]})]}),c.map(({href:t,label:s,color:r})=>{let n=e===t||"/blue"!==t&&e.startsWith(t);return(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,a.jsx)(l(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?r??"rgb(226,232,240)":"rgba(148,163,184,0.8)"},children:s})]},t)}),s&&"single"!==s.type&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,a.jsx)(d,{monorepo:s,activeWorkspace:r,onSelect:o,isPro:i})]})]})}},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}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>l});var a=s(12115);let r={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 l(e){let[t,s]=(0,a.useState)(null),[l,n]=(0,a.useState)(!1),[o,i]=(0,a.useState)(0);(0,a.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(r)).finally(()=>n(!0))},[e,o]);let c=(0,a.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:l,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=20468)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2165],{7370:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>d});var a=s(95155),r=s(12115),l=s(98500),n=s.n(l),o=s(74892);let i={background:"var(--surface-panel)",border:"1px solid var(--border-default)",boxShadow:"0 1px 2px rgba(15,23,42,.05),0 4px 16px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.04)"};function c({turn:e}){return(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)("div",{className:"flex justify-end",children:(0,a.jsx)("div",{className:"max-w-lg rounded-2xl rounded-tr-sm px-4 py-3 text-sm text-slate-200 leading-relaxed",style:{background:"rgba(59,130,246,0.15)",border:"1px solid rgba(59,130,246,0.25)"},children:e.prompt})}),e.response?(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"max-w-lg rounded-2xl rounded-tl-sm px-4 py-3 text-sm text-slate-300 leading-relaxed",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsx)("span",{className:"text-blue-400 text-xs font-mono mr-2",children:"✦"}),(0,a.jsx)("span",{style:{whiteSpace:"pre-wrap"},children:e.response})]})}):(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsxs)("div",{className:"rounded-2xl rounded-tl-sm px-4 py-3 flex items-center gap-2",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsx)("span",{className:"animate-spin inline-block w-3 h-3 border border-blue-400 border-t-transparent rounded-full"}),(0,a.jsx)("span",{className:"text-xs text-slate-500",children:"Thinking…"})]})})]})}function d({params:e}){let{id:t}=(0,r.use)(e),[s,l]=(0,r.useState)(null),[x,u]=(0,r.useState)(!0),[p,m]=(0,r.useState)(!1),[b,f]=(0,r.useState)(""),[h,g]=(0,r.useState)(!1),[y,j]=(0,r.useState)(!1),N=(0,r.useRef)(null);async function v(){try{let e=await fetch(`/api/blue/sessions/${t}`);if(404===e.status)return void m(!0);let s=await e.json();l(s.session)}catch{m(!0)}finally{u(!1)}}async function k(){if(!b.trim()||h||!s)return;let e=b.trim();f(""),g(!0),l(t=>t?{...t,turns:[...t.turns,{turn:t.turns.length+1,prompt:e,created_at:new Date().toISOString()}]}:t);try{let s=await fetch(`/api/blue/sessions/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:e})}),a=await s.json();l(a.session)}catch{await v()}finally{g(!1)}}async function w(e){if(s){j(!0);try{let s=await fetch(`/api/blue/sessions/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:e})}),a=await s.json();l(a.session)}finally{j(!1)}}}if((0,r.useEffect)(()=>{v()},[t]),(0,r.useEffect)(()=>{N.current?.scrollIntoView({behavior:"smooth"})},[s?.turns.length]),x)return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsx)("main",{className:"flex-1 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-500 text-sm",children:"Loading…"})})]});if(p||!s)return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsxs)("main",{className:"flex-1 flex flex-col items-center justify-center gap-4",children:[(0,a.jsx)("p",{className:"text-slate-400",children:"Session not found."}),(0,a.jsx)(n(),{href:"/blue/sessions",className:"text-indigo-400 text-sm hover:underline",children:"← Back to Sessions"})]})]});let S="active"===s.status;return(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",style:{background:"var(--bg-app)"},children:[(0,a.jsx)(o.PrismDock,{}),(0,a.jsxs)("main",{className:"flex-1 flex flex-col items-center px-6 pt-28 pb-4",style:{maxWidth:720,margin:"0 auto",width:"100%"},children:[(0,a.jsxs)("div",{className:"w-full flex items-center justify-between mb-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,a.jsx)(n(),{href:"/blue",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"BLUE"}),(0,a.jsx)("span",{className:"text-slate-700",children:"/"}),(0,a.jsx)(n(),{href:"/blue/sessions",className:"text-slate-500 hover:text-slate-300 transition-colors",children:"Sessions"}),(0,a.jsx)("span",{className:"text-slate-700",children:"/"}),(0,a.jsx)("span",{className:"text-slate-300 font-medium truncate max-w-xs",children:s.title})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[S&&(0,a.jsx)("button",{onClick:()=>w("completed"),disabled:y,className:"text-xs px-3 py-1 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(52,211,153,0.1)",color:"rgb(52,211,153)",border:"1px solid rgba(52,211,153,0.25)"},children:"Mark complete"}),S&&(0,a.jsx)("button",{onClick:()=>w("abandoned"),disabled:y,className:"text-xs px-3 py-1 rounded-lg font-medium transition-all disabled:opacity-40",style:{background:"rgba(148,163,184,0.08)",color:"rgba(148,163,184,0.6)",border:"1px solid rgba(148,163,184,0.15)"},children:"Abandon"}),!S&&(0,a.jsx)("span",{className:"text-xs font-mono px-2 py-1 rounded-lg",style:{background:"rgba(148,163,184,0.08)",color:"rgba(148,163,184,0.6)",border:"1px solid rgba(148,163,184,0.15)"},children:s.status})]})]}),s.rec_id&&(0,a.jsx)("div",{className:"w-full mb-4",children:(0,a.jsx)(n(),{href:`/blue/recommendations/${s.rec_id}`,className:"text-xs text-indigo-400 hover:text-indigo-300 transition-colors font-mono",children:"↗ linked recommendation"})}),(0,a.jsxs)("div",{className:"w-full flex flex-col gap-5 flex-1 overflow-y-auto pb-4",children:[0===s.turns.length&&(0,a.jsx)("div",{className:"w-full rounded-xl p-8 text-center flex flex-col items-center gap-2",style:i,children:(0,a.jsx)("p",{className:"text-slate-400 text-sm",children:"No messages yet. Ask your first question below."})}),s.turns.map(e=>(0,a.jsx)(c,{turn:e},e.turn)),(0,a.jsx)("div",{ref:N})]}),S&&(0,a.jsx)("div",{className:"w-full mt-4 sticky bottom-4",children:(0,a.jsxs)("div",{className:"w-full rounded-xl p-3 flex items-end gap-3",style:{background:"rgba(2,6,23,0.85)",backdropFilter:"blur(16px)",border:"1px solid rgba(51,65,85,0.5)",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"},children:[(0,a.jsx)("textarea",{rows:3,value:b,onChange:e=>f(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),k())},placeholder:"Ask about your codebase… (Enter to send, Shift+Enter for newline)",disabled:h,className:"flex-1 bg-transparent text-sm font-mono text-slate-200 outline-none resize-none placeholder:text-slate-600 disabled:opacity-50"}),(0,a.jsx)("button",{onClick:k,disabled:!b.trim()||h,className:"px-4 py-2 rounded-lg text-sm font-semibold transition-all disabled:opacity-40 flex-shrink-0 self-end",style:{background:"rgb(59,130,246)",color:"#fff"},children:h?(0,a.jsx)("span",{className:"animate-spin inline-block w-4 h-4 border-2 border-white border-t-transparent rounded-full"}):"Send"})]})})]}),(0,a.jsxs)("footer",{className:"text-center py-3 text-xs text-slate-600",children:["prism",(0,a.jsx)("span",{className:"font-mono",children:"0x2A"})," v","0.24.0"," \xb7 BLUE / Sessions"]})]})}},20468:(e,t,s)=>{Promise.resolve().then(s.bind(s,7370))},36664:(e,t,s)=>{"use strict";s.d(t,{QS:()=>l,jL:()=>r});let a={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"}},r=5e4;function l(e){return"free"!==a[e].tier}},50285:(e,t,s)=>{"use strict";s.d(t,{V:()=>r});var a=s(12115);function r(e){let[t,s]=(0,a.useState)(null),[r,l]=(0,a.useState)(null),[n,o]=(0,a.useState)(!1);(0,a.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),l(t.workspace??null)}).finally(()=>o(!0))},[e]);let i=(0,a.useCallback)(async t=>{l(t),await fetch(`/api/monorepo/active${e}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:t})}).catch(()=>{})},[e]),c=r?`&workspace=${encodeURIComponent(r)}`:"";return{monorepo:t,activeWorkspace:r,setActiveWorkspace:i,ready:n,wq:c}}},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}})},74892:(e,t,s)=>{"use strict";s.d(t,{PrismDock:()=>b});var a=s(95155),r=s(98500),l=s.n(r),n=s(73321),o=s(12115),i=s(36664);let c=()=>(0,a.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:r=!1}){let[l,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 u=(0,i.QS)("monorepo")&&!r;return(0,a.jsxs)("div",{className:"relative",ref:x,children:[(0,a.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:l?"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,a.jsx)("span",{className:"font-mono",style:{color:"rgb(52,211,153)",fontSize:10},children:e.type.toUpperCase()}),(0,a.jsx)("span",{className:"max-w-[80px] truncate",children:t??"all workspaces"}),u&&(0,a.jsx)(c,{}),(0,a.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"currentColor",className:"opacity-60",children:(0,a.jsx)("path",{d:"M1 2.5l3 3 3-3",stroke:"currentColor",strokeWidth:"1.2",fill:"none",strokeLinecap:"round"})})]}),l&&(0,a.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,a.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,a.jsx)("span",{className:"font-mono text-[10px] opacity-60",children:"∑"}),"All workspaces",null===t&&(0,a.jsx)("span",{className:"ml-auto text-[10px] opacity-60",children:"✓"})]}),(0,a.jsx)("div",{className:"my-1",style:{borderTop:"1px solid rgba(51,65,85,0.3)"}}),e.packages.map(e=>(0,a.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,a.jsx)("span",{className:"font-mono text-[10px] opacity-50",children:"pkg"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:e.name}),void 0!==e.loc&&(0,a.jsxs)("span",{className:"text-[10px] font-mono opacity-40",children:[(e.loc/1e3).toFixed(1),"k"]}),t===e.name&&(0,a.jsx)("span",{className:"text-[10px] opacity-60",children:"✓"})]},e.path))]})]})}var x=s(83851),u=s(50285),p=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 b(){let e=(0,n.usePathname)(),{tq:t}=(0,x.e)(),{monorepo:s,activeWorkspace:r,setActiveWorkspace:o}=(0,u.V)(t),{isPro:i}=(0,p.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,a.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,a.jsxs)(l(),{href:"/",className:"flex items-center gap-1.5 group",children:[(0,a.jsx)("span",{className:"text-sky-400 text-lg select-none",children:"✦"}),(0,a.jsxs)("span",{className:"text-slate-200 text-sm font-semibold tracking-tight group-hover:text-white transition-colors",children:["prism",(0,a.jsx)("span",{className:"font-mono text-sky-500",children:"0x2A"})]})]}),c.map(({href:t,label:s,color:r})=>{let n=e===t||"/blue"!==t&&e.startsWith(t);return(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,a.jsx)(l(),{href:t,className:"text-sm font-medium transition-colors px-1",style:{color:n?r??"rgb(226,232,240)":"rgba(148,163,184,0.8)"},children:s})]},t)}),s&&"single"!==s.type&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"w-px h-4",style:{background:"rgba(51,65,85,0.6)"}}),(0,a.jsx)(d,{monorepo:s,activeWorkspace:r,onSelect:o,isPro:i})]})]})}},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}}},92073:(e,t,s)=>{"use strict";s.d(t,{R:()=>l});var a=s(12115);let r={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 l(e){let[t,s]=(0,a.useState)(null),[l,n]=(0,a.useState)(!1),[o,i]=(0,a.useState)(0);(0,a.useEffect)(()=>{fetch(`/api/license${e}`).then(e=>e.json()).then(e=>s(e)).catch(()=>s(r)).finally(()=>n(!0))},[e,o]);let c=(0,a.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:l,refresh:c,isPro:d}}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=20468)),_N_E=e.O()}]);
|