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.
Files changed (1017) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +20 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/routes-manifest.json +120 -0
  7. package/.next/standalone/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js +3 -3
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/standalone/.next/server/app/agb/page.js +2 -2
  28. package/.next/standalone/.next/server/app/agb/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/agb.html +2 -2
  30. package/.next/standalone/.next/server/app/agb.rsc +2 -2
  31. package/.next/standalone/.next/server/app/agb.segments/_full.segment.rsc +2 -2
  32. package/.next/standalone/.next/server/app/agb.segments/_head.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/agb.segments/_index.segment.rsc +2 -2
  34. package/.next/standalone/.next/server/app/agb.segments/_tree.segment.rsc +2 -2
  35. package/.next/standalone/.next/server/app/agb.segments/agb/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/agb.segments/agb.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/amber/capabilities/[id]/page.js +2 -2
  38. package/.next/standalone/.next/server/app/amber/capabilities/[id]/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/amber/capabilities/page.js +3 -3
  40. package/.next/standalone/.next/server/app/amber/capabilities/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/amber/capabilities.html +2 -2
  42. package/.next/standalone/.next/server/app/amber/capabilities.rsc +3 -3
  43. package/.next/standalone/.next/server/app/amber/capabilities.segments/_full.segment.rsc +3 -3
  44. package/.next/standalone/.next/server/app/amber/capabilities.segments/_head.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/amber/capabilities.segments/_index.segment.rsc +2 -2
  46. package/.next/standalone/.next/server/app/amber/capabilities.segments/_tree.segment.rsc +2 -2
  47. package/.next/standalone/.next/server/app/amber/capabilities.segments/amber/capabilities/__PAGE__.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/amber/capabilities.segments/amber/capabilities.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/amber/capabilities.segments/amber.segment.rsc +1 -1
  50. package/.next/standalone/.next/server/app/amber/coverage/page.js +2 -2
  51. package/.next/standalone/.next/server/app/amber/coverage/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/.next/server/app/amber/coverage.html +2 -2
  53. package/.next/standalone/.next/server/app/amber/coverage.rsc +3 -3
  54. package/.next/standalone/.next/server/app/amber/coverage.segments/_full.segment.rsc +3 -3
  55. package/.next/standalone/.next/server/app/amber/coverage.segments/_head.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/amber/coverage.segments/_index.segment.rsc +2 -2
  57. package/.next/standalone/.next/server/app/amber/coverage.segments/_tree.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/amber/coverage.segments/amber/coverage/__PAGE__.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/amber/coverage.segments/amber/coverage.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/amber/coverage.segments/amber.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/amber/files/page.js +2 -2
  62. package/.next/standalone/.next/server/app/amber/files/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/.next/server/app/amber/files.html +2 -2
  64. package/.next/standalone/.next/server/app/amber/files.rsc +3 -3
  65. package/.next/standalone/.next/server/app/amber/files.segments/_full.segment.rsc +3 -3
  66. package/.next/standalone/.next/server/app/amber/files.segments/_head.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/amber/files.segments/_index.segment.rsc +2 -2
  68. package/.next/standalone/.next/server/app/amber/files.segments/_tree.segment.rsc +2 -2
  69. package/.next/standalone/.next/server/app/amber/files.segments/amber/files/__PAGE__.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/amber/files.segments/amber/files.segment.rsc +1 -1
  71. package/.next/standalone/.next/server/app/amber/files.segments/amber.segment.rsc +1 -1
  72. package/.next/standalone/.next/server/app/amber/page.js +3 -3
  73. package/.next/standalone/.next/server/app/amber/page_client-reference-manifest.js +1 -1
  74. package/.next/standalone/.next/server/app/amber.html +2 -2
  75. package/.next/standalone/.next/server/app/amber.rsc +3 -3
  76. package/.next/standalone/.next/server/app/amber.segments/_full.segment.rsc +3 -3
  77. package/.next/standalone/.next/server/app/amber.segments/_head.segment.rsc +1 -1
  78. package/.next/standalone/.next/server/app/amber.segments/_index.segment.rsc +2 -2
  79. package/.next/standalone/.next/server/app/amber.segments/_tree.segment.rsc +2 -2
  80. package/.next/standalone/.next/server/app/amber.segments/amber/__PAGE__.segment.rsc +2 -2
  81. package/.next/standalone/.next/server/app/amber.segments/amber.segment.rsc +1 -1
  82. package/.next/standalone/.next/server/app/api/amber/ai/bootstrap/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route.js +1 -0
  84. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route.js.nft.json +1 -0
  85. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/apply/route_client-reference-manifest.js +1 -0
  86. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route.js +1 -0
  87. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route.js.nft.json +1 -0
  88. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/parse/route_client-reference-manifest.js +1 -0
  89. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route.js +1 -0
  90. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route.js.nft.json +1 -0
  91. package/.next/standalone/.next/server/app/api/amber/ai/bulk-depth/route_client-reference-manifest.js +1 -0
  92. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route.js +1 -0
  93. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route.js.nft.json +1 -0
  94. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/apply/route_client-reference-manifest.js +1 -0
  95. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route.js +1 -0
  96. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route.js.nft.json +1 -0
  97. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/parse/route_client-reference-manifest.js +1 -0
  98. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route.js +1 -0
  99. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route.js.nft.json +1 -0
  100. package/.next/standalone/.next/server/app/api/amber/ai/bulk-tag/route_client-reference-manifest.js +1 -0
  101. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route.js +1 -0
  102. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route.js.nft.json +1 -0
  103. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/apply/route_client-reference-manifest.js +1 -0
  104. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route.js +1 -0
  105. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route.js.nft.json +1 -0
  106. package/.next/standalone/.next/server/app/api/amber/ai/depth-update/route_client-reference-manifest.js +1 -0
  107. package/.next/standalone/.next/server/app/api/amber/capabilities/[id]/route.js +1 -1
  108. package/.next/standalone/.next/server/app/api/amber/capabilities/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/amber/chat/route.js +1 -0
  110. package/.next/standalone/.next/server/app/api/amber/chat/route.js.nft.json +1 -0
  111. package/.next/standalone/.next/server/app/api/amber/chat/route_client-reference-manifest.js +1 -0
  112. package/.next/standalone/.next/server/app/api/amber/config/route.js +1 -0
  113. package/.next/standalone/.next/server/app/api/amber/config/route.js.nft.json +1 -0
  114. package/.next/standalone/.next/server/app/api/amber/config/route_client-reference-manifest.js +1 -0
  115. package/.next/standalone/.next/server/app/api/amber/context-options/route.js +1 -0
  116. package/.next/standalone/.next/server/app/api/amber/context-options/route.js.nft.json +1 -0
  117. package/.next/standalone/.next/server/app/api/amber/context-options/route_client-reference-manifest.js +1 -0
  118. package/.next/standalone/.next/server/app/api/amber/coverage/[scanId]/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/amber/coverage/route.js +1 -1
  120. package/.next/standalone/.next/server/app/api/amber/enriched/route.js +1 -0
  121. package/.next/standalone/.next/server/app/api/amber/enriched/route.js.nft.json +1 -0
  122. package/.next/standalone/.next/server/app/api/amber/enriched/route_client-reference-manifest.js +1 -0
  123. package/.next/standalone/.next/server/app/api/amber/files/route.js +1 -1
  124. package/.next/standalone/.next/server/app/api/amber/registry/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/amber/scan/route.js +1 -1
  126. package/.next/standalone/.next/server/app/api/blue/auto-execute/route.js +1 -1
  127. package/.next/standalone/.next/server/app/api/blue/explorer/ask/route.js +1 -1
  128. package/.next/standalone/.next/server/app/api/blue/explorer/comments/[hash]/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/blue/explorer/coverage/route.js +1 -1
  130. package/.next/standalone/.next/server/app/api/blue/explorer/doc-content/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/blue/explorer/explain/route.js +1 -1
  132. package/.next/standalone/.next/server/app/api/blue/explorer/history/route.js +1 -1
  133. package/.next/standalone/.next/server/app/api/blue/explorer/outdated/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/blue/explorer/refactor/prompt/route.js +2 -2
  135. package/.next/standalone/.next/server/app/api/blue/explorer/refactor/route.js +1 -1
  136. package/.next/standalone/.next/server/app/api/blue/explorer/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/blue/explorer/todos/route.js +1 -1
  138. package/.next/standalone/.next/server/app/api/blue/recommendations/[id]/route.js +1 -1
  139. package/.next/standalone/.next/server/app/api/blue/recommendations/route.js +2 -2
  140. package/.next/standalone/.next/server/app/api/blue/scan/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/blue/sessions/[id]/route.js +2 -2
  142. package/.next/standalone/.next/server/app/api/blue/sessions/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/blue/standards/route.js +2 -2
  144. package/.next/standalone/.next/server/app/api/config/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/config/test/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/green/chat/route.js +1 -0
  147. package/.next/standalone/.next/server/app/api/green/chat/route.js.nft.json +1 -0
  148. package/.next/standalone/.next/server/app/api/green/chat/route_client-reference-manifest.js +1 -0
  149. package/.next/standalone/.next/server/app/api/green/cross-layer/route.js +1 -1
  150. package/.next/standalone/.next/server/app/api/green/insights/[id]/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/green/insights/apply/route.js +1 -0
  152. package/.next/standalone/.next/server/app/api/green/insights/apply/route.js.nft.json +1 -0
  153. package/.next/standalone/.next/server/app/api/green/insights/apply/route_client-reference-manifest.js +1 -0
  154. package/.next/standalone/.next/server/app/api/green/insights/discover/route.js +1 -0
  155. package/.next/standalone/.next/server/app/api/green/insights/discover/route.js.nft.json +1 -0
  156. package/.next/standalone/.next/server/app/api/green/insights/discover/route_client-reference-manifest.js +1 -0
  157. package/.next/standalone/.next/server/app/api/green/insights/parse/route.js +1 -0
  158. package/.next/standalone/.next/server/app/api/green/insights/parse/route.js.nft.json +1 -0
  159. package/.next/standalone/.next/server/app/api/green/insights/parse/route_client-reference-manifest.js +1 -0
  160. package/.next/standalone/.next/server/app/api/green/insights/proposed/route.js +1 -0
  161. package/.next/standalone/.next/server/app/api/green/insights/proposed/route.js.nft.json +1 -0
  162. package/.next/standalone/.next/server/app/api/green/insights/proposed/route_client-reference-manifest.js +1 -0
  163. package/.next/standalone/.next/server/app/api/green/insights/route.js +1 -1
  164. package/.next/standalone/.next/server/app/api/green/queries/[id]/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/green/queries/[id]/run/route.js +1 -1
  166. package/.next/standalone/.next/server/app/api/green/queries/promote/route.js +1 -0
  167. package/.next/standalone/.next/server/app/api/green/queries/promote/route.js.nft.json +1 -0
  168. package/.next/standalone/.next/server/app/api/green/queries/promote/route_client-reference-manifest.js +1 -0
  169. package/.next/standalone/.next/server/app/api/green/queries/route.js +1 -1
  170. package/.next/standalone/.next/server/app/api/green/queries/track-use/route.js +1 -0
  171. package/.next/standalone/.next/server/app/api/green/queries/track-use/route.js.nft.json +1 -0
  172. package/.next/standalone/.next/server/app/api/green/queries/track-use/route_client-reference-manifest.js +1 -0
  173. package/.next/standalone/.next/server/app/api/green/status/route.js +1 -0
  174. package/.next/standalone/.next/server/app/api/green/status/route.js.nft.json +1 -0
  175. package/.next/standalone/.next/server/app/api/green/status/route_client-reference-manifest.js +1 -0
  176. package/.next/standalone/.next/server/app/api/license/activate/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/license/deactivate/route.js +1 -1
  178. package/.next/standalone/.next/server/app/api/license/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/license/validate/route.js +1 -1
  180. package/.next/standalone/.next/server/app/api/monorepo/active/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/monorepo/route.js +1 -1
  182. package/.next/standalone/.next/server/app/api/scan/route.js +1 -1
  183. package/.next/standalone/.next/server/app/blue/dashboard/page.js +2 -2
  184. package/.next/standalone/.next/server/app/blue/dashboard/page.js.nft.json +1 -1
  185. package/.next/standalone/.next/server/app/blue/dashboard/page_client-reference-manifest.js +1 -1
  186. package/.next/standalone/.next/server/app/blue/explorer/ask/page.js +2 -2
  187. package/.next/standalone/.next/server/app/blue/explorer/ask/page.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/blue/explorer/ask/page_client-reference-manifest.js +1 -1
  189. package/.next/standalone/.next/server/app/blue/explorer/ask.html +2 -2
  190. package/.next/standalone/.next/server/app/blue/explorer/ask.rsc +8 -8
  191. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_full.segment.rsc +8 -8
  192. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_head.segment.rsc +1 -1
  193. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_index.segment.rsc +2 -2
  194. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/_tree.segment.rsc +2 -2
  195. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer/ask/__PAGE__.segment.rsc +2 -2
  196. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer/ask.segment.rsc +1 -1
  197. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue/explorer.segment.rsc +4 -3
  198. package/.next/standalone/.next/server/app/blue/explorer/ask.segments/blue.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/blue/explorer/explain/page.js +2 -2
  200. package/.next/standalone/.next/server/app/blue/explorer/explain/page.js.nft.json +1 -1
  201. package/.next/standalone/.next/server/app/blue/explorer/explain/page_client-reference-manifest.js +1 -1
  202. package/.next/standalone/.next/server/app/blue/explorer/explain.html +2 -2
  203. package/.next/standalone/.next/server/app/blue/explorer/explain.rsc +8 -8
  204. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_full.segment.rsc +8 -8
  205. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_head.segment.rsc +1 -1
  206. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_index.segment.rsc +2 -2
  207. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/_tree.segment.rsc +2 -2
  208. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer/explain/__PAGE__.segment.rsc +2 -2
  209. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer/explain.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue/explorer.segment.rsc +4 -3
  211. package/.next/standalone/.next/server/app/blue/explorer/explain.segments/blue.segment.rsc +1 -1
  212. package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page.js +2 -2
  213. package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/blue/explorer/file/[path]/page_client-reference-manifest.js +1 -1
  215. package/.next/standalone/.next/server/app/blue/explorer/fitness/page.js +2 -2
  216. package/.next/standalone/.next/server/app/blue/explorer/fitness/page.js.nft.json +1 -1
  217. package/.next/standalone/.next/server/app/blue/explorer/fitness/page_client-reference-manifest.js +1 -1
  218. package/.next/standalone/.next/server/app/blue/explorer/fitness.html +2 -2
  219. package/.next/standalone/.next/server/app/blue/explorer/fitness.rsc +8 -8
  220. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_full.segment.rsc +8 -8
  221. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_head.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_index.segment.rsc +2 -2
  223. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/_tree.segment.rsc +2 -2
  224. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer/fitness/__PAGE__.segment.rsc +2 -2
  225. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer/fitness.segment.rsc +1 -1
  226. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue/explorer.segment.rsc +4 -3
  227. package/.next/standalone/.next/server/app/blue/explorer/fitness.segments/blue.segment.rsc +1 -1
  228. package/.next/standalone/.next/server/app/blue/explorer/flow/page.js +2 -2
  229. package/.next/standalone/.next/server/app/blue/explorer/flow/page.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/blue/explorer/flow/page_client-reference-manifest.js +1 -1
  231. package/.next/standalone/.next/server/app/blue/explorer/flow.html +2 -2
  232. package/.next/standalone/.next/server/app/blue/explorer/flow.rsc +8 -8
  233. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_full.segment.rsc +8 -8
  234. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_head.segment.rsc +1 -1
  235. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_index.segment.rsc +2 -2
  236. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/_tree.segment.rsc +2 -2
  237. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer/flow/__PAGE__.segment.rsc +2 -2
  238. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer/flow.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue/explorer.segment.rsc +4 -3
  240. package/.next/standalone/.next/server/app/blue/explorer/flow.segments/blue.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/blue/explorer/graph/page.js +2 -3
  242. package/.next/standalone/.next/server/app/blue/explorer/graph/page.js.nft.json +1 -1
  243. package/.next/standalone/.next/server/app/blue/explorer/graph/page_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/blue/explorer/graph.html +2 -2
  245. package/.next/standalone/.next/server/app/blue/explorer/graph.rsc +8 -9
  246. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_full.segment.rsc +8 -9
  247. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_head.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_index.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/_tree.segment.rsc +2 -3
  250. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer/graph/__PAGE__.segment.rsc +2 -3
  251. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer/graph.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue/explorer.segment.rsc +4 -3
  253. package/.next/standalone/.next/server/app/blue/explorer/graph.segments/blue.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/blue/explorer/libraries/page.js +2 -2
  255. package/.next/standalone/.next/server/app/blue/explorer/libraries/page.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/blue/explorer/libraries/page_client-reference-manifest.js +1 -1
  257. package/.next/standalone/.next/server/app/blue/explorer/libraries.html +2 -2
  258. package/.next/standalone/.next/server/app/blue/explorer/libraries.rsc +8 -8
  259. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_full.segment.rsc +8 -8
  260. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_head.segment.rsc +1 -1
  261. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_index.segment.rsc +2 -2
  262. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/_tree.segment.rsc +2 -2
  263. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer/libraries/__PAGE__.segment.rsc +2 -2
  264. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer/libraries.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue/explorer.segment.rsc +4 -3
  266. package/.next/standalone/.next/server/app/blue/explorer/libraries.segments/blue.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/blue/explorer/page.js +10 -2
  268. package/.next/standalone/.next/server/app/blue/explorer/page.js.nft.json +1 -1
  269. package/.next/standalone/.next/server/app/blue/explorer/page_client-reference-manifest.js +1 -1
  270. package/.next/standalone/.next/server/app/blue/explorer/refactor/page.js +2 -2
  271. package/.next/standalone/.next/server/app/blue/explorer/refactor/page.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/blue/explorer/refactor/page_client-reference-manifest.js +1 -1
  273. package/.next/standalone/.next/server/app/blue/explorer/refactor.html +2 -2
  274. package/.next/standalone/.next/server/app/blue/explorer/refactor.rsc +8 -8
  275. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_full.segment.rsc +8 -8
  276. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_head.segment.rsc +1 -1
  277. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_index.segment.rsc +2 -2
  278. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/_tree.segment.rsc +2 -2
  279. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer/refactor/__PAGE__.segment.rsc +2 -2
  280. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer/refactor.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue/explorer.segment.rsc +4 -3
  282. package/.next/standalone/.next/server/app/blue/explorer/refactor.segments/blue.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/blue/explorer/wire/page.js +2 -2
  284. package/.next/standalone/.next/server/app/blue/explorer/wire/page.js.nft.json +1 -1
  285. package/.next/standalone/.next/server/app/blue/explorer/wire/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/blue/explorer/wire.html +2 -2
  287. package/.next/standalone/.next/server/app/blue/explorer/wire.rsc +8 -8
  288. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_full.segment.rsc +8 -8
  289. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_head.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_index.segment.rsc +2 -2
  291. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/_tree.segment.rsc +2 -2
  292. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer/wire/__PAGE__.segment.rsc +2 -2
  293. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer/wire.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue/explorer.segment.rsc +4 -3
  295. package/.next/standalone/.next/server/app/blue/explorer/wire.segments/blue.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/blue/explorer/zones/page.js +2 -4
  297. package/.next/standalone/.next/server/app/blue/explorer/zones/page.js.nft.json +1 -1
  298. package/.next/standalone/.next/server/app/blue/explorer/zones/page_client-reference-manifest.js +1 -1
  299. package/.next/standalone/.next/server/app/blue/explorer/zones.html +2 -2
  300. package/.next/standalone/.next/server/app/blue/explorer/zones.rsc +8 -8
  301. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_full.segment.rsc +8 -8
  302. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_head.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_index.segment.rsc +2 -2
  304. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/_tree.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer/zones/__PAGE__.segment.rsc +2 -2
  306. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer/zones.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue/explorer.segment.rsc +4 -3
  308. package/.next/standalone/.next/server/app/blue/explorer/zones.segments/blue.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/blue/explorer.html +2 -2
  310. package/.next/standalone/.next/server/app/blue/explorer.rsc +9 -8
  311. package/.next/standalone/.next/server/app/blue/explorer.segments/_full.segment.rsc +9 -8
  312. package/.next/standalone/.next/server/app/blue/explorer.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/blue/explorer.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/blue/explorer.segments/_tree.segment.rsc +3 -2
  315. package/.next/standalone/.next/server/app/blue/explorer.segments/blue/explorer/__PAGE__.segment.rsc +3 -2
  316. package/.next/standalone/.next/server/app/blue/explorer.segments/blue/explorer.segment.rsc +4 -3
  317. package/.next/standalone/.next/server/app/blue/explorer.segments/blue.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/blue/page.js +2 -2
  319. package/.next/standalone/.next/server/app/blue/page_client-reference-manifest.js +1 -1
  320. package/.next/standalone/.next/server/app/blue/recommendations/[id]/page.js +2 -2
  321. package/.next/standalone/.next/server/app/blue/recommendations/[id]/page_client-reference-manifest.js +1 -1
  322. package/.next/standalone/.next/server/app/blue/recommendations/page.js +2 -2
  323. package/.next/standalone/.next/server/app/blue/recommendations/page_client-reference-manifest.js +1 -1
  324. package/.next/standalone/.next/server/app/blue/recommendations.html +2 -2
  325. package/.next/standalone/.next/server/app/blue/recommendations.rsc +3 -3
  326. package/.next/standalone/.next/server/app/blue/recommendations.segments/_full.segment.rsc +3 -3
  327. package/.next/standalone/.next/server/app/blue/recommendations.segments/_head.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/blue/recommendations.segments/_index.segment.rsc +2 -2
  329. package/.next/standalone/.next/server/app/blue/recommendations.segments/_tree.segment.rsc +2 -2
  330. package/.next/standalone/.next/server/app/blue/recommendations.segments/blue/recommendations/__PAGE__.segment.rsc +2 -2
  331. package/.next/standalone/.next/server/app/blue/recommendations.segments/blue/recommendations.segment.rsc +1 -1
  332. package/.next/standalone/.next/server/app/blue/recommendations.segments/blue.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/blue/sessions/[id]/page.js +2 -2
  334. package/.next/standalone/.next/server/app/blue/sessions/[id]/page_client-reference-manifest.js +1 -1
  335. package/.next/standalone/.next/server/app/blue/sessions/page.js +2 -2
  336. package/.next/standalone/.next/server/app/blue/sessions/page_client-reference-manifest.js +1 -1
  337. package/.next/standalone/.next/server/app/blue/sessions.html +2 -2
  338. package/.next/standalone/.next/server/app/blue/sessions.rsc +3 -3
  339. package/.next/standalone/.next/server/app/blue/sessions.segments/_full.segment.rsc +3 -3
  340. package/.next/standalone/.next/server/app/blue/sessions.segments/_head.segment.rsc +1 -1
  341. package/.next/standalone/.next/server/app/blue/sessions.segments/_index.segment.rsc +2 -2
  342. package/.next/standalone/.next/server/app/blue/sessions.segments/_tree.segment.rsc +2 -2
  343. package/.next/standalone/.next/server/app/blue/sessions.segments/blue/sessions/__PAGE__.segment.rsc +2 -2
  344. package/.next/standalone/.next/server/app/blue/sessions.segments/blue/sessions.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/blue/sessions.segments/blue.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/blue.html +2 -2
  347. package/.next/standalone/.next/server/app/blue.rsc +3 -3
  348. package/.next/standalone/.next/server/app/blue.segments/_full.segment.rsc +3 -3
  349. package/.next/standalone/.next/server/app/blue.segments/_head.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/blue.segments/_index.segment.rsc +2 -2
  351. package/.next/standalone/.next/server/app/blue.segments/_tree.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/blue.segments/blue/__PAGE__.segment.rsc +2 -2
  353. package/.next/standalone/.next/server/app/blue.segments/blue.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/datenschutz/page.js +3 -3
  355. package/.next/standalone/.next/server/app/datenschutz/page_client-reference-manifest.js +1 -1
  356. package/.next/standalone/.next/server/app/datenschutz.html +2 -2
  357. package/.next/standalone/.next/server/app/datenschutz.rsc +2 -2
  358. package/.next/standalone/.next/server/app/datenschutz.segments/_full.segment.rsc +2 -2
  359. package/.next/standalone/.next/server/app/datenschutz.segments/_head.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/datenschutz.segments/_index.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/datenschutz.segments/_tree.segment.rsc +2 -2
  362. package/.next/standalone/.next/server/app/datenschutz.segments/datenschutz/__PAGE__.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/datenschutz.segments/datenschutz.segment.rsc +1 -1
  364. package/.next/standalone/.next/server/app/favicon.ico/route.js +1 -1
  365. package/.next/standalone/.next/server/app/green/cross-layer/page.js +2 -2
  366. package/.next/standalone/.next/server/app/green/cross-layer/page_client-reference-manifest.js +1 -1
  367. package/.next/standalone/.next/server/app/green/cross-layer.html +2 -2
  368. package/.next/standalone/.next/server/app/green/cross-layer.rsc +3 -3
  369. package/.next/standalone/.next/server/app/green/cross-layer.segments/_full.segment.rsc +3 -3
  370. package/.next/standalone/.next/server/app/green/cross-layer.segments/_head.segment.rsc +1 -1
  371. package/.next/standalone/.next/server/app/green/cross-layer.segments/_index.segment.rsc +2 -2
  372. package/.next/standalone/.next/server/app/green/cross-layer.segments/_tree.segment.rsc +2 -2
  373. package/.next/standalone/.next/server/app/green/cross-layer.segments/green/cross-layer/__PAGE__.segment.rsc +2 -2
  374. package/.next/standalone/.next/server/app/green/cross-layer.segments/green/cross-layer.segment.rsc +1 -1
  375. package/.next/standalone/.next/server/app/green/cross-layer.segments/green.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/green/insights/[id]/page.js +2 -2
  377. package/.next/standalone/.next/server/app/green/insights/[id]/page_client-reference-manifest.js +1 -1
  378. package/.next/standalone/.next/server/app/green/insights/page.js +2 -2
  379. package/.next/standalone/.next/server/app/green/insights/page_client-reference-manifest.js +1 -1
  380. package/.next/standalone/.next/server/app/green/insights.html +2 -2
  381. package/.next/standalone/.next/server/app/green/insights.rsc +3 -3
  382. package/.next/standalone/.next/server/app/green/insights.segments/_full.segment.rsc +3 -3
  383. package/.next/standalone/.next/server/app/green/insights.segments/_head.segment.rsc +1 -1
  384. package/.next/standalone/.next/server/app/green/insights.segments/_index.segment.rsc +2 -2
  385. package/.next/standalone/.next/server/app/green/insights.segments/_tree.segment.rsc +2 -2
  386. package/.next/standalone/.next/server/app/green/insights.segments/green/insights/__PAGE__.segment.rsc +2 -2
  387. package/.next/standalone/.next/server/app/green/insights.segments/green/insights.segment.rsc +1 -1
  388. package/.next/standalone/.next/server/app/green/insights.segments/green.segment.rsc +1 -1
  389. package/.next/standalone/.next/server/app/green/page.js +2 -2
  390. package/.next/standalone/.next/server/app/green/page_client-reference-manifest.js +1 -1
  391. package/.next/standalone/.next/server/app/green/queries/[id]/page.js +2 -2
  392. package/.next/standalone/.next/server/app/green/queries/[id]/page_client-reference-manifest.js +1 -1
  393. package/.next/standalone/.next/server/app/green/queries/page.js +2 -2
  394. package/.next/standalone/.next/server/app/green/queries/page_client-reference-manifest.js +1 -1
  395. package/.next/standalone/.next/server/app/green/queries.html +2 -2
  396. package/.next/standalone/.next/server/app/green/queries.rsc +3 -3
  397. package/.next/standalone/.next/server/app/green/queries.segments/_full.segment.rsc +3 -3
  398. package/.next/standalone/.next/server/app/green/queries.segments/_head.segment.rsc +1 -1
  399. package/.next/standalone/.next/server/app/green/queries.segments/_index.segment.rsc +2 -2
  400. package/.next/standalone/.next/server/app/green/queries.segments/_tree.segment.rsc +2 -2
  401. package/.next/standalone/.next/server/app/green/queries.segments/green/queries/__PAGE__.segment.rsc +2 -2
  402. package/.next/standalone/.next/server/app/green/queries.segments/green/queries.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/green/queries.segments/green.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/green.html +2 -2
  405. package/.next/standalone/.next/server/app/green.rsc +3 -3
  406. package/.next/standalone/.next/server/app/green.segments/_full.segment.rsc +3 -3
  407. package/.next/standalone/.next/server/app/green.segments/_head.segment.rsc +1 -1
  408. package/.next/standalone/.next/server/app/green.segments/_index.segment.rsc +2 -2
  409. package/.next/standalone/.next/server/app/green.segments/_tree.segment.rsc +2 -2
  410. package/.next/standalone/.next/server/app/green.segments/green/__PAGE__.segment.rsc +2 -2
  411. package/.next/standalone/.next/server/app/green.segments/green.segment.rsc +1 -1
  412. package/.next/standalone/.next/server/app/impressum/page.js +3 -3
  413. package/.next/standalone/.next/server/app/impressum/page_client-reference-manifest.js +1 -1
  414. package/.next/standalone/.next/server/app/impressum.html +2 -2
  415. package/.next/standalone/.next/server/app/impressum.rsc +2 -2
  416. package/.next/standalone/.next/server/app/impressum.segments/_full.segment.rsc +2 -2
  417. package/.next/standalone/.next/server/app/impressum.segments/_head.segment.rsc +1 -1
  418. package/.next/standalone/.next/server/app/impressum.segments/_index.segment.rsc +2 -2
  419. package/.next/standalone/.next/server/app/impressum.segments/_tree.segment.rsc +2 -2
  420. package/.next/standalone/.next/server/app/impressum.segments/impressum/__PAGE__.segment.rsc +1 -1
  421. package/.next/standalone/.next/server/app/impressum.segments/impressum.segment.rsc +1 -1
  422. package/.next/standalone/.next/server/app/opengraph-image/route.js +1 -1
  423. package/.next/standalone/.next/server/app/page.js +2 -2
  424. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  425. package/.next/standalone/.next/server/app/plans/page.js +2 -2
  426. package/.next/standalone/.next/server/app/plans/page_client-reference-manifest.js +1 -1
  427. package/.next/standalone/.next/server/app/plans.html +1 -1
  428. package/.next/standalone/.next/server/app/plans.rsc +2 -2
  429. package/.next/standalone/.next/server/app/plans.segments/_full.segment.rsc +2 -2
  430. package/.next/standalone/.next/server/app/plans.segments/_head.segment.rsc +1 -1
  431. package/.next/standalone/.next/server/app/plans.segments/_index.segment.rsc +2 -2
  432. package/.next/standalone/.next/server/app/plans.segments/_tree.segment.rsc +2 -2
  433. package/.next/standalone/.next/server/app/plans.segments/plans/__PAGE__.segment.rsc +1 -1
  434. package/.next/standalone/.next/server/app/plans.segments/plans.segment.rsc +1 -1
  435. package/.next/standalone/.next/server/app/pricing/page.js +2 -2
  436. package/.next/standalone/.next/server/app/pricing/page_client-reference-manifest.js +1 -1
  437. package/.next/standalone/.next/server/app/pricing.html +2 -2
  438. package/.next/standalone/.next/server/app/pricing.rsc +2 -2
  439. package/.next/standalone/.next/server/app/pricing.segments/_full.segment.rsc +2 -2
  440. package/.next/standalone/.next/server/app/pricing.segments/_head.segment.rsc +1 -1
  441. package/.next/standalone/.next/server/app/pricing.segments/_index.segment.rsc +2 -2
  442. package/.next/standalone/.next/server/app/pricing.segments/_tree.segment.rsc +2 -2
  443. package/.next/standalone/.next/server/app/pricing.segments/pricing/__PAGE__.segment.rsc +1 -1
  444. package/.next/standalone/.next/server/app/pricing.segments/pricing.segment.rsc +1 -1
  445. package/.next/standalone/.next/server/app/robots.txt/route.js +2 -2
  446. package/.next/standalone/.next/server/app/settings/page.js +2 -2
  447. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  448. package/.next/standalone/.next/server/app/sitemap.xml/route.js +2 -2
  449. package/.next/standalone/.next/server/app/sitemap.xml.body +5 -5
  450. package/.next/standalone/.next/server/app-paths-manifest.json +20 -0
  451. package/.next/standalone/.next/server/chunks/2836.js +1 -1
  452. package/.next/standalone/.next/server/chunks/3128.js +1 -0
  453. package/.next/standalone/.next/server/chunks/5909.js +1 -1
  454. package/.next/standalone/.next/server/chunks/6093.js +37 -5
  455. package/.next/standalone/.next/server/chunks/79.js +1 -0
  456. package/.next/standalone/.next/server/chunks/7961.js +1 -0
  457. package/.next/standalone/.next/server/chunks/9057.js +1 -1
  458. package/.next/standalone/.next/server/functions-config-manifest.json +34 -0
  459. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  460. package/.next/standalone/.next/server/pages/404.html +2 -2
  461. package/.next/standalone/.next/server/pages/500.html +1 -1
  462. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  463. package/.next/standalone/.next/static/chunks/1495-75e9acb2052fc0df.js +1 -0
  464. package/.next/standalone/.next/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
  465. package/.next/standalone/.next/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
  466. package/.next/standalone/.next/static/chunks/5516-cb87b88338e627ef.js +1 -0
  467. package/.next/standalone/.next/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
  468. package/.next/standalone/.next/static/{static/chunks/app/amber/capabilities/[id]/page-016e34f6bc7b1332.js → chunks/app/amber/capabilities/[id]/page-dec90538e1cf5523.js} +1 -1
  469. package/.next/standalone/.next/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
  470. package/.next/{static/chunks/app/amber/coverage/page-562f7636134ad802.js → standalone/.next/static/chunks/app/amber/coverage/page-f1a1b649283ce9e5.js} +1 -1
  471. package/.next/{static/chunks/app/amber/files/page-c5a00329d2baea42.js → standalone/.next/static/chunks/app/amber/files/page-7f881cdb968806b0.js} +1 -1
  472. package/.next/standalone/.next/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
  473. package/.next/{static/chunks/app/amber/page-09a2a736e71e67f1.js → standalone/.next/static/chunks/app/amber/page-fa23a597af958b37.js} +1 -1
  474. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
  475. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
  476. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
  477. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
  478. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
  479. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
  480. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
  481. package/.next/standalone/.next/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
  482. package/.next/standalone/.next/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
  483. package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
  484. package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
  485. package/.next/standalone/.next/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
  486. package/.next/standalone/.next/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
  487. package/.next/standalone/.next/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
  488. package/.next/standalone/.next/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
  489. package/.next/standalone/.next/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
  490. package/.next/standalone/.next/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
  491. package/.next/standalone/.next/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
  492. package/.next/standalone/.next/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
  493. package/.next/standalone/.next/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
  494. package/.next/standalone/.next/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
  495. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
  496. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
  497. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
  498. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
  499. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
  500. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
  501. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
  502. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
  503. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
  504. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
  505. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
  506. package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
  507. package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
  508. package/.next/standalone/.next/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
  509. package/.next/standalone/.next/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
  510. package/.next/standalone/.next/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
  511. package/.next/standalone/.next/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
  512. package/.next/standalone/.next/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
  513. package/.next/standalone/.next/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
  514. package/.next/standalone/.next/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
  515. package/.next/standalone/.next/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
  516. package/.next/standalone/.next/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
  517. package/.next/standalone/.next/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
  518. package/.next/standalone/.next/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
  519. package/.next/standalone/.next/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
  520. package/.next/standalone/.next/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
  521. package/.next/standalone/.next/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
  522. package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
  523. package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
  524. package/.next/standalone/.next/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
  525. package/.next/standalone/.next/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
  526. package/.next/standalone/.next/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
  527. package/.next/standalone/.next/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
  528. package/.next/standalone/.next/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
  529. package/.next/standalone/.next/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
  530. package/.next/standalone/.next/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
  531. package/.next/standalone/.next/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
  532. package/.next/standalone/.next/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
  533. package/.next/standalone/.next/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
  534. package/.next/standalone/.next/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
  535. package/.next/standalone/.next/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
  536. package/.next/standalone/.next/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
  537. package/.next/standalone/.next/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
  538. package/.next/standalone/.next/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
  539. package/.next/standalone/.next/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
  540. package/.next/standalone/.next/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
  541. package/.next/standalone/.next/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
  542. package/.next/standalone/.next/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
  543. package/.next/standalone/.next/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
  544. package/.next/standalone/.next/static/{static/chunks/app/blue/explorer/refactor/page-00cb78fc390c2180.js → chunks/app/blue/explorer/refactor/page-7a1f6ed11e9571e2.js} +1 -1
  545. package/.next/standalone/.next/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
  546. package/.next/standalone/.next/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
  547. package/.next/standalone/.next/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
  548. package/.next/{static/chunks/app/blue/page-f4ee07f4d344f2a3.js → standalone/.next/static/chunks/app/blue/page-93eae87ab6d00744.js} +1 -1
  549. package/.next/standalone/.next/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
  550. package/.next/standalone/.next/static/chunks/app/blue/recommendations/{page-a4c7e29279255810.js → page-0acb52f5fd116d50.js} +1 -1
  551. package/.next/{static/chunks/app/blue/sessions/[id]/page-5d579eb65e6eb241.js → standalone/.next/static/chunks/app/blue/sessions/[id]/page-ef15ea149058d11f.js} +1 -1
  552. package/.next/{static/chunks/app/blue/sessions/page-f4f63169769c824c.js → standalone/.next/static/chunks/app/blue/sessions/page-dc461a931a50a038.js} +1 -1
  553. package/.next/{static/chunks/app/green/cross-layer/page-19478231719554ad.js → standalone/.next/static/chunks/app/green/cross-layer/page-2cbb41cf8e8d8ca0.js} +1 -1
  554. package/.next/standalone/.next/static/chunks/app/green/insights/[id]/{page-6b6c1b4332580525.js → page-6e7df3da727fca1e.js} +1 -1
  555. package/.next/{static/chunks/app/green/insights/page-d7dc0a40a00765f9.js → standalone/.next/static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
  556. package/.next/standalone/.next/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
  557. package/.next/{static/chunks/app/green/page-d6c742a31a4fa4f3.js → standalone/.next/static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
  558. package/.next/{static/chunks/app/green/queries/[id]/page-8a527d8b13d5262f.js → standalone/.next/static/chunks/app/green/queries/[id]/page-e239ee7a85e4a90d.js} +1 -1
  559. package/.next/standalone/.next/static/chunks/app/green/queries/{page-d151ce517cf80ddb.js → page-4df25fe178475dd3.js} +1 -1
  560. package/.next/standalone/.next/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
  561. package/.next/standalone/.next/static/{static/chunks/app/page-db3a489ea4200465.js → chunks/app/page-1f36cee48eda8c55.js} +1 -1
  562. package/.next/standalone/.next/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
  563. package/.next/standalone/.next/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
  564. package/.next/standalone/.next/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
  565. package/.next/standalone/.next/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
  566. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
  567. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
  568. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
  569. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
  570. package/.next/standalone/.next/static/css/e3cfb352af066a62.css +1 -0
  571. package/.next/standalone/.next/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
  572. package/.next/standalone/.next/static/static/chunks/1495-75e9acb2052fc0df.js +1 -0
  573. package/.next/standalone/.next/static/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
  574. package/.next/standalone/.next/static/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
  575. package/.next/standalone/.next/static/static/chunks/5516-cb87b88338e627ef.js +1 -0
  576. package/.next/standalone/.next/static/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
  577. package/.next/standalone/.next/static/{chunks/app/amber/capabilities/[id]/page-016e34f6bc7b1332.js → static/chunks/app/amber/capabilities/[id]/page-dec90538e1cf5523.js} +1 -1
  578. package/.next/standalone/.next/static/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
  579. package/.next/standalone/.next/static/static/chunks/app/amber/coverage/{page-562f7636134ad802.js → page-f1a1b649283ce9e5.js} +1 -1
  580. package/.next/standalone/.next/static/static/chunks/app/amber/files/{page-c5a00329d2baea42.js → page-7f881cdb968806b0.js} +1 -1
  581. package/.next/standalone/.next/static/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
  582. package/.next/standalone/.next/static/static/chunks/app/amber/{page-09a2a736e71e67f1.js → page-fa23a597af958b37.js} +1 -1
  583. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
  584. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
  585. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
  586. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
  587. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
  588. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
  589. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
  590. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
  591. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
  592. package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
  593. package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
  594. package/.next/standalone/.next/static/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
  595. package/.next/standalone/.next/static/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
  596. package/.next/standalone/.next/static/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
  597. package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
  598. package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
  599. package/.next/standalone/.next/static/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
  600. package/.next/standalone/.next/static/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
  601. package/.next/standalone/.next/static/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
  602. package/.next/standalone/.next/static/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
  603. package/.next/standalone/.next/static/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
  604. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
  605. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
  606. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
  607. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
  608. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
  609. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
  610. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
  611. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
  612. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
  613. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
  614. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
  615. package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
  616. package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
  617. package/.next/standalone/.next/static/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
  618. package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
  619. package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
  620. package/.next/standalone/.next/static/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
  621. package/.next/standalone/.next/static/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
  622. package/.next/standalone/.next/static/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
  623. package/.next/standalone/.next/static/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
  624. package/.next/standalone/.next/static/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
  625. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
  626. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
  627. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
  628. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
  629. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
  630. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
  631. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
  632. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
  633. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
  634. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
  635. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
  636. package/.next/standalone/.next/static/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
  637. package/.next/standalone/.next/static/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
  638. package/.next/standalone/.next/static/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
  639. package/.next/standalone/.next/static/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
  640. package/.next/standalone/.next/static/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
  641. package/.next/standalone/.next/static/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
  642. package/.next/standalone/.next/static/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
  643. package/.next/standalone/.next/static/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
  644. package/.next/standalone/.next/static/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
  645. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
  646. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
  647. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
  648. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
  649. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
  650. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
  651. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
  652. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
  653. package/.next/standalone/.next/static/{chunks/app/blue/explorer/refactor/page-00cb78fc390c2180.js → static/chunks/app/blue/explorer/refactor/page-7a1f6ed11e9571e2.js} +1 -1
  654. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
  655. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
  656. package/.next/standalone/.next/static/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
  657. package/.next/standalone/.next/static/static/chunks/app/blue/{page-f4ee07f4d344f2a3.js → page-93eae87ab6d00744.js} +1 -1
  658. package/.next/standalone/.next/static/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
  659. package/.next/{static/chunks/app/blue/recommendations/page-a4c7e29279255810.js → standalone/.next/static/static/chunks/app/blue/recommendations/page-0acb52f5fd116d50.js} +1 -1
  660. package/.next/standalone/.next/static/{chunks/app/blue/sessions/[id]/page-5d579eb65e6eb241.js → static/chunks/app/blue/sessions/[id]/page-ef15ea149058d11f.js} +1 -1
  661. package/.next/standalone/.next/static/static/chunks/app/blue/sessions/{page-f4f63169769c824c.js → page-dc461a931a50a038.js} +1 -1
  662. package/.next/standalone/.next/static/{chunks/app/green/cross-layer/page-19478231719554ad.js → static/chunks/app/green/cross-layer/page-2cbb41cf8e8d8ca0.js} +1 -1
  663. 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
  664. package/.next/standalone/.next/static/{chunks/app/green/insights/page-d7dc0a40a00765f9.js → static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
  665. package/.next/standalone/.next/static/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
  666. package/.next/standalone/.next/static/{chunks/app/green/page-d6c742a31a4fa4f3.js → static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
  667. package/.next/standalone/.next/static/{chunks/app/green/queries/[id]/page-8a527d8b13d5262f.js → static/chunks/app/green/queries/[id]/page-e239ee7a85e4a90d.js} +1 -1
  668. package/.next/{static/chunks/app/green/queries/page-d151ce517cf80ddb.js → standalone/.next/static/static/chunks/app/green/queries/page-4df25fe178475dd3.js} +1 -1
  669. package/.next/standalone/.next/static/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
  670. package/.next/standalone/.next/static/{chunks/app/page-db3a489ea4200465.js → static/chunks/app/page-1f36cee48eda8c55.js} +1 -1
  671. package/.next/standalone/.next/static/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
  672. package/.next/standalone/.next/static/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
  673. package/.next/standalone/.next/static/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
  674. package/.next/standalone/.next/static/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
  675. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
  676. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
  677. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
  678. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
  679. package/.next/standalone/.next/static/static/css/e3cfb352af066a62.css +1 -0
  680. package/.next/standalone/.next/static/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
  681. package/.next/standalone/package.json +2 -2
  682. package/.next/standalone/server.js +1 -1
  683. package/.next/static/chunks/1495-75e9acb2052fc0df.js +1 -0
  684. package/.next/static/chunks/4014-1bdaa4a4aa755acc.js +1 -0
  685. package/.next/static/chunks/5296-040e8a46e0c6ccd4.js +1 -0
  686. package/.next/static/chunks/5516-cb87b88338e627ef.js +1 -0
  687. package/.next/static/chunks/app/_global-error/page-05a55b31e510d828.js +1 -0
  688. package/.next/static/chunks/app/amber/capabilities/[id]/{page-016e34f6bc7b1332.js → page-dec90538e1cf5523.js} +1 -1
  689. package/.next/static/chunks/app/amber/capabilities/{page-52aa01ecdc70f22e.js → page-d483851584da09dc.js} +1 -1
  690. package/.next/{standalone/.next/static/chunks/app/amber/coverage/page-562f7636134ad802.js → static/chunks/app/amber/coverage/page-f1a1b649283ce9e5.js} +1 -1
  691. package/.next/{standalone/.next/static/chunks/app/amber/files/page-c5a00329d2baea42.js → static/chunks/app/amber/files/page-7f881cdb968806b0.js} +1 -1
  692. package/.next/static/chunks/app/amber/layout-05a55b31e510d828.js +1 -0
  693. package/.next/{standalone/.next/static/chunks/app/amber/page-09a2a736e71e67f1.js → static/chunks/app/amber/page-fa23a597af958b37.js} +1 -1
  694. package/.next/static/chunks/app/api/amber/ai/bootstrap/route-05a55b31e510d828.js +1 -0
  695. package/.next/static/chunks/app/api/amber/ai/bulk-depth/apply/route-05a55b31e510d828.js +1 -0
  696. package/.next/static/chunks/app/api/amber/ai/bulk-depth/parse/route-05a55b31e510d828.js +1 -0
  697. package/.next/static/chunks/app/api/amber/ai/bulk-depth/route-05a55b31e510d828.js +1 -0
  698. package/.next/static/chunks/app/api/amber/ai/bulk-tag/apply/route-05a55b31e510d828.js +1 -0
  699. package/.next/static/chunks/app/api/amber/ai/bulk-tag/parse/route-05a55b31e510d828.js +1 -0
  700. package/.next/static/chunks/app/api/amber/ai/bulk-tag/route-05a55b31e510d828.js +1 -0
  701. package/.next/static/chunks/app/api/amber/ai/depth-update/apply/route-05a55b31e510d828.js +1 -0
  702. package/.next/static/chunks/app/api/amber/ai/depth-update/route-05a55b31e510d828.js +1 -0
  703. package/.next/static/chunks/app/api/amber/capabilities/[id]/route-05a55b31e510d828.js +1 -0
  704. package/.next/static/chunks/app/api/amber/capabilities/route-05a55b31e510d828.js +1 -0
  705. package/.next/static/chunks/app/api/amber/chat/route-05a55b31e510d828.js +1 -0
  706. package/.next/static/chunks/app/api/amber/config/route-05a55b31e510d828.js +1 -0
  707. package/.next/static/chunks/app/api/amber/context-options/route-05a55b31e510d828.js +1 -0
  708. package/.next/static/chunks/app/api/amber/coverage/[scanId]/route-05a55b31e510d828.js +1 -0
  709. package/.next/static/chunks/app/api/amber/coverage/route-05a55b31e510d828.js +1 -0
  710. package/.next/static/chunks/app/api/amber/enriched/route-05a55b31e510d828.js +1 -0
  711. package/.next/static/chunks/app/api/amber/files/route-05a55b31e510d828.js +1 -0
  712. package/.next/static/chunks/app/api/amber/registry/route-05a55b31e510d828.js +1 -0
  713. package/.next/static/chunks/app/api/amber/scan/route-05a55b31e510d828.js +1 -0
  714. package/.next/static/chunks/app/api/blue/auto-execute/route-05a55b31e510d828.js +1 -0
  715. package/.next/static/chunks/app/api/blue/explorer/ask/route-05a55b31e510d828.js +1 -0
  716. package/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-05a55b31e510d828.js +1 -0
  717. package/.next/static/chunks/app/api/blue/explorer/coverage/route-05a55b31e510d828.js +1 -0
  718. package/.next/static/chunks/app/api/blue/explorer/doc-content/route-05a55b31e510d828.js +1 -0
  719. package/.next/static/chunks/app/api/blue/explorer/explain/route-05a55b31e510d828.js +1 -0
  720. package/.next/static/chunks/app/api/blue/explorer/history/route-05a55b31e510d828.js +1 -0
  721. package/.next/static/chunks/app/api/blue/explorer/outdated/route-05a55b31e510d828.js +1 -0
  722. package/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-05a55b31e510d828.js +1 -0
  723. package/.next/static/chunks/app/api/blue/explorer/refactor/route-05a55b31e510d828.js +1 -0
  724. package/.next/static/chunks/app/api/blue/explorer/route-05a55b31e510d828.js +1 -0
  725. package/.next/static/chunks/app/api/blue/explorer/todos/route-05a55b31e510d828.js +1 -0
  726. package/.next/static/chunks/app/api/blue/recommendations/[id]/route-05a55b31e510d828.js +1 -0
  727. package/.next/static/chunks/app/api/blue/recommendations/route-05a55b31e510d828.js +1 -0
  728. package/.next/static/chunks/app/api/blue/scan/route-05a55b31e510d828.js +1 -0
  729. package/.next/static/chunks/app/api/blue/sessions/[id]/route-05a55b31e510d828.js +1 -0
  730. package/.next/static/chunks/app/api/blue/sessions/route-05a55b31e510d828.js +1 -0
  731. package/.next/static/chunks/app/api/blue/standards/route-05a55b31e510d828.js +1 -0
  732. package/.next/static/chunks/app/api/config/route-05a55b31e510d828.js +1 -0
  733. package/.next/static/chunks/app/api/config/test/route-05a55b31e510d828.js +1 -0
  734. package/.next/static/chunks/app/api/green/chat/route-05a55b31e510d828.js +1 -0
  735. package/.next/static/chunks/app/api/green/cross-layer/route-05a55b31e510d828.js +1 -0
  736. package/.next/static/chunks/app/api/green/insights/[id]/route-05a55b31e510d828.js +1 -0
  737. package/.next/static/chunks/app/api/green/insights/apply/route-05a55b31e510d828.js +1 -0
  738. package/.next/static/chunks/app/api/green/insights/discover/route-05a55b31e510d828.js +1 -0
  739. package/.next/static/chunks/app/api/green/insights/parse/route-05a55b31e510d828.js +1 -0
  740. package/.next/static/chunks/app/api/green/insights/proposed/route-05a55b31e510d828.js +1 -0
  741. package/.next/static/chunks/app/api/green/insights/route-05a55b31e510d828.js +1 -0
  742. package/.next/static/chunks/app/api/green/queries/[id]/route-05a55b31e510d828.js +1 -0
  743. package/.next/static/chunks/app/api/green/queries/[id]/run/route-05a55b31e510d828.js +1 -0
  744. package/.next/static/chunks/app/api/green/queries/promote/route-05a55b31e510d828.js +1 -0
  745. package/.next/static/chunks/app/api/green/queries/route-05a55b31e510d828.js +1 -0
  746. package/.next/static/chunks/app/api/green/queries/track-use/route-05a55b31e510d828.js +1 -0
  747. package/.next/static/chunks/app/api/green/status/route-05a55b31e510d828.js +1 -0
  748. package/.next/static/chunks/app/api/license/activate/route-05a55b31e510d828.js +1 -0
  749. package/.next/static/chunks/app/api/license/deactivate/route-05a55b31e510d828.js +1 -0
  750. package/.next/static/chunks/app/api/license/route-05a55b31e510d828.js +1 -0
  751. package/.next/static/chunks/app/api/license/validate/route-05a55b31e510d828.js +1 -0
  752. package/.next/static/chunks/app/api/monorepo/active/route-05a55b31e510d828.js +1 -0
  753. package/.next/static/chunks/app/api/monorepo/route-05a55b31e510d828.js +1 -0
  754. package/.next/static/chunks/app/api/scan/route-05a55b31e510d828.js +1 -0
  755. package/.next/static/chunks/app/blue/dashboard/page-7d75680b4cf221c2.js +1 -0
  756. package/.next/static/chunks/app/blue/explorer/ask/page-4d9216702453858d.js +1 -0
  757. package/.next/static/chunks/app/blue/explorer/explain/page-70bb5428c468facd.js +1 -0
  758. package/.next/static/chunks/app/blue/explorer/file/[path]/page-9b6fca7b214ec972.js +1 -0
  759. package/.next/static/chunks/app/blue/explorer/fitness/page-54f37c677997df21.js +1 -0
  760. package/.next/static/chunks/app/blue/explorer/flow/page-e9df14cefd07910a.js +1 -0
  761. package/.next/static/chunks/app/blue/explorer/graph/page-c654986ed40f7e38.js +1 -0
  762. package/.next/static/chunks/app/blue/explorer/libraries/page-e8b96ab19d7aab9e.js +1 -0
  763. package/.next/static/chunks/app/blue/explorer/page-9e4d7f82ec623955.js +8 -0
  764. package/.next/static/chunks/app/blue/explorer/refactor/{page-00cb78fc390c2180.js → page-7a1f6ed11e9571e2.js} +1 -1
  765. package/.next/static/chunks/app/blue/explorer/wire/page-b5f8b4d38ea94ee3.js +1 -0
  766. package/.next/static/chunks/app/blue/explorer/zones/page-bb391218a38d38e1.js +1 -0
  767. package/.next/static/chunks/app/blue/layout-05a55b31e510d828.js +1 -0
  768. package/.next/{standalone/.next/static/chunks/app/blue/page-f4ee07f4d344f2a3.js → static/chunks/app/blue/page-93eae87ab6d00744.js} +1 -1
  769. package/.next/static/chunks/app/blue/recommendations/[id]/{page-44f4d670b3043dc6.js → page-2dadc6743205b762.js} +1 -1
  770. package/.next/{standalone/.next/static/static/chunks/app/blue/recommendations/page-a4c7e29279255810.js → static/chunks/app/blue/recommendations/page-0acb52f5fd116d50.js} +1 -1
  771. 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
  772. package/.next/{standalone/.next/static/chunks/app/blue/sessions/page-f4f63169769c824c.js → static/chunks/app/blue/sessions/page-dc461a931a50a038.js} +1 -1
  773. 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
  774. 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
  775. package/.next/{standalone/.next/static/static/chunks/app/green/insights/page-d7dc0a40a00765f9.js → static/chunks/app/green/insights/page-39fbd6e20373817d.js} +1 -1
  776. package/.next/static/chunks/app/green/layout-05a55b31e510d828.js +1 -0
  777. package/.next/{standalone/.next/static/static/chunks/app/green/page-d6c742a31a4fa4f3.js → static/chunks/app/green/page-dde639b300e7d6e1.js} +1 -1
  778. 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
  779. package/.next/{standalone/.next/static/static/chunks/app/green/queries/page-d151ce517cf80ddb.js → static/chunks/app/green/queries/page-4df25fe178475dd3.js} +1 -1
  780. package/.next/static/chunks/app/opengraph-image/route-05a55b31e510d828.js +1 -0
  781. package/.next/static/chunks/app/{page-db3a489ea4200465.js → page-1f36cee48eda8c55.js} +1 -1
  782. package/.next/static/chunks/app/plans/page-05a55b31e510d828.js +1 -0
  783. package/.next/static/chunks/app/robots.txt/route-05a55b31e510d828.js +1 -0
  784. package/.next/static/chunks/app/settings/{page-d3b8157094ee3c9c.js → page-d7295940f8268d68.js} +1 -1
  785. package/.next/static/chunks/app/sitemap.xml/route-05a55b31e510d828.js +1 -0
  786. package/.next/static/chunks/next/dist/client/components/builtin/app-error-05a55b31e510d828.js +1 -0
  787. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-05a55b31e510d828.js +1 -0
  788. package/.next/static/chunks/next/dist/client/components/builtin/not-found-05a55b31e510d828.js +1 -0
  789. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-05a55b31e510d828.js +1 -0
  790. package/.next/static/css/e3cfb352af066a62.css +1 -0
  791. package/.next/static/qLLIDH_h2yj22uNNp3KKM/_buildManifest.js +1 -0
  792. package/CHANGELOG.md +131 -0
  793. package/package.json +2 -2
  794. package/.next/standalone/.next/server/chunks/2595.js +0 -1
  795. package/.next/standalone/.next/server/chunks/3373.js +0 -1
  796. package/.next/standalone/.next/server/chunks/3887.js +0 -1
  797. package/.next/standalone/.next/server/chunks/8025.js +0 -1
  798. package/.next/standalone/.next/server/chunks/8369.js +0 -1
  799. package/.next/standalone/.next/static/chunks/1385-e703281157e9a720.js +0 -1
  800. package/.next/standalone/.next/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
  801. package/.next/standalone/.next/static/chunks/2069-6c986f45d83747e8.js +0 -1
  802. package/.next/standalone/.next/static/chunks/6828-8083804108435962.js +0 -1
  803. package/.next/standalone/.next/static/chunks/6901-0fb424e0f614eb33.js +0 -1
  804. package/.next/standalone/.next/static/chunks/8110-2759599cc7c92cb2.js +0 -1
  805. package/.next/standalone/.next/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
  806. package/.next/standalone/.next/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
  807. package/.next/standalone/.next/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
  808. package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
  809. package/.next/standalone/.next/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
  810. package/.next/standalone/.next/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
  811. package/.next/standalone/.next/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
  812. package/.next/standalone/.next/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
  813. package/.next/standalone/.next/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
  814. package/.next/standalone/.next/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
  815. package/.next/standalone/.next/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
  816. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
  817. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
  818. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
  819. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
  820. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
  821. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
  822. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
  823. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
  824. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
  825. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
  826. package/.next/standalone/.next/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
  827. package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
  828. package/.next/standalone/.next/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
  829. package/.next/standalone/.next/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
  830. package/.next/standalone/.next/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
  831. package/.next/standalone/.next/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
  832. package/.next/standalone/.next/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
  833. package/.next/standalone/.next/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
  834. package/.next/standalone/.next/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
  835. package/.next/standalone/.next/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
  836. package/.next/standalone/.next/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
  837. package/.next/standalone/.next/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
  838. package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
  839. package/.next/standalone/.next/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
  840. package/.next/standalone/.next/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
  841. package/.next/standalone/.next/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
  842. package/.next/standalone/.next/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
  843. package/.next/standalone/.next/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
  844. package/.next/standalone/.next/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
  845. package/.next/standalone/.next/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
  846. package/.next/standalone/.next/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
  847. package/.next/standalone/.next/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
  848. package/.next/standalone/.next/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
  849. package/.next/standalone/.next/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
  850. package/.next/standalone/.next/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
  851. package/.next/standalone/.next/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
  852. package/.next/standalone/.next/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
  853. package/.next/standalone/.next/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
  854. package/.next/standalone/.next/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
  855. package/.next/standalone/.next/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
  856. package/.next/standalone/.next/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
  857. package/.next/standalone/.next/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
  858. package/.next/standalone/.next/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
  859. package/.next/standalone/.next/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
  860. package/.next/standalone/.next/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
  861. package/.next/standalone/.next/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
  862. package/.next/standalone/.next/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
  863. package/.next/standalone/.next/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
  864. package/.next/standalone/.next/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
  865. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
  866. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
  867. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
  868. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
  869. package/.next/standalone/.next/static/css/e44bc5acc45571f0.css +0 -1
  870. package/.next/standalone/.next/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
  871. package/.next/standalone/.next/static/static/chunks/1385-e703281157e9a720.js +0 -1
  872. package/.next/standalone/.next/static/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
  873. package/.next/standalone/.next/static/static/chunks/2069-6c986f45d83747e8.js +0 -1
  874. package/.next/standalone/.next/static/static/chunks/6828-8083804108435962.js +0 -1
  875. package/.next/standalone/.next/static/static/chunks/6901-0fb424e0f614eb33.js +0 -1
  876. package/.next/standalone/.next/static/static/chunks/8110-2759599cc7c92cb2.js +0 -1
  877. package/.next/standalone/.next/static/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
  878. package/.next/standalone/.next/static/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
  879. package/.next/standalone/.next/static/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
  880. package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
  881. package/.next/standalone/.next/static/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
  882. package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
  883. package/.next/standalone/.next/static/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
  884. package/.next/standalone/.next/static/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
  885. package/.next/standalone/.next/static/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
  886. package/.next/standalone/.next/static/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
  887. package/.next/standalone/.next/static/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
  888. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
  889. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
  890. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
  891. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
  892. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
  893. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
  894. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
  895. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
  896. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
  897. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
  898. package/.next/standalone/.next/static/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
  899. package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
  900. package/.next/standalone/.next/static/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
  901. package/.next/standalone/.next/static/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
  902. package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
  903. package/.next/standalone/.next/static/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
  904. package/.next/standalone/.next/static/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
  905. package/.next/standalone/.next/static/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
  906. package/.next/standalone/.next/static/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
  907. package/.next/standalone/.next/static/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
  908. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
  909. package/.next/standalone/.next/static/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
  910. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
  911. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
  912. package/.next/standalone/.next/static/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
  913. package/.next/standalone/.next/static/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
  914. package/.next/standalone/.next/static/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
  915. package/.next/standalone/.next/static/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
  916. package/.next/standalone/.next/static/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
  917. package/.next/standalone/.next/static/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
  918. package/.next/standalone/.next/static/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
  919. package/.next/standalone/.next/static/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
  920. package/.next/standalone/.next/static/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
  921. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
  922. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
  923. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
  924. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
  925. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
  926. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
  927. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
  928. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
  929. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
  930. package/.next/standalone/.next/static/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
  931. package/.next/standalone/.next/static/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
  932. package/.next/standalone/.next/static/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
  933. package/.next/standalone/.next/static/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
  934. package/.next/standalone/.next/static/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
  935. package/.next/standalone/.next/static/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
  936. package/.next/standalone/.next/static/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
  937. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
  938. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
  939. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
  940. package/.next/standalone/.next/static/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
  941. package/.next/standalone/.next/static/static/css/e44bc5acc45571f0.css +0 -1
  942. package/.next/standalone/.next/static/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
  943. package/.next/static/chunks/1385-e703281157e9a720.js +0 -1
  944. package/.next/static/chunks/1441-2b75da1c3e2abfee.js +0 -1
  945. package/.next/static/chunks/2069-6c986f45d83747e8.js +0 -1
  946. package/.next/static/chunks/6828-8083804108435962.js +0 -1
  947. package/.next/static/chunks/6901-0fb424e0f614eb33.js +0 -1
  948. package/.next/static/chunks/8110-2759599cc7c92cb2.js +0 -1
  949. package/.next/static/chunks/app/_global-error/page-b050e93bd02bb2f9.js +0 -1
  950. package/.next/static/chunks/app/amber/layout-b050e93bd02bb2f9.js +0 -1
  951. package/.next/static/chunks/app/api/amber/ai/bootstrap/route-b050e93bd02bb2f9.js +0 -1
  952. package/.next/static/chunks/app/api/amber/capabilities/[id]/route-b050e93bd02bb2f9.js +0 -1
  953. package/.next/static/chunks/app/api/amber/capabilities/route-b050e93bd02bb2f9.js +0 -1
  954. package/.next/static/chunks/app/api/amber/coverage/[scanId]/route-b050e93bd02bb2f9.js +0 -1
  955. package/.next/static/chunks/app/api/amber/coverage/route-b050e93bd02bb2f9.js +0 -1
  956. package/.next/static/chunks/app/api/amber/files/route-b050e93bd02bb2f9.js +0 -1
  957. package/.next/static/chunks/app/api/amber/registry/route-b050e93bd02bb2f9.js +0 -1
  958. package/.next/static/chunks/app/api/amber/scan/route-b050e93bd02bb2f9.js +0 -1
  959. package/.next/static/chunks/app/api/blue/auto-execute/route-b050e93bd02bb2f9.js +0 -1
  960. package/.next/static/chunks/app/api/blue/explorer/ask/route-b050e93bd02bb2f9.js +0 -1
  961. package/.next/static/chunks/app/api/blue/explorer/comments/[hash]/route-b050e93bd02bb2f9.js +0 -1
  962. package/.next/static/chunks/app/api/blue/explorer/coverage/route-b050e93bd02bb2f9.js +0 -1
  963. package/.next/static/chunks/app/api/blue/explorer/doc-content/route-b050e93bd02bb2f9.js +0 -1
  964. package/.next/static/chunks/app/api/blue/explorer/explain/route-b050e93bd02bb2f9.js +0 -1
  965. package/.next/static/chunks/app/api/blue/explorer/history/route-b050e93bd02bb2f9.js +0 -1
  966. package/.next/static/chunks/app/api/blue/explorer/outdated/route-b050e93bd02bb2f9.js +0 -1
  967. package/.next/static/chunks/app/api/blue/explorer/refactor/prompt/route-b050e93bd02bb2f9.js +0 -1
  968. package/.next/static/chunks/app/api/blue/explorer/refactor/route-b050e93bd02bb2f9.js +0 -1
  969. package/.next/static/chunks/app/api/blue/explorer/route-b050e93bd02bb2f9.js +0 -1
  970. package/.next/static/chunks/app/api/blue/explorer/todos/route-b050e93bd02bb2f9.js +0 -1
  971. package/.next/static/chunks/app/api/blue/recommendations/[id]/route-b050e93bd02bb2f9.js +0 -1
  972. package/.next/static/chunks/app/api/blue/recommendations/route-b050e93bd02bb2f9.js +0 -1
  973. package/.next/static/chunks/app/api/blue/scan/route-b050e93bd02bb2f9.js +0 -1
  974. package/.next/static/chunks/app/api/blue/sessions/[id]/route-b050e93bd02bb2f9.js +0 -1
  975. package/.next/static/chunks/app/api/blue/sessions/route-b050e93bd02bb2f9.js +0 -1
  976. package/.next/static/chunks/app/api/blue/standards/route-b050e93bd02bb2f9.js +0 -1
  977. package/.next/static/chunks/app/api/config/route-b050e93bd02bb2f9.js +0 -1
  978. package/.next/static/chunks/app/api/config/test/route-b050e93bd02bb2f9.js +0 -1
  979. package/.next/static/chunks/app/api/green/cross-layer/route-b050e93bd02bb2f9.js +0 -1
  980. package/.next/static/chunks/app/api/green/insights/[id]/route-b050e93bd02bb2f9.js +0 -1
  981. package/.next/static/chunks/app/api/green/insights/route-b050e93bd02bb2f9.js +0 -1
  982. package/.next/static/chunks/app/api/green/queries/[id]/route-b050e93bd02bb2f9.js +0 -1
  983. package/.next/static/chunks/app/api/green/queries/[id]/run/route-b050e93bd02bb2f9.js +0 -1
  984. package/.next/static/chunks/app/api/green/queries/route-b050e93bd02bb2f9.js +0 -1
  985. package/.next/static/chunks/app/api/license/activate/route-b050e93bd02bb2f9.js +0 -1
  986. package/.next/static/chunks/app/api/license/deactivate/route-b050e93bd02bb2f9.js +0 -1
  987. package/.next/static/chunks/app/api/license/route-b050e93bd02bb2f9.js +0 -1
  988. package/.next/static/chunks/app/api/license/validate/route-b050e93bd02bb2f9.js +0 -1
  989. package/.next/static/chunks/app/api/monorepo/active/route-b050e93bd02bb2f9.js +0 -1
  990. package/.next/static/chunks/app/api/monorepo/route-b050e93bd02bb2f9.js +0 -1
  991. package/.next/static/chunks/app/api/scan/route-b050e93bd02bb2f9.js +0 -1
  992. package/.next/static/chunks/app/blue/dashboard/page-208108a9d7616ebe.js +0 -1
  993. package/.next/static/chunks/app/blue/explorer/ask/page-32950a1d32353670.js +0 -1
  994. package/.next/static/chunks/app/blue/explorer/explain/page-0a662acfb4c43a41.js +0 -1
  995. package/.next/static/chunks/app/blue/explorer/file/[path]/page-98e380a5d183f833.js +0 -1
  996. package/.next/static/chunks/app/blue/explorer/fitness/page-f8cd243ce8f3f1d0.js +0 -1
  997. package/.next/static/chunks/app/blue/explorer/flow/page-8e05f476ab6c32be.js +0 -1
  998. package/.next/static/chunks/app/blue/explorer/graph/page-1719a80cb76d1fe4.js +0 -1
  999. package/.next/static/chunks/app/blue/explorer/libraries/page-4c53d33a9214cd65.js +0 -1
  1000. package/.next/static/chunks/app/blue/explorer/page-f907387a0fc355e8.js +0 -1
  1001. package/.next/static/chunks/app/blue/explorer/wire/page-aadf8a9dbd625041.js +0 -1
  1002. package/.next/static/chunks/app/blue/explorer/zones/page-e5c261a22d210a79.js +0 -3
  1003. package/.next/static/chunks/app/blue/layout-b050e93bd02bb2f9.js +0 -1
  1004. package/.next/static/chunks/app/green/layout-b050e93bd02bb2f9.js +0 -1
  1005. package/.next/static/chunks/app/opengraph-image/route-b050e93bd02bb2f9.js +0 -1
  1006. package/.next/static/chunks/app/plans/page-b050e93bd02bb2f9.js +0 -1
  1007. package/.next/static/chunks/app/robots.txt/route-b050e93bd02bb2f9.js +0 -1
  1008. package/.next/static/chunks/app/sitemap.xml/route-b050e93bd02bb2f9.js +0 -1
  1009. package/.next/static/chunks/next/dist/client/components/builtin/app-error-b050e93bd02bb2f9.js +0 -1
  1010. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-b050e93bd02bb2f9.js +0 -1
  1011. package/.next/static/chunks/next/dist/client/components/builtin/not-found-b050e93bd02bb2f9.js +0 -1
  1012. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-b050e93bd02bb2f9.js +0 -1
  1013. package/.next/static/css/e44bc5acc45571f0.css +0 -1
  1014. package/.next/static/s2Z9h2OHvDU8rn7KcosRH/_buildManifest.js +0 -1
  1015. /package/.next/standalone/.next/static/{s2Z9h2OHvDU8rn7KcosRH → qLLIDH_h2yj22uNNp3KKM}/_ssgManifest.js +0 -0
  1016. /package/.next/standalone/.next/static/static/{s2Z9h2OHvDU8rn7KcosRH → qLLIDH_h2yj22uNNp3KKM}/_ssgManifest.js +0 -0
  1017. /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.19.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
+ (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()}]);