trybeacon 0.1.50 → 0.1.52

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 (418) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -10
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +26 -0
  6. package/.next/server/app/_global-error/page.js +3 -3
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +11 -11
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  27. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  28. package/.next/server/app/api/board-annotations/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/board-annotations/route.js +1 -1
  30. package/.next/server/app/api/board-annotations/route.js.nft.json +1 -1
  31. package/.next/server/app/api/board-layout/route.js +1 -1
  32. package/.next/server/app/api/board-layout/route.js.nft.json +1 -1
  33. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  34. package/.next/server/app/api/bug-flags/[id]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/bug-flags/route.js +1 -1
  36. package/.next/server/app/api/bug-flags/route.js.nft.json +1 -1
  37. package/.next/server/app/api/code-graph/position/route.js +1 -1
  38. package/.next/server/app/api/code-graph/position/route.js.nft.json +1 -1
  39. package/.next/server/app/api/code-graph/route.js +1 -1
  40. package/.next/server/app/api/code-graph/route.js.nft.json +1 -1
  41. package/.next/server/app/api/context/feature/route.js +1 -1
  42. package/.next/server/app/api/context/feature/route.js.nft.json +1 -1
  43. package/.next/server/app/api/context/file/route.js +1 -1
  44. package/.next/server/app/api/context/file/route.js.nft.json +1 -1
  45. package/.next/server/app/api/context/route.js +2 -2
  46. package/.next/server/app/api/context/route.js.nft.json +1 -1
  47. package/.next/server/app/api/db/arrange/route.js +1 -1
  48. package/.next/server/app/api/db/arrange/route.js.nft.json +1 -1
  49. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  50. package/.next/server/app/api/db/backfill-access/route.js.nft.json +1 -1
  51. package/.next/server/app/api/db/position/route.js +1 -1
  52. package/.next/server/app/api/db/position/route.js.nft.json +1 -1
  53. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  54. package/.next/server/app/api/db/prune-planned/route.js.nft.json +1 -1
  55. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  56. package/.next/server/app/api/db/reconcile-endpoints/route.js.nft.json +1 -1
  57. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  58. package/.next/server/app/api/db/relations/[id]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  60. package/.next/server/app/api/db/tables/[id]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/draft/approve/route.js +1 -1
  62. package/.next/server/app/api/draft/approve/route.js.nft.json +1 -1
  63. package/.next/server/app/api/draft/route.js +1 -1
  64. package/.next/server/app/api/draft/route.js.nft.json +1 -1
  65. package/.next/server/app/api/draft/status/route.js +1 -1
  66. package/.next/server/app/api/draft/status/route.js.nft.json +1 -1
  67. package/.next/server/app/api/edges/[id]/route.js +1 -1
  68. package/.next/server/app/api/edges/[id]/route.js.nft.json +1 -1
  69. package/.next/server/app/api/edges/route.js +1 -1
  70. package/.next/server/app/api/edges/route.js.nft.json +1 -1
  71. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  72. package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -1
  73. package/.next/server/app/api/entities/route.js +1 -1
  74. package/.next/server/app/api/entities/route.js.nft.json +1 -1
  75. package/.next/server/app/api/feedback/[id]/route.js +1 -1
  76. package/.next/server/app/api/feedback/[id]/route.js.nft.json +1 -1
  77. package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
  78. package/.next/server/app/api/feedback/[id]/vote/route.js.nft.json +1 -1
  79. package/.next/server/app/api/feedback/route.js +1 -1
  80. package/.next/server/app/api/feedback/route.js.nft.json +1 -1
  81. package/.next/server/app/api/flags/route.js +1 -1
  82. package/.next/server/app/api/flags/route.js.nft.json +1 -1
  83. package/.next/server/app/api/ingest/route.js +2 -2
  84. package/.next/server/app/api/ingest/route.js.nft.json +1 -1
  85. package/.next/server/app/api/init/route.js +2 -2
  86. package/.next/server/app/api/init/route.js.nft.json +1 -1
  87. package/.next/server/app/api/map/describe/route.js +2 -2
  88. package/.next/server/app/api/map/describe/route.js.nft.json +1 -1
  89. package/.next/server/app/api/map/files/route.js +1 -1
  90. package/.next/server/app/api/map/files/route.js.nft.json +1 -1
  91. package/.next/server/app/api/map/finish/route.js +1 -1
  92. package/.next/server/app/api/map/finish/route.js.nft.json +1 -1
  93. package/.next/server/app/api/map/route.js +1 -1
  94. package/.next/server/app/api/map/route.js.nft.json +1 -1
  95. package/.next/server/app/api/map/start/route.js +1 -1
  96. package/.next/server/app/api/map/start/route.js.nft.json +1 -1
  97. package/.next/server/app/api/map/touch-active/route.js +1 -1
  98. package/.next/server/app/api/map/touch-active/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mention-search/route.js +1 -0
  100. package/.next/server/app/api/mention-search/route.js.nft.json +1 -0
  101. package/.next/server/app/api/mention-search/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  103. package/.next/server/app/api/nodes/[id]/position/route.js.nft.json +1 -1
  104. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  105. package/.next/server/app/api/nodes/[id]/route.js.nft.json +1 -1
  106. package/.next/server/app/api/nodes/positions/route.js +1 -1
  107. package/.next/server/app/api/nodes/positions/route.js.nft.json +1 -1
  108. package/.next/server/app/api/nodes/route.js +1 -1
  109. package/.next/server/app/api/nodes/route.js.nft.json +1 -1
  110. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  111. package/.next/server/app/api/nodes/subtasks/route.js.nft.json +1 -1
  112. package/.next/server/app/api/notes/[id]/route.js +1 -1
  113. package/.next/server/app/api/notes/[id]/route.js.nft.json +1 -1
  114. package/.next/server/app/api/notes/route.js +1 -1
  115. package/.next/server/app/api/notes/route.js.nft.json +1 -1
  116. package/.next/server/app/api/open/route.js +1 -1
  117. package/.next/server/app/api/open/route.js.nft.json +1 -1
  118. package/.next/server/app/api/plan/annotations/route.js +3 -3
  119. package/.next/server/app/api/plan/annotations/route.js.nft.json +1 -1
  120. package/.next/server/app/api/plan/approve/route.js +2 -2
  121. package/.next/server/app/api/plan/approve/route.js.nft.json +1 -1
  122. package/.next/server/app/api/plan/history/route.js +1 -1
  123. package/.next/server/app/api/plan/history/route.js.nft.json +1 -1
  124. package/.next/server/app/api/plan/markdown/route.js +1 -1
  125. package/.next/server/app/api/plan/markdown/route.js.nft.json +1 -1
  126. package/.next/server/app/api/plan/presence/route.js +1 -1
  127. package/.next/server/app/api/plan/presence/route.js.nft.json +1 -1
  128. package/.next/server/app/api/plan/route.js +1 -1
  129. package/.next/server/app/api/plan/route.js.nft.json +1 -1
  130. package/.next/server/app/api/plan/verdict/route.js +1 -1
  131. package/.next/server/app/api/plan/verdict/route.js.nft.json +1 -1
  132. package/.next/server/app/api/preferences/route.js +1 -1
  133. package/.next/server/app/api/preferences/route.js.nft.json +1 -1
  134. package/.next/server/app/api/project-meta/route.js +1 -1
  135. package/.next/server/app/api/project-meta/route.js.nft.json +1 -1
  136. package/.next/server/app/api/reset/route.js +1 -1
  137. package/.next/server/app/api/reset/route.js.nft.json +1 -1
  138. package/.next/server/app/api/scope-guard/check/route.js +1 -1
  139. package/.next/server/app/api/scope-guard/check/route.js.nft.json +1 -1
  140. package/.next/server/app/api/share/create/route.js +1 -0
  141. package/.next/server/app/api/share/create/route.js.nft.json +1 -0
  142. package/.next/server/app/api/share/create/route_client-reference-manifest.js +1 -0
  143. package/.next/server/app/api/share/route.js +1 -0
  144. package/.next/server/app/api/share/route.js.nft.json +1 -0
  145. package/.next/server/app/api/share/route_client-reference-manifest.js +1 -0
  146. package/.next/server/app/api/stream/route.js +2 -2
  147. package/.next/server/app/api/stream/route.js.nft.json +1 -1
  148. package/.next/server/app/api/tab/nav/route.js +1 -1
  149. package/.next/server/app/api/tab/nav/route.js.nft.json +1 -1
  150. package/.next/server/app/api/tab/presence/route.js +1 -1
  151. package/.next/server/app/api/tab/presence/route.js.nft.json +1 -1
  152. package/.next/server/app/api/telemetry/route.js +1 -1
  153. package/.next/server/app/api/telemetry/route.js.nft.json +1 -1
  154. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  155. package/.next/server/app/api/telemetry/stats/route.js.nft.json +1 -1
  156. package/.next/server/app/api/version/route.js +1 -1
  157. package/.next/server/app/api/version/route.js.nft.json +1 -1
  158. package/.next/server/app/api/workspace/activate/route.js +1 -1
  159. package/.next/server/app/api/workspace/activate/route.js.nft.json +1 -1
  160. package/.next/server/app/api/workspace/route.js +1 -1
  161. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  162. package/.next/server/app/apple-icon.png/route.js +1 -1
  163. package/.next/server/app/docs/page.js +2 -2
  164. package/.next/server/app/docs/page.js.nft.json +1 -1
  165. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/docs.html +1 -1
  167. package/.next/server/app/docs.rsc +11 -11
  168. package/.next/server/app/docs.segments/_full.segment.rsc +11 -11
  169. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  170. package/.next/server/app/docs.segments/_index.segment.rsc +11 -11
  171. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  172. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  173. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  174. package/.next/server/app/feedback/page.js +2 -2
  175. package/.next/server/app/feedback/page.js.nft.json +1 -1
  176. package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
  177. package/.next/server/app/feedback.html +1 -1
  178. package/.next/server/app/feedback.rsc +11 -11
  179. package/.next/server/app/feedback.segments/_full.segment.rsc +11 -11
  180. package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
  181. package/.next/server/app/feedback.segments/_index.segment.rsc +11 -11
  182. package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
  183. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
  184. package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
  185. package/.next/server/app/help/page.js +2 -2
  186. package/.next/server/app/help/page.js.nft.json +1 -1
  187. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/help.html +1 -1
  189. package/.next/server/app/help.rsc +11 -11
  190. package/.next/server/app/help.segments/_full.segment.rsc +11 -11
  191. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  192. package/.next/server/app/help.segments/_index.segment.rsc +11 -11
  193. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  194. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  195. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  196. package/.next/server/app/icon.svg/route.js +1 -1
  197. package/.next/server/app/index.html +1 -1
  198. package/.next/server/app/index.rsc +12 -12
  199. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  200. package/.next/server/app/index.segments/_full.segment.rsc +12 -12
  201. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  202. package/.next/server/app/index.segments/_index.segment.rsc +11 -11
  203. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  204. package/.next/server/app/map/page.js +2 -2
  205. package/.next/server/app/map/page.js.nft.json +1 -1
  206. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  207. package/.next/server/app/page.js +2 -2
  208. package/.next/server/app/page.js.nft.json +1 -1
  209. package/.next/server/app/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/plan/page.js +2 -2
  211. package/.next/server/app/plan/page.js.nft.json +1 -1
  212. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  213. package/.next/server/app/s/[token]/page.js +2 -0
  214. package/.next/server/app/s/[token]/page.js.nft.json +1 -0
  215. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -0
  216. package/.next/server/app/settings/page.js +2 -2
  217. package/.next/server/app/settings/page.js.nft.json +1 -1
  218. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  219. package/.next/server/app-paths-manifest.json +14 -10
  220. package/.next/server/chunks/1669.js +1 -0
  221. package/.next/server/chunks/2050.js +1 -0
  222. package/.next/server/chunks/249.js +1 -1
  223. package/.next/server/chunks/{3221.js → 2693.js} +1 -1
  224. package/.next/server/chunks/2942.js +1 -0
  225. package/.next/server/chunks/3098.js +1 -0
  226. package/.next/server/chunks/3254.js +1 -1
  227. package/.next/server/chunks/{2999.js → 3304.js} +65 -4
  228. package/.next/server/chunks/4046.js +3 -3
  229. package/.next/server/chunks/4307.js +1 -1
  230. package/.next/server/chunks/{4217.js → 4700.js} +19 -19
  231. package/.next/server/chunks/4872.js +1 -0
  232. package/.next/server/chunks/{4940.js → 7350.js} +1 -1
  233. package/.next/server/chunks/{8423.js → 9338.js} +8 -8
  234. package/.next/server/chunks/9683.js +1 -1
  235. package/.next/server/chunks/9734.js +1 -1
  236. package/.next/server/chunks/9884.js +2 -2
  237. package/.next/server/middleware-build-manifest.js +1 -1
  238. package/.next/server/middleware.js +1 -1
  239. package/.next/server/pages/404.html +1 -1
  240. package/.next/server/pages/500.html +1 -1
  241. package/.next/server/server-reference-manifest.js +1 -1
  242. package/.next/server/server-reference-manifest.json +1 -1
  243. package/.next/static/XBUVgZagQUtfUZn0r6pJS/_buildManifest.js +1 -0
  244. package/.next/static/chunks/1099-208cc390a92efae0.js +62 -0
  245. package/.next/static/chunks/1175-715e4664e518ded4.js +1 -0
  246. package/.next/static/chunks/1397-96849550aca888c5.js +1 -0
  247. package/.next/static/chunks/2231-379685a022444780.js +1 -0
  248. package/.next/static/chunks/{2500-15c373070714563d.js → 3021-ed52ee7b3f02e2cd.js} +1 -1
  249. package/.next/static/chunks/54a60aa6-0378818fce5a4dc5.js +82 -0
  250. package/.next/static/chunks/874-c750840a8644deb1.js +1 -0
  251. package/.next/static/chunks/9887-e8954568a4031ed3.js +74 -0
  252. package/.next/static/chunks/app/_global-error/page-548a84d85e061550.js +1 -0
  253. package/.next/static/chunks/app/api/board-annotations/[id]/route-548a84d85e061550.js +1 -0
  254. package/.next/static/chunks/app/api/board-annotations/route-548a84d85e061550.js +1 -0
  255. package/.next/static/chunks/app/api/board-layout/route-548a84d85e061550.js +1 -0
  256. package/.next/static/chunks/app/api/bug-flags/[id]/route-548a84d85e061550.js +1 -0
  257. package/.next/static/chunks/app/api/bug-flags/route-548a84d85e061550.js +1 -0
  258. package/.next/static/chunks/app/api/code-graph/position/route-548a84d85e061550.js +1 -0
  259. package/.next/static/chunks/app/api/code-graph/route-548a84d85e061550.js +1 -0
  260. package/.next/static/chunks/app/api/context/feature/route-548a84d85e061550.js +1 -0
  261. package/.next/static/chunks/app/api/context/file/route-548a84d85e061550.js +1 -0
  262. package/.next/static/chunks/app/api/context/route-548a84d85e061550.js +1 -0
  263. package/.next/static/chunks/app/api/db/arrange/route-548a84d85e061550.js +1 -0
  264. package/.next/static/chunks/app/api/db/backfill-access/route-548a84d85e061550.js +1 -0
  265. package/.next/static/chunks/app/api/db/position/route-548a84d85e061550.js +1 -0
  266. package/.next/static/chunks/app/api/db/prune-planned/route-548a84d85e061550.js +1 -0
  267. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-548a84d85e061550.js +1 -0
  268. package/.next/static/chunks/app/api/db/relations/[id]/route-548a84d85e061550.js +1 -0
  269. package/.next/static/chunks/app/api/db/tables/[id]/route-548a84d85e061550.js +1 -0
  270. package/.next/static/chunks/app/api/draft/approve/route-548a84d85e061550.js +1 -0
  271. package/.next/static/chunks/app/api/draft/route-548a84d85e061550.js +1 -0
  272. package/.next/static/chunks/app/api/draft/status/route-548a84d85e061550.js +1 -0
  273. package/.next/static/chunks/app/api/edges/[id]/route-548a84d85e061550.js +1 -0
  274. package/.next/static/chunks/app/api/edges/route-548a84d85e061550.js +1 -0
  275. package/.next/static/chunks/app/api/endpoints/[id]/route-548a84d85e061550.js +1 -0
  276. package/.next/static/chunks/app/api/entities/route-548a84d85e061550.js +1 -0
  277. package/.next/static/chunks/app/api/feedback/[id]/route-548a84d85e061550.js +1 -0
  278. package/.next/static/chunks/app/api/feedback/[id]/vote/route-548a84d85e061550.js +1 -0
  279. package/.next/static/chunks/app/api/feedback/route-548a84d85e061550.js +1 -0
  280. package/.next/static/chunks/app/api/flags/route-548a84d85e061550.js +1 -0
  281. package/.next/static/chunks/app/api/ingest/route-548a84d85e061550.js +1 -0
  282. package/.next/static/chunks/app/api/init/route-548a84d85e061550.js +1 -0
  283. package/.next/static/chunks/app/api/map/describe/route-548a84d85e061550.js +1 -0
  284. package/.next/static/chunks/app/api/map/files/route-548a84d85e061550.js +1 -0
  285. package/.next/static/chunks/app/api/map/finish/route-548a84d85e061550.js +1 -0
  286. package/.next/static/chunks/app/api/map/route-548a84d85e061550.js +1 -0
  287. package/.next/static/chunks/app/api/map/start/route-548a84d85e061550.js +1 -0
  288. package/.next/static/chunks/app/api/map/touch-active/route-548a84d85e061550.js +1 -0
  289. package/.next/static/chunks/app/api/mention-search/route-548a84d85e061550.js +1 -0
  290. package/.next/static/chunks/app/api/nodes/[id]/position/route-548a84d85e061550.js +1 -0
  291. package/.next/static/chunks/app/api/nodes/[id]/route-548a84d85e061550.js +1 -0
  292. package/.next/static/chunks/app/api/nodes/positions/route-548a84d85e061550.js +1 -0
  293. package/.next/static/chunks/app/api/nodes/route-548a84d85e061550.js +1 -0
  294. package/.next/static/chunks/app/api/nodes/subtasks/route-548a84d85e061550.js +1 -0
  295. package/.next/static/chunks/app/api/notes/[id]/route-548a84d85e061550.js +1 -0
  296. package/.next/static/chunks/app/api/notes/route-548a84d85e061550.js +1 -0
  297. package/.next/static/chunks/app/api/open/route-548a84d85e061550.js +1 -0
  298. package/.next/static/chunks/app/api/plan/annotations/route-548a84d85e061550.js +1 -0
  299. package/.next/static/chunks/app/api/plan/approve/route-548a84d85e061550.js +1 -0
  300. package/.next/static/chunks/app/api/plan/history/route-548a84d85e061550.js +1 -0
  301. package/.next/static/chunks/app/api/plan/markdown/route-548a84d85e061550.js +1 -0
  302. package/.next/static/chunks/app/api/plan/presence/route-548a84d85e061550.js +1 -0
  303. package/.next/static/chunks/app/api/plan/route-548a84d85e061550.js +1 -0
  304. package/.next/static/chunks/app/api/plan/verdict/route-548a84d85e061550.js +1 -0
  305. package/.next/static/chunks/app/api/preferences/route-548a84d85e061550.js +1 -0
  306. package/.next/static/chunks/app/api/project-meta/route-548a84d85e061550.js +1 -0
  307. package/.next/static/chunks/app/api/reset/route-548a84d85e061550.js +1 -0
  308. package/.next/static/chunks/app/api/scope-guard/check/route-548a84d85e061550.js +1 -0
  309. package/.next/static/chunks/app/api/share/create/route-548a84d85e061550.js +1 -0
  310. package/.next/static/chunks/app/api/share/route-548a84d85e061550.js +1 -0
  311. package/.next/static/chunks/app/api/stream/route-548a84d85e061550.js +1 -0
  312. package/.next/static/chunks/app/api/tab/nav/route-548a84d85e061550.js +1 -0
  313. package/.next/static/chunks/app/api/tab/presence/route-548a84d85e061550.js +1 -0
  314. package/.next/static/chunks/app/api/telemetry/route-548a84d85e061550.js +1 -0
  315. package/.next/static/chunks/app/api/telemetry/stats/route-548a84d85e061550.js +1 -0
  316. package/.next/static/chunks/app/api/version/route-548a84d85e061550.js +1 -0
  317. package/.next/static/chunks/app/api/workspace/activate/route-548a84d85e061550.js +1 -0
  318. package/.next/static/chunks/app/api/workspace/route-548a84d85e061550.js +1 -0
  319. package/.next/static/chunks/app/layout-3115f8503ff00902.js +1 -0
  320. package/.next/static/chunks/app/map/page-6a2f4ef0b7260ad6.js +1 -0
  321. package/.next/static/chunks/app/{page-541e900d67f17dae.js → page-a229992616b3a3de.js} +1 -1
  322. package/.next/static/chunks/app/plan/page-9fe41756fd39d3ec.js +1 -0
  323. package/.next/static/chunks/app/s/[token]/page-4ddcc6ddb2252f2b.js +1 -0
  324. package/.next/static/chunks/next/dist/client/components/builtin/app-error-548a84d85e061550.js +1 -0
  325. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-548a84d85e061550.js +1 -0
  326. package/.next/static/chunks/next/dist/client/components/builtin/not-found-548a84d85e061550.js +1 -0
  327. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-548a84d85e061550.js +1 -0
  328. package/.next/static/css/d60eecd8c5676c16.css +1 -0
  329. package/.next/trace +42 -39
  330. package/.next/trace-build +1 -1
  331. package/.next/types/app/api/mention-search/route.ts +351 -0
  332. package/.next/types/app/api/share/create/route.ts +351 -0
  333. package/.next/types/app/api/share/route.ts +351 -0
  334. package/.next/types/app/s/[token]/page.ts +87 -0
  335. package/.next/types/routes.d.ts +6 -2
  336. package/.next/types/validator.ts +36 -0
  337. package/package.json +11 -8
  338. package/.next/server/chunks/1341.js +0 -1
  339. package/.next/server/chunks/9773.js +0 -1
  340. package/.next/static/J1AU9kp6Vs1x9YOBkXMiR/_buildManifest.js +0 -1
  341. package/.next/static/chunks/1439-260d1c3a9b3b79b3.js +0 -1
  342. package/.next/static/chunks/1487-13f43d25413ae041.js +0 -1
  343. package/.next/static/chunks/3343-af1292b51a276724.js +0 -1
  344. package/.next/static/chunks/54a60aa6-407808fee210eca2.js +0 -82
  345. package/.next/static/chunks/7886-46eaf3a9533310f7.js +0 -74
  346. package/.next/static/chunks/app/_global-error/page-dc3f0f4fd9e88c4e.js +0 -1
  347. package/.next/static/chunks/app/api/board-annotations/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  348. package/.next/static/chunks/app/api/board-annotations/route-dc3f0f4fd9e88c4e.js +0 -1
  349. package/.next/static/chunks/app/api/board-layout/route-dc3f0f4fd9e88c4e.js +0 -1
  350. package/.next/static/chunks/app/api/bug-flags/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  351. package/.next/static/chunks/app/api/bug-flags/route-dc3f0f4fd9e88c4e.js +0 -1
  352. package/.next/static/chunks/app/api/code-graph/position/route-dc3f0f4fd9e88c4e.js +0 -1
  353. package/.next/static/chunks/app/api/code-graph/route-dc3f0f4fd9e88c4e.js +0 -1
  354. package/.next/static/chunks/app/api/context/feature/route-dc3f0f4fd9e88c4e.js +0 -1
  355. package/.next/static/chunks/app/api/context/file/route-dc3f0f4fd9e88c4e.js +0 -1
  356. package/.next/static/chunks/app/api/context/route-dc3f0f4fd9e88c4e.js +0 -1
  357. package/.next/static/chunks/app/api/db/arrange/route-dc3f0f4fd9e88c4e.js +0 -1
  358. package/.next/static/chunks/app/api/db/backfill-access/route-dc3f0f4fd9e88c4e.js +0 -1
  359. package/.next/static/chunks/app/api/db/position/route-dc3f0f4fd9e88c4e.js +0 -1
  360. package/.next/static/chunks/app/api/db/prune-planned/route-dc3f0f4fd9e88c4e.js +0 -1
  361. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-dc3f0f4fd9e88c4e.js +0 -1
  362. package/.next/static/chunks/app/api/db/relations/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  363. package/.next/static/chunks/app/api/db/tables/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  364. package/.next/static/chunks/app/api/draft/approve/route-dc3f0f4fd9e88c4e.js +0 -1
  365. package/.next/static/chunks/app/api/draft/route-dc3f0f4fd9e88c4e.js +0 -1
  366. package/.next/static/chunks/app/api/draft/status/route-dc3f0f4fd9e88c4e.js +0 -1
  367. package/.next/static/chunks/app/api/edges/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  368. package/.next/static/chunks/app/api/edges/route-dc3f0f4fd9e88c4e.js +0 -1
  369. package/.next/static/chunks/app/api/endpoints/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  370. package/.next/static/chunks/app/api/entities/route-dc3f0f4fd9e88c4e.js +0 -1
  371. package/.next/static/chunks/app/api/feedback/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  372. package/.next/static/chunks/app/api/feedback/[id]/vote/route-dc3f0f4fd9e88c4e.js +0 -1
  373. package/.next/static/chunks/app/api/feedback/route-dc3f0f4fd9e88c4e.js +0 -1
  374. package/.next/static/chunks/app/api/flags/route-dc3f0f4fd9e88c4e.js +0 -1
  375. package/.next/static/chunks/app/api/ingest/route-dc3f0f4fd9e88c4e.js +0 -1
  376. package/.next/static/chunks/app/api/init/route-dc3f0f4fd9e88c4e.js +0 -1
  377. package/.next/static/chunks/app/api/map/describe/route-dc3f0f4fd9e88c4e.js +0 -1
  378. package/.next/static/chunks/app/api/map/files/route-dc3f0f4fd9e88c4e.js +0 -1
  379. package/.next/static/chunks/app/api/map/finish/route-dc3f0f4fd9e88c4e.js +0 -1
  380. package/.next/static/chunks/app/api/map/route-dc3f0f4fd9e88c4e.js +0 -1
  381. package/.next/static/chunks/app/api/map/start/route-dc3f0f4fd9e88c4e.js +0 -1
  382. package/.next/static/chunks/app/api/map/touch-active/route-dc3f0f4fd9e88c4e.js +0 -1
  383. package/.next/static/chunks/app/api/nodes/[id]/position/route-dc3f0f4fd9e88c4e.js +0 -1
  384. package/.next/static/chunks/app/api/nodes/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  385. package/.next/static/chunks/app/api/nodes/positions/route-dc3f0f4fd9e88c4e.js +0 -1
  386. package/.next/static/chunks/app/api/nodes/route-dc3f0f4fd9e88c4e.js +0 -1
  387. package/.next/static/chunks/app/api/nodes/subtasks/route-dc3f0f4fd9e88c4e.js +0 -1
  388. package/.next/static/chunks/app/api/notes/[id]/route-dc3f0f4fd9e88c4e.js +0 -1
  389. package/.next/static/chunks/app/api/notes/route-dc3f0f4fd9e88c4e.js +0 -1
  390. package/.next/static/chunks/app/api/open/route-dc3f0f4fd9e88c4e.js +0 -1
  391. package/.next/static/chunks/app/api/plan/annotations/route-dc3f0f4fd9e88c4e.js +0 -1
  392. package/.next/static/chunks/app/api/plan/approve/route-dc3f0f4fd9e88c4e.js +0 -1
  393. package/.next/static/chunks/app/api/plan/history/route-dc3f0f4fd9e88c4e.js +0 -1
  394. package/.next/static/chunks/app/api/plan/markdown/route-dc3f0f4fd9e88c4e.js +0 -1
  395. package/.next/static/chunks/app/api/plan/presence/route-dc3f0f4fd9e88c4e.js +0 -1
  396. package/.next/static/chunks/app/api/plan/route-dc3f0f4fd9e88c4e.js +0 -1
  397. package/.next/static/chunks/app/api/plan/verdict/route-dc3f0f4fd9e88c4e.js +0 -1
  398. package/.next/static/chunks/app/api/preferences/route-dc3f0f4fd9e88c4e.js +0 -1
  399. package/.next/static/chunks/app/api/project-meta/route-dc3f0f4fd9e88c4e.js +0 -1
  400. package/.next/static/chunks/app/api/reset/route-dc3f0f4fd9e88c4e.js +0 -1
  401. package/.next/static/chunks/app/api/scope-guard/check/route-dc3f0f4fd9e88c4e.js +0 -1
  402. package/.next/static/chunks/app/api/stream/route-dc3f0f4fd9e88c4e.js +0 -1
  403. package/.next/static/chunks/app/api/tab/nav/route-dc3f0f4fd9e88c4e.js +0 -1
  404. package/.next/static/chunks/app/api/tab/presence/route-dc3f0f4fd9e88c4e.js +0 -1
  405. package/.next/static/chunks/app/api/telemetry/route-dc3f0f4fd9e88c4e.js +0 -1
  406. package/.next/static/chunks/app/api/telemetry/stats/route-dc3f0f4fd9e88c4e.js +0 -1
  407. package/.next/static/chunks/app/api/version/route-dc3f0f4fd9e88c4e.js +0 -1
  408. package/.next/static/chunks/app/api/workspace/activate/route-dc3f0f4fd9e88c4e.js +0 -1
  409. package/.next/static/chunks/app/api/workspace/route-dc3f0f4fd9e88c4e.js +0 -1
  410. package/.next/static/chunks/app/layout-1bc5f9fd4ce6bff9.js +0 -1
  411. package/.next/static/chunks/app/map/page-5074176a5e746ffb.js +0 -1
  412. package/.next/static/chunks/app/plan/page-3c4c1fc03275299f.js +0 -1
  413. package/.next/static/chunks/next/dist/client/components/builtin/app-error-dc3f0f4fd9e88c4e.js +0 -1
  414. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-dc3f0f4fd9e88c4e.js +0 -1
  415. package/.next/static/chunks/next/dist/client/components/builtin/not-found-dc3f0f4fd9e88c4e.js +0 -1
  416. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dc3f0f4fd9e88c4e.js +0 -1
  417. package/.next/static/css/629ab377241de9ca.css +0 -1
  418. /package/.next/static/{J1AU9kp6Vs1x9YOBkXMiR → XBUVgZagQUtfUZn0r6pJS}/_ssgManifest.js +0 -0
@@ -1,15 +1,15 @@
1
1
  1:"$Sreact.fragment"
2
- 2:I[81998,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"LiveRefresh"]
3
- 3:I[77242,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"TabWorkspace"]
4
- 4:I[81984,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"NotesProvider"]
5
- 5:I[48484,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"PlanProvider"]
6
- 6:I[96848,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"TopNav"]
7
- 7:I[52174,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"MainRegion"]
2
+ 2:I[81998,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"LiveRefresh"]
3
+ 3:I[77242,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"TabWorkspace"]
4
+ 4:I[81984,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"NotesProvider"]
5
+ 5:I[48484,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"PlanProvider"]
6
+ 6:I[10436,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"TopNav"]
7
+ 7:I[52174,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"MainRegion"]
8
8
  8:I[57121,[],""]
9
9
  9:I[74581,[],""]
10
- a:I[434,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"PlanBar"]
11
- b:I[1494,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"NotesDrawer"]
12
- c:I[33082,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-407808fee210eca2.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","7886","static/chunks/7886-46eaf3a9533310f7.js","7177","static/chunks/app/layout-1bc5f9fd4ce6bff9.js"],"UpdateBanner"]
13
- :HL["/_next/static/css/629ab377241de9ca.css","style"]
10
+ a:I[434,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"PlanBar"]
11
+ b:I[71886,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"NotesDrawer"]
12
+ c:I[29510,["5004","static/chunks/70e0d97a-bbb0ec05083da54f.js","277","static/chunks/54a60aa6-0378818fce5a4dc5.js","8500","static/chunks/8500-f62a38ff68ab7f42.js","4888","static/chunks/4888-911c0da3c2d785d2.js","8997","static/chunks/8997-78a359d0d238622e.js","9887","static/chunks/9887-e8954568a4031ed3.js","2231","static/chunks/2231-379685a022444780.js","7177","static/chunks/app/layout-3115f8503ff00902.js"],"UpdateBanner"]
13
+ :HL["/_next/static/css/d60eecd8c5676c16.css","style"]
14
14
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
15
- 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/629ab377241de9ca.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{"children":[["$","$L6",null,{"repo":"beacon"}],["$","$L7",null,{"children":["$","$L8",null,{"parallelRouterKey":"children","template":["$","$L9",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$La",null,{}]]}],["$","$Lb",null,{}]]}],["$","$Lc",null,{"currentVersion":"0.1.50"}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"J1AU9kp6Vs1x9YOBkXMiR"}
15
+ 0:{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/d60eecd8c5676c16.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/e02ab5db9ff2dca2.css","precedence":"next"}]],["$","html",null,{"lang":"en","className":"dark __variable_246ccd __variable_c29908 h-full antialiased","children":["$","body",null,{"className":"min-h-full flex flex-col bg-background text-foreground","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":[["$","$L5",null,{"children":[["$","$L6",null,{"repo":"beacon"}],["$","$L7",null,{"children":["$","$L8",null,{"parallelRouterKey":"children","template":["$","$L9",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}],["$","$La",null,{}]]}],["$","$Lb",null,{}]]}],["$","$Lc",null,{"currentVersion":"0.1.52"}]]}]}]]}],"isPartial":false,"staleTime":300,"varyParams":null,"buildId":"XBUVgZagQUtfUZn0r6pJS"}
@@ -1,8 +1,8 @@
1
1
  :HL["/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
2
2
  :HL["/_next/static/media/7d4881bb7e1bf84d-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
3
- :HL["/_next/static/css/629ab377241de9ca.css","style"]
3
+ :HL["/_next/static/css/d60eecd8c5676c16.css","style"]
4
4
  :HL["/_next/static/css/e02ab5db9ff2dca2.css","style"]
5
5
  :HL["/_next/static/css/008a05b0ad6b854a.css","style"]
6
6
  :HL["/_next/static/css/e63457bec0b3ee27.css","style"]
7
7
  :HL["/_next/static/css/83755b1f39ccf91d.css","style"]
8
- 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"J1AU9kp6Vs1x9YOBkXMiR"}
8
+ 0:{"tree":{"name":"","param":null,"prefetchHints":16,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":0,"slots":null}}},"staleTime":300,"buildId":"XBUVgZagQUtfUZn0r6pJS"}
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=5823,a.ids=[5823],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1441:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});let d=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;function e(a,b){var c;let e=new Set;for(let a of b)c=a.from,d.test(c)&&e.add(a.to);let f=new Set;for(let b of a)d.test(b)||e.has(b)||f.add(b);return f}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7239:(a,b,c)=>{"use strict";c.d(b,{DbMapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call DbMapClient() from the server but DbMapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx","DbMapClient")},7982:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>x,dynamic:()=>y});var e=c(5735),f=c(91430),g=c(56727),h=c(70299),i=c(72595),j=c(73033),k=c(7903),l=c(56030),m=c(42696),n=c(7239),o=c(72179),p=c(88863),q=c(42912),r=c(1441),s=c(46430),t=c(90457),u=c(6716),v=c(84853),w=a([g,h,i,j,o,p]);[g,h,i,j,o,p]=w.then?(await w)():w;let y="force-dynamic";async function x({searchParams:a}){let b=await a,c="ARCHITECTURE"===b.view?"ARCHITECTURE":"FILES"===b.view?"FILES":"DATABASE"===b.view?"DATABASE":"ROADMAP";return(0,u.X_)(await (0,v.C5)(b.ws),async()=>{let a,b=(await (0,p.nO)()).map(a=>({id:a.id,targetKind:a.targetKind,targetId:a.targetId,columnName:a.columnName,body:a.body,x:a.x,y:a.y}));if("DATABASE"===c){await (0,j.v)();let[a,c,d]=await Promise.all([g.db.query.dbTable.findMany({with:{columns:{orderBy:(a,{asc:b})=>b(a.ord)}}}),g.db.query.dbRelation.findMany(),g.db.query.endpoint.findMany({with:{tables:!0}})]),f=(0,o.iL)(),h=(0,u.VB)()?.id??"default",i=a.map(a=>({id:a.id,name:a.name,domain:a.domain,description:a.description,source:a.source,x:a.x,y:a.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note}))})),k=c.map(a=>({id:a.id,fromTableId:a.fromTableId,toTableId:a.toTableId,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label})),l=d.map(a=>({id:a.id,method:a.method,path:a.path,domain:a.domain,description:a.description,source:a.source,x:a.x,y:a.y,tables:a.tables.map(a=>({tableId:a.tableId,access:a.access}))}));return(0,e.jsx)(n.DbMapClient,{tables:i,relations:k,endpoints:l,draft:f,workspaceId:h,boardAnnotations:b})}if("FILES"===c){let[a,b]=await Promise.all([g.db.query.codeFile.findMany({columns:{path:!0,x:!0,y:!0,lang:!0,inDegree:!0,outDegree:!0}}),g.db.query.codeFileEdge.findMany({columns:{fromPath:!0,toPath:!0,circular:!0}})]),c=a.filter(a=>"__init__.py"!==a.path&&!a.path.endsWith("/__init__.py")),d=new Set(c.map(a=>a.path)),f=b.filter(a=>d.has(a.fromPath)&&d.has(a.toPath));return(0,e.jsx)(m.FilesMapClient,{files:c.map(a=>({path:a.path,x:a.x,y:a.y,lang:a.lang,inDegree:a.inDegree,outDegree:a.outDegree})),edges:f.map(a=>({from:a.fromPath,to:a.toPath,circular:a.circular})),touched:(0,q.Tn)(),hasFrontend:await (0,i.jZ)(),classificationRoots:await (0,i.Wg)()})}("ROADMAP"===c||"ARCHITECTURE"===c)&&await (0,h.r$)(c);let d=await (0,i.jZ)(),v="ROADMAP"===c?(a=(0,k.VE)("roadmap").arrangedBy,"cluster"===a||"status"===a||"priority"===a?a:null):null,w=await g.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,c),orderBy:(a,{asc:b})=>b(a.createdAt),with:{nodeTags:{with:{tag:{columns:{label:!0}}}},files:{columns:{path:!0},orderBy:(a,{asc:b})=>b(a.path)},bugFlags:{orderBy:(a,{asc:b})=>[b(a.createdAt),b(a.id)]}}}),x=(0,f.ll)`(select "id" from "Node" where "view" = ${c})`,y=await g.db.query.edge.findMany({where:(a,{and:b,inArray:c})=>b(c(a.fromId,x),c(a.toId,x))}),[z,A]=await Promise.all([g.db.query.codeFile.findMany({columns:{path:!0}}),g.db.query.codeFileEdge.findMany({columns:{fromPath:!0,toPath:!0}})]),B=(0,r.A)(z.map(a=>a.path),A.map(a=>({from:a.fromPath,to:a.toPath}))),C=w.map(a=>({id:a.id,view:a.view,kind:a.kind,cluster:a.cluster,layer:a.layer,title:a.title,role:a.role,plain:a.plain,status:a.status,priority:a.priority,x:a.x,y:a.y,source:a.source,sourceRef:a.sourceRef,parentId:a.parentId,isCriterion:a.nodeTags.some(a=>"criterion"===a.tag.label),files:a.files.map(a=>a.path),signals:(0,s.c)(a.files.map(a=>a.path),B),bugFlags:a.bugFlags.map(a=>({id:a.id,by:a.by,note:a.note,resolved:null!=a.resolvedAt}))})),D=y.map(a=>({id:a.id,fromId:a.fromId,toId:a.toId,kind:a.kind,label:a.label,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle})),E="ROADMAP"===c?(0,t.O)(C.map(a=>({id:a.id,parentId:a.parentId,status:a.status,priority:a.priority})),D.map(a=>({fromId:a.fromId,toId:a.toId,kind:a.kind})),3):[];return(0,e.jsx)(l.MapClient,{view:c,nodes:C,edges:D,workOrder:E,boardAnnotations:b,initialArrangedBy:v,hasFrontend:d})})}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11074:(a,b,c)=>{Promise.resolve().then(c.bind(c,7747)),Promise.resolve().then(c.bind(c,65105)),Promise.resolve().then(c.bind(c,45006))},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42618:(a,b,c)=>{Promise.resolve().then(c.bind(c,7239)),Promise.resolve().then(c.bind(c,42696)),Promise.resolve().then(c.bind(c,56030))},42696:(a,b,c)=>{"use strict";c.d(b,{FilesMapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call FilesMapClient() from the server but FilesMapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx","FilesMapClient")},42912:(a,b,c)=>{"use strict";c.d(b,{Tn:()=>j,oh:()=>h,qH:()=>k});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(a,b){let c=a.trim().split("\\").join("/");if(!c)return null;let d=b.split("\\").join("/").replace(/\/+$/,"");return d&&c.startsWith(d+"/")?c.slice(d.length+1):c.startsWith("/")?null:c}function i(){return(0,e.join)((0,f.KS)(),"touched-files.json")}function j(a=Date.now()){try{let b=JSON.parse((0,d.readFileSync)(i(),"utf8")),c=function(a,b){let c={};for(let[d,e]of Object.entries(a)){let a=h(d,b);if(!a)continue;let f=c[a];c[a]=f?{count:f.count+e.count,lastAt:Math.max(f.lastAt,e.lastAt)}:e}return c}(b,(0,f.jv)()),e={};for(let[b,d]of Object.entries(c))a-d.lastAt<=108e5&&(e[b]=d);return e}catch{return{}}}function k(a,b){let c=(0,f.jv)(),d=a.map(a=>h(a,c)).filter(a=>!!a),e=function(a,b,c){let d={...a};for(let a of b){let b=a.trim();b&&(d[b]={count:(d[b]?.count??0)+1,lastAt:c})}return d}(j(),d,b);return(0,g.q)(i(),e),e}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46430:(a,b,c)=>{"use strict";c.d(b,{c:()=>e});let d=/(^|\/)(auth|login|logout|session|oauth|sso|jwt)([/._-]|$)|password|credential/i;function e(a,b){let c=0,e=!1;for(let f of a)b.has(f)&&c++,d.test(f)&&(e=!0);return{untested:c,total:a.length,auth:e}}},48161:a=>{"use strict";a.exports=require("node:os")},56030:(a,b,c)=>{"use strict";c.d(b,{MapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call MapClient() from the server but MapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx","MapClient")},58286:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["map",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,7982)),"/home/runner/work/beacon/beacon/app/map/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/map/page",pathname:"/map",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/map/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65105:(a,b,c)=>{"use strict";c.d(b,{FilesMapClient:()=>ac});var d=c(48249),e=c(67484),f=c(56024),g=c(55030),h=c(78327),i=c(12443);function j(a){return a.x}function k(a){return a.y}var l=Math.PI*(3-Math.sqrt(5));function m(a){return function(){return a}}function n(a){return(a()-.5)*1e-6}function o(a){return a.index}function p(a,b){var c=a.get(b);if(!c)throw Error("node not found: "+b);return c}function q(a,b,c,d){if(isNaN(b)||isNaN(c))return a;var e,f,g,h,i,j,k,l,m,n=a._root,o={data:d},p=a._x0,q=a._y0,r=a._x1,s=a._y1;if(!n)return a._root=o,a;for(;n.length;)if((j=b>=(f=(p+r)/2))?p=f:r=f,(k=c>=(g=(q+s)/2))?q=g:s=g,e=n,!(n=n[l=k<<1|j]))return e[l]=o,a;if(h=+a._x.call(null,n.data),i=+a._y.call(null,n.data),b===h&&c===i)return o.next=n,e?e[l]=o:a._root=o,a;do e=e?e[l]=[,,,,]:a._root=[,,,,],(j=b>=(f=(p+r)/2))?p=f:r=f,(k=c>=(g=(q+s)/2))?q=g:s=g;while((l=k<<1|j)==(m=(i>=g)<<1|h>=f));return e[m]=n,e[l]=o,a}function r(a,b,c,d,e){this.node=a,this.x0=b,this.y0=c,this.x1=d,this.y1=e}function s(a){return a[0]}function t(a){return a[1]}function u(a,b,c){var d=new v(null==b?s:b,null==c?t:c,NaN,NaN,NaN,NaN);return null==a?d:d.addAll(a)}function v(a,b,c,d,e,f){this._x=a,this._y=b,this._x0=c,this._y0=d,this._x1=e,this._y1=f,this._root=void 0}function w(a){for(var b={data:a.data},c=b;a=a.next;)c=c.next={data:a.data};return b}var x=u.prototype=v.prototype;function y(a){return a.x+a.vx}function z(a){return a.y+a.vy}x.copy=function(){var a,b,c=new v(this._x,this._y,this._x0,this._y0,this._x1,this._y1),d=this._root;if(!d)return c;if(!d.length)return c._root=w(d),c;for(a=[{source:d,target:c._root=[,,,,]}];d=a.pop();)for(var e=0;e<4;++e)(b=d.source[e])&&(b.length?a.push({source:b,target:d.target[e]=[,,,,]}):d.target[e]=w(b));return c},x.add=function(a){let b=+this._x.call(null,a),c=+this._y.call(null,a);return q(this.cover(b,c),b,c,a)},x.addAll=function(a){var b,c,d,e,f=a.length,g=Array(f),h=Array(f),i=1/0,j=1/0,k=-1/0,l=-1/0;for(c=0;c<f;++c)!(isNaN(d=+this._x.call(null,b=a[c]))||isNaN(e=+this._y.call(null,b)))&&(g[c]=d,h[c]=e,d<i&&(i=d),d>k&&(k=d),e<j&&(j=e),e>l&&(l=e));if(i>k||j>l)return this;for(this.cover(i,j).cover(k,l),c=0;c<f;++c)q(this,g[c],h[c],a[c]);return this},x.cover=function(a,b){if(isNaN(a*=1)||isNaN(b*=1))return this;var c=this._x0,d=this._y0,e=this._x1,f=this._y1;if(isNaN(c))e=(c=Math.floor(a))+1,f=(d=Math.floor(b))+1;else{for(var g,h,i=e-c||1,j=this._root;c>a||a>=e||d>b||b>=f;)switch(h=(b<d)<<1|a<c,(g=[,,,,])[h]=j,j=g,i*=2,h){case 0:e=c+i,f=d+i;break;case 1:c=e-i,f=d+i;break;case 2:e=c+i,d=f-i;break;case 3:c=e-i,d=f-i}this._root&&this._root.length&&(this._root=j)}return this._x0=c,this._y0=d,this._x1=e,this._y1=f,this},x.data=function(){var a=[];return this.visit(function(b){if(!b.length)do a.push(b.data);while(b=b.next)}),a},x.extent=function(a){return arguments.length?this.cover(+a[0][0],+a[0][1]).cover(+a[1][0],+a[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},x.find=function(a,b,c){var d,e,f,g,h,i,j,k=this._x0,l=this._y0,m=this._x1,n=this._y1,o=[],p=this._root;for(p&&o.push(new r(p,k,l,m,n)),null==c?c=1/0:(k=a-c,l=b-c,m=a+c,n=b+c,c*=c);i=o.pop();)if((p=i.node)&&!((e=i.x0)>m)&&!((f=i.y0)>n)&&!((g=i.x1)<k)&&!((h=i.y1)<l))if(p.length){var q=(e+g)/2,s=(f+h)/2;o.push(new r(p[3],q,s,g,h),new r(p[2],e,s,q,h),new r(p[1],q,f,g,s),new r(p[0],e,f,q,s)),(j=(b>=s)<<1|a>=q)&&(i=o[o.length-1],o[o.length-1]=o[o.length-1-j],o[o.length-1-j]=i)}else{var t=a-this._x.call(null,p.data),u=b-this._y.call(null,p.data),v=t*t+u*u;if(v<c){var w=Math.sqrt(c=v);k=a-w,l=b-w,m=a+w,n=b+w,d=p.data}}return d},x.remove=function(a){if(isNaN(f=+this._x.call(null,a))||isNaN(g=+this._y.call(null,a)))return this;var b,c,d,e,f,g,h,i,j,k,l,m,n=this._root,o=this._x0,p=this._y0,q=this._x1,r=this._y1;if(!n)return this;if(n.length)for(;;){if((j=f>=(h=(o+q)/2))?o=h:q=h,(k=g>=(i=(p+r)/2))?p=i:r=i,b=n,!(n=n[l=k<<1|j]))return this;if(!n.length)break;(b[l+1&3]||b[l+2&3]||b[l+3&3])&&(c=b,m=l)}for(;n.data!==a;)if(d=n,!(n=n.next))return this;return((e=n.next)&&delete n.next,d)?e?d.next=e:delete d.next:b?(e?b[l]=e:delete b[l],(n=b[0]||b[1]||b[2]||b[3])&&n===(b[3]||b[2]||b[1]||b[0])&&!n.length&&(c?c[m]=n:this._root=n)):this._root=e,this},x.removeAll=function(a){for(var b=0,c=a.length;b<c;++b)this.remove(a[b]);return this},x.root=function(){return this._root},x.size=function(){var a=0;return this.visit(function(b){if(!b.length)do++a;while(b=b.next)}),a},x.visit=function(a){var b,c,d,e,f,g,h=[],i=this._root;for(i&&h.push(new r(i,this._x0,this._y0,this._x1,this._y1));b=h.pop();)if(!a(i=b.node,d=b.x0,e=b.y0,f=b.x1,g=b.y1)&&i.length){var j=(d+f)/2,k=(e+g)/2;(c=i[3])&&h.push(new r(c,j,k,f,g)),(c=i[2])&&h.push(new r(c,d,k,j,g)),(c=i[1])&&h.push(new r(c,j,e,f,k)),(c=i[0])&&h.push(new r(c,d,e,j,k))}return this},x.visitAfter=function(a){var b,c=[],d=[];for(this._root&&c.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));b=c.pop();){var e=b.node;if(e.length){var f,g=b.x0,h=b.y0,i=b.x1,j=b.y1,k=(g+i)/2,l=(h+j)/2;(f=e[0])&&c.push(new r(f,g,h,k,l)),(f=e[1])&&c.push(new r(f,k,h,i,l)),(f=e[2])&&c.push(new r(f,g,l,k,j)),(f=e[3])&&c.push(new r(f,k,l,i,j))}d.push(b)}for(;b=d.pop();)a(b.node,b.x0,b.y0,b.x1,b.y1);return this},x.x=function(a){return arguments.length?(this._x=a,this):this._x},x.y=function(a){return arguments.length?(this._y=a,this):this._y},c(71763);var A=c(10920),B=c(32039),C=c(64686);let D=(0,C.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var E=c(45535);let F=(0,C.A)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]);var G=c(48779),H=c(55805),I=c(54193),J=c(40335),K=c(25127),L=c(40359),M=c(81725);let N=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var O=c(27741),P=c(67637),Q=c(84170),R=c(92994),S=c(78103);let T=/\.(py|go|rb|rs|java|php|ex|exs)$/i,U=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,V=a=>a.includes("/")?a.slice(0,a.indexOf("/")):"(root)";function W(a){let b=Math.max(14,.35*a.length),c=new Map;for(let b of a)c.set(b,V(b));for(let a=0;a<6;a++){let a=new Map;for(let b of c.values())a.set(b,(a.get(b)??0)+1);let d=!1;for(let[e,f]of c){if((a.get(f)??0)<=b||!e.startsWith(`${f}/`))continue;let g=e.slice(f.length+1);g.includes("/")&&(c.set(e,`${f}/${g.slice(0,g.indexOf("/"))}`),d=!0)}if(!d)break}return c}var X=c(50605),Y=c(91365),Z=c(33346),$=c(33191);function _(a){return 5+.5*Math.min(a,26)}let aa={file:function({data:a}){let b=(0,X.k)(Y.kz),c=!!a.touched,e=a.recency??0,h=a.inDegree??0,i=_(h),j=a.layer??null,k=2*!!j,l=h>0?` \xb7 imported by ${h}`:"",m=j?` \xb7 ${"fullstack"===j?"shared (used by frontend + backend)":S.YG[j].label.toLowerCase()}`:"",n=c?`${a.tooltip} \xb7 edited ${a.count??0}\xd7 this session${l}${m}`:a.untested?`${a.tooltip} \xb7 no test imports this file${l}${m}`:`${a.tooltip}${l}${m}`;return(0,d.jsxs)("div",{title:n,className:"relative flex flex-col items-center",children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+k,left:"50%"}}),(0,d.jsx)("span",{"aria-hidden":!0,className:(0,$.cn)("rounded-full",a.isNewest&&"animate-touch-pulse"),style:{padding:k,background:j?(0,S.A6)(j):void 0,boxShadow:c?`0 0 ${8+Math.round(14*e)}px ${2+Math.round(3*e)}px rgba(45,212,191,${(.35+.45*e).toFixed(2)})`:a.untested?"0 0 0 2px rgba(251,191,36,0.65)":"none"},children:(0,d.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:a.dirColor}})}),c&&(a.count??0)>0&&(0,d.jsx)("span",{"aria-hidden":!0,className:"absolute -right-2 -top-2 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-teal-400 px-0.5 text-[8px] font-bold text-background ring-1 ring-background",children:a.count}),("full"===b||"mid"===b&&h>=4)&&(0,d.jsx)("span",{className:(0,$.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",c?"font-semibold text-teal-100":"text-foreground/75"),children:a.label}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+k,bottom:"auto",left:"50%"}})]})}};function ab({regions:a,dominant:b}){return(0,d.jsx)(f.DX,{children:a.map(a=>{let c=b.get(a.key);return c&&"fullstack"!==c?(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(${a.x-.15*a.w}px, ${a.y-.15*a.h}px)`,width:1.3*a.w,height:1.3*a.h,pointerEvents:"none",zIndex:0,background:`radial-gradient(closest-side, ${S.ZD[c]} 0%, transparent 72%)`,opacity:.1}},a.key):null})})}function ac({files:a,edges:b,touched:c,hasFrontend:g=!1,classificationRoots:q=[]}){let r,s=(0,e.useMemo)(()=>(function(a,b){let c=function(a){if(!a?.length)return[];let b=new Set;for(let c of a){let a=c.trim().replace(/^\/+|\/+$/g,"");a&&b.add(a)}return[...b]}(b);if(!c.length)return W(a);let d=new Map,e=[];for(let b of a){let a=function(a,b){let c=null;for(let d of b)(a===d||a.startsWith(`${d}/`))&&(!c||d.length>c.length)&&(c=d);return c}(b,c);a?d.set(b,function(a,b){if(a===b||!a.startsWith(`${b}/`))return b;let c=a.slice(b.length+1);return c.includes("/")?`${b}/${c.slice(0,c.indexOf("/"))}`:b}(b,a)):e.push(b)}for(let[a,b]of W(e))d.set(a,b);return d})(a.map(a=>a.path),q),[a,q]),t=(0,e.useMemo)(()=>(function(a,b,c){let d=function(a){let b=new Map;for(let c of a.values())b.set(c,(b.get(c)??0)+1);let c=Array.from(b.entries()).sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0])),d=Math.max(1,Math.ceil(Math.sqrt(2.5*c.length))),e=new Map;return c.forEach(([a],b)=>{e.set(a,{x:b%d*1250,y:950*Math.floor(b/d)})}),e}(c),e=a=>d.get(c.get(a)??"(root)"),f=a.map(a=>{let b=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b=(b^a.charCodeAt(c))*0x1000193>>>0;return{x:(b%10007/10007-.5)*900,y:((b>>>13)%10007/10007-.5)*900}}(a.path),c=e(a.path);return{id:a.path,x:c.x+.5*b.x,y:c.y+.5*b.y,pinned:!1,radius:_(a.inDegree??0)+22}}),g=b.filter(a=>a.from!==a.to).map(a=>({source:a.from,target:a.to})),q=(function(a){let b;var c,d=1,e=.001,f=1-Math.pow(.001,1/300),g=0,j=.6,k=new Map,m=(0,i.O1)(p),n=(0,h.A)("tick","end"),o=(b=1,()=>(b=(1664525*b+0x3c6ef35f)%0x100000000)/0x100000000);function p(){q(),n.call("tick",c),d<e&&(m.stop(),n.call("end",c))}function q(b){var e,h,i=a.length;void 0===b&&(b=1);for(var l=0;l<b;++l)for(d+=(g-d)*f,k.forEach(function(a){a(d)}),e=0;e<i;++e)null==(h=a[e]).fx?h.x+=h.vx*=j:(h.x=h.fx,h.vx=0),null==h.fy?h.y+=h.vy*=j:(h.y=h.fy,h.vy=0);return c}function r(){for(var b,c=0,d=a.length;c<d;++c){if((b=a[c]).index=c,null!=b.fx&&(b.x=b.fx),null!=b.fy&&(b.y=b.fy),isNaN(b.x)||isNaN(b.y)){var e=10*Math.sqrt(.5+c),f=c*l;b.x=e*Math.cos(f),b.y=e*Math.sin(f)}(isNaN(b.vx)||isNaN(b.vy))&&(b.vx=b.vy=0)}}function s(b){return b.initialize&&b.initialize(a,o),b}return null==a&&(a=[]),r(),c={tick:q,restart:function(){return m.restart(p),c},stop:function(){return m.stop(),c},nodes:function(b){return arguments.length?(a=b,r(),k.forEach(s),c):a},alpha:function(a){return arguments.length?(d=+a,c):d},alphaMin:function(a){return arguments.length?(e=+a,c):e},alphaDecay:function(a){return arguments.length?(f=+a,c):+f},alphaTarget:function(a){return arguments.length?(g=+a,c):g},velocityDecay:function(a){return arguments.length?(j=1-a,c):1-j},randomSource:function(a){return arguments.length?(o=a,k.forEach(s),c):o},force:function(a,b){return arguments.length>1?(null==b?k.delete(a):k.set(a,s(b)),c):k.get(a)},find:function(b,c,d){var e,f,g,h,i,j=0,k=a.length;for(null==d?d=1/0:d*=d,j=0;j<k;++j)(g=(e=b-(h=a[j]).x)*e+(f=c-h.y)*f)<d&&(i=h,d=g);return i},on:function(a,b){return arguments.length>1?(n.on(a,b),c):n.on(a)}}})(f).force("link",(function(a){var b,c,d,e,f,g,h=o,i=function(a){return 1/Math.min(e[a.source.index],e[a.target.index])},j=m(30),k=1;function l(d){for(var e=0,h=a.length;e<k;++e)for(var i,j,l,m,o,p,q,r=0;r<h;++r)j=(i=a[r]).source,p=((p=Math.sqrt((m=(l=i.target).x+l.vx-j.x-j.vx||n(g))*m+(o=l.y+l.vy-j.y-j.vy||n(g))*o))-c[r])/p*d*b[r],m*=p,o*=p,l.vx-=m*(q=f[r]),l.vy-=o*q,j.vx+=m*(q=1-q),j.vy+=o*q}function q(){if(d){var g,i,j=d.length,k=a.length,l=new Map(d.map((a,b)=>[h(a,b,d),a]));for(g=0,e=Array(j);g<k;++g)(i=a[g]).index=g,"object"!=typeof i.source&&(i.source=p(l,i.source)),"object"!=typeof i.target&&(i.target=p(l,i.target)),e[i.source.index]=(e[i.source.index]||0)+1,e[i.target.index]=(e[i.target.index]||0)+1;for(g=0,f=Array(k);g<k;++g)i=a[g],f[g]=e[i.source.index]/(e[i.source.index]+e[i.target.index]);b=Array(k),r(),c=Array(k),s()}}function r(){if(d)for(var c=0,e=a.length;c<e;++c)b[c]=+i(a[c],c,a)}function s(){if(d)for(var b=0,e=a.length;b<e;++b)c[b]=+j(a[b],b,a)}return null==a&&(a=[]),l.initialize=function(a,b){d=a,g=b,q()},l.links=function(b){return arguments.length?(a=b,q(),l):a},l.id=function(a){return arguments.length?(h=a,l):h},l.iterations=function(a){return arguments.length?(k=+a,l):k},l.strength=function(a){return arguments.length?(i="function"==typeof a?a:m(+a),r(),l):i},l.distance=function(a){return arguments.length?(j="function"==typeof a?a:m(+a),s(),l):j},l})(g).id(a=>a.id).distance(100).strength(a=>{let b="object"==typeof a.source?a.source.id:String(a.source),d="object"==typeof a.target?a.target.id:String(a.target);return c.get(b)===c.get(d)?.5:.02})).force("charge",(function(){var a,b,c,d,e,f=m(-30),g=1,h=1/0,i=.81;function l(c){var e,f=a.length,g=u(a,j,k).visitAfter(p);for(d=c,e=0;e<f;++e)b=a[e],g.visit(q)}function o(){if(a){var b,c,d=a.length;for(b=0,e=Array(d);b<d;++b)e[(c=a[b]).index]=+f(c,b,a)}}function p(a){var b,c,d,f,g,h=0,i=0;if(a.length){for(d=f=g=0;g<4;++g)(b=a[g])&&(c=Math.abs(b.value))&&(h+=b.value,i+=c,d+=c*b.x,f+=c*b.y);a.x=d/i,a.y=f/i}else{(b=a).x=b.data.x,b.y=b.data.y;do h+=e[b.data.index];while(b=b.next)}a.value=h}function q(a,f,j,k){if(!a.value)return!0;var l=a.x-b.x,m=a.y-b.y,o=k-f,p=l*l+m*m;if(o*o/i<p)return p<h&&(0===l&&(p+=(l=n(c))*l),0===m&&(p+=(m=n(c))*m),p<g&&(p=Math.sqrt(g*p)),b.vx+=l*a.value*d/p,b.vy+=m*a.value*d/p),!0;if(!a.length&&!(p>=h)){(a.data!==b||a.next)&&(0===l&&(p+=(l=n(c))*l),0===m&&(p+=(m=n(c))*m),p<g&&(p=Math.sqrt(g*p)));do a.data!==b&&(o=e[a.data.index]*d/p,b.vx+=l*o,b.vy+=m*o);while(a=a.next)}}return l.initialize=function(b,d){a=b,c=d,o()},l.strength=function(a){return arguments.length?(f="function"==typeof a?a:m(+a),o(),l):f},l.distanceMin=function(a){return arguments.length?(g=a*a,l):Math.sqrt(g)},l.distanceMax=function(a){return arguments.length?(h=a*a,l):Math.sqrt(h)},l.theta=function(a){return arguments.length?(i=a*a,l):Math.sqrt(i)},l})().strength(-260).distanceMax(800)).force("collide",(function(a){var b,c,d,e=1,f=1;function g(){for(var a,g,i,j,k,l,m,o=b.length,p=0;p<f;++p)for(a=0,g=u(b,y,z).visitAfter(h);a<o;++a)m=(l=c[(i=b[a]).index])*l,j=i.x+i.vx,k=i.y+i.vy,g.visit(q);function q(a,b,c,f,g){var h=a.data,o=a.r,p=l+o;if(h){if(h.index>i.index){var q=j-h.x-h.vx,r=k-h.y-h.vy,s=q*q+r*r;s<p*p&&(0===q&&(s+=(q=n(d))*q),0===r&&(s+=(r=n(d))*r),s=(p-(s=Math.sqrt(s)))/s*e,i.vx+=(q*=s)*(p=(o*=o)/(m+o)),i.vy+=(r*=s)*p,h.vx-=q*(p=1-p),h.vy-=r*p)}return}return b>j+p||f<j-p||c>k+p||g<k-p}}function h(a){if(a.data)return a.r=c[a.data.index];for(var b=a.r=0;b<4;++b)a[b]&&a[b].r>a.r&&(a.r=a[b].r)}function i(){if(b){var d,e,f=b.length;for(d=0,c=Array(f);d<f;++d)c[(e=b[d]).index]=+a(e,d,b)}}return"function"!=typeof a&&(a=m(null==a?1:+a)),g.initialize=function(a,c){b=a,d=c,i()},g.iterations=function(a){return arguments.length?(f=+a,g):f},g.strength=function(a){return arguments.length?(e=+a,g):e},g.radius=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),i(),g):a},g})().radius(a=>a.radius).strength(.6)).force("clusterX",(function(a){var b,c,d,e=m(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vx+=(d[f]-e.x)*c[f]*a}function g(){if(b){var f,g=b.length;for(f=0,c=Array(g),d=Array(g);f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=m(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:m(+a),g(),f):e},f.x=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),g(),f):a},f})(a=>e(a.id).x).strength(.1)).force("clusterY",(function(a){var b,c,d,e=m(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vy+=(d[f]-e.y)*c[f]*a}function g(){if(b){var f,g=b.length;for(f=0,c=Array(g),d=Array(g);f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=m(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:m(+a),g(),f):e},f.y=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),g(),f):a},f})(a=>e(a.id).y).strength(.115)).stop();for(let a=0;a<500;a++)q.tick();let r=new Map;for(let a of f)r.set(a.id,{x:a.x??0,y:a.y??0});return r})(a,b,s),[a,b,s]),v=(0,e.useMemo)(()=>(function(a,b){var c;let d=new Set;for(let a of b)c=a.from,N.test(c)&&d.add(a.to);let e=new Set;for(let b of a)N.test(b)||d.has(b)||e.add(b);return e})(a.map(a=>a.path),b),[a,b]),w=(0,e.useMemo)(()=>g?function(a,b){let c=new Map,d=new Map;for(let a of b){let b=d.get(a.from);b?b.push(a.to):d.set(a.from,[a.to])}let e=new Map;for(let b of a){let a=U.test(b)?"backend":S.An.test(b)?"frontend":T.test(b)?"backend":null;c.set(b,a),a&&e.set(b,a)}let f=a=>{let b=new Set,c=[];for(let[b,d]of e)d===a&&c.push(b);for(;c.length;){let a=c.pop();for(let e of d.get(a)??[])b.has(e)||(b.add(e),c.push(e))}return b},g=f("frontend"),h=f("backend");for(let b of a){if(c.get(b))continue;let a=g.has(b),d=h.has(b);a&&d?c.set(b,"fullstack"):a?c.set(b,"frontend"):d&&c.set(b,"backend")}return c}(a.map(a=>a.path),b):null,[g,a,b]),x=(0,e.useMemo)(()=>{let a=new Map,b=Object.entries(c??{});if(!b.length)return a;let d=b.map(([,a])=>a.lastAt),e=Math.max(...d),f=Math.min(...d),g=e-f||1,h=b[0][0],i=b[0][1].lastAt;for(let[a,c]of b)c.lastAt>=i&&(h=a,i=c.lastAt);for(let[c,d]of b)a.set(c,{count:d.count,recency:(d.lastAt-f)/g,isNewest:c===h});return a},[c]),C=x.size>0,V=(0,e.useMemo)(()=>Array.from(x.entries()).map(([a,b])=>({path:a,label:a.slice(a.lastIndexOf("/")+1),count:b.count,recency:b.recency})).sort((a,b)=>b.recency-a.recency),[x]),ae=(0,e.useMemo)(()=>a.map(a=>{let b=t.get(a.path)??{x:a.x,y:a.y},c=a.path.lastIndexOf("/"),d=c>=0?a.path.slice(c+1):a.path,e=x.get(a.path);return{id:a.path,type:"file",position:b,data:{label:d,tooltip:a.path,untested:v.has(a.path),inDegree:a.inDegree??0,dirColor:(0,Z.i3)(s.get(a.path)??"(root)"),layer:w?.get(a.path)??null,touched:!!e,count:e?.count??0,recency:e?.recency??0,isNewest:e?.isNewest??!1}}}),[a,t,v,x,w,s]),af=(0,e.useMemo)(()=>b.map(a=>({id:`${a.from}|${a.to}`,source:a.from,target:a.to,type:"straight",selectable:!1,focusable:!1,style:{pointerEvents:"none",...a.circular?{stroke:"#f87171",strokeDasharray:"5 3",strokeWidth:1.5,opacity:.6}:{stroke:"#8b8b94",strokeWidth:1,opacity:.3}}})),[b]),[ag,ah]=(0,e.useState)(ae),[ai,aj]=(0,e.useState)(af),[ak,al]=(0,e.useState)(null),[am,an]=(0,e.useState)(null),[ao,ap]=(0,e.useState)(null),[aq,ar]=(0,e.useState)(!1),[as,at]=(0,e.useState)(!1),[au,av]=(0,e.useState)(null),[aw,ax]=(0,e.useState)(!1),[ay,az]=(0,e.useState)(""),[aA,aB]=(0,e.useState)(!1),[aC,aD]=(0,e.useState)("full"),aE=(0,e.useRef)(null),aF=(0,e.useCallback)(a=>{al(a),ap(null);let b=aE.current?.getNode(a);b&&aE.current&&aE.current.setCenter(b.position.x+40,b.position.y+12,{zoom:1.4,duration:600})},[]),aG=(0,e.useCallback)(()=>{al(null),ap(null);let a=!as;if(at(a),ax(a),a&&aE.current){let a=Array.from(x.keys()).map(a=>({id:a}));a.length&&aE.current.fitView({nodes:a,duration:600,padding:.4})}},[as,x]),aH=(0,e.useMemo)(()=>(0,J.b)(a,b,s),[a,b,s]),aI=(0,e.useCallback)(a=>{aE.current&&(a.focusIds.length?aE.current.fitView({nodes:a.focusIds.map(a=>({id:a})),duration:700,padding:.3,maxZoom:1.1}):aE.current.fitView({duration:700,padding:.1}))},[]),aJ=(0,K.W)(aH,aI),aK=(0,e.useCallback)(a=>ah(b=>(0,f._0)(a,b)),[]),aL=(0,e.useCallback)(a=>aj(b=>(0,f.zW)(a,b)),[]),aM=(0,e.useCallback)((a,b,c)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:a,x:b,y:c})})},[]),aN=(0,e.useMemo)(()=>new Set(b.filter(a=>a.circular).map(a=>`${a.from}|${a.to}`)),[b]),aO=(0,e.useMemo)(()=>{let a=new Set;for(let c of b)c.circular&&(a.add(c.from),a.add(c.to));return a},[b]),aP=ak??am,aQ=ay.trim().length>0,aR=(0,e.useMemo)(()=>{if(!aQ)return null;let b=new Set;for(let c of a)(0,M.Qk)((0,M.zn)(c),ay)&&b.add(c.path);return b},[a,ay,aQ]),aS=(0,e.useMemo)(()=>aQ?(0,M.r2)(a,ay,a=>(0,M.zn)(a),a=>({id:a.path,label:a.path,sublabel:a.lang??void 0,kind:"file"})):[],[a,ay,aQ]),aT=(0,e.useMemo)(()=>{if(ao){let a=ai.find(a=>a.id===ao);return a?new Set([a.source,a.target]):null}if(aP){let a=new Set([aP]);for(let c of b)c.from===aP&&a.add(c.to),c.to===aP&&a.add(c.from);return a}return aq?aO:as&&C?new Set(x.keys()):null},[aP,ao,aq,aO,b,ai,as,C,x]),aU=aJ.focusIds,aV=aU??aR??aT,aW=aR??aU,aX=(0,e.useMemo)(()=>{if(!au||!w)return null;let b=new Set;for(let c of a)(0,Q.F)(au,w.get(c.path)??null)||b.add(c.path);return b},[au,w,a]),aY=(0,e.useMemo)(()=>aV?ag.map(a=>{let b=aV.has(a.id);return{...a,zIndex:b&&aW?10:a.zIndex,style:{...a.style,opacity:b?1:.15,boxShadow:b&&aW?M.RU:a.style?.boxShadow,borderRadius:b&&aW?9999:a.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):aX?ag.map(a=>aX.has(a.id)?{...a,style:{...a.style,opacity:.15,transition:"opacity 120ms"}}:a):ag,[ag,aV,aW,aX]),aZ=(0,e.useMemo)(()=>aU?ai.map(a=>aU.has(a.source)&&aU.has(a.target)?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.9,strokeWidth:1.4}}:{...a,style:{...a.style,opacity:.05}}):aR?ai.map(a=>aR.has(a.source)&&aR.has(a.target)?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...a,style:{...a.style,opacity:.05}}):aP||ao||aq||as?ai.map(a=>{let b=!1;return ao?b=a.id===ao:aP?b=a.source===aP||a.target===aP:aq?b=aN.has(a.id):as&&(b=x.has(a.source)&&x.has(a.target)),b?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...a,style:{...a.style,opacity:.05}}}):aX?ai.map(a=>aX.has(a.source)||aX.has(a.target)?{...a,style:{...a.style,opacity:.05}}:a):ai,[ai,aP,ao,aq,aN,as,x,aR,aX,aU]),a$=(0,e.useMemo)(()=>{let a=ag.map(a=>{let b=_(a.data.inDegree??0);return{id:a.id,group:s.get(a.id)??"(root)",x:a.position.x,y:a.position.y,w:2*b,h:2*b}});return(0,O.S)(a,{pad:60})},[ag,s]),a_=(0,e.useMemo)(()=>{let b=new Map;if(!w)return b;let c=new Map;for(let b of a){let a=w.get(b.path);if(!a)continue;let d=s.get(b.path)??"(root)",e=c.get(d)??new Map;e.set(a,(e.get(a)??0)+1),c.set(d,e)}for(let[a,d]of c){let c=null,e=0,f=!1;for(let[a,b]of d)b>e?(c=a,e=b,f=!1):b===e&&(f=!0);b.set(a,f?null:c)}return b},[w,a,s]),a0=(0,e.useMemo)(()=>{let a=new Map;for(let b of s.values())a.set(b,(a.get(b)??0)+1);return Array.from(a.entries()).sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0])).map(([a,b])=>({group:a,count:b,color:(0,Z.i3)(a)}))},[s]),a1=b.filter(a=>a.circular).length,a2=(0,e.useMemo)(()=>ak?b.filter(a=>a.from===ak).map(a=>a.to):[],[ak,b]),a3=(0,e.useMemo)(()=>ak?b.filter(a=>a.to===ak).map(a=>a.from):[],[ak,b]),a4=null!==ak||aw&&C,a5=(0,e.useCallback)(()=>{al(null),ax(!1),at(!1)},[]);return aA?(0,d.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,d.jsxs)(f.Gc,{nodes:aY,edges:aZ,nodeTypes:aa,onNodesChange:aK,onEdgesChange:aL,onNodeClick:(a,b)=>{al(b.id),ap(null)},onEdgeClick:(a,b)=>{ap(b.id),al(null)},onPaneClick:()=>{al(null),ap(null)},onNodeMouseEnter:(a,b)=>an(b.id),onNodeMouseLeave:()=>an(null),onInit:a=>{aE.current=a},onNodeDragStop:(a,b)=>aM(b.id,b.position.x,b.position.y),deleteKeyCode:null,colorMode:"dark",fitView:!0,fitViewOptions:{padding:.1,minZoom:.18,maxZoom:.9},minZoom:.05,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,d.jsx)(P.Z,{regions:"far"===aC?a$:[],tone:"category",lod:aC}),g&&(0,d.jsx)(ab,{regions:"far"===aC?[]:a$,dominant:a_}),(0,d.jsx)(X.J,{onLod:aD,thresholds:Y.kz}),(0,d.jsx)(f.H2,{position:"bottom-right",className:"!overflow-hidden !rounded-xl !border !border-white/10 [&_button]:!border-white/10 [&_button]:!bg-card/70 [&_button]:!text-foreground [&_button]:!backdrop-blur"}),(0,d.jsx)(f.Zk,{position:"bottom-right",style:{marginBottom:152},children:(0,d.jsx)(R.er,{title:"Legend",trigger:(a,b)=>(0,d.jsx)("button",{type:"button",onClick:b,title:"Legend",className:(0,$.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",a?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,d.jsx)(A.A,{className:"size-4"})}),children:(0,d.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full bg-zinc-400"}),(0,d.jsx)("span",{children:"a file \xb7 bigger dot = more files import it"})]}),g&&(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full",style:{boxShadow:`inset 0 0 0 2px ${S.ZD.frontend}`}}),(0,d.jsx)("span",{children:"colored ring \xb7 frontend / backend layer"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#4a4a52]"}),(0,d.jsx)("span",{children:"line \xb7 imports another file"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-red-400"}),(0,d.jsx)("span",{children:"red \xb7 part of an import cycle"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsxs)("span",{"aria-hidden":!0,className:"inline-flex shrink-0 gap-0.5",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-full bg-violet-400"}),(0,d.jsx)("span",{className:"inline-block size-2 rounded-full bg-amber-400"})]}),(0,d.jsx)("span",{children:"dot color \xb7 its directory (chips, top-right)"})]})]})})}),(0,d.jsx)(f.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!overflow-hidden !rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),aH.length>0&&!aJ.active&&(0,d.jsx)(f.Zk,{position:"top-left",className:"!mt-14",children:(0,d.jsxs)("button",{type:"button",onClick:aJ.start,title:"Guided, dependency-ordered walkthrough of the codebase",className:"glass flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[(0,d.jsx)(B.A,{className:"size-3.5"}),"Start tour"]})}),(0,d.jsx)(f.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,d.jsx)(H.Z,{active:"FILES",tabs:[{value:"ROADMAP",label:"Roadmap",href:"/map?view=ROADMAP"},{value:"ARCHITECTURE",label:"Architecture",href:"/map?view=ARCHITECTURE"},{value:"DATABASE",label:"Database",href:"/map?view=DATABASE"},{value:"FILES",label:"Files",href:"/map?view=FILES"}]})}),(0,d.jsx)(f.Zk,{position:"top-right",className:"glass !mt-14 flex max-w-[300px] flex-wrap items-center justify-end gap-x-2.5 gap-y-1 rounded-xl px-3 py-1.5",children:a0.map(b=>(0,d.jsxs)("button",{type:"button",onClick:()=>{let c=a.filter(a=>(s.get(a.path)??"(root)")===b.group).map(a=>({id:a.path}));c.length&&aE.current?.fitView({nodes:c,duration:600,padding:.3,maxZoom:1})},title:`${b.count} files — click to zoom to ${b.group}`,className:"flex items-center gap-1.5 rounded px-1 py-0.5 text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:b.color}}),b.group]},b.group))}),(0,d.jsxs)(f.Zk,{position:"top-right",className:"flex items-center gap-2",children:[(0,d.jsx)(I.X,{query:ay,onQuery:az,hits:aS,placeholder:"Find a file…",onPick:a=>{az(""),aF(a)},onZoomToMatches:()=>{aR?.size&&aE.current?.fitView({nodes:[...aR].map(a=>({id:a})),duration:600,padding:.3})}}),g&&(0,d.jsx)(Q.o,{value:au,onChange:av,options:["frontend","backend"]}),(0,d.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,d.jsxs)("span",{className:"text-muted-foreground",children:[a.length," files \xb7 ",b.length," imports"]}),a1>0&&(0,d.jsxs)("button",{type:"button",onClick:()=>{ar(a=>!a),al(null),ap(null)},title:aq?"Show all imports":"Show only files involved in import cycles",className:(0,$.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",aq?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),a1," circular"]}),C&&(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)("button",{type:"button",onClick:aG,title:as?"Show all files again":"Focus + zoom to the files edited this session",className:(0,$.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",as?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,d.jsx)(D,{className:"size-3"}),x.size," edited"]})})]})]})]}),a4&&(0,d.jsxs)(G.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:ak?"File":"Edited this session"}),(0,d.jsx)("button",{onClick:a5,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,d.jsx)(E.A,{className:"size-4"})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:ak?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,d.jsx)(F,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,d.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:ak.slice(ak.lastIndexOf("/")+1)})]}),(0,d.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:ak})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(r=x.get(ak))?(0,d.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",r.count,"\xd7"]}):null,v.has(ak)&&(0,d.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,d.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(ak)}`).catch(()=>{}),className:"w-full rounded-md border border-white/10 px-2 py-1.5 text-[11px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Open in editor"}),(0,d.jsx)(ad,{label:"Imports",paths:a2,onPick:aF}),(0,d.jsx)(ad,{label:"Imported by",paths:a3,onPick:aF})]}):(0,d.jsx)("ul",{className:"space-y-0.5",children:V.map(a=>(0,d.jsx)("li",{children:(0,d.jsxs)("button",{onClick:()=>aF(a.path),title:a.path,className:"flex w-full items-center justify-between gap-2 rounded px-2 py-1 text-left transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)("span",{className:"truncate text-[11px] text-foreground/90",children:a.label}),(0,d.jsxs)("span",{className:"shrink-0 text-[9px] text-teal-300/80",children:[a.count,"\xd7"]})]})},a.path))})})]}),aJ.active&&aJ.step&&(0,d.jsx)(L.d,{steps:aH,index:aJ.index,onPrev:aJ.prev,onNext:aJ.next,onExit:aJ.stop,onGoto:aJ.goto})]}):(0,d.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function ad({label:a,paths:b,onPick:c}){return b.length?(0,d.jsxs)("div",{children:[(0,d.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a," (",b.length,")"]}),(0,d.jsx)("ul",{className:"space-y-0.5",children:b.map(a=>(0,d.jsx)("li",{children:(0,d.jsx)("button",{onClick:()=>c(a),title:a,className:"block w-full truncate rounded px-1.5 py-0.5 text-left font-mono text-[10px] text-muted-foreground transition-colors hover:bg-white/5 hover:text-foreground",children:a.slice(a.lastIndexOf("/")+1)})},a))})]}):null}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},72179:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{BK:()=>B,CW:()=>D,Gf:()=>u,NK:()=>y,Vs:()=>v,XF:()=>C,iL:()=>t,mk:()=>A,rw:()=>w,zO:()=>x});var e=c(77598),f=c(73024),g=c(76760),h=c(44046),i=c(34216),j=c(56727),k=c(30046),l=c(45301),m=c(32213),n=c(19734),o=c(86548),p=c(96976),q=a([j,n]);function r(){return(0,g.join)((0,l.KS)(),"draft.json")}function s(){return(0,g.join)((0,l.KS)(),"draft-verdict.json")}function t(){try{return JSON.parse((0,f.readFileSync)(r(),"utf8"))}catch{return null}}function u(a,b=0,c=Date.now()){let d=function(a,b,c=0){let d=new Map;for(let b of a.tables)d.set(b.name,(0,e.randomUUID)());let f=a.endpoints.map(()=>(0,e.randomUUID)()),g=(0,p.kq)(a.tables.map(a=>({id:d.get(a.name),name:a.name,domain:a.domain??null,columnCount:a.columns.length})),a.endpoints.map((a,b)=>({id:f[b],method:a.method,path:a.path,uses:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b}]:[]})}))),h=a.tables.map(a=>{let b=d.get(a.name),e=g.tables.get(b)??{x:0,y:0};return{id:b,name:a.name,domain:a.domain??null,description:a.description??null,x:e.x,y:c+e.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null}))}}),i=a.relations.flatMap(a=>{let b=d.get(a.fromTable),c=d.get(a.toTable);return b&&c?[{id:(0,e.randomUUID)(),fromTableId:b,toTableId:c,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`}]:[]}),j=a.endpoints.map((a,b)=>{let e=f[b],h=g.endpoints.get(e)??{x:0,y:0};return{id:e,method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,x:h.x,y:c+h.y,links:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b,access:a.access}]:[]})}});return{proposedAt:b,status:"pending",tables:h,relations:i,endpoints:j}}(a,c,b);return(0,m.q)(r(),d),(0,f.rmSync)(s(),{force:!0}),d}function v(){(0,f.rmSync)(r(),{force:!0})}function w(){(0,f.rmSync)(r(),{force:!0}),(0,f.rmSync)(s(),{force:!0})}function x(a){let b=new Map(a.tables.map(a=>[a.id,a.name])),c=["## Approved schema","","### Tables"];for(let b of a.tables)for(let a of(c.push(`- **${b.name}**${b.domain?` (${b.domain})`:""}`),b.columns)){let b=[a.isPk&&"PK",a.isFk&&"FK",a.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");c.push(` - ${a.name} ${a.type}${b?` ${b}`:""}${a.note?` — ${a.note}`:""}`)}if(a.relations.length)for(let d of(c.push("","### Relations (FKs)"),a.relations)){let a=b.get(d.fromTableId)??d.fromTableId,e=b.get(d.toTableId)??d.toTableId;c.push(`- ${a}.${d.fromColumn} → ${e}.${d.toColumn}`)}if(a.endpoints.length)for(let d of(c.push("","### Endpoints"),a.endpoints)){let a=d.links.map(a=>`${b.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`- ${d.method} ${d.path}${a?` — ${a}`:""}`)}return c.join("\n")}function y(a,b){let c=[],d=new Map(a.tables.map(a=>[a.name,a])),e=new Map(b.tables.map(a=>[a.name,a]));for(let a of b.tables)d.has(a.name)||c.push(`added table **${a.name}**`);for(let b of a.tables)e.has(b.name)||c.push(`removed table **${b.name}**`);for(let a of b.tables){let b=d.get(a.name);if(!b)continue;let e=new Map(b.columns.map(a=>[a.name,a])),f=new Map(a.columns.map(a=>[a.name,a]));for(let b of a.columns){let d=e.get(b.name);if(!d){c.push(`added column **${a.name}.${b.name}** (${b.type})`);continue}let f=[];d.type!==b.type&&f.push(`type ${d.type} → ${b.type}`),d.isPk!==b.isPk&&f.push(b.isPk?"now PK":"no longer PK"),d.isFk!==b.isFk&&f.push(b.isFk?"now FK":"no longer FK"),d.nullable!==b.nullable&&f.push(b.nullable?"now accepts NULL":"now NOT NULL"),(d.note??"")!==(b.note??"")&&f.push(`note: "${b.note??""}"`),f.length&&c.push(`changed **${a.name}.${b.name}** — ${f.join("; ")}`)}for(let d of b.columns)f.has(d.name)||c.push(`removed column **${a.name}.${d.name}** (was ${d.type})`)}let f=(a,b)=>`${b.get(a.fromTableId)??a.fromTableId}.${a.fromColumn}→${b.get(a.toTableId)??a.toTableId}.${a.toColumn}`,g=new Map(a.tables.map(a=>[a.id,a.name])),h=new Map(b.tables.map(a=>[a.id,a.name])),i=new Set(a.relations.map(a=>f(a,g))),j=new Set(b.relations.map(a=>f(a,h)));for(let a of j)i.has(a)||c.push(`added relation ${a}`);for(let a of i)j.has(a)||c.push(`removed relation ${a}`);let k=a=>`${a.method} ${a.path}`,l=new Map(a.endpoints.map(a=>[k(a),a])),m=new Map(b.endpoints.map(a=>[k(a),a]));for(let[a,b]of m)if(!l.has(a)){let d=b.links.map(a=>`${h.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`added endpoint **${a}**${d?` — ${d}`:""}`)}for(let[a]of l)m.has(a)||c.push(`removed endpoint **${a}**`);return c}function z(a){(0,m.q)(s(),a)}function A(){let a=t();a&&z({proposedAt:a.proposedAt,status:"discarded",summary:"The user discarded the draft."}),v()}function B(){let a=t();if(a)return{state:"pending",proposedAt:a.proposedAt};let b=function(){try{return JSON.parse((0,f.readFileSync)(s(),"utf8"))}catch{return null}}();return b?{state:b.status,proposedAt:b.proposedAt,summary:b.summary,detail:b.detail}:{state:"none"}}[j,n]=q.then?(await q)():q;let E=h.Ik({proposedAt:h.ai(),status:h.Yj(),tables:h.YO(h.Ik({id:h.Yj(),name:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),columns:h.YO(h.Ik({name:h.Yj().trim().min(1),type:h.Yj(),isPk:h.zM(),isFk:h.zM(),nullable:h.zM(),note:h.Yj().nullable()}))})),relations:h.YO(h.Ik({id:h.Yj(),fromTableId:h.Yj(),toTableId:h.Yj(),fromColumn:h.Yj(),toColumn:h.Yj(),label:h.Yj().nullable()})),endpoints:h.YO(h.Ik({id:h.Yj(),method:h.Yj().trim().min(1),path:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),links:h.YO(h.Ik({tableId:h.Yj(),access:h.Yj()}))}))});async function C(a,b=j.db,c={}){let d=E.parse(a),e=new Map(d.tables.map(a=>[a.id,a.name])),f=new Map,g=c.planId??null;for(let a of d.tables){let[c]=await b.insert(k.dbTable).values({name:a.name,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:k.dbTable.name,set:{domain:a.domain,description:a.description,planId:g}}).returning();f.set(a.name,c.id),await b.delete(k.dbColumn).where((0,i.eq)(k.dbColumn.tableId,c.id)),a.columns.length&&await b.insert(k.dbColumn).values(a.columns.map((a,b)=>({tableId:c.id,name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note,ord:b})))}let h=async a=>{let c=e.get(a);if(c)return f.get(c)??null;let d=await b.query.dbTable.findFirst({where:(b,{eq:c})=>c(b.id,a)}).catch(()=>null);return d?d.id:null};for(let a of d.relations){let c=await h(a.fromTableId),d=await h(a.toTableId);c&&d&&(await b.query.dbRelation.findFirst({where:(b,{and:e,eq:f})=>e(f(b.fromTableId,c),f(b.toTableId,d),f(b.fromColumn,a.fromColumn),f(b.toColumn,a.toColumn))})||await b.insert(k.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label}))}for(let a of d.endpoints){let[c]=await b.insert(k.endpoint).values({method:a.method,path:a.path,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:[k.endpoint.method,k.endpoint.path],set:{domain:a.domain,description:a.description,planId:g}}).returning();for(let d of(await b.delete(k.endpointTable).where((0,i.eq)(k.endpointTable.endpointId,c.id)),a.links)){let a=await h(d.tableId);a&&await b.insert(k.endpointTable).values({endpointId:c.id,tableId:a,access:d.access}).catch(()=>{})}}let l=`${d.tables.length} table(s), ${d.relations.length} relation(s) and ${d.endpoints.length} endpoint(s) approved and persisted to the schema.`;return z({proposedAt:d.proposedAt,status:"approved",summary:l,detail:x(d)}),v(),await (0,n.Bx)(b),{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length}}async function D(a=j.db){let b=await a.query.endpoint.findMany({with:{tables:!0}}),c=0;for(let d of b)if("write"===(0,o.P)(d.method))for(let b of d.tables)"read"===b.access&&(await a.update(k.endpointTable).set({access:"write"}).where((0,i.eq)(k.endpointTable.id,b.id)),c++);return c}d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86548:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});let d=new Set(["GET","HEAD","OPTIONS"]);function e(a){return d.has(a.trim().toUpperCase())?"read":"write"}},88863:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TD:()=>m,nO:()=>l,xJ:()=>n,yT:()=>k});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let o=e.Ik({targetKind:e.KC([e.eu("feature"),e.eu("table"),e.eu("column"),e.eu("endpoint")]),targetId:e.Yj().min(1),columnName:e.Yj().min(1).optional()}).refine(a=>"column"!==a.targetKind||!!a.columnName,{message:"columnName is required when targetKind is column"}),p=e.Ik({body:e.Yj().max(2e3),x:e.ai(),y:e.ai()}).partial();async function k(a){let b=o.parse(a),[c]=await g.db.insert(h.boardAnnotation).values(b).returning();return await (0,i.Bx)(),c}async function l(){return g.db.query.boardAnnotation.findMany({orderBy:(a,{asc:b})=>[b(a.createdAt),b(a.id)]})}async function m(a,b){let c=p.parse(b),[d]=await g.db.update(h.boardAnnotation).set(c).where((0,f.eq)(h.boardAnnotation.id,a)).returning();return d}async function n(a){let[b]=await g.db.delete(h.boardAnnotation).where((0,f.eq)(h.boardAnnotation.id,a)).returning();return await (0,i.Bx)(),b}d()}catch(a){d(a)}})},90457:(a,b,c)=>{"use strict";c.d(b,{O:()=>f});let d=new Set(["DONE","CANCELLED"]),e=new Set(["PENDING","IN_PROGRESS"]);function f(a,b,c=3){let g=a.filter(a=>!a.parentId&&e.has(a.status)),h=new Set(a.filter(a=>d.has(a.status)).map(a=>a.id)),i=a=>b.every(b=>"DEPENDS"!==b.kind||b.fromId!==a||h.has(b.toId)),j=[],k=new Set;for(;j.length<c;){let a=g.filter(a=>!k.has(a.id)&&("IN_PROGRESS"===a.status||i(a.id)));if(0===a.length)break;let b=a.filter(a=>"IN_PROGRESS"===a.status),c=b.length?b:a,d=c[0];for(let a of c)a.priority<d.priority&&(d=a);j.push(d.id),k.add(d.id),h.add(d.id)}return j}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,9884,3254,5871,4046,319,4217,5573,8846,5719,2999,9683,9734,1341,1130,4307,9773],()=>b(b.s=58286));module.exports=c})();
1
+ (()=>{var a={};a.id=5823,a.ids=[5823],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1441:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});let d=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;function e(a,b){var c;let e=new Set;for(let a of b)c=a.from,d.test(c)&&e.add(a.to);let f=new Set;for(let b of a)d.test(b)||e.has(b)||f.add(b);return f}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},7239:(a,b,c)=>{"use strict";c.d(b,{DbMapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call DbMapClient() from the server but DbMapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/db-map-client.tsx","DbMapClient")},7982:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{default:()=>v,dynamic:()=>w});var e=c(5735),f=c(56727),g=c(58465),h=c(70299),i=c(72595),j=c(73033),k=c(7903),l=c(56030),m=c(42696),n=c(7239),o=c(72179),p=c(88863),q=c(42912),r=c(90457),s=c(6716),t=c(84853),u=a([f,g,h,i,j,o,p]);[f,g,h,i,j,o,p]=u.then?(await u)():u;let w="force-dynamic";async function v({searchParams:a}){let b=await a,c="ARCHITECTURE"===b.view?"ARCHITECTURE":"FILES"===b.view?"FILES":"DATABASE"===b.view?"DATABASE":"ROADMAP";return(0,s.X_)(await (0,t.C5)(b.ws),async()=>{let a,b=(await (0,p.nO)()).map(a=>({id:a.id,targetKind:a.targetKind,targetId:a.targetId,columnName:a.columnName,body:a.body,x:a.x,y:a.y}));if("DATABASE"===c){await (0,j.v)();let{tables:a,relations:c,endpoints:d}=await (0,g.F)(),f=(0,o.iL)(),h=(0,s.VB)()?.id??"default";return(0,e.jsx)(n.DbMapClient,{tables:a,relations:c,endpoints:d,draft:f,workspaceId:h,boardAnnotations:b})}if("FILES"===c){let[a,b]=await Promise.all([f.db.query.codeFile.findMany({columns:{path:!0,x:!0,y:!0,lang:!0,inDegree:!0,outDegree:!0}}),f.db.query.codeFileEdge.findMany({columns:{fromPath:!0,toPath:!0,circular:!0}})]),c=a.filter(a=>"__init__.py"!==a.path&&!a.path.endsWith("/__init__.py")),d=new Set(c.map(a=>a.path)),g=b.filter(a=>d.has(a.fromPath)&&d.has(a.toPath));return(0,e.jsx)(m.FilesMapClient,{files:c.map(a=>({path:a.path,x:a.x,y:a.y,lang:a.lang,inDegree:a.inDegree,outDegree:a.outDegree})),edges:g.map(a=>({from:a.fromPath,to:a.toPath,circular:a.circular})),touched:(0,q.Tn)(),hasFrontend:await (0,i.jZ)(),classificationRoots:await (0,i.Wg)()})}("ROADMAP"===c||"ARCHITECTURE"===c)&&await (0,h.r$)(c);let d=await (0,i.jZ)(),t="ROADMAP"===c?(a=(0,k.VE)("roadmap").arrangedBy,"cluster"===a||"status"===a||"priority"===a?a:null):null,{nodes:u,edges:v}=await (0,g.V)(c),w=(0,k.VE)("ROADMAP"===c?"roadmap":"architecture").collapsed,x="ROADMAP"===c?(0,r.O)(u.map(a=>({id:a.id,parentId:a.parentId,status:a.status,priority:a.priority})),v.map(a=>({fromId:a.fromId,toId:a.toId,kind:a.kind})),3):[];return(0,e.jsx)(l.MapClient,{view:c,nodes:u,edges:v,workOrder:x,boardAnnotations:b,initialArrangedBy:t,initialCollapsed:w,hasFrontend:d})})}d()}catch(a){d(a)}})},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11074:(a,b,c)=>{Promise.resolve().then(c.bind(c,29051)),Promise.resolve().then(c.bind(c,24530)),Promise.resolve().then(c.bind(c,30939))},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},24530:(a,b,c)=>{"use strict";c.d(b,{FilesMapClient:()=>ap});var d=c(48249),e=c(67484),f=c(56024),g=c(55030),h=c(78327),i=c(12443);function j(a){return a.x}function k(a){return a.y}var l=Math.PI*(3-Math.sqrt(5));function m(a){return function(){return a}}function n(a){return(a()-.5)*1e-6}function o(a){return a.index}function p(a,b){var c=a.get(b);if(!c)throw Error("node not found: "+b);return c}function q(a,b,c,d){if(isNaN(b)||isNaN(c))return a;var e,f,g,h,i,j,k,l,m,n=a._root,o={data:d},p=a._x0,q=a._y0,r=a._x1,s=a._y1;if(!n)return a._root=o,a;for(;n.length;)if((j=b>=(f=(p+r)/2))?p=f:r=f,(k=c>=(g=(q+s)/2))?q=g:s=g,e=n,!(n=n[l=k<<1|j]))return e[l]=o,a;if(h=+a._x.call(null,n.data),i=+a._y.call(null,n.data),b===h&&c===i)return o.next=n,e?e[l]=o:a._root=o,a;do e=e?e[l]=[,,,,]:a._root=[,,,,],(j=b>=(f=(p+r)/2))?p=f:r=f,(k=c>=(g=(q+s)/2))?q=g:s=g;while((l=k<<1|j)==(m=(i>=g)<<1|h>=f));return e[m]=n,e[l]=o,a}function r(a,b,c,d,e){this.node=a,this.x0=b,this.y0=c,this.x1=d,this.y1=e}function s(a){return a[0]}function t(a){return a[1]}function u(a,b,c){var d=new v(null==b?s:b,null==c?t:c,NaN,NaN,NaN,NaN);return null==a?d:d.addAll(a)}function v(a,b,c,d,e,f){this._x=a,this._y=b,this._x0=c,this._y0=d,this._x1=e,this._y1=f,this._root=void 0}function w(a){for(var b={data:a.data},c=b;a=a.next;)c=c.next={data:a.data};return b}var x=u.prototype=v.prototype;function y(a){return a.x+a.vx}function z(a){return a.y+a.vy}x.copy=function(){var a,b,c=new v(this._x,this._y,this._x0,this._y0,this._x1,this._y1),d=this._root;if(!d)return c;if(!d.length)return c._root=w(d),c;for(a=[{source:d,target:c._root=[,,,,]}];d=a.pop();)for(var e=0;e<4;++e)(b=d.source[e])&&(b.length?a.push({source:b,target:d.target[e]=[,,,,]}):d.target[e]=w(b));return c},x.add=function(a){let b=+this._x.call(null,a),c=+this._y.call(null,a);return q(this.cover(b,c),b,c,a)},x.addAll=function(a){var b,c,d,e,f=a.length,g=Array(f),h=Array(f),i=1/0,j=1/0,k=-1/0,l=-1/0;for(c=0;c<f;++c)!(isNaN(d=+this._x.call(null,b=a[c]))||isNaN(e=+this._y.call(null,b)))&&(g[c]=d,h[c]=e,d<i&&(i=d),d>k&&(k=d),e<j&&(j=e),e>l&&(l=e));if(i>k||j>l)return this;for(this.cover(i,j).cover(k,l),c=0;c<f;++c)q(this,g[c],h[c],a[c]);return this},x.cover=function(a,b){if(isNaN(a*=1)||isNaN(b*=1))return this;var c=this._x0,d=this._y0,e=this._x1,f=this._y1;if(isNaN(c))e=(c=Math.floor(a))+1,f=(d=Math.floor(b))+1;else{for(var g,h,i=e-c||1,j=this._root;c>a||a>=e||d>b||b>=f;)switch(h=(b<d)<<1|a<c,(g=[,,,,])[h]=j,j=g,i*=2,h){case 0:e=c+i,f=d+i;break;case 1:c=e-i,f=d+i;break;case 2:e=c+i,d=f-i;break;case 3:c=e-i,d=f-i}this._root&&this._root.length&&(this._root=j)}return this._x0=c,this._y0=d,this._x1=e,this._y1=f,this},x.data=function(){var a=[];return this.visit(function(b){if(!b.length)do a.push(b.data);while(b=b.next)}),a},x.extent=function(a){return arguments.length?this.cover(+a[0][0],+a[0][1]).cover(+a[1][0],+a[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},x.find=function(a,b,c){var d,e,f,g,h,i,j,k=this._x0,l=this._y0,m=this._x1,n=this._y1,o=[],p=this._root;for(p&&o.push(new r(p,k,l,m,n)),null==c?c=1/0:(k=a-c,l=b-c,m=a+c,n=b+c,c*=c);i=o.pop();)if((p=i.node)&&!((e=i.x0)>m)&&!((f=i.y0)>n)&&!((g=i.x1)<k)&&!((h=i.y1)<l))if(p.length){var q=(e+g)/2,s=(f+h)/2;o.push(new r(p[3],q,s,g,h),new r(p[2],e,s,q,h),new r(p[1],q,f,g,s),new r(p[0],e,f,q,s)),(j=(b>=s)<<1|a>=q)&&(i=o[o.length-1],o[o.length-1]=o[o.length-1-j],o[o.length-1-j]=i)}else{var t=a-this._x.call(null,p.data),u=b-this._y.call(null,p.data),v=t*t+u*u;if(v<c){var w=Math.sqrt(c=v);k=a-w,l=b-w,m=a+w,n=b+w,d=p.data}}return d},x.remove=function(a){if(isNaN(f=+this._x.call(null,a))||isNaN(g=+this._y.call(null,a)))return this;var b,c,d,e,f,g,h,i,j,k,l,m,n=this._root,o=this._x0,p=this._y0,q=this._x1,r=this._y1;if(!n)return this;if(n.length)for(;;){if((j=f>=(h=(o+q)/2))?o=h:q=h,(k=g>=(i=(p+r)/2))?p=i:r=i,b=n,!(n=n[l=k<<1|j]))return this;if(!n.length)break;(b[l+1&3]||b[l+2&3]||b[l+3&3])&&(c=b,m=l)}for(;n.data!==a;)if(d=n,!(n=n.next))return this;return((e=n.next)&&delete n.next,d)?e?d.next=e:delete d.next:b?(e?b[l]=e:delete b[l],(n=b[0]||b[1]||b[2]||b[3])&&n===(b[3]||b[2]||b[1]||b[0])&&!n.length&&(c?c[m]=n:this._root=n)):this._root=e,this},x.removeAll=function(a){for(var b=0,c=a.length;b<c;++b)this.remove(a[b]);return this},x.root=function(){return this._root},x.size=function(){var a=0;return this.visit(function(b){if(!b.length)do++a;while(b=b.next)}),a},x.visit=function(a){var b,c,d,e,f,g,h=[],i=this._root;for(i&&h.push(new r(i,this._x0,this._y0,this._x1,this._y1));b=h.pop();)if(!a(i=b.node,d=b.x0,e=b.y0,f=b.x1,g=b.y1)&&i.length){var j=(d+f)/2,k=(e+g)/2;(c=i[3])&&h.push(new r(c,j,k,f,g)),(c=i[2])&&h.push(new r(c,d,k,j,g)),(c=i[1])&&h.push(new r(c,j,e,f,k)),(c=i[0])&&h.push(new r(c,d,e,j,k))}return this},x.visitAfter=function(a){var b,c=[],d=[];for(this._root&&c.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));b=c.pop();){var e=b.node;if(e.length){var f,g=b.x0,h=b.y0,i=b.x1,j=b.y1,k=(g+i)/2,l=(h+j)/2;(f=e[0])&&c.push(new r(f,g,h,k,l)),(f=e[1])&&c.push(new r(f,k,h,i,l)),(f=e[2])&&c.push(new r(f,g,l,k,j)),(f=e[3])&&c.push(new r(f,k,l,i,j))}d.push(b)}for(;b=d.pop();)a(b.node,b.x0,b.y0,b.x1,b.y1);return this},x.x=function(a){return arguments.length?(this._x=a,this):this._x},x.y=function(a){return arguments.length?(this._y=a,this):this._y},c(71763);var A=c(10920),B=c(32039),C=c(64686);let D=(0,C.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);var E=c(45535);let F=(0,C.A)("file-code-corner",[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]]);var G=c(48779),H=c(55805),I=c(54193);let J=(0,C.A)("file-braces",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),K=(0,C.A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]),L=(0,C.A)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var M=c(91995);let N=(0,C.A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),O=(0,C.A)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);function P(a,b){return{name:a,path:b,folders:new Map,files:new Map}}function Q(a,b){return a.kind!==b.kind?"folder"===a.kind?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base"})}var R=c(33191);let S={added:"text-emerald-400",modified:"text-amber-300",deleted:"text-rose-400 line-through"},T={added:"bg-emerald-400",modified:"bg-amber-300",deleted:"bg-rose-400"};function U({name:a,className:b}){let c=a.slice(a.lastIndexOf(".")+1).toLowerCase();return["ts","tsx","js","jsx","mjs","cjs"].includes(c)?(0,d.jsx)(F,{className:b}):"json"===c?(0,d.jsx)(J,{className:b}):["md","mdx","txt","css","scss"].includes(c)?(0,d.jsx)(K,{className:b}):(0,d.jsx)(L,{className:b})}function V({nodes:a,depth:b,collapsed:c,onToggle:e,onSelect:f}){return(0,d.jsx)("ul",{className:(0,R.cn)(b>0&&"ml-[7px] border-l border-white/10 pl-1.5"),children:a.map(a=>"folder"===a.kind?(0,d.jsxs)("li",{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>e(a.path),title:a.path,className:"flex w-full items-center gap-1 rounded px-1.5 py-1 text-left text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,d.jsx)(M.A,{className:(0,R.cn)("size-3 shrink-0 transition-transform",!c.has(a.path)&&"rotate-90")}),c.has(a.path)?(0,d.jsx)(N,{className:"size-3.5 shrink-0 text-muted-foreground"}):(0,d.jsx)(O,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"truncate text-[11px] font-medium",children:a.name})]}),!c.has(a.path)&&(0,d.jsx)(V,{nodes:a.children,depth:b+1,collapsed:c,onToggle:e,onSelect:f})]},`d:${a.path}`):(0,d.jsx)("li",{children:(0,d.jsxs)("button",{type:"button",onClick:()=>f(a),title:a.path,className:"flex w-full items-center gap-1.5 rounded py-1 pl-[18px] pr-1.5 text-left transition-colors hover:bg-white/[0.06]",children:[(0,d.jsx)(U,{name:a.name,className:(0,R.cn)("size-3.5 shrink-0",a.status?S[a.status]:"text-muted-foreground")}),(0,d.jsx)("span",{className:(0,R.cn)("truncate text-[11px]",a.status?S[a.status]:"text-foreground/90"),children:a.name}),(0,d.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-1.5",children:[a.meta&&(0,d.jsx)("span",{className:"text-[9px] text-teal-300/80",children:a.meta}),a.status&&(0,d.jsx)("span",{className:(0,R.cn)("size-1.5 rounded-full",T[a.status])})]})]})},`f:${a.path}`))})}function W({files:a,onSelect:b,collapse:c=!0,emptyLabel:f,className:g}){let h=(0,e.useMemo)(()=>(function(a,b={}){let c=b.collapseSingleChildFolders??!0,d=P("","");for(let b of a){let a=b.path.split("\\").join("/").trim().replace(/^\/+/,"").replace(/\/+$/,"");if(!a)continue;let c=a.split("/").filter(Boolean);if(!c.length)continue;let e=d;for(let a=0;a<c.length-1;a++){let b=c[a],d=e.path?`${e.path}/${b}`:b,f=e.folders.get(b);f||(f=P(b,d),e.folders.set(b,f)),e=f}let f=c[c.length-1];e.files.set(f,{kind:"file",name:f,path:a,status:b.status,meta:b.meta})}return function a(b,c){let d=[];for(let e of b.folders.values())d.push(function(b,c){let d=b.name,e=b;for(;c&&0===e.files.size&&1===e.folders.size;){let a=e.folders.values().next().value;d=`${d}/${a.name}`,e=a}return{kind:"folder",name:d,path:e.path,children:a(e,c)}}(e,c));for(let a of b.files.values())d.push(a);return d.sort(Q)}(d,c)})(a,{collapseSingleChildFolders:c}),[a,c]),[i,j]=(0,e.useState)(()=>new Set);return h.length?(0,d.jsx)("div",{className:g,children:(0,d.jsx)(V,{nodes:h,depth:0,collapsed:i,onToggle:a=>j(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c}),onSelect:a=>{var c;return b?b(a.path):(c=a.path,void fetch(`/api/open?path=${encodeURIComponent(c)}`).catch(()=>{}))}})}):f?(0,d.jsx)("p",{className:(0,R.cn)("px-2 py-1 text-[11px] text-muted-foreground",g),children:f}):null}var X=c(40335),Y=c(25127),Z=c(40359),$=c(81725);let _=/(^|\/)tests?\/|\.(test|spec)\.[jt]sx?$/i;var aa=c(27741),ab=c(67637),ac=c(84170),ad=c(92994),ae=c(78103);let af=/\.(py|go|rb|rs|java|php|ex|exs)$/i,ag=/(^|\/)(app\/api|pages\/api|migrations|bin)\/|(^|\/)instrumentation\.[^/]+$/,ah=a=>a.includes("/")?a.slice(0,a.indexOf("/")):"(root)";function ai(a){let b=Math.max(14,.35*a.length),c=new Map;for(let b of a)c.set(b,ah(b));for(let a=0;a<6;a++){let a=new Map;for(let b of c.values())a.set(b,(a.get(b)??0)+1);let d=!1;for(let[e,f]of c){if((a.get(f)??0)<=b||!e.startsWith(`${f}/`))continue;let g=e.slice(f.length+1);g.includes("/")&&(c.set(e,`${f}/${g.slice(0,g.indexOf("/"))}`),d=!0)}if(!d)break}return c}var aj=c(50605),ak=c(91365),al=c(33346);function am(a){return 5+.5*Math.min(a,26)}let an={file:function({data:a}){let b=(0,aj.k)(ak.kz),c=!!a.touched,e=a.recency??0,h=a.inDegree??0,i=am(h),j=a.layer??null,k=2*!!j,l=h>0?` \xb7 imported by ${h}`:"",m=j?` \xb7 ${"fullstack"===j?"shared (used by frontend + backend)":ae.YG[j].label.toLowerCase()}`:"",n=c?`${a.tooltip} \xb7 edited ${a.count??0}\xd7 this session${l}${m}`:a.untested?`${a.tooltip} \xb7 no test imports this file${l}${m}`:`${a.tooltip}${l}${m}`;return(0,d.jsxs)("div",{title:n,className:"relative flex flex-col items-center",children:[(0,d.jsx)(f.h7,{type:"target",position:g.yX.Top,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+k,left:"50%"}}),(0,d.jsx)("span",{"aria-hidden":!0,className:(0,R.cn)("rounded-full",a.isNewest&&"animate-touch-pulse"),style:{padding:k,background:j?(0,ae.A6)(j):void 0,boxShadow:c?`0 0 ${8+Math.round(14*e)}px ${2+Math.round(3*e)}px rgba(45,212,191,${(.35+.45*e).toFixed(2)})`:a.untested?"0 0 0 2px rgba(251,191,36,0.65)":"none"},children:(0,d.jsx)("span",{"aria-hidden":!0,className:"block rounded-full",style:{width:2*i,height:2*i,backgroundColor:a.dirColor}})}),c&&(a.count??0)>0&&(0,d.jsx)("span",{"aria-hidden":!0,className:"absolute -right-2 -top-2 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-teal-400 px-0.5 text-[8px] font-bold text-background ring-1 ring-background",children:a.count}),("full"===b||"mid"===b&&h>=4)&&(0,d.jsx)("span",{className:(0,R.cn)("pointer-events-none mt-1 max-w-44 truncate text-[10px] leading-tight",c?"font-semibold text-teal-100":"text-foreground/75"),children:a.label}),(0,d.jsx)(f.h7,{type:"source",position:g.yX.Bottom,isConnectable:!1,className:"!h-0 !w-0 !min-w-0 !border-0 !bg-transparent",style:{top:i+k,bottom:"auto",left:"50%"}})]})}};function ao({regions:a,dominant:b}){return(0,d.jsx)(f.DX,{children:a.map(a=>{let c=b.get(a.key);return c&&"fullstack"!==c?(0,d.jsx)("div",{style:{position:"absolute",transform:`translate(${a.x-.15*a.w}px, ${a.y-.15*a.h}px)`,width:1.3*a.w,height:1.3*a.h,pointerEvents:"none",zIndex:0,background:`radial-gradient(closest-side, ${ae.ZD[c]} 0%, transparent 72%)`,opacity:.1}},a.key):null})})}function ap({files:a,edges:b,touched:c,hasFrontend:g=!1,classificationRoots:q=[]}){let r,s=(0,e.useMemo)(()=>(function(a,b){let c=function(a){if(!a?.length)return[];let b=new Set;for(let c of a){let a=c.trim().replace(/^\/+|\/+$/g,"");a&&b.add(a)}return[...b]}(b);if(!c.length)return ai(a);let d=new Map,e=[];for(let b of a){let a=function(a,b){let c=null;for(let d of b)(a===d||a.startsWith(`${d}/`))&&(!c||d.length>c.length)&&(c=d);return c}(b,c);a?d.set(b,function(a,b){if(a===b||!a.startsWith(`${b}/`))return b;let c=a.slice(b.length+1);return c.includes("/")?`${b}/${c.slice(0,c.indexOf("/"))}`:b}(b,a)):e.push(b)}for(let[a,b]of ai(e))d.set(a,b);return d})(a.map(a=>a.path),q),[a,q]),t=(0,e.useMemo)(()=>(function(a,b,c){let d=function(a){let b=new Map;for(let c of a.values())b.set(c,(b.get(c)??0)+1);let c=Array.from(b.entries()).sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0])),d=Math.max(1,Math.ceil(Math.sqrt(2.5*c.length))),e=new Map;return c.forEach(([a],b)=>{e.set(a,{x:b%d*1250,y:950*Math.floor(b/d)})}),e}(c),e=a=>d.get(c.get(a)??"(root)"),f=a.map(a=>{let b=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c++)b=(b^a.charCodeAt(c))*0x1000193>>>0;return{x:(b%10007/10007-.5)*900,y:((b>>>13)%10007/10007-.5)*900}}(a.path),c=e(a.path);return{id:a.path,x:c.x+.5*b.x,y:c.y+.5*b.y,pinned:!1,radius:am(a.inDegree??0)+22}}),g=b.filter(a=>a.from!==a.to).map(a=>({source:a.from,target:a.to})),q=(function(a){let b;var c,d=1,e=.001,f=1-Math.pow(.001,1/300),g=0,j=.6,k=new Map,m=(0,i.O1)(p),n=(0,h.A)("tick","end"),o=(b=1,()=>(b=(1664525*b+0x3c6ef35f)%0x100000000)/0x100000000);function p(){q(),n.call("tick",c),d<e&&(m.stop(),n.call("end",c))}function q(b){var e,h,i=a.length;void 0===b&&(b=1);for(var l=0;l<b;++l)for(d+=(g-d)*f,k.forEach(function(a){a(d)}),e=0;e<i;++e)null==(h=a[e]).fx?h.x+=h.vx*=j:(h.x=h.fx,h.vx=0),null==h.fy?h.y+=h.vy*=j:(h.y=h.fy,h.vy=0);return c}function r(){for(var b,c=0,d=a.length;c<d;++c){if((b=a[c]).index=c,null!=b.fx&&(b.x=b.fx),null!=b.fy&&(b.y=b.fy),isNaN(b.x)||isNaN(b.y)){var e=10*Math.sqrt(.5+c),f=c*l;b.x=e*Math.cos(f),b.y=e*Math.sin(f)}(isNaN(b.vx)||isNaN(b.vy))&&(b.vx=b.vy=0)}}function s(b){return b.initialize&&b.initialize(a,o),b}return null==a&&(a=[]),r(),c={tick:q,restart:function(){return m.restart(p),c},stop:function(){return m.stop(),c},nodes:function(b){return arguments.length?(a=b,r(),k.forEach(s),c):a},alpha:function(a){return arguments.length?(d=+a,c):d},alphaMin:function(a){return arguments.length?(e=+a,c):e},alphaDecay:function(a){return arguments.length?(f=+a,c):+f},alphaTarget:function(a){return arguments.length?(g=+a,c):g},velocityDecay:function(a){return arguments.length?(j=1-a,c):1-j},randomSource:function(a){return arguments.length?(o=a,k.forEach(s),c):o},force:function(a,b){return arguments.length>1?(null==b?k.delete(a):k.set(a,s(b)),c):k.get(a)},find:function(b,c,d){var e,f,g,h,i,j=0,k=a.length;for(null==d?d=1/0:d*=d,j=0;j<k;++j)(g=(e=b-(h=a[j]).x)*e+(f=c-h.y)*f)<d&&(i=h,d=g);return i},on:function(a,b){return arguments.length>1?(n.on(a,b),c):n.on(a)}}})(f).force("link",(function(a){var b,c,d,e,f,g,h=o,i=function(a){return 1/Math.min(e[a.source.index],e[a.target.index])},j=m(30),k=1;function l(d){for(var e=0,h=a.length;e<k;++e)for(var i,j,l,m,o,p,q,r=0;r<h;++r)j=(i=a[r]).source,p=((p=Math.sqrt((m=(l=i.target).x+l.vx-j.x-j.vx||n(g))*m+(o=l.y+l.vy-j.y-j.vy||n(g))*o))-c[r])/p*d*b[r],m*=p,o*=p,l.vx-=m*(q=f[r]),l.vy-=o*q,j.vx+=m*(q=1-q),j.vy+=o*q}function q(){if(d){var g,i,j=d.length,k=a.length,l=new Map(d.map((a,b)=>[h(a,b,d),a]));for(g=0,e=Array(j);g<k;++g)(i=a[g]).index=g,"object"!=typeof i.source&&(i.source=p(l,i.source)),"object"!=typeof i.target&&(i.target=p(l,i.target)),e[i.source.index]=(e[i.source.index]||0)+1,e[i.target.index]=(e[i.target.index]||0)+1;for(g=0,f=Array(k);g<k;++g)i=a[g],f[g]=e[i.source.index]/(e[i.source.index]+e[i.target.index]);b=Array(k),r(),c=Array(k),s()}}function r(){if(d)for(var c=0,e=a.length;c<e;++c)b[c]=+i(a[c],c,a)}function s(){if(d)for(var b=0,e=a.length;b<e;++b)c[b]=+j(a[b],b,a)}return null==a&&(a=[]),l.initialize=function(a,b){d=a,g=b,q()},l.links=function(b){return arguments.length?(a=b,q(),l):a},l.id=function(a){return arguments.length?(h=a,l):h},l.iterations=function(a){return arguments.length?(k=+a,l):k},l.strength=function(a){return arguments.length?(i="function"==typeof a?a:m(+a),r(),l):i},l.distance=function(a){return arguments.length?(j="function"==typeof a?a:m(+a),s(),l):j},l})(g).id(a=>a.id).distance(100).strength(a=>{let b="object"==typeof a.source?a.source.id:String(a.source),d="object"==typeof a.target?a.target.id:String(a.target);return c.get(b)===c.get(d)?.5:.02})).force("charge",(function(){var a,b,c,d,e,f=m(-30),g=1,h=1/0,i=.81;function l(c){var e,f=a.length,g=u(a,j,k).visitAfter(p);for(d=c,e=0;e<f;++e)b=a[e],g.visit(q)}function o(){if(a){var b,c,d=a.length;for(b=0,e=Array(d);b<d;++b)e[(c=a[b]).index]=+f(c,b,a)}}function p(a){var b,c,d,f,g,h=0,i=0;if(a.length){for(d=f=g=0;g<4;++g)(b=a[g])&&(c=Math.abs(b.value))&&(h+=b.value,i+=c,d+=c*b.x,f+=c*b.y);a.x=d/i,a.y=f/i}else{(b=a).x=b.data.x,b.y=b.data.y;do h+=e[b.data.index];while(b=b.next)}a.value=h}function q(a,f,j,k){if(!a.value)return!0;var l=a.x-b.x,m=a.y-b.y,o=k-f,p=l*l+m*m;if(o*o/i<p)return p<h&&(0===l&&(p+=(l=n(c))*l),0===m&&(p+=(m=n(c))*m),p<g&&(p=Math.sqrt(g*p)),b.vx+=l*a.value*d/p,b.vy+=m*a.value*d/p),!0;if(!a.length&&!(p>=h)){(a.data!==b||a.next)&&(0===l&&(p+=(l=n(c))*l),0===m&&(p+=(m=n(c))*m),p<g&&(p=Math.sqrt(g*p)));do a.data!==b&&(o=e[a.data.index]*d/p,b.vx+=l*o,b.vy+=m*o);while(a=a.next)}}return l.initialize=function(b,d){a=b,c=d,o()},l.strength=function(a){return arguments.length?(f="function"==typeof a?a:m(+a),o(),l):f},l.distanceMin=function(a){return arguments.length?(g=a*a,l):Math.sqrt(g)},l.distanceMax=function(a){return arguments.length?(h=a*a,l):Math.sqrt(h)},l.theta=function(a){return arguments.length?(i=a*a,l):Math.sqrt(i)},l})().strength(-260).distanceMax(800)).force("collide",(function(a){var b,c,d,e=1,f=1;function g(){for(var a,g,i,j,k,l,m,o=b.length,p=0;p<f;++p)for(a=0,g=u(b,y,z).visitAfter(h);a<o;++a)m=(l=c[(i=b[a]).index])*l,j=i.x+i.vx,k=i.y+i.vy,g.visit(q);function q(a,b,c,f,g){var h=a.data,o=a.r,p=l+o;if(h){if(h.index>i.index){var q=j-h.x-h.vx,r=k-h.y-h.vy,s=q*q+r*r;s<p*p&&(0===q&&(s+=(q=n(d))*q),0===r&&(s+=(r=n(d))*r),s=(p-(s=Math.sqrt(s)))/s*e,i.vx+=(q*=s)*(p=(o*=o)/(m+o)),i.vy+=(r*=s)*p,h.vx-=q*(p=1-p),h.vy-=r*p)}return}return b>j+p||f<j-p||c>k+p||g<k-p}}function h(a){if(a.data)return a.r=c[a.data.index];for(var b=a.r=0;b<4;++b)a[b]&&a[b].r>a.r&&(a.r=a[b].r)}function i(){if(b){var d,e,f=b.length;for(d=0,c=Array(f);d<f;++d)c[(e=b[d]).index]=+a(e,d,b)}}return"function"!=typeof a&&(a=m(null==a?1:+a)),g.initialize=function(a,c){b=a,d=c,i()},g.iterations=function(a){return arguments.length?(f=+a,g):f},g.strength=function(a){return arguments.length?(e=+a,g):e},g.radius=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),i(),g):a},g})().radius(a=>a.radius).strength(.6)).force("clusterX",(function(a){var b,c,d,e=m(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vx+=(d[f]-e.x)*c[f]*a}function g(){if(b){var f,g=b.length;for(f=0,c=Array(g),d=Array(g);f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=m(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:m(+a),g(),f):e},f.x=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),g(),f):a},f})(a=>e(a.id).x).strength(.1)).force("clusterY",(function(a){var b,c,d,e=m(.1);function f(a){for(var e,f=0,g=b.length;f<g;++f)e=b[f],e.vy+=(d[f]-e.y)*c[f]*a}function g(){if(b){var f,g=b.length;for(f=0,c=Array(g),d=Array(g);f<g;++f)c[f]=isNaN(d[f]=+a(b[f],f,b))?0:+e(b[f],f,b)}}return"function"!=typeof a&&(a=m(null==a?0:+a)),f.initialize=function(a){b=a,g()},f.strength=function(a){return arguments.length?(e="function"==typeof a?a:m(+a),g(),f):e},f.y=function(b){return arguments.length?(a="function"==typeof b?b:m(+b),g(),f):a},f})(a=>e(a.id).y).strength(.115)).stop();for(let a=0;a<500;a++)q.tick();let r=new Map;for(let a of f)r.set(a.id,{x:a.x??0,y:a.y??0});return r})(a,b,s),[a,b,s]),v=(0,e.useMemo)(()=>(function(a,b){var c;let d=new Set;for(let a of b)c=a.from,_.test(c)&&d.add(a.to);let e=new Set;for(let b of a)_.test(b)||d.has(b)||e.add(b);return e})(a.map(a=>a.path),b),[a,b]),w=(0,e.useMemo)(()=>g?function(a,b){let c=new Map,d=new Map;for(let a of b){let b=d.get(a.from);b?b.push(a.to):d.set(a.from,[a.to])}let e=new Map;for(let b of a){let a=ag.test(b)?"backend":ae.An.test(b)?"frontend":af.test(b)?"backend":null;c.set(b,a),a&&e.set(b,a)}let f=a=>{let b=new Set,c=[];for(let[b,d]of e)d===a&&c.push(b);for(;c.length;){let a=c.pop();for(let e of d.get(a)??[])b.has(e)||(b.add(e),c.push(e))}return b},g=f("frontend"),h=f("backend");for(let b of a){if(c.get(b))continue;let a=g.has(b),d=h.has(b);a&&d?c.set(b,"fullstack"):a?c.set(b,"frontend"):d&&c.set(b,"backend")}return c}(a.map(a=>a.path),b):null,[g,a,b]),x=(0,e.useMemo)(()=>{let a=new Map,b=Object.entries(c??{});if(!b.length)return a;let d=b.map(([,a])=>a.lastAt),e=Math.max(...d),f=Math.min(...d),g=e-f||1,h=b[0][0],i=b[0][1].lastAt;for(let[a,c]of b)c.lastAt>=i&&(h=a,i=c.lastAt);for(let[c,d]of b)a.set(c,{count:d.count,recency:(d.lastAt-f)/g,isNewest:c===h});return a},[c]),C=x.size>0,J=(0,e.useMemo)(()=>Array.from(x.entries()).map(([a,b])=>({path:a,count:b.count})),[x]),K=(0,e.useMemo)(()=>a.map(a=>{let b=t.get(a.path)??{x:a.x,y:a.y},c=a.path.lastIndexOf("/"),d=c>=0?a.path.slice(c+1):a.path,e=x.get(a.path);return{id:a.path,type:"file",position:b,data:{label:d,tooltip:a.path,untested:v.has(a.path),inDegree:a.inDegree??0,dirColor:(0,al.i3)(s.get(a.path)??"(root)"),layer:w?.get(a.path)??null,touched:!!e,count:e?.count??0,recency:e?.recency??0,isNewest:e?.isNewest??!1}}}),[a,t,v,x,w,s]),L=(0,e.useMemo)(()=>b.map(a=>({id:`${a.from}|${a.to}`,source:a.from,target:a.to,type:"straight",selectable:!1,focusable:!1,style:{pointerEvents:"none",...a.circular?{stroke:"#f87171",strokeDasharray:"5 3",strokeWidth:1.5,opacity:.6}:{stroke:"#8b8b94",strokeWidth:1,opacity:.3}}})),[b]),[M,N]=(0,e.useState)(K),[O,P]=(0,e.useState)(L),[Q,S]=(0,e.useState)(null),[T,U]=(0,e.useState)(null),[V,ah]=(0,e.useState)(null),[ar,as]=(0,e.useState)(!1),[at,au]=(0,e.useState)(!1),[av,aw]=(0,e.useState)(null),[ax,ay]=(0,e.useState)(!1),[az,aA]=(0,e.useState)(""),[aB,aC]=(0,e.useState)(!1),[aD,aE]=(0,e.useState)("full"),aF=(0,e.useRef)(null),aG=(0,e.useCallback)(a=>{S(a),ah(null);let b=aF.current?.getNode(a);b&&aF.current&&aF.current.setCenter(b.position.x+40,b.position.y+12,{zoom:1.4,duration:600})},[]),aH=(0,e.useCallback)(()=>{S(null),ah(null);let a=!at;if(au(a),ay(a),a&&aF.current){let a=Array.from(x.keys()).map(a=>({id:a}));a.length&&aF.current.fitView({nodes:a,duration:600,padding:.4})}},[at,x]),aI=(0,e.useMemo)(()=>(0,X.b)(a,b,s),[a,b,s]),aJ=(0,e.useCallback)(a=>{aF.current&&(a.focusIds.length?aF.current.fitView({nodes:a.focusIds.map(a=>({id:a})),duration:700,padding:.3,maxZoom:1.1}):aF.current.fitView({duration:700,padding:.1}))},[]),aK=(0,Y.W)(aI,aJ),aL=(0,e.useCallback)(a=>N(b=>(0,f._0)(a,b)),[]),aM=(0,e.useCallback)(a=>P(b=>(0,f.zW)(a,b)),[]),aN=(0,e.useCallback)((a,b,c)=>{fetch("/api/code-graph/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({path:a,x:b,y:c})})},[]),aO=(0,e.useMemo)(()=>new Set(b.filter(a=>a.circular).map(a=>`${a.from}|${a.to}`)),[b]),aP=(0,e.useMemo)(()=>{let a=new Set;for(let c of b)c.circular&&(a.add(c.from),a.add(c.to));return a},[b]),aQ=Q??T,aR=az.trim().length>0,aS=(0,e.useMemo)(()=>{if(!aR)return null;let b=new Set;for(let c of a)(0,$.Qk)((0,$.zn)(c),az)&&b.add(c.path);return b},[a,az,aR]),aT=(0,e.useMemo)(()=>aR?(0,$.r2)(a,az,a=>(0,$.zn)(a),a=>({id:a.path,label:a.path,sublabel:a.lang??void 0,kind:"file"})):[],[a,az,aR]),aU=(0,e.useMemo)(()=>{if(V){let a=O.find(a=>a.id===V);return a?new Set([a.source,a.target]):null}if(aQ){let a=new Set([aQ]);for(let c of b)c.from===aQ&&a.add(c.to),c.to===aQ&&a.add(c.from);return a}return ar?aP:at&&C?new Set(x.keys()):null},[aQ,V,ar,aP,b,O,at,C,x]),aV=aK.focusIds,aW=aV??aS??aU,aX=aS??aV,aY=(0,e.useMemo)(()=>{if(!av||!w)return null;let b=new Set;for(let c of a)(0,ac.F)(av,w.get(c.path)??null)||b.add(c.path);return b},[av,w,a]),aZ=(0,e.useMemo)(()=>aW?M.map(a=>{let b=aW.has(a.id);return{...a,zIndex:b&&aX?10:a.zIndex,style:{...a.style,opacity:b?1:.15,boxShadow:b&&aX?$.RU:a.style?.boxShadow,borderRadius:b&&aX?9999:a.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}):aY?M.map(a=>aY.has(a.id)?{...a,style:{...a.style,opacity:.15,transition:"opacity 120ms"}}:a):M,[M,aW,aX,aY]),a$=(0,e.useMemo)(()=>aV?O.map(a=>aV.has(a.source)&&aV.has(a.target)?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.9,strokeWidth:1.4}}:{...a,style:{...a.style,opacity:.05}}):aS?O.map(a=>aS.has(a.source)&&aS.has(a.target)?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...a,style:{...a.style,opacity:.05}}):aQ||V||ar||at?O.map(a=>{let b=!1;return V?b=a.id===V:aQ?b=a.source===aQ||a.target===aQ:ar?b=aO.has(a.id):at&&(b=x.has(a.source)&&x.has(a.target)),b?{...a,style:{...a.style,stroke:"#e4e4e7",opacity:.95,strokeWidth:1.6}}:{...a,style:{...a.style,opacity:.05}}}):aY?O.map(a=>aY.has(a.source)||aY.has(a.target)?{...a,style:{...a.style,opacity:.05}}:a):O,[O,aQ,V,ar,aO,at,x,aS,aY,aV]),a_=(0,e.useMemo)(()=>{let a=M.map(a=>{let b=am(a.data.inDegree??0);return{id:a.id,group:s.get(a.id)??"(root)",x:a.position.x,y:a.position.y,w:2*b,h:2*b}});return(0,aa.S)(a,{pad:60})},[M,s]),a0=(0,e.useMemo)(()=>{let b=new Map;if(!w)return b;let c=new Map;for(let b of a){let a=w.get(b.path);if(!a)continue;let d=s.get(b.path)??"(root)",e=c.get(d)??new Map;e.set(a,(e.get(a)??0)+1),c.set(d,e)}for(let[a,d]of c){let c=null,e=0,f=!1;for(let[a,b]of d)b>e?(c=a,e=b,f=!1):b===e&&(f=!0);b.set(a,f?null:c)}return b},[w,a,s]),a1=(0,e.useMemo)(()=>{let a=new Map;for(let b of s.values())a.set(b,(a.get(b)??0)+1);return Array.from(a.entries()).sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0])).map(([a,b])=>({group:a,count:b,color:(0,al.i3)(a)}))},[s]),a2=b.filter(a=>a.circular).length,a3=(0,e.useMemo)(()=>Q?b.filter(a=>a.from===Q).map(a=>a.to):[],[Q,b]),a4=(0,e.useMemo)(()=>Q?b.filter(a=>a.to===Q).map(a=>a.from):[],[Q,b]),a5=null!==Q||ax&&C,a6=(0,e.useCallback)(()=>{S(null),ay(!1),au(!1)},[]);return aB?(0,d.jsxs)("div",{className:"canvas-dots relative h-screen w-full",children:[(0,d.jsxs)(f.Gc,{nodes:aZ,edges:a$,nodeTypes:an,onNodesChange:aL,onEdgesChange:aM,onNodeClick:(a,b)=>{S(b.id),ah(null)},onEdgeClick:(a,b)=>{ah(b.id),S(null)},onPaneClick:()=>{S(null),ah(null)},onNodeMouseEnter:(a,b)=>U(b.id),onNodeMouseLeave:()=>U(null),onInit:a=>{aF.current=a},onNodeDragStop:(a,b)=>aN(b.id,b.position.x,b.position.y),deleteKeyCode:null,colorMode:"dark",fitView:!0,fitViewOptions:{padding:.1,minZoom:.18,maxZoom:.9},minZoom:.05,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,d.jsx)(ab.Z,{regions:"far"===aD?a_:[],tone:"category",lod:aD}),g&&(0,d.jsx)(ao,{regions:"far"===aD?[]:a_,dominant:a0}),(0,d.jsx)(aj.J,{onLod:aE,thresholds:ak.kz}),(0,d.jsx)(f.H2,{position:"bottom-right",className:"!overflow-hidden !rounded-xl !border !border-white/10 [&_button]:!border-white/10 [&_button]:!bg-card/70 [&_button]:!text-foreground [&_button]:!backdrop-blur"}),(0,d.jsx)(f.Zk,{position:"bottom-right",style:{marginBottom:152},children:(0,d.jsx)(ad.er,{title:"Legend",trigger:(a,b)=>(0,d.jsx)("button",{type:"button",onClick:b,title:"Legend",className:(0,R.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",a?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,d.jsx)(A.A,{className:"size-4"})}),children:(0,d.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full bg-zinc-400"}),(0,d.jsx)("span",{children:"a file \xb7 bigger dot = more files import it"})]}),g&&(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block size-2.5 shrink-0 rounded-full",style:{boxShadow:`inset 0 0 0 2px ${ae.ZD.frontend}`}}),(0,d.jsx)("span",{children:"colored ring \xb7 frontend / backend layer"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#4a4a52]"}),(0,d.jsx)("span",{children:"line \xb7 imports another file"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-red-400"}),(0,d.jsx)("span",{children:"red \xb7 part of an import cycle"})]}),(0,d.jsxs)("li",{className:"flex items-center gap-2",children:[(0,d.jsxs)("span",{"aria-hidden":!0,className:"inline-flex shrink-0 gap-0.5",children:[(0,d.jsx)("span",{className:"inline-block size-2 rounded-full bg-violet-400"}),(0,d.jsx)("span",{className:"inline-block size-2 rounded-full bg-amber-400"})]}),(0,d.jsx)("span",{children:"dot color \xb7 its directory (chips, top-right)"})]})]})})}),(0,d.jsx)(f.of,{pannable:!0,zoomable:!0,position:"bottom-left",style:{width:140,height:90},className:"!overflow-hidden !rounded-xl !border !border-white/10 !bg-card/50 !backdrop-blur",nodeColor:()=>"#555"}),aI.length>0&&!aK.active&&(0,d.jsx)(f.Zk,{position:"top-left",className:"!mt-14",children:(0,d.jsxs)("button",{type:"button",onClick:aK.start,title:"Guided, dependency-ordered walkthrough of the codebase",className:"glass flex items-center gap-1.5 rounded-xl px-3 py-1.5 text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:[(0,d.jsx)(B.A,{className:"size-3.5"}),"Start tour"]})}),(0,d.jsx)(f.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,d.jsx)(H.Z,{active:"FILES",tabs:[{value:"ROADMAP",label:"Roadmap",href:"/map?view=ROADMAP"},{value:"ARCHITECTURE",label:"Architecture",href:"/map?view=ARCHITECTURE"},{value:"DATABASE",label:"Database",href:"/map?view=DATABASE"},{value:"FILES",label:"Files",href:"/map?view=FILES"}]})}),(0,d.jsx)(f.Zk,{position:"top-right",className:"glass !mt-14 flex max-w-[300px] flex-wrap items-center justify-end gap-x-2.5 gap-y-1 rounded-xl px-3 py-1.5",children:a1.map(b=>(0,d.jsxs)("button",{type:"button",onClick:()=>{let c=a.filter(a=>(s.get(a.path)??"(root)")===b.group).map(a=>({id:a.path}));c.length&&aF.current?.fitView({nodes:c,duration:600,padding:.3,maxZoom:1})},title:`${b.count} files — click to zoom to ${b.group}`,className:"flex items-center gap-1.5 rounded px-1 py-0.5 text-[10px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"size-2 shrink-0 rounded-full",style:{backgroundColor:b.color}}),b.group]},b.group))}),(0,d.jsxs)(f.Zk,{position:"top-right",className:"flex items-center gap-2",children:[(0,d.jsx)(I.X,{query:az,onQuery:aA,hits:aT,placeholder:"Find a file…",onPick:a=>{aA(""),aG(a)},onZoomToMatches:()=>{aS?.size&&aF.current?.fitView({nodes:[...aS].map(a=>({id:a})),duration:600,padding:.3})}}),g&&(0,d.jsx)(ac.o,{value:av,onChange:aw,options:["frontend","backend"]}),(0,d.jsxs)("div",{className:"glass flex items-center gap-3 rounded-xl px-3 py-1.5 text-[11px]",children:[(0,d.jsxs)("span",{className:"text-muted-foreground",children:[a.length," files \xb7 ",b.length," imports"]}),a2>0&&(0,d.jsxs)("button",{type:"button",onClick:()=>{as(a=>!a),S(null),ah(null)},title:ar?"Show all imports":"Show only files involved in import cycles",className:(0,R.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",ar?"bg-red-500/15 text-red-200 ring-1 ring-red-400/40":"text-red-300 hover:bg-red-500/10"),children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-5 border-t border-dashed",style:{borderColor:"#ef4444"}}),a2," circular"]}),C&&(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)("button",{type:"button",onClick:aH,title:at?"Show all files again":"Focus + zoom to the files edited this session",className:(0,R.cn)("flex items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors",at?"bg-teal-500/15 text-teal-200 ring-1 ring-teal-400/40":"text-teal-300 hover:bg-teal-500/10"),children:[(0,d.jsx)(D,{className:"size-3"}),x.size," edited"]})})]})]})]}),a5&&(0,d.jsxs)(G.b,{className:"absolute bottom-3 right-3 top-16 z-10 flex w-72 flex-col rounded-2xl",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,d.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:Q?"File":"Edited this session"}),(0,d.jsx)("button",{onClick:a6,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,d.jsx)(E.A,{className:"size-4"})})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto p-3",children:Q?(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-start gap-1.5",children:[(0,d.jsx)(F,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground"}),(0,d.jsx)("h2",{className:"break-all text-sm font-semibold leading-tight",children:Q.slice(Q.lastIndexOf("/")+1)})]}),(0,d.jsx)("div",{className:"mt-0.5 break-all font-mono text-[10px] text-muted-foreground",children:Q})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(r=x.get(Q))?(0,d.jsxs)("span",{className:"rounded bg-teal-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-teal-300",children:["edited ",r.count,"\xd7"]}):null,v.has(Q)&&(0,d.jsx)("span",{className:"rounded bg-amber-500/15 px-1.5 py-0.5 text-[10px] font-semibold text-amber-300",children:"untested"})]}),(0,d.jsx)("button",{onClick:()=>fetch(`/api/open?path=${encodeURIComponent(Q)}`).catch(()=>{}),className:"w-full rounded-md border border-white/10 px-2 py-1.5 text-[11px] text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:"Open in editor"}),(0,d.jsx)(aq,{label:"Imports",paths:a3,onPick:aG}),(0,d.jsx)(aq,{label:"Imported by",paths:a4,onPick:aG})]}):(0,d.jsx)(W,{files:J.map(a=>({path:a.path,meta:`${a.count}\xd7`})),emptyLabel:"No files edited this session yet."})})]}),aK.active&&aK.step&&(0,d.jsx)(Z.d,{steps:aI,index:aK.index,onPrev:aK.prev,onNext:aK.next,onExit:aK.stop,onGoto:aK.goto})]}):(0,d.jsx)("div",{className:"flex h-screen w-full items-center justify-center text-sm text-muted-foreground",children:"Loading graph…"})}function aq({label:a,paths:b,onPick:c}){return b.length?(0,d.jsxs)("div",{children:[(0,d.jsxs)("h3",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a," (",b.length,")"]}),(0,d.jsx)(W,{files:b.map(a=>({path:a})),onSelect:c})]}):null}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},28855:a=>{"use strict";a.exports=import("@libsql/client")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31059:(a,b,c)=>{"use strict";c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},31421:a=>{"use strict";a.exports=require("node:child_process")},33873:a=>{"use strict";a.exports=require("path")},35522:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["map",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,7982)),"/home/runner/work/beacon/beacon/app/map/page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,23704)),"/home/runner/work/beacon/beacon/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,86364))).default(a)],apple:[async a=>(await Promise.resolve().then(c.bind(c,7667))).default(a)],openGraph:[],twitter:[],manifest:void 0}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/map/page",pathname:"/map",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/map/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},42618:(a,b,c)=>{Promise.resolve().then(c.bind(c,7239)),Promise.resolve().then(c.bind(c,42696)),Promise.resolve().then(c.bind(c,56030))},42696:(a,b,c)=>{"use strict";c.d(b,{FilesMapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call FilesMapClient() from the server but FilesMapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/files-map-client.tsx","FilesMapClient")},42912:(a,b,c)=>{"use strict";c.d(b,{Tn:()=>j,oh:()=>h,qH:()=>k});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(a,b){let c=a.trim().split("\\").join("/");if(!c)return null;let d=b.split("\\").join("/").replace(/\/+$/,"");return d&&c.startsWith(d+"/")?c.slice(d.length+1):c.startsWith("/")?null:c}function i(){return(0,e.join)((0,f.KS)(),"touched-files.json")}function j(a=Date.now()){try{let b=JSON.parse((0,d.readFileSync)(i(),"utf8")),c=function(a,b){let c={};for(let[d,e]of Object.entries(a)){let a=h(d,b);if(!a)continue;let f=c[a];c[a]=f?{count:f.count+e.count,lastAt:Math.max(f.lastAt,e.lastAt)}:e}return c}(b,(0,f.jv)()),e={};for(let[b,d]of Object.entries(c))a-d.lastAt<=108e5&&(e[b]=d);return e}catch{return{}}}function k(a,b){let c=(0,f.jv)(),d=a.map(a=>h(a,c)).filter(a=>!!a),e=function(a,b,c){let d={...a};for(let a of b){let b=a.trim();b&&(d[b]={count:(d[b]?.count??0)+1,lastAt:c})}return d}(j(),d,b);return(0,g.q)(i(),e),e}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46430:(a,b,c)=>{"use strict";c.d(b,{c:()=>e});let d=/(^|\/)(auth|login|logout|session|oauth|sso|jwt)([/._-]|$)|password|credential/i;function e(a,b){let c=0,e=!1;for(let f of a)b.has(f)&&c++,d.test(f)&&(e=!0);return{untested:c,total:a.length,auth:e}}},48161:a=>{"use strict";a.exports=require("node:os")},56030:(a,b,c)=>{"use strict";c.d(b,{MapClient:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call MapClient() from the server but MapClient is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/graph/map-client.tsx","MapClient")},58465:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{F:()=>k,V:()=>j});var e=c(91430),f=c(56727),g=c(1441),h=c(46430),i=a([f]);async function j(a){let b=await f.db.query.node.findMany({where:(b,{eq:c})=>c(b.view,a),orderBy:(a,{asc:b})=>b(a.createdAt),with:{nodeTags:{with:{tag:{columns:{label:!0}}}},files:{columns:{path:!0},orderBy:(a,{asc:b})=>b(a.path)},bugFlags:{orderBy:(a,{asc:b})=>[b(a.createdAt),b(a.id)]}}}),c=(0,e.ll)`(select "id" from "Node" where "view" = ${a})`,d=await f.db.query.edge.findMany({where:(a,{and:b,inArray:d})=>b(d(a.fromId,c),d(a.toId,c))}),[i,j]=await Promise.all([f.db.query.codeFile.findMany({columns:{path:!0}}),f.db.query.codeFileEdge.findMany({columns:{fromPath:!0,toPath:!0}})]),k=(0,g.A)(i.map(a=>a.path),j.map(a=>({from:a.fromPath,to:a.toPath}))),l=b.map(a=>({id:a.id,view:a.view,kind:a.kind,cluster:a.cluster,layer:a.layer,title:a.title,role:a.role,plain:a.plain,status:a.status,priority:a.priority,x:a.x,y:a.y,source:a.source,sourceRef:a.sourceRef,parentId:a.parentId,isCriterion:a.nodeTags.some(a=>"criterion"===a.tag.label),files:a.files.map(a=>a.path),signals:(0,h.c)(a.files.map(a=>a.path),k),bugFlags:a.bugFlags.map(a=>({id:a.id,by:a.by,note:a.note,resolved:null!=a.resolvedAt}))})),m=d.map(a=>({id:a.id,fromId:a.fromId,toId:a.toId,kind:a.kind,label:a.label,sourceHandle:a.sourceHandle,targetHandle:a.targetHandle}));return{nodes:l,edges:m}}async function k(){let[a,b,c]=await Promise.all([f.db.query.dbTable.findMany({with:{columns:{orderBy:(a,{asc:b})=>b(a.ord)}}}),f.db.query.dbRelation.findMany(),f.db.query.endpoint.findMany({with:{tables:!0}})]),d=a.map(a=>({id:a.id,name:a.name,domain:a.domain,description:a.description,source:a.source,x:a.x,y:a.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note}))})),e=b.map(a=>({id:a.id,fromTableId:a.fromTableId,toTableId:a.toTableId,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label})),g=c.map(a=>({id:a.id,method:a.method,path:a.path,domain:a.domain,description:a.description,source:a.source,x:a.x,y:a.y,tables:a.tables.map(a=>({tableId:a.tableId,access:a.access}))}));return{tables:d,relations:e,endpoints:g}}f=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},72179:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{BK:()=>B,CW:()=>D,Gf:()=>u,NK:()=>y,Vs:()=>v,XF:()=>C,iL:()=>t,mk:()=>A,rw:()=>w,zO:()=>x});var e=c(77598),f=c(73024),g=c(76760),h=c(44046),i=c(34216),j=c(56727),k=c(30046),l=c(45301),m=c(32213),n=c(19734),o=c(86548),p=c(96976),q=a([j,n]);function r(){return(0,g.join)((0,l.KS)(),"draft.json")}function s(){return(0,g.join)((0,l.KS)(),"draft-verdict.json")}function t(){try{return JSON.parse((0,f.readFileSync)(r(),"utf8"))}catch{return null}}function u(a,b=0,c=Date.now()){let d=function(a,b,c=0){let d=new Map;for(let b of a.tables)d.set(b.name,(0,e.randomUUID)());let f=a.endpoints.map(()=>(0,e.randomUUID)()),g=(0,p.kq)(a.tables.map(a=>({id:d.get(a.name),name:a.name,domain:a.domain??null,columnCount:a.columns.length})),a.endpoints.map((a,b)=>({id:f[b],method:a.method,path:a.path,uses:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b}]:[]})}))),h=a.tables.map(a=>{let b=d.get(a.name),e=g.tables.get(b)??{x:0,y:0};return{id:b,name:a.name,domain:a.domain??null,description:a.description??null,x:e.x,y:c+e.y,columns:a.columns.map(a=>({name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null}))}}),i=a.relations.flatMap(a=>{let b=d.get(a.fromTable),c=d.get(a.toTable);return b&&c?[{id:(0,e.randomUUID)(),fromTableId:b,toTableId:c,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`}]:[]}),j=a.endpoints.map((a,b)=>{let e=f[b],h=g.endpoints.get(e)??{x:0,y:0};return{id:e,method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,x:h.x,y:c+h.y,links:a.uses.flatMap(a=>{let b=d.get(a.table);return b?[{tableId:b,access:a.access}]:[]})}});return{proposedAt:b,status:"pending",tables:h,relations:i,endpoints:j}}(a,c,b);return(0,m.q)(r(),d),(0,f.rmSync)(s(),{force:!0}),d}function v(){(0,f.rmSync)(r(),{force:!0})}function w(){(0,f.rmSync)(r(),{force:!0}),(0,f.rmSync)(s(),{force:!0})}function x(a){let b=new Map(a.tables.map(a=>[a.id,a.name])),c=["## Approved schema","","### Tables"];for(let b of a.tables)for(let a of(c.push(`- **${b.name}**${b.domain?` (${b.domain})`:""}`),b.columns)){let b=[a.isPk&&"PK",a.isFk&&"FK",a.nullable?"NULL":"NOT NULL"].filter(Boolean).join(" ");c.push(` - ${a.name} ${a.type}${b?` ${b}`:""}${a.note?` — ${a.note}`:""}`)}if(a.relations.length)for(let d of(c.push("","### Relations (FKs)"),a.relations)){let a=b.get(d.fromTableId)??d.fromTableId,e=b.get(d.toTableId)??d.toTableId;c.push(`- ${a}.${d.fromColumn} → ${e}.${d.toColumn}`)}if(a.endpoints.length)for(let d of(c.push("","### Endpoints"),a.endpoints)){let a=d.links.map(a=>`${b.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`- ${d.method} ${d.path}${a?` — ${a}`:""}`)}return c.join("\n")}function y(a,b){let c=[],d=new Map(a.tables.map(a=>[a.name,a])),e=new Map(b.tables.map(a=>[a.name,a]));for(let a of b.tables)d.has(a.name)||c.push(`added table **${a.name}**`);for(let b of a.tables)e.has(b.name)||c.push(`removed table **${b.name}**`);for(let a of b.tables){let b=d.get(a.name);if(!b)continue;let e=new Map(b.columns.map(a=>[a.name,a])),f=new Map(a.columns.map(a=>[a.name,a]));for(let b of a.columns){let d=e.get(b.name);if(!d){c.push(`added column **${a.name}.${b.name}** (${b.type})`);continue}let f=[];d.type!==b.type&&f.push(`type ${d.type} → ${b.type}`),d.isPk!==b.isPk&&f.push(b.isPk?"now PK":"no longer PK"),d.isFk!==b.isFk&&f.push(b.isFk?"now FK":"no longer FK"),d.nullable!==b.nullable&&f.push(b.nullable?"now accepts NULL":"now NOT NULL"),(d.note??"")!==(b.note??"")&&f.push(`note: "${b.note??""}"`),f.length&&c.push(`changed **${a.name}.${b.name}** — ${f.join("; ")}`)}for(let d of b.columns)f.has(d.name)||c.push(`removed column **${a.name}.${d.name}** (was ${d.type})`)}let f=(a,b)=>`${b.get(a.fromTableId)??a.fromTableId}.${a.fromColumn}→${b.get(a.toTableId)??a.toTableId}.${a.toColumn}`,g=new Map(a.tables.map(a=>[a.id,a.name])),h=new Map(b.tables.map(a=>[a.id,a.name])),i=new Set(a.relations.map(a=>f(a,g))),j=new Set(b.relations.map(a=>f(a,h)));for(let a of j)i.has(a)||c.push(`added relation ${a}`);for(let a of i)j.has(a)||c.push(`removed relation ${a}`);let k=a=>`${a.method} ${a.path}`,l=new Map(a.endpoints.map(a=>[k(a),a])),m=new Map(b.endpoints.map(a=>[k(a),a]));for(let[a,b]of m)if(!l.has(a)){let d=b.links.map(a=>`${h.get(a.tableId)??a.tableId} (${a.access})`).join(", ");c.push(`added endpoint **${a}**${d?` — ${d}`:""}`)}for(let[a]of l)m.has(a)||c.push(`removed endpoint **${a}**`);return c}function z(a){(0,m.q)(s(),a)}function A(){let a=t();a&&z({proposedAt:a.proposedAt,status:"discarded",summary:"The user discarded the draft."}),v()}function B(){let a=t();if(a)return{state:"pending",proposedAt:a.proposedAt};let b=function(){try{return JSON.parse((0,f.readFileSync)(s(),"utf8"))}catch{return null}}();return b?{state:b.status,proposedAt:b.proposedAt,summary:b.summary,detail:b.detail}:{state:"none"}}[j,n]=q.then?(await q)():q;let E=h.Ik({proposedAt:h.ai(),status:h.Yj(),tables:h.YO(h.Ik({id:h.Yj(),name:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),columns:h.YO(h.Ik({name:h.Yj().trim().min(1),type:h.Yj(),isPk:h.zM(),isFk:h.zM(),nullable:h.zM(),note:h.Yj().nullable()}))})),relations:h.YO(h.Ik({id:h.Yj(),fromTableId:h.Yj(),toTableId:h.Yj(),fromColumn:h.Yj(),toColumn:h.Yj(),label:h.Yj().nullable()})),endpoints:h.YO(h.Ik({id:h.Yj(),method:h.Yj().trim().min(1),path:h.Yj().trim().min(1),domain:h.Yj().nullable(),description:h.Yj().nullable(),x:h.ai(),y:h.ai(),links:h.YO(h.Ik({tableId:h.Yj(),access:h.Yj()}))}))});async function C(a,b=j.db,c={}){let d=E.parse(a),e=new Map(d.tables.map(a=>[a.id,a.name])),f=new Map,g=c.planId??null;for(let a of d.tables){let[c]=await b.insert(k.dbTable).values({name:a.name,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:k.dbTable.name,set:{domain:a.domain,description:a.description,planId:g}}).returning();f.set(a.name,c.id),await b.delete(k.dbColumn).where((0,i.eq)(k.dbColumn.tableId,c.id)),a.columns.length&&await b.insert(k.dbColumn).values(a.columns.map((a,b)=>({tableId:c.id,name:a.name,type:a.type,isPk:a.isPk,isFk:a.isFk,nullable:a.nullable,note:a.note,ord:b})))}let h=async a=>{let c=e.get(a);if(c)return f.get(c)??null;let d=await b.query.dbTable.findFirst({where:(b,{eq:c})=>c(b.id,a)}).catch(()=>null);return d?d.id:null};for(let a of d.relations){let c=await h(a.fromTableId),d=await h(a.toTableId);c&&d&&(await b.query.dbRelation.findFirst({where:(b,{and:e,eq:f})=>e(f(b.fromTableId,c),f(b.toTableId,d),f(b.fromColumn,a.fromColumn),f(b.toColumn,a.toColumn))})||await b.insert(k.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label}))}for(let a of d.endpoints){let[c]=await b.insert(k.endpoint).values({method:a.method,path:a.path,domain:a.domain,description:a.description,source:"MANUAL",planId:g,x:a.x,y:a.y}).onConflictDoUpdate({target:[k.endpoint.method,k.endpoint.path],set:{domain:a.domain,description:a.description,planId:g}}).returning();for(let d of(await b.delete(k.endpointTable).where((0,i.eq)(k.endpointTable.endpointId,c.id)),a.links)){let a=await h(d.tableId);a&&await b.insert(k.endpointTable).values({endpointId:c.id,tableId:a,access:d.access}).catch(()=>{})}}let l=`${d.tables.length} table(s), ${d.relations.length} relation(s) and ${d.endpoints.length} endpoint(s) approved and persisted to the schema.`;return z({proposedAt:d.proposedAt,status:"approved",summary:l,detail:x(d)}),v(),await (0,n.Bx)(b),{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length}}async function D(a=j.db){let b=await a.query.endpoint.findMany({with:{tables:!0}}),c=0;for(let d of b)if("write"===(0,o.P)(d.method))for(let b of d.tables)"read"===b.access&&(await a.update(k.endpointTable).set({access:"write"}).where((0,i.eq)(k.endpointTable.id,b.id)),c++);return c}d()}catch(a){d(a)}})},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},76968:(a,b,c)=>{"use strict";c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},84853:(a,b,c)=>{"use strict";c.d(b,{C5:()=>f,KW:()=>g});var d=c(65573),e=c(6716);async function f(a){if(a&&(0,e.K4)(a))return a;let b=(await (0,d.cookies)()).get(e.Dk)?.value;return b&&(0,e.K4)(b)?b:null}let g=f},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},86548:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});let d=new Set(["GET","HEAD","OPTIONS"]);function e(a){return d.has(a.trim().toUpperCase())?"read":"write"}},88863:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{TD:()=>m,nO:()=>l,xJ:()=>n,yT:()=>k});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let o=e.Ik({targetKind:e.KC([e.eu("feature"),e.eu("table"),e.eu("column"),e.eu("endpoint")]),targetId:e.Yj().min(1),columnName:e.Yj().min(1).optional()}).refine(a=>"column"!==a.targetKind||!!a.columnName,{message:"columnName is required when targetKind is column"}),p=e.Ik({body:e.Yj().max(2e3),x:e.ai(),y:e.ai()}).partial();async function k(a){let b=o.parse(a),[c]=await g.db.insert(h.boardAnnotation).values(b).returning();return await (0,i.Bx)(),c}async function l(){return g.db.query.boardAnnotation.findMany({orderBy:(a,{asc:b})=>[b(a.createdAt),b(a.id)]})}async function m(a,b){let c=p.parse(b),[d]=await g.db.update(h.boardAnnotation).set(c).where((0,f.eq)(h.boardAnnotation.id,a)).returning();return d}async function n(a){let[b]=await g.db.delete(h.boardAnnotation).where((0,f.eq)(h.boardAnnotation.id,a)).returning();return await (0,i.Bx)(),b}d()}catch(a){d(a)}})},90457:(a,b,c)=>{"use strict";c.d(b,{O:()=>f});let d=new Set(["DONE","CANCELLED"]),e=new Set(["PENDING","IN_PROGRESS"]);function f(a,b,c=3){let g=a.filter(a=>!a.parentId&&e.has(a.status)),h=new Set(a.filter(a=>d.has(a.status)).map(a=>a.id)),i=a=>b.every(b=>"DEPENDS"!==b.kind||b.fromId!==a||h.has(b.toId)),j=[],k=new Set;for(;j.length<c;){let a=g.filter(a=>!k.has(a.id)&&("IN_PROGRESS"===a.status||i(a.id)));if(0===a.length)break;let b=a.filter(a=>"IN_PROGRESS"===a.status),c=b.length?b:a,d=c[0];for(let a of c)a.priority<d.priority&&(d=a);j.push(d.id),k.add(d.id),h.add(d.id)}return j}}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1669,3254,9884,5871,4046,319,4700,8846,5719,5573,3304,9683,9734,3098,1130,4307,4872],()=>b(b.s=35522));module.exports=c})();