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
@@ -0,0 +1,8 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4935],{3846:(e,t,s)=>{"use strict";s.d(t,{W:()=>o});var a=s(12115),l=s(83851);function r(e){return e.startsWith("src/")?e.slice(4):e}function n(e){let t=r(e);return t.startsWith("app/")?"app":t.startsWith("components/")?"component":t.startsWith("lib/")?"lib":t.startsWith("hooks/")?"hook":t.startsWith("pages/")?"app":t.startsWith("utils/")||t.startsWith("types/")?"lib":"unknown"}function o(){let{tq:e,ready:t}=(0,l.e)(),s=new URLSearchParams(e.slice(1)).get("target")??"",[o,i]=(0,a.useState)(null),[c,d]=(0,a.useState)(!1),[x,p]=(0,a.useState)(null),[h,m]=(0,a.useState)(!1),[u,b]=(0,a.useState)(!1),[f,g]=(0,a.useState)(!1),[y,j]=(0,a.useState)(0);return(0,a.useEffect)(()=>{t&&(d(!0),p(null),fetch(`/api/blue/explorer${e}`).then(async e=>{let t=await e.json().catch(()=>null);if(!e.ok)throw Error(t&&"string"==typeof t.error&&t.error||`Scan failed (HTTP ${e.status})`);return t}).then(t=>{let s=t?.data??null,a=!!t?._isDemo,l=!!t?._proGated;i(s?function(e){let t=e.files;if(!t?.length||t.filter(e=>"unknown"===e.category).length/t.length<.2)return e;let s=t.map(e=>{let t=n(e.path),s="page"===e.nextFileKind||"route"===e.nextFileKind||"layout"===e.nextFileKind?function(e){let t=r(e);if(!t.startsWith("app/"))return null;let s=t.slice(4),a=s.lastIndexOf("/"),l=a>=0?s.slice(0,a):".";if("."===l||!l)return"/";let n=l.split("/").filter(e=>!(e.startsWith("(")&&e.endsWith(")"))).filter(e=>"."!==e);return 0===n.length?"/":"/"+n.join("/")}(e.path)??e.routePath:e.routePath;return t===e.category&&s===e.routePath?e:{...e,category:t,routePath:s}}),a=(e.nodes??[]).map(e=>{let t=n(e.path);return t===e.category?e:{...e,category:t}}),l=[...new Set(s.filter(e=>e.routePath&&("page"===e.nextFileKind||"route"===e.nextFileKind)).map(e=>e.routePath))].sort(),o={...e.summary,componentCount:s.filter(e=>"component"===e.category).length,libCount:s.filter(e=>"lib"===e.category).length,hookCount:s.filter(e=>"hook"===e.category).length,pageCount:s.filter(e=>"app"===e.category).length,routeFileCount:s.filter(e=>"route"===e.nextFileKind).length,pageFileCount:s.filter(e=>"page"===e.nextFileKind).length,routesDiscovered:l};return{...e,files:s,nodes:a,summary:o}}(s):null),b(a),g(l),!s?.generatedAt||a||l||fetch(`/api/blue/explorer/outdated${e}&since=${encodeURIComponent(s.generatedAt)}`).then(e=>e.json()).then(({outdated:e})=>m(!!e)).catch(()=>{})}).catch(e=>{p(e instanceof Error?e.message:"Failed to load blueprint"),i(null)}).finally(()=>d(!1)))},[t,y]),{data:o,setData:i,loading:c,error:x,outdated:h,setOutdated:m,target:s,ready:t,isDemo:u,isProGated:f,reload:function(){j(e=>e+1)}}}},23035:(e,t,s)=>{"use strict";s.d(t,{Qq:()=>o,YT:()=>n,ZD:()=>i,Zm:()=>r});var a=s(12115),l=s(73321);let r="file",n="prism:selected-file-change";function o(e,t){if(!t)return e;let s=e.includes("?")?"&":"?";return`${e}${s}${r}=${encodeURIComponent(t)}`}function i(e){let t=(0,l.useSearchParams)(),[s,o]=(0,a.useState)(()=>t.get(r)),i=(0,a.useRef)(s);i.current=s,(0,a.useEffect)(()=>{let e=t.get(r);o(t=>t===e?t:e)},[t]);let c=(0,a.useCallback)(e=>{o(e);let t=new URL(window.location.href);e?t.searchParams.set(r,e):t.searchParams.delete(r),window.history.replaceState(window.history.state,"",t.toString()),window.dispatchEvent(new CustomEvent(n,{detail:e}))},[]),d=(0,a.useCallback)(e=>c(e&&e.length>0?e:null),[c]),x=(0,a.useCallback)(e=>{if(!e)return c(null);c(i.current===e.path?null:e.path)},[c]),p=(0,a.useCallback)(()=>c(null),[c]);return{selected:s&&e?.find(e=>e.path===s)||null,selectedPath:s,select:x,selectByPath:d,clear:p}}},25290:(e,t,s)=>{"use strict";s.d(t,{v:()=>r});var a=s(95155),l=s(12115);function r({target:e,onComplete:t}){let[s,n]=(0,l.useState)(!1);async function o(){n(!0);try{let s=await fetch("/api/blue/explorer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({target:e})}),a=await s.json();s.ok&&a.data&&t(a.data)}finally{n(!1)}}return(0,a.jsx)("button",{onClick:o,disabled:s,className:"text-xs px-3 py-1 rounded-md font-medium transition-all disabled:opacity-50",style:{background:"rgba(59,130,246,0.15)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.25)"},children:s?"Scanning…":"↺ Rescan"})}},71602:(e,t,s)=>{"use strict";s.d(t,{f:()=>l});var a=s(95155);function l({message:e,onRetry:t}){return(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",role:"alert",children:[(0,a.jsx)("span",{className:"text-5xl",children:"⚠️"}),(0,a.jsx)("h2",{className:"text-lg font-semibold text-red-300",children:"Couldn’t load architecture data"}),(0,a.jsxs)("p",{className:"text-sm text-slate-400 max-w-md",children:["The scan or blueprint load failed. This is ",(0,a.jsx)("em",{children:"not"})," an empty repo — something went wrong."]}),(0,a.jsx)("pre",{className:"text-xs font-mono text-red-300/90 max-w-md whitespace-pre-wrap break-words px-3 py-2 rounded-lg",style:{background:"rgba(127,29,29,0.18)",border:"1px solid rgba(153,27,27,0.35)"},children:e}),t&&(0,a.jsx)("button",{onClick:t,className:"text-xs font-semibold px-3 py-1.5 rounded-lg transition-colors",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.35)"},children:"↺ Retry"})]})}},78624:(e,t,s)=>{Promise.resolve().then(s.bind(s,98072))},98072:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>t0});var a=s(95155),l=s(12115),r=s(3846),n=s(23035),o=s(73321);let i="view",c=["list","graph","zones","wire","flow","fitness"];function d(e){return e&&c.includes(e)?e:"list"}var x=s(41897),p=s(92452),h=s(48435);let m={riskFilter:"all",heatFilter:"all",covFilter:"all",sortKey:"heat",sortDir:"desc",search:"",catFilter:"all"},u={high:2,medium:1,low:0},b={blue:{dot:"bg-blue-500",label:"BLUE",activeBg:"bg-blue-500/10",activeBorder:"border-blue-500/60",activeText:"text-blue-200"},amber:{dot:"bg-amber-500",label:"AMBER",activeBg:"bg-amber-500/10",activeBorder:"border-amber-500/60",activeText:"text-amber-200"},green:{dot:"bg-emerald-500",label:"GREEN",activeBg:"bg-emerald-500/10",activeBorder:"border-emerald-500/60",activeText:"text-emerald-200"}};function f({mode:e,active:t,disabled:s=!1,onClick:l}){let r=b[e];return(0,a.jsxs)("button",{type:"button",onClick:s?void 0:l,disabled:s,title:`${r.label} mode`,"aria-pressed":t,"data-mode":e,"data-testid":`explorer-mode-${e}`,className:["flex items-center gap-1.5 px-2.5 py-1 rounded text-xs font-mono border transition-colors select-none",t?`${r.activeBg} ${r.activeBorder} ${r.activeText}`:"bg-transparent border-transparent text-slate-500 hover:text-slate-300",s?"opacity-50 cursor-not-allowed":"cursor-pointer"].join(" "),children:[(0,a.jsx)("span",{"data-testid":`mode-dot-${e}`,className:`w-1.5 h-1.5 rounded-full shrink-0 ${r.dot}`}),r.label]})}function g({drift:e,orphanCapabilityIds:t,unknownCapabilityRefs:s,onOpenDriftFilter:l}){let r=e.filter(e=>"content_changed_no_doc_update"===e.kind),n=r.length>0,o=t.length>0||s.length>0;return n||o?(0,a.jsxs)("div",{className:"shrink-0 border-b border-amber-900/40",children:[n&&(0,a.jsxs)("div",{className:"bg-amber-950/40 px-5 py-2 flex items-center gap-3",children:[(0,a.jsxs)("span",{className:"text-amber-400 text-xs flex-1",children:["⚠ ",r.length," ",1===r.length?"File":"Files"," ge\xe4ndert seit Docu"]}),(0,a.jsx)("button",{onClick:l,className:"text-[10px] text-amber-300 hover:text-amber-100 underline underline-offset-2 transition-colors shrink-0",children:"Review \xf6ffnen"})]}),o&&(0,a.jsxs)("div",{className:"bg-slate-900/60 px-5 py-1.5 flex items-center gap-4",children:[t.length>0&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500 font-mono",children:[t.length," orphan cap",1!==t.length?"s":""]}),s.length>0&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500 font-mono",children:[s.length," unknown ref",1!==s.length?"s":""]})]})]}):null}let y=["critical","high","medium","low"];var j=s(48426),v=s(32957),N=s(48250);let k="\0AMBERCAP\0";function w({text:e,capIds:t,onSelectCapability:s}){return(0,a.jsx)(j.oz,{remarkPlugins:[v.A,()=>e=>{(0,N.YR)(e,"text",(e,s,a)=>{let l;if(!a||void 0===s)return;let r=e.value,n=/\[([^\]]+)\]/g,o=[],i=0;for(;null!==(l=n.exec(r));){let e=l[1];t.has(e)&&(l.index>i&&o.push({type:"text",value:r.slice(i,l.index)}),o.push({type:"inlineCode",value:k+e}),i=l.index+l[0].length)}0!==o.length&&(i<r.length&&o.push({type:"text",value:r.slice(i)}),a.children.splice(s,1,...o))})}],components:{code({children:e,...t}){let l=String(e);if(l.startsWith(k)){let e=l.slice(k.length);return(0,a.jsxs)("button",{onClick:()=>s(e),className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono bg-amber-900/40 text-amber-300 hover:bg-amber-900/60 border border-amber-700/40","data-testid":`cap-pill-${e}`,children:[(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-amber-400 shrink-0"}),e]})}return(0,a.jsx)("code",{...t,children:e})},table:({children:e})=>(0,a.jsx)("div",{className:"overflow-x-auto my-2",children:(0,a.jsx)("table",{className:"text-xs border-collapse w-full",children:e})}),th:({children:e})=>(0,a.jsx)("th",{className:"border border-slate-600 px-2 py-1 text-left text-amber-300 bg-slate-800",children:e}),td:({children:e})=>(0,a.jsx)("td",{className:"border border-slate-600 px-2 py-1 text-slate-300",children:e}),p:({children:e})=>(0,a.jsx)("p",{className:"mb-2 last:mb-0",children:e}),ul:({children:e})=>(0,a.jsx)("ul",{className:"list-disc list-inside mb-2 space-y-0.5",children:e}),ol:({children:e})=>(0,a.jsx)("ol",{className:"list-decimal list-inside mb-2 space-y-0.5",children:e}),li:({children:e})=>(0,a.jsx)("li",{className:"text-slate-300",children:e}),h1:({children:e})=>(0,a.jsx)("h1",{className:"text-sm font-semibold text-amber-200 mb-1",children:e}),h2:({children:e})=>(0,a.jsx)("h2",{className:"text-xs font-semibold text-amber-300 mb-1",children:e}),h3:({children:e})=>(0,a.jsx)("h3",{className:"text-xs font-semibold text-slate-200 mb-1",children:e}),strong:({children:e})=>(0,a.jsx)("strong",{className:"font-semibold text-slate-100",children:e})},children:e})}function C({msg:e,capIds:t,onSelectCapability:s}){let l="user"===e.role;return(0,a.jsx)("div",{className:`flex ${l?"justify-end":"justify-start"}`,children:(0,a.jsx)("div",{className:["max-w-[85%] rounded px-3 py-2",l?"bg-slate-700/60 text-slate-200 text-[11px]":"bg-slate-800/60 border border-slate-700/40 text-[11px] text-slate-300 leading-relaxed"].join(" "),children:l?(0,a.jsx)("p",{className:"text-[11px] text-slate-200 leading-relaxed whitespace-pre-wrap",children:e.content}):(0,a.jsx)(w,{text:e.content,capIds:t,onSelectCapability:s??(()=>{})})})})}function S({registry:e,onSend:t,onSelectCapability:s,onClose:r,initialMessage:n,disabled:o=!1}){let[i,c]=(0,l.useState)([]),[d,x]=(0,l.useState)(n??""),[p,h]=(0,l.useState)(!1),[m,u]=(0,l.useState)(null),b=(0,l.useRef)(null),f=(0,l.useRef)(null),g=new Set((e??[]).map(e=>e.id));async function y(){let e=d.trim();if(!e||p)return;let s=[...i,{role:"user",content:e}];c(s),x(""),h(!0),u(null);try{let{reply:e}=await t(s);c([...s,{role:"assistant",content:e}])}catch(t){u(t instanceof Error?t.message:String(t)),c(i),x(e)}finally{h(!1)}}(0,l.useEffect)(()=>{b.current?.scrollIntoView({behavior:"smooth"})},[i]),(0,l.useEffect)(()=>{f.current?.focus()},[]);let j=(e??[]).length;return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"shrink-0 flex items-center gap-2 px-5 py-2 border-b border-slate-800",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-amber-500/70 uppercase tracking-widest",children:"\uD83D\uDCAC AMBER-Chat"}),(0,a.jsx)("button",{onClick:r,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors","aria-label":"Chat schlie\xdfen",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-4 space-y-3",children:[(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[85%] rounded px-3 py-2 bg-slate-800/60 border border-slate-700/40",children:(0,a.jsxs)("p",{className:"text-[11px] text-slate-300 leading-relaxed",children:["Frag mich was zu den"," ",(0,a.jsx)("span",{className:"text-amber-300 font-mono",children:j})," ","Business Capabilities — Abh\xe4ngigkeiten, Ownership, Drift, Coverage…"]})})}),i.map((e,t)=>(0,a.jsx)(C,{msg:e,capIds:g,onSelectCapability:s},t)),p&&(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"rounded px-3 py-2 bg-slate-800/60 border border-slate-700/40",children:(0,a.jsx)("span",{className:"text-[10px] text-slate-500 font-mono animate-pulse",children:"⏳ AMBER denkt…"})})}),m&&(0,a.jsx)("div",{className:"rounded px-3 py-2 bg-red-950/40 border border-red-700/40",children:(0,a.jsx)("p",{className:"text-[10px] text-red-400 font-mono",children:m})}),(0,a.jsx)("div",{ref:b})]}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 px-4 py-3 flex flex-col gap-2",children:[o&&(0,a.jsx)("p",{className:"text-[9px] text-amber-600/80 font-mono text-center",children:"⚠ App + Env ausw\xe4hlen um Chat zu aktivieren"}),(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsx)("textarea",{ref:f,"data-testid":"chat-input",value:d,onChange:e=>x(e.target.value),onKeyDown:function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),y())},placeholder:"Frage stellen… (Enter zum Senden, Shift+Enter f\xfcr Zeilenumbruch)",rows:2,disabled:p||o,className:"flex-1 bg-slate-800/60 border border-slate-700/40 rounded text-[11px] text-slate-200 placeholder-slate-600 px-3 py-2 resize-none outline-none focus:border-amber-700/60 transition-colors disabled:opacity-50"}),(0,a.jsx)("button",{"data-testid":"chat-send",onClick:y,disabled:p||!d.trim()||o,className:"shrink-0 px-3 py-2 rounded border text-[10px] font-mono transition-colors border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40",children:p?"⏳":"↗ Senden"})]})]})]})}function $({id:e,editable:t,onRemove:s}){return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[10px] font-mono px-2 py-0.5 rounded border bg-amber-900/30 text-amber-300 border-amber-700/40",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500 shrink-0"}),e,t&&s&&(0,a.jsx)("button",{onClick:()=>s(e),className:"ml-0.5 text-amber-500/60 hover:text-red-400 transition-colors",title:`Remove ${e}`,children:"\xd7"})]})}function F({proposal:e,checked:t,onToggle:s,onCapRemove:l,onDocChange:r}){return(0,a.jsxs)("div",{className:["border rounded px-3 py-2.5 space-y-1.5 transition-colors",t?"border-amber-700/50 bg-amber-950/20":"border-slate-700/40 bg-slate-900/40"].join(" "),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"checkbox",checked:t,onChange:s,"data-testid":`proposal-check-${e.path}`,className:"accent-amber-500"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate flex-1",children:e.path})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1 pl-5",children:0===e.capabilities.length?(0,a.jsx)("span",{className:"text-[10px] text-slate-600 font-mono italic",children:"keine Capabilities"}):e.capabilities.map(t=>(0,a.jsx)($,{id:t,editable:!0,onRemove:t=>l(e.path,t)},t))}),(0,a.jsx)("textarea",{value:e.doc,onChange:t=>r(e.path,t.target.value),rows:2,className:"w-full text-[11px] font-mono bg-slate-900 border border-slate-700/40 rounded px-2 py-1 text-slate-400 resize-none focus:outline-none focus:border-amber-600/40","data-testid":`proposal-doc-${e.path}`,placeholder:"Business-Beschreibung…"})]})}function E({untaggedFiles:e,registry:t,selectedAppId:s,selectedEnv:r,targetQuery:n="",onApplySuccess:o,onClose:i}){let[c,d]=(0,l.useState)("list"),[x,p]=(0,l.useState)(""),[h,m]=(0,l.useState)(""),[u,b]=(0,l.useState)([]),[f,g]=(0,l.useState)({}),[y,j]=(0,l.useState)(""),[v,N]=(0,l.useState)(null),[k,w]=(0,l.useState)(null);function C(e){let t={};for(let s of e)t[s.path]=!0;g(t)}function S(e,t){b(s=>s.map(s=>s.path===e?{...s,capabilities:s.capabilities.filter(e=>e!==t)}:s))}function $(e,t){b(s=>s.map(s=>s.path===e?{...s,doc:t}:s))}async function A(){if(s&&r){d("running-ai"),w({done:0,total:e.length}),j("");try{let t=await fetch(`/api/amber/ai/bulk-tag${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:"internal",appId:s,env:r})}),a=await t.json();if(!t.ok)throw Error(a.error??"AI Bulk Tag fehlgeschlagen");let l=a.proposals??[];b(l),C(l),w({done:l.length,total:e.length}),d("proposals")}catch(e){j(String(e)),d("error")}}}async function R(){d("running-ai"),j("");try{let e=await fetch(`/api/amber/ai/bulk-tag${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:"byoa"})}),t=await e.json();if(!e.ok)throw Error(t.error??"Prompt-Generierung fehlgeschlagen");p(t.prompt??""),m(""),d("byoa-prompt")}catch(e){j(String(e)),d("error")}}async function M(){if(h.trim()){d("byoa-parsing"),j("");try{let e=await fetch(`/api/amber/ai/bulk-tag/parse${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({responseText:h})}),t=await e.json();if(!e.ok)throw Error(t.error??"Parse fehlgeschlagen");let s=t.proposals??[];b(s),C(s),d("proposals")}catch(e){j(String(e)),d("error")}}}async function P(){let e=u.filter(e=>f[e.path]);if(0!==e.length){d("applying"),j("");try{let t=await fetch(`/api/amber/ai/bulk-tag/apply${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({proposals:e})}),s=await t.json();if(!t.ok)throw Error(s.error??"Apply fehlgeschlagen");N({applied:s.applied??[],skipped:s.skipped??[]}),d("done"),o()}catch(e){j(String(e)),d("error")}}}let _=Object.values(f).filter(Boolean).length;return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden bg-slate-950",children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 py-3 border-b border-slate-800 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-amber-300",children:"\uD83C\uDFF7 Bulk File-Header Tagging"}),(0,a.jsx)("button",{onClick:i,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:["list"===c&&(0,a.jsx)(a.Fragment,{children:0===e.length?(0,a.jsxs)("div",{"data-testid":"bulk-tag-empty",className:"py-12 text-center space-y-2",children:[(0,a.jsx)("p",{className:"text-2xl",children:"\uD83C\uDF89"}),(0,a.jsx)("p",{className:"text-sm text-green-400",children:"Alle Files getaggt!"}),(0,a.jsx)("p",{className:"text-xs text-slate-500",children:"Jedes File hat mindestens einen @amber-capability Tag."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-400 font-semibold",children:[e.length," ungetaggte File",1!==e.length?"s":""]}),(0,a.jsx)("ul",{"data-testid":"untagged-file-list",className:"space-y-0.5 max-h-48 overflow-y-auto",children:e.map(e=>(0,a.jsxs)("li",{className:"text-[11px] font-mono text-slate-500 flex items-center gap-1",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-slate-700 shrink-0"}),e.path]},e.path))})]}),(0,a.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,a.jsx)("button",{"data-testid":"ai-bulk-tag-button",onClick:A,disabled:!s||!r,className:"text-[10px] px-3 py-1.5 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",title:s&&r?void 0:"App + Env ausw\xe4hlen um AI zu aktivieren",children:"✨ AI Bulk Tag"}),(0,a.jsx)("button",{"data-testid":"byoa-bulk-tag-button",onClick:R,className:"text-[10px] px-3 py-1.5 rounded border border-slate-600/50 bg-slate-800/40 text-slate-300 hover:bg-slate-700/50 transition-colors font-mono",children:"\uD83D\uDCCB BYOA Prompt"})]}),(!s||!r)&&(0,a.jsx)("p",{className:"text-[10px] text-slate-600 font-mono italic",children:"⚠ App + Env ausw\xe4hlen um AI Bulk Tag zu aktivieren. BYOA Prompt funktioniert ohne."})]})}),"running-ai"===c&&(0,a.jsx)("div",{className:"py-12 flex flex-col items-center gap-3",children:(0,a.jsx)("span",{className:"text-slate-400 text-sm animate-pulse",children:k?`KI analysiert… (${k.total} Files)`:"Prompt wird generiert…"})}),"byoa-prompt"===c&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("p",{className:"text-xs text-slate-400 font-semibold",children:"BYOA Prompt"}),(0,a.jsx)("p",{className:"text-[11px] text-slate-500",children:"Kopiere diesen Prompt in Claude Code oder eine neue Claude.ai-Session. Lass den Agenten alle Files durchgehen und im YAML-Format antworten. Paste die Response unten."}),(0,a.jsx)("textarea",{readOnly:!0,"data-testid":"byoa-prompt-textarea",value:x,className:"w-full h-48 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>void navigator.clipboard.writeText(x),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"\uD83D\uDCCB Kopieren"}),(0,a.jsx)("p",{className:"text-xs text-slate-500 pt-2",children:"LLM-Response einf\xfcgen:"}),(0,a.jsx)("textarea",{"data-testid":"byoa-paste-textarea",value:h,onChange:e=>m(e.target.value),rows:6,placeholder:"YAML-Response hier einf\xfcgen…",className:"w-full text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none focus:border-amber-600/50"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{"data-testid":"byoa-parse-button",onClick:M,disabled:0===h.trim().length,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:"Parsen"}),(0,a.jsx)("button",{onClick:()=>d("list"),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"byoa-parsing"===c&&(0,a.jsx)("div",{className:"py-12 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-400 text-sm animate-pulse",children:"Parsen…"})}),"proposals"===c&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-400 font-semibold flex-1",children:[u.length," Vorschlag",1!==u.length?"e":""]}),(0,a.jsx)("button",{onClick:()=>{let e=u.every(e=>f[e.path]),t={};for(let s of u)t[s.path]=!e;g(t)},className:"text-[10px] text-slate-500 hover:text-slate-300 font-mono transition-colors",children:u.every(e=>f[e.path])?"Alle abw\xe4hlen":"Alle ausw\xe4hlen"})]}),(0,a.jsx)("div",{className:"space-y-2 max-h-80 overflow-y-auto pr-1",children:u.map(e=>(0,a.jsx)(F,{proposal:e,checked:!!f[e.path],onToggle:()=>g(t=>({...t,[e.path]:!t[e.path]})),onCapRemove:S,onDocChange:$},e.path))}),(0,a.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,a.jsxs)("button",{"data-testid":"apply-selected-button",onClick:P,disabled:0===_,className:"text-[10px] px-3 py-1.5 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:["\xdcbernehmen ausgew\xe4hlte (",_,")"]}),(0,a.jsx)("button",{onClick:()=>d("list"),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"applying"===c&&(0,a.jsx)("div",{className:"py-12 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-400 text-sm animate-pulse",children:"⏳ Header werden geschrieben…"})}),"done"===c&&v&&(0,a.jsxs)("div",{className:"py-8 space-y-3 text-center",children:[(0,a.jsxs)("p",{className:"text-sm text-green-400",children:["✓ ",v.applied.length," File",1!==v.applied.length?"s":""," getaggt"]}),v.skipped.length>0&&(0,a.jsxs)("div",{className:"text-left",children:[(0,a.jsxs)("p",{className:"text-[11px] text-slate-500",children:[v.skipped.length," \xfcbersprungen:"]}),(0,a.jsx)("ul",{className:"text-[10px] font-mono text-slate-600 space-y-0.5 mt-1",children:v.skipped.map(e=>(0,a.jsx)("li",{children:e},e))})]}),(0,a.jsx)("button",{onClick:i,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]}),"error"===c&&(0,a.jsxs)("div",{className:"py-8 space-y-3 text-center",children:[(0,a.jsx)("p",{className:"text-sm text-red-400",children:"Fehler"}),(0,a.jsx)("p",{className:"text-[11px] text-red-300 font-mono",children:y}),(0,a.jsx)("button",{onClick:()=>d("list"),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Zur\xfcck"})]})]})]})}function A({onClose:e,targetQuery:t=""}){let[s,r]=(0,l.useState)({phase:"loading"}),n=`/api/amber/config${t}`;async function o(e){r(e=>"loaded"===e.phase?{...e,saving:!0,saveError:null}:e);try{let t=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),s=await t.json();if(!t.ok)return void r(e=>"loaded"===e.phase?{...e,saving:!1,saveError:s.error??"Speichern fehlgeschlagen."}:e);r({phase:"loaded",config:s.config,saving:!1,saveError:null,testResult:null})}catch(e){r(t=>"loaded"===t.phase?{...t,saving:!1,saveError:String(e)}:t)}}return(0,l.useEffect)(()=>{(async()=>{try{let e=await fetch(n),t=await e.json();if(!e.ok)return void r({phase:"error",message:t.error??"Config laden fehlgeschlagen."});r({phase:"loaded",config:t.config,saving:!1,saveError:null,testResult:null})}catch(e){r({phase:"error",message:String(e)})}})()},[n]),(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden bg-slate-950","data-testid":"amber-config-panel",children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 py-3 border-b border-slate-800 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-amber-300",children:"⚙ AMBER Config"}),(0,a.jsx)("button",{onClick:e,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:["loading"===s.phase&&(0,a.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,a.jsx)("span",{className:"text-slate-500 text-sm animate-pulse",children:"Config laden…"})}),"error"===s.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("p",{className:"text-sm text-red-400",children:["Fehler: ",s.message]}),(0,a.jsx)("button",{onClick:e,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]}),"loaded"===s.phase&&(0,a.jsx)(R,{config:s.config,configUrl:n,saving:s.saving,saveError:s.saveError,testResult:s.testResult,onSave:o,onTestResultChange:e=>r(t=>"loaded"===t.phase?{...t,testResult:e}:t)})]})]})}function R({config:e,configUrl:t,saving:s,saveError:r,testResult:n,onSave:o,onTestResultChange:i}){let[c,d]=(0,l.useState)(()=>JSON.parse(JSON.stringify(e))),[x,p]=(0,l.useState)(!1),h=Object.keys(c.providers),m=Object.keys(c.capabilities??{});async function u(){p(!0),i(null);try{let e=await fetch(t),s=await e.json();if(e.ok){let e=s.config.default_provider;i(`✓ Config geladen — default_provider: ${e}`)}else i(`Fehler: ${s.error??"Config nicht erreichbar."}`)}catch(e){i(`Fehler: ${String(e)}`)}finally{p(!1)}}return(0,a.jsxs)("div",{className:"space-y-5",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-2",children:"Default Provider"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:h.map(e=>(0,a.jsx)("button",{"data-testid":`provider-select-${e}`,onClick:()=>{d(t=>({...t,default_provider:e}))},className:["text-[10px] font-mono px-2.5 py-1 rounded border transition-colors",c.default_provider===e?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300 hover:border-amber-700/40"].join(" "),children:e},e))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-2",children:"Provider-Konfiguration"}),(0,a.jsx)("div",{className:"space-y-3",children:h.map(e=>{let t=c.providers[e],s=c.default_provider===e;return(0,a.jsxs)("div",{"data-testid":`provider-card-${e}`,className:["px-3 py-2.5 rounded border",s?"border-amber-700/40 bg-amber-950/30":"border-slate-700/40 bg-slate-900/30"].join(" "),children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,a.jsx)("span",{className:"text-[11px] font-mono font-semibold text-slate-300",children:e}),s&&(0,a.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-amber-900/40 text-amber-400 border border-amber-700/30 font-mono",children:"default"})]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("label",{className:"text-[9px] text-slate-600 font-mono w-20 shrink-0",children:"api_key_env"}),(0,a.jsx)("input",{"data-testid":`provider-api-key-env-${e}`,type:"text",value:t.api_key_env,onChange:t=>{var s;return s=t.target.value,void d(t=>({...t,providers:{...t.providers,[e]:{...t.providers[e],api_key_env:s}}}))},className:"flex-1 text-[10px] font-mono bg-slate-800/60 border border-slate-700/40 rounded px-2 py-0.5 text-slate-300 focus:border-amber-700/60 outline-none",placeholder:"ANTHROPIC_API_KEY"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("label",{className:"text-[9px] text-slate-600 font-mono w-20 shrink-0",children:"default_model"}),(0,a.jsx)("input",{"data-testid":`provider-model-${e}`,type:"text",value:t.default_model,onChange:t=>{var s;return s=t.target.value,void d(t=>({...t,providers:{...t.providers,[e]:{...t.providers[e],default_model:s}}}))},className:"flex-1 text-[10px] font-mono bg-slate-800/60 border border-slate-700/40 rounded px-2 py-0.5 text-slate-300 focus:border-amber-700/60 outline-none",placeholder:"claude-sonnet-4-5"})]})]})]},e)})})]}),m.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-2",children:"Capability Overrides"}),(0,a.jsx)("div",{className:"space-y-1",children:m.map(e=>{let t=c.capabilities[e];return(0,a.jsxs)("div",{className:"flex items-center gap-2 text-[10px] font-mono text-slate-500",children:[(0,a.jsx)("span",{className:"text-amber-500/60 shrink-0",children:"\xb7"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:e}),(0,a.jsxs)("span",{className:"text-slate-600",children:[t.provider," / ",t.model]})]},e)})}),(0,a.jsx)("p",{className:"text-[9px] text-slate-700 mt-1.5 italic",children:"Overrides nur via config.json direkt editierbar."})]}),(0,a.jsxs)("div",{className:"space-y-2 pt-1",children:[r&&(0,a.jsx)("p",{className:"text-[11px] text-red-400 font-mono","data-testid":"save-error",children:r}),n&&(0,a.jsx)("p",{"data-testid":"test-result",className:`text-[11px] font-mono ${n.startsWith("✓")?"text-green-400":"text-red-400"}`,children:n}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{"data-testid":"save-config-button",onClick:()=>o(c),disabled:s,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:s?"⏳ Speichern…":"\uD83D\uDCBE Speichern"}),(0,a.jsx)("button",{"data-testid":"test-config-button",onClick:u,disabled:x,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 disabled:opacity-40 transition-colors font-mono",children:x?"⏳ Teste…":"⚡ Test"})]})]})]})}let M=["eyebrow","headline","body","microcopy","value_statement","key_concepts","example_flow","visual_hint","panel_anchors"],P=M.length;function _(e){return M.filter(t=>{let s=e[t];return null!=s&&(Array.isArray(s)?s.length>0:""!==s)}).length}function I({registry:e,selectedAppId:t,selectedEnv:s,targetQuery:r="",onClose:n,onRefresh:o,authFetch:i}){let c=i??((e,t)=>fetch(e,t)),[d,x]=(0,l.useState)("untouched"),[p,h]=(0,l.useState)(new Set),[m,u]=(0,l.useState)(null),[b,f]=(0,l.useState)(""),g=(0,l.useMemo)(()=>e.filter(e=>_(e)<P),[e]),y=(0,l.useMemo)(()=>"untouched"===d?g:e,[d,g,e]);async function j(a){let{scope:l,selectedIds:n}="untouched"===d?{scope:"untouched"}:"all"===d?{scope:"all"}:{scope:"selected",selectedIds:Array.from(p)};"internal"===a&&u({phase:"running",total:"untouched"===d?g.length:"all"===d?e.length:p.size,done:0});try{let e=await c(`/api/amber/ai/bulk-depth${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:a,appId:t,env:s,scope:l,selected:n})});if(!e.ok){let t=await e.json().catch(()=>({error:e.statusText}));throw Error(t.error??e.statusText)}let o=await e.json();if("byoa"===o.mode)f(""),u({phase:"byoa-prompt",prompt:o.prompt,pasteInput:"",capCount:o.capCount});else{let e=new Set(o.items.map(e=>e.capability_id));u({phase:"proposals",items:o.items,warnings:o.warnings,selected:e,applying:!1,error:null})}}catch(e){u({phase:"error",message:String(e)})}}async function v(){u({phase:"byoa-parsing"});try{let e=await c(`/api/amber/ai/bulk-depth/parse${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:b})});if(!e.ok){let t=await e.json().catch(()=>({error:e.statusText}));throw Error(t.error??e.statusText)}let t=await e.json(),s=new Set(t.items.map(e=>e.capability_id));u({phase:"proposals",items:t.items,warnings:t.warnings,selected:s,applying:!1,error:null})}catch(e){u({phase:"error",message:String(e)})}}async function N(){if(m?.phase!=="proposals")return;let e=m.items.filter(e=>m.selected.has(e.capability_id));u(e=>e?.phase==="proposals"?{...e,applying:!0,error:null}:e);try{let t=await c(`/api/amber/ai/bulk-depth/apply${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({proposals:e})});if(!t.ok){let e=await t.json().catch(()=>({error:t.statusText}));throw Error(e.error??t.statusText)}let s=await t.json();u({phase:"done",applied:s.applied,failed:s.failed}),o()}catch(e){u(t=>t?.phase==="proposals"?{...t,applying:!1,error:String(e)}:t)}}return(0,a.jsxs)("div",{"data-testid":"bulk-depth-panel",className:"flex-1 flex flex-col overflow-hidden bg-slate-950",children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 py-3 border-b border-slate-800 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-amber-300",children:"\uD83D\uDE80 Bulk Depth Generation"}),(0,a.jsx)("button",{"data-testid":"bulk-depth-close",onClick:n,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[null===m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsxs)("button",{"data-testid":"bulk-depth-filter-untouched",onClick:()=>x("untouched"),className:`text-[10px] font-mono px-2 py-0.5 rounded transition-colors ${"untouched"===d?"bg-amber-900/40 text-amber-300 border border-amber-700/40":"text-slate-500 hover:text-slate-300"}`,children:["Untief (",g.length,")"]}),(0,a.jsxs)("button",{"data-testid":"bulk-depth-filter-all",onClick:()=>x("all"),className:`text-[10px] font-mono px-2 py-0.5 rounded transition-colors ${"all"===d?"bg-amber-900/40 text-amber-300 border border-amber-700/40":"text-slate-500 hover:text-slate-300"}`,children:["Alle (",e.length,")"]}),(0,a.jsxs)("button",{"data-testid":"bulk-depth-filter-selected",onClick:()=>x("selected"),className:`text-[10px] font-mono px-2 py-0.5 rounded transition-colors ${"selected"===d?"bg-amber-900/40 text-amber-300 border border-amber-700/40":"text-slate-500 hover:text-slate-300"}`,children:["Auswahl (",p.size,")"]})]}),(0,a.jsx)("div",{className:"space-y-0.5 max-h-64 overflow-y-auto border border-slate-800 rounded",children:0===y.length?(0,a.jsx)("p",{className:"px-3 py-4 text-center text-[11px] text-slate-600",children:"Alle Capabilities haben vollst\xe4ndige Depth-Felder."}):y.map(e=>{let t=_(e),s=p.has(e.id);return(0,a.jsxs)("label",{className:"flex items-center gap-2 px-3 py-1.5 cursor-pointer hover:bg-slate-800/30 transition-colors",children:[(0,a.jsx)("input",{type:"checkbox",checked:s,onChange:()=>{var t;return t=e.id,void h(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"w-3 h-3 rounded border-slate-600 bg-slate-800 text-amber-500 focus:ring-amber-500/30"}),(0,a.jsx)("span",{className:"flex-1 text-[11px] font-mono text-slate-300 truncate",children:e.id}),(0,a.jsx)("span",{className:"text-[10px] text-slate-500 truncate max-w-[100px]",children:e.name}),(0,a.jsxs)("span",{className:`text-[10px] font-mono px-1 rounded ${t===P?"text-emerald-400":t>0?"text-amber-400":"text-slate-600"}`,children:["\uD83D\uDCCA ",t,"/",P]})]},e.id)})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{onClick:function(){h(new Set(y.map(e=>e.id)))},className:"text-[10px] text-slate-500 hover:text-slate-300 transition-colors font-mono",children:"Alle ausw\xe4hlen"}),(0,a.jsx)("span",{className:"text-slate-700",children:"\xb7"}),(0,a.jsx)("button",{onClick:function(){h(new Set)},className:"text-[10px] text-slate-500 hover:text-slate-300 transition-colors font-mono",children:"Auswahl leeren"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap border-t border-slate-800 pt-3",children:[(0,a.jsxs)("button",{"data-testid":"bulk-depth-generate-selected",onClick:()=>{x("selected"),j("internal")},disabled:0===p.size,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:["✨ Generate Ausgew\xe4hlte (",p.size,")"]}),(0,a.jsxs)("button",{"data-testid":"bulk-depth-generate-all",onClick:()=>void j("internal"),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600/50 bg-slate-800/40 text-slate-300 hover:bg-slate-700/50 transition-colors font-mono",children:["♻ Alle neu (","untouched"===d?g.length:e.length,")"]}),(0,a.jsx)("button",{"data-testid":"bulk-depth-byoa",onClick:()=>void j("byoa"),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600/50 bg-slate-800/40 text-slate-300 hover:bg-slate-700/50 transition-colors font-mono",children:"\uD83D\uDCCB BYOA"})]})]}),m?.phase==="running"&&(0,a.jsxs)("div",{"data-testid":"bulk-depth-progress",className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-slate-400",children:[(0,a.jsx)("div",{className:"w-3 h-3 border border-amber-500 border-t-transparent rounded-full animate-spin shrink-0"}),"Generiere Depth-Felder…"]}),(0,a.jsxs)("div",{className:"text-[11px] text-slate-500 font-mono",children:[m.done," von ",m.total," generiert"]}),(0,a.jsx)("div",{className:"w-full h-1.5 rounded-full bg-slate-800",children:(0,a.jsx)("div",{className:"h-1.5 rounded-full bg-amber-500 transition-all",style:{width:m.total>0?`${m.done/m.total*100}%`:"5%"}})})]}),m?.phase==="byoa-prompt"&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-400",children:["Kopiere diesen Prompt in ein LLM deiner Wahl (",m.capCount," Capabilities), dann f\xfcge die Antwort unten ein:"]}),(0,a.jsx)("textarea",{readOnly:!0,value:m.prompt,className:"w-full h-32 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none"}),(0,a.jsx)("button",{onClick:()=>void navigator.clipboard.writeText(m.prompt),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"\uD83D\uDCCB Prompt kopieren"}),(0,a.jsx)("p",{className:"text-xs text-slate-500",children:"LLM-Antwort einf\xfcgen:"}),(0,a.jsx)("textarea",{value:b,onChange:e=>f(e.target.value),placeholder:"Antwort des LLM hier einf\xfcgen…",className:"w-full h-32 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none focus:border-amber-600/50"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>void v(),disabled:0===b.trim().length,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:"Parsen"}),(0,a.jsx)("button",{onClick:()=>u(null),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),m?.phase==="byoa-parsing"&&(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-slate-400",children:[(0,a.jsx)("div",{className:"w-3 h-3 border border-amber-500 border-t-transparent rounded-full animate-spin shrink-0"}),"Parsing LLM-Antwort…"]}),m?.phase==="proposals"&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-400",children:[m.items.length," Depth-Vorschlag",1!==m.items.length?"e":""," gefunden:"]}),m.warnings.length>0&&(0,a.jsx)("div",{className:"px-3 py-2 rounded border border-amber-700/30 bg-amber-950/20 text-[10px] text-amber-400 font-mono space-y-0.5",children:m.warnings.map((e,t)=>(0,a.jsxs)("div",{children:["⚠ ",e]},t))}),m.error&&(0,a.jsxs)("div",{"data-testid":"bulk-depth-apply-error",className:"text-[11px] text-red-400 font-mono",children:["Fehler: ",m.error]}),(0,a.jsx)("div",{className:"space-y-1.5 max-h-64 overflow-y-auto border border-slate-800 rounded",children:m.items.map(t=>{let s=m.selected.has(t.capability_id),l=e.find(e=>e.id===t.capability_id)?.name??t.capability_id,r=Object.keys(t.depth).length;return(0,a.jsxs)("label",{className:"flex items-start gap-2 px-3 py-2 cursor-pointer hover:bg-slate-800/30 transition-colors border-b border-slate-800/40 last:border-b-0",children:[(0,a.jsx)("input",{type:"checkbox",checked:s,onChange:()=>{var e;return e=t.capability_id,void u(t=>{if(t?.phase!=="proposals")return t;let s=new Set(t.selected);return s.has(e)?s.delete(e):s.add(e),{...t,selected:s}})},className:"w-3 h-3 mt-0.5 rounded border-slate-600 bg-slate-800 text-amber-500 focus:ring-amber-500/30 shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate",children:t.capability_id}),(0,a.jsx)("span",{className:"text-[10px] text-slate-500 truncate",children:l})]}),(0,a.jsxs)("div",{className:"text-[10px] text-amber-400/70 font-mono mt-0.5",children:[r," Depth-Felder"]})]})]},t.capability_id)})}),(0,a.jsxs)("div",{className:"flex items-center gap-2 border-t border-slate-800 pt-3",children:[(0,a.jsx)("button",{"data-testid":"bulk-depth-apply-button",onClick:()=>void N(),disabled:m.applying||0===m.selected.size,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:m.applying?"⏳ Schreibe…":`\xdcbernehmen ausgew\xe4hlte (${m.selected.size})`}),(0,a.jsx)("button",{onClick:()=>u(null),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),m?.phase==="done"&&(0,a.jsxs)("div",{className:"py-6 space-y-3",children:[(0,a.jsx)("p",{className:"text-sm text-green-400",children:"✓ Bulk Depth abgeschlossen"}),(0,a.jsxs)("div",{className:"text-[11px] font-mono text-slate-400 space-y-1",children:[(0,a.jsxs)("div",{children:["Angewendet: ",m.applied.length]}),m.failed.length>0&&(0,a.jsxs)("div",{className:"text-red-400",children:["Fehlgeschlagen: ",m.failed.length]})]}),(0,a.jsx)("button",{onClick:n,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]}),m?.phase==="error"&&(0,a.jsxs)("div",{className:"py-6 space-y-3",children:[(0,a.jsxs)("p",{className:"text-sm text-red-400",children:["Fehler: ",m.message]}),(0,a.jsx)("button",{onClick:()=>u(null),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Zur\xfcck"})]})]})]})}let T={critical:{bg:"bg-red-900/40",text:"text-red-300",border:"border-red-700/50"},high:{bg:"bg-orange-900/30",text:"text-orange-300",border:"border-orange-700/40"},medium:{bg:"bg-yellow-900/20",text:"text-yellow-400",border:"border-yellow-700/30"},low:{bg:"bg-slate-800/60",text:"text-slate-400",border:"border-slate-700/40"}};function D({level:e,auto:t}){let s=T[e];return(0,a.jsxs)("span",{className:`inline-flex items-center gap-1 text-[10px] font-mono px-2 py-0.5 rounded border ${s.bg} ${s.text} ${s.border}`,children:[e,t&&(0,a.jsx)("span",{className:"text-[9px] opacity-60 border-l border-current pl-1 ml-0.5",children:"auto"})]})}function L({cap:e,onClick:t}){return(0,a.jsxs)("button",{onClick:()=>t(e.id),className:"inline-flex items-center gap-1 text-[10px] font-mono px-2 py-0.5 rounded border bg-amber-900/30 text-amber-300 border-amber-700/40 hover:bg-amber-800/40 transition-colors",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500 shrink-0"}),e.id]})}function O({status:e,error:t,lastDriftCount:s,onScan:l,onOpenChat:r,chatOpen:n,onOpenBulkTag:o,bulkTagOpen:i,untaggedCount:c,onOpenBulkDepth:d,bulkDepthOpen:x,needsDepthCount:p,onOpenConfig:h,configOpen:m,contextOptions:u,selectedAppId:b,selectedEnv:f,onAppChange:g,onEnvChange:y}){let j="scanning"===e,v=u?.apps??[],N=b?u?.envsByApp[b]??[]:[];return(0,a.jsxs)("div",{className:"shrink-0 flex flex-col border-b border-slate-800 bg-slate-950",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-amber-500/70 uppercase tracking-widest",children:"AMBER-Modus"}),(0,a.jsxs)("div",{className:"ml-auto flex items-center gap-2",children:[t&&(0,a.jsx)("span",{className:"text-[10px] text-red-400 font-mono truncate max-w-[200px]",title:t,children:t.includes("401")||t.includes("403")?"⚠ Auth-Fehler — als Admin einloggen":`⚠ ${t}`}),null!==s&&!t&&(0,a.jsx)("span",{className:"text-[10px] text-slate-500 font-mono",children:0===s?"✓ Kein Drift":`${s} Drift-Event${1!==s?"s":""}`}),o&&(0,a.jsxs)("button",{"data-testid":"open-bulk-tag-button",onClick:o,className:["text-[10px] px-2.5 py-1 rounded border font-mono transition-colors",i?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300 hover:border-amber-700/40"].join(" "),children:["\uD83C\uDFF7 Untagged",void 0!==c&&c>0?` (${c})`:""]}),d&&(0,a.jsxs)("button",{"data-testid":"bulk-depth-button",onClick:d,className:["text-[10px] px-2.5 py-1 rounded border font-mono transition-colors flex items-center gap-1",x?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300 hover:border-amber-700/40"].join(" "),children:["\uD83D\uDE80 Bulk Depth",void 0!==p&&p>0&&(0,a.jsx)("span",{"data-testid":"bulk-depth-count",className:"text-[10px] px-1 rounded-full bg-amber-900/40 text-amber-400",children:p})]}),r&&(0,a.jsx)("button",{"data-testid":"open-chat-button",onClick:r,className:["text-[10px] px-2.5 py-1 rounded border font-mono transition-colors",n?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300 hover:border-amber-700/40"].join(" "),children:"\uD83D\uDCAC Chat"}),h&&(0,a.jsx)("button",{"data-testid":"open-config-button",onClick:h,className:["text-[10px] px-2.5 py-1 rounded border font-mono transition-colors",m?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300 hover:border-amber-700/40"].join(" "),children:"⚙ Config"}),(0,a.jsx)("button",{onClick:l,disabled:j,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:j?"⏳ Scanning…":"↺ Scan"})]})]}),null!=u&&(0,a.jsx)("div",{className:"flex items-center gap-2 px-4 pb-2",children:0===v.length?(0,a.jsx)("span",{className:"text-[9px] text-slate-600 font-mono italic",children:"Keine Apps registriert"}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("label",{className:"text-[9px] text-slate-600 font-mono uppercase tracking-widest shrink-0",children:"App"}),(0,a.jsx)("select",{"data-testid":"amber-app-select",value:b??"",onChange:e=>g?.(e.target.value),className:"flex-1 text-[10px] font-mono bg-slate-800/60 border border-slate-700/40 rounded px-2 py-0.5 text-slate-300 focus:border-amber-700/60 outline-none transition-colors",children:v.map(e=>(0,a.jsx)("option",{value:e.id,children:e.name},e.id))}),(0,a.jsx)("label",{className:"text-[9px] text-slate-600 font-mono uppercase tracking-widest shrink-0",children:"Env"}),(0,a.jsx)("select",{"data-testid":"amber-env-select",value:f??"",onChange:e=>y?.(e.target.value),disabled:0===N.length,className:"w-20 text-[10px] font-mono bg-slate-800/60 border border-slate-700/40 rounded px-2 py-0.5 text-slate-300 focus:border-amber-700/60 outline-none transition-colors disabled:opacity-40",children:N.map(e=>(0,a.jsx)("option",{value:e,children:e},e))})]})})]})}function z({onBootstrap:e,onOpenBulkTag:t,untaggedCount:s}){let l=t&&(void 0===s||s>0);return(0,a.jsxs)("div",{"data-testid":"bootstrap-banner",className:"mx-4 mt-4 mb-2 px-3 py-2.5 rounded border border-amber-700/40 bg-amber-950/40 text-xs text-amber-300 flex items-center gap-3 flex-wrap",children:[(0,a.jsx)("span",{className:"flex-1",children:"✨ Noch wenige Capabilities — KI-Bootstrap starten?"}),(0,a.jsx)("button",{onClick:()=>e?.("internal"),disabled:!e,className:"text-[10px] px-2 py-1 rounded border border-amber-600/50 bg-amber-900/40 text-amber-200 hover:bg-amber-800/50 disabled:opacity-40 transition-colors font-mono shrink-0",children:"✨ AI Bootstrap"}),(0,a.jsx)("button",{onClick:()=>e?.("byoa"),disabled:!e,className:"text-[10px] px-2 py-1 rounded border border-slate-600/50 bg-slate-800/40 text-slate-300 hover:bg-slate-700/50 disabled:opacity-40 transition-colors font-mono shrink-0",children:"\uD83D\uDCCB BYOA Prompt"}),l&&(0,a.jsxs)("button",{"data-testid":"bootstrap-banner-tag-button",onClick:t,className:"text-[10px] px-2 py-1 rounded border border-slate-600/50 bg-slate-800/40 text-slate-300 hover:bg-slate-700/50 transition-colors font-mono shrink-0",children:["\uD83C\uDFF7 Files taggen",void 0!==s?` (${s})`:""]})]})}function B({flow:e,onClose:t,onParseByoa:s,onApply:l,onRawInputChange:r}){return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden bg-slate-950",children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 py-3 border-b border-slate-800 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-amber-300",children:"✨ KI Bootstrap"}),(0,a.jsx)("button",{onClick:t,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:["running"===e.phase&&(0,a.jsx)("div",{className:"flex items-center gap-2 py-8 justify-center",children:(0,a.jsx)("span",{className:"text-slate-400 text-sm animate-pulse",children:"KI analysiert Codebase…"})}),"prompt"===e.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"Kopiere diesen Prompt in ein LLM deiner Wahl, dann f\xfcge die Antwort unten ein:"}),(0,a.jsx)("textarea",{readOnly:!0,value:e.prompt,className:"w-full h-40 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none"}),(0,a.jsx)("div",{className:"flex gap-2",children:(0,a.jsx)("button",{onClick:()=>void navigator.clipboard.writeText(e.prompt),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"\uD83D\uDCCB Kopieren"})}),(0,a.jsx)("p",{className:"text-xs text-slate-500 mt-3",children:"LLM-Antwort einf\xfcgen:"}),(0,a.jsx)("textarea",{value:e.rawInput,onChange:e=>r(e.target.value),placeholder:"Antwort des LLM hier einf\xfcgen…",className:"w-full h-32 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none focus:border-amber-600/50"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>s(e.rawInput),disabled:0===e.rawInput.trim().length,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:"Parsen"}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"proposals"===e.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("p",{className:"text-xs text-slate-400",children:[e.proposals.length," Capability-Vorschlag",1!==e.proposals.length?"e":""," gefunden:"]}),e.error&&(0,a.jsxs)("p",{className:"text-[11px] text-red-400 font-mono",children:["Fehler: ",e.error]}),(0,a.jsx)("div",{className:"space-y-1.5 max-h-60 overflow-y-auto",children:e.proposals.map((e,t)=>(0,a.jsxs)("div",{className:"px-3 py-2 rounded border border-slate-700 bg-slate-900",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-slate-200",children:e.name}),(0,a.jsx)("p",{className:"text-[10px] text-slate-500 mt-0.5",children:e.description}),(0,a.jsxs)("p",{className:"text-[9px] text-slate-600 font-mono mt-0.5",children:[e.file_paths.length," file",1!==e.file_paths.length?"s":""]})]},t))}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>l(e.proposals),disabled:e.applying,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:e.applying?"⏳ Schreibe…":`\xdcbernehmen (${e.proposals.length})`}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"done"===e.phase&&(0,a.jsxs)("div",{className:"py-8 text-center space-y-3",children:[(0,a.jsx)("p",{className:"text-sm text-green-400",children:"✓ Bootstrap abgeschlossen"}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]}),"error"===e.phase&&(0,a.jsxs)("div",{className:"py-8 text-center space-y-3",children:[(0,a.jsxs)("p",{className:"text-sm text-red-400",children:["Fehler: ",e.message]}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]})]})]})}function K({flow:e,onClose:t,onParseByoa:s,onApply:l,onRawInputChange:r}){return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden bg-slate-950",children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 py-3 border-b border-slate-800 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-xs font-semibold text-amber-300",children:"✨ KI Docu-Update"}),(0,a.jsx)("button",{onClick:t,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"✕ Schlie\xdfen"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4",children:["running"===e.phase&&(0,a.jsx)("div",{className:"flex items-center gap-2 py-8 justify-center",children:(0,a.jsx)("span",{className:"text-slate-400 text-sm animate-pulse",children:"KI generiert Docu-Update…"})}),"prompt"===e.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"Kopiere diesen Prompt in ein LLM deiner Wahl, dann f\xfcge die Antwort unten ein:"}),(0,a.jsx)("textarea",{readOnly:!0,value:e.prompt,className:"w-full h-40 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none"}),(0,a.jsx)("div",{className:"flex gap-2",children:(0,a.jsx)("button",{onClick:()=>void navigator.clipboard.writeText(e.prompt),className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"\uD83D\uDCCB Kopieren"})}),(0,a.jsx)("p",{className:"text-xs text-slate-500 mt-3",children:"LLM-Antwort einf\xfcgen:"}),(0,a.jsx)("textarea",{value:e.rawInput,onChange:e=>r(e.target.value),placeholder:"Antwort des LLM hier einf\xfcgen…",className:"w-full h-32 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none focus:border-amber-600/50"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>s(e.rawInput),disabled:0===e.rawInput.trim().length,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:"Parsen"}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"doc"===e.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("p",{className:"text-xs text-slate-400",children:"Vorschau der generierten Dokumentation:"}),e.error&&(0,a.jsxs)("p",{className:"text-[11px] text-red-400 font-mono",children:["Fehler: ",e.error]}),(0,a.jsx)("textarea",{readOnly:!0,value:e.doc,className:"w-full h-48 text-[11px] font-mono bg-slate-900 border border-slate-700 rounded px-3 py-2 text-slate-300 resize-none focus:outline-none"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{onClick:()=>l(e.doc),disabled:e.applying,className:"text-[10px] px-2.5 py-1 rounded border border-amber-700/40 bg-amber-900/20 text-amber-300 hover:bg-amber-800/30 disabled:opacity-40 transition-colors font-mono",children:e.applying?"⏳ Schreibe…":"\xdcbernehmen"}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Abbrechen"})]})]}),"done"===e.phase&&(0,a.jsxs)("div",{className:"py-8 text-center space-y-3",children:[(0,a.jsx)("p",{className:"text-sm text-green-400",children:"✓ Docu-Update angewendet"}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]}),"error"===e.phase&&(0,a.jsxs)("div",{className:"py-8 text-center space-y-3",children:[(0,a.jsxs)("p",{className:"text-sm text-red-400",children:["Fehler: ",e.message]}),(0,a.jsx)("button",{onClick:t,className:"text-[10px] px-2.5 py-1 rounded border border-slate-600 bg-slate-800 text-slate-300 hover:bg-slate-700 transition-colors font-mono",children:"Schlie\xdfen"})]})]})]})}function H({file:e,amberState:t,registry:s,enriched:l,drift:r,onSelectCapability:n,onDocuUpdate:o}){let i=t?.files[e.path],c=i?.capabilities??[],d=c.map(e=>(s??[]).find(t=>t.id===e)).filter(e=>!!e),x=(r??[]).filter(t=>t.file===e.path).find(e=>"content_changed_no_doc_update"===e.kind);return 0===c.length?(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-8 text-center",children:[(0,a.jsx)("p",{className:"text-slate-600 text-sm",children:"Keine AMBER-Capabilities f\xfcr dieses File."}),(0,a.jsxs)("p",{className:"text-slate-700 text-xs mt-2",children:["F\xfcge"," ",(0,a.jsx)("code",{className:"font-mono bg-slate-800 px-1 rounded",children:"@amber-capability"})," ","Tags im JSDoc-Block hinzu."]})]}):(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[x&&(0,a.jsxs)("div",{className:"mx-4 mt-4 px-3 py-2 rounded border border-amber-700/40 bg-amber-950/40 text-xs text-amber-300 flex items-start gap-2",children:[(0,a.jsx)("span",{className:"mt-0.5 shrink-0",children:"⚠"}),(0,a.jsxs)("span",{className:"flex-1",children:["Code ge\xe4ndert — Business-Doc veraltet. Bitte"," ",(0,a.jsx)("code",{className:"font-mono text-[10px]",children:"@amber-doc"})," ","aktualisieren."]}),o&&(0,a.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,a.jsx)("button",{"data-testid":"docu-heal-ai",onClick:()=>o("internal"),className:"text-[9px] px-1.5 py-0.5 rounded border border-amber-600/40 bg-amber-900/30 text-amber-200 hover:bg-amber-800/40 transition-colors font-mono",children:"✨ AI"}),(0,a.jsx)("button",{"data-testid":"docu-heal-byoa",onClick:()=>o("byoa"),className:"text-[9px] px-1.5 py-0.5 rounded border border-slate-600/40 bg-slate-800/30 text-slate-300 hover:bg-slate-700/40 transition-colors font-mono",children:"\uD83D\uDCCB BYOA"})]})]}),(0,a.jsxs)("div",{className:"px-5 pt-4 pb-2",children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-2",children:"Capabilities"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:d.map(e=>(0,a.jsx)(L,{cap:e,onClick:n},e.id))})]}),d.map(e=>{let t=(l??[]).find(t=>t.id===e.id),s=!t?.manual;return(0,a.jsxs)("button",{onClick:()=>n(e.id),className:"w-full text-left px-5 pt-3 pb-4 border-t border-slate-800/60 hover:bg-slate-800/20 transition-colors",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-slate-300 font-semibold",children:e.name}),t&&(0,a.jsx)(D,{level:t.effective,auto:s}),e.lifecycle&&"active"!==e.lifecycle&&(0,a.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-slate-800 text-slate-500 border border-slate-700",children:e.lifecycle})]}),i?.doc_hash&&e.description&&(0,a.jsx)("p",{className:"text-[11px] text-slate-400 whitespace-pre-wrap leading-relaxed mb-1",children:e.description}),!i?.doc_hash&&(0,a.jsx)("p",{className:"text-[11px] text-slate-600 italic",children:"Kein @amber-doc gesetzt."})]},e.id)})]})}function U({coverage:e}){if(void 0===e)return(0,a.jsxs)("div",{"data-testid":"coverage-bar",className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-500 font-mono w-16 shrink-0",children:"Coverage"}),(0,a.jsx)("span",{className:"text-[10px] text-slate-600 font-mono",children:"—"})]});let t=Math.round(100*e);return(0,a.jsxs)("div",{"data-testid":"coverage-bar",className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-500 font-mono w-16 shrink-0",children:"Coverage"}),(0,a.jsx)("div",{className:"flex-1 h-1.5 rounded-full bg-slate-800",children:(0,a.jsx)("div",{"data-testid":"coverage-bar-fill",className:`h-1.5 rounded-full ${e>=.8?"bg-emerald-500":e>=.5?"bg-amber-500":"bg-red-500"} transition-all`,style:{width:`${t}%`}})}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-400 font-mono w-8 text-right",children:[t,"%"]})]})}let W={eyebrow:"Eyebrow",headline:"Headline",body:"Body",microcopy:"Microcopy",value_statement:"Value Statement",key_concepts:"Key Concepts",example_flow:"Example Flow",visual_hint:"Visual Hint",panel_anchors:"Atlas Panel Anchors"},q=["eyebrow","headline","body","microcopy","value_statement","key_concepts","example_flow","visual_hint","panel_anchors"];function J(e){return q.filter(t=>{let s=e[t];return null!=s&&(Array.isArray(s)?s.length>0:""!==s)}).length}function V({flow:e,capabilityId:t,onRetry:s,onClose:l,onParse:r,onApply:n,onRawInputChange:o,onDepthFieldChange:i}){return"running"===e.phase?(0,a.jsxs)("div",{className:"mt-3 flex items-center gap-2 text-xs text-slate-400",children:[(0,a.jsx)("div",{className:"w-3 h-3 border border-amber-500 border-t-transparent rounded-full animate-spin shrink-0"}),"Generiere Depth-Felder f\xfcr ",t,"…"]}):"prompt"===e.phase?(0,a.jsxs)("div",{"data-testid":"depth-byoa-panel",className:"mt-3 space-y-2",children:[(0,a.jsx)("div",{className:"text-xs text-amber-300",children:"BYOA: Prompt kopieren → Antwort einf\xfcgen → Parsen"}),(0,a.jsx)("button",{onClick:()=>void navigator.clipboard.writeText(e.prompt),className:"text-xs px-2 py-1 rounded bg-slate-700 hover:bg-slate-600 text-slate-200",children:"\uD83D\uDCCB Prompt kopieren"}),(0,a.jsx)("textarea",{"data-testid":"depth-byoa-textarea",value:e.rawInput,onChange:e=>o(e.target.value),className:"w-full h-32 text-xs font-mono bg-slate-900 border border-slate-600 rounded p-2 text-slate-200 resize-none",placeholder:"AI-Antwort hier einf\xfcgen…"}),(0,a.jsx)("button",{"data-testid":"depth-byoa-parse-button",onClick:()=>r(e.rawInput),className:"text-xs px-3 py-1.5 rounded bg-amber-600 hover:bg-amber-500 text-white",children:"Parsen"})]}):"result"===e.phase?(0,a.jsxs)("div",{"data-testid":"depth-result-panel",className:"mt-3 space-y-2",children:[(0,a.jsx)("div",{className:"text-xs text-amber-300 font-medium",children:"Generierte Depth-Felder"}),["eyebrow","headline","body","microcopy","value_statement","key_concepts","example_flow","visual_hint","panel_anchors"].map(t=>{let s=e.depth[t],l=Array.isArray(s)?s.join(", "):String(s??"");return(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-[10px] font-mono text-slate-500 uppercase tracking-widest",children:t}),(0,a.jsx)("input",{"data-testid":`depth-field-${t}`,type:"text",value:l,onChange:e=>i(t,e.target.value),className:"w-full text-xs font-mono bg-slate-900 border border-slate-700 rounded px-2 py-1 text-slate-200 mt-0.5"})]},t)}),e.error&&(0,a.jsx)("div",{"data-testid":"depth-apply-error",className:"text-xs text-red-400",children:e.error}),(0,a.jsx)("button",{"data-testid":"depth-apply-button",disabled:e.applying,onClick:()=>n(e.depth),className:"text-xs px-3 py-1.5 rounded bg-amber-600 hover:bg-amber-500 text-white disabled:opacity-50",children:e.applying?"\xdcbernehme…":"\xdcbernehmen"})]}):"done"===e.phase?(0,a.jsx)("div",{"data-testid":"depth-done-panel",className:"mt-3 text-xs text-green-400",children:"✓ Depth-Felder \xfcbernommen"}):"error"===e.phase?(0,a.jsxs)("div",{"data-testid":"depth-error-panel",className:"mt-3 space-y-2",children:[(0,a.jsx)("div",{className:"text-xs text-red-400",children:e.message}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{"data-testid":"depth-retry-button",onClick:()=>s("internal"),className:"text-xs px-2 py-1 rounded bg-slate-700 hover:bg-slate-600 text-slate-200",children:"Retry"}),(0,a.jsx)("button",{"data-testid":"depth-close-button",onClick:l,className:"text-xs px-2 py-1 rounded bg-slate-700 hover:bg-slate-600 text-slate-200",children:"Schlie\xdfen"})]})]}):null}function G({capId:e,registry:t,enriched:s,amberState:l,drift:r,onBack:n,onSelectCapability:o,onSelectFile:i,onAskChat:c,onDepthUpdate:d,depthUpdateFlow:x,onDepthApply:p,onDepthParse:h,onDepthClose:m,onDepthFieldChange:u,onDepthRawInputChange:b}){let f=(t??[]).find(t=>t.id===e);if(!f)return(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,a.jsxs)("p",{className:"text-slate-600 text-sm",children:["Capability nicht gefunden: ",e]})});let g=(s??[]).find(t=>t.id===e),y=!g?.manual,j=l?Object.entries(l.files).filter(([,t])=>(t.capabilities??[]).includes(e)).map(([e])=>e).sort():[],v=(f.depends_on??[]).map(e=>(t??[]).find(t=>t.id===e)).filter(e=>!!e);return(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"px-5 pt-4 pb-2 flex items-center gap-2 border-b border-slate-800",children:[(0,a.jsx)("button",{onClick:n,className:"text-[10px] text-slate-500 hover:text-slate-300 transition-colors",children:"← zur\xfcck"}),(0,a.jsx)("span",{className:"text-[10px] text-slate-600 font-mono truncate",children:e}),c&&(0,a.jsx)("button",{"data-testid":"ask-amber-chat",onClick:()=>c(`Was macht die Capability "${f.name}" ([${e}])?`),className:"ml-auto text-[9px] px-2 py-0.5 rounded border border-amber-700/40 bg-amber-950/40 text-amber-300 hover:bg-amber-800/40 transition-colors font-mono shrink-0",children:"\uD83D\uDCAC Frag AMBER"})]}),(0,a.jsxs)("div",{className:"px-5 pt-4 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-200",children:f.name}),g&&(0,a.jsx)(D,{level:g.effective,auto:y})]}),(0,a.jsx)("p",{className:"text-[11px] text-slate-400 leading-relaxed",children:f.description})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-x-4 gap-y-1",children:[f.owner&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500 font-mono",children:["owner: ",f.owner]}),f.lifecycle&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500 font-mono",children:["lifecycle: ",f.lifecycle]}),f.external&&(0,a.jsx)("span",{className:"text-[10px] text-amber-500/70 font-mono",children:"external"})]}),g?.metrics&&(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)(U,{coverage:g.metrics.avg_coverage}),void 0!==g.metrics.max_churn&&g.metrics.max_churn>10&&(0,a.jsxs)("span",{"data-testid":"churn-indicator",className:"text-[10px] text-orange-400 font-mono flex items-center gap-1",children:["\uD83D\uDD25 Hot file (",g.metrics.max_churn," commits / 90d)"]})]}),g?.criticality_reasons&&g.criticality_reasons.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-1",children:"Criticality signals"}),(0,a.jsx)("ul",{"data-testid":"criticality-reasons",className:"space-y-0.5",children:g.criticality_reasons.map((e,t)=>(0,a.jsxs)("li",{className:"text-[10px] text-slate-500 font-mono flex items-center gap-1",children:[(0,a.jsx)("span",{className:"text-slate-700",children:"\xb7"}),e]},t))})]}),v.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-1.5",children:"Depends on"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:v.map(e=>(0,a.jsx)(L,{cap:e,onClick:o},e.id))})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-1.5",children:["Files (",j.length,")"]}),0===j.length?(0,a.jsx)("p",{className:"text-[10px] text-slate-600",children:"Keine Files zugeordnet."}):(0,a.jsx)("ul",{className:"space-y-0.5",children:j.map(e=>{let t=(r??[]).some(t=>t.file===e&&"content_changed_no_doc_update"===t.kind);return(0,a.jsx)("li",{children:(0,a.jsxs)("button",{onClick:()=>i(e),className:"text-[11px] font-mono text-slate-400 hover:text-blue-300 transition-colors text-left w-full flex items-center gap-1",children:[t&&(0,a.jsx)("span",{className:"text-amber-400 text-[10px] shrink-0",children:"⚠"}),e]})},e)})})]}),(0,a.jsxs)("div",{className:"pb-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-1.5 flex-wrap",children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Doc Depth"}),(0,a.jsxs)("span",{"data-testid":"depth-coverage-badge",className:"text-[10px] font-mono text-slate-500 border border-slate-700 px-1.5 py-0.5 rounded",children:["\uD83D\uDCCA depth: ",J(f),"/9"]}),d&&(0,a.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[(0,a.jsx)("button",{"data-testid":"generate-depth-button",onClick:()=>d("internal"),className:"text-[9px] px-2 py-0.5 rounded border border-amber-700/40 bg-amber-950/40 text-amber-300 hover:bg-amber-800/40 transition-colors font-mono",children:"✨ Generate depth"}),(0,a.jsx)("button",{"data-testid":"generate-depth-byoa-button",onClick:()=>d("byoa"),className:"text-[9px] px-2 py-0.5 rounded border border-slate-600/40 bg-slate-800/30 text-slate-300 hover:bg-slate-700/40 transition-colors font-mono",children:"\uD83D\uDCCB BYOA Prompt"})]})]}),x&&p&&h&&m&&d&&(0,a.jsx)(V,{flow:x,capabilityId:e,onRetry:d,onClose:m,onParse:h,onApply:p,onRawInputChange:b??(()=>{}),onDepthFieldChange:u??(()=>{})}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[q.map(e=>{let t=f[e];return null==t||Array.isArray(t)&&0===t.length||"string"==typeof t&&""===t?null:(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-600 uppercase tracking-widest shrink-0 pt-0.5 w-28",children:W[e]}),(0,a.jsx)("span",{className:"text-[11px] text-slate-400 leading-relaxed flex-1",children:Array.isArray(t)?t.join(", "):t})]},e)}),0===J(f)&&(0,a.jsxs)("div",{"data-testid":"depth-empty-state",className:"flex flex-col items-center gap-2 py-3",children:[(0,a.jsx)("div",{className:"text-xs text-slate-500",children:"\uD83D\uDCCA Keine Depth-Felder gesetzt."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{"data-testid":"depth-empty-generate-button",onClick:()=>d?.("internal"),className:"text-xs px-2 py-1 rounded bg-amber-600/80 hover:bg-amber-600 text-white",children:"✨ Generate depth"}),(0,a.jsx)("button",{"data-testid":"depth-empty-byoa-button",onClick:()=>d?.("byoa"),className:"text-xs px-2 py-1 rounded bg-slate-700 hover:bg-slate-600 text-slate-200",children:"\uD83D\uDCCB BYOA Prompt"})]})]})]})]})]})]})}function Z({registry:e,enriched:t,drift:s,orphanIds:r,onSelectCapability:n,onSelectFileForCap:o,amberState:i,onBootstrap:c,onOpenBulkTag:d,untaggedCount:x}){let[p,h]=(0,l.useState)("criticality"),[m,u]=(0,l.useState)("all"),b=(0,l.useMemo)(()=>{let e={};for(let t of s??[]){if(!i)continue;let s=i.files[t.file];if(s)for(let t of s.capabilities??[])e[t]=(e[t]??0)+1}return e},[s,i]),f=(0,l.useMemo)(()=>{let e={};for(let s of t??[])e[s.id]=s;return e},[t]),g=(0,l.useMemo)(()=>{let t=[...e??[]];return"external"===m&&(t=t.filter(e=>e.external)),"deprecated"===m&&(t=t.filter(e=>"deprecated"===e.lifecycle)),"with_drift"===m&&(t=t.filter(e=>(b[e.id]??0)>0)),t},[e,m,b]),j=(0,l.useMemo)(()=>{let e=[...g??[]];return"alpha"===p?e.sort((e,t)=>e.id.localeCompare(t.id)):"drift"===p?e.sort((e,t)=>(b[t.id]??0)-(b[e.id]??0)):"coverage"===p?e.sort((e,t)=>{let s=f[e.id]?.metrics?.avg_coverage,a=f[t.id]?.metrics?.avg_coverage;return void 0===s&&void 0===a?0:void 0===s?1:void 0===a?-1:s-a}):"depth"===p?e.sort((e,t)=>J(e)-J(t)):e.sort((e,t)=>{let s=f[e.id]?.effective??"low",a=f[t.id]?.effective??"low";return y.indexOf(s)-y.indexOf(a)})},[g,p,b,f]);if(0===(e??[]).length)return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,a.jsx)(z,{onBootstrap:c,onOpenBulkTag:d,untaggedCount:x}),(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center px-6 text-center",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-slate-600 text-sm",children:0===j.length&&"with_drift"===m?"Kein Drift gefunden.":"Keine Capabilities — Scan ausf\xfchren."}),(0,a.jsxs)("p",{className:"text-slate-700 text-xs mt-1.5",children:["Klicke auf"," ",(0,a.jsx)("span",{className:"font-mono bg-slate-800 px-1 rounded",children:"↺ Scan"})," ","um die capabilities.md zu lesen."]})]})})]});let v=(e??[]).length<3||void 0!==x&&x>0;return(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[v&&(0,a.jsx)(z,{onBootstrap:c,onOpenBulkTag:d,untaggedCount:x}),(0,a.jsxs)("div",{className:"shrink-0 px-4 py-2 border-b border-slate-800 flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Sort"}),["criticality","alpha","drift","coverage","depth"].map(e=>(0,a.jsx)("button",{onClick:()=>h(e),className:`text-[10px] font-mono px-2 py-0.5 rounded transition-colors ${p===e?"bg-amber-900/40 text-amber-300 border border-amber-700/40":"text-slate-500 hover:text-slate-300"}`,children:"depth"===e?"depth ↑":e},e)),(0,a.jsx)("span",{className:"mx-1 text-slate-700",children:"|"}),(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Filter"}),[["all","Alle"],["external","External"],["deprecated","Deprecated"],["with_drift","Mit Drift"]].map(([e,t])=>(0,a.jsx)("button",{onClick:()=>u(e),className:`text-[10px] font-mono px-2 py-0.5 rounded transition-colors ${m===e?"bg-slate-700 text-slate-200 border border-slate-600":"text-slate-500 hover:text-slate-300"}`,children:t},e))]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto",children:0===j.length?(0,a.jsx)("p",{className:"px-5 py-8 text-center text-slate-600 text-sm",children:"Keine Capabilities f\xfcr diesen Filter."}):j.map(e=>{let t=f[e.id],s=b[e.id]??0,l=r.includes(e.id);return(0,a.jsx)("div",{"data-testid":`cap-row-${e.id}`,className:"border-b border-slate-800/40 px-4 py-2.5 hover:bg-slate-800/20 transition-colors",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("button",{"data-testid":`cap-row-btn-${e.id}`,onClick:()=>n(e.id),className:"flex flex-col flex-1 min-w-0 text-left hover:text-amber-300 transition-colors group",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500 shrink-0"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 group-hover:text-amber-300 truncate transition-colors",children:e.id})]}),(0,a.jsx)("span",{className:"text-[10px] text-slate-500 group-hover:text-slate-300 truncate pl-3 mt-0.5 transition-colors",children:e.name})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[s>0&&(0,a.jsxs)("span",{className:"text-[9px] text-amber-400 font-mono",children:["⚠",s]}),l&&(0,a.jsx)("span",{className:"text-[9px] text-slate-600 font-mono border border-slate-700 px-1 rounded",children:"orphan"}),t&&(0,a.jsx)(D,{level:t.effective,auto:!t.manual}),(0,a.jsx)("button",{onClick:()=>o(e.id),className:"text-[9px] text-slate-600 hover:text-amber-400 transition-colors font-mono",title:"Erstes matching File im Tree anzeigen",children:"→ File"})]})]})},e.id)})})]})}function Q({status:e,scanError:t,amberState:s,registry:r,enriched:n,drift:o,orphanCapabilityIds:i,unknownCapabilityRefs:c,selectedFile:d,selectedCapabilityId:x,lastScanDriftCount:p,onScan:h,onSelectCapability:m,onClearCapability:u,onSelectFile:b,onBootstrap:f,onApplyBootstrap:g,onDocuUpdate:y,onApplyDocuUpdate:j,onSendChat:v,contextOptions:N,selectedAppId:k,selectedEnv:w,onAppChange:C,onEnvChange:$,untaggedFiles:F,onBulkTagApplySuccess:R,authFetch:M,targetQuery:P=""}){let _=M??((e,t)=>fetch(e,t)),[T,D]=(0,l.useState)(null),[L,z]=(0,l.useState)(null),[U,W]=(0,l.useState)(null),[V,Y]=(0,l.useState)(!1),[X,ee]=(0,l.useState)(void 0),[et,es]=(0,l.useState)(!1),[ea,el]=(0,l.useState)(!1),[er,en]=(0,l.useState)(!1),eo=(r??[]).filter(e=>J(e)<q.length).length,ei=F?.length??0;(0,l.useEffect)(()=>{W(null)},[x,d]);function ec(){Y(!1),ee(void 0)}async function ed(e){if(f){D({phase:"running"});try{let t=await f(e);"byoa"===t.mode?D({phase:"prompt",prompt:t.prompt,rawInput:""}):D({phase:"proposals",proposals:t.proposals,applying:!1,error:null})}catch(e){D({phase:"error",message:String(e)})}}}async function ex(e){if(f)try{let t=await f("byoa",e);"byoa"===t.mode?D({phase:"prompt",prompt:t.prompt,rawInput:""}):D({phase:"proposals",proposals:t.proposals,applying:!1,error:null})}catch(e){D({phase:"error",message:String(e)})}}async function ep(e){if(g){D(e=>e?.phase==="proposals"?{...e,applying:!0}:e);try{await g(e),D({phase:"done"})}catch(e){D(t=>t?.phase==="proposals"?{...t,applying:!1,error:String(e)}:t)}}}async function eh(e,t){if(y){z({phase:"running"});try{let s=await y(e,t);"byoa"===s.mode?z({phase:"prompt",prompt:s.prompt,rawInput:""}):z({phase:"doc",doc:s.doc,applying:!1,error:null})}catch(e){z({phase:"error",message:String(e)})}}}async function em(e){if(y&&d)try{let t=await y(d.path,"byoa",e);"byoa"===t.mode?z({phase:"prompt",prompt:t.prompt,rawInput:""}):z({phase:"doc",doc:t.doc,applying:!1,error:null})}catch(e){z({phase:"error",message:String(e)})}}async function eu(e){if(j&&d){z(e=>e?.phase==="doc"?{...e,applying:!0}:e);try{await j(d.path,e),z({phase:"done"})}catch(e){z(t=>t?.phase==="doc"?{...t,applying:!1,error:String(e)}:t)}}}async function eb(e,t){W({phase:"running"});try{let s=await _(`/api/amber/ai/depth-update${P}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({capability_id:e,appId:k,env:w,mode:t})});if(!s.ok){let e=await s.json().catch(()=>({error:s.statusText}));throw Error(e.error??s.statusText)}let a=await s.json();if("byoa"===a.mode&&a.prompt)W({phase:"prompt",prompt:a.prompt,rawInput:""});else if("internal"===a.mode&&a.depth)W({phase:"result",depth:a.depth,applying:!1,error:null});else throw Error("Unexpected response from depth-update route")}catch(e){W({phase:"error",message:String(e)})}}async function ef(e){W(e=>e?.phase==="result"?{...e,applying:!0,error:null}:e);let t=await _(`/api/amber/ai/depth-update/apply${P}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({capability_id:x,depth_fields:e})});if(!t.ok){let e=(await t.json().catch(()=>({error:"Unbekannter Fehler"}))).error??"Unbekannter Fehler";W(t=>t?.phase==="result"?{...t,applying:!1,error:e}:t);return}W({phase:"done"}),setTimeout(()=>W(null),2500),h()}return(0,a.jsxs)("div",{className:"flex-1 flex flex-col bg-slate-950 overflow-hidden border-l border-slate-800 min-h-0",children:[(0,a.jsx)(O,{status:e,error:t,lastDriftCount:p,onScan:h,onOpenChat:v?()=>void(ee(void 0),Y(!0)):void 0,chatOpen:V,onOpenBulkTag:void 0!==F?()=>es(e=>!e):void 0,bulkTagOpen:et,untaggedCount:ei,onOpenBulkDepth:()=>el(e=>!e),bulkDepthOpen:ea,needsDepthCount:eo,onOpenConfig:()=>en(e=>!e),configOpen:er,contextOptions:N,selectedAppId:k,selectedEnv:w,onAppChange:C,onEnvChange:$}),"loading"===e&&(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-600 text-sm animate-pulse",children:"AMBER-Daten laden…"})}),"scan-error"===e&&(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center px-6 text-center",children:(0,a.jsx)("div",{children:t?.includes("401")||t?.includes("403")?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-red-400 text-sm",children:"Auth-Fehler beim Laden"}),(0,a.jsx)("p",{className:"text-slate-600 text-xs mt-1.5",children:"Seite neu laden oder als Admin einloggen."})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-red-400 text-sm",children:"Fehler beim Laden der AMBER-Daten."}),t&&(0,a.jsx)("p",{className:"text-slate-600 text-xs mt-1 font-mono",children:t})]})})}),("loaded"===e||"scanning"===e)&&(0,a.jsx)(a.Fragment,{children:er?(0,a.jsx)(A,{onClose:()=>en(!1),targetQuery:P}):et&&void 0!==F?(0,a.jsx)(E,{untaggedFiles:F,registry:r??[],selectedAppId:k??null,selectedEnv:w??null,targetQuery:P,onApplySuccess:()=>{es(!1),R?.()},onClose:()=>es(!1)}):ea?(0,a.jsx)(I,{registry:r??[],selectedAppId:k??null,selectedEnv:w??null,targetQuery:P,onClose:()=>el(!1),onRefresh:h,authFetch:M}):V&&v?(0,a.jsx)(S,{registry:r??[],onSend:v,onSelectCapability:e=>{ec(),m(e)},onClose:ec,initialMessage:X,disabled:!k||!w}):null!==T?(0,a.jsx)(B,{flow:T,onClose:()=>D(null),onParseByoa:ex,onApply:ep,onRawInputChange:e=>D(t=>t?.phase==="prompt"?{...t,rawInput:e}:t)}):null!==L?(0,a.jsx)(K,{flow:L,onClose:()=>z(null),onParseByoa:em,onApply:eu,onRawInputChange:e=>z(t=>t?.phase==="prompt"?{...t,rawInput:e}:t)}):x?(0,a.jsx)(G,{capId:x,registry:r,enriched:n,amberState:s,drift:o,onBack:u,onSelectCapability:m,onSelectFile:b,onAskChat:v?e=>{ee(e),Y(!0)}:void 0,onDepthUpdate:e=>eb(x,e),depthUpdateFlow:U,onDepthApply:ef,onDepthParse:function(e){try{let t=JSON.parse(e);W({phase:"result",depth:t,applying:!1,error:null})}catch{W({phase:"error",message:"Ung\xfcltiges JSON in der AI-Antwort"})}},onDepthClose:()=>W(null),onDepthFieldChange:function(e,t){W(s=>s?.phase!=="result"?s:{...s,depth:{...s.depth,[e]:t}})},onDepthRawInputChange:function(e){W(t=>t?.phase==="prompt"?{...t,rawInput:e}:t)}}):d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"shrink-0 px-5 py-2 border-b border-slate-800",children:(0,a.jsx)("p",{className:"text-[10px] text-slate-500 font-mono truncate",children:d.path})}),(0,a.jsx)(H,{file:d,amberState:s,registry:r,enriched:n,drift:o,onSelectCapability:m,onDocuUpdate:y?e=>eh(d.path,e):void 0})]}):(0,a.jsx)(Z,{registry:r,enriched:n,drift:o,orphanIds:i,onSelectCapability:m,onSelectFileForCap:function(e){if(!s)return;let t=Object.entries(s.files).find(([,t])=>(t.capabilities??[]).includes(e))?.[0];t&&b(t)},amberState:s,onBootstrap:f?ed:void 0,onOpenBulkTag:void 0!==F?()=>es(!0):void 0,untaggedCount:ei})}),"idle"===e&&(0,a.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-slate-700 text-sm",children:"Starte AMBER-Scan…"})})]})}function Y({filteredFiles:e,selected:t,onSelectByPath:s,target:r}){let n=r?`?target=${encodeURIComponent(r)}`:"",[o,i]=(0,l.useState)("idle"),[c,d]=(0,l.useState)(null),[x,p]=(0,l.useState)([]),[h,m]=(0,l.useState)([]),[u,b]=(0,l.useState)([]),[f,y]=(0,l.useState)([]),[j,v]=(0,l.useState)([]),[N,k]=(0,l.useState)(null),[w,C]=(0,l.useState)(null),[S,$]=(0,l.useState)(null),[F,E]=(0,l.useState)(null),[A,R]=(0,l.useState)(null),[M,P]=(0,l.useState)(null),[_,I]=(0,l.useState)(!1),[T,D]=(0,l.useState)("files");(0,l.useEffect)(()=>{"idle"===o&&(i("loading"),fetch(`/api/amber/context-options${n}`).then(e=>e.ok?e.json():{apps:[],envsByApp:{}}).then(e=>{$(e);let t=e.apps[0]?.id??null;E(e=>e??t);let s=t?e.envsByApp[t]?.[0]??null:null;R(e=>e??s)}).catch(()=>$({apps:[],envsByApp:{}})),fetch(`/api/amber/enriched${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return await e.json()}).then(e=>{d(e.state),p(e.registry??[]),m(e.enriched_criticality??[]),i("loaded")}).catch(e=>{k(e instanceof Error?e.message:String(e)),i("scan-error")}))},[o,n]);let L=(0,l.useCallback)(async()=>{i("scanning"),k(null);try{let e=await fetch(`/api/amber/enriched${n}`,{method:"POST",headers:{"Content-Type":"application/json"}}),t=await e.json();if(!e.ok)throw Error("message"in t&&t.message||"error"in t&&t.error||`HTTP ${e.status}`);b(t.drift??[]),y(t.orphan_capability_ids??[]),v(t.unknown_capability_refs??[]),C((t.drift??[]).filter(e=>"content_changed_no_doc_update"===e.kind).length);let s=await fetch(`/api/amber/enriched${n}`),a=await s.json();d(a.state),p(a.registry??[]),m(a.enriched_criticality??[]),i("loaded")}catch(e){k(e instanceof Error?e.message:String(e)),i("scan-error")}},[n]),O=(0,l.useCallback)(()=>{L()},[L]),z=(0,l.useCallback)(async e=>{let t=await fetch(`/api/amber/chat${n}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:e})}),s=await t.json();if(!t.ok)throw Error(s.error??`HTTP ${t.status}`);return{reply:s.reply??"",referencedCapabilityIds:s.referencedCapabilityIds??[]}},[n]),B=(0,l.useMemo)(()=>{if(c)return Object.entries(c.files).filter(([,e])=>0===(e.capabilities??[]).length&&!e.doc_hash).map(([e,t])=>({path:e,hash:t.hash}))},[c]),K=(0,l.useMemo)(()=>new Set(u.filter(e=>"content_changed_no_doc_update"===e.kind).map(e=>e.file)),[u]),H=(0,l.useMemo)(()=>{let t=e;return _&&(t=t.filter(e=>K.has(e.path))),t},[e,_,K]);function U(e){P(null),s(e)}return(0,a.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden min-h-0",children:[(u.length>0||f.length>0||j.length>0)&&(0,a.jsx)(g,{drift:u,orphanCapabilityIds:f,unknownCapabilityRefs:j,onOpenDriftFilter:()=>{I(!0),D("files")}}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden min-h-0",children:[(0,a.jsxs)("div",{className:"flex flex-col w-[40%] max-w-[460px] flex-shrink-0 overflow-hidden border-r min-h-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,a.jsxs)("div",{className:"shrink-0 flex items-center gap-2 px-3 py-2 border-b border-slate-800",children:[["files","capabilities"].map(e=>(0,a.jsx)("button",{"data-testid":`amber-left-${e}`,onClick:()=>D(e),className:["text-[10px] font-mono px-2.5 py-1 rounded border transition-colors capitalize",T===e?"border-amber-600/60 bg-amber-800/40 text-amber-200":"border-slate-700/40 bg-slate-800/30 text-slate-400 hover:text-amber-300"].join(" "),children:e},e)),_&&(0,a.jsx)("button",{onClick:()=>I(!1),className:"ml-auto text-[10px] px-2 py-0.5 rounded-full border border-amber-700/40 bg-amber-950/40 text-amber-300",children:"⚠ Drift only ✕"})]}),"files"===T?(0,a.jsx)("div",{className:"flex-1 overflow-y-auto","data-testid":"amber-file-list",children:0===H.length?(0,a.jsx)("p",{className:"px-4 py-8 text-center text-slate-600 text-xs",children:_?"No files with drift.":"No files match your filter."}):H.map(e=>{let s=c?.files[e.path],l=s?.capabilities??[],r=K.has(e.path),n=t?.path===e.path;return(0,a.jsxs)("button",{"data-testid":`amber-file-${e.path}`,onClick:()=>U(n?null:e.path),className:["w-full text-left px-3 py-2 border-b border-slate-800/40 transition-colors flex items-center gap-2",n?"bg-amber-950/30 border-l-2 border-l-amber-500":"hover:bg-slate-800/30"].join(" "),children:[(0,a.jsx)("span",{className:["w-1.5 h-1.5 rounded-full shrink-0",l.length>0?"bg-amber-500":"bg-slate-700"].join(" "),title:l.length>0?`${l.length} capabilities`:"no AMBER capabilities"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate flex-1",children:e.path}),r&&(0,a.jsx)("span",{className:"text-amber-400 text-[10px] shrink-0",title:"content changed since last @amber-doc",children:"⚠"}),l.length>0&&(0,a.jsx)("span",{className:"text-[9px] font-mono text-amber-500/70 shrink-0",children:l.length})]},e.id)})}):(0,a.jsx)("div",{className:"flex-1 overflow-y-auto","data-testid":"amber-capability-list",children:0===x.length?(0,a.jsx)("p",{className:"px-4 py-8 text-center text-slate-600 text-xs",children:"No capabilities — run ↺ Scan."}):x.map(e=>{let t=c?Object.values(c.files).filter(t=>(t.capabilities??[]).includes(e.id)).length:0,l=M===e.id;return(0,a.jsxs)("button",{"data-testid":`amber-cap-${e.id}`,onClick:()=>{s(null),P(l?null:e.id)},className:["w-full text-left px-3 py-2 border-b border-slate-800/40 transition-colors",l?"bg-amber-950/30 border-l-2 border-l-amber-500":"hover:bg-slate-800/30"].join(" "),children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500 shrink-0"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate flex-1",children:e.id}),(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-500 shrink-0",children:[t,"f"]})]}),(0,a.jsx)("span",{className:"text-[10px] text-slate-500 truncate block pl-3 mt-0.5",children:e.name})]},e.id)})})]}),(0,a.jsx)(Q,{status:o,scanError:N,amberState:c,registry:x,enriched:h,drift:u,orphanCapabilityIds:f,unknownCapabilityRefs:j,selectedFile:t,selectedCapabilityId:M,lastScanDriftCount:w,onScan:L,onSelectCapability:e=>{s(null),P(e)},onClearCapability:()=>P(null),onSelectFile:U,onSendChat:z,contextOptions:S,selectedAppId:F,selectedEnv:A,onAppChange:E,onEnvChange:R,untaggedFiles:B,onBulkTagApplySuccess:O,targetQuery:n})]})]})}let X=[{id:"untested_critical",title:"Untested Critical Capabilities",description:"Critical capabilities with inadequate test coverage — highest risk zone in the product.",prompt_template:"Liste mir alle Capabilities die criticality=critical haben UND deren Files unter 70% Coverage liegen. Sortiere nach Schweregrad (criticality \xd7 inverse_coverage) und zeige [cap.id] Pills mit jeweiligen Coverage-Werten."},{id:"stale_docs_hot_code",title:"Stale Docs on Hot Code",description:"Capabilities with documentation drift AND high churn — code changes fast while docs lag behind.",prompt_template:"Welche Capabilities haben Files mit content_changed_no_doc_update Drift UND hoher Churn (>5 Commits/90d)? Diese sind doppelt riskant: Code \xe4ndert sich schnell und Docs hinken hinterher. Zeige [cap.id] Pills und betroffene [file:path] Pills."},{id:"legacy_in_active_lifecycle",title:"Pseudo-Active Capabilities",description:"Capabilities marked 'active' but with low churn and missing docs — likely abandoned without being deprecated.",prompt_template:"Welche Capabilities sind als lifecycle=active markiert, aber ihre Files haben niedrige Churn (<2 Commits/90d) UND keine Tests UND keine @amber-business-doc? Verdacht auf Pseudo-Active — diese sollten als deprecated eingestuft werden. Zeige [cap.id] Pills."},{id:"orphan_risk_files",title:"High-Churn Files Without Capability Assignment",description:"Actively changing files that have no AMBER capability assignment — high churn without business context.",prompt_template:"Welche Files haben keine Capability-Zuordnung in AMBER (kein [cap.id] Tag) UND befinden sich in Bereichen mit hoher Churn (>5 Commits/90d)? Diese sind in beiden Layern problematisch: hohe Aktivit\xe4t ohne Business-Kontext. Zeige [file:path] Pills."},{id:"coverage_gaps_customer_facing",title:"Coverage Gaps in Customer-Facing Capabilities",description:"External-facing capabilities with below-60% average coverage — customer-visible and poorly protected.",prompt_template:"Welche Capabilities mit external=true haben durchschnittlich unter 60% Coverage? Diese sind kundensichtbar UND schlecht abgesichert — h\xf6chste Priorit\xe4t f\xfcr Test-Investitionen. Zeige [cap.id] Pills mit Coverage-Prozents\xe4tzen."},{id:"doc_drift_critical",title:"Doc Drift on Critical Capabilities",description:"Critical capabilities where documentation has drifted from the code — eroding confidence in key areas.",prompt_template:"Welche critical-Capabilities haben Doc-Hash-Drift in mindestens einem ihrer Files? Das bedeutet Vertrauensverlust in der Dokumentation bei den wichtigsten Capabilities. Zeige [cap.id] Pills und [file:path] Pills der betroffenen Files mit Drift-Details."}],ee=["coverage","churn","drift","file","filepath","test","metric","avgcoverage","maxchurn","hasdrift","coverage<","coverage>","churn>","churn<","untested","lines","branch","commit"],et=["criticality","lifecycle","external","capability","cap","doc","business","description","name","critical","active","deprecated","high","medium","low","sla","owner","team"];function es({query:e,onClick:t}){return(0,a.jsx)("button",{"data-testid":`green-stock-card-${e.id}`,onClick:t,className:"w-full text-left p-2.5 rounded border transition-colors bg-slate-900 border-slate-700/60 hover:bg-green-950/40 hover:border-green-700/50 group",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("span",{className:"text-green-500/60 text-[9px] mt-0.5 font-mono shrink-0",children:"◈"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-[10px] font-semibold text-slate-200 group-hover:text-green-300 transition-colors truncate",children:e.title}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 mt-0.5 line-clamp-1",children:e.description})]}),(0,a.jsx)("span",{className:"shrink-0 text-[9px] text-slate-700 group-hover:text-green-500 font-mono transition-colors",children:"↗"})]})})}function ea({evidence:e,onSelectCapability:t,onSelectFile:s}){return(0,a.jsxs)("div",{className:"mt-1.5 pl-2 border-l border-emerald-800/40 space-y-1","data-testid":"evidence-panel",children:[(0,a.jsx)("p",{className:"text-[9px] text-slate-600 font-mono",children:e.metric_pattern}),e.capability_ids.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.capability_ids.map(e=>(0,a.jsxs)("button",{onClick:()=>t(e),"data-testid":`evidence-cap-pill-${e}`,className:"inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] font-mono bg-amber-900/30 text-amber-400 hover:bg-amber-900/50 border border-amber-700/30 transition-colors",title:`AMBER: ${e}`,children:[(0,a.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-amber-400 shrink-0"}),e]},e))}),e.files&&e.files.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.files.map(e=>(0,a.jsxs)("button",{onClick:()=>s(e),"data-testid":`evidence-file-pill-${e}`,className:"inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] font-mono bg-blue-900/30 text-blue-400 hover:bg-blue-900/50 border border-blue-700/30 transition-colors",title:`BLUE: ${e}`,children:[(0,a.jsx)("span",{className:"w-0.5 h-0.5 rounded-full bg-blue-400 shrink-0"}),e.split("/").slice(-1)[0]]},e))})]})}function el({insight:e,onSelect:t,onEdit:s,onDelete:r,onPromote:n,onSelectCapability:o,onSelectFile:i}){let[c,d]=(0,l.useState)(!1);return(0,a.jsxs)("div",{"data-testid":`green-auto-card-${e.id}`,className:"rounded border transition-colors bg-slate-900 border-slate-700/60 hover:border-emerald-700/40",children:[(0,a.jsxs)("div",{className:"flex items-start gap-1.5 p-2.5",children:[(0,a.jsxs)("button",{onClick:t,className:"flex-1 text-left min-w-0","data-testid":`green-auto-card-select-${e.id}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-emerald-500/60 text-[9px] font-mono shrink-0",children:"◈"}),(0,a.jsx)("p",{className:"text-[10px] font-semibold text-slate-200 hover:text-emerald-300 transition-colors truncate",children:e.title}),(0,a.jsx)("span",{className:"shrink-0 px-1 py-0.5 rounded text-[8px] font-mono bg-emerald-900/30 text-emerald-500 border border-emerald-700/30",children:"auto"})]}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 mt-0.5 line-clamp-1 pl-4",children:e.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[(0,a.jsx)("button",{onClick:()=>d(e=>!e),"data-testid":`green-auto-card-expand-${e.id}`,title:"Supporting Evidence anzeigen",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-slate-300 transition-colors",children:c?"▲":"▼"}),(0,a.jsx)("button",{onClick:()=>n(e),"data-testid":`green-auto-card-promote-${e.id}`,title:"Als Custom Query speichern",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-violet-400 transition-colors",children:"\uD83D\uDCCC"}),(0,a.jsx)("button",{onClick:()=>s(e),"data-testid":`green-auto-card-edit-${e.id}`,title:"Insight bearbeiten",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-blue-300 transition-colors",children:"✎"}),(0,a.jsx)("button",{onClick:()=>r(e.id),"data-testid":`green-auto-card-delete-${e.id}`,title:"Insight entfernen",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-red-400 transition-colors",children:"\xd7"})]})]}),c&&(0,a.jsx)("div",{className:"px-2.5 pb-2.5",children:(0,a.jsx)(ea,{evidence:e.supporting_evidence,onSelectCapability:o,onSelectFile:i})})]})}function er({insight:e,onSave:t,onClose:s}){let[r,n]=(0,l.useState)(e.title),[o,i]=(0,l.useState)(e.description),[c,d]=(0,l.useState)(e.prompt_template);return(0,a.jsx)("div",{"data-testid":"edit-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",children:(0,a.jsxs)("div",{className:"w-[480px] rounded border border-slate-700 bg-slate-900 p-5 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-[11px] font-mono text-emerald-400",children:"Insight bearbeiten"}),(0,a.jsx)("button",{onClick:s,className:"text-slate-500 hover:text-slate-300 text-sm",children:"\xd7"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Title"}),(0,a.jsx)("input",{"data-testid":"edit-modal-title",value:r,onChange:e=>n(e.target.value),className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-emerald-600"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Description"}),(0,a.jsx)("textarea",{"data-testid":"edit-modal-description",value:o,onChange:e=>i(e.target.value),rows:2,className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-emerald-600 resize-none"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Prompt Template"}),(0,a.jsx)("textarea",{"data-testid":"edit-modal-prompt",value:c,onChange:e=>d(e.target.value),rows:3,className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-emerald-600 resize-none"})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,a.jsx)("button",{onClick:s,className:"px-3 py-1 rounded border border-slate-700 text-[10px] text-slate-400 hover:text-slate-200 transition-colors",children:"Abbrechen"}),(0,a.jsx)("button",{"data-testid":"edit-modal-save",onClick:()=>t({...e,title:r,description:o,prompt_template:c}),disabled:!r.trim()||!c.trim(),className:"px-3 py-1 rounded border border-emerald-700/50 bg-emerald-900/20 text-[10px] text-emerald-300 hover:bg-emerald-800/30 disabled:opacity-40 transition-colors",children:"Speichern"})]})]})})}function en({greenFetch:e,onApply:t,onClose:s}){let[r,n]=(0,l.useState)({phase:"idle"}),o=(0,l.useRef)(null);async function i(){n({phase:"running"});try{let t=await e("/api/green/insights/discover",{method:"POST",body:JSON.stringify({mode:"internal"})}),s=await t.json();if(!t.ok)throw Error(s.error??`HTTP ${t.status}`);let a=s.insights.map(e=>({...e,selected:!0}));n({phase:"preview",candidates:a})}catch(e){n({phase:"error",message:e instanceof Error?e.message:String(e)})}}async function c(){n({phase:"running"});try{let t=await e("/api/green/insights/discover",{method:"POST",body:JSON.stringify({mode:"byoa"})}),s=await t.json();if(!t.ok)throw Error(s.error??`HTTP ${t.status}`);n({phase:"byoa",prompt:s.prompt,pasteText:""})}catch(e){n({phase:"error",message:e instanceof Error?e.message:String(e)})}}async function d(){if("byoa"!==r.phase)return;let t=await e("/api/green/insights/parse",{method:"POST",body:JSON.stringify({text:r.pasteText})});n({phase:"preview",candidates:((await t.json()).insights??[]).map(e=>({...e,selected:!0}))})}async function x(e){if("preview"!==r.phase)return;let a=r.candidates.filter(e=>e.selected).map(({selected:e,...t})=>t);await t(a,e),s()}function p(e){"preview"===r.phase&&n({...r,candidates:r.candidates.map(t=>t.id===e?{...t,selected:!t.selected}:t)})}return(0,a.jsx)("div",{"data-testid":"discover-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",children:(0,a.jsxs)("div",{className:"w-[560px] max-h-[80vh] flex flex-col rounded border border-slate-700 bg-slate-900",children:[(0,a.jsxs)("div",{className:"shrink-0 flex items-center justify-between px-4 py-3 border-b border-slate-800",children:[(0,a.jsx)("p",{className:"text-[11px] font-mono text-emerald-400",children:"✨ Insight Discovery"}),(0,a.jsx)("button",{onClick:s,className:"text-slate-500 hover:text-slate-300 text-sm",children:"\xd7"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-4",children:["idle"===r.phase&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("p",{className:"text-[10px] text-slate-400",children:["GREEN analysiert den Cross-Layer-Kontext (",X.length," Stock-Queries ausgeschlossen) und schl\xe4gt 3-7 repo-spezifische Insights vor."]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{"data-testid":"discover-run-internal",onClick:i,className:"flex-1 px-3 py-2 rounded border border-emerald-700/50 bg-emerald-900/20 text-[10px] font-mono text-emerald-300 hover:bg-emerald-800/30 transition-colors",children:"✨ Jetzt analysieren (intern)"}),(0,a.jsx)("button",{"data-testid":"discover-run-byoa",onClick:c,className:"flex-1 px-3 py-2 rounded border border-slate-700 text-[10px] font-mono text-slate-400 hover:text-slate-200 transition-colors",children:"\uD83D\uDCCB BYOA Prompt"})]}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 font-mono text-center",children:"Intern nutzt den in Settings konfigurierten Anthropic-Key."})]}),"running"===r.phase&&(0,a.jsxs)("div",{className:"flex flex-col items-center gap-3 py-8","data-testid":"discover-spinner",children:[(0,a.jsx)("span",{className:"text-2xl animate-spin",children:"◈"}),(0,a.jsx)("p",{className:"text-[10px] text-emerald-400 font-mono animate-pulse",children:"GREEN analysiert Cross-Layer-Patterns…"})]}),"error"===r.phase&&(0,a.jsxs)("div",{className:"rounded border border-red-700/40 bg-red-950/30 px-3 py-3","data-testid":"discover-error",children:[(0,a.jsx)("p",{className:"text-[10px] text-red-400 font-mono",children:r.message}),(0,a.jsx)("button",{onClick:()=>n({phase:"idle"}),className:"mt-2 text-[9px] text-slate-500 hover:text-slate-300 underline",children:"Zur\xfcck"})]}),"byoa"===r.phase&&(0,a.jsxs)("div",{className:"space-y-3","data-testid":"discover-byoa",children:[(0,a.jsx)("p",{className:"text-[9px] text-slate-500",children:"1. Kopiere den Prompt und f\xfcge ihn in ein LLM deiner Wahl ein."}),(0,a.jsx)("pre",{className:"text-[8px] bg-slate-800 border border-slate-700 rounded p-2 max-h-32 overflow-y-auto whitespace-pre-wrap text-slate-400 select-all",children:r.prompt}),(0,a.jsx)("button",{"data-testid":"discover-byoa-copy",onClick:()=>navigator.clipboard?.writeText(r.prompt),className:"px-3 py-1.5 rounded border border-slate-700 text-[9px] font-mono text-slate-400 hover:text-slate-200 transition-colors",children:"\uD83D\uDCCB Prompt kopieren"}),(0,a.jsx)("p",{className:"text-[9px] text-slate-500",children:"2. F\xfcge die LLM-Antwort hier ein:"}),(0,a.jsx)("textarea",{"data-testid":"discover-byoa-paste",ref:o,value:r.pasteText,onChange:e=>n({...r,pasteText:e.target.value}),rows:5,placeholder:"JSON-Array aus LLM hier einf\xfcgen…",className:"w-full bg-slate-800 border border-slate-700 rounded px-2 py-1.5 text-[10px] text-slate-300 placeholder-slate-600 resize-none outline-none focus:border-emerald-600"}),(0,a.jsx)("button",{"data-testid":"discover-byoa-parse",onClick:d,disabled:!r.pasteText.trim(),className:"px-3 py-1.5 rounded border border-emerald-700/50 bg-emerald-900/20 text-[10px] font-mono text-emerald-300 hover:bg-emerald-800/30 disabled:opacity-40 transition-colors",children:"↗ Parsen"})]}),"preview"===r.phase&&(0,a.jsxs)("div",{className:"space-y-2","data-testid":"discover-preview",children:[(0,a.jsxs)("p",{className:"text-[9px] text-slate-500",children:[r.candidates.length," Vorschl\xe4ge — w\xe4hle aus, was \xfcbernommen werden soll:"]}),r.candidates.map(e=>(0,a.jsx)("div",{"data-testid":`discover-candidate-${e.id}`,className:["rounded border p-2.5 transition-colors cursor-pointer",e.selected?"border-emerald-700/50 bg-emerald-950/20":"border-slate-700/60 bg-slate-900 opacity-50"].join(" "),onClick:()=>p(e.id),children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("input",{type:"checkbox",checked:e.selected,onChange:()=>p(e.id),"data-testid":`discover-candidate-check-${e.id}`,className:"mt-0.5 shrink-0 accent-emerald-500",onClick:e=>e.stopPropagation()}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-[10px] font-semibold text-slate-200",children:e.title}),(0,a.jsx)("p",{className:"text-[9px] text-slate-500 mt-0.5",children:e.description}),(0,a.jsxs)("details",{className:"mt-1",children:[(0,a.jsx)("summary",{"data-testid":`discover-candidate-evidence-${e.id}`,className:"text-[9px] text-slate-600 cursor-pointer hover:text-slate-400",onClick:e=>e.stopPropagation(),children:"Supporting Evidence"}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 font-mono mt-0.5 pl-2",children:e.supporting_evidence.metric_pattern}),(0,a.jsx)("div",{className:"flex flex-wrap gap-0.5 mt-0.5 pl-2",children:e.supporting_evidence.capability_ids.map(e=>(0,a.jsx)("span",{className:"px-1 py-0.5 rounded text-[8px] font-mono bg-amber-900/20 text-amber-500 border border-amber-700/20",children:e},e))})]})]})]})},e.id))]})]}),"preview"===r.phase&&(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 px-4 py-3 flex justify-end gap-2",children:[(0,a.jsx)("button",{onClick:s,className:"px-3 py-1.5 rounded border border-slate-700 text-[10px] text-slate-400 hover:text-slate-200 transition-colors",children:"Abbrechen"}),(0,a.jsx)("button",{"data-testid":"discover-apply-replace",onClick:()=>x("replace"),disabled:r.candidates.every(e=>!e.selected),className:"px-3 py-1.5 rounded border border-slate-600 text-[10px] font-mono text-slate-300 hover:border-slate-500 disabled:opacity-40 transition-colors",children:"Ersetzen"}),(0,a.jsx)("button",{"data-testid":"discover-apply-append",onClick:()=>x("append"),disabled:r.candidates.every(e=>!e.selected),className:"px-3 py-1.5 rounded border border-emerald-700/50 bg-emerald-900/20 text-[10px] font-mono text-emerald-300 hover:bg-emerald-800/30 disabled:opacity-40 transition-colors",children:"\xdcbernehmen"})]})]})})}function eo({query:e,onSelect:t,onEdit:s,onDelete:l,onDuplicate:r,onExport:n}){return(0,a.jsx)("div",{"data-testid":`green-custom-card-${e.id}`,className:"rounded border transition-colors bg-slate-900 border-slate-700/60 hover:border-violet-700/40",children:(0,a.jsxs)("div",{className:"flex items-start gap-1.5 p-2.5",children:[(0,a.jsxs)("button",{onClick:t,className:"flex-1 text-left min-w-0","data-testid":`green-custom-card-select-${e.id}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-violet-500/60 text-[9px] font-mono shrink-0",children:"✍"}),(0,a.jsx)("p",{className:"text-[10px] font-semibold text-slate-200 hover:text-violet-300 transition-colors truncate",children:e.title}),(0,a.jsx)("span",{className:"shrink-0 px-1 py-0.5 rounded text-[8px] font-mono bg-violet-900/30 text-violet-400 border border-violet-700/30",children:{user:"user","promoted-from-auto":"↑auto","promoted-from-chat":"↑chat"}[e.created_by]??"user"})]}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 mt-0.5 line-clamp-1 pl-4",children:e.description})]}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5 shrink-0",children:[(0,a.jsx)("button",{onClick:()=>n(e),"data-testid":`green-custom-card-export-${e.id}`,title:"Als YAML exportieren",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-violet-300 transition-colors",children:"↓"}),(0,a.jsx)("button",{onClick:()=>r(e),"data-testid":`green-custom-card-duplicate-${e.id}`,title:"Duplizieren",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-slate-300 transition-colors",children:"⎘"}),(0,a.jsx)("button",{onClick:()=>s(e),"data-testid":`green-custom-card-edit-${e.id}`,title:"Bearbeiten",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-blue-300 transition-colors",children:"✎"}),(0,a.jsx)("button",{onClick:()=>l(e.id),"data-testid":`green-custom-card-delete-${e.id}`,title:"L\xf6schen",className:"px-1 py-0.5 rounded text-[9px] text-slate-600 hover:text-red-400 transition-colors",children:"\xd7"})]})]})})}function ei({initial:e,onSave:t,onClose:s}){let r,n,o,i,[c,d]=(0,l.useState)(e?.title??""),[x,p]=(0,l.useState)(e?.description??""),[h,m]=(0,l.useState)(e?.prompt_template??""),[u,b]=(0,l.useState)(!1),f=(r=h.toLowerCase(),n=ee.some(e=>r.includes(e)),o=et.some(e=>r.includes(e)),i=[],n||i.push("BLUE (coverage, churn, drift, test, file…)"),o||i.push("AMBER (criticality, lifecycle, external, capability…)"),{valid:n&&o,missing:i}),g=c.trim()&&x.trim()&&h.trim();async function y(){b(!0);try{await t({title:c.trim(),description:x.trim(),prompt_template:h.trim()}),s()}finally{b(!1)}}return(0,a.jsx)("div",{"data-testid":"custom-query-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",children:(0,a.jsxs)("div",{className:"w-[500px] rounded border border-slate-700 bg-slate-900 p-5 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-[11px] font-mono text-violet-400",children:e?"Custom Query bearbeiten":"Neue Custom Query"}),(0,a.jsx)("button",{onClick:s,className:"text-slate-500 hover:text-slate-300 text-sm",children:"\xd7"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Title"}),(0,a.jsx)("input",{"data-testid":"custom-query-title",value:c,onChange:e=>d(e.target.value),className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-violet-600"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Description"}),(0,a.jsx)("textarea",{"data-testid":"custom-query-description",value:x,onChange:e=>p(e.target.value),rows:2,className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-violet-600 resize-none"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono uppercase",children:"Prompt Template"}),(0,a.jsx)("textarea",{"data-testid":"custom-query-prompt",value:h,onChange:e=>m(e.target.value),rows:4,className:"mt-1 w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-[11px] text-slate-200 outline-none focus:border-violet-600 resize-none"})]}),h.trim().length>0&&(0,a.jsx)("div",{"data-testid":"custom-query-validation",className:["rounded px-2 py-1.5 text-[9px] font-mono",f.valid?"bg-green-950/30 border border-green-800/40 text-green-400":"bg-amber-950/30 border border-amber-800/40 text-amber-400"].join(" "),children:f.valid?"✓ Cross-Layer: AMBER + BLUE Konzepte erkannt":(0,a.jsxs)(a.Fragment,{children:["⚠ Fehlt: ",f.missing.join(", ")]})}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,a.jsx)("button",{onClick:s,className:"px-3 py-1 rounded border border-slate-700 text-[10px] text-slate-400 hover:text-slate-200 transition-colors",children:"Abbrechen"}),(0,a.jsx)("button",{"data-testid":"custom-query-save",onClick:y,disabled:!g||u,className:"px-3 py-1 rounded border border-violet-700/50 bg-violet-900/20 text-[10px] text-violet-300 hover:bg-violet-800/30 disabled:opacity-40 transition-colors",children:u?"…":"Speichern"})]})]})})}function ec({onImport:e,onClose:t}){let[s,r]=(0,l.useState)(""),[n,o]=(0,l.useState)(null),[i,c]=(0,l.useState)(!1);async function d(){o(null),c(!0);try{await e(s),t()}catch(e){o(e instanceof Error?e.message:String(e))}finally{c(!1)}}return(0,a.jsx)("div",{"data-testid":"yaml-import-modal",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",children:(0,a.jsxs)("div",{className:"w-[480px] rounded border border-slate-700 bg-slate-900 p-5 space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-[11px] font-mono text-violet-400",children:"YAML Import"}),(0,a.jsx)("button",{onClick:t,className:"text-slate-500 hover:text-slate-300 text-sm",children:"\xd7"})]}),(0,a.jsx)("textarea",{"data-testid":"yaml-import-text",value:s,onChange:e=>r(e.target.value),rows:8,placeholder:"YAML-Inhalt hier einf\xfcgen…",className:"w-full bg-slate-800 border border-slate-700 rounded px-2 py-1.5 text-[10px] text-slate-300 placeholder-slate-600 resize-none outline-none focus:border-violet-600"}),n&&(0,a.jsx)("p",{"data-testid":"yaml-import-error",className:"text-[9px] text-red-400 font-mono",children:n}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{onClick:t,className:"px-3 py-1 rounded border border-slate-700 text-[10px] text-slate-400 hover:text-slate-200 transition-colors",children:"Abbrechen"}),(0,a.jsx)("button",{"data-testid":"yaml-import-submit",onClick:d,disabled:!s.trim()||i,className:"px-3 py-1 rounded border border-violet-700/50 bg-violet-900/20 text-[10px] text-violet-300 hover:bg-violet-800/30 disabled:opacity-40 transition-colors",children:"Importieren"})]})]})})}function ed({onSelectInsight:e,onSelectCapability:t,onSelectFile:s,greenFetch:r}){let[n,o]=(0,l.useState)(!0),[i,c]=(0,l.useState)([]),[d,x]=(0,l.useState)(!0),[p,h]=(0,l.useState)(!1),[m,u]=(0,l.useState)(null),[b,f]=(0,l.useState)([]),[g,y]=(0,l.useState)(!0),[j,v]=(0,l.useState)(!1),[N,k]=(0,l.useState)(null),[w,C]=(0,l.useState)(!1),[S,$]=(0,l.useState)("created");async function F(e,t){let s=await r("/api/green/insights/apply",{method:"POST",body:JSON.stringify({insights:e,mode:t})}),a=await s.json();if(!s.ok)throw Error(a.error??`HTTP ${s.status}`);c((await r("/api/green/insights/proposed").then(e=>e.json())).insights??[])}async function E(e){await F([e],"append"),u(null)}async function A(e){let t=i.filter(t=>t.id!==e);(await r("/api/green/insights/apply",{method:"POST",body:JSON.stringify({insights:t,mode:"replace"})})).ok&&c(t)}async function R(e){let t=await r("/api/green/queries/promote",{method:"POST",body:JSON.stringify({insight:e})}),s=await t.json();t.ok&&s.query&&f(e=>[...e,s.query])}async function M(e){if(N){let t=await r("/api/green/queries",{method:"POST",body:JSON.stringify({id:N.id,...e,validationOverride:!0})}),s=await t.json();t.ok&&s.query&&f(e=>e.map(e=>e.id===N.id?s.query:e))}else{let t=await r("/api/green/queries",{method:"POST",body:JSON.stringify({...e,validationOverride:!0})}),s=await t.json();t.ok&&s.query&&f(e=>[...e,s.query])}k(null)}async function P(e){(await r(`/api/green/queries/${e}`,{method:"DELETE"})).ok&&f(t=>t.filter(t=>t.id!==e))}async function _(e){let t=await r("/api/green/queries",{method:"POST",body:JSON.stringify({title:`${e.title} (Kopie)`,description:e.description,prompt_template:e.prompt_template,validationOverride:!0})}),s=await t.json();t.ok&&s.query&&f(e=>[...e,s.query])}function I(e){let t=new Blob([`id: ${e.id}
2
+ title: "${e.title}"
3
+ description: "${e.description}"
4
+ prompt_template: "${e.prompt_template}"
5
+ created_at: "${e.created_at}"
6
+ created_by: "${e.created_by}"`],{type:"text/yaml"}),s=URL.createObjectURL(t),a=document.createElement("a");a.href=s,a.download=`${e.id}.yaml`,a.click(),URL.revokeObjectURL(s)}async function T(e){let t=await r("/api/green/queries",{method:"POST",body:JSON.stringify({_yamlImport:e,validationOverride:!0})});if(!t.ok)throw Error((await t.json()).error??`HTTP ${t.status}`);f((await r("/api/green/queries").then(e=>e.json())).queries??[])}(0,l.useEffect)(()=>{let e=!1;return r("/api/green/insights/proposed").then(e=>e.json()).then(t=>{e||c(t.insights??[])}).catch(()=>{}).finally(()=>{e||x(!1)}),()=>{e=!0}},[]),(0,l.useEffect)(()=>{let e=!1;return r("/api/green/queries").then(e=>e.json()).then(t=>{e||f(t.queries??[])}).catch(()=>{}).finally(()=>{e||y(!1)}),()=>{e=!0}},[]);let D=[...b].sort((e,t)=>"use_count"===S?(t.use_count??0)-(e.use_count??0):"title"===S?e.title.localeCompare(t.title):e.created_at.localeCompare(t.created_at));return(0,a.jsxs)("div",{className:"flex flex-col h-full bg-slate-950 overflow-hidden","data-testid":"green-left-panel",children:[(0,a.jsx)("div",{className:"shrink-0 px-3 py-2 border-b border-slate-800",children:(0,a.jsx)("span",{className:"text-[9px] font-mono text-green-500/60 uppercase tracking-widest",children:"◈ GREEN Insights"})}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-3 py-3 space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{"data-testid":"stock-section-toggle",onClick:()=>o(e=>!e),className:"flex items-center gap-1.5 w-full text-left mb-1.5",children:[(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-500 uppercase tracking-wide",children:["\uD83D\uDCE6 Stock Insights (",X.length,")"]}),(0,a.jsx)("span",{className:"text-[8px] text-slate-700 ml-auto",children:n?"▲":"▼"})]}),n&&(0,a.jsx)("div",{className:"space-y-1",children:X.map(t=>(0,a.jsx)(es,{query:t,onClick:()=>e(t.prompt_template)},t.id))})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-500 uppercase tracking-wide",children:["\uD83D\uDD0D Auto-Discovered (",i.length,")"]}),d&&(0,a.jsx)("span",{className:"text-[8px] text-slate-600 animate-pulse",children:"…"})]}),0===i.length&&!d&&(0,a.jsx)("p",{className:"text-[9px] text-slate-700 font-mono pl-1",children:'Noch keine — klicke „Discover" um Insights zu generieren.'}),(0,a.jsx)("div",{className:"space-y-1",children:i.map(l=>(0,a.jsx)(el,{insight:l,onSelect:()=>e(l.prompt_template),onEdit:u,onDelete:A,onPromote:R,onSelectCapability:t,onSelectFile:s},l.id))})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-500 uppercase tracking-wide",children:["✍ Custom Queries (",b.length,")"]}),g&&(0,a.jsx)("span",{className:"text-[8px] text-slate-600 animate-pulse",children:"…"}),(0,a.jsx)("div",{className:"ml-auto flex items-center gap-0.5",children:(0,a.jsxs)("select",{"data-testid":"custom-sort",value:S,onChange:e=>$(e.target.value),className:"bg-transparent text-[8px] text-slate-600 outline-none cursor-pointer",children:[(0,a.jsx)("option",{value:"created",children:"↕ Neu"}),(0,a.jsx)("option",{value:"use_count",children:"↕ Oft"}),(0,a.jsx)("option",{value:"title",children:"↕ A-Z"})]})})]}),(0,a.jsxs)("div",{className:"flex gap-1 mb-1.5",children:[(0,a.jsx)("button",{"data-testid":"custom-new-button",onClick:()=>{k(null),v(!0)},className:"flex-1 px-2 py-1 rounded border border-violet-700/30 text-[9px] font-mono text-violet-400 hover:bg-violet-900/20 transition-colors",children:"+ New Query"}),(0,a.jsx)("button",{"data-testid":"custom-import-yaml-button",onClick:()=>C(!0),className:"px-2 py-1 rounded border border-slate-700 text-[8px] font-mono text-slate-500 hover:text-slate-300 transition-colors",title:"YAML importieren",children:"↑ YAML"})]}),0===b.length&&!g&&(0,a.jsx)("p",{className:"text-[9px] text-slate-700 font-mono pl-1",children:'Noch keine — klicke „+ New Query" um eine Custom Query zu erstellen.'}),(0,a.jsx)("div",{className:"space-y-1","data-testid":"custom-queries-list",children:D.map(t=>(0,a.jsx)(eo,{query:t,onSelect:()=>{r("/api/green/queries/track-use",{method:"POST",body:JSON.stringify({id:t.id})}).catch(()=>{}),e(t.prompt_template)},onEdit:e=>{k(e),v(!0)},onDelete:P,onDuplicate:_,onExport:I},t.id))})]})]}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 px-3 py-2 flex gap-1.5",children:[(0,a.jsx)("button",{"data-testid":"discover-button",onClick:()=>h(!0),className:"flex-1 px-2 py-1.5 rounded border border-emerald-700/40 bg-emerald-900/10 text-[9px] font-mono text-emerald-400 hover:bg-emerald-900/20 transition-colors",children:"✨ Discover"}),(0,a.jsx)("button",{"data-testid":"byoa-button",onClick:()=>h(!0),className:"px-2 py-1.5 rounded border border-slate-700 text-[9px] font-mono text-slate-500 hover:text-slate-300 transition-colors",title:"BYOA Prompt kopieren",children:"\uD83D\uDCCB"})]}),p&&(0,a.jsx)(en,{greenFetch:r,onApply:F,onClose:()=>h(!1)}),m&&(0,a.jsx)(er,{insight:m,onSave:E,onClose:()=>u(null)}),j&&(0,a.jsx)(ei,{initial:N??void 0,onSave:M,onClose:()=>{v(!1),k(null)}}),w&&(0,a.jsx)(ec,{onImport:T,onClose:()=>C(!1)})]})}let ex="\0GREENCAP\0",ep="\0GREENFILE\0";function eh({text:e,capIds:t,filePaths:s,onSelectCapability:l,onSelectFile:r}){return(0,a.jsx)(j.oz,{remarkPlugins:[v.A,()=>e=>{(0,N.YR)(e,"text",(e,a,l)=>{let r;if(!l||void 0===a)return;let n=e.value,o=/\[(?:file:([^\]]+)|([^\]]+))\]/g,i=[],c=0;for(;null!==(r=o.exec(n));){let e=r[1],a=r[2],l=e&&s.has(e),o=a&&t.has(a);(l||o)&&(r.index>c&&i.push({type:"text",value:n.slice(c,r.index)}),l?i.push({type:"inlineCode",value:ep+e}):o&&i.push({type:"inlineCode",value:ex+a}),c=r.index+r[0].length)}0!==i.length&&(c<n.length&&i.push({type:"text",value:n.slice(c)}),l.children.splice(a,1,...i))})}],components:{code({children:e,...t}){let s=String(e);if(s.startsWith(ex)){let e=s.slice(ex.length);return(0,a.jsxs)("button",{onClick:()=>l(e),className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono bg-amber-900/40 text-amber-300 hover:bg-amber-900/60 border border-amber-700/40 transition-colors","data-testid":`green-cap-pill-${e}`,title:`Open ${e} in AMBER-mode`,children:[(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-amber-400 shrink-0"}),e]})}if(s.startsWith(ep)){let e=s.slice(ep.length),t=e.split("/").slice(-2).join("/");return(0,a.jsxs)("button",{onClick:()=>r(e),className:"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] font-mono bg-blue-900/40 text-blue-300 hover:bg-blue-900/60 border border-blue-700/40 transition-colors","data-testid":`green-file-pill-${e}`,title:`Open ${e} in BLUE-mode`,children:[(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-blue-400 shrink-0"}),t]})}return(0,a.jsx)("code",{...t,children:e})},table:({children:e})=>(0,a.jsx)("div",{className:"overflow-x-auto my-2",children:(0,a.jsx)("table",{className:"text-xs border-collapse w-full",children:e})}),th:({children:e})=>(0,a.jsx)("th",{className:"border border-slate-600 px-2 py-1 text-left text-green-300 bg-slate-800",children:e}),td:({children:e})=>(0,a.jsx)("td",{className:"border border-slate-600 px-2 py-1 text-slate-300",children:e}),p:({children:e})=>(0,a.jsx)("p",{className:"mb-2 last:mb-0",children:e}),ul:({children:e})=>(0,a.jsx)("ul",{className:"list-disc list-inside mb-2 space-y-0.5",children:e}),ol:({children:e})=>(0,a.jsx)("ol",{className:"list-decimal list-inside mb-2 space-y-0.5",children:e}),li:({children:e})=>(0,a.jsx)("li",{className:"text-slate-300",children:e}),strong:({children:e})=>(0,a.jsx)("strong",{className:"font-semibold text-slate-100",children:e})},children:e})}function em({query:e,onClick:t}){return(0,a.jsx)("button",{"data-testid":`insight-card-${e.id}`,onClick:t,className:"w-full text-left p-3 rounded border transition-colors bg-slate-900 border-slate-700/60 hover:bg-green-950/40 hover:border-green-700/50 group",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("span",{className:"text-green-500/70 text-[10px] mt-0.5 font-mono shrink-0",children:"◈"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold text-slate-200 group-hover:text-green-300 transition-colors truncate",children:e.title}),(0,a.jsx)("p",{className:"text-[10px] text-slate-500 mt-0.5 leading-relaxed line-clamp-2",children:e.description})]}),(0,a.jsx)("span",{className:"shrink-0 text-[9px] text-slate-600 group-hover:text-green-500 font-mono transition-colors mt-0.5",children:"↗"})]})})}function eu({onSend:e,onClose:t,onSaveQuery:s,initialMessage:r,onSelectCapability:n,onSelectFile:o,capIds:i,filePaths:c,disabled:d=!1}){let[x,p]=(0,l.useState)([]),[h,m]=(0,l.useState)(r??""),[u,b]=(0,l.useState)(!1),[f,g]=(0,l.useState)(null),y=(0,l.useRef)(null),j=(0,l.useRef)(null);async function v(){let t=h.trim();if(!t||u)return;let s=[...x,{role:"user",content:t}];p(s),m(""),b(!0),g(null);try{let{reply:t}=await e(s);p([...s,{role:"assistant",content:t}])}catch(e){g(e instanceof Error?e.message:String(e)),p(x),m(t)}finally{b(!1)}}return(0,l.useEffect)(()=>{y.current?.scrollIntoView({behavior:"smooth"})},[x]),(0,l.useEffect)(()=>{j.current?.focus()},[]),(0,a.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,a.jsxs)("div",{className:"shrink-0 flex items-center gap-2 px-5 py-2 border-b border-slate-800",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-green-500/70 uppercase tracking-widest",children:"◈ GREEN-Chat"}),(0,a.jsx)("button",{onClick:t,className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors","aria-label":"Zur\xfcck zu Insights",children:"← Insights"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-4 space-y-3",children:[(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"max-w-[85%] rounded px-3 py-2 bg-slate-800/60 border border-slate-700/40",children:(0,a.jsxs)("p",{className:"text-[11px] text-slate-300 leading-relaxed",children:["Ich beantworte nur ",(0,a.jsx)("span",{className:"text-green-300 font-mono",children:"Cross-Layer-Fragen"})," ","— Joins zwischen BLUE Metriken und AMBER Capabilities. Single-Layer-Fragen leite ich an AMBER-Chat oder BLUE Inspector weiter."]})})}),x.map((e,t)=>(0,a.jsxs)("div",{className:`flex flex-col ${"user"===e.role?"items-end":"items-start"}`,children:[(0,a.jsx)("div",{className:["max-w-[85%] rounded px-3 py-2","user"===e.role?"bg-slate-700/60 text-slate-200 text-[11px]":"bg-slate-800/60 border border-slate-700/40 text-[11px] text-slate-300 leading-relaxed"].join(" "),children:"user"===e.role?(0,a.jsx)("p",{className:"text-[11px] text-slate-200 leading-relaxed whitespace-pre-wrap",children:e.content}):(0,a.jsx)(eh,{text:e.content,capIds:i,filePaths:c,onSelectCapability:n,onSelectFile:o})}),"assistant"===e.role&&s&&t>0&&x[t-1]?.role==="user"&&(0,a.jsx)("button",{"data-testid":`green-save-query-${t}`,onClick:()=>s(x[t-1].content),className:"mt-0.5 px-2 py-0.5 text-[8px] font-mono text-slate-600 hover:text-violet-400 transition-colors",title:"Als Custom Query speichern",children:"\uD83D\uDCCC Als Custom Query speichern"})]},t)),u&&(0,a.jsx)("div",{className:"flex justify-start",children:(0,a.jsx)("div",{className:"rounded px-3 py-2 bg-slate-800/60 border border-slate-700/40",children:(0,a.jsx)("span",{className:"text-[10px] text-slate-500 font-mono animate-pulse",children:"⏳ GREEN denkt…"})})}),f&&(0,a.jsx)("div",{className:"rounded px-3 py-2 bg-red-950/40 border border-red-700/40",children:(0,a.jsx)("p",{className:"text-[10px] text-red-400 font-mono",children:f})}),(0,a.jsx)("div",{ref:y})]}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 px-4 py-3 flex flex-col gap-2",children:[d&&(0,a.jsx)("p",{className:"text-[9px] text-green-600/80 font-mono text-center",children:"⚠ Anthropic-Key in Settings konfigurieren um den Chat zu aktivieren"}),(0,a.jsxs)("div",{className:"flex items-end gap-2",children:[(0,a.jsx)("textarea",{ref:j,"data-testid":"green-chat-input",value:h,onChange:e=>m(e.target.value),onKeyDown:function(e){"Enter"!==e.key||e.shiftKey||(e.preventDefault(),v())},placeholder:"Cross-Layer-Frage… (Enter senden, Shift+Enter Zeilenumbruch)",rows:2,disabled:u||d,className:"flex-1 bg-slate-800/60 border border-slate-700/40 rounded text-[11px] text-slate-200 placeholder-slate-600 px-3 py-2 resize-none outline-none focus:border-green-700/60 transition-colors disabled:opacity-50"}),(0,a.jsx)("button",{"data-testid":"green-chat-send",onClick:v,disabled:u||!h.trim()||d,className:"shrink-0 px-3 py-2 rounded border text-[10px] font-mono transition-colors border-green-700/40 bg-green-900/20 text-green-300 hover:bg-green-800/30 disabled:opacity-40",children:u?"⏳":"↗ Senden"})]})]})]})}function eb({onSendChat:e,onSelectCapability:t,onSelectFile:s,validCapabilityIds:r,validFilePaths:n,activeQuery:o,activeQueryKey:i=0,onSaveQuery:c,chatDisabled:d=!1}){let[x,p]=(0,l.useState)(!1),[h,m]=(0,l.useState)(null),[u,b]=(0,l.useState)(0),f=(0,l.useRef)(-1);function g(){p(!1),m(null)}return(0,l.useEffect)(()=>{void 0!==o&&i!==f.current&&(f.current=i,m({id:"__external__",title:"",description:"",prompt_template:o}),p(!0),b(e=>e+1))},[o,i]),(0,a.jsxs)("div",{className:"flex flex-col flex-1 bg-slate-950 overflow-hidden min-h-0","data-testid":"green-right-panel",children:[(0,a.jsxs)("div",{className:"shrink-0 flex items-center gap-2 px-4 py-2.5 border-b border-slate-800 bg-slate-950",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-green-500/70 uppercase tracking-widest",children:"◈ GREEN \xb7 Cross-Layer"}),(0,a.jsxs)("div",{className:"flex gap-1.5 ml-auto",children:[(0,a.jsx)("button",{"data-testid":"green-chat-button",onClick:function(){m(null),p(!0),b(e=>e+1)},disabled:d,title:d?"Anthropic-Key in Settings konfigurieren":"GREEN-Chat \xf6ffnen",className:["px-2.5 py-1 rounded border text-[10px] font-mono transition-colors",x&&!h?"bg-green-900/50 border-green-700/60 text-green-300":"bg-slate-900 border-slate-700 text-slate-500 hover:text-green-300 hover:border-green-800","disabled:opacity-40 disabled:cursor-not-allowed"].join(" "),children:"\uD83D\uDCAC Chat"}),x&&(0,a.jsx)("button",{"data-testid":"green-insights-button",onClick:g,className:"px-2.5 py-1 rounded border text-[10px] font-mono transition-colors bg-slate-900 border-slate-700 text-slate-500 hover:text-green-300 hover:border-green-800",children:"\uD83D\uDD0D Insights"})]})]}),x?(0,a.jsx)(eu,{onSend:e,onClose:g,initialMessage:h?.prompt_template,onSelectCapability:t,onSelectFile:s,capIds:r,filePaths:n,disabled:d,onSaveQuery:c},u):(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-4 py-4 space-y-2",children:[(0,a.jsxs)("p",{className:"text-[10px] text-slate-600 font-mono mb-3",children:[X.length," vordefinierte Cross-Layer-Insights — klicke eine Karte um den Chat zu starten"]}),X.map(e=>(0,a.jsx)(em,{query:e,onClick:()=>{m(e),p(!0),b(e=>e+1)}},e.id)),d&&(0,a.jsx)("p",{className:"text-[9px] text-green-700/60 font-mono text-center pt-2",children:"⚠ Anthropic-Key in Settings konfigurieren um Insights zu aktivieren"})]})]})}function ef({selected:e,onSelectByPath:t,onChangeMode:s,target:r}){let n=r?`?target=${encodeURIComponent(r)}`:"",o=(0,l.useCallback)((e,t)=>{let s=e.includes("?")?"&":"?";return fetch(r?`${e}${s}target=${encodeURIComponent(r)}`:e,{...t,headers:{"Content-Type":"application/json",...t?.headers??{}}})},[r]),[i,c]=(0,l.useState)(!1),[d,x]=(0,l.useState)(new Set),[p,h]=(0,l.useState)(new Set),[m,u]=(0,l.useState)(null),[b,f]=(0,l.useState)(void 0),[g,y]=(0,l.useState)(0);(0,l.useEffect)(()=>{let e=!1;return fetch(`/api/green/status${n}`).then(e=>e.ok?e.json():null).then(t=>{!e&&t&&(c(!!t.hasKey),x(new Set(t.capabilityIds??[])),h(new Set(t.filePaths??[])))}).catch(()=>{}),fetch(`/api/green/cross-layer${n}`).then(e=>e.ok?e.json():null).then(t=>{!e&&t?.snapshot&&u(t.snapshot)}).catch(()=>{}),()=>{e=!0}},[n]);let j=(0,l.useCallback)(async e=>{let t=await o("/api/green/chat",{method:"POST",body:JSON.stringify({messages:e})}),s=await t.json();if(!t.ok)throw Error(s.error??`HTTP ${t.status}`);return{reply:s.reply??"",referencedCapabilityIds:s.referencedCapabilityIds??[],referencedFiles:s.referencedFiles??[]}},[o]),v=(0,l.useCallback)(()=>{s("amber")},[s]),N=(0,l.useCallback)(e=>{t(e),s("blue")},[t,s]),k=(0,l.useCallback)(e=>{o("/api/green/queries",{method:"POST",body:JSON.stringify({title:e.slice(0,50),description:"Saved from GREEN-Chat",prompt_template:e,created_by:"promoted-from-chat",validationOverride:!0})}).catch(()=>{})},[o]),w=(0,l.useMemo)(()=>{let t,s;if(!e||!m)return null;let a=e.path,l=m.capabilities.filter(e=>e.files.some(e=>e.filePath===a)),r=new Set(m.drifted_capabilities.map(e=>e.capability.id));for(let e of l){let l=e.files.find(e=>e.filePath===a);l&&(void 0!==l.coverage&&(t=l.coverage),void 0!==l.churn&&(s=l.churn))}return{capabilities:l,coverage:t,churn:s,hasDrift:l.some(e=>r.has(e.capability.id))}},[e,m]);return(0,a.jsxs)("div",{className:"flex flex-col flex-1 overflow-hidden min-h-0","data-testid":"green-mode",children:[e&&(0,a.jsxs)("div",{"data-testid":"green-file-crosslayer",className:"shrink-0 flex items-center gap-3 px-4 py-2 border-b border-slate-800 bg-slate-950 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-green-500/70 uppercase tracking-widest shrink-0",children:"◈ Cross-Layer"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate max-w-[40%]",children:e.path}),w?(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap text-[9px] font-mono",children:[w.capabilities.length>0?w.capabilities.map(e=>(0,a.jsxs)("button",{"data-testid":`green-file-cap-${e.capability.id}`,onClick:()=>s("amber"),className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded bg-amber-900/30 text-amber-400 border border-amber-700/30 hover:bg-amber-900/50 transition-colors",title:`AMBER capability: ${e.capability.name}`,children:[(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-amber-400"}),e.capability.id,e.capability.criticality&&(0,a.jsxs)("span",{className:"opacity-60",children:["\xb7 ",e.capability.criticality]})]},e.capability.id)):(0,a.jsx)("span",{className:"text-slate-600",children:"no AMBER capability"}),void 0!==w.coverage&&(0,a.jsxs)("span",{className:"px-1.5 py-0.5 rounded bg-blue-900/30 text-blue-400 border border-blue-700/30",children:["cov ",Math.round(100*w.coverage),"%"]}),void 0!==w.churn&&(0,a.jsxs)("span",{className:"px-1.5 py-0.5 rounded bg-blue-900/30 text-blue-400 border border-blue-700/30",children:["churn ",w.churn]}),w.hasDrift&&(0,a.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-red-900/30 text-red-400 border border-red-700/30",title:"documentation drift",children:"⚠ drift"})]}):(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-600",children:"No cross-layer data — run an AMBER scan to map this file."}),(0,a.jsx)("button",{onClick:()=>t(null),className:"ml-auto text-[10px] text-slate-500 hover:text-slate-300 transition-colors shrink-0",title:"Clear selection",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden min-h-0",children:[(0,a.jsx)("div",{className:"flex flex-col w-[40%] max-w-[460px] flex-shrink-0 overflow-hidden border-r min-h-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:(0,a.jsx)(ed,{greenFetch:o,onSelectInsight:e=>{f(e),y(e=>e+1)},onSelectCapability:v,onSelectFile:N})}),(0,a.jsx)(eb,{onSendChat:j,onSelectCapability:v,onSelectFile:N,validCapabilityIds:d,validFilePaths:p,activeQuery:b,activeQueryKey:g,onSaveQuery:k,chatDisabled:!i})]})]})}let eg={heat:"rgb(248,113,113)",coverage:"rgb(34,197,94)",churn:"rgb(251,191,36)",neutral:"rgb(100,116,139)"};function ey({points:e,churn:t,color:s="heat",dot:l=!0,className:r="",tooltipLabel:n="Trend"}){let o,i,c,d,x,p,h,m,u=eg[s];if(void 0!==t&&(!e||0===e.length)){let e=Math.max(2,Math.round(38*Math.min(t/60,1)));return(0,a.jsxs)("svg",{width:40,height:12,viewBox:"0 0 40 12",className:`inline-block flex-shrink-0 ${r}`,"aria-label":`${t} commits`,children:[(0,a.jsx)("rect",{x:1,y:4,width:38,height:4,fill:"rgba(51,65,85,0.4)",rx:1}),(0,a.jsx)("rect",{x:1,y:4,width:e,height:4,fill:u,opacity:.7,rx:1})]})}if(!e||0===e.length)return null;let b=(o=Math.min(...e),0==(i=Math.max(...e)-o)?e.map(()=>.5):e.map(e=>(e-o)/i)),f=function(e){if(0===e.length)return"";if(1===e.length){let t=1+(1-e[0])*10;return`M 20,${t}`}let t=e.map((t,s)=>1+s/(e.length-1)*38),s=e.map(e=>1+(1-e)*10);return t.map((e,t)=>`${0===t?"M":"L"} ${e.toFixed(1)},${s[t].toFixed(1)}`).join(" ")}(b),g=b[b.length-1],y=e.length>=2?(c=e[0].toFixed(1),d=e[e.length-1].toFixed(1),p=(x=e[e.length-1]-e[0])>=0?"+":"",h=Math.min(...e).toFixed(1),m=Math.max(...e).toFixed(1),`${n}: ${c} → ${d} (${p}${x.toFixed(1)}) \xb7 min ${h} max ${m} \xb7 ${e.length} pts`):void 0;return(0,a.jsxs)("svg",{width:40,height:12,viewBox:"0 0 40 12",className:`inline-block flex-shrink-0 ${r}`,"aria-label":`trend: ${e.join(", ")}`,children:[y&&(0,a.jsx)("title",{children:y}),(0,a.jsx)("polyline",{points:"",fill:"none",stroke:"rgba(51,65,85,0.3)",strokeWidth:1}),(0,a.jsx)("path",{d:f,fill:"none",stroke:u,strokeWidth:1.2,strokeLinecap:"round",strokeLinejoin:"round"}),l&&e.length>1&&(0,a.jsx)("circle",{cx:39,cy:1+(1-g)*10,r:1.5,fill:u})]})}function ej({file:e,selected:t,colorMode:s,onClick:l,history:r,kbdActive:n=!1,kbdIndex:o}){var i;let c,d=e.metrics.heatScore,{filename:x,dir:h}={filename:(c=(i=e.path).split("/")).pop()??i,dir:c.join("/")},m=e.coverage,u=(0,p.TR)(m),b=(0,p.NU)(u),f="neutral"===s,g="coverage"===s,y=t?"rgb(59,130,246)":"transparent";return t||f||(y=g?p.Vt[b]:d>=50?"#f97316":d>=25?"#facc15":"transparent"),(0,a.jsxs)("button",{onClick:l,"data-kbd-index":o,"aria-current":t?"true":void 0,className:`bx-transition bx-focusable w-full text-left px-4 py-2.5 border-b border-slate-800/40 hover:bg-slate-800/30 border-l-2 ${t?"bg-slate-800/60":n?"bg-slate-800/40":""}`,style:{borderLeftColor:y,boxShadow:n&&!t?"inset 2px 0 0 rgba(96,165,250,0.6)":void 0},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`text-[10px] font-mono px-1.5 py-0.5 rounded shrink-0 ${f?"bg-slate-800/60 text-slate-500 border border-slate-700/40":(0,p.o0)(d)}`,children:d.toFixed(1)}),(g||f)&&(0,a.jsxs)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded shrink-0 border",style:f?{color:"#64748b",borderColor:"#334155",background:"rgba(30,41,59,0.4)"}:{color:p.Vt[b],borderColor:p.w8[b],background:p.rs[b]},title:m?`${u?.toFixed(1)}% avg \xb7 S:${m.statements}% B:${m.branches}% F:${m.functions}% L:${m.lines}%`:"No coverage data",children:["\uD83E\uDDEA ",m?`${u?.toFixed(0)}%`:"—"]}),(0,a.jsx)("span",{className:"text-sm text-slate-200 font-medium truncate flex-1 min-w-0",children:x}),(0,a.jsxs)("div",{className:"flex gap-1 shrink-0 items-center",children:[(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-600",children:[e.metrics.loc,"L"]}),e.hasUseClientDirective&&(0,a.jsx)(ev,{label:"client",color:"purple"}),e.isApiRoute&&(0,a.jsx)(ev,{label:"api",color:"green"}),e.isCyclic&&(0,a.jsx)(ev,{label:"cycle",color:"red"}),(e.commitStats?.count_180d??0)>10&&(0,a.jsx)("span",{title:`Hot: ${e.commitStats.count_180d} commits/180d`,className:"text-[10px]",children:"\uD83D\uDD25"}),r&&r.length>=2?(0,a.jsx)(ey,{points:r.map(e=>e.heat),color:"coverage"===s?"coverage":"heat",className:"opacity-70"}):(e.churn??0)>0?(0,a.jsx)(ey,{churn:e.churn,color:"churn",className:"opacity-60"}):null]})]}),h&&(0,a.jsxs)("div",{className:"text-[11px] text-slate-600 font-mono mt-0.5 truncate pl-[52px]",children:[h,"/"]}),(0,a.jsx)("div",{className:"mt-1.5 h-0.5 rounded-full bg-slate-800 overflow-hidden",children:(0,a.jsx)("div",{className:"h-full rounded-full",style:f?{width:"100%",backgroundColor:"#1e293b"}:g&&m?{width:`${Math.min(100,u??0)}%`,backgroundColor:p.Vt[b]}:{width:`${Math.min(100,d)}%`,backgroundColor:(0,p.XK)(d)}})})]})}function ev({label:e,color:t}){let s={purple:{bg:"rgba(168,85,247,0.12)",text:"rgb(216,180,254)",border:"rgba(168,85,247,0.3)"},green:{bg:"rgba(34,197,94,0.12)",text:"rgb(134,239,172)",border:"rgba(34,197,94,0.3)"},red:{bg:"rgba(239,68,68,0.12)",text:"rgb(252,165,165)",border:"rgba(239,68,68,0.3)"},teal:{bg:"rgba(20,184,166,0.12)",text:"rgb(94,234,212)",border:"rgba(20,184,166,0.3)"}}[t];return(0,a.jsx)("span",{className:"text-[9px] font-mono px-1 py-0.5 rounded",style:{background:s.bg,color:s.text,border:`1px solid ${s.border}`},children:e})}var eN=s(65581),ek=s(98500),ew=s.n(ek),eC=s(22202);let eS=[{label:"What does this do?",q:"Give me a plain-English summary of what this file does and its main responsibility."},{label:"Why might it change?",q:"Based on its role and dependencies, what kinds of product or engineering changes would require modifying this file?"},{label:"What could break here?",q:"What are the most likely failure modes or edge cases in this file? What should a developer watch out for?"},{label:"How does it connect?",q:"Explain how this file connects to the rest of the system — what depends on it and what it depends on."}];function e$({file:e,target:t}){let[s,r]=(0,l.useState)(null),[n,o]=(0,l.useState)(!1),[i,c]=(0,l.useState)(null),[d,x]=(0,l.useState)([]),[p,h]=(0,l.useState)(""),[m,u]=(0,l.useState)(!1),[b,f]=(0,l.useState)(null),g=(0,l.useRef)(null),y=(0,l.useRef)(null);async function N(s){f(null);let a=d.filter(e=>""!==e.content),l=[...a,{role:"user",content:s}];x([...l,{role:"assistant",content:""}]),u(!0);try{await (0,eC.UR)({target:t,modulePath:e.path,mode:"explain",primaryContext:(0,eC._W)(e),question:s,history:a.map(e=>({role:e.role,content:e.content}))},e=>x([...l,{role:"assistant",content:e}]))}catch(t){let e=t instanceof Error?t.message:"Failed";f(e),x([...l,{role:"assistant",content:`⚠️ ${e}`}])}finally{u(!1)}}return(0,l.useEffect)(()=>{y.current!==e.path&&(y.current=e.path,r(null),x([]),c(null),o(!0),(0,eC.UR)({target:t,modulePath:e.path,mode:"explain"},e=>r(e)).catch(e=>c(e instanceof Error?e.message:"Failed")).finally(()=>o(!1)))},[e.path,t]),(0,l.useEffect)(()=>{g.current?.scrollIntoView({behavior:"smooth"})},[d]),(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto min-h-0",children:[n&&(0,a.jsxs)("div",{className:"flex items-center gap-2 p-4",children:[[0,150,300].map(e=>(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-500 animate-bounce",style:{animationDelay:`${e}ms`}},e)),(0,a.jsx)("span",{className:"text-[11px] text-slate-600 ml-1",children:"Generating explanation…"})]}),i&&(0,a.jsx)("div",{className:"m-3 p-3 bg-red-950/30 border border-red-800/40 rounded text-xs text-red-300",children:i}),s&&!n&&(0,a.jsx)("div",{className:"p-3 prose prose-invert prose-sm max-w-none text-[12px] leading-relaxed",style:{"--tw-prose-body":"rgb(203,213,225)","--tw-prose-headings":"rgb(226,232,240)","--tw-prose-code":"rgb(129,140,248)","--tw-prose-pre-bg":"rgba(2,6,23,0.7)","--tw-prose-pre-code":"rgb(148,163,184)","--tw-prose-links":"rgb(96,165,250)","--tw-prose-bold":"rgb(226,232,240)","--tw-prose-th-borders":"rgba(51,65,85,0.4)","--tw-prose-td-borders":"rgba(51,65,85,0.25)"},children:(0,a.jsx)(j.oz,{remarkPlugins:[v.A],children:s})}),s&&!n&&0===d.length&&(0,a.jsx)("div",{className:"px-3 pb-2 flex flex-wrap gap-1.5",children:eS.map(e=>(0,a.jsx)("button",{onClick:()=>{m||N(e.q)},disabled:m,className:"text-[10px] px-2 py-1 rounded-full border border-blue-800/40 bg-blue-950/30 text-blue-300 hover:bg-blue-900/40 hover:border-blue-600/50 transition-colors disabled:opacity-40",children:e.label},e.label))}),d.length>0&&(0,a.jsxs)("div",{className:"px-3 pb-3 space-y-2 border-t border-slate-800/60 pt-3 mt-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("p",{className:"text-[9px] uppercase tracking-widest text-slate-600 font-semibold",children:"Follow-up"}),!m&&(0,a.jsx)("button",{onClick:()=>x([]),className:"text-[9px] text-slate-600 hover:text-slate-400 transition-colors",title:"Clear conversation",children:"✕ Clear"})]}),d.map((e,t)=>(0,a.jsx)("div",{className:`flex ${"user"===e.role?"justify-end":"justify-start"}`,children:(0,a.jsx)("div",{className:`max-w-[96%] rounded-lg px-2.5 py-2 ${"user"===e.role?"bg-blue-900/40 border border-blue-800/40 text-blue-100 text-[11px]":"bg-slate-800/60 border border-slate-700/50 text-slate-200"}`,children:e.content?(0,a.jsxs)("span",{className:"text-[11px] leading-relaxed",children:["assistant"===e.role?(0,a.jsx)("span",{className:"prose prose-invert prose-xs max-w-none [&_p]:my-0.5 [&_code]:text-[10px] [&_pre]:text-[10px] [&_ul]:my-0.5 [&_li]:my-0",children:(0,a.jsx)(j.oz,{remarkPlugins:[v.A],children:e.content})}):(0,a.jsx)("span",{className:"whitespace-pre-wrap",children:e.content}),t===d.length-1&&"assistant"===e.role&&m&&(0,a.jsx)("span",{className:"inline-block w-1 h-3 bg-blue-400 animate-pulse ml-0.5 align-middle"})]}):(0,a.jsx)("div",{className:"flex gap-1 py-0.5",children:[0,150,300].map(e=>(0,a.jsx)("span",{className:"w-1 h-1 rounded-full bg-blue-500 animate-bounce",style:{animationDelay:`${e}ms`}},e))})})},t)),(0,a.jsx)("div",{ref:g})]})]}),(s||i)&&(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 p-2.5",children:[(0,a.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=p.trim();t&&!m&&(h(""),N(t))},className:"flex gap-2",children:[(0,a.jsx)("input",{value:p,onChange:e=>h(e.target.value),placeholder:m?"Waiting…":"Ask a follow-up…",disabled:m||n,className:"flex-1 bg-slate-900 border border-slate-700 rounded px-2.5 py-1.5 text-xs text-slate-200 placeholder-slate-600 focus:outline-none focus:border-blue-500 disabled:opacity-50 min-w-0"}),(0,a.jsx)("button",{type:"submit",disabled:!p.trim()||m||n,className:"shrink-0 px-2.5 py-1.5 bg-blue-600 text-white text-xs rounded hover:bg-blue-500 disabled:opacity-40",children:"Ask"})]}),b&&(0,a.jsx)("p",{className:"text-[10px] text-red-400 mt-1",children:b})]})]})}function eF({f:e,onClick:t}){let s=(0,p.XK)(e.metrics.heatScore);return(0,a.jsxs)("button",{onClick:t,className:"flex items-center gap-1.5 px-2 py-1 rounded text-left w-full hover:opacity-80 transition-opacity",style:{background:`${s}12`,border:`1px solid ${s}30`},children:[(0,a.jsx)("span",{className:"text-[9px] font-mono font-semibold flex-shrink-0",style:{color:s},children:e.metrics.heatScore.toFixed(0)}),(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-400 truncate",children:e.path.split("/").pop()})]})}function eE({messages:e,streaming:t,bottomRef:s}){return(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-2 min-h-0",children:[e.map((s,l)=>(0,a.jsx)("div",{className:`flex ${"user"===s.role?"justify-end":"justify-start"}`,children:(0,a.jsx)("div",{className:`max-w-[96%] rounded-lg px-2.5 py-2 ${"user"===s.role?"bg-blue-900/40 border border-blue-800/40 text-blue-100":"bg-slate-800/60 border border-slate-700/50 text-slate-200"}`,children:s.content?(0,a.jsxs)("span",{className:"whitespace-pre-wrap leading-relaxed text-[11px]",children:[s.content,l===e.length-1&&"assistant"===s.role&&t&&(0,a.jsx)("span",{className:"inline-block w-1 h-3 bg-blue-400 animate-pulse ml-0.5 align-middle"})]}):(0,a.jsx)("div",{className:"flex gap-1 py-0.5",children:[0,150,300].map(e=>(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-500 animate-bounce",style:{animationDelay:`${e}ms`}},e))})})},l)),(0,a.jsx)("div",{ref:s})]})}function eA({file:e,allFiles:t,target:s,onSelectFile:r}){let[n,o]=(0,l.useState)(null),[i,c]=(0,l.useState)([]),[d,x]=(0,l.useState)(""),[p,h]=(0,l.useState)(!1),[m,u]=(0,l.useState)(null),[b,f]=(0,l.useState)(!1),g=(0,l.useRef)(null),y=(0,l.useRef)(!1);(0,l.useEffect)(()=>{o(null),c([]),f(!1),u(null),y.current=!1},[e.path]);let j=(0,l.useMemo)(()=>{let s=new Set([...e.runtimeInternalImports??[],...e.incomingInternalDependencies??[]]);return t.filter(t=>s.has(t.path)&&t.path!==e.path).sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,8)},[e,t]),v=(0,l.useMemo)(()=>n?"pair"===n.kind?[(0,eC.lv)(n.file)]:j.slice(0,5).map(eC.lv):[],[n,j]);async function N(t,a){if(!n)return;u(null);let l=[...a,{role:"user",content:t}];c([...l,{role:"assistant",content:""}]),h(!0);try{await (0,eC.UR)({target:s,modulePath:e.path,mode:"relationship",primaryContext:(0,eC._W)(e),relatedContexts:v,question:t,history:a.map(e=>({role:e.role,content:e.content}))},e=>c([...l,{role:"assistant",content:e}]))}catch(t){let e=t instanceof Error?t.message:"Failed";u(e),c([...l,{role:"assistant",content:`⚠️ ${e}`}])}finally{h(!1)}}function k(t){let a;o(t),c([]),f(!0);let l=e.path.split("/").pop();if("pair"===t.kind){let e=t.file.path.split("/").pop();a=`How do ${l} and ${e} relate architecturally? What does each depend on from the other?`}else{let e=Math.min(j.length,5);a=`Explain the role of ${l} within its ${e}-file neighborhood. How do these files work together?`}let r="pair"===t.kind?[(0,eC.lv)(t.file)]:j.slice(0,5).map(eC.lv),n=[{role:"user",content:a}];c([...n,{role:"assistant",content:""}]),h(!0),(0,eC.UR)({target:s,modulePath:e.path,mode:"relationship",primaryContext:(0,eC._W)(e),relatedContexts:r,question:a,history:[]},e=>c([...n,{role:"assistant",content:e}])).catch(e=>{let t=e instanceof Error?e.message:"Failed";u(t),c([...n,{role:"assistant",content:`⚠️ ${t}`}])}).finally(()=>h(!1))}(0,l.useMemo)(()=>{if(!n)return"";let t=e.path.split("/").pop();if("pair"===n.kind){let e=n.file.path.split("/").pop();return`How do ${t} and ${e} relate architecturally? What does each depend on from the other?`}return`Explain the role of ${t} within its ${v.length}-file neighborhood. How do these files work together?`},[n,e,v.length]),(0,l.useEffect)(()=>{y.current||0===j.length||(y.current=!0,k({kind:"neighborhood"}))},[j.length]);let w=e.path.split("/").pop(),C=n?.kind==="pair"?`${w} ↔ ${n.file.path.split("/").pop()}`:n?.kind==="neighborhood"?`${w} + ${v.length} neighbors`:"Neighborhood";return(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0",children:[(0,a.jsxs)("div",{className:"shrink-0 px-3 py-1.5 border-b border-slate-800/60 flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-500 truncate flex-1",title:C,children:C}),n&&(0,a.jsx)("button",{onClick:()=>{o(null),c([]),f(!1),u(null)},className:"text-[9px] text-slate-600 hover:text-slate-400 flex-shrink-0",children:"← back"})]}),!b&&(0,a.jsx)("div",{className:"overflow-y-auto flex-1 p-3 space-y-2",children:0===j.length?(0,a.jsx)("p",{className:"text-[10px] text-slate-600",children:"No internal neighbors found — this file has no direct imports or importers."}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{onClick:()=>k({kind:"neighborhood"}),className:"w-full text-left px-3 py-2 bg-slate-900 border border-slate-800 rounded text-xs text-slate-300 hover:bg-slate-800 transition-colors",children:["◦ Explain within direct neighborhood (",j.length," files)"]}),(0,a.jsx)("p",{className:"text-[9px] text-slate-600 px-1 pt-1",children:"Or compare with a specific file:"}),j.map(e=>(0,a.jsx)(eF,{f:e,onClick:()=>k({kind:"pair",file:e})},e.path))]})}),b&&(0,a.jsx)(eE,{messages:i,streaming:p,bottomRef:g}),b&&v.length>0&&(0,a.jsx)("div",{className:"shrink-0 px-3 py-1.5 border-t border-slate-800/60 flex flex-wrap gap-1",children:v.map(e=>(0,a.jsx)("button",{onClick:()=>r?.(e.path),className:"text-[9px] font-mono px-1.5 py-0.5 rounded text-slate-600 hover:text-slate-400 bg-slate-800/40 border border-slate-700/30",children:e.path.split("/").pop()},e.path))}),b&&(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 p-2.5",children:[(0,a.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=d.trim();!t||p||(x(""),N(t,i.filter(e=>""!==e.content)))},className:"flex gap-2",children:[(0,a.jsx)("input",{value:d,onChange:e=>x(e.target.value),placeholder:p?"Waiting…":"Ask a follow-up…",disabled:p,className:"flex-1 bg-slate-900 border border-slate-700 rounded px-2.5 py-1.5 text-xs text-slate-200 placeholder-slate-600 focus:outline-none focus:border-blue-500 disabled:opacity-50 min-w-0"}),(0,a.jsx)("button",{type:"submit",disabled:!d.trim()||p,className:"shrink-0 px-2.5 py-1.5 bg-blue-600 text-white text-xs rounded hover:bg-blue-500 disabled:opacity-40",children:"Ask"})]}),m&&(0,a.jsx)("p",{className:"text-[10px] text-red-400 mt-1",children:m})]})]})}function eR({file:e,target:t}){let[s,r]=(0,l.useState)([]),[n,o]=(0,l.useState)(""),[i,c]=(0,l.useState)(!1),[d,x]=(0,l.useState)(null),[p,h]=(0,l.useState)(!1),[m,u]=(0,l.useState)(!1),b=(0,l.useRef)(null);async function f(s,a){x(null);let l=[...a,{role:"user",content:s}];r([...l,{role:"assistant",content:""}]),c(!0);try{await (0,eC.UR)({target:t,modulePath:e.path,mode:"architect",fileContext:(0,eC._W)(e),stateComplexity:e.stateComplexity??null,question:s,history:a.map(e=>({role:e.role,content:e.content}))},e=>r([...l,{role:"assistant",content:e}]))}catch(t){let e=t instanceof Error?t.message:"Failed";x(e),r([...l,{role:"assistant",content:`⚠️ ${e}`}])}finally{c(!1)}}async function g(){u(!0),h(!0),x(null);let s="Identify the top 3 most impactful architectural improvements for this file, based on blueprint data. For each, state: title, category (complexity/coupling/testing/performance/maintainability), effort (XS/S/M/L/XL), and a concrete 2-3 sentence description of the problem and approach.",a=[{role:"user",content:s}];r([...a,{role:"assistant",content:""}]);try{await (0,eC.UR)({target:t,modulePath:e.path,mode:"architect",fileContext:(0,eC._W)(e),stateComplexity:e.stateComplexity??null,question:s,history:[]},e=>r([...a,{role:"assistant",content:e}]))}catch(t){let e=t instanceof Error?t.message:"Failed";x(e),r([...a,{role:"assistant",content:`⚠️ ${e}`}])}finally{c(!1),u(!1)}}(0,l.useEffect)(()=>{b.current?.scrollIntoView({behavior:"smooth"})},[s]),(0,l.useEffect)(()=>{r([]),h(!1),x(null),u(!1)},[e.path]);let y=e.path.split("/").pop()??e.path;return(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0 bg-slate-950",children:[!p&&(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-1.5",children:[(0,a.jsx)("button",{onClick:g,disabled:m,className:"w-full text-left px-3 py-3 rounded border text-xs transition-colors bg-amber-950/50 border-amber-700/50 text-amber-200 hover:bg-amber-950/70 font-medium disabled:opacity-50",children:m?(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[[0,150,300].map(e=>(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-500 animate-bounce",style:{animationDelay:`${e}ms`}},e)),(0,a.jsx)("span",{children:"Analyzing blueprint data…"})]}):"\uD83C\uDFAF Find top 3 architectural improvements"}),(0,a.jsx)("div",{className:"pt-1.5 pb-0.5",children:(0,a.jsx)("p",{className:"text-[9px] text-slate-600 px-1 uppercase tracking-widest",children:"Or ask a specific question:"})}),eC.MA.map((e,t)=>(0,a.jsx)("button",{onClick:()=>{var t;return t=e.q,void(h(!0),x(null),f(t,s.filter(e=>""!==e.content)))},className:"w-full text-left px-3 py-2 rounded border text-xs transition-colors bg-slate-900/50 border-slate-800 text-slate-400 hover:bg-slate-800/60 hover:text-slate-300",children:e.label},t)),(0,a.jsxs)("div",{className:"mt-3 px-2 py-2 rounded text-[9px] font-mono text-slate-700 border border-slate-800/50 space-y-0.5",children:[(0,a.jsx)("p",{className:"text-slate-600 text-[9px] uppercase tracking-widest mb-1",children:"Blueprint context"}),(0,a.jsx)("p",{children:y}),(0,a.jsxs)("p",{children:["Heat: ",e.metrics.heatScore.toFixed(1)," \xb7 LOC: ",e.metrics.loc]}),(0,a.jsxs)("p",{children:["Imports: ",(e.runtimeInternalImports??[]).length," \xb7 Imported by: ",(e.incomingInternalDependencies??[]).length]}),e.isCyclic&&(0,a.jsx)("p",{className:"text-red-700",children:"⚠ cyclic dependency"})]})]}),p&&(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-2 min-h-0",children:[s.map((e,t)=>(0,a.jsx)("div",{className:`flex ${"user"===e.role?"justify-end":"justify-start"}`,children:(0,a.jsx)("div",{className:`max-w-[96%] rounded-lg px-2.5 py-2 ${"user"===e.role?"bg-amber-950/40 border border-amber-800/40 text-amber-100 text-xs":"bg-slate-800/60 border border-slate-700/50 text-slate-200"}`,children:e.content?(0,a.jsxs)("span",{className:"whitespace-pre-wrap leading-relaxed text-[11px]",children:[e.content,t===s.length-1&&"assistant"===e.role&&i&&(0,a.jsx)("span",{className:"inline-block w-1 h-3 bg-amber-400 animate-pulse ml-0.5 align-middle"})]}):(0,a.jsx)("div",{className:"flex gap-1 py-0.5",children:[0,150,300].map(e=>(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-600 animate-bounce",style:{animationDelay:`${e}ms`}},e))})})},t)),(0,a.jsx)("div",{ref:b})]}),(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 p-2.5",children:[(0,a.jsxs)("form",{onSubmit:function(e){e.preventDefault();let t=n.trim();!t||i||m||(o(""),p||h(!0),f(t,s.filter(e=>""!==e.content)))},className:"flex gap-2",children:[(0,a.jsx)("input",{value:n,onChange:e=>o(e.target.value),placeholder:i?"Waiting…":"Ask an architectural question…",disabled:i||m,className:"flex-1 bg-slate-900 border border-slate-700 rounded px-2.5 py-1.5 text-xs text-slate-200 placeholder-slate-600 focus:outline-none focus:border-amber-600 disabled:opacity-50 min-w-0"}),(0,a.jsx)("button",{type:"submit",disabled:!n.trim()||i||m,className:"shrink-0 px-2.5 py-1.5 bg-amber-700 text-white text-xs rounded hover:bg-amber-600 disabled:opacity-40",children:"Ask"})]}),d&&(0,a.jsx)("p",{className:"text-[10px] text-red-400 mt-1",children:d})]})]})}let eM=[{id:0,label:"Inspector",shortLabel:"\uD83D\uDCCB",color:"blue"},{id:1,label:"Explain",shortLabel:"\uD83D\uDCAC",color:"blue"},{id:2,label:"Relate",shortLabel:"\uD83D\uDD17",color:"blue"},{id:3,label:"Architect",shortLabel:"\uD83C\uDFD7",color:"amber"}];function eP({file:e,allFiles:t,target:s,onClose:r,onSelectFile:n,onSearch:o,history:i}){let[c,d]=(0,l.useState)(0);return(0,l.useEffect)(()=>{d(0)},[e.id]),(0,a.jsxs)("div",{className:"bx-panel-in w-80 flex-shrink-0 border-l flex flex-col overflow-hidden",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,12,24,0.8)"},role:"region","aria-label":"File inspector",children:[(0,a.jsxs)("div",{className:"flex-shrink-0 flex items-stretch border-b",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(8,12,24,0.9)"},role:"tablist",children:[eM.map((e,t)=>{let s=c===e.id,l="amber"===e.color;return(0,a.jsxs)("button",{onClick:()=>d(e.id),onKeyDown:e=>(function(e,t){if("ArrowRight"===e.key||"ArrowLeft"===e.key){e.preventDefault();let s="ArrowRight"===e.key?(t+1)%eM.length:(t-1+eM.length)%eM.length;d(eM[s].id);let a=e.currentTarget.parentElement;a?.querySelectorAll("button")[s]?.focus()}})(e,t),title:e.label,role:"tab","aria-selected":s,tabIndex:s?0:-1,className:"bx-transition bx-focusable flex-1 flex items-center justify-center gap-1 py-2 text-[10px] font-mono",style:{background:s?l?"rgba(120,53,15,0.25)":"rgba(37,99,235,0.15)":"transparent",color:s?l?"rgb(251,191,36)":"rgb(147,197,253)":"rgb(71,85,105)",borderBottom:s?`2px solid ${l?"rgb(217,119,6)":"rgb(59,130,246)"}`:"2px solid transparent"},children:[(0,a.jsx)("span",{children:e.shortLabel}),(0,a.jsx)("span",{className:"hidden sm:inline",children:e.label})]},e.id)}),(0,a.jsxs)("div",{className:"flex items-center gap-1 px-2 flex-shrink-0 border-l",style:{borderColor:"rgba(51,65,85,0.3)"},children:[(0,a.jsx)(ew(),{href:`/blue/explorer/file/${encodeURIComponent(e.path)}`,className:"text-[9px] text-blue-500 hover:text-blue-300 transition-colors",title:"Full file page",children:"↗"}),(0,a.jsx)("button",{onClick:r,className:"bx-transition bx-focusable text-slate-600 hover:text-slate-400 text-xs ml-1",title:"Close inspector (Esc)","aria-label":"Close inspector",children:"✕"})]})]}),(0,a.jsx)("div",{className:"flex-shrink-0 px-3 py-1 border-b",style:{borderColor:"rgba(51,65,85,0.2)"},children:(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-500 truncate block",title:e.path,children:e.path})}),(0,a.jsxs)("div",{className:"flex-1 overflow-hidden",role:"tabpanel",children:[0===c&&(0,a.jsx)("div",{className:"bx-fade-in h-full overflow-y-auto",children:(0,a.jsx)(eN.$,{file:e,target:s,history:i,onSelectFile:n,onSearch:o,onSwitchTab:d})},"tab-0"),1===c&&(0,a.jsx)("div",{className:"bx-fade-in h-full flex flex-col",children:(0,a.jsx)(e$,{file:e,target:s})},"tab-1"),2===c&&(0,a.jsx)("div",{className:"bx-fade-in h-full flex flex-col",children:(0,a.jsx)(eA,{file:e,allFiles:t,target:s,onSelectFile:n})},"tab-2"),3===c&&(0,a.jsx)("div",{className:"bx-fade-in h-full flex flex-col",children:(0,a.jsx)(eR,{file:e,target:s})},"tab-3")]})]})}var e_=s(25290);function eI({target:e,onComplete:t}){let s,[r,n]=(0,l.useState)("idle"),[o,i]=(0,l.useState)(null);async function c(){n("running"),i(null);try{let s=await fetch("/api/blue/explorer/coverage",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({target:e})}),a=await s.json();if(i(a),!s.ok||!a.success)return void n("failed");let l=await fetch("/api/blue/explorer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({target:e})}),r=await l.json();l.ok&&r.data&&t(r.data),n(a.partial?"failed":"done")}catch(e){i({success:!1,exitCode:null,stderr:e instanceof Error?e.message:String(e)}),n("failed")}}let d=o?.coverageSummary?.lines?.pct,x=o?.testReport;return s="running"===r?"⏳ Tests…":"done"===r&&x?`✓ ${x.testsPassed}/${x.testsTotal}${void 0!==d?` \xb7 ${Math.round(d)}% cov`:""}`:"failed"===r?`✗ ${x?.testsFailed??"?"} failed`:"▶ Tests",(0,a.jsx)("button",{onClick:c,disabled:"running"===r,title:"Run vitest with coverage (~30-90s), then rescan","data-testid":"cockpit-coverage-button",className:"text-xs px-3 py-1 rounded-md font-medium transition-all disabled:opacity-50",style:"done"===r?{background:"rgba(16,185,129,0.15)",color:"rgb(110,231,183)",border:"1px solid rgba(16,185,129,0.3)"}:"failed"===r?{background:"rgba(239,68,68,0.15)",color:"rgb(252,165,165)",border:"1px solid rgba(239,68,68,0.3)"}:{background:"rgba(59,130,246,0.15)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.25)"},children:s})}var eT=s(53729),eD=s(92829);function eL({docs:e,target:t,className:s=""}){let r=e?[...e].sort((e,t)=>(t.wordCount??0)-(e.wordCount??0)):[],[n,o]=(0,l.useState)(null),[i,c]=(0,l.useState)(null),[d,x]=(0,l.useState)(!1),[p,h]=(0,l.useState)(null);return((0,l.useEffect)(()=>{r.length>0&&null===n&&o(r[0])},[]),(0,l.useEffect)(()=>{if(!n)return;let e=!1;return x(!0),h(null),c(null),fetch(`/api/blue/explorer/doc-content?target=${encodeURIComponent(t)}&path=${encodeURIComponent(n.path)}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.text()}).then(t=>{e||(c(t),x(!1))}).catch(t=>{e||(h(t instanceof Error?t.message:String(t)),x(!1))}),()=>{e=!0}},[n,t]),r.length)?(0,a.jsxs)("div",{className:`flex h-full overflow-hidden ${s}`,style:{background:"rgba(8,15,30,0.95)"},children:[(0,a.jsx)("div",{className:"w-56 flex-shrink-0 overflow-y-auto border-r",style:{borderColor:"rgba(51,65,85,0.6)"},children:r.map(e=>{let t=n?.path===e.path;return(0,a.jsxs)("button",{onClick:()=>o(e),className:"w-full text-left px-3 py-2 border-b transition-colors",style:{borderColor:"rgba(51,65,85,0.4)",background:t?"rgba(59,130,246,0.15)":"transparent",borderLeft:t?"2px solid rgba(59,130,246,0.8)":"2px solid transparent"},children:[(0,a.jsx)("div",{className:"text-xs font-medium leading-snug",style:{color:t?"#93c5fd":"#cbd5e1"},children:e.title||e.path.split("/").pop()}),(0,a.jsx)("div",{className:"text-[10px] mt-0.5 truncate",style:{color:"rgba(100,116,139,0.8)"},title:e.path,children:function(e,t=36){return e.length<=t?e:"…"+e.slice(-(t-1))}(e.path)}),(0,a.jsxs)("div",{className:"flex gap-2 mt-0.5 text-[9px]",style:{color:"rgba(100,116,139,0.7)"},children:[void 0!==e.wordCount&&(0,a.jsxs)("span",{children:[e.wordCount.toLocaleString()," words"]}),(0,a.jsx)("span",{children:function(e){try{return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric"})}catch{return e}}(e.lastModified)})]})]},e.path)})}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[n&&n.headingTree.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-1 mb-3 text-[10px]",style:{color:"rgba(100,116,139,0.7)"},children:n.headingTree.map((e,t)=>(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[t>0&&(0,a.jsx)("span",{children:"›"}),(0,a.jsx)("span",{children:e})]},t))}),d&&(0,a.jsx)("div",{className:"text-xs",style:{color:"rgba(148,163,184,0.6)"},children:"Loading…"}),p&&!d&&(0,a.jsx)("div",{className:"text-xs px-3 py-2 rounded",style:{color:"#f87171",background:"rgba(239,68,68,0.1)",border:"1px solid rgba(239,68,68,0.2)"},children:p}),null!==i&&!d&&!p&&(0,a.jsx)("pre",{className:"text-xs font-mono text-slate-300 whitespace-pre-wrap leading-relaxed",children:i})]})]}):(0,a.jsxs)("div",{className:`flex flex-col items-center justify-center gap-2 py-16 ${s}`,style:{color:"rgba(148,163,184,0.7)"},children:[(0,a.jsx)("span",{className:"text-3xl",children:"\uD83D\uDCC4"}),(0,a.jsx)("span",{className:"text-sm",children:"No markdown docs found in this blueprint."})]})}var eO=s(70238),ez=s(71602),eB=s(81750),eK=s(61278);s(53255);var eH=s(67773),eU=s.n(eH);let eW=[{value:60,label:"60"},{value:100,label:"100"},{value:150,label:"150"},{value:"all",label:"All"}];function eq(e){return e>=50?"#ef4444":e>=30?"#f97316":e>=15?"#eab308":e>=5?"#3b82f6":"#475569"}function eJ(e){return({app:"#1e40af",component:"#5b21b6",lib:"#0f766e",hook:"#b45309"})[e]??"#334155"}function eV(e){return e.replace(/[^a-zA-Z0-9]/g,"_").replace(/_+/g,"_").replace(/^_|_$/,"")}function eG(e,t){let s=e.map(e=>e.id).sort(),a=t.map(e=>`${e.source}>${e.target}`).sort();return`${s.length}:${a.length}|${s.join(",")}|${a.join(",")}`}let eZ=new Map,eQ={selected:{bg:"rgba(30,58,138,0.55)",border:"#60a5fa",shadow:"0 0 0 2px rgba(96,165,250,0.45), 0 2px 8px rgba(0,0,0,0.6)",opacity:1,borderWidth:"2px",textColor:"#bfdbfe"},incoming:{bg:"rgba(0,55,90,0.55)",border:"#22d3ee",shadow:"0 0 0 1.5px rgba(34,211,238,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#a5f3fc"},outgoing:{bg:"rgba(100,40,0,0.55)",border:"#fb923c",shadow:"0 0 0 1.5px rgba(251,146,60,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#fed7aa"},both:{bg:"rgba(55,20,90,0.55)",border:"#a78bfa",shadow:"0 0 0 1.5px rgba(167,139,250,0.35)",opacity:1,borderWidth:"1.5px",textColor:"#ddd6fe"},dimmed:{bg:"rgba(15,23,42,0.88)",border:"#1e293b",shadow:"none",opacity:.22,borderWidth:"1px",textColor:"#475569"},normal:{bg:"rgba(15,23,42,0.92)",border:"",shadow:"0 1px 4px rgba(0,0,0,0.4)",opacity:1,borderWidth:"1.5px",textColor:"#e2e8f0"}},eY={blueprintFile:function({data:e}){let t,s=e.heatScore,l=e.covAvgPct,r=e.highlightRole,n=eQ[r],o="dimmed"===r,i="neutral"===e.metricMode,c="coverage"===e.metricMode,d="normal"===r?eJ(e.category):n.border;t=o?"#1e293b":i?eJ(e.category):c?null!=l?p.Vt[(0,p.NU)(l)]:"#334155":eq(s);let x=o||i?"#1e293b":c?eq(s):null!=l?p.Vt[(0,p.NU)(l)]:"#334155",h=c?`${Math.min(100,s)}%`:null!=l?`${Math.min(100,l)}%`:"100%",m=o||i?0:c?.35:null!=l?.65:.12,u=c?null!=l?`${l.toFixed(0)}%`:"?":s.toFixed(0),b=o?"#334155":i?"#475569":c?null!=l?p.Vt[(0,p.NU)(l)]:"#475569":eq(s),f=i?null!=l?`${l.toFixed(0)}%`:"?":c?s.toFixed(0):null!=l?`${l.toFixed(0)}%`:"?",g=i?"#475569":c?eq(s):null!=l?p.Vt[(0,p.NU)(l)]:"#334155",y=c?`Heat: ${s.toFixed(1)}`:null!=l?`Coverage: ${l.toFixed(0)}%`:"No coverage data",j=e.searchMatch?"#fbbf24":d,v=e.searchMatch?"0 0 0 2px rgba(251,191,36,0.7), 0 0 14px rgba(251,191,36,0.35)":n.shadow,N=e.searchDimmed?.2:n.opacity;return(0,a.jsxs)("div",{className:"bx-node-in",style:{width:168,height:64,background:n.bg,borderTop:`3px solid ${e.searchMatch?"#fbbf24":t}`,borderRight:`${n.borderWidth} solid ${j}`,borderBottom:`${n.borderWidth} solid ${j}`,borderLeft:`${n.borderWidth} solid ${j}`,borderRadius:6,boxShadow:v,cursor:"pointer",overflow:"hidden",userSelect:"none",display:"flex",flexDirection:"column",justifyContent:"space-between",padding:"6px 8px 4px",opacity:N,transition:"opacity 160ms cubic-bezier(0.16,1,0.3,1), box-shadow 160ms cubic-bezier(0.16,1,0.3,1), border-color 160ms cubic-bezier(0.16,1,0.3,1)"},children:[(0,a.jsx)(eB.h7,{type:"target",position:eK.yX.Left,style:{background:"#334155",width:6,height:6,border:"none"}}),(0,a.jsx)(eB.h7,{type:"source",position:eK.yX.Right,style:{background:"#334155",width:6,height:6,border:"none"}}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:5,minWidth:0},children:[(0,a.jsx)("span",{style:{fontSize:10,color:"#94a3b8",flexShrink:0},children:{app:"\uD83D\uDCC4",component:"⚛",lib:"\uD83D\uDCE6",hook:"\uD83E\uDE9D"}[e.category]??"\xb7"}),(0,a.jsx)("span",{style:{fontSize:11,fontWeight:600,color:n.textColor,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,fontFamily:"monospace"},children:e.label}),(0,a.jsx)("span",{style:{fontSize:9,fontFamily:"monospace",color:b,flexShrink:0,fontWeight:c?700:400,opacity:i?.45:.95},title:c?`Coverage: ${l?.toFixed(0)??"?"}%`:`Heat: ${s.toFixed(1)}`,children:u})]}),(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:4},children:[(0,a.jsx)("span",{style:{fontSize:8,background:"rgba(51,65,85,0.6)",color:o?"#334155":"#94a3b8",padding:"1px 4px",borderRadius:3,fontFamily:"monospace"},children:e.category}),e.hasDoc&&!o&&(0,a.jsx)("span",{style:{fontSize:9,opacity:.8},title:"Has documentation",children:"\uD83D\uDDD2"}),e.hasDirectMatch&&!o&&(0,a.jsx)("span",{style:{fontSize:9,opacity:.9},title:"Direct code evidence",children:"\uD83C\uDFAF"}),e.hasSymbols&&!o&&(0,a.jsx)("span",{style:{fontSize:9,opacity:.7},title:"Exported symbols",children:"ƒ"}),e.docSummary&&!o&&(0,a.jsx)("span",{style:{fontSize:8,color:"#64748b",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1,marginLeft:2},title:e.docSummary,children:e.docSummary.slice(0,30)}),!o&&(0,a.jsx)("span",{style:{fontSize:7,fontFamily:"monospace",color:g,marginLeft:"auto",opacity:.55,flexShrink:0},title:y,children:f})]}),(0,a.jsx)("div",{style:{position:"absolute",bottom:0,left:0,height:2,width:h,background:x,opacity:m,borderBottomLeftRadius:5}})]})}};function eX(e){return(0,a.jsx)(eB.Ln,{children:(0,a.jsx)(e0,{...e})})}function e0({files:e,selected:t,colorMode:s="neutral",onSelect:r}){let[n,o]=(0,l.useState)(60),[i,c]=(0,l.useState)(""),d=(0,l.useMemo)(()=>{let t=[],s=new Set;for(let a of e)for(let e of a.runtimeInternalImports){let l=eV(e);if(l!==a.id){let e=`${a.id}::${l}`;s.has(e)||(s.add(e),t.push({source:a.id,target:l}))}}return t},[e]),x=(0,l.useMemo)(()=>new Map(e.map(e=>[e.id,e])),[e]),{cappedFiles:h,extraCount:m}=(0,l.useMemo)(()=>{let s="all"===n?1/0:n,a=e.length<=s?e:[...e].sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,s);if(!t)return{cappedFiles:a,extraCount:0};let l=new Set(a.map(e=>e.id)),r=t.id,o=new Set;for(let e of d)e.source===r&&o.add(e.target),e.target===r&&o.add(e.source);let i=[];if(!l.has(r)){let e=x.get(r);e&&i.push(e)}for(let e of o)if(!l.has(e)){let t=x.get(e);t&&i.push(t)}return{cappedFiles:i.length>0?[...a,...i]:a,extraCount:i.length}},[e,n,t?.id,d,x]),u=(0,l.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),b=(0,l.useMemo)(()=>{let e=new Set(h.map(e=>e.id)),t=[],s=new Set;for(let a of h)for(let l of a.runtimeInternalImports){let r=eV(l);if(e.has(r)&&a.id!==r){let e=`${a.id}::${r}`;s.has(e)||(s.add(e),t.push({source:a.id,target:r}))}}return t},[h]),f=(0,l.useMemo)(()=>{if(!t?.id)return null;let e=t.id,s=new Set,a=new Set;for(let t of b)t.source===e&&s.add(t.target),t.target===e&&a.add(t.source);return{outgoing:s,incoming:a}},[t?.id,b]),g=(0,l.useMemo)(()=>eG(h,b),[h,b]),y=(0,l.useMemo)(()=>(function(e,t){let s,a,l=eG(e,t),r=eZ.get(l);if(r)return eZ.delete(l),eZ.set(l,r),r;let n=((s=new(eU()).graphlib.Graph).setDefaultEdgeLabel(()=>({})),s.setGraph({rankdir:"LR",nodesep:55,ranksep:130,marginx:30,marginy:30}),e.forEach(e=>s.setNode(e.id,{width:168,height:64})),t.forEach(e=>{s.hasNode(e.source)&&s.hasNode(e.target)&&s.setEdge(e.source,e.target)}),eU().layout(s),a=new Map,e.forEach(e=>{let t=s.node(e.id);a.set(e.id,{x:t.x-84,y:t.y-32})}),a);if(eZ.set(l,n),eZ.size>16){let e=eZ.keys().next().value;void 0!==e&&eZ.delete(e)}return n})(h,b),[g]),[j,v]=(0,l.useState)(!1),N=(0,l.useMemo)(()=>j&&t&&f?function(e,t,s){let a=new Map,l=e.filter(e=>s.has(e.id)),r=e.filter(e=>!s.has(e.id));if(l.length>0){let e=new(eU()).graphlib.Graph;e.setDefaultEdgeLabel(()=>({})),e.setGraph({rankdir:"LR",nodesep:70,ranksep:180,marginx:40,marginy:40}),l.forEach(t=>e.setNode(t.id,{width:168,height:64})),t.filter(e=>s.has(e.source)&&s.has(e.target)).forEach(t=>{e.hasNode(t.source)&&e.hasNode(t.target)&&e.setEdge(t.source,t.target)}),eU().layout(e);let r=0,n=0;l.forEach(t=>{let s=e.node(t.id);r+=s.x,n+=s.y});let o=r/l.length,i=n/l.length;l.forEach(t=>{let s=e.node(t.id);a.set(t.id,{x:s.x-o-84,y:s.y-i-32})})}let n=Math.max(500,25*r.length);return r.forEach((e,t)=>{let s=2*Math.PI*t/Math.max(r.length,1);a.set(e.id,{x:Math.round(Math.cos(s)*n)-84,y:Math.round(Math.sin(s)*n)-32})}),a}(h,b,new Set([t.id,...f.outgoing,...f.incoming])):null,[j,t?.id,f,h,b])??y,k=(0,l.useMemo)(()=>{let e=i.trim().toLowerCase();return e?h.filter(t=>t.path.toLowerCase().includes(e)||(t.path.split("/").pop()??"").toLowerCase().includes(e)):[]},[i,h]),w=(0,l.useMemo)(()=>new Set(k.map(e=>e.id)),[k]),C=(0,l.useMemo)(()=>h.map(e=>{let a=N.get(e.id)??{x:0,y:0},l=e.explainability,r="normal";if(t?.id){if(e.id===t.id)r="selected";else if(f){let t=f.outgoing.has(e.id),s=f.incoming.has(e.id);r=t&&s?"both":t?"outgoing":s?"incoming":"dimmed"}}return{id:e.id,type:"blueprintFile",position:a,selected:e.id===t?.id,data:{label:e.path.split("/").pop()??e.path,path:e.path,category:e.category,heatScore:e.metrics.heatScore,covAvgPct:(0,p.Rl)(e.coverage),hasDoc:!!l?.primaryDocBlock,hasDirectMatch:(l?.matchedConfigIdsInCode?.length??0)>0||(l?.matchedTableNamesInCode?.length??0)>0,hasSymbols:(l?.symbolSummaries?.length??0)>0,docSummary:e.docSummary,highlightRole:r,metricMode:s,searchMatch:w.has(e.id),searchDimmed:w.size>0&&!w.has(e.id)}}}),[h,N,t?.id,f,s,w]),S=(0,l.useMemo)(()=>b.map((e,s)=>{let a=t?.id,l="#334155",r=1.2,n=.7,o="#334155";return a&&(e.source===a?(l="#fb923c",r=2.5,n=1,o="#fb923c"):e.target===a?(l="#22d3ee",r=2.5,n=1,o="#22d3ee"):(l="#1e293b",r=.8,n=.1,o="#1e293b")),{id:`e${s}`,source:e.source,target:e.target,type:"smoothstep",animated:!1,style:{stroke:l,strokeWidth:r,opacity:n},markerEnd:{type:eK.TG.ArrowClosed,color:o,width:r>1.5?12:10,height:r>1.5?12:10}}}),[b,t?.id]),[$,F,E]=(0,eB.ck)(C),[A,R,M]=(0,eB.fM)(S);(0,l.useEffect)(()=>{F(C)},[C,F]),(0,l.useEffect)(()=>{R(S)},[S,R]),(0,l.useEffect)(()=>{t||v(!1)},[t]);let P=(0,l.useCallback)((e,t)=>{let s=u.get(t.id);s&&r(s)},[u,r]),_=(0,eB.VH)(),I=(0,l.useRef)(null),[T,D]=(0,l.useState)(0),L=(0,l.useRef)(!1),O=(0,l.useCallback)(()=>{try{_.fitView({padding:.15,maxZoom:1.2,duration:200})}catch{}},[_]),z=(0,l.useCallback)(()=>{requestAnimationFrame(()=>requestAnimationFrame(O))},[O]);(0,l.useEffect)(()=>{if(0===$.length){L.current=!1;return}if(L.current)return;let e=setTimeout(O,60),t=setTimeout(()=>{O(),L.current=!0},320);return()=>{clearTimeout(e),clearTimeout(t)}},[$.length]);let B=(0,l.useCallback)(e=>{let t=N.get(e);t&&_.setCenter(t.x+84,t.y+32,{zoom:1.2,duration:220})},[_,N]);(0,l.useEffect)(()=>{0!==k.length&&(D(0),B(k[0].id))},[k]);let K=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=t?.id;if(!e){K.current=null;return}if(K.current===e||!N.has(e))return;let s=setTimeout(()=>B(e),450),a=setTimeout(()=>{B(e),K.current=e},850);return()=>{clearTimeout(s),clearTimeout(a)}},[t?.id,N]);let H=(0,l.useCallback)(e=>{0!==k.length&&D(t=>{let s=(t+e+k.length)%k.length;return B(k[s].id),s})},[k,B]);(0,l.useEffect)(()=>{function e(e){let s=e.target,a=s instanceof HTMLElement&&("INPUT"===s.tagName||"TEXTAREA"===s.tagName||s.isContentEditable);if("/"===e.key&&!a){e.preventDefault(),I.current?.focus(),I.current?.select();return}if(!a&&0!==h.length)if("ArrowDown"===e.key||"ArrowUp"===e.key||"j"===e.key||"k"===e.key){e.preventDefault();let s="ArrowDown"===e.key||"j"===e.key?1:-1,a=t?h.findIndex(e=>e.id===t.id):-1,l=a<0?s>0?0:h.length-1:(a+s+h.length)%h.length,n=h[l];n&&(r(n),B(n.id))}else"Enter"===e.key&&t&&(e.preventDefault(),B(t.id))}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h,t,r,B]);let U="all"===n?e.length:n,W=e.length>U,q=t?.path.split("/").pop();return(0,a.jsxs)("div",{className:"w-full h-full relative bg-slate-950",children:[(0,a.jsxs)("div",{className:"absolute top-3 left-3 z-10 flex items-center gap-1.5 bg-slate-900/90 border border-slate-700/60 rounded px-2 py-1",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono mr-0.5",children:"Nodes:"}),eW.map(({value:e,label:t})=>(0,a.jsx)("button",{onClick:()=>o(e),className:`text-[9px] font-mono px-1.5 py-0.5 rounded transition-colors ${n===e?"bg-blue-800/60 text-blue-300 border border-blue-600/50":"text-slate-500 hover:text-slate-300 border border-transparent hover:border-slate-600"}`,children:t},String(e))),"all"===n&&e.length>200&&(0,a.jsx)("span",{className:"text-[8px] text-amber-500/70 font-mono ml-1",children:"⚠ slow"})]}),(0,a.jsxs)("div",{className:"absolute top-12 left-3 z-10 flex items-center gap-1.5 bg-slate-900/90 border border-slate-700/60 rounded px-1.5 py-1",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-600 pl-0.5","aria-hidden":!0,children:"⌕"}),(0,a.jsx)("input",{ref:I,type:"text",value:i,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),H(e.shiftKey?-1:1)):"Escape"===e.key&&(c(""),e.currentTarget.blur())},placeholder:"Find node… ( / )","aria-label":"Search graph nodes by file name or path",className:"bx-focusable bg-transparent text-[10px] font-mono text-slate-300 placeholder:text-slate-600 outline-none w-36"}),i.trim()&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[9px] font-mono tabular-nums shrink-0",style:{color:k.length?"#fbbf24":"#64748b"},children:k.length?`${T+1}/${k.length}`:"0"}),k.length>1&&(0,a.jsxs)("span",{className:"flex items-center",children:[(0,a.jsx)("button",{onClick:()=>H(-1),className:"bx-transition bx-focusable text-[10px] text-slate-500 hover:text-slate-200 px-0.5",title:"Previous match (Shift+Enter)","aria-label":"Previous match",children:"‹"}),(0,a.jsx)("button",{onClick:()=>H(1),className:"bx-transition bx-focusable text-[10px] text-slate-500 hover:text-slate-200 px-0.5",title:"Next match (Enter)","aria-label":"Next match",children:"›"})]}),(0,a.jsx)("button",{onClick:()=>{c(""),I.current?.focus()},className:"bx-transition bx-focusable text-[10px] text-slate-600 hover:text-slate-300 px-0.5",title:"Clear search","aria-label":"Clear search",children:"✕"})]})]}),(0,a.jsx)("div",{className:"absolute top-3 left-1/2 -translate-x-1/2 z-10",children:(0,a.jsx)("span",{className:`text-[9px] font-mono px-2 py-0.5 rounded border ${"neutral"===s?"bg-slate-900/90 border-slate-600/60 text-slate-400":"coverage"===s?"bg-blue-950/80 border-blue-700/60 text-blue-300":"heat"===s?"bg-orange-950/80 border-orange-700/60 text-orange-300":"bg-slate-900/90 border-slate-600/60 text-slate-400"}`,children:"neutral"===s?"⬡ Neutral":"coverage"===s?"\uD83E\uDDEA Coverage":"\uD83D\uDD25 Heat"})}),(W||m>0)&&(0,a.jsxs)("div",{className:"absolute top-3 right-3 z-10 text-[10px] text-slate-500 bg-slate-900/90 px-3 py-1.5 rounded border border-slate-700/60",children:[W&&0===m&&(0,a.jsxs)(a.Fragment,{children:["Top ",Math.min(U,e.length)," of ",e.length," files \xb7 ",(0,a.jsx)("span",{className:"text-slate-600",children:"change limit to see more"})]}),W&&m>0&&(0,a.jsxs)(a.Fragment,{children:["Top ",Math.min(U,e.length)," ",(0,a.jsxs)("span",{className:"text-cyan-500/80",children:["+ ",m," connected"]})," of ",e.length]}),!W&&m>0&&(0,a.jsxs)(a.Fragment,{children:[e.length," files ",(0,a.jsxs)("span",{className:"text-cyan-500/80",children:["+ ",m," connected extras"]})]})]}),0===h.length&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-slate-600 text-sm",children:"No files match the current filters."}),t&&f&&(0,a.jsxs)("div",{className:"absolute bottom-16 left-3 z-10 rounded border border-slate-700/60 px-2.5 py-2 space-y-1.5",style:{background:"rgba(15,23,42,0.92)"},children:[(0,a.jsx)(e1,{bg:"rgba(30,58,138,0.55)",border:"#60a5fa",label:"Selected"}),(0,a.jsx)(e1,{bg:"rgba(0,55,90,0.55)",border:"#22d3ee",label:`Incoming (${f.incoming.size})`}),(0,a.jsx)(e1,{bg:"rgba(100,40,0,0.55)",border:"#fb923c",label:`Outgoing (${f.outgoing.size})`}),(0,a.jsx)(e1,{bg:"rgba(15,23,42,0.88)",border:"#1e293b",label:"Dimmed",muted:!0})]}),t&&q&&(0,a.jsxs)("div",{className:"absolute bottom-3 left-3 z-10 text-[10px] text-slate-500 bg-slate-900/80 px-2.5 py-1 rounded border border-slate-700/50 font-mono max-w-[240px] truncate",children:["⬡ ",(0,a.jsx)("span",{className:"text-slate-300",children:q})]}),t&&(0,a.jsxs)("button",{onClick:()=>v(e=>!e),className:`absolute bottom-3 right-3 z-10 text-[10px] font-mono px-2.5 py-1.5 rounded border transition-colors ${j?"bg-blue-900/60 border-blue-600/60 text-blue-300 hover:bg-blue-900/80":"bg-slate-900/80 border-slate-700/50 text-slate-400 hover:text-slate-200 hover:border-slate-600"}`,title:"Reposition selected node and its direct neighbors to the center",children:["⬡ Smart reorder",j?" ✓":""]}),(0,a.jsxs)(eB.Gc,{nodes:$,edges:A,nodeTypes:eY,onNodeClick:P,onNodesChange:E,onEdgesChange:M,onInit:z,fitView:!0,fitViewOptions:{padding:.15,maxZoom:1.2},minZoom:.05,maxZoom:2.5,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(eB.VS,{color:"#1e293b",gap:24,size:1}),(0,a.jsx)(eB.H2,{style:{background:"#0f172a",border:"1px solid #1e293b",borderRadius:6}}),(0,a.jsx)(eB.of,{nodeColor:e=>{let t=e.data;return t.searchMatch?"#fbbf24":t.searchDimmed?"#1e293b":"selected"===t.highlightRole?"#60a5fa":"incoming"===t.highlightRole?"#22d3ee":"outgoing"===t.highlightRole?"#fb923c":"both"===t.highlightRole?"#a78bfa":"dimmed"===t.highlightRole?"#1e293b":eq(t.heatScore)},bgColor:"#0f172a",maskColor:"rgba(15,23,42,0.75)",style:{background:"#0f172a",border:"1px solid #1e293b",borderRadius:6}})]})]})}function e1({bg:e,border:t,label:s,muted:l=!1}){return(0,a.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,a.jsx)("div",{style:{width:10,height:10,borderRadius:2,background:e,border:`1.5px solid ${t}`,flexShrink:0,opacity:l?.5:1}}),(0,a.jsx)("span",{style:{fontSize:10,color:l?"#475569":"#94a3b8",fontFamily:"monospace"},children:s})]})}function e5(e){if(!e.length)return{maxHeat:0,avgHeat:0};let t=e.map(e=>e.metrics.heatScore);return{maxHeat:Math.max(...t),avgHeat:t.reduce((e,t)=>e+t,0)/t.length}}let e2=["#3b82f6","#8b5cf6","#0d9488","#b45309","#ef4444","#ec4899","#84cc16"],e3={app:"\uD83D\uDCC4",components:"⚛",component:"⚛",lib:"\uD83D\uDCE6",libs:"\uD83D\uDCE6",hooks:"\uD83E\uDE9D",hook:"\uD83E\uDE9D",api:"\uD83D\uDD0C",pages:"\uD83D\uDCC4",utils:"\uD83D\uDD27",styles:"\uD83C\uDFA8",types:"\uD83D\uDCD0",tests:"\uD83E\uDDEA",config:"⚙️",public:"\uD83C\uDF10"};function e4(e,t){switch(t){case"hottest":return e.metrics.heatScore>=10;case"routes":return e.isApiRoute||"page"===e.nextFileKind;case"core-libs":return e.metrics.incomingRuntimeDeps>=5;case"api-surface":return e.isApiRoute;case"state-heavy":return(e.stateComplexity?.hookCounts.total??0)>=10;default:return!0}}let e6=[{id:"all",label:"All",desc:"All files"},{id:"hottest",label:"\uD83D\uDD25 Hot",desc:"Heat ≥ 10"},{id:"routes",label:"\uD83D\uDCC4 Routes",desc:"Pages & API"},{id:"core-libs",label:"\uD83D\uDCE6 Core",desc:"≥ 5 importers"},{id:"api-surface",label:"\uD83D\uDD0C API",desc:"API routes"},{id:"state-heavy",label:"⚡ State",desc:"≥ 10 hooks"}];function e9(e,t,s,a){return t?e.id===t.id?"selected":s?.imports.has(e.path)?"imports":s?.importedBy.has(e.path)?"importedBy":"unrelated":"all"===a||e4(e,a)?"normal":"dimmed"}function e8(e){return e>=50?"rgba(239,68,68,0.9)":e>=30?"rgba(249,115,22,0.8)":e>=15?"rgba(234,179,8,0.7)":e>=5?"rgba(59,130,246,0.6)":"rgba(71,85,105,0.5)"}function e7(e,t){let s=parseInt(e.slice(1,3),16),a=parseInt(e.slice(3,5),16),l=parseInt(e.slice(5,7),16);return`rgba(${s},${a},${l},${t})`}let te={selected:{bg:"rgba(37,99,235,0.65)",border:"#60a5fa",opacity:1,shadow:"0 0 0 2px rgba(96,165,250,0.4)"},imports:{bg:"rgba(245,158,11,0.35)",border:"#fb923c",opacity:1,shadow:"0 0 0 1.5px rgba(251,146,60,0.3)"},importedBy:{bg:"rgba(6,182,212,0.35)",border:"#22d3ee",opacity:1,shadow:"0 0 0 1.5px rgba(34,211,238,0.3)"},unrelated:{bg:"",border:"",opacity:.14},dimmed:{bg:"",border:"",opacity:.18},normal:{bg:"",border:"",opacity:1}};function tt({file:e,role:t,colorMode:s,onHover:l,onClick:r}){let n=e.metrics.heatScore,o=te[t],i=(0,p.TR)(e.coverage),c="neutral"===s,d="coverage"===s,x=o.bg||(c?"rgba(30,41,59,0.55)":d?null!=i?e7(p.Vt[(0,p.NU)(i)],.55):"rgba(71,85,105,0.25)":n>=50?"rgba(239,68,68,0.7)":n>=30?"rgba(249,115,22,0.6)":n>=15?"rgba(234,179,8,0.5)":n>=5?"rgba(59,130,246,0.4)":"rgba(71,85,105,0.25)"),h=o.border||(c?"#334155":d?null!=i?e7(p.Vt[(0,p.NU)(i)],.85):"rgba(71,85,105,0.5)":e8(n)),m=d?null!=i?`${i.toFixed(0)}%`:"?":n.toFixed(0),u=c?"#64748b":d?null!=i?p.Vt[(0,p.NU)(i)]:"#64748b":void 0,b=(e.stateComplexity?.hookCounts.total??0)>=10,f=!!e.docSummary||!!e.explainability?.primaryDocBlock,g=(e.explainability?.matchedConfigIdsInCode?.length??0)>0||(e.explainability?.matchedTableNamesInCode?.length??0)>0,y=e.path.split("/").pop()??e.path,j=`${e.path}
7
+ Heat: ${n.toFixed(1)}${null!=i?`
8
+ Coverage: ${i.toFixed(0)}%`:""}`;return(0,a.jsxs)("button",{onClick:r,onMouseEnter:()=>l(e),onMouseLeave:()=>l(null),title:j,style:{background:x,border:`1.5px solid ${h}`,opacity:o.opacity,boxShadow:o.shadow,transition:"opacity 0.12s"},className:"w-[68px] h-[52px] rounded flex flex-col items-start justify-between p-1.5 cursor-pointer hover:brightness-125 text-left overflow-hidden shrink-0",children:[(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-200 block w-full truncate font-medium",children:y}),(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,a.jsx)("span",{className:"text-[8px] font-mono text-slate-300",style:u?{color:u,fontWeight:c?400:700}:void 0,children:m}),b&&(0,a.jsx)("span",{style:{fontSize:7},children:"⚡"}),f&&(0,a.jsx)("span",{style:{fontSize:7,opacity:.7},children:"\uD83D\uDDD2"}),g&&(0,a.jsx)("span",{style:{fontSize:7},children:"\uD83C\uDFAF"})]})]})}function ts({file:e,role:t,colorMode:s,onHover:l,onClick:r}){let n=e.screenInfo,o=n?.label??e.path.split("/").pop()??e.path,i=te[t],c=e.metrics.heatScore,d=(0,p.TR)(e.coverage),x="neutral"===s,h="coverage"===s,m=i.bg||(x?"rgba(30,41,59,0.55)":h&&null!=d?e7(p.Vt[(0,p.NU)(d)],.1):"rgba(30,41,59,0.7)"),u=i.border||(x?"#334155":h&&null!=d?e7(p.Vt[(0,p.NU)(d)],.6):"#475569");return(0,a.jsxs)("button",{onClick:r,onMouseEnter:()=>l(e),onMouseLeave:()=>l(null),style:{background:m,border:`1.5px solid ${u}`,opacity:i.opacity,boxShadow:i.shadow},className:"w-[140px] rounded-lg p-2 flex flex-col gap-1 cursor-pointer hover:brightness-110 transition-all text-left",children:[(0,a.jsx)("div",{className:"flex items-start gap-1",children:(0,a.jsx)("span",{className:"text-[11px] font-semibold text-slate-100 leading-tight flex-1 line-clamp-2",children:o})}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-1",children:[n?.screenKind&&"unknown"!==n.screenKind&&"page"!==n.screenKind&&(0,a.jsx)("span",{className:`text-[8px] px-1.5 py-0.5 rounded font-medium ${{dashboard:"bg-blue-900/40 text-blue-300",admin:"bg-slate-700/60 text-slate-300",chat:"bg-green-900/40 text-green-300",form:"bg-yellow-900/40 text-yellow-300",builder:"bg-orange-900/40 text-orange-300",settings:"bg-violet-900/40 text-violet-300"}[n.screenKind]??"bg-slate-700/50 text-slate-300"}`,children:n.screenKind}),n?.uiPatterns?.slice(0,2).map(e=>(0,a.jsx)("span",{className:"text-[8px] bg-slate-700/50 text-slate-400 px-1 rounded",children:e},e))]}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[x?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"text-[8px] font-mono opacity-45 text-slate-400",children:["\uD83D\uDD25",c.toFixed(0)]}),null!=d&&(0,a.jsxs)("span",{className:"text-[8px] font-mono opacity-45 text-slate-400",children:["\uD83E\uDDEA",d.toFixed(0),"%"]})]}):h?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"text-[8px] font-mono font-semibold",style:{color:null!=d?p.Vt[(0,p.NU)(d)]:"#64748b"},children:["\uD83E\uDDEA",null!=d?`${d.toFixed(0)}%`:"—"]}),(0,a.jsxs)("span",{className:"text-[8px] font-mono opacity-45",style:{color:e8(c)},children:["\uD83D\uDD25",c.toFixed(0)]})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"text-[8px] font-mono font-semibold",style:{color:e8(c)},children:["\uD83D\uDD25",c.toFixed(0)]}),null!=d&&(0,a.jsxs)("span",{className:"text-[8px] font-mono opacity-55",style:{color:p.Vt[(0,p.NU)(d)]},children:["\uD83E\uDDEA",d.toFixed(0),"%"]})]}),n?.dataSources?.slice(0,2).map(e=>(0,a.jsx)("span",{className:"text-[8px] text-slate-600",children:"supabase"===e?"\uD83D\uDDC4":"http-fetch"===e?"\uD83C\uDF10":"\uD83D\uDCE1"},e))]}),(0,a.jsx)("div",{className:"h-0.5 rounded-full bg-slate-800 overflow-hidden mt-0.5",children:x?null:h?(0,a.jsx)("div",{className:"h-full rounded-full",style:{width:null!=d?`${Math.min(100,d)}%`:"0%",backgroundColor:null!=d?p.Vt[(0,p.NU)(d)]:"#334155"}}):(0,a.jsx)("div",{className:"h-full rounded-full",style:{width:`${Math.min(100,c)}%`,backgroundColor:e8(c)}})})]})}function ta({zone:e,preset:t,selected:s,neighborhood:r,colorMode:n,onSelectFile:o,onHover:i}){let[c,d]=(0,l.useState)(!0),x=e.subZones.flatMap(e=>e.files),p=x.filter(e=>"page"===e.nextFileKind||"layout"===e.nextFileKind),h=s?x.filter(e=>r?.imports.has(e.path)).length:0,m=s?x.filter(e=>r?.importedBy.has(e.path)).length:0;return(0,a.jsxs)("div",{className:"rounded-xl overflow-hidden border border-slate-700/50",style:{borderLeft:`3px solid ${e.color}`},children:[(0,a.jsxs)("button",{onClick:()=>d(e=>!e),className:"w-full bg-slate-900/60 px-4 py-2.5 flex items-center gap-2 hover:bg-slate-900/80 transition-colors",children:[(0,a.jsx)("span",{children:e.icon}),(0,a.jsx)("span",{className:"text-xs font-semibold font-mono",style:{color:e.color},children:e.label}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-400",children:[x.length," files"]}),p.length>0&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500",children:["\xb7 ",p.length," screens"]}),h>0&&(0,a.jsxs)("span",{className:"text-[9px] bg-amber-900/40 text-amber-300 border border-amber-700/40 px-1.5 py-0.5 rounded ml-1",children:["← ",h]}),m>0&&(0,a.jsxs)("span",{className:"text-[9px] bg-cyan-900/40 text-cyan-300 border border-cyan-700/40 px-1.5 py-0.5 rounded ml-1",children:["→ ",m]}),(0,a.jsx)("span",{className:"ml-auto text-slate-600 text-xs",children:c?"▾":"▸"})]}),c&&(0,a.jsxs)("div",{className:"p-3 bg-slate-900/30 space-y-3",children:[p.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[10px] text-slate-400 font-semibold mb-2 uppercase tracking-wide",children:"Screens"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:p.map(e=>(0,a.jsx)(ts,{file:e,role:e9(e,s,r,t),colorMode:n,onHover:i,onClick:()=>o(e)},e.id))})]}),e.subZones.map(e=>{let l=e.files.filter(e=>"page"!==e.nextFileKind&&"layout"!==e.nextFileKind);return l.length?(0,a.jsxs)("div",{children:[(0,a.jsxs)("p",{className:"text-[10px] text-slate-400 mb-1.5 flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-medium",children:e.label}),(0,a.jsxs)("span",{className:"text-slate-600",children:["(",e.files.length,")"]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[l.sort((e,t)=>t.metrics.heatScore-e.metrics.heatScore).slice(0,20).map(e=>(0,a.jsx)(tt,{file:e,role:e9(e,s,r,t),colorMode:n,onHover:i,onClick:()=>o(e)},e.id)),l.length>20&&(0,a.jsxs)("span",{className:"text-[9px] text-slate-600 self-center",children:["+",l.length-20]})]})]},e.key):null})]})]})}function tl({file:e}){return(0,a.jsxs)("div",{className:"shrink-0 border-t border-slate-800 bg-slate-900/60 px-3 py-1.5 flex items-center gap-3 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300 truncate max-w-[240px]",children:e.path}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-400",children:["\uD83D\uDD25",e.metrics.heatScore.toFixed(1)]}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-500",children:["←",e.metrics.incomingRuntimeDeps]}),(e.stateComplexity?.hookCounts.total??0)>0&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500",children:["⚡",e.stateComplexity.hookCounts.total]}),e.screenInfo?.label&&(0,a.jsx)("span",{className:"text-[10px] text-slate-500",children:e.screenInfo.label})]})}function tr({files:e,selected:t,colorMode:s="neutral",onSelect:r}){let[n,o]=(0,l.useState)("all"),[i,c]=(0,l.useState)(null),d=(0,l.useMemo)(()=>(function(e){let t=new Map;for(let s of e){let e=s.path.split("/")[0]??"(root)",a=t.get(e)??[];a.push(s),t.set(e,a)}let s=0;return Array.from(t.entries()).filter(([,e])=>e.length>0).map(([e,t])=>{let a=new Map;for(let e of t){let t=e.path.split("/"),s=t.length>2?t[1]:"__root__",l=a.get(s)??[];l.push(e),a.set(s,l)}let l=Array.from(a.entries()).filter(([,e])=>e.length>0).map(([t,s])=>({key:`${e}/${t}`,label:"__root__"===t?e:t,files:s,...e5(s)})).sort((e,t)=>t.avgHeat-e.avgHeat);return{key:e,label:`${e}/`,icon:e3[e]??"\uD83D\uDCC1",color:e2[s++%e2.length],subZones:l,...e5(t)}}).sort((e,t)=>t.avgHeat-e.avgHeat)})(e),[e]),x=(0,l.useMemo)(()=>t?{imports:new Set(t.runtimeInternalImports??[]),importedBy:new Set(t.incomingInternalDependencies??[])}:null,[t]),p="all"===n?e.length:e.filter(e=>e4(e,n)).length,h=i??t,m="neutral"===s,u="coverage"===s;return(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0 bg-slate-950",children:[(0,a.jsxs)("div",{className:"shrink-0 border-b border-slate-800 px-3 py-2 flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[11px] text-slate-400 font-mono font-semibold",children:"◻ Zones"}),(0,a.jsx)("span",{className:`text-[9px] font-mono px-1.5 py-0.5 rounded border ${m?"bg-slate-900/80 border-slate-600/60 text-slate-400":u?"bg-blue-950/80 border-blue-700/60 text-blue-300":"bg-orange-950/80 border-orange-700/60 text-orange-300"}`,children:m?"⬡ Neutral":u?"\uD83E\uDDEA Coverage":"\uD83D\uDD25 Heat"}),t&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-500",children:[(0,a.jsx)("span",{className:"text-slate-300",children:t.path.split("/").pop()})," ","← ",(0,a.jsx)("span",{className:"text-amber-400",children:x?.imports.size??0})," ","→ ",(0,a.jsx)("span",{className:"text-cyan-400",children:x?.importedBy.size??0})]}),(0,a.jsxs)("div",{className:"ml-auto flex items-center gap-1 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-500",children:"Filter:"}),e6.map(e=>(0,a.jsx)("button",{onClick:()=>o(e.id),title:e.desc,className:`text-[9px] px-1.5 py-0.5 rounded transition-colors ${n===e.id?"bg-amber-900/50 text-amber-300 border border-amber-700/50":"text-slate-500 hover:text-slate-300"}`,children:e.label},e.id))]})]}),"all"!==n&&(0,a.jsx)("div",{className:"shrink-0 px-3 py-1 bg-amber-950/20 border-b border-amber-900/30",children:(0,a.jsxs)("span",{className:"text-[10px] text-amber-400",children:[e6.find(e=>e.id===n).label," \xb7 ",p," files"]})}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-3",children:[d.map(e=>(0,a.jsx)(ta,{zone:e,preset:n,selected:t,neighborhood:x,colorMode:s,onSelectFile:r,onHover:c},e.key)),(0,a.jsxs)("div",{className:"flex items-center gap-3 pt-1 flex-wrap px-1",children:[m?(0,a.jsx)("span",{className:"text-[9px] text-slate-600 italic",children:"⬡ Structure view — metrics shown as secondary badges only"}):u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:"Coverage:"}),[["< 50","#f87171"],["50–79","#facc15"],["≥ 80","#4ade80"]].map(([e,t])=>(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:"w-3 h-3 rounded-sm",style:{background:t,opacity:.75}}),(0,a.jsxs)("span",{className:"text-[9px] text-slate-500",children:[e,"%"]})]},e)),(0,a.jsx)("span",{className:"text-[9px] text-slate-600 ml-1",children:"slate = no data"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:"Heat:"}),[["< 5","rgba(71,85,105,0.5)"],["5–15","rgba(59,130,246,0.6)"],["15–30","rgba(234,179,8,0.7)"],["30+","rgba(249,115,22,0.8)"]].map(([e,t])=>(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("div",{className:"w-3 h-3 rounded-sm",style:{background:t}}),(0,a.jsx)("span",{className:"text-[9px] text-slate-500",children:e})]},e))]}),t&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[9px] text-amber-400/70 ml-1",children:"amber = imports"}),(0,a.jsx)("span",{className:"text-[9px] text-cyan-400/70",children:"cyan = importedBy"})]})]})]}),h&&(0,a.jsx)(tl,{file:h})]})}let tn=new Set(["input","textarea","select","checkbox","radio","toggle","dropdown"]),to=new Set(["form","tabs","dialog"]);function ti(e){return e?e.replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()):e}let tc={dashboard:"\uD83D\uDCCA",admin:"⚙️",chat:"\uD83D\uDCAC",form:"\uD83D\uDCDD",profile:"\uD83D\uDC64",settings:"⚙️",landing:"\uD83C\uDFE0",list:"\uD83D\uDCCB",detail:"\uD83D\uDD0D",builder:"\uD83C\uDFD7",wizard:"\uD83E\uDDD9",recovery:"\uD83D\uDD11",page:"\uD83D\uDCC4",layout:"\uD83D\uDCD0",component:"\uD83E\uDDE9",unknown:"❓"},td={button:"\uD83D\uDD18",input:"✏️",textarea:"\uD83D\uDCDD",select:"▼",checkbox:"☑️",radio:"\uD83D\uDD35",tabs:"\uD83D\uDCD1",dialog:"\uD83D\uDCAC",table:"\uD83D\uDDC3️",search:"\uD83D\uDD0D",toggle:"\uD83D\uDD04",dropdown:"▾",form:"\uD83D\uDCCB",nav:"\uD83E\uDDED",other:"⬜"};function tx({s:e}){return"supabase"===e?(0,a.jsx)("span",{className:"text-[9px] text-slate-600",title:"supabase",children:"\uD83D\uDDC4"}):"http-fetch"===e?(0,a.jsx)("span",{className:"text-[9px] text-slate-600",title:"http-fetch",children:"\uD83C\uDF10"}):(0,a.jsx)("span",{className:"text-[9px] text-slate-600",title:e,children:"\uD83D\uDCE1"})}function tp({item:e}){let t=td[e.kind]??"⬜",s=e.semanticRole||e.kind;return(0,a.jsxs)("span",{className:"inline-flex items-center gap-0.5 text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(30,41,59,0.7)",color:"rgb(148,163,184)",border:"1px solid rgba(51,65,85,0.5)"},title:"inferred"===e.confidence?"inferred":void 0,children:[t," ",s,e.count>1?` \xd7${e.count}`:"","inferred"===e.confidence&&(0,a.jsx)("span",{style:{color:"rgb(100,116,139)"},children:"*"})]})}function th({si:e}){let t=tc[e.screenKind]??"\uD83D\uDCC4";return(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[10px]",children:t}),(0,a.jsx)("span",{className:"text-[10px] font-semibold text-slate-300",children:e.label||e.screenKind}),"unknown"!==e.screenKind&&e.label&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded font-mono",style:{background:"rgba(99,102,241,0.15)",color:"rgb(165,180,252)",border:"1px solid rgba(99,102,241,0.25)"},children:e.screenKind})]}),e.uiPatterns.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.uiPatterns.map(e=>(0,a.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(59,130,246,0.1)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.2)"},children:e},e))}),e.dataSources.length>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:"data:"}),e.dataSources.map(e=>(0,a.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-mono",style:{background:"rgba(234,179,8,0.1)",color:"rgb(253,224,71)",border:"1px solid rgba(234,179,8,0.2)"},children:e},e))]}),e.customHooks.length>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:"hooks:"}),e.customHooks.slice(0,6).map(e=>(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:e},e)),e.customHooks.length>6&&(0,a.jsxs)("span",{className:"text-[9px] text-slate-700",children:["+",e.customHooks.length-6]})]}),e.eventHandlers.length>0&&(0,a.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:"handlers:"}),e.eventHandlers.slice(0,4).map(e=>(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:e},e)),e.eventHandlers.length>4&&(0,a.jsxs)("span",{className:"text-[9px] text-slate-700",children:["+",e.eventHandlers.length-4]})]})]})}function tm({inv:e}){let t=function(e){let t=[],s=new Set,a=e.controls.filter(e=>"form"===e.kind);if(a.length>0&&(a.forEach((s,a)=>{let l=s.semanticRole||`Form ${a+1}`,r=e.controls.filter(e=>tn.has(e.kind)&&(!s.hint||e.hint===s.hint));t.push({label:ti(l),controls:[s,...r],fieldCount:r.reduce((e,t)=>e+t.count,0)||e.formFieldCount})}),s.add("form"),tn.forEach(e=>s.add(e))),e.hasTabs&&!s.has("tabs")){let a=e.controls.find(e=>"tabs"===e.kind);a&&(t.push({label:ti(a.semanticRole)||"Tabs",controls:[a],fieldCount:0}),s.add("tabs"))}let l=e.controls.filter(e=>tn.has(e.kind)&&!s.has(e.kind));l.length>0&&0===t.length&&(t.push({label:"Main Form",controls:l,fieldCount:e.formFieldCount||l.reduce((e,t)=>e+t.count,0)}),l.forEach(e=>s.add(e.kind)));let r=e.controls.filter(e=>!s.has(e.kind)&&!to.has(e.kind)&&"button"!==e.kind);if(e.hasSearch||e.hasTable||e.hasDialog){let a=[...r,...e.controls.filter(e=>("search"===e.kind||"table"===e.kind||"dialog"===e.kind)&&!s.has(e.kind))];a.length>0&&t.push({label:"Utilities",controls:a,fieldCount:0})}return 0===t.length&&e.controls.length>0&&t.push({label:"Controls",controls:e.controls,fieldCount:e.formFieldCount}),t}(e),[s,r]=(0,l.useState)(!1);return(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[e.hasForm&&(0,a.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",border:"1px solid rgba(34,197,94,0.2)"},children:["\uD83D\uDCCB ",e.formFieldCount>0?`${e.formFieldCount} fields`:"form"]}),e.actionCount>0&&(0,a.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded",style:{background:"rgba(59,130,246,0.1)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.2)"},children:["\uD83D\uDD18 ",e.actionCount," action",1!==e.actionCount?"s":""]}),e.hasSearch&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDD0D search"}),e.hasTabs&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDCD1 tabs"}),e.hasTable&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDDC3️ table"}),e.hasDialog&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-0.5 rounded bg-slate-800 text-slate-400",children:"\uD83D\uDCAC dialog"}),e.isInferred&&(0,a.jsx)("span",{className:"text-[9px] text-slate-700 italic",children:"inferred"})]}),t.length>0&&(0,a.jsx)("div",{className:"flex flex-col gap-1",children:t.map((e,t)=>(0,a.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,a.jsx)("span",{className:"text-[9px] font-semibold text-slate-500 uppercase tracking-wide",children:e.label}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.controls.map((e,t)=>(0,a.jsx)(tp,{item:e},t))})]},t))}),e.controls.length>0&&(0,a.jsx)("button",{onClick:()=>r(e=>!e),className:"text-[9px] text-slate-600 hover:text-slate-400 text-left transition-colors",children:s?"▲ hide controls":`▼ ${e.controls.length} control${1!==e.controls.length?"s":""}`}),s&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 pl-1",children:e.controls.map((e,t)=>(0,a.jsx)(tp,{item:e},t))})]})}function tu({sc:e}){let t=e.hookCounts,s=[t.useState>0&&`useState\xd7${t.useState}`,t.useReducer>0&&`useReducer\xd7${t.useReducer}`,t.useEffect>0&&`useEffect\xd7${t.useEffect}`,t.useMemo>0&&`useMemo\xd7${t.useMemo}`,t.useCallback>0&&`useCallback\xd7${t.useCallback}`,t.useRef>0&&`useRef\xd7${t.useRef}`].filter(Boolean);return 0===s.length&&0===e.complexityNotes.length?null:(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[s.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:s.map(e=>(0,a.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(168,85,247,0.1)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.2)"},children:e},e))}),e.complexityNotes.map((e,t)=>(0,a.jsx)("p",{className:"text-[9px] text-amber-500/70 italic",children:e},t))]})}function tb({churn:e,count90d:t,count180d:s,subjects:l}){return void 0===e&&void 0===t?null:(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[void 0!==t&&(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-400",children:[(0,a.jsx)("span",{className:"text-slate-600",children:"90d:"})," ",t," commits"]}),void 0!==s&&s!==t&&(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-500",children:[(0,a.jsx)("span",{className:"text-slate-600",children:"180d:"})," ",s]}),void 0!==e&&void 0===t&&(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-400",children:[e," commits (90d)"]})]}),l&&l.length>0&&(0,a.jsx)("div",{className:"flex flex-col gap-0.5",children:l.slice(0,3).map((e,t)=>(0,a.jsxs)("p",{className:"text-[9px] text-slate-600 font-mono truncate",children:["\xb7 ",e]},t))})]})}function tf({files:e,onSelect:t}){let s=e.find(e=>"page"===e.nextFileKind)??e.find(e=>"layout"===e.nextFileKind)??e[0];if(!s)return null;let l=e.map(e=>e.screenInfo).filter(e=>null!==e),r=s.screenInfo??l[0]??null,n=e.map(e=>e.controlInventory).filter(e=>null!==e),o=s.controlInventory??n[0]??null,i=s.stateComplexity??null,c=e.reduce((e,t)=>e+(t.churn??0),0),d=s.commitStats;return null!==r||null!==o||null!==i||c>0?(0,a.jsxs)("div",{className:"flex flex-col gap-3 px-3 py-2.5 border-t text-[10px]",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.5)"},children:[s.isApiRoute&&(0,a.jsxs)("div",{className:"flex items-center gap-1",children:[(0,a.jsx)("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",border:"1px solid rgba(34,197,94,0.3)"},children:"API route"}),s.routePath&&(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:s.routePath})]}),null!==r&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Screen"}),(0,a.jsx)(th,{si:r})]}),null!==o&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Controls"}),(0,a.jsx)(tm,{inv:o})]}),null!==i&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"State"}),(0,a.jsx)(tu,{sc:i})]}),(c>0||d)&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600",children:"Churn"}),(0,a.jsx)(tb,{churn:c||void 0,count90d:d?.count_90d,count180d:d?.count_180d,subjects:d?.subjects_180d})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1 pt-0.5",children:e.map(e=>(0,a.jsx)("button",{onClick:()=>t(e),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:e.path.split("/").pop()},e.id))})]}):null}function tg({node:e,depth:t,onSelect:s,onDrillZone:r}){let[n,o]=(0,l.useState)(!1),i=(0,p.XK)(e.maxHeat),c=e.segment.startsWith("(")?e.segment:`/${e.segment}`,d=[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),x=function(e){let t=e.filter(e=>null!==e.coverage),s=null,a=null;if(t.length>0){let e=t.reduce((e,t)=>e+((0,p.TR)(t.coverage)??0),0)/t.length,l=(0,p.NU)(e);s=`🧪 ${e.toFixed(0)}%`,a=p.Vt[l]}let l=new Set;for(let t of e)for(let e of t.screenInfo?.dataSources??[])l.add(e);let r=e.reduce((e,t)=>e+t.metrics.loc,0);return{covLabel:s,covColor:a,dataSources:Array.from(l).slice(0,3),loc:r}}(d),h=d.some(e=>null!==e.screenInfo||null!==e.controlInventory||null!==e.stateComplexity||(e.churn??0)>0);return(0,a.jsxs)("div",{className:"rounded border flex flex-col",style:{borderColor:n?`${i}55`:`${i}33`,background:`rgba(8,15,30,${.7-.05*t})`,marginLeft:12*(t>0)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b",style:{borderColor:`${i}22`,background:`${i}08`},children:[(0,a.jsx)("span",{className:"text-[9px] font-mono font-bold px-1 py-0.5 rounded",style:{background:`${i}22`,color:i},children:e.maxHeat.toFixed(0)}),(0,a.jsxs)("button",{onClick:()=>h&&o(e=>!e),className:"text-xs font-mono text-slate-300 font-medium flex items-center gap-1 hover:text-slate-100 transition-colors",style:{cursor:h?"pointer":"default"},title:h?n?"Hide screen interior":"Show screen interior":void 0,children:[c,h&&(0,a.jsx)("span",{className:"text-[9px] text-slate-600",children:n?"▲":"▼"})]}),r&&0===t&&(0,a.jsx)("button",{onClick:()=>r(e),className:"text-[9px] px-1.5 py-0.5 rounded transition-all",style:{background:"rgba(59,130,246,0.1)",color:"rgb(96,165,250)",border:"1px solid rgba(59,130,246,0.2)"},title:"Drill into this zone (L4)",children:"Focus ▶"}),x.covLabel&&(0,a.jsx)("span",{className:"text-[9px] font-mono ml-0.5",style:{color:x.covColor??void 0},children:x.covLabel}),x.dataSources.map(e=>(0,a.jsx)(tx,{s:e},e)),x.loc>0&&(0,a.jsxs)("span",{className:"text-[9px] font-mono text-slate-700 ml-auto",children:[x.loc,"L"]}),e.layoutFile&&(0,a.jsx)("button",{onClick:()=>s(e.layoutFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded ml-1 hover:opacity-80 transition-opacity",style:{background:"rgba(168,85,247,0.15)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.3)"},children:"layout"}),e.pageFile&&(0,a.jsx)("button",{onClick:()=>s(e.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"}),e.otherFiles.slice(0,3).map(e=>(0,a.jsx)("button",{onClick:()=>s(e),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80 transition-opacity",style:{background:"rgba(30,41,59,0.5)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.3)"},children:e.path.split("/").pop()},e.id)),e.otherFiles.length>3&&(0,a.jsxs)("span",{className:"text-[9px] text-slate-600 font-mono",children:["+",e.otherFiles.length-3]})]}),n&&d.length>0&&(0,a.jsx)(tf,{files:d,onSelect:s}),e.children.length>0&&(0,a.jsx)("div",{className:"flex flex-col gap-1.5 p-1.5",children:e.children.sort((e,t)=>t.maxHeat-e.maxHeat).map(e=>(0,a.jsx)(tg,{node:e,depth:t+1,onSelect:s,onDrillZone:r},e.fullPath))})]})}function ty({crumbs:e,onNavigate:t}){return(0,a.jsx)("div",{className:"flex items-center gap-1 flex-wrap text-[10px] font-mono px-4 py-1.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.5)"},children:e.map((s,l)=>(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[l>0&&(0,a.jsx)("span",{className:"text-slate-700",children:"▸"}),l<e.length-1?(0,a.jsx)("button",{onClick:()=>t(l),className:"text-blue-400 hover:text-blue-300 transition-colors",children:s.label}):(0,a.jsx)("span",{className:"text-slate-300 font-semibold",children:s.label})]},l))})}function tj({allFiles:e,onSelectControl:t}){let s=(0,l.useMemo)(()=>{let t=[];for(let s of e)for(let e of s.controlInventory?.controls??[])t.push({...e,filePath:s.path});return t},[e]);return s.length?(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("span",{className:"text-[9px] uppercase tracking-widest font-semibold text-slate-600 px-3 pt-2",children:["Controls (",s.length,")"]}),(0,a.jsx)("div",{className:"flex flex-col divide-y",style:{borderColor:"rgba(51,65,85,0.2)"},children:s.map((e,s)=>(0,a.jsxs)("button",{onClick:()=>t(e),className:"flex items-center gap-2 px-3 py-1.5 text-left hover:bg-slate-800/40 transition-colors",children:[(0,a.jsx)("span",{className:"text-[12px]",children:td[e.kind]??"⬜"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("span",{className:"text-[11px] text-slate-200 font-medium truncate block",children:e.semanticRole||e.kind}),(0,a.jsx)("span",{className:"text-[10px] font-mono text-slate-600 truncate block",children:e.filePath.split("/").pop()})]}),e.count>1&&(0,a.jsxs)("span",{className:"text-[10px] text-slate-600 shrink-0",children:["\xd7",e.count]}),"inferred"===e.confidence&&(0,a.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded shrink-0",style:{background:"rgba(251,191,36,0.1)",color:"rgb(253,224,71)",border:"1px solid rgba(251,191,36,0.2)"},title:"Inferred — not explicitly declared",children:"~inferred"}),(0,a.jsx)("span",{className:"text-slate-600 text-[10px]",children:"›"})]},s))})]}):(0,a.jsx)("p",{className:"text-[11px] text-slate-600 italic px-3 py-2",children:"No controls detected in this zone."})}function tv({control:e,onBack:t}){let s=td[e.kind]??"⬜";return(0,a.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("span",{className:"text-2xl",children:s}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-sm font-semibold text-slate-200",children:e.semanticRole||e.kind}),(0,a.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(99,102,241,0.12)",color:"rgb(165,180,252)",border:"1px solid rgba(99,102,241,0.2)"},children:e.kind})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,a.jsxs)("div",{className:"rounded-lg px-3 py-2 flex flex-col gap-0.5",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600",children:"Count"}),(0,a.jsx)("span",{className:"text-lg font-mono font-semibold text-slate-200",children:e.count})]}),(0,a.jsxs)("div",{className:"rounded-lg px-3 py-2 flex flex-col gap-0.5",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.3)"},children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600",children:"Confidence"}),(0,a.jsx)("span",{className:"text-sm font-semibold",style:{color:"certain"===e.confidence?"rgb(52,211,153)":"rgb(253,224,71)"},children:"certain"===e.confidence?"✓ Certain":"~ Inferred"})]})]}),"inferred"===e.confidence&&(0,a.jsxs)("div",{className:"rounded-lg px-3 py-2 text-[11px] text-slate-400",style:{background:"rgba(251,191,36,0.06)",border:"1px solid rgba(251,191,36,0.15)"},children:[(0,a.jsx)("span",{className:"font-semibold text-yellow-400",children:"~ Inferred"})," — this control was not explicitly declared in the component props or JSX; it was inferred from patterns like handler names, hook usage, or context. Verify in the source."]}),e.hint&&(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Hint"}),(0,a.jsx)("p",{className:"text-[11px] text-slate-400",children:e.hint})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold",children:"Source file"}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-blue-400",children:e.filePath})]}),(0,a.jsx)("button",{onClick:t,className:"text-[11px] px-3 py-1.5 rounded-lg self-start transition-all",style:{background:"rgba(30,41,59,0.6)",color:"rgb(100,116,139)",border:"1px solid rgba(51,65,85,0.4)"},children:"← Back to controls"})]})}function tN({zone:e,onSelect:t,onSelectControl:s}){let r=(0,l.useMemo)(()=>{let t=e=>[...[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),...e.children.flatMap(t)];return t(e)},[e]),n=(0,l.useMemo)(()=>e.children.length>0?e.children:[e],[e]);return(0,a.jsxs)("div",{className:"flex flex-col gap-0 overflow-y-auto h-full",children:[(0,a.jsxs)("div",{className:"px-4 py-2.5 border-b flex items-center gap-2 flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(5,10,20,0.6)"},children:[(0,a.jsx)("span",{className:"text-[10px] font-mono font-bold px-1.5 py-0.5 rounded",style:{background:`${(0,p.XK)(e.maxHeat)}22`,color:(0,p.XK)(e.maxHeat)},children:e.maxHeat.toFixed(0)}),(0,a.jsxs)("span",{className:"text-sm font-mono text-slate-300 font-medium",children:["/",e.segment]}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-600",children:[r.length," files"]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 p-3 flex-shrink-0",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600 font-semibold",children:"Screens"}),n.map(e=>{let s=[e.layoutFile,e.pageFile,...e.otherFiles].filter(e=>null!==e),l=e.segment.startsWith("(")?e.segment:`/${e.segment}`;return(0,a.jsxs)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:`${(0,p.XK)(e.maxHeat)}33`,background:"rgba(8,15,30,0.6)"},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b",style:{borderColor:`${(0,p.XK)(e.maxHeat)}22`},children:[(0,a.jsx)("span",{className:"text-[9px] font-mono font-bold px-1 py-0.5 rounded",style:{background:`${(0,p.XK)(e.maxHeat)}22`,color:(0,p.XK)(e.maxHeat)},children:e.maxHeat.toFixed(0)}),(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-300",children:l}),e.pageFile&&(0,a.jsx)("button",{onClick:()=>t(e.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded ml-auto hover:opacity-80",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"})]}),s.length>0&&(0,a.jsx)(tf,{files:s,onSelect:t})]},e.fullPath)})]}),(0,a.jsx)("div",{className:"border-t flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:(0,a.jsx)(tj,{allFiles:r,onSelectControl:s})})]})}function tk({files:e,selected:t,colorMode:s,onSelect:r}){let n=(0,l.useMemo)(()=>(function(e){let t={segment:"(root)",fullPath:"",layoutFile:null,pageFile:null,otherFiles:[],children:[],maxHeat:0};for(let s of e.filter(e=>{var t;return(t=e.path).startsWith("app/")||t.startsWith("src/app/")})){let e=function e(t,s){if(0===t.length)return s;let[a,...l]=t,r=s.children.find(e=>e.segment===a);if(!r){let e=s.fullPath?`${s.fullPath}/${a}`:a;r={segment:a,fullPath:e,layoutFile:null,pageFile:null,otherFiles:[],children:[],maxHeat:0},s.children.push(r)}return e(l,r)}(function(e){let t=e.replace(/^app\//,"").split("/");return t.pop(),t}(s.path),t),a=s.path.split("/").pop()??"";"layout.tsx"===a||"layout.ts"===a?e.layoutFile=s:"page.tsx"===a||"page.ts"===a?e.pageFile=s:e.otherFiles.push(s);let l=s.metrics.heatScore;l>e.maxHeat&&(e.maxHeat=l)}return!function e(t){let s=t.children.reduce((t,s)=>Math.max(t,e(s)),0);return t.maxHeat=Math.max(t.maxHeat,s),t.maxHeat}(t),t})(e),[e]),o=n.layoutFile||n.pageFile||n.children.length>0,[i,c]=(0,l.useState)({level:"l1"});if(!o)return(0,a.jsxs)("div",{className:"h-full flex flex-col items-center justify-center gap-3 text-center px-6",children:[(0,a.jsx)("span",{className:"text-4xl",children:"\uD83D\uDD0C"}),(0,a.jsx)("p",{className:"text-sm text-slate-500",children:"No app/ directory files found in this blueprint."})]});let d=[{label:"App"}];return("l4"===i.level||"l6"===i.level)&&d.push({label:`/${i.zone.segment}`}),"l6"===i.level&&d.push({label:i.control.semanticRole||i.control.kind}),(0,a.jsxs)("div",{className:"h-full flex flex-col overflow-hidden",children:[(0,a.jsx)(ty,{crumbs:d,onNavigate:function(e){0===e?c({level:"l1"}):1===e&&("l4"===i.level||"l6"===i.level)&&c({level:"l4",zone:i.zone})}}),"l1"===i.level&&(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[(0,a.jsx)("p",{className:"text-[10px] uppercase tracking-widest text-slate-600 font-semibold mb-3",children:"Next.js Layout Hierarchy — click a zone to drill into L4 ▶"}),(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(n.layoutFile||n.pageFile)&&(0,a.jsxs)("div",{className:"rounded border p-2 flex items-center gap-2 mb-1",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,15,30,0.6)"},children:[(0,a.jsx)("span",{className:"text-[9px] font-mono text-slate-500",children:"/"}),n.layoutFile&&(0,a.jsxs)("button",{onClick:()=>r(n.layoutFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80",style:{background:"rgba(168,85,247,0.15)",color:"rgb(216,180,254)",border:"1px solid rgba(168,85,247,0.3)"},children:["layout ",n.layoutFile.metrics.heatScore.toFixed(0)]}),n.pageFile&&(0,a.jsx)("button",{onClick:()=>r(n.pageFile),className:"text-[9px] font-mono px-1.5 py-0.5 rounded hover:opacity-80",style:{background:"rgba(59,130,246,0.15)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.3)"},children:"page"})]}),n.children.sort((e,t)=>t.maxHeat-e.maxHeat).map(e=>(0,a.jsx)(tg,{node:e,depth:0,onSelect:r,onDrillZone:e=>c({level:"l4",zone:e})},e.fullPath))]})]}),"l4"===i.level&&(0,a.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,a.jsx)(tN,{zone:i.zone,onSelect:r,onSelectControl:e=>c({level:"l6",zone:i.zone,control:e})})}),"l6"===i.level&&(0,a.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,a.jsx)(tv,{control:i.control,onBack:()=>c({level:"l4",zone:i.zone})})})]})}let tw="#0d111c",tC="#151e30",tS={form:"⬜",data:"⊞",chat:"\uD83D\uDCAC",nav:"⊹",action:"◈",dashboard:"⊟",content:"□",settings:"⚙",auth:"\uD83D\uDD12"},t$={form:{bg:"rgba(120,53,15,0.30)",border:"rgba(146,64,14,0.45)"},data:{bg:"rgba(30,58,138,0.30)",border:"rgba(37,99,235,0.35)"},chat:{bg:"rgba(6,78,59,0.30)",border:"rgba(16,185,129,0.35)"},nav:{bg:"rgba(76,29,149,0.25)",border:"rgba(109,40,217,0.35)"},action:{bg:"rgba(55,48,163,0.25)",border:"rgba(79,70,229,0.35)"},dashboard:{bg:"rgba(30,41,59,0.50)",border:"rgba(51,65,85,0.60)"},content:{bg:"rgba(30,41,59,0.35)",border:"rgba(51,65,85,0.50)"},settings:{bg:"rgba(51,65,85,0.35)",border:"rgba(71,85,105,0.50)"},auth:{bg:"rgba(127,29,29,0.25)",border:"rgba(153,27,27,0.40)"}};function tF(e){return e.screenInfo?.label??e.path.split("/").pop()?.replace(/\.(tsx?|jsx?)$/,"")??e.path}function tE(e){switch(e){case"dashboard":return"bg-blue-900/50 text-blue-300";case"admin":return"bg-violet-900/50 text-violet-300";case"chat":return"bg-green-900/50 text-green-300";case"form":case"builder":return"bg-amber-900/50 text-amber-300";case"settings":return"bg-slate-700/50 text-slate-300";case"auth":case"recovery":return"bg-red-900/40 text-red-300";default:return"bg-slate-800/50 text-slate-400"}}function tA({zones:e,selected:t,colorMode:s,onSelect:r}){let[n,o]=(0,l.useState)(()=>Object.fromEntries(e.map(e=>[e.key,!0]))),[i,c]=(0,l.useState)(""),d=(0,l.useMemo)(()=>{if(!i.trim())return e;let t=i.trim().toLowerCase();return e.map(e=>({...e,screens:e.screens.filter(e=>tF(e).toLowerCase().includes(t)||e.path.toLowerCase().includes(t))})).filter(e=>e.screens.length>0)},[e,i]),x=(0,l.useMemo)(()=>d.flatMap(e=>!1!==n[e.key]?e.screens:[]),[d,n]),[h,m]=(0,l.useState)(-1),u=(0,l.useRef)(null),b=(0,l.useRef)(null);return(0,l.useEffect)(()=>{h>=x.length&&m(x.length-1)},[x.length,h]),(0,l.useEffect)(()=>{!(h<0)&&b.current&&b.current.querySelector(`[data-kbd-index="${h}"]`)?.scrollIntoView({block:"nearest"})},[h]),(0,l.useEffect)(()=>{function e(e){let t=e.target,s=t instanceof HTMLElement&&("INPUT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable);if("/"===e.key&&!s){e.preventDefault(),u.current?.focus(),u.current?.select();return}if("Escape"===e.key&&s&&t===u.current)return void t.blur();if(!s&&0!==x.length){if("ArrowDown"===e.key||"j"===e.key)e.preventDefault(),m(e=>e<x.length-1?e+1:0);else if("ArrowUp"===e.key||"k"===e.key)e.preventDefault(),m(e=>e>0?e-1:x.length-1);else if("Enter"===e.key&&h>=0){e.preventDefault();let t=x[h];t&&r(t)}}}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[x,h,r]),(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0",style:{background:"#080d18",borderRight:`1.5px solid ${tC}`},children:[(0,a.jsxs)("div",{className:"shrink-0 px-3 pt-3 pb-2",children:[(0,a.jsx)("div",{className:"text-[10px] font-mono font-semibold text-slate-500 uppercase tracking-wide mb-2",children:"⊙ Flow — App Screens"}),(0,a.jsx)("input",{ref:u,value:i,onChange:e=>c(e.target.value),placeholder:"Find screen… ( / )",className:"bx-transition bx-focusable w-full bg-slate-900/60 border border-slate-700/60 rounded px-2 py-1 text-[11px] text-slate-300 placeholder-slate-600 focus:outline-none focus:border-blue-600/50"})]}),(0,a.jsxs)("div",{ref:b,className:"flex-1 overflow-y-auto px-2 pb-3 space-y-0.5",children:[d.map(e=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("button",{onClick:()=>o(t=>({...t,[e.key]:!t[e.key]})),className:"w-full flex items-center gap-1.5 px-2 py-1 rounded hover:bg-slate-800/30 transition-colors",children:[(0,a.jsx)("span",{className:"text-[11px]",children:e.icon}),(0,a.jsx)("span",{className:"text-[10px] font-mono font-semibold",style:{color:e.color},children:e.label}),(0,a.jsxs)("span",{className:"text-[9px] text-slate-600 ml-0.5",children:["(",e.screens.length,")"]}),(0,a.jsx)("span",{className:"ml-auto text-slate-700 text-[9px]",children:!1!==n[e.key]?"▾":"▸"})]}),!1!==n[e.key]&&(0,a.jsx)("div",{className:"space-y-px ml-1.5 mb-1",children:e.screens.map(e=>{let l=tF(e),n=t?.id===e.id,o=e.screenInfo?.screenKind,i=(0,p.Rl)(e.coverage),c=(0,p.NU)(i),d=x.findIndex(t=>t.id===e.id),m=d>=0&&h===d;return(0,a.jsxs)("button",{onClick:()=>r(e),"data-kbd-index":d>=0?d:void 0,"aria-current":n?"page":void 0,className:`bx-transition bx-focusable w-full text-left px-2 py-1.5 rounded ${n?"bg-blue-900/50 border border-blue-600/40":m?"bg-slate-800/40 border border-slate-600/40":"border border-transparent hover:bg-slate-800/30"}`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[o&&"page"!==o&&"unknown"!==o&&(0,a.jsx)("span",{className:`text-[7px] px-1 py-0 rounded font-mono leading-tight shrink-0 ${tE(o)}`,children:o}),(0,a.jsxs)("span",{className:`text-[11px] font-mono truncate leading-snug ${n?"text-blue-200 font-semibold":"text-slate-300"}`,children:[l.slice(0,22),l.length>22?"…":""]}),"heat"===s&&(0,a.jsx)("span",{className:"ml-auto text-[8px] font-mono text-slate-600 shrink-0",children:e.metrics.heatScore.toFixed(0)}),"coverage"===s&&null!=i&&(0,a.jsxs)("span",{className:"ml-auto text-[8px] font-mono shrink-0",style:{color:p.Vt[c]},children:[i.toFixed(0),"%"]})]}),n&&(0,a.jsx)("div",{className:"text-[9px] text-slate-600 font-mono mt-0.5 truncate",children:e.path})]},e.id)})})]},e.key)),0===d.length&&(0,a.jsx)("div",{className:"text-[11px] text-slate-600 text-center py-6",children:"No screens match"})]})]})}function tR({area:e}){let{bg:t,border:s}=t$[e.kind];return(0,a.jsxs)("div",{className:"rounded-lg p-3",style:{background:t,border:`1px solid ${s}`},children:[(0,a.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5",children:[(0,a.jsx)("span",{className:"text-[13px]","aria-hidden":!0,children:tS[e.kind]}),(0,a.jsx)("span",{className:"text-[11px] font-semibold text-slate-100",children:e.label})]}),(0,a.jsx)("p",{className:"text-[10px] text-slate-400 leading-relaxed mb-1.5",children:e.description}),e.controls.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1",children:e.controls.map(e=>(0,a.jsx)("span",{className:"text-[8px] font-mono px-1.5 py-0.5 rounded bg-slate-900/50 text-slate-400 border border-slate-700/40",children:e},e))}),e.signals.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-1",children:e.signals.map(e=>(0,a.jsx)("span",{className:"text-[8px] font-mono text-slate-600 italic",children:e},e))})]})}function tM({screen:e,allFiles:t,onSelectFile:s}){let r=e.screenInfo,n=tF(e),o=(0,l.useMemo)(()=>(function(e){let t=[],s=e.screenInfo,a=e.controlInventory,l=s?.uiPatterns??[],r=s?.eventHandlers??[],n=s?.screenKind??"page";if(("dashboard"===n||l.includes("card-grid"))&&t.push({id:"dashboard",label:"Dashboard Overview",kind:"dashboard",description:"Metric cards, KPIs, or summary panels",controls:a?[`${a.actionCount} actions`]:[],signals:["metrics","summary"]}),"chat"===n||l.includes("chat")){let e=a?.controls.filter(e=>/composer|message|send/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"chat",label:"Message / Chat",kind:"chat",description:"Messaging interface with message feed and composer",controls:e.slice(0,3),signals:["send message","chat feed"]})}if(l.includes("form")||"form"===n||a&&!a.isInferred&&a.hasForm&&a.formFieldCount>0){let e=a?.controls.filter(e=>["input","select","textarea","checkbox"].includes(e.kind)).map(e=>`${e.count>1?`${e.count}\xd7 `:""}${e.semanticRole}`)??[],s=a?.controls.filter(e=>/save|submit/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"form",label:"Form / Input",kind:"form",description:`${a?.formFieldCount??"?"} input fields for structured data entry`,controls:[...e.slice(0,3),...s.slice(0,1)],signals:["save","validate","submit"]})}if(l.includes("data-table")){let e=a?.controls.filter(e=>"search"===e.kind||/filter|search/i.test(e.semanticRole)).map(e=>e.semanticRole)??[];t.push({id:"data",label:"Data Table / List",kind:"data",description:"Structured data display with sorting and filtering",controls:e.slice(0,2),signals:["filter","sort","paginate"]})}if((l.includes("tabbed-layout")||a&&!a.isInferred&&a.hasTabs)&&t.push({id:"nav-tabs",label:"Tab Navigation",kind:"nav",description:"Tabbed sections letting users switch between views",controls:["Navigation Tabs"],signals:["navigate","switch section"]}),("recovery"===n||"auth"===n||e.path.includes("auth")||e.path.includes("login")||e.path.includes("signup"))&&t.push({id:"auth",label:"Authentication",kind:"auth",description:"Login, registration, or account recovery flow",controls:[],signals:["sign in","register","recover"]}),("settings"===n||e.path.includes("setting"))&&t.push({id:"settings",label:"Settings / Config",kind:"settings",description:"User preferences and app configuration",controls:[],signals:["configure","save settings"]}),(a?.hasSearch||r.some(e=>/search|query/i.test(e)))&&t.push({id:"search",label:"Search",kind:"action",description:"Full-text or filtered search interface",controls:["Search Input"],signals:["search","query"]}),a&&!a.isInferred&&a.controls.some(e=>/delete|remove|destruct/i.test(e.semanticRole))&&t.push({id:"destructive",label:"Destructive Actions",kind:"action",description:"Actions that permanently modify or delete data",controls:a.controls.filter(e=>/delete|remove|destruct/i.test(e.semanticRole)).map(e=>e.semanticRole).slice(0,2),signals:["delete","remove"]}),0===t.length){let s=a?.controls.filter(e=>"button"===e.kind).map(e=>e.semanticRole)??[];t.push({id:"content",label:"page"!==n&&"unknown"!==n?`${n} view`:"Content Area",kind:"content",description:e.docSummary?.slice(0,90)??"Main content area for this screen",controls:s.slice(0,3),signals:[]})}return t})(e),[e.id]),i=(0,p.Rl)(e.coverage),c=(0,p.NU)(i),d=(0,l.useMemo)(()=>{let s=e=>"page"===e.nextFileKind||"layout"===e.nextFileKind,a=new Map(t.map(e=>[e.path,e])),l=e.runtimeInternalImports.map(e=>a.get(e)).filter(e=>!!e&&s(e)),r=t.filter(t=>s(t)&&t.runtimeInternalImports.includes(e.path));return{outgoing:l.slice(0,6),incoming:r.slice(0,6)}},[e.id,t]);return(0,a.jsxs)("div",{className:"flex flex-col h-full min-h-0 overflow-y-auto",style:{background:tw},children:[(0,a.jsxs)("div",{className:"shrink-0 px-5 pt-4 pb-3 border-b",style:{borderColor:tC},children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("h2",{className:"text-[17px] font-bold text-slate-100 leading-tight",children:n}),(0,a.jsx)("div",{className:"text-[10px] text-slate-500 font-mono mt-0.5 truncate",children:e.path})]}),r?.screenKind&&"unknown"!==r.screenKind&&"page"!==r.screenKind&&(0,a.jsx)("span",{className:`text-[9px] px-2 py-0.5 rounded font-mono font-semibold shrink-0 ${tE(r.screenKind)}`,children:r.screenKind})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 mt-2 flex-wrap",children:[(0,a.jsxs)("span",{className:"text-[10px] font-mono text-slate-400",children:["\uD83D\uDD25",e.metrics.heatScore.toFixed(1)]}),null!=i&&(0,a.jsxs)("span",{className:"text-[10px] font-mono",style:{color:p.Vt[c]},children:["\uD83E\uDDEA",i.toFixed(0),"%"]}),r?.dataSources&&r.dataSources.length>0&&(0,a.jsx)("div",{className:"flex gap-1.5 flex-wrap",children:r.dataSources.slice(0,3).map(e=>(0,a.jsx)("span",{className:"text-[9px] bg-sky-900/30 text-sky-400 border border-sky-800/30 px-1.5 py-0.5 rounded",children:"supabase"===e?"\uD83D\uDDC4 supabase":"http-fetch"===e?"\uD83C\uDF10 http":"router"===e?"\uD83D\uDD00 router":`📡 ${e}`},e))})]}),r?.uiPatterns&&r.uiPatterns.length>0&&(0,a.jsx)("div",{className:"flex flex-wrap gap-1 mt-1.5",children:r.uiPatterns.map(e=>(0,a.jsx)("span",{className:"text-[9px] text-slate-500 font-mono bg-slate-800/60 px-1.5 py-0.5 rounded border border-slate-700/40",children:e},e))})]}),(0,a.jsxs)("div",{className:"shrink-0 px-5 py-4",children:[(0,a.jsx)("h3",{className:"text-[10px] font-semibold text-slate-500 uppercase tracking-wide mb-2.5",children:"What you can do here"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:o.map(e=>(0,a.jsx)(tR,{area:e},e.id))})]}),(d.incoming.length>0||d.outgoing.length>0)&&(0,a.jsxs)("div",{className:"shrink-0 px-5 pb-4 border-t",style:{borderColor:tC},children:[(0,a.jsx)("h3",{className:"text-[10px] font-semibold text-slate-500 uppercase tracking-wide mt-3 mb-2.5",children:"Navigation context"}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[d.incoming.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[9px] text-amber-500/60 font-mono mb-1.5",children:"← entered from"}),(0,a.jsx)("div",{className:"space-y-1",children:d.incoming.map(e=>(0,a.jsx)("button",{onClick:()=>s(e),className:"w-full text-left px-2 py-1 rounded border text-[10px] font-mono truncate transition-colors hover:border-amber-700/50",style:{borderColor:"rgba(180,83,9,0.25)",background:"rgba(120,53,15,0.15)",color:"#fbbf24"},children:tF(e)},e.id))})]}),d.outgoing.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[9px] text-cyan-500/60 font-mono mb-1.5",children:"→ leads to"}),(0,a.jsx)("div",{className:"space-y-1",children:d.outgoing.map(e=>(0,a.jsx)("button",{onClick:()=>s(e),className:"w-full text-left px-2 py-1 rounded border text-[10px] font-mono truncate transition-colors hover:border-cyan-700/50",style:{borderColor:"rgba(8,145,178,0.25)",background:"rgba(6,78,59,0.15)",color:"#67e8f9"},children:tF(e)},e.id))})]})]})]})]})}function tP({zones:e,totalFiles:t}){let s=e.reduce((e,t)=>e+t.screens.length,0);return(0,a.jsx)("div",{className:"flex flex-col h-full items-center justify-center p-8",style:{background:tw},children:(0,a.jsxs)("div",{className:"text-center max-w-xs",children:[(0,a.jsx)("div",{className:"text-[40px] mb-3 opacity-20",children:"⊙"}),(0,a.jsx)("div",{className:"text-[14px] font-semibold text-slate-300 mb-1.5",children:"App Navigation Map"}),(0,a.jsx)("div",{className:"text-[11px] text-slate-500 leading-relaxed mb-4",children:"Select a screen on the left to explore its feature areas and navigation paths."}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2 justify-center",children:e.map(e=>(0,a.jsxs)("div",{className:"text-[10px] font-mono px-2 py-1 rounded border border-slate-700/50",style:{color:e.color,background:`${e.color}12`},children:[e.icon," ",e.screens.length," ",e.label]},e.key))}),(0,a.jsxs)("div",{className:"text-[10px] text-slate-600 mt-3",children:[s," screens / ",t," total files"]})]})})}function t_({files:e,selected:t,colorMode:s="neutral",onSelect:r}){let n=(0,l.useMemo)(()=>(function(e){let t=e.filter(e=>"page"===e.nextFileKind||"layout"===e.nextFileKind),s=[],a=[],l=[],r=[];for(let e of t){let t=e.path;t.startsWith("app/api/")||t.startsWith("src/app/api/")?r.push(e):t.startsWith("app/")||t.startsWith("src/app/")?s.push(e):t.startsWith("components/admin/")?a.push(e):l.push(e)}let n=[];return s.length&&n.push({key:"pages",label:"Pages",icon:"\uD83D\uDCC4",color:"#3b82f6",screens:s}),a.length&&n.push({key:"admin",label:"Admin",icon:"\uD83D\uDD12",color:"#f97316",screens:a}),l.length&&n.push({key:"ui",label:"UI Screens",icon:"⚛",color:"#8b5cf6",screens:l}),r.length&&n.push({key:"api",label:"API Routes",icon:"\uD83D\uDD0C",color:"#64748b",screens:r}),n})(e),[e]),[o,i]=(0,l.useState)(null),c=o??(t&&("page"===t.nextFileKind||"layout"===t.nextFileKind)?t:null);function d(e){i(e),r(e)}return(0,a.jsxs)("div",{className:"flex h-full min-h-0",children:[(0,a.jsx)("div",{className:"w-[240px] shrink-0 overflow-hidden",children:(0,a.jsx)(tA,{zones:n,selected:c,colorMode:s,onSelect:d})}),(0,a.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:c?(0,a.jsx)("div",{className:"bx-fade-in h-full",children:(0,a.jsx)(tM,{screen:c,allFiles:e,onSelectFile:d})},c.id):(0,a.jsx)(tP,{zones:n,totalFiles:e.length})})]})}let tI={fail:3,warn:2,info:1};function tT(e,t){return!t||(e.startsWith("src/")?e.slice(4):e).startsWith(t)||e.startsWith(t)}function tD(e,t,s){let a=s.length,l=0===t?100:Math.round((t-a)/t*100);return{rule:e,passing:0===a,checked:t,violationCount:a,compliancePct:l,violations:s.slice(0,50),truncated:a>50}}let tL={"max-file-loc":"Max file size (LOC)","no-cycles":"No import cycles","layer-boundary":"Layer boundary","min-coverage":"Min test coverage","max-heat":"Max heat score","max-fan-in":"Max fan-in (importers)","require-jsdoc":"Require doc block"},tO=Object.keys(tL);function tz({label:e,value:t,onChange:s,min:l=0}){return(0,a.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-500",children:e}),(0,a.jsx)("input",{type:"number",value:t,min:l,onChange:e=>s(Math.max(l,Number(e.target.value))),className:"w-20 bg-slate-900 border border-slate-700/60 rounded px-2 py-1 text-xs font-mono text-slate-200 outline-none focus:border-blue-500/50"})]})}function tB({label:e,value:t,placeholder:s,onChange:l}){return(0,a.jsxs)("label",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-slate-500 flex-shrink-0",children:e}),(0,a.jsx)("input",{type:"text",value:t,placeholder:s,onChange:e=>l(e.target.value),className:"w-32 bg-slate-900 border border-slate-700/60 rounded px-2 py-1 text-xs font-mono text-slate-200 placeholder:text-slate-600 outline-none focus:border-blue-500/50"})]})}function tK({value:e,onChange:t}){return(0,a.jsxs)("select",{value:e,onChange:e=>t(e.target.value),className:"bg-slate-900 border border-slate-700/60 rounded px-1.5 py-0.5 text-[10px] text-slate-300 outline-none focus:border-blue-500/50",children:[(0,a.jsx)("option",{value:"info",children:"info"}),(0,a.jsx)("option",{value:"warn",children:"warn"}),(0,a.jsx)("option",{value:"fail",children:"fail"})]})}function tH({rule:e,onPatch:t,onRemove:s}){return(0,a.jsxs)("div",{className:"rounded-lg p-2.5 space-y-2",style:{background:e.enabled?"rgba(15,23,42,0.6)":"rgba(15,23,42,0.3)",border:"1px solid rgba(51,65,85,0.4)",opacity:e.enabled?1:.6},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{type:"checkbox",checked:e.enabled,onChange:e=>t({enabled:e.target.checked}),className:"accent-blue-500 flex-shrink-0","aria-label":"Enable rule"}),(0,a.jsx)("input",{type:"text",value:e.name,onChange:e=>t({name:e.target.value}),className:"flex-1 min-w-0 bg-transparent border-0 border-b border-transparent hover:border-slate-700 focus:border-blue-500/50 text-xs text-slate-200 font-medium outline-none px-0.5"}),(0,a.jsx)(tK,{value:e.severity,onChange:e=>t({severity:e})}),(0,a.jsx)("button",{onClick:s,className:"text-slate-600 hover:text-red-400 text-sm flex-shrink-0 transition-colors","aria-label":"Remove rule",children:"✕"})]}),(0,a.jsx)("p",{className:"text-[9px] uppercase tracking-wide text-slate-600 font-semibold",children:tL[e.kind]}),(0,a.jsxs)("div",{className:"space-y-1.5",children:["max-file-loc"===e.kind&&(0,a.jsx)(tz,{label:"Max LOC",value:e.maxLoc??400,min:1,onChange:e=>t({maxLoc:e})}),"max-heat"===e.kind&&(0,a.jsx)(tz,{label:"Max heat",value:e.maxHeat??90,min:1,onChange:e=>t({maxHeat:e})}),"max-fan-in"===e.kind&&(0,a.jsx)(tz,{label:"Max importers",value:e.maxDependents??25,min:1,onChange:e=>t({maxDependents:e})}),"min-coverage"===e.kind&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tz,{label:"Min coverage %",value:e.minCoveragePct??70,onChange:e=>t({minCoveragePct:e})}),(0,a.jsx)(tB,{label:"Path prefix",value:e.pathPrefix??"",placeholder:"lib/ (blank = repo)",onChange:e=>t({pathPrefix:e})})]}),("no-cycles"===e.kind||"require-jsdoc"===e.kind)&&(0,a.jsx)(tB,{label:"Path prefix",value:e.pathPrefix??"",placeholder:"lib/ (blank = repo)",onChange:e=>t({pathPrefix:e})}),"layer-boundary"===e.kind&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(tB,{label:"From prefix",value:e.fromPrefix??"",placeholder:"lib/",onChange:e=>t({fromPrefix:e})}),(0,a.jsx)(tB,{label:"May not import",value:e.toPrefix??"",placeholder:"components/",onChange:e=>t({toPrefix:e})})]})]}),(0,a.jsx)("p",{className:"text-[10px] text-slate-600 italic leading-snug",children:(0,x.IO)(e)})]})}function tU({rules:e,saving:t,onChange:s,onSave:r,onClose:n}){let[o,i]=(0,l.useState)("max-file-loc"),[c,d]=(0,l.useState)("idle"),p=(0,l.useRef)(null);async function h(){d(await r(e)?"saved":"error")}return(0,a.jsxs)("div",{className:"w-80 flex-shrink-0 border-l flex flex-col overflow-hidden",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.85)"},children:[(0,a.jsxs)("div",{className:"flex-shrink-0 flex items-center justify-between px-3.5 py-2.5 border-b",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.95)"},children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-xs font-semibold text-slate-200",children:"Fitness Rules"}),(0,a.jsxs)("p",{className:"text-[10px] text-slate-600",children:[e.length," rules \xb7 .prism/standards.json"]})]}),(0,a.jsx)("button",{onClick:n,className:"text-slate-600 hover:text-slate-300 text-sm transition-colors","aria-label":"Close editor",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-2.5 py-2.5 space-y-2",children:[e.map(t=>(0,a.jsx)(tH,{rule:t,onPatch:a=>{var l;return l=t.id,void(s(e.map(e=>e.id===l?{...e,...a}:e)),d("idle"))},onRemove:()=>{var a;return a=t.id,void(s(e.filter(e=>e.id!==a)),d("idle"))}},t.id)),0===e.length&&(0,a.jsx)("p",{className:"text-[10px] text-slate-600 text-center py-6",children:"No rules. Add one below to start governing this codebase."})]}),(0,a.jsxs)("div",{className:"flex-shrink-0 px-2.5 py-2 border-t flex items-center gap-1.5",style:{borderColor:"rgba(51,65,85,0.4)"},children:[(0,a.jsx)("select",{value:o,onChange:e=>i(e.target.value),className:"flex-1 min-w-0 bg-slate-900 border border-slate-700/60 rounded px-1.5 py-1 text-[10px] text-slate-300 outline-none focus:border-blue-500/50",children:tO.map(e=>(0,a.jsx)("option",{value:e,children:tL[e]},e))}),(0,a.jsx)("button",{onClick:function(){s([...e,function(e){let t={id:`${e}-${Date.now().toString(36)}`,enabled:!0,severity:"warn",kind:e};switch(e){case"max-file-loc":return{...t,name:"Max file size",maxLoc:400};case"max-heat":return{...t,name:"Max heat score",maxHeat:90};case"max-fan-in":return{...t,name:"Max fan-in",maxDependents:25};case"min-coverage":return{...t,name:"Min coverage",minCoveragePct:70,pathPrefix:""};case"no-cycles":return{...t,name:"No import cycles",severity:"fail",pathPrefix:""};case"require-jsdoc":return{...t,name:"Require doc block",pathPrefix:""};case"layer-boundary":return{...t,name:"Layer boundary",severity:"fail",fromPrefix:"lib/",toPrefix:"components/"}}}(o)]),d("idle")},className:"text-[10px] px-2 py-1 rounded border flex-shrink-0",style:{background:"rgba(59,130,246,0.18)",color:"rgb(147,197,253)",borderColor:"rgba(59,130,246,0.4)"},children:"+ Add"})]}),(0,a.jsxs)("div",{className:"flex-shrink-0 px-2.5 py-2 border-t flex items-center gap-1.5",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(8,12,24,0.95)"},children:[(0,a.jsx)("button",{onClick:h,disabled:t,className:"flex-1 text-[11px] px-2 py-1.5 rounded font-medium transition-colors disabled:opacity-50",style:{background:"saved"===c?"rgba(52,211,153,0.18)":"error"===c?"rgba(248,113,113,0.18)":"rgba(59,130,246,0.22)",color:"saved"===c?"rgb(52,211,153)":"error"===c?"rgb(248,113,113)":"rgb(147,197,253)"},children:t?"Saving…":"saved"===c?"✓ Saved":"error"===c?"Save failed":"Save rules"}),(0,a.jsx)("button",{onClick:function(){window.confirm("Replace all rules with the default starter policy?")&&(s(x.t6.map(e=>({...e}))),d("idle"))},title:"Reset to default policy",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↺"}),(0,a.jsx)("button",{onClick:function(){let t=new Blob([JSON.stringify({rules:e},null,2)],{type:"application/json"}),s=URL.createObjectURL(t),a=document.createElement("a");a.href=s,a.download="fitness-rules.json",a.click(),URL.revokeObjectURL(s)},title:"Export rules JSON",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↓"}),(0,a.jsx)("button",{onClick:()=>p.current?.click(),title:"Import rules JSON",className:"text-[10px] px-2 py-1.5 rounded border text-slate-400 hover:text-slate-200 transition-colors",style:{borderColor:"rgba(51,65,85,0.5)"},children:"↑"}),(0,a.jsx)("input",{ref:p,type:"file",accept:"application/json",onChange:function(e){let t=e.target.files?.[0];if(!t)return;let a=new FileReader;a.onload=e=>{try{let t=JSON.parse(e.target?.result),a=(0,x.vw)(Array.isArray(t)?t:t.rules);a.length>0&&(s(a),d("idle"))}catch{d("error")}},a.readAsText(t),e.target.value=""},className:"hidden"})]})]})}let tW={fail:{label:"fail",color:"rgb(248,113,113)",bg:"rgba(248,113,113,0.12)"},warn:{label:"warn",color:"rgb(251,191,36)",bg:"rgba(251,191,36,0.12)"},info:{label:"info",color:"rgb(96,165,250)",bg:"rgba(96,165,250,0.12)"}};function tq(e){return e>=90?"rgb(52,211,153)":e>=70?"rgb(251,191,36)":"rgb(248,113,113)"}function tJ({pct:e,passing:t,total:s,hasFailingViolation:l}){let r=tq(e),n=2*Math.PI*34,o=e/100*n;return(0,a.jsxs)("div",{className:"flex items-center gap-5 rounded-xl px-5 py-4",style:{background:"rgba(15,23,42,0.6)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsxs)("div",{className:"relative flex-shrink-0",style:{width:84,height:84},children:[(0,a.jsxs)("svg",{width:84,height:84,className:"-rotate-90",children:[(0,a.jsx)("circle",{cx:42,cy:42,r:34,fill:"none",stroke:"rgba(51,65,85,0.5)",strokeWidth:7}),(0,a.jsx)("circle",{cx:42,cy:42,r:34,fill:"none",stroke:r,strokeWidth:7,strokeLinecap:"round",strokeDasharray:`${o} ${n}`,style:{transition:"stroke-dasharray 400ms ease"}})]}),(0,a.jsx)("div",{className:"absolute inset-0 flex flex-col items-center justify-center",children:(0,a.jsxs)("span",{className:"text-xl font-bold font-mono",style:{color:r},children:[e,"%"]})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-slate-200",children:"Architecture Compliance"}),l&&(0,a.jsx)("span",{className:"text-[10px] font-semibold px-1.5 py-0.5 rounded",style:{color:"rgb(248,113,113)",background:"rgba(248,113,113,0.12)"},children:"⚠ failing"})]}),(0,a.jsxs)("p",{className:"text-xs text-slate-500",children:[(0,a.jsx)("span",{className:"font-mono text-slate-300",children:t})," of"," ",(0,a.jsx)("span",{className:"font-mono text-slate-300",children:s})," rules passing — computed live from the codebase, severity-weighted."]}),(0,a.jsx)("p",{className:"text-[10px] text-slate-600 leading-relaxed",children:"Governance-as-code: every rule is proven against real blueprint data on every scan — no surveys, no manual attestation."})]})]})}function tV({result:e,expanded:t,onToggle:s,onSelectFile:l}){let{rule:r,passing:n,compliancePct:o,violationCount:i,checked:c,violations:d,truncated:p}=e,h=tW[r.severity],m=tq(o);return(0,a.jsxs)("div",{className:"rounded-lg overflow-hidden",style:{background:"rgba(15,23,42,0.5)",border:`1px solid ${n?"rgba(51,65,85,0.4)":h.color+"55"}`},children:[(0,a.jsxs)("button",{onClick:s,disabled:n,className:"w-full flex items-center gap-3 px-3.5 py-2.5 text-left transition-colors hover:bg-slate-800/30 disabled:cursor-default disabled:hover:bg-transparent",children:[(0,a.jsx)("span",{className:"flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center text-xs font-bold",style:{background:n?"rgba(52,211,153,0.15)":h.bg,color:n?"rgb(52,211,153)":h.color},children:n?"✓":"✕"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-sm text-slate-200 font-medium truncate",children:r.name}),(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-wide font-semibold px-1.5 py-0.5 rounded flex-shrink-0",style:{color:h.color,background:h.bg},children:h.label})]}),(0,a.jsx)("p",{className:"text-[10px] text-slate-500 truncate mt-0.5",children:(0,x.IO)(r)})]}),(0,a.jsxs)("div",{className:"flex items-center gap-3 flex-shrink-0",children:[(0,a.jsxs)("div",{className:"flex flex-col items-end",children:[(0,a.jsxs)("span",{className:"text-sm font-mono font-semibold",style:{color:m},children:[o,"%"]}),(0,a.jsx)("span",{className:"text-[9px] text-slate-600 font-mono",children:n?`${c} checked`:`${i}/${c} violating`})]}),!n&&(0,a.jsx)("span",{className:"text-slate-600 text-xs",children:t?"▾":"▸"})]})]}),(0,a.jsx)("div",{className:"h-1 w-full",style:{background:"rgba(51,65,85,0.4)"},children:(0,a.jsx)("div",{className:"h-full",style:{width:`${o}%`,background:m,transition:"width 400ms ease"}})}),t&&!n&&(0,a.jsxs)("div",{className:"px-3.5 py-2.5 space-y-1",style:{background:"rgba(2,6,23,0.5)",borderTop:"1px solid rgba(51,65,85,0.3)"},children:[r.description&&(0,a.jsx)("p",{className:"text-[10px] text-slate-500 italic pb-1",children:r.description}),d.map(e=>(0,a.jsxs)("button",{onClick:()=>l?.(e.path),className:"w-full flex items-center justify-between gap-3 px-2 py-1.5 rounded text-left transition-colors hover:bg-slate-800/50 group",children:[(0,a.jsx)("span",{className:"text-[11px] font-mono text-slate-400 group-hover:text-blue-300 truncate transition-colors",children:e.path}),(0,a.jsx)("span",{className:"text-[10px] font-mono flex-shrink-0",style:{color:tW[r.severity].color},children:e.detail})]},e.path)),p&&(0,a.jsxs)("p",{className:"text-[10px] text-slate-600 pt-1",children:["… and ",i-d.length," more violating files."]})]})]})}function tG({data:e,rules:t,target:s,onRulesChange:r,onSaveRules:n,saving:o,onSelectFile:i}){let[c,d]=(0,l.useState)(null),[x,h]=(0,l.useState)(!1),m=(0,l.useMemo)(()=>(function(e,t){let s=e.filter(e=>e.enabled).map(e=>(function(e,t){let s=t.files??[];switch(e.kind){case"max-file-loc":{let t=e.maxLoc??400,a=[];for(let e of s){let s=e.metrics?.loc??e.loc??0;s>t&&a.push({path:e.path,detail:`${s} LOC (limit ${t})`})}return a.sort((e,t)=>t.detail.localeCompare(e.detail)),tD(e,s.length,a)}case"max-heat":{let t=e.maxHeat??90,a=[];for(let e of s){let s=e.metrics?.heatScore??0;s>t&&a.push({path:e.path,detail:`heat ${Math.round(s)} (limit ${t})`})}return a.sort((e,t)=>t.path.localeCompare(e.path)),tD(e,s.length,a)}case"max-fan-in":{let t=e.maxDependents??25,a=[];for(let e of s){let s=e.incomingInternalDependencies?.length??e.metrics?.incomingRuntimeDeps??0;s>t&&a.push({path:e.path,detail:`${s} importers (limit ${t})`})}return tD(e,s.length,a)}case"min-coverage":{let t=e.minCoveragePct??70,a=e.pathPrefix??"",l=s.filter(e=>tT(e.path,a)),r=[],n=0;for(let e of l){let s=(0,p.TR)(e.coverage);null!=s&&(n++,s<t&&r.push({path:e.path,detail:`${Math.round(s)}% covered (min ${t}%)`}))}return tD(e,n,r)}case"no-cycles":{let a=e.pathPrefix??"",l=(t.analysis?.filesInCycles??[]).filter(e=>tT(e,a)).map(e=>{let t=s.find(t=>t.path===e),a=t?.cycleGroupId?` (cycle ${t.cycleGroupId})`:"";return{path:e,detail:`in import cycle${a}`}});return tD(e,s.filter(e=>tT(e.path,a)).length,l)}case"layer-boundary":{let t=e.fromPrefix??"",a=e.toPrefix??"",l=new Map;for(let e of s)l.set(e.path,e);let r=s.filter(e=>tT(e.path,t)),n=[];for(let e of r){let t=(e.outgoingInternalDependencies??e.internalImports??[]).filter(e=>tT(e,a));if(t.length>0){let s=t.slice(0,3).map(e=>e.split("/").pop()).join(", ");n.push({path:e.path,detail:`imports ${a} → ${s}${t.length>3?"…":""}`})}}return tD(e,r.length,n)}case"require-jsdoc":{let t=e.pathPrefix??"",a=s.filter(e=>tT(e.path,t)),l=[];for(let e of a)e.hasJsDoc||l.push({path:e.path,detail:"missing doc block"});return tD(e,a.length,l)}}})(e,t)),a=0,l=0,r=0,n=!1;for(let e of s){let t=tI[e.rule.severity];a+=t,l+=t*e.compliancePct,e.passing?r++:"fail"===e.rule.severity&&(n=!0)}let o=0===a?100:Math.round(l/a);return{results:s,evaluatedCount:s.length,passingCount:r,failingCount:s.length-r,overallCompliance:o,hasFailingViolation:n}})(t,e),[t,e]),u=(0,l.useMemo)(()=>{let e={fail:0,warn:1,info:2};return[...m.results].sort((t,s)=>t.passing!==s.passing?t.passing?1:-1:t.rule.severity!==s.rule.severity?e[t.rule.severity]-e[s.rule.severity]:t.compliancePct-s.compliancePct)},[m]);return(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden",children:[(0,a.jsx)("div",{className:"flex-1 overflow-y-auto px-5 py-5",children:(0,a.jsxs)("div",{className:"max-w-3xl mx-auto flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-base font-semibold text-slate-100",children:"Architecture Fitness Functions"}),(0,a.jsxs)("p",{className:"text-xs text-slate-500 mt-0.5",children:["Executable governance rules — compliance proven from"," ",(0,a.jsx)("span",{className:"font-mono text-slate-400",children:e.files.length})," ","scanned files."]})]}),(0,a.jsx)("button",{onClick:()=>h(e=>!e),className:"text-xs px-3 py-1.5 rounded border transition-colors flex-shrink-0",style:{background:x?"rgba(59,130,246,0.18)":"rgba(30,41,59,0.6)",color:x?"rgb(147,197,253)":"rgb(148,163,184)",borderColor:x?"rgba(59,130,246,0.4)":"rgba(51,65,85,0.5)"},children:x?"Close editor":"✎ Edit rules"})]}),(0,a.jsx)(tJ,{pct:m.overallCompliance,passing:m.passingCount,total:m.evaluatedCount,hasFailingViolation:m.hasFailingViolation}),0===m.evaluatedCount&&(0,a.jsxs)("div",{className:"rounded-xl px-5 py-8 text-center",style:{background:"rgba(15,23,42,0.5)",border:"1px solid rgba(51,65,85,0.4)"},children:[(0,a.jsx)("p",{className:"text-sm text-slate-400 font-medium",children:"No active fitness rules"}),(0,a.jsx)("p",{className:"text-xs text-slate-600 mt-1 mb-3",children:"Enable or add rules in the editor to start governing this codebase."}),(0,a.jsx)("button",{onClick:()=>h(!0),className:"text-xs px-3 py-1.5 rounded border",style:{background:"rgba(59,130,246,0.18)",color:"rgb(147,197,253)",borderColor:"rgba(59,130,246,0.4)"},children:"✎ Open rule editor"})]}),u.map(e=>(0,a.jsx)(tV,{result:e,expanded:c===e.rule.id,onToggle:()=>d(t=>t===e.rule.id?null:e.rule.id),onSelectFile:i},e.rule.id)),m.evaluatedCount>0&&(0,a.jsx)("p",{className:"text-[10px] text-slate-600 text-center pt-1",children:"Compliance is recomputed on every scan — it cannot drift from the code."})]})}),x&&(0,a.jsx)(tU,{rules:t,target:s,saving:o,onChange:r,onSave:n,onClose:()=>h(!1)})]})}let tZ=[{id:"list",label:"≡ List"},{id:"graph",label:"◈ Graph"},{id:"zones",label:"◻ Zones"},{id:"wire",label:"\uD83D\uDD8D Wire"},{id:"flow",label:"⊙ Flow"},{id:"fitness",label:"◆ Fitness"}],tQ="prism.explorer.mode";function tY(){let{data:e,setData:t,loading:s,error:c,outdated:b,setOutdated:g,target:y,isDemo:j,isProGated:v,reload:N}=(0,r.W)(),[k,w]=(0,l.useState)("blue"),[C,S]=function(){let e=(0,o.useSearchParams)(),[t,s]=(0,l.useState)(()=>d(e.get(i)));return(0,l.useRef)(t).current=t,(0,l.useEffect)(()=>{let t=d(e.get(i));s(e=>e===t?e:t)},[e]),[t,(0,l.useCallback)(e=>{s(e);let t=new URL(window.location.href);"list"===e?t.searchParams.delete(i):t.searchParams.set(i,e),window.history.replaceState(window.history.state,"",t.toString())},[])]}(),{selected:$,select:F,selectByPath:E}=(0,n.ZD)(e?.files),[A,R]=(0,l.useState)("heat"),[M,P]=(0,l.useState)(m),[_,I]=(0,l.useState)({}),[T,D]=(0,l.useState)(!1),{rules:L,setRules:O,save:z,saving:B}=function(e){let[t,s]=(0,l.useState)(x.t6),[a,r]=(0,l.useState)(!1),[n,o]=(0,l.useState)(!1),[i,c]=(0,l.useState)(null);return(0,l.useEffect)(()=>{if(!e)return;let t=!1;return r(!0),fetch(`/api/blue/standards?target=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{t||(Array.isArray(e.rules)&&s(e.rules),c(null))}).catch(e=>{t||c(e instanceof Error?e.message:"Failed to load rules")}).finally(()=>{t||r(!1)}),()=>{t=!0}},[e]),{rules:t,loading:a,error:i,setRules:(0,l.useCallback)(e=>{s(e)},[]),save:(0,l.useCallback)(async t=>{if(!e)return!1;o(!0),c(null);try{let a=await fetch(`/api/blue/standards?target=${encodeURIComponent(e)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({rules:t})});if(!a.ok)throw Error(`HTTP ${a.status}`);let l=await a.json();return Array.isArray(l.rules)&&s(l.rules),!0}catch(e){return c(e instanceof Error?e.message:"Failed to save rules"),!1}finally{o(!1)}},[e]),saving:n}}(y);function K(e){w(e);try{localStorage.setItem(tQ,e)}catch{}}function H(e){P(t=>({...t,...e}))}function U(e){e&&(t(e),g(!1))}(0,l.useEffect)(()=>{try{let e=localStorage.getItem(tQ);("blue"===e||"amber"===e||"green"===e)&&w(e)}catch{}},[]),(0,l.useEffect)(()=>{y&&!j&&fetch(`/api/blue/explorer/history?target=${encodeURIComponent(y)}`).then(e=>e.ok?e.json():null).then(e=>{e?.history&&I(e.history)}).catch(()=>{})},[y,j]);let W=(0,l.useMemo)(()=>e?["all",...Array.from(new Set(e.files.map(e=>e.category))).sort()]:[],[e]),q=(0,l.useMemo)(()=>{if(!e)return{};let t={};for(let s of e.files)t[s.category]=(t[s.category]??0)+1;return t},[e]),J=(0,l.useMemo)(()=>{var t,s,a;let l;return e?(t=e.files,s=t.filter(e=>(function(e,t){if("all"!==t.catFilter&&e.category!==t.catFilter)return!1;if(t.search.trim()){let s=t.search.toLowerCase();if(!e.path.toLowerCase().includes(s))return!1}if("all"!==t.riskFilter&&(0,h.E)(e)!==t.riskFilter)return!1;if("all"!==t.heatFilter){let s=e.metrics.heatScore;if("hot"===t.heatFilter&&s<70||"warm"===t.heatFilter&&(s<40||s>=70)||"cold"===t.heatFilter&&s>=40)return!1}if("all"!==t.covFilter){let s=(0,p.TR)(e.coverage??null);if("none"===t.covFilter&&null!==s)return!1;if("none"!==t.covFilter){if(null===s)return!1;let e=t.covFilter;if("low"===e&&s>=30||"partial"===e&&(s<30||s>=50)||"medium"===e&&(s<50||s>=70)||"good"===e&&(s<70||s>=85)||"high"===e&&s<85)return!1}}return!0})(e,M)),a=M.sortKey,l="desc"===M.sortDir?-1:1,[...s].sort((e,t)=>l*function(e,t,s){switch(s){case"heat":return e.metrics.heatScore-t.metrics.heatScore;case"loc":return e.metrics.loc-t.metrics.loc;case"name":return e.path.localeCompare(t.path);case"deps":return e.metrics.outgoingRuntimeDeps-t.metrics.outgoingRuntimeDeps;case"coverage":return((0,p.TR)(e.coverage)??-1)-((0,p.TR)(t.coverage)??-1);case"risk":return u[(0,h.E)(e)]-u[(0,h.E)(t)]}}(e,t,a))):[]},[e,M]),V="all"!==M.riskFilter||"all"!==M.heatFilter||"all"!==M.covFilter,G=V||""!==M.search.trim()||"all"!==M.catFilter,Z=function(e){let{count:t,onActivate:s,onEscape:a,enabled:r=!0}=e,[n,o]=(0,l.useState)(-1),i=(0,l.useRef)(null),c=(0,l.useRef)(null),d=(0,l.useRef)(s),x=(0,l.useRef)(a);return d.current=s,x.current=a,(0,l.useEffect)(()=>{n>=t&&o(t-1)},[t,n]),(0,l.useEffect)(()=>{if(n<0||!c.current)return;let e=c.current.querySelector(`[data-kbd-index="${n}"]`);e?.scrollIntoView({block:"nearest"})},[n]),(0,l.useEffect)(()=>{if(r)return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e);function e(e){let s=function(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t||e.isContentEditable}(e.target);if("/"===e.key&&!s&&!e.metaKey&&!e.ctrlKey){e.preventDefault(),i.current?.focus(),i.current?.select();return}if("Escape"===e.key)return s&&document.activeElement instanceof HTMLElement?void document.activeElement.blur():(x.current?.(),void o(-1));if(!s&&0!==t)switch(e.key){case"ArrowDown":case"j":e.preventDefault(),o(e=>e<t-1?e+1:0);break;case"ArrowUp":case"k":e.preventDefault(),o(e=>e>0?e-1:t-1);break;case"Home":e.preventDefault(),o(0);break;case"End":e.preventDefault(),o(t-1);break;case"Enter":n>=0&&n<t&&(e.preventDefault(),d.current(n))}}},[r,t,n]),{activeIndex:n,setActiveIndex:(0,l.useCallback)(e=>o(e),[]),searchRef:i,listRef:c}}({count:J.length,enabled:!s&&!c&&!!e&&!T&&"list"===C&&"blue"===k,onActivate:e=>{let t=J[e];t&&F($?.id===t.id?null:t)},onEscape:()=>F(null)}),Q=Z.setActiveIndex;(0,l.useEffect)(()=>{if(!$)return;let e=J.findIndex(e=>e.id===$.id);e>=0&&Q(e)},[$,J,Q]);let X=(0,a.jsxs)("main",{className:"flex flex-col h-screen min-h-0 pt-16 overflow-hidden",children:[j&&(0,a.jsx)(eT.y,{}),(0,a.jsxs)("header",{className:"flex items-center gap-3 px-4 py-2 border-b flex-shrink-0 flex-wrap",style:{borderColor:"rgba(51,65,85,0.4)",background:"rgba(15,23,42,0.5)"},children:[(0,a.jsx)("button",{onClick:function(){F(null),P(m),S("list"),D(!1)},className:"text-xs font-semibold text-blue-400 font-mono hover:text-blue-300 transition-colors",title:"Reset to overview",children:"◈ BLUE / Explorer"}),e?.configLayer?.appId&&(0,a.jsx)("span",{className:"text-[10px] font-mono px-1.5 py-0.5 rounded",style:{background:"rgba(59,130,246,0.12)",color:"rgb(147,197,253)",border:"1px solid rgba(59,130,246,0.2)"},children:e.configLayer.appId}),(0,a.jsx)("div",{className:"flex gap-0 bg-slate-900 border border-slate-700 rounded p-0.5",children:["blue","amber","green"].map(e=>(0,a.jsx)(f,{mode:e,active:k===e,onClick:()=>K(e)},e))}),"blue"===k&&(0,a.jsx)("div",{"data-testid":"cockpit-view-toggle",className:"flex gap-0.5 bg-slate-900 border border-slate-700 rounded p-0.5",children:tZ.map(e=>(0,a.jsx)("button",{"data-testid":`cockpit-view-${e.id}`,onClick:()=>S(e.id),className:"px-2.5 py-1 text-xs rounded transition-colors",style:C===e.id?{background:"rgb(37,99,235)",color:"#fff"}:{color:"rgb(148,163,184)"},children:e.label},e.id))}),(0,a.jsx)("div",{className:"flex-1"}),e&&(0,a.jsxs)("span",{className:"text-[10px] font-mono text-slate-600 flex items-center gap-1.5",children:[e.files.length,"f \xb7 ",e.summary?.edgeCount??0,"e",e.generatedAt&&(0,a.jsxs)("span",{className:"opacity-60",children:["\xb7"," ",new Date(e.generatedAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})]}),!b&&(0,a.jsx)("span",{className:"text-[9px] px-1 py-px rounded",style:{background:"rgba(34,197,94,0.12)",color:"rgb(74,222,128)",border:"1px solid rgba(34,197,94,0.2)"},children:"fresh"})]}),!j&&!v&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eI,{target:y,onComplete:U}),(0,a.jsx)(e_.v,{target:y,onComplete:U})]})]}),b&&(0,a.jsxs)("div",{className:"px-4 py-2 text-xs font-mono flex items-center gap-2 flex-shrink-0 border-b",style:{background:"rgba(120,53,15,0.2)",borderColor:"rgba(120,53,15,0.4)",color:"rgb(251,191,36)"},children:[(0,a.jsx)("span",{children:"⚠"}),(0,a.jsx)("span",{children:"Source files changed since last scan — run ↺ Rescan to update."})]}),s&&(0,a.jsx)(eO._N,{}),!s&&c&&(0,a.jsx)(ez.f,{message:c,onRetry:N}),!s&&!c&&!e&&(0,a.jsxs)("div",{className:"flex-1 flex flex-col items-center justify-center gap-4 text-center px-6",children:[(0,a.jsx)("span",{className:"text-5xl",children:"\uD83D\uDCD0"}),(0,a.jsx)("h2",{className:"text-lg font-semibold text-slate-300",children:"No blueprint yet"}),(0,a.jsxs)("p",{className:"text-sm text-slate-500 max-w-sm",children:["No blueprint generated yet. Click"," ",(0,a.jsx)("span",{className:"font-mono text-blue-400",children:"↺ Re-scan"})," above to analyse your codebase."]})]}),!s&&!c&&e&&"amber"===k&&(0,a.jsx)(Y,{filteredFiles:J,selected:$,onSelectByPath:e=>E(e),target:y}),!s&&!c&&e&&"green"===k&&(0,a.jsx)(ef,{selected:$,onSelectByPath:e=>E(e),onChangeMode:K,target:y}),!s&&!c&&e&&"blue"===k&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 px-3 py-2 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.3)",background:"rgba(10,16,30,0.5)"},children:[(0,a.jsx)("input",{ref:Z.searchRef,type:"text",value:M.search,onChange:e=>H({search:e.target.value}),placeholder:"Filter files… ( / )",className:"bx-transition bx-focusable text-xs px-2.5 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-300 placeholder:text-slate-600 outline-none focus:border-blue-500/50 w-40"}),(0,a.jsx)("div",{className:"flex gap-1 flex-wrap",children:W.map(t=>{let s=M.catFilter===t,l="all"===t?e.files.length:q[t]??0;return(0,a.jsxs)("button",{onClick:()=>H({catFilter:t}),className:"text-[10px] px-2 py-0.5 rounded-full bx-transition",style:{background:s?"rgba(59,130,246,0.18)":"rgba(30,41,59,0.5)",color:s?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${s?"rgba(59,130,246,0.35)":"rgba(51,65,85,0.3)"}`},children:["all"===t?"all":`${(0,p.eD)(t)} ${t}`,(0,a.jsx)("span",{className:"ml-1 opacity-60",children:l})]},t)})}),(0,a.jsxs)("select",{value:M.riskFilter,onChange:e=>H({riskFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==M.riskFilter?{borderColor:"rgba(239,68,68,0.4)",color:"rgb(252,165,165)"}:{},children:[(0,a.jsx)("option",{value:"all",children:"Risk: all"}),(0,a.jsx)("option",{value:"high",children:"⚠ High"}),(0,a.jsx)("option",{value:"medium",children:"~ Medium"}),(0,a.jsx)("option",{value:"low",children:"✓ Low"})]}),(0,a.jsxs)("select",{value:M.heatFilter,onChange:e=>H({heatFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==M.heatFilter?{borderColor:"rgba(251,191,36,0.4)",color:"rgb(253,224,71)"}:{},children:[(0,a.jsx)("option",{value:"all",children:"Heat: all"}),(0,a.jsx)("option",{value:"hot",children:"\uD83D\uDD34 Hot ≥70"}),(0,a.jsx)("option",{value:"warm",children:"\uD83D\uDFE1 Warm 40–69"}),(0,a.jsx)("option",{value:"cold",children:"\uD83D\uDD35 Cold <40"})]}),(0,a.jsxs)("select",{value:M.covFilter,onChange:e=>H({covFilter:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",style:"all"!==M.covFilter?{borderColor:"rgba(34,197,94,0.4)",color:"rgb(134,239,172)"}:{},children:[(0,a.jsx)("option",{value:"all",children:"Cov: all"}),(0,a.jsx)("option",{value:"none",children:"⬜ No data"}),(0,a.jsx)("option",{value:"low",children:"\uD83D\uDD34 Low <30%"}),(0,a.jsx)("option",{value:"partial",children:"\uD83D\uDFE0 Partial 30–49%"}),(0,a.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium 50–69%"}),(0,a.jsx)("option",{value:"good",children:"\uD83D\uDFE2 Good 70–84%"}),(0,a.jsx)("option",{value:"high",children:"✅ High ≥85%"})]}),(0,a.jsx)("div",{className:"flex gap-1",children:["heat","coverage","neutral"].map(e=>(0,a.jsx)("button",{onClick:()=>R(e),className:"text-[10px] px-2 py-0.5 rounded capitalize",style:{background:A===e?"rgba(59,130,246,0.2)":"rgba(30,41,59,0.5)",color:A===e?"rgb(96,165,250)":"rgb(100,116,139)",border:`1px solid ${A===e?"rgba(59,130,246,0.3)":"rgba(51,65,85,0.3)"}`},children:e},e))}),(0,a.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[(0,a.jsxs)("select",{value:M.sortKey,onChange:e=>H({sortKey:e.target.value}),className:"text-xs px-2 py-1 rounded bg-slate-900 border border-slate-700/60 text-slate-400 outline-none",children:[(0,a.jsx)("option",{value:"heat",children:"Sort: heat"}),(0,a.jsx)("option",{value:"loc",children:"Sort: LOC"}),(0,a.jsx)("option",{value:"name",children:"Sort: name"}),(0,a.jsx)("option",{value:"deps",children:"Sort: deps"}),(0,a.jsx)("option",{value:"coverage",children:"Sort: coverage"}),(0,a.jsx)("option",{value:"risk",children:"Sort: risk"})]}),(0,a.jsx)("button",{onClick:()=>H({sortDir:"desc"===M.sortDir?"asc":"desc"}),title:"desc"===M.sortDir?"Descending — click to sort ascending":"Ascending — click to sort descending",className:"text-xs px-1.5 py-1 rounded border bx-transition",style:{background:"rgba(30,41,59,0.5)",color:"rgb(148,163,184)",borderColor:"rgba(51,65,85,0.5)"},children:"desc"===M.sortDir?"↓":"↑"})]}),G&&(0,a.jsx)("button",{onClick:()=>P(m),className:"text-[10px] px-2 py-0.5 rounded border bx-transition",style:{background:"rgba(239,68,68,0.08)",color:"rgb(252,165,165)",borderColor:"rgba(239,68,68,0.25)"},children:"↺ Reset all"}),"list"===C&&(e.markdownDocs?.length??0)>0&&(0,a.jsxs)("button",{onClick:()=>D(e=>!e),className:"text-[10px] px-2 py-0.5 rounded border bx-transition",style:{background:T?"rgba(99,102,241,0.15)":"rgba(30,41,59,0.4)",color:T?"rgb(165,180,252)":"rgb(100,116,139)",borderColor:T?"rgba(99,102,241,0.35)":"rgba(51,65,85,0.4)"},children:["\uD83D\uDCC4 Docs ",e.markdownDocs.length]}),(0,a.jsxs)("span",{className:"text-[10px] text-slate-600 font-mono",children:[J.length," files"]})]}),V&&(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 px-3 py-1.5 border-b flex-shrink-0",style:{borderColor:"rgba(51,65,85,0.25)",background:"rgba(2,6,23,0.4)"},children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-widest text-slate-600 font-semibold",children:"Active:"}),"all"!==M.riskFilter&&(0,a.jsxs)("button",{onClick:()=>H({riskFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(239,68,68,0.1)",color:"rgb(252,165,165)",borderColor:"rgba(239,68,68,0.3)"},children:["Risk: ",M.riskFilter," ✕"]}),"all"!==M.heatFilter&&(0,a.jsxs)("button",{onClick:()=>H({heatFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(251,191,36,0.1)",color:"rgb(253,224,71)",borderColor:"rgba(251,191,36,0.3)"},children:["Heat: ",M.heatFilter," ✕"]}),"all"!==M.covFilter&&(0,a.jsxs)("button",{onClick:()=>H({covFilter:"all"}),className:"inline-flex items-center gap-1 text-[10px] px-2 py-0.5 rounded-full border bx-transition",style:{background:"rgba(34,197,94,0.1)",color:"rgb(134,239,172)",borderColor:"rgba(34,197,94,0.3)"},children:["Cov: ",M.covFilter," ✕"]})]}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-hidden min-h-0",children:[(0,a.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden border-r min-h-0 min-w-0",style:{borderColor:"rgba(51,65,85,0.3)"},children:(0,a.jsx)(tX,{view:C,data:e,filteredFiles:J,selected:$,colorMode:A,metricColorMode:A,historyMap:_,target:y,docsMode:T,kbd:Z,rules:L,saving:B,onSelect:e=>F($?.id===e.id?null:e),onSelectByPath:e=>E(e),onRulesChange:O,onSaveRules:z})}),(0,a.jsx)("div",{className:"w-[42%] max-w-[640px] flex-shrink-0 flex flex-col overflow-hidden min-h-0",style:{background:"rgba(8,15,30,0.6)"},children:$?(0,a.jsx)(eP,{file:$,allFiles:e.files,target:y,history:_[$.path],onClose:()=>F(null),onSelectFile:e=>E(e),onSearch:e=>{H({search:e}),F(null)}}):(0,a.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,a.jsx)(eN.Q,{data:e,historyMap:_,target:y,onSelectFile:e=>E(e)})})})]})]})]});return v?(0,a.jsx)(eD.e,{children:X}):X}function tX({view:e,data:t,filteredFiles:s,selected:l,colorMode:r,metricColorMode:n,historyMap:o,target:i,docsMode:c,kbd:d,rules:x,saving:h,onSelect:m,onSelectByPath:u,onRulesChange:b,onSaveRules:f}){if("graph"===e)return(0,a.jsx)(eX,{files:s,selected:l,colorMode:n,onSelect:m});if("zones"===e)return(0,a.jsx)(tr,{files:s,selected:l,colorMode:n,onSelect:m});if("wire"===e)return(0,a.jsx)(tk,{files:s,selected:l,colorMode:n,onSelect:m});if("flow"===e)return(0,a.jsx)(t_,{files:s,selected:l,colorMode:n,onSelect:m});if("fitness"===e)return(0,a.jsx)(tG,{data:t,rules:x,target:i,onRulesChange:b,onSaveRules:f,saving:h,onSelectFile:e=>u(e)});if(c)return(0,a.jsx)(eL,{docs:t.markdownDocs,target:i,className:"flex-1 overflow-hidden"});if(0===s.length)return(0,a.jsx)("div",{className:"p-8 text-center text-slate-600 text-sm flex-1",children:"No files match your filter."});let g=new Map(s.map((e,t)=>[e.id,t])),y=new Map;for(let e of s)y.has(e.category)||y.set(e.category,[]),y.get(e.category).push(e);return(0,a.jsx)("div",{ref:d.listRef,className:"flex-1 overflow-y-auto",children:Array.from(y.entries()).map(([e,t])=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-1.5 px-3 py-1 text-[10px] font-semibold uppercase tracking-widest",style:{background:"rgba(2,6,23,0.92)",borderBottom:"1px solid rgba(51,65,85,0.25)",color:"rgb(71,85,105)"},children:[(0,a.jsx)("span",{children:(0,p.eD)(e)}),(0,a.jsx)("span",{children:e}),(0,a.jsx)("span",{className:"font-mono font-normal opacity-60 ml-1",children:t.length})]}),t.map(e=>{let t=g.get(e.id)??-1;return(0,a.jsx)(ej,{file:e,selected:l?.id===e.id,kbdActive:d.activeIndex===t,kbdIndex:t,colorMode:r,onClick:()=>m(e),history:o[e.path]},e.id)})]},e))})}function t0(){return(0,a.jsx)(tY,{})}}},e=>{e.O(0,[2574,3862,8500,5296,5516,1495,8441,3794,7358],()=>e(e.s=78624)),_N_E=e.O()}]);