trybeacon 0.1.67 → 0.1.69

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 (357) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +15 -19
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -27
  6. package/.next/routes-manifest.json +0 -28
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  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/route.js +1 -1
  29. package/.next/server/app/api/board-layout/route.js +1 -1
  30. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  31. package/.next/server/app/api/bug-flags/route.js +1 -1
  32. package/.next/server/app/api/code-graph/position/route.js +1 -1
  33. package/.next/server/app/api/code-graph/route.js +1 -1
  34. package/.next/server/app/api/context/feature/route.js +1 -1
  35. package/.next/server/app/api/context/file/route.js +1 -1
  36. package/.next/server/app/api/context/route.js +1 -1
  37. package/.next/server/app/api/db/arrange/route.js +1 -1
  38. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  39. package/.next/server/app/api/db/position/route.js +1 -1
  40. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  41. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  42. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  43. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  44. package/.next/server/app/api/draft/approve/route.js +1 -1
  45. package/.next/server/app/api/draft/route.js +1 -1
  46. package/.next/server/app/api/draft/status/route.js +1 -1
  47. package/.next/server/app/api/edges/[id]/route.js +1 -1
  48. package/.next/server/app/api/edges/route.js +1 -1
  49. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  50. package/.next/server/app/api/entities/route.js +1 -1
  51. package/.next/server/app/api/flags/route.js +1 -1
  52. package/.next/server/app/api/ingest/route.js +2 -2
  53. package/.next/server/app/api/init/route.js +2 -2
  54. package/.next/server/app/api/lesson/close/route.js +1 -1
  55. package/.next/server/app/api/lesson/presence/route.js +1 -1
  56. package/.next/server/app/api/lesson/questions/route.js +1 -1
  57. package/.next/server/app/api/lesson/route.js +1 -1
  58. package/.next/server/app/api/lesson/save/route.js +1 -1
  59. package/.next/server/app/api/lesson/verdict/route.js +1 -1
  60. package/.next/server/app/api/map/describe/route.js +2 -2
  61. package/.next/server/app/api/map/files/route.js +1 -1
  62. package/.next/server/app/api/map/finish/route.js +1 -1
  63. package/.next/server/app/api/map/route.js +1 -1
  64. package/.next/server/app/api/map/start/route.js +1 -1
  65. package/.next/server/app/api/map/touch-active/route.js +1 -1
  66. package/.next/server/app/api/mention-search/route.js +1 -1
  67. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  68. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  69. package/.next/server/app/api/nodes/positions/route.js +1 -1
  70. package/.next/server/app/api/nodes/route.js +1 -1
  71. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  72. package/.next/server/app/api/notes/[id]/route.js +1 -1
  73. package/.next/server/app/api/notes/route.js +1 -1
  74. package/.next/server/app/api/open/route.js +1 -1
  75. package/.next/server/app/api/plan/annotations/route.js +3 -3
  76. package/.next/server/app/api/plan/approve/route.js +2 -2
  77. package/.next/server/app/api/plan/history/route.js +1 -1
  78. package/.next/server/app/api/plan/markdown/route.js +1 -1
  79. package/.next/server/app/api/plan/presence/route.js +1 -1
  80. package/.next/server/app/api/plan/route.js +1 -1
  81. package/.next/server/app/api/plan/verdict/route.js +1 -1
  82. package/.next/server/app/api/preferences/route.js +1 -1
  83. package/.next/server/app/api/project-meta/route.js +1 -1
  84. package/.next/server/app/api/reset/route.js +1 -1
  85. package/.next/server/app/api/scope-guard/check/route.js +1 -1
  86. package/.next/server/app/api/share/create/route.js +1 -1
  87. package/.next/server/app/api/share/route.js +1 -1
  88. package/.next/server/app/api/share/route.js.nft.json +1 -1
  89. package/.next/server/app/api/stream/route.js +2 -2
  90. package/.next/server/app/api/tab/nav/route.js +1 -1
  91. package/.next/server/app/api/tab/presence/route.js +1 -1
  92. package/.next/server/app/api/telemetry/route.js +1 -1
  93. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  94. package/.next/server/app/api/version/route.js +1 -1
  95. package/.next/server/app/api/workspace/activate/route.js +1 -1
  96. package/.next/server/app/api/workspace/route.js +1 -1
  97. package/.next/server/app/apple-icon.png/route.js +1 -1
  98. package/.next/server/app/docs/page.js +2 -2
  99. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  100. package/.next/server/app/docs.html +1 -1
  101. package/.next/server/app/docs.rsc +12 -12
  102. package/.next/server/app/docs.segments/_full.segment.rsc +12 -12
  103. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  104. package/.next/server/app/docs.segments/_index.segment.rsc +11 -11
  105. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  106. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  107. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  108. package/.next/server/app/help/page.js +2 -2
  109. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app/help.html +1 -1
  111. package/.next/server/app/help.rsc +11 -11
  112. package/.next/server/app/help.segments/_full.segment.rsc +11 -11
  113. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  114. package/.next/server/app/help.segments/_index.segment.rsc +11 -11
  115. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  116. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  117. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  118. package/.next/server/app/icon.svg/route.js +1 -1
  119. package/.next/server/app/index.html +1 -1
  120. package/.next/server/app/index.rsc +12 -12
  121. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  122. package/.next/server/app/index.segments/_full.segment.rsc +12 -12
  123. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  124. package/.next/server/app/index.segments/_index.segment.rsc +11 -11
  125. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  126. package/.next/server/app/learn/page.js +3 -3
  127. package/.next/server/app/learn/page.js.nft.json +1 -1
  128. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  129. package/.next/server/app/map/page.js +2 -2
  130. package/.next/server/app/map/page.js.nft.json +1 -1
  131. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  132. package/.next/server/app/page.js +2 -2
  133. package/.next/server/app/page_client-reference-manifest.js +1 -1
  134. package/.next/server/app/plan/page.js +2 -2
  135. package/.next/server/app/plan/page.js.nft.json +1 -1
  136. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  137. package/.next/server/app/s/[token]/page.js +2 -2
  138. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  139. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  140. package/.next/server/app/settings/page.js +2 -2
  141. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app-paths-manifest.json +15 -19
  143. package/.next/server/chunks/2025.js +1 -1
  144. package/.next/server/chunks/2773.js +1 -0
  145. package/.next/server/chunks/4307.js +1 -1
  146. package/.next/server/chunks/9113.js +1 -0
  147. package/.next/server/middleware-build-manifest.js +1 -1
  148. package/.next/server/middleware.js +1 -1
  149. package/.next/server/pages/404.html +1 -1
  150. package/.next/server/pages/500.html +1 -1
  151. package/.next/server/server-reference-manifest.js +1 -1
  152. package/.next/server/server-reference-manifest.json +1 -1
  153. package/.next/static/chunks/471-714d0bdb155d49f1.js +1 -0
  154. package/.next/static/chunks/{4853-6dc402b4ce452fa5.js → 4853-946597034e74be36.js} +1 -1
  155. package/.next/static/chunks/app/_global-error/page-93569b5eb93a61e9.js +1 -0
  156. package/.next/static/chunks/app/api/board-annotations/[id]/route-93569b5eb93a61e9.js +1 -0
  157. package/.next/static/chunks/app/api/board-annotations/route-93569b5eb93a61e9.js +1 -0
  158. package/.next/static/chunks/app/api/board-layout/route-93569b5eb93a61e9.js +1 -0
  159. package/.next/static/chunks/app/api/bug-flags/[id]/route-93569b5eb93a61e9.js +1 -0
  160. package/.next/static/chunks/app/api/bug-flags/route-93569b5eb93a61e9.js +1 -0
  161. package/.next/static/chunks/app/api/code-graph/position/route-93569b5eb93a61e9.js +1 -0
  162. package/.next/static/chunks/app/api/code-graph/route-93569b5eb93a61e9.js +1 -0
  163. package/.next/static/chunks/app/api/context/feature/route-93569b5eb93a61e9.js +1 -0
  164. package/.next/static/chunks/app/api/context/file/route-93569b5eb93a61e9.js +1 -0
  165. package/.next/static/chunks/app/api/context/route-93569b5eb93a61e9.js +1 -0
  166. package/.next/static/chunks/app/api/db/arrange/route-93569b5eb93a61e9.js +1 -0
  167. package/.next/static/chunks/app/api/db/backfill-access/route-93569b5eb93a61e9.js +1 -0
  168. package/.next/static/chunks/app/api/db/position/route-93569b5eb93a61e9.js +1 -0
  169. package/.next/static/chunks/app/api/db/prune-planned/route-93569b5eb93a61e9.js +1 -0
  170. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-93569b5eb93a61e9.js +1 -0
  171. package/.next/static/chunks/app/api/db/relations/[id]/route-93569b5eb93a61e9.js +1 -0
  172. package/.next/static/chunks/app/api/db/tables/[id]/route-93569b5eb93a61e9.js +1 -0
  173. package/.next/static/chunks/app/api/draft/approve/route-93569b5eb93a61e9.js +1 -0
  174. package/.next/static/chunks/app/api/draft/route-93569b5eb93a61e9.js +1 -0
  175. package/.next/static/chunks/app/api/draft/status/route-93569b5eb93a61e9.js +1 -0
  176. package/.next/static/chunks/app/api/edges/[id]/route-93569b5eb93a61e9.js +1 -0
  177. package/.next/static/chunks/app/api/edges/route-93569b5eb93a61e9.js +1 -0
  178. package/.next/static/chunks/app/api/endpoints/[id]/route-93569b5eb93a61e9.js +1 -0
  179. package/.next/static/chunks/app/api/entities/route-93569b5eb93a61e9.js +1 -0
  180. package/.next/static/chunks/app/api/flags/route-93569b5eb93a61e9.js +1 -0
  181. package/.next/static/chunks/app/api/ingest/route-93569b5eb93a61e9.js +1 -0
  182. package/.next/static/chunks/app/api/init/route-93569b5eb93a61e9.js +1 -0
  183. package/.next/static/chunks/app/api/lesson/close/route-93569b5eb93a61e9.js +1 -0
  184. package/.next/static/chunks/app/api/lesson/presence/route-93569b5eb93a61e9.js +1 -0
  185. package/.next/static/chunks/app/api/lesson/questions/route-93569b5eb93a61e9.js +1 -0
  186. package/.next/static/chunks/app/api/lesson/route-93569b5eb93a61e9.js +1 -0
  187. package/.next/static/chunks/app/api/lesson/save/route-93569b5eb93a61e9.js +1 -0
  188. package/.next/static/chunks/app/api/lesson/verdict/route-93569b5eb93a61e9.js +1 -0
  189. package/.next/static/chunks/app/api/map/describe/route-93569b5eb93a61e9.js +1 -0
  190. package/.next/static/chunks/app/api/map/files/route-93569b5eb93a61e9.js +1 -0
  191. package/.next/static/chunks/app/api/map/finish/route-93569b5eb93a61e9.js +1 -0
  192. package/.next/static/chunks/app/api/map/route-93569b5eb93a61e9.js +1 -0
  193. package/.next/static/chunks/app/api/map/start/route-93569b5eb93a61e9.js +1 -0
  194. package/.next/static/chunks/app/api/map/touch-active/route-93569b5eb93a61e9.js +1 -0
  195. package/.next/static/chunks/app/api/mention-search/route-93569b5eb93a61e9.js +1 -0
  196. package/.next/static/chunks/app/api/nodes/[id]/position/route-93569b5eb93a61e9.js +1 -0
  197. package/.next/static/chunks/app/api/nodes/[id]/route-93569b5eb93a61e9.js +1 -0
  198. package/.next/static/chunks/app/api/nodes/positions/route-93569b5eb93a61e9.js +1 -0
  199. package/.next/static/chunks/app/api/nodes/route-93569b5eb93a61e9.js +1 -0
  200. package/.next/static/chunks/app/api/nodes/subtasks/route-93569b5eb93a61e9.js +1 -0
  201. package/.next/static/chunks/app/api/notes/[id]/route-93569b5eb93a61e9.js +1 -0
  202. package/.next/static/chunks/app/api/notes/route-93569b5eb93a61e9.js +1 -0
  203. package/.next/static/chunks/app/api/open/route-93569b5eb93a61e9.js +1 -0
  204. package/.next/static/chunks/app/api/plan/annotations/route-93569b5eb93a61e9.js +1 -0
  205. package/.next/static/chunks/app/api/plan/approve/route-93569b5eb93a61e9.js +1 -0
  206. package/.next/static/chunks/app/api/plan/history/route-93569b5eb93a61e9.js +1 -0
  207. package/.next/static/chunks/app/api/plan/markdown/route-93569b5eb93a61e9.js +1 -0
  208. package/.next/static/chunks/app/api/plan/presence/route-93569b5eb93a61e9.js +1 -0
  209. package/.next/static/chunks/app/api/plan/route-93569b5eb93a61e9.js +1 -0
  210. package/.next/static/chunks/app/api/plan/verdict/route-93569b5eb93a61e9.js +1 -0
  211. package/.next/static/chunks/app/api/preferences/route-93569b5eb93a61e9.js +1 -0
  212. package/.next/static/chunks/app/api/project-meta/route-93569b5eb93a61e9.js +1 -0
  213. package/.next/static/chunks/app/api/reset/route-93569b5eb93a61e9.js +1 -0
  214. package/.next/static/chunks/app/api/scope-guard/check/route-93569b5eb93a61e9.js +1 -0
  215. package/.next/static/chunks/app/api/share/create/route-93569b5eb93a61e9.js +1 -0
  216. package/.next/static/chunks/app/api/share/route-93569b5eb93a61e9.js +1 -0
  217. package/.next/static/chunks/app/api/stream/route-93569b5eb93a61e9.js +1 -0
  218. package/.next/static/chunks/app/api/tab/nav/route-93569b5eb93a61e9.js +1 -0
  219. package/.next/static/chunks/app/api/tab/presence/route-93569b5eb93a61e9.js +1 -0
  220. package/.next/static/chunks/app/api/telemetry/route-93569b5eb93a61e9.js +1 -0
  221. package/.next/static/chunks/app/api/telemetry/stats/route-93569b5eb93a61e9.js +1 -0
  222. package/.next/static/chunks/app/api/version/route-93569b5eb93a61e9.js +1 -0
  223. package/.next/static/chunks/app/api/workspace/activate/route-93569b5eb93a61e9.js +1 -0
  224. package/.next/static/chunks/app/api/workspace/route-93569b5eb93a61e9.js +1 -0
  225. package/.next/static/chunks/app/docs/page-126c0e42c71731b2.js +1 -0
  226. package/.next/static/chunks/app/layout-d3b7276f116dce46.js +1 -0
  227. package/.next/static/chunks/app/learn/page-f6a8683aa37b3913.js +7 -0
  228. package/.next/static/chunks/app/map/page-8aa811a0fa1d0733.js +1 -0
  229. package/.next/static/chunks/app/{page-d08947a671077569.js → page-ec00130a7a249f14.js} +1 -1
  230. package/.next/static/chunks/app/plan/page-633c2fe6cc10ca69.js +1 -0
  231. package/.next/static/chunks/app/s/[token]/page-aa6650d3a259d00f.js +1 -0
  232. package/.next/static/chunks/next/dist/client/components/builtin/app-error-93569b5eb93a61e9.js +1 -0
  233. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-93569b5eb93a61e9.js +1 -0
  234. package/.next/static/chunks/next/dist/client/components/builtin/not-found-93569b5eb93a61e9.js +1 -0
  235. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-93569b5eb93a61e9.js +1 -0
  236. package/.next/static/css/b51708465127fded.css +1 -0
  237. package/.next/static/kE60KTZ3HV1PLiD-qqEBH/_buildManifest.js +1 -0
  238. package/.next/trace +43 -43
  239. package/.next/trace-build +1 -1
  240. package/.next/types/routes.d.ts +2 -6
  241. package/.next/types/validator.ts +0 -36
  242. package/package.json +3 -3
  243. package/.next/server/app/api/feedback/[id]/route.js +0 -1
  244. package/.next/server/app/api/feedback/[id]/route.js.nft.json +0 -1
  245. package/.next/server/app/api/feedback/[id]/route_client-reference-manifest.js +0 -1
  246. package/.next/server/app/api/feedback/[id]/vote/route.js +0 -1
  247. package/.next/server/app/api/feedback/[id]/vote/route.js.nft.json +0 -1
  248. package/.next/server/app/api/feedback/[id]/vote/route_client-reference-manifest.js +0 -1
  249. package/.next/server/app/api/feedback/route.js +0 -1
  250. package/.next/server/app/api/feedback/route.js.nft.json +0 -1
  251. package/.next/server/app/api/feedback/route_client-reference-manifest.js +0 -1
  252. package/.next/server/app/feedback/page.js +0 -2
  253. package/.next/server/app/feedback/page.js.nft.json +0 -1
  254. package/.next/server/app/feedback/page_client-reference-manifest.js +0 -1
  255. package/.next/server/app/feedback.html +0 -1
  256. package/.next/server/app/feedback.meta +0 -15
  257. package/.next/server/app/feedback.rsc +0 -32
  258. package/.next/server/app/feedback.segments/_full.segment.rsc +0 -32
  259. package/.next/server/app/feedback.segments/_head.segment.rsc +0 -6
  260. package/.next/server/app/feedback.segments/_index.segment.rsc +0 -15
  261. package/.next/server/app/feedback.segments/_tree.segment.rsc +0 -5
  262. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +0 -9
  263. package/.next/server/app/feedback.segments/feedback.segment.rsc +0 -5
  264. package/.next/server/chunks/2050.js +0 -1
  265. package/.next/server/chunks/5683.js +0 -1
  266. package/.next/static/chunks/1276-b84f61ec9c0df862.js +0 -1
  267. package/.next/static/chunks/app/_global-error/page-2390ea0e69e5991f.js +0 -1
  268. package/.next/static/chunks/app/api/board-annotations/[id]/route-2390ea0e69e5991f.js +0 -1
  269. package/.next/static/chunks/app/api/board-annotations/route-2390ea0e69e5991f.js +0 -1
  270. package/.next/static/chunks/app/api/board-layout/route-2390ea0e69e5991f.js +0 -1
  271. package/.next/static/chunks/app/api/bug-flags/[id]/route-2390ea0e69e5991f.js +0 -1
  272. package/.next/static/chunks/app/api/bug-flags/route-2390ea0e69e5991f.js +0 -1
  273. package/.next/static/chunks/app/api/code-graph/position/route-2390ea0e69e5991f.js +0 -1
  274. package/.next/static/chunks/app/api/code-graph/route-2390ea0e69e5991f.js +0 -1
  275. package/.next/static/chunks/app/api/context/feature/route-2390ea0e69e5991f.js +0 -1
  276. package/.next/static/chunks/app/api/context/file/route-2390ea0e69e5991f.js +0 -1
  277. package/.next/static/chunks/app/api/context/route-2390ea0e69e5991f.js +0 -1
  278. package/.next/static/chunks/app/api/db/arrange/route-2390ea0e69e5991f.js +0 -1
  279. package/.next/static/chunks/app/api/db/backfill-access/route-2390ea0e69e5991f.js +0 -1
  280. package/.next/static/chunks/app/api/db/position/route-2390ea0e69e5991f.js +0 -1
  281. package/.next/static/chunks/app/api/db/prune-planned/route-2390ea0e69e5991f.js +0 -1
  282. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-2390ea0e69e5991f.js +0 -1
  283. package/.next/static/chunks/app/api/db/relations/[id]/route-2390ea0e69e5991f.js +0 -1
  284. package/.next/static/chunks/app/api/db/tables/[id]/route-2390ea0e69e5991f.js +0 -1
  285. package/.next/static/chunks/app/api/draft/approve/route-2390ea0e69e5991f.js +0 -1
  286. package/.next/static/chunks/app/api/draft/route-2390ea0e69e5991f.js +0 -1
  287. package/.next/static/chunks/app/api/draft/status/route-2390ea0e69e5991f.js +0 -1
  288. package/.next/static/chunks/app/api/edges/[id]/route-2390ea0e69e5991f.js +0 -1
  289. package/.next/static/chunks/app/api/edges/route-2390ea0e69e5991f.js +0 -1
  290. package/.next/static/chunks/app/api/endpoints/[id]/route-2390ea0e69e5991f.js +0 -1
  291. package/.next/static/chunks/app/api/entities/route-2390ea0e69e5991f.js +0 -1
  292. package/.next/static/chunks/app/api/feedback/[id]/route-2390ea0e69e5991f.js +0 -1
  293. package/.next/static/chunks/app/api/feedback/[id]/vote/route-2390ea0e69e5991f.js +0 -1
  294. package/.next/static/chunks/app/api/feedback/route-2390ea0e69e5991f.js +0 -1
  295. package/.next/static/chunks/app/api/flags/route-2390ea0e69e5991f.js +0 -1
  296. package/.next/static/chunks/app/api/ingest/route-2390ea0e69e5991f.js +0 -1
  297. package/.next/static/chunks/app/api/init/route-2390ea0e69e5991f.js +0 -1
  298. package/.next/static/chunks/app/api/lesson/close/route-2390ea0e69e5991f.js +0 -1
  299. package/.next/static/chunks/app/api/lesson/presence/route-2390ea0e69e5991f.js +0 -1
  300. package/.next/static/chunks/app/api/lesson/questions/route-2390ea0e69e5991f.js +0 -1
  301. package/.next/static/chunks/app/api/lesson/route-2390ea0e69e5991f.js +0 -1
  302. package/.next/static/chunks/app/api/lesson/save/route-2390ea0e69e5991f.js +0 -1
  303. package/.next/static/chunks/app/api/lesson/verdict/route-2390ea0e69e5991f.js +0 -1
  304. package/.next/static/chunks/app/api/map/describe/route-2390ea0e69e5991f.js +0 -1
  305. package/.next/static/chunks/app/api/map/files/route-2390ea0e69e5991f.js +0 -1
  306. package/.next/static/chunks/app/api/map/finish/route-2390ea0e69e5991f.js +0 -1
  307. package/.next/static/chunks/app/api/map/route-2390ea0e69e5991f.js +0 -1
  308. package/.next/static/chunks/app/api/map/start/route-2390ea0e69e5991f.js +0 -1
  309. package/.next/static/chunks/app/api/map/touch-active/route-2390ea0e69e5991f.js +0 -1
  310. package/.next/static/chunks/app/api/mention-search/route-2390ea0e69e5991f.js +0 -1
  311. package/.next/static/chunks/app/api/nodes/[id]/position/route-2390ea0e69e5991f.js +0 -1
  312. package/.next/static/chunks/app/api/nodes/[id]/route-2390ea0e69e5991f.js +0 -1
  313. package/.next/static/chunks/app/api/nodes/positions/route-2390ea0e69e5991f.js +0 -1
  314. package/.next/static/chunks/app/api/nodes/route-2390ea0e69e5991f.js +0 -1
  315. package/.next/static/chunks/app/api/nodes/subtasks/route-2390ea0e69e5991f.js +0 -1
  316. package/.next/static/chunks/app/api/notes/[id]/route-2390ea0e69e5991f.js +0 -1
  317. package/.next/static/chunks/app/api/notes/route-2390ea0e69e5991f.js +0 -1
  318. package/.next/static/chunks/app/api/open/route-2390ea0e69e5991f.js +0 -1
  319. package/.next/static/chunks/app/api/plan/annotations/route-2390ea0e69e5991f.js +0 -1
  320. package/.next/static/chunks/app/api/plan/approve/route-2390ea0e69e5991f.js +0 -1
  321. package/.next/static/chunks/app/api/plan/history/route-2390ea0e69e5991f.js +0 -1
  322. package/.next/static/chunks/app/api/plan/markdown/route-2390ea0e69e5991f.js +0 -1
  323. package/.next/static/chunks/app/api/plan/presence/route-2390ea0e69e5991f.js +0 -1
  324. package/.next/static/chunks/app/api/plan/route-2390ea0e69e5991f.js +0 -1
  325. package/.next/static/chunks/app/api/plan/verdict/route-2390ea0e69e5991f.js +0 -1
  326. package/.next/static/chunks/app/api/preferences/route-2390ea0e69e5991f.js +0 -1
  327. package/.next/static/chunks/app/api/project-meta/route-2390ea0e69e5991f.js +0 -1
  328. package/.next/static/chunks/app/api/reset/route-2390ea0e69e5991f.js +0 -1
  329. package/.next/static/chunks/app/api/scope-guard/check/route-2390ea0e69e5991f.js +0 -1
  330. package/.next/static/chunks/app/api/share/create/route-2390ea0e69e5991f.js +0 -1
  331. package/.next/static/chunks/app/api/share/route-2390ea0e69e5991f.js +0 -1
  332. package/.next/static/chunks/app/api/stream/route-2390ea0e69e5991f.js +0 -1
  333. package/.next/static/chunks/app/api/tab/nav/route-2390ea0e69e5991f.js +0 -1
  334. package/.next/static/chunks/app/api/tab/presence/route-2390ea0e69e5991f.js +0 -1
  335. package/.next/static/chunks/app/api/telemetry/route-2390ea0e69e5991f.js +0 -1
  336. package/.next/static/chunks/app/api/telemetry/stats/route-2390ea0e69e5991f.js +0 -1
  337. package/.next/static/chunks/app/api/version/route-2390ea0e69e5991f.js +0 -1
  338. package/.next/static/chunks/app/api/workspace/activate/route-2390ea0e69e5991f.js +0 -1
  339. package/.next/static/chunks/app/api/workspace/route-2390ea0e69e5991f.js +0 -1
  340. package/.next/static/chunks/app/docs/page-ae19d2e91ec24771.js +0 -1
  341. package/.next/static/chunks/app/feedback/page-ea7f66503f2a4ca6.js +0 -1
  342. package/.next/static/chunks/app/layout-9f0f4d8e4534a62e.js +0 -1
  343. package/.next/static/chunks/app/learn/page-03acad0a37068966.js +0 -7
  344. package/.next/static/chunks/app/map/page-5cfad64d5feea695.js +0 -1
  345. package/.next/static/chunks/app/plan/page-5eacb6b83bd4873d.js +0 -1
  346. package/.next/static/chunks/app/s/[token]/page-1a350cf50a45500c.js +0 -1
  347. package/.next/static/chunks/next/dist/client/components/builtin/app-error-2390ea0e69e5991f.js +0 -1
  348. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-2390ea0e69e5991f.js +0 -1
  349. package/.next/static/chunks/next/dist/client/components/builtin/not-found-2390ea0e69e5991f.js +0 -1
  350. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-2390ea0e69e5991f.js +0 -1
  351. package/.next/static/css/63986592e2be7d62.css +0 -1
  352. package/.next/static/hkOIw5DQW9WSwBwZrD8_9/_buildManifest.js +0 -1
  353. package/.next/types/app/api/feedback/[id]/route.ts +0 -351
  354. package/.next/types/app/api/feedback/[id]/vote/route.ts +0 -351
  355. package/.next/types/app/api/feedback/route.ts +0 -351
  356. package/.next/types/app/feedback/page.ts +0 -87
  357. /package/.next/static/{hkOIw5DQW9WSwBwZrD8_9 → kE60KTZ3HV1PLiD-qqEBH}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4853],{44853:(e,t,n)=>{n.d(t,{DbMapClient:()=>ek});var a=n(95155),s=n(12115),o=n(80277),l=n(73321),i=n(81750),r=n(6266);n(53255);var d=n(32133),c=n(81499),m=n(51128),u=n(65738),p=n(9005),h=n(2125),f=n(91337),x=n(18874);let b=(0,s.createContext)(null);function g(){let e=(0,s.useContext)(b);if(!e)throw Error("useDbEdit must be used inside DbEditContext");return e}var y=n(29523),j=n(70221),k=n(95635),w=n(17918);let N={danger:"bg-red-500/15 text-red-300",warn:"bg-amber-500/15 text-amber-300"};function v({badges:e,className:t}){return e.length?(0,a.jsx)("span",{className:(0,f.cn)("flex shrink-0 items-center gap-0.5",t),children:e.map(e=>(0,a.jsx)("span",{title:e.title,className:(0,f.cn)("rounded px-1 text-[8px] font-semibold uppercase tracking-wide",N[e.tone]),children:e.label},e.label))}):null}let C=/pass(word)?|token|secret|api[_-]?key|credential|priv(ate)?[_-]?key|hash|salt/i,T=/auth|login|logout|session|token|password|oauth|sso|credential/i,M="nodrag nopan",S=k.x;function E({onClick:e,title:t}){return(0,a.jsx)("button",{type:"button",title:t,onClick:t=>{t.stopPropagation(),e()},className:(0,f.cn)(M,"absolute -right-3 top-1/2 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-[#242428] text-muted-foreground opacity-0 shadow-md transition-all group-hover/row:opacity-100 hover:border-[#ff7a45]/50 hover:text-[#ff7a45]"),children:(0,a.jsx)(d.A,{className:"size-3"})})}function I({c:e,fkTargets:t}){let n=t?.[e.name];return(0,a.jsx)("span",{title:n?`→ ${n}`:e.type,className:"ml-auto min-w-0 truncate font-mono text-[11px] text-muted-foreground/80",children:n?(0,a.jsxs)(a.Fragment,{children:["→\xa0",n]}):e.type})}let $=(0,s.memo)(function({id:e,data:t,selected:n}){var o;let l,i,r="DRAFT"===t.source,d="added"===t.diffStatus?"#7bd389":"modified"===t.diffStatus?"#ffb86b":"#4ea1ff",b="added"===t.diffStatus||"modified"===t.diffStatus,N="added"===t.diffStatus?"new":"modified"===t.diffStatus?"modify":"in plan",T=t.diffChanges?.length?t.diffChanges.join("\n"):"in this plan — no column change",$=r?d:(0,x.qA)(t.domain),A=(o={domain:t.domain,columns:t.columns},l=[],(i=o.columns.filter(e=>C.test(e.name)).map(e=>e.name)).length&&l.push({label:"secrets",tone:"danger",title:`stores credentials: ${i.join(", ")}`}),o.domain&&/auth/i.test(o.domain)&&l.push({label:"auth",tone:"warn",title:"auth-domain table"}),l),P=g(),[z,D]=(0,s.useState)(t.name),[F,R]=(0,s.useState)(t.columns),[O,L]=(0,s.useState)(!1);(0,s.useEffect)(()=>{D(t.name),R(t.columns)},[t.rev]);let K=e=>e.stopPropagation(),B=t=>{R(t),P.patchTable(e,{columns:t})},H=(t.pins??[]).filter(e=>null===e.column),_=e=>(t.pins??[]).filter(t=>t.column===e),Z=function(e,t,n,a=!1,s){return Math.min(312,Math.max(240,Math.round(8*e.length)+90,...t.map(e=>{if(a){let t=s?.[e.name];return Math.round(7.3*Math.max(6,e.name.length+1)+(t?.kind==="modified"?8*t.detail.length:64))+94}let t=n?.[e.name]?n[e.name].length+2:e.type.length;return Math.round(7.3*e.name.length+6.7*t)+64})))}(t.name,r?F:t.columns,t.fkTargets,r,t.diffColumns),U=(0,f.cn)("relative rounded-xl border bg-[#161618]/95 text-card-foreground shadow-[0_18px_50px_-22px_rgba(0,0,0,0.9)] backdrop-blur",n&&"ring-2 ring-[var(--accent,#f5b942)]"),q=(0,y.k)(j.fE);return"full"!==q?(0,a.jsxs)("div",{className:(0,f.cn)(U,"border-white/10 px-3 py-2.5","far"===q&&!P.readOnly&&"!opacity-0"),style:{width:Z},children:[(0,a.jsx)(k.x,{}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block size-2 shrink-0 rounded-full",style:{background:$}}),(0,a.jsx)("span",{className:"truncate font-mono text-[15px] font-semibold",children:t.name})]})]}):r?(0,a.jsxs)("div",{className:(0,f.cn)(U,"group/card"),style:{width:Z,borderColor:`${d}59`},children:[(0,a.jsx)(S,{}),(0,a.jsxs)("div",{className:"group/row relative flex items-center gap-1.5 rounded-t-[11px] px-3 py-2",style:{background:`${d}14`},children:[(0,a.jsx)("input",{value:z,onChange:e=>D(e.target.value),onBlur:()=>{let n=z.trim();n&&n!==t.name&&P.patchTable(e,{name:n})},onKeyDown:e=>{K(e),"Enter"===e.key&&e.currentTarget.blur()},placeholder:"table",className:(0,f.cn)(M,"min-w-0 flex-1 bg-transparent font-mono text-[13px] font-semibold tracking-tight outline-none")}),(0,a.jsx)(v,{badges:A}),(0,a.jsx)("span",{title:T,className:(0,f.cn)("shrink-0 rounded-md border px-1.5 py-px font-mono text-[9px] font-semibold uppercase tracking-[0.14em]",!b&&"border-white/15 bg-white/5 text-muted-foreground"),style:b?{background:`${d}1f`,borderColor:`${d}55`,color:d}:void 0,children:N}),(0,a.jsx)("button",{type:"button",onClick:t=>{K(t),O?P.deleteTable(e):L(!0)},onBlur:()=>L(!1),title:"Delete table",className:(0,f.cn)(M,"shrink-0 transition-all",O?"text-red-300":"text-muted-foreground opacity-0 hover:text-red-300 group-hover/card:opacity-100"),children:(0,a.jsx)(u.A,{className:"size-3"})}),H.length>0?(0,a.jsx)(w.e0,{pins:H,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}`,onClick:()=>t.onComment?.(t.name)})]}),(0,a.jsxs)("div",{className:"divide-y divide-white/[0.05]",children:[F.map((e,n)=>{let s=_(e.name),o=t.diffColumns?.[e.name],l=o?.kind==="added"?{background:"#7bd38914",boxShadow:"inset 2px 0 0 #7bd389"}:o?.kind==="modified"?{background:"#ffb86b14",boxShadow:"inset 2px 0 0 #ffb86b"}:void 0;return(0,a.jsxs)("div",{style:l,className:"group/row relative flex items-center gap-1.5 px-3 py-[5px] text-[12px]",children:[(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.map((e,t)=>t===n?{...e,isPk:!e.isPk}:e))},title:"Primary key",className:(0,f.cn)(M,"shrink-0",e.isPk?"text-amber-300/90":"text-muted-foreground/40 hover:text-amber-300"),children:(0,a.jsx)(c.A,{className:"size-3"})}),(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.map((e,t)=>t===n?{...e,isFk:!e.isFk}:e))},title:"Foreign key",className:(0,f.cn)(M,"shrink-0",e.isFk?"text-sky-400/80":"text-muted-foreground/40 hover:text-sky-400"),children:(0,a.jsx)(m.A,{className:"size-3"})}),(0,a.jsx)("input",{value:e.name,onChange:e=>R(t=>t.map((t,a)=>a===n?{...t,name:e.target.value}:t)),onBlur:()=>B(F),onKeyDown:K,placeholder:"column",style:{width:`${Math.max(6,e.name.length+1)}ch`},className:(0,f.cn)(M,"shrink-0 bg-transparent font-mono outline-none")}),(0,a.jsx)("span",{"aria-hidden":!0,className:"flex-1"}),t.fkTargets?.[e.name]?(0,a.jsxs)("span",{title:`→ ${t.fkTargets[e.name]}`,className:"min-w-0 shrink truncate text-right font-mono text-[11px] text-muted-foreground/80",children:["→\xa0",t.fkTargets[e.name]]}):o?.kind==="modified"?(0,a.jsx)("span",{title:`was changed — ${o.detail}`,className:(0,f.cn)(M,"min-w-0 shrink truncate text-right font-mono text-[11px] font-medium text-[#ffb86b]"),children:o.detail}):(0,a.jsx)("input",{value:e.type,onChange:e=>R(t=>t.map((t,a)=>a===n?{...t,type:e.target.value}:t)),onBlur:()=>B(F),onKeyDown:K,placeholder:"type",title:e.type,className:(0,f.cn)(M,"w-16 min-w-0 shrink bg-transparent text-right font-mono text-[11px] outline-none",o?.kind==="added"?"text-[#7bd389]":"text-muted-foreground/80")}),(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.filter((e,t)=>t!==n))},title:"Remove column",className:(0,f.cn)(M,"shrink-0 text-muted-foreground/40 opacity-0 transition-opacity hover:text-red-300 group-hover/card:opacity-100"),children:(0,a.jsx)(p.A,{className:"size-3"})}),s.length>0?(0,a.jsx)(w.e0,{pins:s,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}.${e.name}`,onClick:()=>t.onComment?.(`${t.name}.${e.name}`)})]},n)}),(0,a.jsxs)("button",{type:"button",onClick:e=>{K(e),B([...F,{name:"",type:"text",isPk:!1,isFk:!1,nullable:!0,note:null}])},className:(0,f.cn)(M,"flex w-full items-center gap-1 px-3 py-1.5 text-[10px] text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(h.A,{className:"size-3"})," column"]})]})]}):(0,a.jsxs)("div",{className:U,style:{width:Z,borderColor:`${$}3d`},children:[(0,a.jsx)(S,{}),(0,a.jsxs)("div",{className:"group/row relative flex items-center justify-between rounded-t-[11px] px-3 py-2",style:{background:`${$}14`},children:[(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-1.5 font-mono text-[13px] font-semibold tracking-tight",children:["INTROSPECTION"===t.source&&(0,a.jsx)("span",{title:"live — derived from your code",className:"inline-block size-1.5 shrink-0 rounded-full bg-emerald-400"}),(0,a.jsx)("span",{className:"truncate",title:t.name,children:t.name})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1.5",children:["INTROSPECTION"!==t.source&&(0,a.jsx)("span",{title:"planned — not yet detected in code",className:"shrink-0 rounded-md border border-[#f5b942]/35 bg-[#f5b942]/10 px-1.5 py-px font-mono text-[9px] font-semibold uppercase tracking-[0.14em] text-[#f5b942]",children:"planned"}),(0,a.jsx)(v,{badges:A}),t.domain&&(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-[0.14em]",style:{color:$},children:t.domain})]}),H.length>0?(0,a.jsx)(w.e0,{pins:H,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}`,onClick:()=>t.onComment?.(t.name)})]}),(0,a.jsx)("div",{className:"divide-y divide-white/[0.05]",children:t.columns.map(e=>{let n=_(e.name);return(0,a.jsxs)("div",{className:"group/row relative flex items-center gap-2 px-3 py-[7px] text-[12px]",children:[e.isPk?(0,a.jsx)(c.A,{className:"size-3 shrink-0 text-amber-300/90"}):e.isFk?(0,a.jsx)(m.A,{className:"size-3 shrink-0 text-sky-400/80"}):(0,a.jsx)("span",{className:"size-3 shrink-0"}),(0,a.jsx)("span",{className:"shrink-0 whitespace-nowrap font-mono",children:e.name}),(0,a.jsx)(I,{c:e,fkTargets:t.fkTargets}),n.length>0?(0,a.jsx)(w.e0,{pins:n,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}.${e.name}`,onClick:()=>t.onComment?.(`${t.name}.${e.name}`)})]},e.name)})})]})}),A="nodrag nopan",P=["GET","POST","PUT","PATCH","DELETE"],z=(0,s.memo)(function({id:e,data:t,selected:n}){var o;let l,i=x.e6[t.method]??"#8a8a8a",r="DRAFT"===t.source,c="added"===t.diffStatus?"#7bd389":"modified"===t.diffStatus?"#ffb86b":"#4ea1ff",m="added"===t.diffStatus?"new":"modified"===t.diffStatus?"changed":"draft",p=t.diffChanges?.length?t.diffChanges.join("\n"):"draft",h=(o={method:t.method,domain:t.domain,path:t.path},l=[],/^delete$/i.test(o.method.trim())&&l.push({label:"DELETE",tone:"danger",title:"destructive: deletes data"}),(o.domain&&/auth/i.test(o.domain)||T.test(o.path))&&l.push({label:"auth",tone:"warn",title:"auth-related endpoint"}),l),b=g(),[N,C]=(0,s.useState)(t.path),[M,S]=(0,s.useState)(!1);(0,s.useEffect)(()=>{C(t.path)},[t.rev]);let E=e=>e.stopPropagation(),I=(0,y.k)(j.fE);return"full"!==I?(0,a.jsxs)("div",{className:(0,f.cn)("relative flex w-[300px] items-center gap-2 rounded-lg border border-white/10 bg-[#161618]/95 px-2.5 py-2 text-card-foreground backdrop-blur",n&&"ring-2 ring-[var(--accent,#f5b942)]","far"===I&&!b.readOnly&&"!opacity-0"),children:[(0,a.jsx)(k.x,{}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[12px] font-bold",style:{color:i},children:t.method}),(0,a.jsx)("span",{title:t.path,className:"truncate font-mono text-[13px]",children:t.path})]}):(0,a.jsxs)("div",{className:(0,f.cn)("group relative flex w-[300px] items-center gap-2 rounded-lg border bg-[#161618]/95 px-2.5 py-1.5 text-card-foreground shadow-[0_12px_36px_-18px_rgba(0,0,0,0.9)] backdrop-blur",r?"border-dashed":"border-white/10",n&&"ring-2 ring-[var(--accent,#f5b942)]"),style:r?{borderColor:`${c}66`,background:`${c}0f`}:void 0,children:[(0,a.jsx)(k.x,{}),"INTROSPECTION"===t.source&&(0,a.jsx)("span",{title:"live — derived from your code",className:"inline-block size-1.5 shrink-0 rounded-full bg-emerald-400"}),r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("select",{value:t.method,onChange:t=>b.patchEndpoint(e,{method:t.target.value}),onPointerDown:E,className:(0,f.cn)(A,"shrink-0 rounded bg-transparent text-[10px] font-bold outline-none"),style:{color:i},title:"Method",children:P.map(e=>(0,a.jsx)("option",{value:e,className:"bg-card text-foreground",children:e},e))}),(0,a.jsx)("input",{value:N,title:N,onChange:e=>C(e.target.value),onBlur:()=>{let n=N.trim();n&&n!==t.path&&b.patchEndpoint(e,{path:n})},onKeyDown:e=>{E(e),"Enter"===e.key&&e.currentTarget.blur()},className:(0,f.cn)(A,"min-w-0 flex-1 bg-transparent font-mono text-[11px] outline-none")}),(0,a.jsx)(v,{badges:h}),(0,a.jsx)("span",{title:p,className:"shrink-0 rounded px-1 py-0.5 text-[8px] font-semibold uppercase",style:{background:`${c}26`,color:c},children:m}),(0,a.jsx)("button",{type:"button",onClick:t=>{E(t),M?b.deleteEndpoint(e):S(!0)},onBlur:()=>S(!1),title:"Delete",className:(0,f.cn)(A,"shrink-0 transition-colors",M?"text-red-300":"text-muted-foreground hover:text-red-300"),children:(0,a.jsx)(u.A,{className:"size-3"})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"rounded px-1.5 py-0.5 text-[10px] font-bold",style:{background:`${i}22`,color:i},children:t.method}),(0,a.jsx)("span",{title:t.path,className:"min-w-0 flex-1 break-all font-mono text-[11px] leading-tight [-webkit-box-orient:vertical] [-webkit-line-clamp:2] [display:-webkit-box] overflow-hidden",children:t.path}),"INTROSPECTION"!==t.source&&(0,a.jsx)("span",{title:"planned — not yet detected in code",className:"shrink-0 rounded-md border border-[#f5b942]/35 bg-[#f5b942]/10 px-1.5 py-px font-mono text-[8px] font-semibold uppercase tracking-[0.14em] text-[#f5b942]",children:"planned"}),(0,a.jsx)(v,{badges:h}),(0,a.jsx)("button",{type:"button",onClick:t=>{E(t),M?b.deleteRealEndpoint(e):S(!0)},onBlur:()=>S(!1),title:M?"Click again to delete":"Delete endpoint",className:(0,f.cn)(A,"shrink-0 opacity-0 transition-opacity group-hover:opacity-100",M?"text-red-300 opacity-100":"text-muted-foreground hover:text-red-300"),children:(0,a.jsx)(u.A,{className:"size-3"})})]}),(t.pins?.length??0)>0?(0,a.jsx)(w.e0,{pins:t.pins,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)("button",{type:"button",title:`Comment on ${t.method} ${t.path}`,onClick:e=>{E(e),t.onComment?.(`${t.method} ${t.path}`)},className:(0,f.cn)(A,"absolute -right-3 top-1/2 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-[#242428] text-muted-foreground opacity-0 shadow-md transition-all group-hover:opacity-100 hover:border-[#ff7a45]/50 hover:text-[#ff7a45]"),children:(0,a.jsx)(d.A,{className:"size-3"})})]})});var D=n(54698),F=n(82099),R=n(4474);let O=[{id:"claude",label:"Prompt p/ Claude Code",fn:function(e){let t=["Implement this database schema in this project, following its existing stack and conventions:",""];for(let n of e.tables){let e=`Table \`${n.name}\``+(n.domain?` (domain: ${n.domain})`:"")+(n.description?` — ${n.description}`:"");for(let a of(t.push(e),n.columns)){let e=[a.isPk&&"PK",a.isFk&&"FK",!1===a.nullable&&"NOT NULL"].filter(Boolean).join(", ");t.push(` - ${a.name}: ${a.type}`+(e?` [${e}]`:"")+(a.note?` — ${a.note}`:""))}t.push("")}if(e.relations.length){for(let n of(t.push("Foreign keys:"),e.relations))t.push(` - ${n.fromTable}.${n.fromColumn} -> ${n.toTable}.${n.toColumn}`);t.push("")}return t.push("Create the models/migrations using the project's existing ORM and patterns, wire the relationships, and keep table and column names exactly as given."),t.join("\n")}},{id:"dbml",label:"DBML",fn:function(e){let t=[];for(let n of e.tables){for(let e of(t.push(`Table ${n.name} {`),n.columns)){let n=[e.isPk&&"pk",!1===e.nullable&&!e.isPk&&"not null",e.note&&`note: '${e.note.replace(/'/g,"")}'`].filter(Boolean).join(", ");t.push(` ${e.name} ${e.type}`+(n?` [${n}]`:""))}t.push("}","")}for(let n of e.relations)t.push(`Ref: ${n.fromTable}.${n.fromColumn} > ${n.toTable}.${n.toColumn}`);return t.join("\n").trim()}},{id:"sql",label:"SQL DDL",fn:function(e){let t=[];for(let n of e.tables){t.push(`CREATE TABLE ${n.name} (`);let a=n.columns.map(e=>{let t=[` ${e.name} ${e.type}`];return e.isPk?t.push("PRIMARY KEY"):!1===e.nullable&&t.push("NOT NULL"),t.join(" ")}),s=e.relations.filter(e=>e.fromTable===n.name).map(e=>` FOREIGN KEY (${e.fromColumn}) REFERENCES ${e.toTable}(${e.toColumn})`);t.push([...a,...s].join(",\n")),t.push(");","")}return t.join("\n").trim()}}];function L({draftGraph:e}){let[t,n]=(0,s.useState)(null);if(0===e.tables.length)return null;async function o(t){await navigator.clipboard.writeText(t.fn(e)).catch(()=>{}),n(t.id),setTimeout(()=>n(null),1500)}return(0,a.jsxs)("div",{className:"space-y-2 rounded-xl border border-sky-400/20 bg-sky-500/[0.04] p-3",children:[(0,a.jsxs)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-sky-300",children:["Rascunho \xb7 ",e.tables.length," tabelas"]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"copiar:"}),O.map(e=>(0,a.jsx)(R.$,{size:"sm",variant:"outline",className:"h-6 px-2 text-[11px]",onClick:()=>o(e),children:t===e.id?"✓":e.label},e.id))]})]})}function K({selected:e,tables:t,relations:n,endpoints:s,draftGraph:o,onClose:l,commentsContent:i,commentsCount:r=0,activeTab:c,onTabChange:m,onAddComment:u,topOffset:h}){let f,x,b=new Map(t.map(e=>[e.id,e.name])),g=!!i,y=c??"details",j=e?.kind==="table"?t.find(t=>t.id===e.id)?.name??null:e?.kind==="endpoint"&&(x=s.find(t=>t.id===e.id))?`${x.method} ${x.path}`:null;if(e?.kind==="table"){let o=t.find(t=>t.id===e.id);f=o?(0,a.jsx)(H,{table:o,relations:n,endpoints:s,nameById:b}):null}else if(e?.kind==="endpoint"){let t=s.find(t=>t.id===e.id);f=t?(0,a.jsx)(_,{ep:t,nameById:b}):null}else f=(0,a.jsx)(Z,{tables:t,relations:n,endpoints:s});return(0,a.jsxs)(F.b,{className:"absolute right-3 z-10 flex w-80 flex-col rounded-2xl",style:{top:h??12,maxHeight:`calc(100% - ${(h??12)+12}px)`},children:[g?(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-1 py-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,a.jsx)(B,{active:"details"===y,onClick:()=>m?.("details"),children:"Details"}),(0,a.jsxs)(B,{active:"comments"===y,onClick:()=>m?.("comments"),children:["Comments",r>0&&(0,a.jsx)("span",{className:"ml-1 rounded-full bg-white/10 px-1 text-[9px] font-semibold leading-4",children:r})]})]}),(0,a.jsx)("button",{onClick:l,title:"Close panel",className:"mr-1 rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,a.jsx)(p.A,{className:"size-4"})})]}):(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Panel"}),(0,a.jsx)("button",{onClick:l,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,a.jsx)(p.A,{className:"size-4"})})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:"comments"===y&&g?(0,a.jsx)("div",{className:"p-3",children:i}):(0,a.jsxs)(a.Fragment,{children:[o.tables.length>0&&(0,a.jsx)("div",{className:"border-b border-white/10 p-3.5",children:(0,a.jsx)(L,{draftGraph:o})}),(0,a.jsxs)("div",{className:"p-4",children:[u&&j&&(0,a.jsxs)("button",{type:"button",onClick:()=>u(j),className:"mb-3 flex w-full items-center justify-center gap-1.5 rounded-lg border border-white/10 bg-white/[0.03] px-3 py-1.5 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,a.jsx)(d.A,{className:"size-3.5"}),"Comment on this ",e?.kind==="endpoint"?"endpoint":"table"]}),f]})]})})]})}function B({active:e,onClick:t,children:n}){return(0,a.jsx)("button",{type:"button",onClick:t,className:(0,f.cn)("flex items-center gap-1 rounded-md px-2.5 py-1 text-[11px] font-medium transition-colors",e?"bg-white/10 text-foreground":"text-muted-foreground hover:text-foreground"),children:n})}function H({table:e,relations:t,endpoints:n,nameById:s}){let o=t.filter(t=>t.fromTableId===e.id),l=t.filter(t=>t.toTableId===e.id),i=n.map(t=>({e:t,u:t.tables.find(t=>t.tableId===e.id)})).filter(e=>e.u);return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-xs uppercase tracking-wide",style:{color:(0,x.qA)(e.domain)},children:e.domain??"table"}),(0,a.jsx)("h2",{className:"font-mono text-lg font-semibold",children:e.name}),e.description&&(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.description})]}),(0,a.jsx)(U,{title:`Columns (${e.columns.length})`,children:(0,a.jsx)("ul",{className:"space-y-0.5",children:e.columns.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5 text-xs",children:[e.isPk?(0,a.jsx)(c.A,{className:"size-3 text-amber-400"}):e.isFk?(0,a.jsx)(m.A,{className:"size-3 text-sky-400"}):(0,a.jsx)("span",{className:"size-3"}),(0,a.jsx)("span",{className:"font-mono",children:e.name}),(0,a.jsxs)("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground",children:[e.type,!e.nullable&&" \xb7NN"]})]},e.name))})}),o.length>0&&(0,a.jsx)(U,{title:"References (FK out)",children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:o.map(e=>(0,a.jsxs)("li",{className:"font-mono text-muted-foreground",children:[e.fromColumn," → ",s.get(e.toTableId),".",e.toColumn]},e.id))})}),l.length>0&&(0,a.jsx)(U,{title:"Referenced by (FK in)",children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:l.map(e=>(0,a.jsxs)("li",{className:"font-mono text-muted-foreground",children:[s.get(e.fromTableId),".",e.fromColumn]},e.id))})}),i.length>0&&(0,a.jsx)(U,{title:`Used by endpoints (${i.length})`,children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:i.map(({e,u:t})=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{style:{color:x.e6[e.method]},className:"font-bold",children:e.method}),(0,a.jsx)("span",{className:"truncate font-mono",children:e.path}),(0,a.jsx)("span",{className:"ml-auto",style:{color:x.ru[t.access]},children:t.access})]},e.id))})})]})}function _({ep:e,nameById:t}){return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"rounded px-1.5 py-0.5 text-[11px] font-bold",style:{background:`${x.e6[e.method]}22`,color:x.e6[e.method]},children:e.method}),(0,a.jsx)("h2",{className:"mt-2 font-mono text-base font-semibold",children:e.path}),e.description&&(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.description})]}),(0,a.jsx)(U,{title:`Tables used (${e.tables.length})`,children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:e.tables.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-mono",children:t.get(e.tableId)}),(0,a.jsx)("span",{className:"ml-auto",style:{color:x.ru[e.access]},children:e.access})]},e.tableId))})})]})}function Z({tables:e,relations:t,endpoints:n}){return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"Database"}),(0,a.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Live schema derived from your code. Click a table or endpoint to see details. Drag to rearrange — positions are saved."})]}),(0,a.jsxs)("dl",{className:"grid grid-cols-3 gap-2 text-center",children:[(0,a.jsx)(q,{label:"tables",value:e.length}),(0,a.jsx)(q,{label:"FKs",value:t.length}),(0,a.jsx)(q,{label:"endpoints",value:n.length})]}),(0,a.jsx)(U,{title:"Legend",children:(0,a.jsxs)("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(c.A,{className:"size-3 text-amber-400"})," primary key"]}),(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(m.A,{className:"size-3 text-sky-400"})," foreign key"]}),(0,a.jsx)("li",{children:"— gray line: FK relation between tables"}),(0,a.jsx)("li",{children:"– – dashed line: endpoint uses table (read/write)"})]})})]})}function U({title:e,children:t}){return(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e}),t]})}function q({label:e,value:t}){return(0,a.jsxs)("div",{className:"rounded-lg border border-white/10 bg-white/[0.03] py-2",children:[(0,a.jsx)("div",{className:"text-lg font-semibold",children:t}),(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:e})]})}var W=n(56614),G=n(9991),J=n(40654),Q=n(14983),V=n(62311);let X=new Set(["GET","HEAD","OPTIONS"]);var Y=n(44267),ee=n(94014);function et(e){return 36+30*Math.max(0,e)+16}let en="Unattached",ea=e=>(e??"").trim()||"—";function es(e,t){let n=new Map(e.map(e=>[e.id,e.name])),a=new Map;for(let e of t)for(let t of e.uses)n.has(t.tableId)&&a.set(t.tableId,(a.get(t.tableId)??0)+1);return new Map(t.map(e=>[e.id,function(e,t,n){let a=new Map;for(let n of e.uses)t.has(n.tableId)&&a.set(n.tableId,(a.get(n.tableId)??0)+1);let s=null;for(let[e,o]of a){if(null===s){s=e;continue}let l=a.get(s);if(o>l){s=e;continue}if(o<l)continue;let i=n?.get(e)??0,r=n?.get(s)??0;i<r?s=e:i===r&&0>t.get(e).localeCompare(t.get(s))&&(s=e)}return s}(e,n,a)]))}let eo=(e,t)=>e.path.localeCompare(t.path)||e.method.localeCompare(t.method)||e.id.localeCompare(t.id);var el=n(70947);let ei=e=>e.trim().toLowerCase();var er=n(85618),ed=n(80846),ec=n(17356),em=n(45486),eu=n(15330),ep=n(60976),eh=n(64577),ef=n(24692),ex=n(45437);let eb={dbTable:$,endpoint:z,annotation:w.Sh},eg={deletable:ef.I,annotation:ex.L},ey="beacon:db-draft",ej={proposedAt:0,status:"pending",tables:[],relations:[],endpoints:[]};function ek({tables:e,relations:t,endpoints:n,draft:d,workspaceId:c,embedded:m=!1,diffBase:p,draftRef:h,onEdit:g,controlRef:k,commentsContent:N,commentsCount:v=0,onAddComment:C,annotations:T,onPinClick:M,onUpdateComment:S,onRemoveComment:E,boardAnnotations:I,readOnly:$=!1}){let A=(0,l.useRouter)(),P=e.length+(d?.tables.length??0),z=n.length+(d?.endpoints.length??0),[F,R]=(0,s.useState)(z>0&&(m||0===P)),[O,L]=(0,s.useState)(null),[B,H]=(0,s.useState)(null),[_,Z]=(0,s.useState)(null),[U,q]=(0,s.useState)(!1),[ef,ex]=(0,s.useState)(!1),[ew,eN]=(0,s.useState)("details"),[ev,eC]=(0,s.useState)(!1),[eT,eM]=(0,s.useState)(""),eS=(0,s.useRef)(null),{tool:eE,setTool:eI,flowProps:e$}=(0,o.e)();(0,s.useEffect)(()=>{if(!$)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>eS.current?.fitView({padding:.2,duration:0}))});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[$,d,F]),(0,s.useEffect)(()=>{if(k)return k.current={open:()=>{q(!0),eN("details")},close:()=>{q(!1),eN("details")},openComments:()=>{q(!0),eN("comments")}},()=>{k&&(k.current=null)}},[k]);let[eA,eP]=(0,s.useState)(new Set),[ez,eD]=(0,s.useState)("full"),[eF,eR]=(0,s.useState)(new Set),[eO,eL]=(0,s.useState)(new Set),[eK,eB]=(0,s.useState)(()=>({past:[],present:d??ej,future:[],rev:0,edited:!1})),eH=eK.present,e_=(0,s.useCallback)(e=>{eB(t=>{let n=e(t.present);return n===t.present?t:{past:[...t.past,t.present].slice(-100),present:n,future:[],rev:t.rev+1,edited:!0}})},[]),eZ=(0,s.useCallback)(e=>{eB(t=>{let n=e(t.present);return n===t.present?t:{...t,present:n}})},[]),eU=(0,s.useCallback)(()=>eB(e=>e.past.length?{past:e.past.slice(0,-1),present:e.past[e.past.length-1],future:[e.present,...e.future],rev:e.rev+1,edited:!0}:e),[]),eq=(0,s.useCallback)(()=>eB(e=>e.future.length?{past:[...e.past,e.present],present:e.future[0],future:e.future.slice(1),rev:e.rev+1,edited:!0}:e),[]),eW=(0,s.useCallback)(e=>eB(t=>({past:[],present:e,future:[],rev:t.rev+1,edited:!1})),[]),eG=(0,s.useRef)(!1),eJ=d?.proposedAt??0;(0,s.useEffect)(()=>{let e=null;if(eG.current)d&&d.proposedAt!==eH.proposedAt?e=d:!d&&(eH.tables.length>0||eH.endpoints.length>0)&&(e=ej);else{eG.current=!0;let t=null;try{let e=localStorage.getItem(ey);if(e){let n=JSON.parse(e);n.workspaceId===c&&n.doc&&d&&n.doc.proposedAt===d.proposedAt&&(t=n.doc)}}catch{}e=t??d??null}e&&eW(e)},[eJ]),(0,s.useEffect)(()=>{try{eH.tables.length>0||eH.endpoints.length>0?localStorage.setItem(ey,JSON.stringify({workspaceId:c,doc:eH})):localStorage.removeItem(ey)}catch{}},[eH,c]),(0,s.useEffect)(()=>{h&&(h.current=eH)},[h,eH]);let eQ=(0,s.useRef)(!1);(0,s.useEffect)(()=>{eK.edited&&!eQ.current&&(eQ.current=!0,g?.())},[eK.edited,g]);let eV=(0,s.useMemo)(()=>eH.tables.map(e=>({id:e.id,name:e.name,domain:e.domain,description:e.description,source:"DRAFT",x:e.x,y:e.y,columns:e.columns})),[eH]),eX=(0,s.useMemo)(()=>eH.endpoints.map(e=>({id:e.id,method:e.method,path:e.path,domain:e.domain,description:e.description,source:"DRAFT",x:e.x,y:e.y,tables:e.links.map(e=>({tableId:e.tableId,access:e.access}))})),[eH]),eY=(0,s.useMemo)(()=>[...e,...eV],[e,eV]),e0=(0,s.useMemo)(()=>[...n,...eX],[n,eX]),e1=(0,s.useMemo)(()=>(function(e,t,n={}){let a=es(e,t),s=new Map,o=[];for(let e of[...t].sort(eo)){let t=a.get(e.id)??null;if(t){let n=s.get(t);n?n.push(e):s.set(t,[e])}else o.push(e)}let l=e=>{let t=s.get(e.id)?.length??0;return et(e.columnCount)+(t?10+60*t:0)+30},i=Array.from(new Set(e.map(e=>ea(e.domain)))),r=i.filter(e=>"—"!==e).sort(),d=i.includes("—")?[...r,"—"]:r,c=[];for(let t of d){let n=e.filter(e=>ea(e.domain)===t).sort((e,t)=>e.name.localeCompare(t.name)),a=n.reduce((e,t)=>e+l(t),0),s=Math.max(1,Math.min(12,n.length,Math.round(Math.sqrt(a/320)))),o=Array(s).fill(0),i=new Map;for(let e of n){let t=0;for(let e=1;e<s;e++)o[e]<o[t]&&(t=e);i.set(e.id,{x:320*t,y:o[t]}),o[t]+=l(e)}c.push({d:t,w:320*s,h:Math.max(...o,0),tableLocal:i})}let m=(0,ee.Xi)(c.map(e=>({id:e.d,w:e.w,h:e.h})),{gapX:84,gapY:72,viewportAspect:n.viewportAspect,minBandW:960,aspectSlack:1.7}),u=new Map,p=new Map,h=0;for(let t of c){let n=m.get(t.d);for(let a of e.filter(e=>t.tableLocal.has(e.id))){let e=t.tableLocal.get(a.id),o=n.x+e.x,l=n.y+e.y;u.set(a.id,{x:o,y:l}),(s.get(a.id)??[]).forEach((e,t)=>{p.set(e.id,{x:o,y:l+et(a.columnCount)+10+60*t})})}h=Math.max(h,n.y+t.h)}if(o.length){let e=h+72,t=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(o.length/2))));o.forEach((n,a)=>{p.set(n.id,{x:a%t*300,y:e+60*Math.floor(a/t)})})}return{tables:u,endpoints:p}})(eY.map(e=>({id:e.id,name:e.name,domain:e.domain,columnCount:e.columns.length})),[]).tables,[eY]),e5=(0,s.useMemo)(()=>new Map,[]),e2=(0,s.useMemo)(()=>m?function(e,t){let n=new Map(e.map(e=>[ei(e.name),e])),a=new Map;for(let e of t){let t=n.get(ei(e.name));if(!t){a.set(e.id,{status:"added",changes:["new table"],columns:{}});continue}let{changes:s,columns:o}=function(e,t){let n=new Map(e.map(e=>[ei(e.name),e])),a=new Set(t.map(e=>ei(e.name))),s=[],o={};for(let e of t){let t=n.get(ei(e.name));if(!t){s.push(`+ column ${e.name} (${e.type})`),o[e.name]={kind:"added",detail:"new column"};continue}let a=[],l=[];if(ei(t.type)!==ei(e.type)&&(a.push(`type ${t.type}→${e.type}`),l.push(`${t.type}→${e.type}`)),t.isPk!==e.isPk){let t=e.isPk?"now PK":"no longer PK";a.push(t),l.push(t)}if(t.isFk!==e.isFk){let t=e.isFk?"now FK":"no longer FK";a.push(t),l.push(t)}if(t.nullable!==e.nullable){let t=e.nullable?"now nullable":"now required";a.push(t),l.push(t)}a.length&&(s.push(`~ column ${e.name}: ${a.join(", ")}`),o[e.name]={kind:"modified",detail:l.join(" \xb7 ")})}for(let t of e)a.has(ei(t.name))||s.push(`- column ${t.name}`);return{changes:s,columns:o}}(t.columns,e.columns);a.set(e.id,{status:s.length?"modified":"unchanged",changes:s,columns:o})}return a}(p?.tables??e,eV):e5,[m,p,e,eV,e5]),e3=(0,s.useMemo)(()=>m?function(e,t){let n=e=>`${ei(e.method)} ${ei(e.path)}`,a=new Set(e.map(n)),s=new Map;for(let e of t)s.set(e.id,a.has(n(e))?{status:"unchanged",changes:[],columns:{}}:{status:"added",changes:["new endpoint"],columns:{}});return s}(p?.endpoints??n,eX):e5,[m,p,n,eX,e5]),e4=(0,s.useMemo)(()=>[...t,...eH.relations.map(e=>({id:e.id,fromTableId:e.fromTableId,toTableId:e.toTableId,fromColumn:e.fromColumn,toColumn:e.toColumn,label:e.label}))],[t,eH.relations]),e6=(0,s.useMemo)(()=>{let e=new Map;for(let t of e0)for(let n of t.tables)e.set(n.tableId,(e.get(n.tableId)??0)+1);return e},[e0]),e8=(0,s.useMemo)(()=>{let e=new Map;return eY.forEach(t=>e.set(t.id,t.x)),e0.forEach(t=>e.set(t.id,t.x)),e},[eY,e0]),e9=(0,s.useMemo)(()=>{let e=new Map;return eY.forEach(t=>e.set(t.id,t.y)),e0.forEach(t=>e.set(t.id,t.y)),e},[eY,e0]),e7=(0,s.useMemo)(()=>{let e=new Map(eY.map(e=>[e.id,e.name])),t=new Map;for(let n of e4){let a=e.get(n.toTableId);if(!a)continue;let s=t.get(n.fromTableId)??{};s[n.fromColumn]=a,t.set(n.fromTableId,s)}return t},[e4,eY]),te=void 0!==I,[tt,tn]=(0,s.useState)(I??[]);(0,s.useEffect)(()=>{I&&tn(I)},[I]);let ta=(0,s.useMemo)(()=>({tables:eY.map(e=>({id:e.id,name:e.name,columns:e.columns.map(e=>e.name)})),endpoints:e0.map(e=>({id:e.id,method:e.method,path:e.path}))}),[eY,e0]),ts=(0,s.useMemo)(()=>{if(te){let e=new Set([...eY.map(e=>e.id),...e0.map(e=>e.id)]);return tt.filter(t=>e.has(t.targetId)).map((e,t)=>({id:e.id,n:t+1,targetId:e.targetId,column:e.columnName,text:e.body,x:e.x,y:e.y}))}let e=new Map((T??[]).map(e=>[e.id,e.comment]));return(0,D.m)(T??[],ta).map(t=>({id:t.annotationId,n:t.n,targetId:t.targetId,column:t.column,text:e.get(t.annotationId)??"",x:null,y:null}))},[te,tt,T,ta,eY,e0]),to=(0,s.useMemo)(()=>{let e=new Map;for(let t of ts){let n=e.get(t.targetId)??[];n.push({id:t.id,n:t.n,column:t.column}),e.set(t.targetId,n)}return e},[ts]),tl=(0,s.useMemo)(()=>new Map(ts.map(e=>[`anno-${e.id}`,e.targetId])),[ts]),ti=(0,s.useCallback)(async e=>{let t=(0,D.m)([{id:"_",excerpt:e}],ta)[0];if(!t)return;let n=await fetch("/api/board-annotations",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({targetKind:t.kind,targetId:t.targetId,columnName:t.column??void 0})});if(n.ok){let e=await n.json();tn(t=>[...t,e])}},[ta]),tr=(0,s.useCallback)((e,t)=>{tn(n=>n.map(n=>n.id===e?{...n,...t}:n)),fetch(`/api/board-annotations/${e}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)})},[]),td=(0,s.useCallback)(e=>{tn(t=>t.filter(t=>t.id!==e)),fetch(`/api/board-annotations/${e}`,{method:"DELETE"})},[]),tc=te?ti:C,tm=(0,s.useCallback)((e,t)=>{let n=(e8.get(t)??0)-(e8.get(e)??0),a=(e9.get(t)??0)-(e9.get(e)??0);return Math.abs(n)>=Math.abs(a)?n>=0?{sourceHandle:"sr",targetHandle:"tl"}:{sourceHandle:"sl",targetHandle:"tr"}:a>=0?{sourceHandle:"sb",targetHandle:"tt"}:{sourceHandle:"st",targetHandle:"tb"}},[e8,e9]),tu=(0,s.useMemo)(()=>new Set([...eH.tables.map(e=>e.id),...eH.endpoints.map(e=>e.id)]),[eH]),tp=(0,s.useMemo)(()=>new Set(e.map(e=>e.id)),[e]),th=(0,s.useCallback)(()=>{let e=eY.map(e=>({id:e.id,type:"dbTable",position:F?{x:e.x,y:e.y}:e1.get(e.id)??{x:e.x,y:e.y},data:{name:e.name,domain:e.domain,columns:e.columns,usageCount:e6.get(e.id)??0,source:e.source,rev:eK.rev,diffStatus:e2.get(e.id)?.status,diffChanges:e2.get(e.id)?.changes,diffColumns:e2.get(e.id)?.columns,fkTargets:e7.get(e.id),pins:to.get(e.id),onPinClick:M,onComment:tc}})),t=e0.map(e=>({id:e.id,type:"endpoint",position:{x:e.x,y:e.y},data:{method:e.method,path:e.path,domain:e.domain,source:e.source,rev:eK.rev,diffStatus:e3.get(e.id)?.status,diffChanges:e3.get(e.id)?.changes,pins:to.get(e.id),onPinClick:M,onComment:tc}})),n=new Map,a=new Map(eY.map(e=>[e.id,e])),s=new Map(e0.map(e=>[e.id,e]));return[...e,...t,...ts.map(e=>{let t=a.get(e.targetId),o=s.get(e.targetId),l=t?.x??o?.x??0,i=t?.y??o?.y??0,r=t?38+28*t.columns.length:42,d=n.get(e.targetId)??0;return n.set(e.targetId,d+1),{id:`anno-${e.id}`,type:"annotation",position:{x:e.x??l+26,y:e.y??i+r+64+112*d},data:{n:e.n,text:e.text,annotationId:e.id,onClick:te||S?void 0:M,editable:te||!!S,onChangeText:te?(e,t)=>tr(e,{body:t}):S,onDelete:te?td:E}}})]},[eY,e0,F,e1,e6,eK.rev,e2,e3,e7,to,ts,te,M,S,E,tc,tr,td]),[tf,tx,tb]=(0,i.ck)(th()),tg=(0,s.useRef)(F);(0,s.useEffect)(()=>{let e=tg.current!==F;tg.current=F,tx(t=>{let n=new Map(t.map(e=>[e.id,e.position]));return th().map(t=>e&&"dbTable"===t.type?t:{...t,position:n.get(t.id)??t.position})}),e&&requestAnimationFrame(()=>eS.current?.fitView({duration:500,padding:.15,minZoom:.2,maxZoom:.9}))},[th,tx,F]);let ty=(0,s.useCallback)((e,t,n,a)=>{fetch("/api/db/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:e,id:t,x:n,y:a})})},[]),tj=(0,s.useCallback)((e,t)=>{var n;let{x:a,y:s}=t.position,o=(n={readOnly:$,nodeId:t.id,isDraft:tu.has(t.id),boardMode:te}).readOnly?"none":n.nodeId.startsWith("anno-")?n.boardMode?"annotation":"none":n.isDraft?"draft":"real";"annotation"===o?tr(t.id.slice(5),{x:a,y:s}):"draft"===o?eZ(e=>e.tables.some(e=>e.id===t.id)?{...e,tables:e.tables.map(e=>e.id===t.id?{...e,x:a,y:s}:e)}:e.endpoints.some(e=>e.id===t.id)?{...e,endpoints:e.endpoints.map(e=>e.id===t.id?{...e,x:a,y:s}:e)}:e):"real"===o&&ty("endpoint"===t.type?"endpoint":"table",t.id,a,s)},[$,tu,eZ,ty,te,tr]),tk=(0,s.useMemo)(()=>e4.map(e=>({id:`fk-${e.id}`,source:e.fromTableId,target:e.toTableId,...tm(e.fromTableId,e.toTableId),type:"deletable",label:e.label??void 0,markerEnd:{type:r.TG.ArrowClosed,color:"#6b6b6b"},style:{stroke:"#6b6b6b"}})),[e4,tm]),tw=(0,s.useMemo)(()=>e0.flatMap(e=>e.tables.map(t=>{let n=x.ru[t.access]??"#5a5a5a";return{id:`u-${e.id}-${t.tableId}`,source:e.id,target:t.tableId,...tm(e.id,t.tableId),type:"default",markerEnd:{type:r.TG.ArrowClosed,color:n},style:{stroke:n,strokeDasharray:"4 4",opacity:.7}}})),[e0,tm]),tN=(0,s.useMemo)(()=>F?[...tk,...tw]:tk,[tk,tw,F]),tv=(0,s.useMemo)(()=>ts.map(e=>({id:`annoe-${e.id}`,source:e.targetId,sourceHandle:`pin-${e.id}`,target:`anno-${e.id}`,targetHandle:"in",type:"annotation",selectable:!1,zIndex:30,style:{stroke:w.V5,strokeWidth:1.5,opacity:.9}})),[ts]),tC=O?.id??_,tT=(0,s.useMemo)(()=>{if(B){let e=tN.find(e=>e.id===B);return e?new Set([e.source,e.target]):null}return tC?(0,x.F1)(tC,tN):null},[tC,B,tN]),tM=(0,s.useMemo)(()=>new Map(eY.map(e=>[e.id,{domain:e.domain,source:e.source}])),[eY]),tS=(0,s.useMemo)(()=>new Map(e0.map(e=>[e.id,{method:e.method,source:e.source}])),[e0]),tE=(0,s.useMemo)(()=>{let e=new Set;if(!F)for(let t of tS.keys())e.add(t);for(let[t,n]of tM)!eA.size||n.domain&&eA.has(n.domain)||e.add(t),eF.size&&!eF.has(n.source)&&e.add(t);for(let[t,n]of tS)eO.size&&!eO.has(n.method)&&e.add(t),eF.size&&!eF.has(n.source)&&e.add(t);return e},[F,tM,tS,eA,eF,eO]),tI=eT.trim().length>0,t$=(0,s.useMemo)(()=>{if(!tI)return null;let e=new Set;for(let t of eY)!tE.has(t.id)&&(0,Q.Qk)((0,Q.jF)(t),eT)&&e.add(t.id);for(let t of e0)!tE.has(t.id)&&(0,Q.Qk)((0,Q.sQ)(t),eT)&&e.add(t.id);return e},[eY,e0,tE,eT,tI]),tA=(0,s.useMemo)(()=>tI?[...(0,Q.r2)(eY.filter(e=>!tE.has(e.id)),eT,e=>(0,Q.jF)(e),e=>({id:e.id,label:e.name,sublabel:e.domain??"table",kind:"table"})),...(0,Q.r2)(e0.filter(e=>!tE.has(e.id)),eT,e=>(0,Q.sQ)(e),e=>({id:e.id,label:e.path,sublabel:e.method,kind:"endpoint"}))].slice(0,12):[],[eY,e0,tE,eT,tI]),tP=(0,s.useCallback)(e=>{eM(""),L(tS.has(e)?{id:e,kind:"endpoint"}:{id:e,kind:"table"}),H(null),q(!0),eN("details");let t=eS.current?.getNode(e);if(!t||!eS.current)return;let n=t.measured?.width??220,a=t.measured?.height??80;eS.current.setCenter(t.position.x+n/2,t.position.y+a/2,{zoom:.9,duration:600})},[tS]),tz=t$??tT,tD=(0,s.useMemo)(()=>tf.map(e=>{if(e.id.startsWith("anno-")){let t=tl.get(e.id),n=!!t&&tE.has(t);return!!e.hidden!==n?{...e,hidden:n}:e}let t=tE.has(e.id);if(!tz)return t?{...e,hidden:t}:e;let n=tz.has(e.id),a=t$?Q.Uy:.45;return{...e,hidden:t,style:{...e.style,opacity:n?1:a,boxShadow:n&&t$?Q.RU:e.style?.boxShadow,borderRadius:n&&t$?12:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}),[tf,tE,tz,t$,tl]),tF=(0,s.useMemo)(()=>{let e=new Map(eY.map(e=>[e.id,(e.domain??"").trim()||"—"])),t=es(eY,e0.map(e=>({id:e.id,method:e.method,path:e.path,uses:e.tables.map(e=>({tableId:e.tableId}))})));return new Map(e0.map(n=>{let a=t.get(n.id);return[n.id,a?e.get(a):en]}))},[eY,e0]),tR=(0,s.useMemo)(()=>{let e=[];for(let t of tf)if(!tE.has(t.id))if("dbTable"===t.type){let n=t.data;e.push({id:t.id,group:(n.domain??"").trim()||"—",x:t.position.x,y:t.position.y,w:t.measured?.width??280,h:t.measured?.height??38+28*n.columns.length})}else"endpoint"===t.type&&e.push({id:t.id,group:tF.get(t.id)??en,x:t.position.x,y:t.position.y,w:t.measured?.width??240,h:t.measured?.height??50});return(0,Y.S)(e)},[tf,tE,tF]),tO=(0,s.useMemo)(()=>t$?tN.map(e=>{let t=tE.has(e.source)||tE.has(e.target);return t$.has(e.source)&&t$.has(e.target)?{...e,hidden:t,style:{...e.style,opacity:1}}:{...e,hidden:t,label:void 0,style:{...e.style,opacity:.08}}}):tN.map(e=>{let t=tE.has(e.source)||tE.has(e.target);return tC||B?(B?e.id===B:tC&&(e.source===tC||e.target===tC))?{...e,hidden:t,zIndex:20,style:{...e.style,opacity:1,strokeWidth:2.5}}:{...e,hidden:t,selectable:!1,label:void 0,markerEnd:void 0,style:{...e.style,opacity:.08}}:{...e,hidden:t,label:void 0}}),[tN,tC,B,tE,t$]),tL=(0,s.useMemo)(()=>Array.from(new Set(eY.map(e=>e.domain).filter(e=>!!e))).sort(),[eY]),tK=(0,s.useMemo)(()=>Array.from(new Set([...eY.map(e=>e.source),...e0.map(e=>e.source)])).sort(),[eY,e0]),tB=(0,s.useMemo)(()=>Array.from(new Set(e0.map(e=>e.method))).sort(),[e0]);function tH(e,t){t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}let t_=+!F+eA.size+eF.size+eO.size,tZ=(0,s.useCallback)(()=>{R(!0),eP(new Set),eR(new Set),eL(new Set)},[]),tU=(0,s.useCallback)(e=>{let{source:t,target:n}=e;t&&n&&t!==n&&e_(e=>{if(!(e.tables.some(e=>e.id===n)||tp.has(n)))return e;let a=e.endpoints.find(e=>e.id===t);return a?a.links.some(e=>e.tableId===n)?e:{...e,endpoints:e.endpoints.map(e=>{var a;return e.id===t?{...e,links:[...e.links,{tableId:n,access:(a=e.method,X.has(a.trim().toUpperCase())?"read":"write")}]}:e})}:e.tables.find(e=>e.id===t)?e.relations.some(e=>e.fromTableId===t&&e.toTableId===n)?e:{...e,relations:[...e.relations,{id:crypto.randomUUID(),fromTableId:t,toTableId:n,fromColumn:"fk",toColumn:"id",label:null}]}:e})},[e_,tp]),tq=(0,s.useMemo)(()=>({readOnly:$,patchEndpoint:(e,t)=>e_(n=>({...n,endpoints:n.endpoints.map(n=>n.id===e?{...n,...t}:n)})),deleteEndpoint:e=>e_(t=>({...t,endpoints:t.endpoints.filter(t=>t.id!==e)})),patchTable:(e,t)=>e_(n=>({...n,tables:n.tables.map(n=>n.id===e?{...n,...t}:n)})),deleteTable:e=>e_(t=>({...t,tables:t.tables.filter(t=>t.id!==e),relations:t.relations.filter(t=>t.fromTableId!==e&&t.toTableId!==e),endpoints:t.endpoints.map(t=>({...t,links:t.links.filter(t=>t.tableId!==e)}))})),deleteRealEndpoint:e=>{fetch(`/api/endpoints/${e}`,{method:"DELETE"}).then(e=>{e.ok&&A.refresh()})}}),[$,e_,A]);(0,s.useEffect)(()=>{let e=e=>{if(!(e.metaKey||e.ctrlKey))return;let t=e.target;if(t&&/^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName))return;let n=e.key.toLowerCase();"z"===n?(e.preventDefault(),e.shiftKey?eq():eU()):"y"===n&&(e.preventDefault(),eq())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eU,eq]);let tW=(0,s.useCallback)(async()=>{eC(!0);try{if((await fetch("/api/draft/approve",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(eH)})).ok){try{localStorage.removeItem(ey)}catch{}eW(ej),A.refresh()}}finally{eC(!1)}},[eH,eW,A]),tG=(0,s.useCallback)(async()=>{eC(!0);try{await fetch("/api/draft",{method:"DELETE"})}catch{}try{localStorage.removeItem(ey)}catch{}eW(ej),A.refresh(),eC(!1)},[eW,A]),tJ=(0,s.useMemo)(()=>{let e;return e=new Map(eH.tables.map(e=>[e.id,e.name])),{tables:eH.tables.map(e=>({name:e.name,domain:e.domain,description:e.description,columns:e.columns.map(e=>({name:e.name,type:e.type,isPk:e.isPk,isFk:e.isFk,nullable:e.nullable,note:e.note}))})),relations:eH.relations.flatMap(t=>{let n=e.get(t.fromTableId),a=e.get(t.toTableId);return n&&a?[{fromTable:n,fromColumn:t.fromColumn,toTable:a,toColumn:t.toColumn,label:t.label}]:[]}),endpoints:eH.endpoints.map(t=>({method:t.method,path:t.path,domain:t.domain,description:t.description,uses:t.links.flatMap(t=>{let n=e.get(t.tableId);return n?[{table:n,access:t.access}]:[]})}))}},[eH]),tQ=eH.tables.length>0||eH.endpoints.length>0,tV=eK.past.length>0,tX=eK.future.length>0;return(0,a.jsx)(b.Provider,{value:tq,children:(0,a.jsxs)("div",{className:(0,f.cn)("canvas-dots relative w-full",m?"h-full":"h-screen",ef&&"rf-panning"),children:[(0,a.jsxs)(i.Gc,{...e$,nodes:tD,edges:"far"===ez?[...tO,...tv].map(e=>({...e,hidden:!0})):[...tO,...tv.map(e=>({...e,hidden:tE.has(e.source)}))],nodeTypes:eb,edgeTypes:eg,nodesConnectable:!$,connectionMode:r.WZ.Loose,connectionLineStyle:{stroke:"var(--accent-2,#ff7a45)",strokeWidth:1.5,strokeDasharray:"4 4"},onInit:e=>{eS.current=e},onNodesChange:tb,onMoveStart:()=>ex(!0),onMoveEnd:()=>ex(!1),onConnect:tU,onNodeMouseEnter:(e,t)=>{"annotation"!==t.type&&Z(t.id)},onNodeMouseLeave:()=>Z(null),onNodeClick:(e,t)=>{if("annotation"===t.type){let e=t.data;e.editable||M?.(e.annotationId);return}let n="endpoint"===t.type?"endpoint":"table";L({id:t.id,kind:n}),H(null),q(!0),eN("details")},onEdgeClick:(e,t)=>{H(t.id),L(null)},onPaneClick:()=>{L(null),H(null),q(!1)},onNodeDragStop:tj,onEdgesDelete:e=>{for(let t of e)if(t.id.startsWith("fk-")){let e=t.id.slice(3);fetch(`/api/db/relations/${e}`,{method:"DELETE"})}},onNodesDelete:e=>{for(let t of e)t.id.startsWith("anno-")||tu.has(t.id)||("endpoint"===t.type?fetch(`/api/endpoints/${t.id}`,{method:"DELETE"}):"dbTable"===t.type&&fetch(`/api/db/tables/${t.id}`,{method:"DELETE"}))},deleteKeyCode:$?null:["Backspace","Delete"],colorMode:"dark",fitView:!0,fitViewOptions:{padding:.15,minZoom:.38,maxZoom:.9},minZoom:.15,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,a.jsx)(el.Z,{regions:tR,tone:"category",lod:ez}),(0,a.jsx)(y.J,{onLod:eD,thresholds:j.fE}),(0,a.jsx)(i.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"}),!m&&(0,a.jsx)(i.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"}),(0,a.jsx)(i.Zk,{position:"bottom-left",style:{marginBottom:118},children:(0,a.jsx)(o.H,{tool:eE,onChange:eI})}),!m&&(0,a.jsx)(i.Zk,{position:"bottom-center",className:"!mb-4",children:(0,a.jsx)("div",{className:"glass flex items-center rounded-full p-0.5",children:(0,a.jsxs)("button",{type:"button",disabled:ev,title:"Re-arrange the board — domain clusters with endpoints docked under their tables",onClick:async()=>{eC(!0);try{let e=window.innerWidth/window.innerHeight;await fetch("/api/db/arrange",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({viewportAspect:e})}),A.refresh()}finally{eC(!1)}},className:"flex h-6 items-center gap-1.5 rounded-full px-3 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground disabled:opacity-40",children:[(0,a.jsx)(er.A,{className:"size-3"}),ev?"Arranging…":"Arrange"]})})}),!m&&(0,a.jsx)(i.Zk,{position:"top-center",className:"glass rounded-full px-1 py-0.5",children:(0,a.jsx)(V.Z,{active:"DATABASE",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,a.jsxs)(i.Zk,{position:"top-right",className:(0,f.cn)("flex items-center gap-1 transition-[margin] duration-200",U&&"!mr-[332px]",m&&"hidden"),children:[(0,a.jsx)(G.X,{query:eT,onQuery:eM,hits:tA,placeholder:"Find a table, column, endpoint…",onPick:tP,onZoomToMatches:()=>{t$?.size&&eS.current?.fitView({nodes:[...t$].map(e=>({id:e})),duration:600,padding:.2})}}),(0,a.jsx)(J.e,{defaultSelection:"DATABASE"}),(0,a.jsxs)(W.er,{title:"Filters",trigger:(e,t)=>(0,a.jsxs)("button",{type:"button",onClick:t,title:"Filters",className:(0,f.cn)("glass relative flex size-8 items-center justify-center rounded-lg transition-colors",e||t_>0?"text-foreground":"text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(ed.A,{className:"size-4"}),t_>0&&(0,a.jsx)("span",{className:"absolute -right-1 -top-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-[var(--accent-2,#ff7a45)] px-1 text-[9px] font-semibold text-white",children:t_})]}),children:[(0,a.jsx)(W.r1,{title:"Show",children:(0,a.jsx)(W.vu,{tone:"accent",on:F,onClick:()=>R(e=>!e),children:"endpoints"})}),tL.length>0&&(0,a.jsx)(W.r1,{title:"Domain",children:tL.map(e=>(0,a.jsx)(W.vu,{on:eA.has(e),onClick:()=>tH(e,eP),children:e},e))}),tB.length>0&&(0,a.jsx)(W.r1,{title:"Method",children:tB.map(e=>(0,a.jsx)(W.vu,{on:eO.has(e),onClick:()=>tH(e,eL),children:e},e))}),tK.length>0&&(0,a.jsx)(W.r1,{title:"Source",children:tK.map(e=>(0,a.jsx)(W.vu,{on:eF.has(e),onClick:()=>tH(e,eR),children:e.toLowerCase()},e))}),t_>0&&(0,a.jsx)("button",{type:"button",onClick:tZ,className:"mt-1 w-full rounded-md border border-white/10 px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/5 hover:text-foreground",children:"clear filters"})]}),(0,a.jsx)(W.er,{title:"Legend",trigger:(e,t)=>(0,a.jsx)("button",{type:"button",onClick:t,title:"Legend",className:(0,f.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",e?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,a.jsx)(ec.A,{className:"size-4"})}),children:(0,a.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-white/15 bg-white/[0.06] px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground/80",children:"table"}),(0,a.jsx)("span",{children:"a database table \xb7 its columns"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-white/15 bg-white/[0.06] px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground/80",children:"endpoint"}),(0,a.jsx)("span",{children:"an API route \xb7 reads / writes tables"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#6b6b6b]"}),(0,a.jsx)("span",{children:"foreign key \xb7 drag from a table handle"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-6 border-t border-dashed",style:{borderColor:"#4ea1ff"}}),(0,a.jsx)("span",{children:"endpoint read \xb7 GET / POST / etc"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-6 border-t border-dashed",style:{borderColor:"#ffb86b"}}),(0,a.jsx)("span",{children:"endpoint write"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-dashed border-sky-400/50 px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-sky-300",children:"draft"}),(0,a.jsx)("span",{children:"agent-proposed \xb7 approve to persist"})]})]})}),!U&&(0,a.jsx)("button",{onClick:()=>q(!0),title:"Show panel",className:"glass flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:text-foreground",children:(0,a.jsx)(em.A,{className:"size-4"})})]}),tQ&&(0,a.jsxs)(i.Zk,{position:"bottom-center",className:"glass flex items-center gap-1 rounded-xl p-1.5",children:[(0,a.jsxs)("button",{onClick:eU,disabled:!tV,title:"Undo (⌘Z)",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent",children:[(0,a.jsx)(eu.A,{className:"size-3.5"})," undo"]}),(0,a.jsxs)("button",{onClick:eq,disabled:!tX,title:"Redo (⇧⌘Z)",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent",children:[(0,a.jsx)(ep.A,{className:"size-3.5"})," redo"]}),!m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"mx-1 h-4 w-px bg-white/10"}),(0,a.jsxs)("button",{onClick:tG,disabled:ev,title:"Discard draft",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300 disabled:opacity-40",children:[(0,a.jsx)(u.A,{className:"size-3.5"})," discard"]}),(0,a.jsxs)("button",{onClick:tW,disabled:ev,title:"Approve and persist to the schema",className:"flex items-center gap-1 rounded-md border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25 disabled:opacity-40",children:[(0,a.jsx)(eh.A,{className:"size-3.5"})," approve draft"]})]})]})]}),U&&(0,a.jsx)(K,{selected:O,tables:eY,relations:e4,endpoints:e0,draftGraph:tJ,onClose:()=>{q(!1),eN("details")},commentsContent:N,commentsCount:v,activeTab:ew,onTabChange:eN,onAddComment:tc,topOffset:m?64:void 0})]})})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4853],{44853:(e,t,n)=>{n.d(t,{DbMapClient:()=>ek});var a=n(95155),s=n(12115),o=n(80277),l=n(73321),i=n(81750),r=n(6266);n(53255);var d=n(32133),c=n(81499),m=n(51128),u=n(65738),p=n(9005),h=n(2125),f=n(91337),x=n(18874);let b=(0,s.createContext)(null);function g(){let e=(0,s.useContext)(b);if(!e)throw Error("useDbEdit must be used inside DbEditContext");return e}var y=n(29523),j=n(70221),k=n(95635),w=n(17918);let N={danger:"bg-red-500/15 text-red-300",warn:"bg-amber-500/15 text-amber-300"};function v({badges:e,className:t}){return e.length?(0,a.jsx)("span",{className:(0,f.cn)("flex shrink-0 items-center gap-0.5",t),children:e.map(e=>(0,a.jsx)("span",{title:e.title,className:(0,f.cn)("rounded px-1 text-[8px] font-semibold uppercase tracking-wide",N[e.tone]),children:e.label},e.label))}):null}let C=/pass(word)?|token|secret|api[_-]?key|credential|priv(ate)?[_-]?key|hash|salt/i,T=/auth|login|logout|session|token|password|oauth|sso|credential/i,M="nodrag nopan",S=k.x;function E({onClick:e,title:t}){return(0,a.jsx)("button",{type:"button",title:t,onClick:t=>{t.stopPropagation(),e()},className:(0,f.cn)(M,"absolute -right-3 top-1/2 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-[#242428] text-muted-foreground opacity-0 shadow-md transition-all group-hover/row:opacity-100 hover:border-[#ff7a45]/50 hover:text-[#ff7a45]"),children:(0,a.jsx)(d.A,{className:"size-3"})})}function I({c:e,fkTargets:t}){let n=t?.[e.name];return(0,a.jsx)("span",{title:n?`→ ${n}`:e.type,className:"ml-auto min-w-0 truncate font-mono text-[11px] text-muted-foreground/80",children:n?(0,a.jsxs)(a.Fragment,{children:["→\xa0",n]}):e.type})}let $=(0,s.memo)(function({id:e,data:t,selected:n}){var o;let l,i,r="DRAFT"===t.source,d="added"===t.diffStatus?"#7bd389":"modified"===t.diffStatus?"#ffb86b":"#4ea1ff",b="added"===t.diffStatus||"modified"===t.diffStatus,N="added"===t.diffStatus?"new":"modified"===t.diffStatus?"modify":"in plan",T=t.diffChanges?.length?t.diffChanges.join("\n"):"in this plan — no column change",$=r?d:(0,x.qA)(t.domain),A=(o={domain:t.domain,columns:t.columns},l=[],(i=o.columns.filter(e=>C.test(e.name)).map(e=>e.name)).length&&l.push({label:"secrets",tone:"danger",title:`stores credentials: ${i.join(", ")}`}),o.domain&&/auth/i.test(o.domain)&&l.push({label:"auth",tone:"warn",title:"auth-domain table"}),l),P=g(),[z,D]=(0,s.useState)(t.name),[F,R]=(0,s.useState)(t.columns),[O,L]=(0,s.useState)(!1);(0,s.useEffect)(()=>{D(t.name),R(t.columns)},[t.rev]);let K=e=>e.stopPropagation(),B=t=>{R(t),P.patchTable(e,{columns:t})},H=(t.pins??[]).filter(e=>null===e.column),_=e=>(t.pins??[]).filter(t=>t.column===e),Z=function(e,t,n,a=!1,s){return Math.min(312,Math.max(240,Math.round(8*e.length)+90,...t.map(e=>{if(a){let t=s?.[e.name];return Math.round(7.3*Math.max(6,e.name.length+1)+(t?.kind==="modified"?8*t.detail.length:64))+94}let t=n?.[e.name]?n[e.name].length+2:e.type.length;return Math.round(7.3*e.name.length+6.7*t)+64})))}(t.name,r?F:t.columns,t.fkTargets,r,t.diffColumns),U=(0,f.cn)("relative rounded-xl border bg-[#161618]/95 text-card-foreground shadow-[0_18px_50px_-22px_rgba(0,0,0,0.9)] backdrop-blur",n&&"ring-2 ring-[var(--accent,#f5b942)]"),q=(0,y.k)(j.fE);return"full"!==q?(0,a.jsxs)("div",{className:(0,f.cn)(U,"border-white/10 px-3 py-2.5","far"===q&&!P.readOnly&&"!opacity-0"),style:{width:Z},children:[(0,a.jsx)(k.x,{}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block size-2 shrink-0 rounded-full",style:{background:$}}),(0,a.jsx)("span",{className:"truncate font-mono text-[15px] font-semibold",children:t.name})]})]}):r?(0,a.jsxs)("div",{className:(0,f.cn)(U,"group/card"),style:{width:Z,borderColor:`${d}59`},children:[(0,a.jsx)(S,{}),(0,a.jsxs)("div",{className:"group/row relative flex items-center gap-1.5 rounded-t-[11px] px-3 py-2",style:{background:`${d}14`},children:[(0,a.jsx)("input",{value:z,onChange:e=>D(e.target.value),onBlur:()=>{let n=z.trim();n&&n!==t.name&&P.patchTable(e,{name:n})},onKeyDown:e=>{K(e),"Enter"===e.key&&e.currentTarget.blur()},placeholder:"table",className:(0,f.cn)(M,"min-w-0 flex-1 bg-transparent font-mono text-[13px] font-semibold tracking-tight outline-none")}),(0,a.jsx)(v,{badges:A}),(0,a.jsx)("span",{title:T,className:(0,f.cn)("shrink-0 rounded-md border px-1.5 py-px font-mono text-[9px] font-semibold uppercase tracking-[0.14em]",!b&&"border-white/15 bg-white/5 text-muted-foreground"),style:b?{background:`${d}1f`,borderColor:`${d}55`,color:d}:void 0,children:N}),(0,a.jsx)("button",{type:"button",onClick:t=>{K(t),O?P.deleteTable(e):L(!0)},onBlur:()=>L(!1),title:"Delete table",className:(0,f.cn)(M,"shrink-0 transition-all",O?"text-red-300":"text-muted-foreground opacity-0 hover:text-red-300 group-hover/card:opacity-100"),children:(0,a.jsx)(u.A,{className:"size-3"})}),H.length>0?(0,a.jsx)(w.e0,{pins:H,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}`,onClick:()=>t.onComment?.(t.name)})]}),(0,a.jsxs)("div",{className:"divide-y divide-white/[0.05]",children:[F.map((e,n)=>{let s=_(e.name),o=t.diffColumns?.[e.name],l=o?.kind==="added"?{background:"#7bd38914",boxShadow:"inset 2px 0 0 #7bd389"}:o?.kind==="modified"?{background:"#ffb86b14",boxShadow:"inset 2px 0 0 #ffb86b"}:void 0;return(0,a.jsxs)("div",{style:l,className:"group/row relative flex items-center gap-1.5 px-3 py-[5px] text-[12px]",children:[(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.map((e,t)=>t===n?{...e,isPk:!e.isPk}:e))},title:"Primary key",className:(0,f.cn)(M,"shrink-0",e.isPk?"text-amber-300/90":"text-muted-foreground/40 hover:text-amber-300"),children:(0,a.jsx)(c.A,{className:"size-3"})}),(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.map((e,t)=>t===n?{...e,isFk:!e.isFk}:e))},title:"Foreign key",className:(0,f.cn)(M,"shrink-0",e.isFk?"text-sky-400/80":"text-muted-foreground/40 hover:text-sky-400"),children:(0,a.jsx)(m.A,{className:"size-3"})}),(0,a.jsx)("input",{value:e.name,onChange:e=>R(t=>t.map((t,a)=>a===n?{...t,name:e.target.value}:t)),onBlur:()=>B(F),onKeyDown:K,placeholder:"column",style:{width:`${Math.max(6,e.name.length+1)}ch`},className:(0,f.cn)(M,"shrink-0 bg-transparent font-mono outline-none")}),(0,a.jsx)("span",{"aria-hidden":!0,className:"flex-1"}),t.fkTargets?.[e.name]?(0,a.jsxs)("span",{title:`→ ${t.fkTargets[e.name]}`,className:"min-w-0 shrink truncate text-right font-mono text-[11px] text-muted-foreground/80",children:["→\xa0",t.fkTargets[e.name]]}):o?.kind==="modified"?(0,a.jsx)("span",{title:`was changed — ${o.detail}`,className:(0,f.cn)(M,"min-w-0 shrink truncate text-right font-mono text-[11px] font-medium text-[#ffb86b]"),children:o.detail}):(0,a.jsx)("input",{value:e.type,onChange:e=>R(t=>t.map((t,a)=>a===n?{...t,type:e.target.value}:t)),onBlur:()=>B(F),onKeyDown:K,placeholder:"type",title:e.type,className:(0,f.cn)(M,"w-16 min-w-0 shrink bg-transparent text-right font-mono text-[11px] outline-none",o?.kind==="added"?"text-[#7bd389]":"text-muted-foreground/80")}),(0,a.jsx)("button",{type:"button",onClick:e=>{K(e),B(F.filter((e,t)=>t!==n))},title:"Remove column",className:(0,f.cn)(M,"shrink-0 text-muted-foreground/40 opacity-0 transition-opacity hover:text-red-300 group-hover/card:opacity-100"),children:(0,a.jsx)(p.A,{className:"size-3"})}),s.length>0?(0,a.jsx)(w.e0,{pins:s,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}.${e.name}`,onClick:()=>t.onComment?.(`${t.name}.${e.name}`)})]},n)}),(0,a.jsxs)("button",{type:"button",onClick:e=>{K(e),B([...F,{name:"",type:"text",isPk:!1,isFk:!1,nullable:!0,note:null}])},className:(0,f.cn)(M,"flex w-full items-center gap-1 px-3 py-1.5 text-[10px] text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(h.A,{className:"size-3"})," column"]})]})]}):(0,a.jsxs)("div",{className:U,style:{width:Z,borderColor:`${$}3d`},children:[(0,a.jsx)(S,{}),(0,a.jsxs)("div",{className:"group/row relative flex items-center justify-between rounded-t-[11px] px-3 py-2",style:{background:`${$}14`},children:[(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-1.5 font-mono text-[13px] font-semibold tracking-tight",children:["INTROSPECTION"===t.source&&(0,a.jsx)("span",{title:"live — derived from your code",className:"inline-block size-1.5 shrink-0 rounded-full bg-emerald-400"}),(0,a.jsx)("span",{className:"truncate",title:t.name,children:t.name})]}),(0,a.jsxs)("span",{className:"flex shrink-0 items-center gap-1.5",children:["INTROSPECTION"!==t.source&&(0,a.jsx)("span",{title:"planned — not yet detected in code",className:"shrink-0 rounded-md border border-[#f5b942]/35 bg-[#f5b942]/10 px-1.5 py-px font-mono text-[9px] font-semibold uppercase tracking-[0.14em] text-[#f5b942]",children:"planned"}),(0,a.jsx)(v,{badges:A}),t.domain&&(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-[0.14em]",style:{color:$},children:t.domain})]}),H.length>0?(0,a.jsx)(w.e0,{pins:H,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}`,onClick:()=>t.onComment?.(t.name)})]}),(0,a.jsx)("div",{className:"divide-y divide-white/[0.05]",children:t.columns.map(e=>{let n=_(e.name);return(0,a.jsxs)("div",{className:"group/row relative flex items-center gap-2 px-3 py-[7px] text-[12px]",children:[e.isPk?(0,a.jsx)(c.A,{className:"size-3 shrink-0 text-amber-300/90"}):e.isFk?(0,a.jsx)(m.A,{className:"size-3 shrink-0 text-sky-400/80"}):(0,a.jsx)("span",{className:"size-3 shrink-0"}),(0,a.jsx)("span",{className:"shrink-0 whitespace-nowrap font-mono",children:e.name}),(0,a.jsx)(I,{c:e,fkTargets:t.fkTargets}),n.length>0?(0,a.jsx)(w.e0,{pins:n,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)(E,{title:`Comment on ${t.name}.${e.name}`,onClick:()=>t.onComment?.(`${t.name}.${e.name}`)})]},e.name)})})]})}),A="nodrag nopan",P=["GET","POST","PUT","PATCH","DELETE"],z=(0,s.memo)(function({id:e,data:t,selected:n}){var o;let l,i=x.e6[t.method]??"#8a8a8a",r="DRAFT"===t.source,c="added"===t.diffStatus?"#7bd389":"modified"===t.diffStatus?"#ffb86b":"#4ea1ff",m="added"===t.diffStatus?"new":"modified"===t.diffStatus?"changed":"draft",p=t.diffChanges?.length?t.diffChanges.join("\n"):"draft",h=(o={method:t.method,domain:t.domain,path:t.path},l=[],/^delete$/i.test(o.method.trim())&&l.push({label:"DELETE",tone:"danger",title:"destructive: deletes data"}),(o.domain&&/auth/i.test(o.domain)||T.test(o.path))&&l.push({label:"auth",tone:"warn",title:"auth-related endpoint"}),l),b=g(),[N,C]=(0,s.useState)(t.path),[M,S]=(0,s.useState)(!1);(0,s.useEffect)(()=>{C(t.path)},[t.rev]);let E=e=>e.stopPropagation(),I=(0,y.k)(j.fE);return"full"!==I?(0,a.jsxs)("div",{className:(0,f.cn)("relative flex w-[300px] items-center gap-2 rounded-lg border border-white/10 bg-[#161618]/95 px-2.5 py-2 text-card-foreground backdrop-blur",n&&"ring-2 ring-[var(--accent,#f5b942)]","far"===I&&!b.readOnly&&"!opacity-0"),children:[(0,a.jsx)(k.x,{}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[12px] font-bold",style:{color:i},children:t.method}),(0,a.jsx)("span",{title:t.path,className:"truncate font-mono text-[13px]",children:t.path})]}):(0,a.jsxs)("div",{className:(0,f.cn)("group relative flex w-[300px] items-center gap-2 rounded-lg border bg-[#161618]/95 px-2.5 py-1.5 text-card-foreground shadow-[0_12px_36px_-18px_rgba(0,0,0,0.9)] backdrop-blur",r?"border-dashed":"border-white/10",n&&"ring-2 ring-[var(--accent,#f5b942)]"),style:r?{borderColor:`${c}66`,background:`${c}0f`}:void 0,children:[(0,a.jsx)(k.x,{}),"INTROSPECTION"===t.source&&(0,a.jsx)("span",{title:"live — derived from your code",className:"inline-block size-1.5 shrink-0 rounded-full bg-emerald-400"}),r?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("select",{value:t.method,onChange:t=>b.patchEndpoint(e,{method:t.target.value}),onPointerDown:E,className:(0,f.cn)(A,"shrink-0 rounded bg-transparent text-[10px] font-bold outline-none"),style:{color:i},title:"Method",children:P.map(e=>(0,a.jsx)("option",{value:e,className:"bg-card text-foreground",children:e},e))}),(0,a.jsx)("input",{value:N,title:N,onChange:e=>C(e.target.value),onBlur:()=>{let n=N.trim();n&&n!==t.path&&b.patchEndpoint(e,{path:n})},onKeyDown:e=>{E(e),"Enter"===e.key&&e.currentTarget.blur()},className:(0,f.cn)(A,"min-w-0 flex-1 bg-transparent font-mono text-[11px] outline-none")}),(0,a.jsx)(v,{badges:h}),(0,a.jsx)("span",{title:p,className:"shrink-0 rounded px-1 py-0.5 text-[8px] font-semibold uppercase",style:{background:`${c}26`,color:c},children:m}),(0,a.jsx)("button",{type:"button",onClick:t=>{E(t),M?b.deleteEndpoint(e):S(!0)},onBlur:()=>S(!1),title:"Delete",className:(0,f.cn)(A,"shrink-0 transition-colors",M?"text-red-300":"text-muted-foreground hover:text-red-300"),children:(0,a.jsx)(u.A,{className:"size-3"})})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"rounded px-1.5 py-0.5 text-[10px] font-bold",style:{background:`${i}22`,color:i},children:t.method}),(0,a.jsx)("span",{title:t.path,className:"min-w-0 flex-1 break-all font-mono text-[11px] leading-tight [-webkit-box-orient:vertical] [-webkit-line-clamp:2] [display:-webkit-box] overflow-hidden",children:t.path}),"INTROSPECTION"!==t.source&&(0,a.jsx)("span",{title:"planned — not yet detected in code",className:"shrink-0 rounded-md border border-[#f5b942]/35 bg-[#f5b942]/10 px-1.5 py-px font-mono text-[8px] font-semibold uppercase tracking-[0.14em] text-[#f5b942]",children:"planned"}),(0,a.jsx)(v,{badges:h}),(0,a.jsx)("button",{type:"button",onClick:t=>{E(t),M?b.deleteRealEndpoint(e):S(!0)},onBlur:()=>S(!1),title:M?"Click again to delete":"Delete endpoint",className:(0,f.cn)(A,"shrink-0 opacity-0 transition-opacity group-hover:opacity-100",M?"text-red-300 opacity-100":"text-muted-foreground hover:text-red-300"),children:(0,a.jsx)(u.A,{className:"size-3"})})]}),(t.pins?.length??0)>0?(0,a.jsx)(w.e0,{pins:t.pins,onPinClick:t.onPinClick}):t.onComment&&(0,a.jsx)("button",{type:"button",title:`Comment on ${t.method} ${t.path}`,onClick:e=>{E(e),t.onComment?.(`${t.method} ${t.path}`)},className:(0,f.cn)(A,"absolute -right-3 top-1/2 z-10 flex size-6 -translate-y-1/2 items-center justify-center rounded-full border border-white/15 bg-[#242428] text-muted-foreground opacity-0 shadow-md transition-all group-hover:opacity-100 hover:border-[#ff7a45]/50 hover:text-[#ff7a45]"),children:(0,a.jsx)(d.A,{className:"size-3"})})]})});var D=n(54698),F=n(82099),R=n(4474);let O=[{id:"claude",label:"Prompt p/ Claude Code",fn:function(e){let t=["Implement this database schema in this project, following its existing stack and conventions:",""];for(let n of e.tables){let e=`Table \`${n.name}\``+(n.domain?` (domain: ${n.domain})`:"")+(n.description?` — ${n.description}`:"");for(let a of(t.push(e),n.columns)){let e=[a.isPk&&"PK",a.isFk&&"FK",!1===a.nullable&&"NOT NULL"].filter(Boolean).join(", ");t.push(` - ${a.name}: ${a.type}`+(e?` [${e}]`:"")+(a.note?` — ${a.note}`:""))}t.push("")}if(e.relations.length){for(let n of(t.push("Foreign keys:"),e.relations))t.push(` - ${n.fromTable}.${n.fromColumn} -> ${n.toTable}.${n.toColumn}`);t.push("")}return t.push("Create the models/migrations using the project's existing ORM and patterns, wire the relationships, and keep table and column names exactly as given."),t.join("\n")}},{id:"dbml",label:"DBML",fn:function(e){let t=[];for(let n of e.tables){for(let e of(t.push(`Table ${n.name} {`),n.columns)){let n=[e.isPk&&"pk",!1===e.nullable&&!e.isPk&&"not null",e.note&&`note: '${e.note.replace(/'/g,"")}'`].filter(Boolean).join(", ");t.push(` ${e.name} ${e.type}`+(n?` [${n}]`:""))}t.push("}","")}for(let n of e.relations)t.push(`Ref: ${n.fromTable}.${n.fromColumn} > ${n.toTable}.${n.toColumn}`);return t.join("\n").trim()}},{id:"sql",label:"SQL DDL",fn:function(e){let t=[];for(let n of e.tables){t.push(`CREATE TABLE ${n.name} (`);let a=n.columns.map(e=>{let t=[` ${e.name} ${e.type}`];return e.isPk?t.push("PRIMARY KEY"):!1===e.nullable&&t.push("NOT NULL"),t.join(" ")}),s=e.relations.filter(e=>e.fromTable===n.name).map(e=>` FOREIGN KEY (${e.fromColumn}) REFERENCES ${e.toTable}(${e.toColumn})`);t.push([...a,...s].join(",\n")),t.push(");","")}return t.join("\n").trim()}}];function L({draftGraph:e}){let[t,n]=(0,s.useState)(null);if(0===e.tables.length)return null;async function o(t){await navigator.clipboard.writeText(t.fn(e)).catch(()=>{}),n(t.id),setTimeout(()=>n(null),1500)}return(0,a.jsxs)("div",{className:"space-y-2 rounded-xl border border-sky-400/20 bg-sky-500/[0.04] p-3",children:[(0,a.jsxs)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-sky-300",children:["Rascunho \xb7 ",e.tables.length," tabelas"]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,a.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"copiar:"}),O.map(e=>(0,a.jsx)(R.$,{size:"sm",variant:"outline",className:"h-6 px-2 text-[11px]",onClick:()=>o(e),children:t===e.id?"✓":e.label},e.id))]})]})}function K({selected:e,tables:t,relations:n,endpoints:s,draftGraph:o,onClose:l,commentsContent:i,commentsCount:r=0,activeTab:c,onTabChange:m,onAddComment:u,topOffset:h}){let f,x,b=new Map(t.map(e=>[e.id,e.name])),g=!!i,y=c??"details",j=e?.kind==="table"?t.find(t=>t.id===e.id)?.name??null:e?.kind==="endpoint"&&(x=s.find(t=>t.id===e.id))?`${x.method} ${x.path}`:null;if(e?.kind==="table"){let o=t.find(t=>t.id===e.id);f=o?(0,a.jsx)(H,{table:o,relations:n,endpoints:s,nameById:b}):null}else if(e?.kind==="endpoint"){let t=s.find(t=>t.id===e.id);f=t?(0,a.jsx)(_,{ep:t,nameById:b}):null}else f=(0,a.jsx)(Z,{tables:t,relations:n,endpoints:s});return(0,a.jsxs)(F.b,{className:"absolute right-3 z-10 flex w-80 flex-col rounded-2xl",style:{top:h??12,maxHeight:`calc(100% - ${(h??12)+12}px)`},children:[g?(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-1 py-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,a.jsx)(B,{active:"details"===y,onClick:()=>m?.("details"),children:"Details"}),(0,a.jsxs)(B,{active:"comments"===y,onClick:()=>m?.("comments"),children:["Comments",r>0&&(0,a.jsx)("span",{className:"ml-1 rounded-full bg-white/10 px-1 text-[9px] font-semibold leading-4",children:r})]})]}),(0,a.jsx)("button",{onClick:l,title:"Close panel",className:"mr-1 rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,a.jsx)(p.A,{className:"size-4"})})]}):(0,a.jsxs)("div",{className:"flex items-center justify-between border-b border-white/10 px-3.5 py-2.5",children:[(0,a.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Panel"}),(0,a.jsx)("button",{onClick:l,title:"Close panel",className:"rounded-md p-1 text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground",children:(0,a.jsx)(p.A,{className:"size-4"})})]}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:"comments"===y&&g?(0,a.jsx)("div",{className:"p-3",children:i}):(0,a.jsxs)(a.Fragment,{children:[o.tables.length>0&&(0,a.jsx)("div",{className:"border-b border-white/10 p-3.5",children:(0,a.jsx)(L,{draftGraph:o})}),(0,a.jsxs)("div",{className:"p-4",children:[u&&j&&(0,a.jsxs)("button",{type:"button",onClick:()=>u(j),className:"mb-3 flex w-full items-center justify-center gap-1.5 rounded-lg border border-white/10 bg-white/[0.03] px-3 py-1.5 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:[(0,a.jsx)(d.A,{className:"size-3.5"}),"Comment on this ",e?.kind==="endpoint"?"endpoint":"table"]}),f]})]})})]})}function B({active:e,onClick:t,children:n}){return(0,a.jsx)("button",{type:"button",onClick:t,className:(0,f.cn)("flex items-center gap-1 rounded-md px-2.5 py-1 text-[11px] font-medium transition-colors",e?"bg-white/10 text-foreground":"text-muted-foreground hover:text-foreground"),children:n})}function H({table:e,relations:t,endpoints:n,nameById:s}){let o=t.filter(t=>t.fromTableId===e.id),l=t.filter(t=>t.toTableId===e.id),i=n.map(t=>({e:t,u:t.tables.find(t=>t.tableId===e.id)})).filter(e=>e.u);return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-xs uppercase tracking-wide",style:{color:(0,x.qA)(e.domain)},children:e.domain??"table"}),(0,a.jsx)("h2",{className:"font-mono text-lg font-semibold",children:e.name}),e.description&&(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.description})]}),(0,a.jsx)(U,{title:`Columns (${e.columns.length})`,children:(0,a.jsx)("ul",{className:"space-y-0.5",children:e.columns.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5 text-xs",children:[e.isPk?(0,a.jsx)(c.A,{className:"size-3 text-amber-400"}):e.isFk?(0,a.jsx)(m.A,{className:"size-3 text-sky-400"}):(0,a.jsx)("span",{className:"size-3"}),(0,a.jsx)("span",{className:"font-mono",children:e.name}),(0,a.jsxs)("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground",children:[e.type,!e.nullable&&" \xb7NN"]})]},e.name))})}),o.length>0&&(0,a.jsx)(U,{title:"References (FK out)",children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:o.map(e=>(0,a.jsxs)("li",{className:"font-mono text-muted-foreground",children:[e.fromColumn," → ",s.get(e.toTableId),".",e.toColumn]},e.id))})}),l.length>0&&(0,a.jsx)(U,{title:"Referenced by (FK in)",children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:l.map(e=>(0,a.jsxs)("li",{className:"font-mono text-muted-foreground",children:[s.get(e.fromTableId),".",e.fromColumn]},e.id))})}),i.length>0&&(0,a.jsx)(U,{title:`Used by endpoints (${i.length})`,children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:i.map(({e,u:t})=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{style:{color:x.e6[e.method]},className:"font-bold",children:e.method}),(0,a.jsx)("span",{className:"truncate font-mono",children:e.path}),(0,a.jsx)("span",{className:"ml-auto",style:{color:x.ru[t.access]},children:t.access})]},e.id))})})]})}function _({ep:e,nameById:t}){return(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"rounded px-1.5 py-0.5 text-[11px] font-bold",style:{background:`${x.e6[e.method]}22`,color:x.e6[e.method]},children:e.method}),(0,a.jsx)("h2",{className:"mt-2 font-mono text-base font-semibold",children:e.path}),e.description&&(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e.description})]}),(0,a.jsx)(U,{title:`Tables used (${e.tables.length})`,children:(0,a.jsx)("ul",{className:"space-y-1 text-xs",children:e.tables.map(e=>(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"font-mono",children:t.get(e.tableId)}),(0,a.jsx)("span",{className:"ml-auto",style:{color:x.ru[e.access]},children:e.access})]},e.tableId))})})]})}function Z({tables:e,relations:t,endpoints:n}){return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:"Database"}),(0,a.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Live schema derived from your code. Click a table or endpoint to see details. Drag to rearrange — positions are saved."})]}),(0,a.jsxs)("dl",{className:"grid grid-cols-3 gap-2 text-center",children:[(0,a.jsx)(q,{label:"tables",value:e.length}),(0,a.jsx)(q,{label:"FKs",value:t.length}),(0,a.jsx)(q,{label:"endpoints",value:n.length})]}),(0,a.jsx)(U,{title:"Legend",children:(0,a.jsxs)("ul",{className:"space-y-1 text-xs text-muted-foreground",children:[(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(c.A,{className:"size-3 text-amber-400"})," primary key"]}),(0,a.jsxs)("li",{className:"flex items-center gap-1.5",children:[(0,a.jsx)(m.A,{className:"size-3 text-sky-400"})," foreign key"]}),(0,a.jsx)("li",{children:"— gray line: FK relation between tables"}),(0,a.jsx)("li",{children:"– – dashed line: endpoint uses table (read/write)"})]})})]})}function U({title:e,children:t}){return(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"mb-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:e}),t]})}function q({label:e,value:t}){return(0,a.jsxs)("div",{className:"rounded-lg border border-white/10 bg-white/[0.03] py-2",children:[(0,a.jsx)("div",{className:"text-lg font-semibold",children:t}),(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:e})]})}var W=n(56614),G=n(9991),J=n(40654),Q=n(14983),V=n(62311);let X=new Set(["GET","HEAD","OPTIONS"]);var Y=n(44267),ee=n(94014);function et(e){return 36+30*Math.max(0,e)+16}let en="Unattached",ea=e=>(e??"").trim()||"—";function es(e,t){let n=new Map(e.map(e=>[e.id,e.name])),a=new Map;for(let e of t)for(let t of e.uses)n.has(t.tableId)&&a.set(t.tableId,(a.get(t.tableId)??0)+1);return new Map(t.map(e=>[e.id,function(e,t,n){let a=new Map;for(let n of e.uses)t.has(n.tableId)&&a.set(n.tableId,(a.get(n.tableId)??0)+1);let s=null;for(let[e,o]of a){if(null===s){s=e;continue}let l=a.get(s);if(o>l){s=e;continue}if(o<l)continue;let i=n?.get(e)??0,r=n?.get(s)??0;i<r?s=e:i===r&&0>t.get(e).localeCompare(t.get(s))&&(s=e)}return s}(e,n,a)]))}let eo=(e,t)=>e.path.localeCompare(t.path)||e.method.localeCompare(t.method)||e.id.localeCompare(t.id);var el=n(70947);let ei=e=>e.trim().toLowerCase();var er=n(85618),ed=n(80846),ec=n(17356),em=n(45486),eu=n(15330),ep=n(60976),eh=n(64577),ef=n(24692),ex=n(45437);let eb={dbTable:$,endpoint:z,annotation:w.Sh},eg={deletable:ef.I,annotation:ex.L},ey="beacon:db-draft",ej={proposedAt:0,status:"pending",tables:[],relations:[],endpoints:[]};function ek({tables:e,relations:t,endpoints:n,draft:d,workspaceId:c,embedded:m=!1,diffBase:p,draftRef:h,onEdit:g,controlRef:k,commentsContent:N,commentsCount:v=0,onAddComment:C,annotations:T,onPinClick:M,onUpdateComment:S,onRemoveComment:E,boardAnnotations:I,readOnly:$=!1}){let A=(0,l.useRouter)(),P=e.length+(d?.tables.length??0),z=n.length+(d?.endpoints.length??0),[F,R]=(0,s.useState)(z>0&&(m||0===P)),[O,L]=(0,s.useState)(null),[B,H]=(0,s.useState)(null),[_,Z]=(0,s.useState)(null),[U,q]=(0,s.useState)(!1),[ef,ex]=(0,s.useState)(!1),[ew,eN]=(0,s.useState)("details"),[ev,eC]=(0,s.useState)(!1),[eT,eM]=(0,s.useState)(""),eS=(0,s.useRef)(null),{tool:eE,setTool:eI,flowProps:e$}=(0,o.e)();(0,s.useEffect)(()=>{if(!$)return;let e=0,t=requestAnimationFrame(()=>{e=requestAnimationFrame(()=>eS.current?.fitView({padding:.2,duration:0}))});return()=>{cancelAnimationFrame(t),cancelAnimationFrame(e)}},[$,d,F]),(0,s.useEffect)(()=>{if(k)return k.current={open:()=>{q(!0),eN("details")},close:()=>{q(!1),eN("details")},openComments:()=>{q(!0),eN("comments")}},()=>{k&&(k.current=null)}},[k]);let[eA,eP]=(0,s.useState)(new Set),[ez,eD]=(0,s.useState)("full"),[eF,eR]=(0,s.useState)(new Set),[eO,eL]=(0,s.useState)(new Set),[eK,eB]=(0,s.useState)(()=>({past:[],present:d??ej,future:[],rev:0,edited:!1})),eH=eK.present,e_=(0,s.useCallback)(e=>{eB(t=>{let n=e(t.present);return n===t.present?t:{past:[...t.past,t.present].slice(-100),present:n,future:[],rev:t.rev+1,edited:!0}})},[]),eZ=(0,s.useCallback)(e=>{eB(t=>{let n=e(t.present);return n===t.present?t:{...t,present:n}})},[]),eU=(0,s.useCallback)(()=>eB(e=>e.past.length?{past:e.past.slice(0,-1),present:e.past[e.past.length-1],future:[e.present,...e.future],rev:e.rev+1,edited:!0}:e),[]),eq=(0,s.useCallback)(()=>eB(e=>e.future.length?{past:[...e.past,e.present],present:e.future[0],future:e.future.slice(1),rev:e.rev+1,edited:!0}:e),[]),eW=(0,s.useCallback)(e=>eB(t=>({past:[],present:e,future:[],rev:t.rev+1,edited:!1})),[]),eG=(0,s.useRef)(!1),eJ=d?.proposedAt??0;(0,s.useEffect)(()=>{let e=null;if(eG.current)d&&d.proposedAt!==eH.proposedAt?e=d:!d&&(eH.tables.length>0||eH.endpoints.length>0)&&(e=ej);else{eG.current=!0;let t=null;try{let e=localStorage.getItem(ey);if(e){let n=JSON.parse(e);n.workspaceId===c&&n.doc&&d&&n.doc.proposedAt===d.proposedAt&&(t=n.doc)}}catch{}e=t??d??null}e&&eW(e)},[eJ]),(0,s.useEffect)(()=>{try{eH.tables.length>0||eH.endpoints.length>0?localStorage.setItem(ey,JSON.stringify({workspaceId:c,doc:eH})):localStorage.removeItem(ey)}catch{}},[eH,c]),(0,s.useEffect)(()=>{h&&(h.current=eH)},[h,eH]);let eQ=(0,s.useRef)(!1);(0,s.useEffect)(()=>{eK.edited&&!eQ.current&&(eQ.current=!0,g?.())},[eK.edited,g]);let eV=(0,s.useMemo)(()=>eH.tables.map(e=>({id:e.id,name:e.name,domain:e.domain,description:e.description,source:"DRAFT",x:e.x,y:e.y,columns:e.columns})),[eH]),eX=(0,s.useMemo)(()=>eH.endpoints.map(e=>({id:e.id,method:e.method,path:e.path,domain:e.domain,description:e.description,source:"DRAFT",x:e.x,y:e.y,tables:e.links.map(e=>({tableId:e.tableId,access:e.access}))})),[eH]),eY=(0,s.useMemo)(()=>[...e,...eV],[e,eV]),e0=(0,s.useMemo)(()=>[...n,...eX],[n,eX]),e1=(0,s.useMemo)(()=>(function(e,t,n={}){let a=es(e,t),s=new Map,o=[];for(let e of[...t].sort(eo)){let t=a.get(e.id)??null;if(t){let n=s.get(t);n?n.push(e):s.set(t,[e])}else o.push(e)}let l=e=>{let t=s.get(e.id)?.length??0;return et(e.columnCount)+(t?10+60*t:0)+30},i=Array.from(new Set(e.map(e=>ea(e.domain)))),r=i.filter(e=>"—"!==e).sort(),d=i.includes("—")?[...r,"—"]:r,c=[];for(let t of d){let n=e.filter(e=>ea(e.domain)===t).sort((e,t)=>e.name.localeCompare(t.name)),a=n.reduce((e,t)=>e+l(t),0),s=Math.max(1,Math.min(12,n.length,Math.round(Math.sqrt(a/320)))),o=Array(s).fill(0),i=new Map;for(let e of n){let t=0;for(let e=1;e<s;e++)o[e]<o[t]&&(t=e);i.set(e.id,{x:320*t,y:o[t]}),o[t]+=l(e)}c.push({d:t,w:320*s,h:Math.max(...o,0),tableLocal:i})}let m=(0,ee.Xi)(c.map(e=>({id:e.d,w:e.w,h:e.h})),{gapX:84,gapY:72,viewportAspect:n.viewportAspect,minBandW:960,aspectSlack:1.7}),u=new Map,p=new Map,h=0;for(let t of c){let n=m.get(t.d);for(let a of e.filter(e=>t.tableLocal.has(e.id))){let e=t.tableLocal.get(a.id),o=n.x+e.x,l=n.y+e.y;u.set(a.id,{x:o,y:l}),(s.get(a.id)??[]).forEach((e,t)=>{p.set(e.id,{x:o,y:l+et(a.columnCount)+10+60*t})})}h=Math.max(h,n.y+t.h)}if(o.length){let e=h+72,t=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(o.length/2))));o.forEach((n,a)=>{p.set(n.id,{x:a%t*300,y:e+60*Math.floor(a/t)})})}return{tables:u,endpoints:p}})(eY.map(e=>({id:e.id,name:e.name,domain:e.domain,columnCount:e.columns.length})),[]).tables,[eY]),e5=(0,s.useMemo)(()=>new Map,[]),e2=(0,s.useMemo)(()=>m?function(e,t){let n=new Map(e.map(e=>[ei(e.name),e])),a=new Map;for(let e of t){let t=n.get(ei(e.name));if(!t){a.set(e.id,{status:"added",changes:["new table"],columns:{}});continue}let{changes:s,columns:o}=function(e,t){let n=new Map(e.map(e=>[ei(e.name),e])),a=new Set(t.map(e=>ei(e.name))),s=[],o={};for(let e of t){let t=n.get(ei(e.name));if(!t){s.push(`+ column ${e.name} (${e.type})`),o[e.name]={kind:"added",detail:"new column"};continue}let a=[],l=[];if(ei(t.type)!==ei(e.type)&&(a.push(`type ${t.type}→${e.type}`),l.push(`${t.type}→${e.type}`)),t.isPk!==e.isPk){let t=e.isPk?"now PK":"no longer PK";a.push(t),l.push(t)}if(t.isFk!==e.isFk){let t=e.isFk?"now FK":"no longer FK";a.push(t),l.push(t)}if(t.nullable!==e.nullable){let t=e.nullable?"now nullable":"now required";a.push(t),l.push(t)}a.length&&(s.push(`~ column ${e.name}: ${a.join(", ")}`),o[e.name]={kind:"modified",detail:l.join(" \xb7 ")})}for(let t of e)a.has(ei(t.name))||s.push(`- column ${t.name}`);return{changes:s,columns:o}}(t.columns,e.columns);a.set(e.id,{status:s.length?"modified":"unchanged",changes:s,columns:o})}return a}(p?.tables??e,eV):e5,[m,p,e,eV,e5]),e3=(0,s.useMemo)(()=>m?function(e,t){let n=e=>`${ei(e.method)} ${ei(e.path)}`,a=new Set(e.map(n)),s=new Map;for(let e of t)s.set(e.id,a.has(n(e))?{status:"unchanged",changes:[],columns:{}}:{status:"added",changes:["new endpoint"],columns:{}});return s}(p?.endpoints??n,eX):e5,[m,p,n,eX,e5]),e4=(0,s.useMemo)(()=>[...t,...eH.relations.map(e=>({id:e.id,fromTableId:e.fromTableId,toTableId:e.toTableId,fromColumn:e.fromColumn,toColumn:e.toColumn,label:e.label}))],[t,eH.relations]),e6=(0,s.useMemo)(()=>{let e=new Map;for(let t of e0)for(let n of t.tables)e.set(n.tableId,(e.get(n.tableId)??0)+1);return e},[e0]),e8=(0,s.useMemo)(()=>{let e=new Map;return eY.forEach(t=>e.set(t.id,t.x)),e0.forEach(t=>e.set(t.id,t.x)),e},[eY,e0]),e9=(0,s.useMemo)(()=>{let e=new Map;return eY.forEach(t=>e.set(t.id,t.y)),e0.forEach(t=>e.set(t.id,t.y)),e},[eY,e0]),e7=(0,s.useMemo)(()=>{let e=new Map(eY.map(e=>[e.id,e.name])),t=new Map;for(let n of e4){let a=e.get(n.toTableId);if(!a)continue;let s=t.get(n.fromTableId)??{};s[n.fromColumn]=a,t.set(n.fromTableId,s)}return t},[e4,eY]),te=void 0!==I,[tt,tn]=(0,s.useState)(I??[]);(0,s.useEffect)(()=>{I&&tn(I)},[I]);let ta=(0,s.useMemo)(()=>({tables:eY.map(e=>({id:e.id,name:e.name,columns:e.columns.map(e=>e.name)})),endpoints:e0.map(e=>({id:e.id,method:e.method,path:e.path}))}),[eY,e0]),ts=(0,s.useMemo)(()=>{if(te){let e=new Set([...eY.map(e=>e.id),...e0.map(e=>e.id)]);return tt.filter(t=>e.has(t.targetId)).map((e,t)=>({id:e.id,n:t+1,targetId:e.targetId,column:e.columnName,text:e.body,x:e.x,y:e.y}))}let e=new Map((T??[]).map(e=>[e.id,e.comment]));return(0,D.m)(T??[],ta).map(t=>({id:t.annotationId,n:t.n,targetId:t.targetId,column:t.column,text:e.get(t.annotationId)??"",x:null,y:null}))},[te,tt,T,ta,eY,e0]),to=(0,s.useMemo)(()=>{let e=new Map;for(let t of ts){let n=e.get(t.targetId)??[];n.push({id:t.id,n:t.n,column:t.column}),e.set(t.targetId,n)}return e},[ts]),tl=(0,s.useMemo)(()=>new Map(ts.map(e=>[`anno-${e.id}`,e.targetId])),[ts]),ti=(0,s.useCallback)(async e=>{let t=(0,D.m)([{id:"_",excerpt:e}],ta)[0];if(!t)return;let n=await fetch("/api/board-annotations",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({targetKind:t.kind,targetId:t.targetId,columnName:t.column??void 0})});if(n.ok){let e=await n.json();tn(t=>[...t,e])}},[ta]),tr=(0,s.useCallback)((e,t)=>{tn(n=>n.map(n=>n.id===e?{...n,...t}:n)),fetch(`/api/board-annotations/${e}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)})},[]),td=(0,s.useCallback)(e=>{tn(t=>t.filter(t=>t.id!==e)),fetch(`/api/board-annotations/${e}`,{method:"DELETE"})},[]),tc=te?ti:C,tm=(0,s.useCallback)((e,t)=>{let n=(e8.get(t)??0)-(e8.get(e)??0),a=(e9.get(t)??0)-(e9.get(e)??0);return Math.abs(n)>=Math.abs(a)?n>=0?{sourceHandle:"sr",targetHandle:"tl"}:{sourceHandle:"sl",targetHandle:"tr"}:a>=0?{sourceHandle:"sb",targetHandle:"tt"}:{sourceHandle:"st",targetHandle:"tb"}},[e8,e9]),tu=(0,s.useMemo)(()=>new Set([...eH.tables.map(e=>e.id),...eH.endpoints.map(e=>e.id)]),[eH]),tp=(0,s.useMemo)(()=>new Set(e.map(e=>e.id)),[e]),th=(0,s.useCallback)(()=>{let e=eY.map(e=>({id:e.id,type:"dbTable",position:F?{x:e.x,y:e.y}:e1.get(e.id)??{x:e.x,y:e.y},data:{name:e.name,domain:e.domain,columns:e.columns,usageCount:e6.get(e.id)??0,source:e.source,rev:eK.rev,diffStatus:e2.get(e.id)?.status,diffChanges:e2.get(e.id)?.changes,diffColumns:e2.get(e.id)?.columns,fkTargets:e7.get(e.id),pins:to.get(e.id),onPinClick:M,onComment:tc}})),t=e0.map(e=>({id:e.id,type:"endpoint",position:{x:e.x,y:e.y},data:{method:e.method,path:e.path,domain:e.domain,source:e.source,rev:eK.rev,diffStatus:e3.get(e.id)?.status,diffChanges:e3.get(e.id)?.changes,pins:to.get(e.id),onPinClick:M,onComment:tc}})),n=new Map,a=new Map(eY.map(e=>[e.id,e])),s=new Map(e0.map(e=>[e.id,e]));return[...e,...t,...ts.map(e=>{let t=a.get(e.targetId),o=s.get(e.targetId),l=t?.x??o?.x??0,i=t?.y??o?.y??0,r=t?38+28*t.columns.length:42,d=n.get(e.targetId)??0;return n.set(e.targetId,d+1),{id:`anno-${e.id}`,type:"annotation",position:{x:e.x??l+26,y:e.y??i+r+64+112*d},data:{n:e.n,text:e.text,annotationId:e.id,onClick:te||S?void 0:M,editable:te||!!S,onChangeText:te?(e,t)=>tr(e,{body:t}):S,onDelete:te?td:E}}})]},[eY,e0,F,e1,e6,eK.rev,e2,e3,e7,to,ts,te,M,S,E,tc,tr,td]),[tf,tx,tb]=(0,i.ck)(th()),tg=(0,s.useRef)(F);(0,s.useEffect)(()=>{let e=tg.current!==F;tg.current=F,tx(t=>{let n=new Map(t.map(e=>[e.id,e.position]));return th().map(t=>e&&"dbTable"===t.type?t:{...t,position:n.get(t.id)??t.position})}),e&&requestAnimationFrame(()=>eS.current?.fitView({duration:500,padding:.15,minZoom:.2,maxZoom:.9}))},[th,tx,F]);let ty=(0,s.useCallback)((e,t,n,a)=>{fetch("/api/db/position",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({kind:e,id:t,x:n,y:a})})},[]),tj=(0,s.useCallback)((e,t)=>{var n;let{x:a,y:s}=t.position,o=(n={readOnly:$,nodeId:t.id,isDraft:tu.has(t.id),boardMode:te}).readOnly?"none":n.nodeId.startsWith("anno-")?n.boardMode?"annotation":"none":n.isDraft?"draft":"real";"annotation"===o?tr(t.id.slice(5),{x:a,y:s}):"draft"===o?eZ(e=>e.tables.some(e=>e.id===t.id)?{...e,tables:e.tables.map(e=>e.id===t.id?{...e,x:a,y:s}:e)}:e.endpoints.some(e=>e.id===t.id)?{...e,endpoints:e.endpoints.map(e=>e.id===t.id?{...e,x:a,y:s}:e)}:e):"real"===o&&ty("endpoint"===t.type?"endpoint":"table",t.id,a,s)},[$,tu,eZ,ty,te,tr]),tk=(0,s.useMemo)(()=>e4.map(e=>({id:`fk-${e.id}`,source:e.fromTableId,target:e.toTableId,...tm(e.fromTableId,e.toTableId),type:"deletable",label:e.label??void 0,markerEnd:{type:r.TG.ArrowClosed,color:"#6b6b6b"},style:{stroke:"#6b6b6b"}})),[e4,tm]),tw=(0,s.useMemo)(()=>e0.flatMap(e=>e.tables.map(t=>{let n=x.ru[t.access]??"#5a5a5a";return{id:`u-${e.id}-${t.tableId}`,source:e.id,target:t.tableId,...tm(e.id,t.tableId),type:"default",markerEnd:{type:r.TG.ArrowClosed,color:n},style:{stroke:n,strokeDasharray:"4 4",opacity:.7}}})),[e0,tm]),tN=(0,s.useMemo)(()=>F?[...tk,...tw]:tk,[tk,tw,F]),tv=(0,s.useMemo)(()=>ts.map(e=>({id:`annoe-${e.id}`,source:e.targetId,sourceHandle:`pin-${e.id}`,target:`anno-${e.id}`,targetHandle:"in",type:"annotation",selectable:!1,zIndex:30,style:{stroke:w.V5,strokeWidth:1.5,opacity:.9}})),[ts]),tC=O?.id??_,tT=(0,s.useMemo)(()=>{if(B){let e=tN.find(e=>e.id===B);return e?new Set([e.source,e.target]):null}return tC?(0,x.F1)(tC,tN):null},[tC,B,tN]),tM=(0,s.useMemo)(()=>new Map(eY.map(e=>[e.id,{domain:e.domain,source:e.source}])),[eY]),tS=(0,s.useMemo)(()=>new Map(e0.map(e=>[e.id,{method:e.method,source:e.source}])),[e0]),tE=(0,s.useMemo)(()=>{let e=new Set;if(!F)for(let t of tS.keys())e.add(t);for(let[t,n]of tM)!eA.size||n.domain&&eA.has(n.domain)||e.add(t),eF.size&&!eF.has(n.source)&&e.add(t);for(let[t,n]of tS)eO.size&&!eO.has(n.method)&&e.add(t),eF.size&&!eF.has(n.source)&&e.add(t);return e},[F,tM,tS,eA,eF,eO]),tI=eT.trim().length>0,t$=(0,s.useMemo)(()=>{if(!tI)return null;let e=new Set;for(let t of eY)!tE.has(t.id)&&(0,Q.Qk)((0,Q.jF)(t),eT)&&e.add(t.id);for(let t of e0)!tE.has(t.id)&&(0,Q.Qk)((0,Q.sQ)(t),eT)&&e.add(t.id);return e},[eY,e0,tE,eT,tI]),tA=(0,s.useMemo)(()=>tI?[...(0,Q.r2)(eY.filter(e=>!tE.has(e.id)),eT,e=>(0,Q.jF)(e),e=>({id:e.id,label:e.name,sublabel:e.domain??"table",kind:"table"})),...(0,Q.r2)(e0.filter(e=>!tE.has(e.id)),eT,e=>(0,Q.sQ)(e),e=>({id:e.id,label:e.path,sublabel:e.method,kind:"endpoint"}))].slice(0,12):[],[eY,e0,tE,eT,tI]),tP=(0,s.useCallback)(e=>{eM(""),L(tS.has(e)?{id:e,kind:"endpoint"}:{id:e,kind:"table"}),H(null),q(!0),eN("details");let t=eS.current?.getNode(e);if(!t||!eS.current)return;let n=t.measured?.width??220,a=t.measured?.height??80;eS.current.setCenter(t.position.x+n/2,t.position.y+a/2,{zoom:.9,duration:600})},[tS]),tz=t$??tT,tD=(0,s.useMemo)(()=>tf.map(e=>{if(e.id.startsWith("anno-")){let t=tl.get(e.id),n=!!t&&tE.has(t);return!!e.hidden!==n?{...e,hidden:n}:e}let t=tE.has(e.id);if(!tz)return t?{...e,hidden:t}:e;let n=tz.has(e.id),a=t$?Q.Uy:.45;return{...e,hidden:t,style:{...e.style,opacity:n?1:a,boxShadow:n&&t$?Q.RU:e.style?.boxShadow,borderRadius:n&&t$?12:e.style?.borderRadius,transition:"opacity 120ms, box-shadow 120ms"}}}),[tf,tE,tz,t$,tl]),tF=(0,s.useMemo)(()=>{let e=new Map(eY.map(e=>[e.id,(e.domain??"").trim()||"—"])),t=es(eY,e0.map(e=>({id:e.id,method:e.method,path:e.path,uses:e.tables.map(e=>({tableId:e.tableId}))})));return new Map(e0.map(n=>{let a=t.get(n.id);return[n.id,a?e.get(a):en]}))},[eY,e0]),tR=(0,s.useMemo)(()=>{let e=[];for(let t of tf)if(!tE.has(t.id))if("dbTable"===t.type){let n=t.data;e.push({id:t.id,group:(n.domain??"").trim()||"—",x:t.position.x,y:t.position.y,w:t.measured?.width??280,h:t.measured?.height??38+28*n.columns.length})}else"endpoint"===t.type&&e.push({id:t.id,group:tF.get(t.id)??en,x:t.position.x,y:t.position.y,w:t.measured?.width??240,h:t.measured?.height??50});return(0,Y.S)(e)},[tf,tE,tF]),tO=(0,s.useMemo)(()=>t$?tN.map(e=>{let t=tE.has(e.source)||tE.has(e.target);return t$.has(e.source)&&t$.has(e.target)?{...e,hidden:t,style:{...e.style,opacity:1}}:{...e,hidden:t,label:void 0,style:{...e.style,opacity:.08}}}):tN.map(e=>{let t=tE.has(e.source)||tE.has(e.target);return tC||B?(B?e.id===B:tC&&(e.source===tC||e.target===tC))?{...e,hidden:t,zIndex:20,style:{...e.style,opacity:1,strokeWidth:2.5}}:{...e,hidden:t,selectable:!1,label:void 0,markerEnd:void 0,style:{...e.style,opacity:.08}}:{...e,hidden:t,label:void 0}}),[tN,tC,B,tE,t$]),tL=(0,s.useMemo)(()=>Array.from(new Set(eY.map(e=>e.domain).filter(e=>!!e))).sort(),[eY]),tK=(0,s.useMemo)(()=>Array.from(new Set([...eY.map(e=>e.source),...e0.map(e=>e.source)])).sort(),[eY,e0]),tB=(0,s.useMemo)(()=>Array.from(new Set(e0.map(e=>e.method))).sort(),[e0]);function tH(e,t){t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}let t_=+!F+eA.size+eF.size+eO.size,tZ=(0,s.useCallback)(()=>{R(!0),eP(new Set),eR(new Set),eL(new Set)},[]),tU=(0,s.useCallback)(e=>{let{source:t,target:n}=e;t&&n&&t!==n&&e_(e=>{if(!(e.tables.some(e=>e.id===n)||tp.has(n)))return e;let a=e.endpoints.find(e=>e.id===t);return a?a.links.some(e=>e.tableId===n)?e:{...e,endpoints:e.endpoints.map(e=>{var a;return e.id===t?{...e,links:[...e.links,{tableId:n,access:(a=e.method,X.has(a.trim().toUpperCase())?"read":"write")}]}:e})}:e.tables.find(e=>e.id===t)?e.relations.some(e=>e.fromTableId===t&&e.toTableId===n)?e:{...e,relations:[...e.relations,{id:crypto.randomUUID(),fromTableId:t,toTableId:n,fromColumn:"fk",toColumn:"id",label:null}]}:e})},[e_,tp]),tq=(0,s.useMemo)(()=>({readOnly:$,patchEndpoint:(e,t)=>e_(n=>({...n,endpoints:n.endpoints.map(n=>n.id===e?{...n,...t}:n)})),deleteEndpoint:e=>e_(t=>({...t,endpoints:t.endpoints.filter(t=>t.id!==e)})),patchTable:(e,t)=>e_(n=>({...n,tables:n.tables.map(n=>n.id===e?{...n,...t}:n)})),deleteTable:e=>e_(t=>({...t,tables:t.tables.filter(t=>t.id!==e),relations:t.relations.filter(t=>t.fromTableId!==e&&t.toTableId!==e),endpoints:t.endpoints.map(t=>({...t,links:t.links.filter(t=>t.tableId!==e)}))})),deleteRealEndpoint:e=>{fetch(`/api/endpoints/${e}`,{method:"DELETE"}).then(e=>{e.ok&&A.refresh()})}}),[$,e_,A]);(0,s.useEffect)(()=>{let e=e=>{if(!(e.metaKey||e.ctrlKey))return;let t=e.target;if(t&&/^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName))return;let n=e.key.toLowerCase();"z"===n?(e.preventDefault(),e.shiftKey?eq():eU()):"y"===n&&(e.preventDefault(),eq())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eU,eq]);let tW=(0,s.useCallback)(async()=>{eC(!0);try{if((await fetch("/api/draft/approve",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(eH)})).ok){try{localStorage.removeItem(ey)}catch{}eW(ej),A.refresh()}}finally{eC(!1)}},[eH,eW,A]),tG=(0,s.useCallback)(async()=>{eC(!0);try{await fetch("/api/draft",{method:"DELETE"})}catch{}try{localStorage.removeItem(ey)}catch{}eW(ej),A.refresh(),eC(!1)},[eW,A]),tJ=(0,s.useMemo)(()=>{let e;return e=new Map(eH.tables.map(e=>[e.id,e.name])),{tables:eH.tables.map(e=>({name:e.name,domain:e.domain,description:e.description,columns:e.columns.map(e=>({name:e.name,type:e.type,isPk:e.isPk,isFk:e.isFk,nullable:e.nullable,note:e.note}))})),relations:eH.relations.flatMap(t=>{let n=e.get(t.fromTableId),a=e.get(t.toTableId);return n&&a?[{fromTable:n,fromColumn:t.fromColumn,toTable:a,toColumn:t.toColumn,label:t.label}]:[]}),endpoints:eH.endpoints.map(t=>({method:t.method,path:t.path,domain:t.domain,description:t.description,uses:t.links.flatMap(t=>{let n=e.get(t.tableId);return n?[{table:n,access:t.access}]:[]})}))}},[eH]),tQ=eH.tables.length>0||eH.endpoints.length>0,tV=eK.past.length>0,tX=eK.future.length>0;return(0,a.jsx)(b.Provider,{value:tq,children:(0,a.jsxs)("div",{className:(0,f.cn)("canvas-dots relative w-full",m?"h-full":"h-screen",ef&&"rf-panning"),children:[(0,a.jsxs)(i.Gc,{...e$,nodes:tD,edges:"far"===ez?[...tO,...tv].map(e=>({...e,hidden:!0})):[...tO,...tv.map(e=>({...e,hidden:tE.has(e.source)}))],nodeTypes:eb,edgeTypes:eg,nodesConnectable:!$,connectionMode:r.WZ.Loose,connectionLineStyle:{stroke:"var(--accent-2,#ff7a45)",strokeWidth:1.5,strokeDasharray:"4 4"},onInit:e=>{eS.current=e},onNodesChange:tb,onMoveStart:()=>ex(!0),onMoveEnd:()=>ex(!1),onConnect:tU,onNodeMouseEnter:(e,t)=>{"annotation"!==t.type&&Z(t.id)},onNodeMouseLeave:()=>Z(null),onNodeClick:(e,t)=>{if("annotation"===t.type){let e=t.data;e.editable||M?.(e.annotationId);return}let n="endpoint"===t.type?"endpoint":"table";L({id:t.id,kind:n}),H(null),q(!0),eN("details")},onEdgeClick:(e,t)=>{H(t.id),L(null)},onPaneClick:()=>{L(null),H(null),q(!1)},onNodeDragStop:tj,onEdgesDelete:e=>{for(let t of e)if(t.id.startsWith("fk-")){let e=t.id.slice(3);fetch(`/api/db/relations/${e}`,{method:"DELETE"})}},onNodesDelete:e=>{for(let t of e)t.id.startsWith("anno-")||tu.has(t.id)||("endpoint"===t.type?fetch(`/api/endpoints/${t.id}`,{method:"DELETE"}):"dbTable"===t.type&&fetch(`/api/db/tables/${t.id}`,{method:"DELETE"}))},deleteKeyCode:$?null:["Backspace","Delete"],colorMode:"dark",fitView:!0,fitViewOptions:{padding:.15,minZoom:.38,maxZoom:.9},minZoom:.15,panOnScroll:!0,zoomActivationKeyCode:["Meta","Control"],proOptions:{hideAttribution:!0},children:[(0,a.jsx)(el.Z,{regions:tR,tone:"category",lod:ez}),(0,a.jsx)(y.J,{onLod:eD,thresholds:j.fE}),(0,a.jsx)(i.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"}),!m&&(0,a.jsx)(i.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"}),(0,a.jsx)(i.Zk,{position:"bottom-left",style:{marginBottom:118},children:(0,a.jsx)(o.H,{tool:eE,onChange:eI})}),!m&&(0,a.jsx)(i.Zk,{position:"bottom-center",className:"!mb-4",children:(0,a.jsx)("div",{className:"glass flex items-center rounded-full p-0.5",children:(0,a.jsxs)("button",{type:"button",disabled:ev,title:"Re-arrange the board — domain clusters with endpoints docked under their tables",onClick:async()=>{eC(!0);try{let e=window.innerWidth/window.innerHeight;await fetch("/api/db/arrange",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({viewportAspect:e})}),A.refresh()}finally{eC(!1)}},className:"flex h-6 items-center gap-1.5 rounded-full px-3 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground disabled:opacity-40",children:[(0,a.jsx)(er.A,{className:"size-3"}),ev?"Arranging…":"Arrange"]})})}),!m&&(0,a.jsx)(i.Zk,{position:"top-right",className:(0,f.cn)("glass rounded-full px-1 py-0.5 transition-[margin] duration-200",U&&"!mr-[332px]"),children:(0,a.jsx)(V.Z,{active:"DATABASE",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,a.jsxs)(i.Zk,{position:"top-right",className:(0,f.cn)("!mt-14 flex items-center gap-1 transition-[margin] duration-200",U&&"!mr-[332px]",m&&"hidden"),children:[(0,a.jsx)(G.X,{query:eT,onQuery:eM,hits:tA,placeholder:"Find a table, column, endpoint…",onPick:tP,onZoomToMatches:()=>{t$?.size&&eS.current?.fitView({nodes:[...t$].map(e=>({id:e})),duration:600,padding:.2})}}),(0,a.jsx)(J.e,{defaultSelection:"DATABASE"}),(0,a.jsxs)(W.er,{title:"Filters",trigger:(e,t)=>(0,a.jsxs)("button",{type:"button",onClick:t,title:"Filters",className:(0,f.cn)("glass relative flex size-8 items-center justify-center rounded-lg transition-colors",e||t_>0?"text-foreground":"text-muted-foreground hover:text-foreground"),children:[(0,a.jsx)(ed.A,{className:"size-4"}),t_>0&&(0,a.jsx)("span",{className:"absolute -right-1 -top-1 flex h-4 min-w-4 items-center justify-center rounded-full bg-[var(--accent-2,#ff7a45)] px-1 text-[9px] font-semibold text-white",children:t_})]}),children:[(0,a.jsx)(W.r1,{title:"Show",children:(0,a.jsx)(W.vu,{tone:"accent",on:F,onClick:()=>R(e=>!e),children:"endpoints"})}),tL.length>0&&(0,a.jsx)(W.r1,{title:"Domain",children:tL.map(e=>(0,a.jsx)(W.vu,{on:eA.has(e),onClick:()=>tH(e,eP),children:e},e))}),tB.length>0&&(0,a.jsx)(W.r1,{title:"Method",children:tB.map(e=>(0,a.jsx)(W.vu,{on:eO.has(e),onClick:()=>tH(e,eL),children:e},e))}),tK.length>0&&(0,a.jsx)(W.r1,{title:"Source",children:tK.map(e=>(0,a.jsx)(W.vu,{on:eF.has(e),onClick:()=>tH(e,eR),children:e.toLowerCase()},e))}),t_>0&&(0,a.jsx)("button",{type:"button",onClick:tZ,className:"mt-1 w-full rounded-md border border-white/10 px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/5 hover:text-foreground",children:"clear filters"})]}),(0,a.jsx)(W.er,{title:"Legend",trigger:(e,t)=>(0,a.jsx)("button",{type:"button",onClick:t,title:"Legend",className:(0,f.cn)("glass flex size-8 items-center justify-center rounded-lg transition-colors",e?"text-foreground":"text-muted-foreground hover:text-foreground"),children:(0,a.jsx)(ec.A,{className:"size-4"})}),children:(0,a.jsxs)("ul",{className:"space-y-1.5 text-[10.5px] text-muted-foreground",children:[(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-white/15 bg-white/[0.06] px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground/80",children:"table"}),(0,a.jsx)("span",{children:"a database table \xb7 its columns"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-white/15 bg-white/[0.06] px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-foreground/80",children:"endpoint"}),(0,a.jsx)("span",{children:"an API route \xb7 reads / writes tables"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-px w-6 bg-[#6b6b6b]"}),(0,a.jsx)("span",{children:"foreign key \xb7 drag from a table handle"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-6 border-t border-dashed",style:{borderColor:"#4ea1ff"}}),(0,a.jsx)("span",{children:"endpoint read \xb7 GET / POST / etc"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{"aria-hidden":!0,className:"inline-block h-0 w-6 border-t border-dashed",style:{borderColor:"#ffb86b"}}),(0,a.jsx)("span",{children:"endpoint write"})]}),(0,a.jsxs)("li",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-block rounded border border-dashed border-sky-400/50 px-1 py-0.5 text-[9px] font-semibold uppercase tracking-wide text-sky-300",children:"draft"}),(0,a.jsx)("span",{children:"agent-proposed \xb7 approve to persist"})]})]})}),!U&&(0,a.jsx)("button",{onClick:()=>q(!0),title:"Show panel",className:"glass flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:text-foreground",children:(0,a.jsx)(em.A,{className:"size-4"})})]}),tQ&&(0,a.jsxs)(i.Zk,{position:"bottom-center",className:"glass flex items-center gap-1 rounded-xl p-1.5",children:[(0,a.jsxs)("button",{onClick:eU,disabled:!tV,title:"Undo (⌘Z)",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent",children:[(0,a.jsx)(eu.A,{className:"size-3.5"})," undo"]}),(0,a.jsxs)("button",{onClick:eq,disabled:!tX,title:"Redo (⇧⌘Z)",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-white/10 hover:text-foreground disabled:opacity-30 disabled:hover:bg-transparent",children:[(0,a.jsx)(ep.A,{className:"size-3.5"})," redo"]}),!m&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"mx-1 h-4 w-px bg-white/10"}),(0,a.jsxs)("button",{onClick:tG,disabled:ev,title:"Discard draft",className:"flex items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300 disabled:opacity-40",children:[(0,a.jsx)(u.A,{className:"size-3.5"})," discard"]}),(0,a.jsxs)("button",{onClick:tW,disabled:ev,title:"Approve and persist to the schema",className:"flex items-center gap-1 rounded-md border border-emerald-500/40 bg-emerald-500/15 px-2.5 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25 disabled:opacity-40",children:[(0,a.jsx)(eh.A,{className:"size-3.5"})," approve draft"]})]})]})]}),U&&(0,a.jsx)(K,{selected:O,tables:eY,relations:e4,endpoints:e0,draftGraph:tJ,onClose:()=>{q(!1),eN("details")},commentsContent:N,commentsCount:v,activeTab:ew,onTabChange:eN,onAddComment:tc,topOffset:m?64:void 0})]})})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[44,134,204,439,543,730,763,1108,1145,1235,1288,1361,1403,1570,1617,1662,1918,1929,1979,2113,2442,2449,2681,2752,2821,2922,3087,3185,3290,3519,3688,3979,4039,4284,4360,4505,4636,4816,4852,4896,5022,5152,5190,5412,5545,5807,5884,6600,6630,6714,6760,6805,6819,6886,6950,6988,7137,7317,7423,7612,7691,7705,7851,7914,8167,8235,8617,8650,8696,8773,8906,9140,9560,9751],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);