trybeacon 0.1.25 → 0.1.26

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 (300) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -5
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js +3 -3
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  27. package/.next/server/app/api/board-annotations/route.js +1 -1
  28. package/.next/server/app/api/board-layout/route.js +1 -1
  29. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  30. package/.next/server/app/api/bug-flags/route.js +1 -1
  31. package/.next/server/app/api/code-graph/position/route.js +1 -1
  32. package/.next/server/app/api/code-graph/route.js +1 -1
  33. package/.next/server/app/api/context/feature/route.js +1 -1
  34. package/.next/server/app/api/context/file/route.js +1 -1
  35. package/.next/server/app/api/context/route.js +2 -2
  36. package/.next/server/app/api/db/arrange/route.js +1 -1
  37. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  38. package/.next/server/app/api/db/position/route.js +1 -1
  39. package/.next/server/app/api/db/prune-planned/route.js +1 -0
  40. package/.next/server/app/api/db/prune-planned/route.js.nft.json +1 -0
  41. package/.next/server/app/api/db/prune-planned/route_client-reference-manifest.js +1 -0
  42. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  43. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  44. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  45. package/.next/server/app/api/draft/approve/route.js +1 -1
  46. package/.next/server/app/api/draft/route.js +1 -1
  47. package/.next/server/app/api/draft/status/route.js +1 -1
  48. package/.next/server/app/api/edges/[id]/route.js +1 -1
  49. package/.next/server/app/api/edges/route.js +1 -1
  50. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  51. package/.next/server/app/api/entities/route.js +1 -1
  52. package/.next/server/app/api/feedback/[id]/route.js +1 -1
  53. package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
  54. package/.next/server/app/api/feedback/route.js +1 -1
  55. package/.next/server/app/api/ingest/route.js +2 -2
  56. package/.next/server/app/api/init/route.js +1 -1
  57. package/.next/server/app/api/map/describe/route.js +2 -2
  58. package/.next/server/app/api/map/files/route.js +1 -1
  59. package/.next/server/app/api/map/finish/route.js +1 -1
  60. package/.next/server/app/api/map/route.js +1 -1
  61. package/.next/server/app/api/map/start/route.js +1 -1
  62. package/.next/server/app/api/map/touch-active/route.js +1 -1
  63. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  64. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  65. package/.next/server/app/api/nodes/positions/route.js +1 -1
  66. package/.next/server/app/api/nodes/route.js +1 -1
  67. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  68. package/.next/server/app/api/notes/[id]/route.js +1 -1
  69. package/.next/server/app/api/notes/route.js +1 -1
  70. package/.next/server/app/api/open/route.js +1 -1
  71. package/.next/server/app/api/plan/annotations/route.js +3 -3
  72. package/.next/server/app/api/plan/approve/route.js +2 -2
  73. package/.next/server/app/api/plan/history/route.js +1 -1
  74. package/.next/server/app/api/plan/markdown/route.js +1 -1
  75. package/.next/server/app/api/plan/presence/route.js +1 -1
  76. package/.next/server/app/api/plan/route.js +1 -1
  77. package/.next/server/app/api/plan/verdict/route.js +1 -1
  78. package/.next/server/app/api/preferences/route.js +1 -1
  79. package/.next/server/app/api/reset/route.js +1 -1
  80. package/.next/server/app/api/stream/route.js +2 -2
  81. package/.next/server/app/api/version/route.js +1 -1
  82. package/.next/server/app/api/workspace/activate/route.js +1 -1
  83. package/.next/server/app/api/workspace/route.js +1 -1
  84. package/.next/server/app/apple-icon.png/route.js +1 -1
  85. package/.next/server/app/docs/page.js +2 -2
  86. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  87. package/.next/server/app/docs.html +1 -1
  88. package/.next/server/app/docs.rsc +2 -2
  89. package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  90. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  91. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  92. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  93. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  94. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  95. package/.next/server/app/feedback/page.js +2 -2
  96. package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/feedback.html +1 -1
  98. package/.next/server/app/feedback.rsc +2 -2
  99. package/.next/server/app/feedback.segments/_full.segment.rsc +2 -2
  100. package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
  101. package/.next/server/app/feedback.segments/_index.segment.rsc +2 -2
  102. package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
  103. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
  104. package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
  105. package/.next/server/app/help/page.js +2 -2
  106. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  107. package/.next/server/app/help.html +1 -1
  108. package/.next/server/app/help.rsc +2 -2
  109. package/.next/server/app/help.segments/_full.segment.rsc +2 -2
  110. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  111. package/.next/server/app/help.segments/_index.segment.rsc +2 -2
  112. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  113. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  114. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  115. package/.next/server/app/icon.svg/route.js +1 -1
  116. package/.next/server/app/index.html +1 -1
  117. package/.next/server/app/index.rsc +2 -2
  118. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  119. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  120. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  121. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  122. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/map/page.js +2 -2
  124. package/.next/server/app/map/page.js.nft.json +1 -1
  125. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  126. package/.next/server/app/page.js +2 -2
  127. package/.next/server/app/page_client-reference-manifest.js +1 -1
  128. package/.next/server/app/plan/page.js +2 -2
  129. package/.next/server/app/plan/page.js.nft.json +1 -1
  130. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/settings/page.js +2 -2
  132. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  133. package/.next/server/app-paths-manifest.json +6 -5
  134. package/.next/server/chunks/249.js +1 -1
  135. package/.next/server/chunks/2877.js +1 -1
  136. package/.next/server/chunks/2933.js +1 -1
  137. package/.next/server/chunks/2981.js +1 -1
  138. package/.next/server/chunks/3221.js +1 -1
  139. package/.next/server/chunks/4378.js +1 -1
  140. package/.next/server/chunks/5258.js +1 -1
  141. package/.next/server/chunks/5934.js +1 -0
  142. package/.next/server/chunks/7373.js +1 -1
  143. package/.next/server/chunks/9127.js +1 -1
  144. package/.next/server/chunks/9213.js +1 -1
  145. package/.next/server/chunks/9313.js +3 -3
  146. package/.next/server/chunks/9683.js +1 -1
  147. package/.next/server/chunks/9734.js +1 -1
  148. package/.next/server/middleware-build-manifest.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/1317-abd6936ef6f7e4d9.js +1 -0
  154. package/.next/static/chunks/app/_global-error/page-4cdc03c65547f289.js +1 -0
  155. package/.next/static/chunks/app/api/board-annotations/[id]/route-4cdc03c65547f289.js +1 -0
  156. package/.next/static/chunks/app/api/board-annotations/route-4cdc03c65547f289.js +1 -0
  157. package/.next/static/chunks/app/api/board-layout/route-4cdc03c65547f289.js +1 -0
  158. package/.next/static/chunks/app/api/bug-flags/[id]/route-4cdc03c65547f289.js +1 -0
  159. package/.next/static/chunks/app/api/bug-flags/route-4cdc03c65547f289.js +1 -0
  160. package/.next/static/chunks/app/api/code-graph/position/route-4cdc03c65547f289.js +1 -0
  161. package/.next/static/chunks/app/api/code-graph/route-4cdc03c65547f289.js +1 -0
  162. package/.next/static/chunks/app/api/context/feature/route-4cdc03c65547f289.js +1 -0
  163. package/.next/static/chunks/app/api/context/file/route-4cdc03c65547f289.js +1 -0
  164. package/.next/static/chunks/app/api/context/route-4cdc03c65547f289.js +1 -0
  165. package/.next/static/chunks/app/api/db/arrange/route-4cdc03c65547f289.js +1 -0
  166. package/.next/static/chunks/app/api/db/backfill-access/route-4cdc03c65547f289.js +1 -0
  167. package/.next/static/chunks/app/api/db/position/route-4cdc03c65547f289.js +1 -0
  168. package/.next/static/chunks/app/api/db/prune-planned/route-4cdc03c65547f289.js +1 -0
  169. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-4cdc03c65547f289.js +1 -0
  170. package/.next/static/chunks/app/api/db/relations/[id]/route-4cdc03c65547f289.js +1 -0
  171. package/.next/static/chunks/app/api/db/tables/[id]/route-4cdc03c65547f289.js +1 -0
  172. package/.next/static/chunks/app/api/draft/approve/route-4cdc03c65547f289.js +1 -0
  173. package/.next/static/chunks/app/api/draft/route-4cdc03c65547f289.js +1 -0
  174. package/.next/static/chunks/app/api/draft/status/route-4cdc03c65547f289.js +1 -0
  175. package/.next/static/chunks/app/api/edges/[id]/route-4cdc03c65547f289.js +1 -0
  176. package/.next/static/chunks/app/api/edges/route-4cdc03c65547f289.js +1 -0
  177. package/.next/static/chunks/app/api/endpoints/[id]/route-4cdc03c65547f289.js +1 -0
  178. package/.next/static/chunks/app/api/entities/route-4cdc03c65547f289.js +1 -0
  179. package/.next/static/chunks/app/api/feedback/[id]/route-4cdc03c65547f289.js +1 -0
  180. package/.next/static/chunks/app/api/feedback/[id]/vote/route-4cdc03c65547f289.js +1 -0
  181. package/.next/static/chunks/app/api/feedback/route-4cdc03c65547f289.js +1 -0
  182. package/.next/static/chunks/app/api/ingest/route-4cdc03c65547f289.js +1 -0
  183. package/.next/static/chunks/app/api/init/route-4cdc03c65547f289.js +1 -0
  184. package/.next/static/chunks/app/api/map/describe/route-4cdc03c65547f289.js +1 -0
  185. package/.next/static/chunks/app/api/map/files/route-4cdc03c65547f289.js +1 -0
  186. package/.next/static/chunks/app/api/map/finish/route-4cdc03c65547f289.js +1 -0
  187. package/.next/static/chunks/app/api/map/route-4cdc03c65547f289.js +1 -0
  188. package/.next/static/chunks/app/api/map/start/route-4cdc03c65547f289.js +1 -0
  189. package/.next/static/chunks/app/api/map/touch-active/route-4cdc03c65547f289.js +1 -0
  190. package/.next/static/chunks/app/api/nodes/[id]/position/route-4cdc03c65547f289.js +1 -0
  191. package/.next/static/chunks/app/api/nodes/[id]/route-4cdc03c65547f289.js +1 -0
  192. package/.next/static/chunks/app/api/nodes/positions/route-4cdc03c65547f289.js +1 -0
  193. package/.next/static/chunks/app/api/nodes/route-4cdc03c65547f289.js +1 -0
  194. package/.next/static/chunks/app/api/nodes/subtasks/route-4cdc03c65547f289.js +1 -0
  195. package/.next/static/chunks/app/api/notes/[id]/route-4cdc03c65547f289.js +1 -0
  196. package/.next/static/chunks/app/api/notes/route-4cdc03c65547f289.js +1 -0
  197. package/.next/static/chunks/app/api/open/route-4cdc03c65547f289.js +1 -0
  198. package/.next/static/chunks/app/api/plan/annotations/route-4cdc03c65547f289.js +1 -0
  199. package/.next/static/chunks/app/api/plan/approve/route-4cdc03c65547f289.js +1 -0
  200. package/.next/static/chunks/app/api/plan/history/route-4cdc03c65547f289.js +1 -0
  201. package/.next/static/chunks/app/api/plan/markdown/route-4cdc03c65547f289.js +1 -0
  202. package/.next/static/chunks/app/api/plan/presence/route-4cdc03c65547f289.js +1 -0
  203. package/.next/static/chunks/app/api/plan/route-4cdc03c65547f289.js +1 -0
  204. package/.next/static/chunks/app/api/plan/verdict/route-4cdc03c65547f289.js +1 -0
  205. package/.next/static/chunks/app/api/preferences/route-4cdc03c65547f289.js +1 -0
  206. package/.next/static/chunks/app/api/reset/route-4cdc03c65547f289.js +1 -0
  207. package/.next/static/chunks/app/api/stream/route-4cdc03c65547f289.js +1 -0
  208. package/.next/static/chunks/app/api/version/route-4cdc03c65547f289.js +1 -0
  209. package/.next/static/chunks/app/api/workspace/activate/route-4cdc03c65547f289.js +1 -0
  210. package/.next/static/chunks/app/api/workspace/route-4cdc03c65547f289.js +1 -0
  211. package/.next/static/chunks/app/map/{page-2cac4ffa4e4220c2.js → page-bd17b84e1aebd827.js} +1 -1
  212. package/.next/static/chunks/app/plan/page-f52b1b0bc8037bc0.js +1 -0
  213. package/.next/static/chunks/next/dist/client/components/builtin/app-error-4cdc03c65547f289.js +1 -0
  214. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-4cdc03c65547f289.js +1 -0
  215. package/.next/static/chunks/next/dist/client/components/builtin/not-found-4cdc03c65547f289.js +1 -0
  216. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-4cdc03c65547f289.js +1 -0
  217. package/.next/static/css/cbb14bbfa47152fd.css +1 -0
  218. package/.next/static/nIOWlnJIVXwqjfj2Fpn44/_buildManifest.js +1 -0
  219. package/.next/trace +37 -37
  220. package/.next/trace-build +1 -1
  221. package/.next/types/app/api/db/prune-planned/route.ts +351 -0
  222. package/.next/types/routes.d.ts +2 -1
  223. package/.next/types/validator.ts +9 -0
  224. package/dist/bin/doctor.js +1 -1
  225. package/dist/bin/hook.js +4 -4
  226. package/dist/bin/mcp.js +1 -1
  227. package/dist/bin/plan.js +1 -1
  228. package/dist/bin/remove.js +6 -6
  229. package/dist/bin/uninstall.js +1 -1
  230. package/dist/lib/workspaces.js +1 -1
  231. package/drizzle/0005_graceful_adam_warlock.sql +3 -0
  232. package/drizzle/meta/0005_snapshot.json +1751 -0
  233. package/drizzle/meta/_journal.json +7 -0
  234. package/package.json +1 -1
  235. package/.next/server/chunks/617.js +0 -1
  236. package/.next/static/MYvJ_ebinIGa9MP5kWFaY/_buildManifest.js +0 -1
  237. package/.next/static/chunks/6773-89cca3b011769270.js +0 -1
  238. package/.next/static/chunks/app/_global-error/page-8fa95c63b95bf9c3.js +0 -1
  239. package/.next/static/chunks/app/api/board-annotations/[id]/route-8fa95c63b95bf9c3.js +0 -1
  240. package/.next/static/chunks/app/api/board-annotations/route-8fa95c63b95bf9c3.js +0 -1
  241. package/.next/static/chunks/app/api/board-layout/route-8fa95c63b95bf9c3.js +0 -1
  242. package/.next/static/chunks/app/api/bug-flags/[id]/route-8fa95c63b95bf9c3.js +0 -1
  243. package/.next/static/chunks/app/api/bug-flags/route-8fa95c63b95bf9c3.js +0 -1
  244. package/.next/static/chunks/app/api/code-graph/position/route-8fa95c63b95bf9c3.js +0 -1
  245. package/.next/static/chunks/app/api/code-graph/route-8fa95c63b95bf9c3.js +0 -1
  246. package/.next/static/chunks/app/api/context/feature/route-8fa95c63b95bf9c3.js +0 -1
  247. package/.next/static/chunks/app/api/context/file/route-8fa95c63b95bf9c3.js +0 -1
  248. package/.next/static/chunks/app/api/context/route-8fa95c63b95bf9c3.js +0 -1
  249. package/.next/static/chunks/app/api/db/arrange/route-8fa95c63b95bf9c3.js +0 -1
  250. package/.next/static/chunks/app/api/db/backfill-access/route-8fa95c63b95bf9c3.js +0 -1
  251. package/.next/static/chunks/app/api/db/position/route-8fa95c63b95bf9c3.js +0 -1
  252. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-8fa95c63b95bf9c3.js +0 -1
  253. package/.next/static/chunks/app/api/db/relations/[id]/route-8fa95c63b95bf9c3.js +0 -1
  254. package/.next/static/chunks/app/api/db/tables/[id]/route-8fa95c63b95bf9c3.js +0 -1
  255. package/.next/static/chunks/app/api/draft/approve/route-8fa95c63b95bf9c3.js +0 -1
  256. package/.next/static/chunks/app/api/draft/route-8fa95c63b95bf9c3.js +0 -1
  257. package/.next/static/chunks/app/api/draft/status/route-8fa95c63b95bf9c3.js +0 -1
  258. package/.next/static/chunks/app/api/edges/[id]/route-8fa95c63b95bf9c3.js +0 -1
  259. package/.next/static/chunks/app/api/edges/route-8fa95c63b95bf9c3.js +0 -1
  260. package/.next/static/chunks/app/api/endpoints/[id]/route-8fa95c63b95bf9c3.js +0 -1
  261. package/.next/static/chunks/app/api/entities/route-8fa95c63b95bf9c3.js +0 -1
  262. package/.next/static/chunks/app/api/feedback/[id]/route-8fa95c63b95bf9c3.js +0 -1
  263. package/.next/static/chunks/app/api/feedback/[id]/vote/route-8fa95c63b95bf9c3.js +0 -1
  264. package/.next/static/chunks/app/api/feedback/route-8fa95c63b95bf9c3.js +0 -1
  265. package/.next/static/chunks/app/api/ingest/route-8fa95c63b95bf9c3.js +0 -1
  266. package/.next/static/chunks/app/api/init/route-8fa95c63b95bf9c3.js +0 -1
  267. package/.next/static/chunks/app/api/map/describe/route-8fa95c63b95bf9c3.js +0 -1
  268. package/.next/static/chunks/app/api/map/files/route-8fa95c63b95bf9c3.js +0 -1
  269. package/.next/static/chunks/app/api/map/finish/route-8fa95c63b95bf9c3.js +0 -1
  270. package/.next/static/chunks/app/api/map/route-8fa95c63b95bf9c3.js +0 -1
  271. package/.next/static/chunks/app/api/map/start/route-8fa95c63b95bf9c3.js +0 -1
  272. package/.next/static/chunks/app/api/map/touch-active/route-8fa95c63b95bf9c3.js +0 -1
  273. package/.next/static/chunks/app/api/nodes/[id]/position/route-8fa95c63b95bf9c3.js +0 -1
  274. package/.next/static/chunks/app/api/nodes/[id]/route-8fa95c63b95bf9c3.js +0 -1
  275. package/.next/static/chunks/app/api/nodes/positions/route-8fa95c63b95bf9c3.js +0 -1
  276. package/.next/static/chunks/app/api/nodes/route-8fa95c63b95bf9c3.js +0 -1
  277. package/.next/static/chunks/app/api/nodes/subtasks/route-8fa95c63b95bf9c3.js +0 -1
  278. package/.next/static/chunks/app/api/notes/[id]/route-8fa95c63b95bf9c3.js +0 -1
  279. package/.next/static/chunks/app/api/notes/route-8fa95c63b95bf9c3.js +0 -1
  280. package/.next/static/chunks/app/api/open/route-8fa95c63b95bf9c3.js +0 -1
  281. package/.next/static/chunks/app/api/plan/annotations/route-8fa95c63b95bf9c3.js +0 -1
  282. package/.next/static/chunks/app/api/plan/approve/route-8fa95c63b95bf9c3.js +0 -1
  283. package/.next/static/chunks/app/api/plan/history/route-8fa95c63b95bf9c3.js +0 -1
  284. package/.next/static/chunks/app/api/plan/markdown/route-8fa95c63b95bf9c3.js +0 -1
  285. package/.next/static/chunks/app/api/plan/presence/route-8fa95c63b95bf9c3.js +0 -1
  286. package/.next/static/chunks/app/api/plan/route-8fa95c63b95bf9c3.js +0 -1
  287. package/.next/static/chunks/app/api/plan/verdict/route-8fa95c63b95bf9c3.js +0 -1
  288. package/.next/static/chunks/app/api/preferences/route-8fa95c63b95bf9c3.js +0 -1
  289. package/.next/static/chunks/app/api/reset/route-8fa95c63b95bf9c3.js +0 -1
  290. package/.next/static/chunks/app/api/stream/route-8fa95c63b95bf9c3.js +0 -1
  291. package/.next/static/chunks/app/api/version/route-8fa95c63b95bf9c3.js +0 -1
  292. package/.next/static/chunks/app/api/workspace/activate/route-8fa95c63b95bf9c3.js +0 -1
  293. package/.next/static/chunks/app/api/workspace/route-8fa95c63b95bf9c3.js +0 -1
  294. package/.next/static/chunks/app/plan/page-8a9ed9019afac5ca.js +0 -1
  295. package/.next/static/chunks/next/dist/client/components/builtin/app-error-8fa95c63b95bf9c3.js +0 -1
  296. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-8fa95c63b95bf9c3.js +0 -1
  297. package/.next/static/chunks/next/dist/client/components/builtin/not-found-8fa95c63b95bf9c3.js +0 -1
  298. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8fa95c63b95bf9c3.js +0 -1
  299. package/.next/static/css/30e69a9d2de6ece7.css +0 -1
  300. /package/.next/static/{MYvJ_ebinIGa9MP5kWFaY → nIOWlnJIVXwqjfj2Fpn44}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=2933,exports.ids=[2933],exports.modules={4245:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{i:()=>g});var e=c(74378),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},7185:(a,b,c)=>{c.d(b,{Q2:()=>J});var d=c(73024),e=c(51455),f=c(76760);let g=[".ts",".tsx",".js",".jsx",".mjs",".cjs"],h=[/(?:^|[\n;])\s*(?:import|export)[^'"`\n]{0,4000}?from\s*['"]([^'"`]+)['"]/g,/(?:^|[\n;])\s*import\s*['"]([^'"`]+)['"]/g,/\brequire\(\s*['"]([^'"`]+)['"]\s*\)/g,/\bimport\(\s*['"]([^'"`]+)['"]\s*\)/g];function i(a,b){if(b.has(a))return a;for(let c of g){let d=`${a}${c}`;if(b.has(d))return d}for(let c of g){let d=`${a}/index${c}`;if(b.has(d))return d}return null}function j(a,b){for(let c of[`${a}.py`,`${a}/__init__.py`,`${a}.pyi`])if(b.has(c))return[c];return[]}let k=/(?:^|[\n;])\s*import\s+(?:[\w.]+\s+)?"([^"]+)"/g,l=/(?:^|[\n;])\s*import\s*\(([\s\S]*?)\)/g,m=/"([^"]+)"/g,n=/(?:^|[\n;])\s*(?:pub\s+)?mod\s+(\w+)\s*;/g,o=/(?:^|[\n;])\s*(?:pub\s+)?use\s+([\w:]+)/g;function p(a,b){for(let c of[`${a}.rs`,`${a}/mod.rs`])if(b.has(c))return[c];return[]}let q=new Set(["mod.rs","lib.rs","main.rs"]),r=[".swift",".java",".rb",".kt",".kts",".cs",".php",".scala",".c",".h",".cpp",".hpp",".cc",".hh",".m",".mm",".ex",".exs",".lua",".dart",".vue",".svelte"],s=[/\b(?:require_relative|require|include|import|use|using|from)\s*\(?\s*['"]([^'"`\n]+)['"]/g,/(?:^|[\n;])\s*import\s+([\w.]+)/g,/(?:^|[\n;])\s*from\s+([\w.]+)\s+import\b/g,/(?:^|[\n;])\s*using\s+([\w.]+)\s*;/g,/(?:^|[\n;])\s*use\s+([\w\\]+)/g,/#\s*include\s*[<"]([^>"\n]+)[>"]/g],t=[{id:"ts",extensions:g,specifiers:function(a){let b=new Set;for(let c of h)for(let d of a.matchAll(c))b.add(d[1]);return b},resolve(a,b,c){let d=function(a,b,c,d){if(a.startsWith("."))return i((0,f.resolve)("/",(0,f.dirname)(b),a).split(/[\\/]/).join("/").replace(/^\//,""),c);for(let b of d)if(a.startsWith(b.from)){let d=a.slice(b.from.length),e=i(b.to?`${b.to}/${d}`:d,c);if(e)return e}return null}(a,b,c.fileSet,c.tsAliases??[]);return d?[d]:[]}},{id:"python",extensions:[".py",".pyi"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(/(?:^|[\n;])\s*from\s+(\.*[\w.]*)\s+import\b/g)){let a=c[1].trim();a&&b.add(a)}for(let c of a.matchAll(/(?:^|[\n;])\s*import\s+([\w.]+(?:\s*,\s*[\w.]+)*)/g))for(let a of c[1].split(/\s*,\s*/)){let c=a.trim().split(/\s+as\s+/)[0].trim();c&&b.add(c)}return b},resolve(a,b,c){if(a.startsWith(".")){let d=a.length-a.replace(/^\.+/,"").length,e=a.slice(d),g=(0,f.dirname)(b);for(let a=1;a<d;a++)g=(0,f.dirname)(g);let h=e?(0,f.join)(g,e.replace(/\./g,"/")):g;return j((0,f.normalize)(h).replace(/\\/g,"/"),c.fileSet)}return j(a.replace(/\./g,"/"),c.fileSet)}},{id:"go",extensions:[".go"],resolve(a,b,c){let d=c.goModulePath;if(!d)return[];let e=null;if(a===d?e="":a.startsWith(`${d}/`)&&(e=a.slice(d.length+1)),null===e)return[];let g=[];for(let a of c.fileSet){if(!a.endsWith(".go"))continue;let b=(0,f.dirname)(a);(""===e&&"."===b||b===e)&&g.push(a)}return g.sort()},specifiers:function(a){let b=new Set;for(let c of a.matchAll(k))b.add(c[1]);for(let c of a.matchAll(l))for(let a of c[1].matchAll(m))b.add(a[1]);return b}},{id:"rust",extensions:[".rs"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(n))b.add(`./${c[1]}`);for(let c of a.matchAll(o)){let a=function(a){let b=a.split("::").filter(a=>a&&"*"!==a);return b.length?"crate"===b[0]?["crate",...b.slice(1)].join("/"):"super"===b[0]?["..",...b.slice(1)].join("/"):"self"===b[0]?[".",...b.slice(1)].join("/"):b.join("/"):""}(c[1]);a&&b.add(a)}return b},resolve(a,b,c){let d=c.fileSet;if(a.startsWith("./")||a.startsWith("../")){let c=a.replace(/^\.\//,""),e=p((0,f.normalize)((0,f.join)((0,f.dirname)(b),a)).replace(/\\/g,"/"),d);if(e.length)return e;if(a.startsWith("./")&&!q.has((0,f.basename)(b))){let a=(0,f.join)((0,f.dirname)(b),(0,f.basename)(b,".rs"),c);if((e=p((0,f.normalize)(a).replace(/\\/g,"/"),d)).length)return e}return[]}if(a.startsWith("crate/")){let c=b.split("/"),e=c.lastIndexOf("src"),g=e>=0?c.slice(0,e+1).join("/"):(0,f.dirname)(b),h=a.slice(6).split("/");for(let a of[h.join("/"),h.slice(0,-1).join("/")]){if(!a)continue;let b=p(`${g}/${a}`,d);if(b.length)return b}}return[]}},{id:"fallback",extensions:r,specifiers:function(a){let b=new Set;for(let c of s)for(let d of a.matchAll(c)){let a=d[1].trim();a&&b.add(a)}return b},resolve(a,b,c){let d=[(0,f.extname)(b).toLowerCase(),...r].filter((a,b,c)=>a&&c.indexOf(a)===b),e=a.includes("/")||a.includes("\\"),g=a.startsWith(".")||e?a.replace(/\\/g,"/"):a.replace(/[.:]+/g,"/");for(let a of[(0,f.normalize)((0,f.join)((0,f.dirname)(b),g)).replace(/\\/g,"/"),g.replace(/^\.\//,"")]){if(c.fileSet.has(a))return[a];for(let b of d){let d=a.endsWith(b)?a:`${a}${b}`;if(c.fileSet.has(d))return[d];if(c.fileSet.has(`${a}/index${b}`))return[`${a}/index${b}`]}}return[]}}],u=new Map;for(let a of t)for(let b of a.extensions)u.set(b,a);let v={".ts":"ts",".tsx":"ts",".js":"js",".jsx":"js",".mjs":"js",".cjs":"js",".py":"py",".pyi":"py",".go":"go",".rs":"rs",".swift":"swift",".java":"java",".rb":"ruby",".kt":"kotlin",".kts":"kotlin",".cs":"csharp",".php":"php",".scala":"scala",".c":"c",".h":"c",".cpp":"cpp",".hpp":"cpp",".cc":"cpp",".hh":"cpp",".m":"objc",".mm":"objc",".ex":"elixir",".exs":"elixir",".lua":"lua",".dart":"dart",".vue":"vue",".svelte":"svelte"};function w(a){return u.get((0,f.extname)(a).toLowerCase())??null}function x(){return new Set(u.keys())}let y=new Set(["node_modules",".git",".next","dist","build","__pycache__","target",".venv","venv","env",".turbo","coverage",".beacon",".playwright-mcp","generated"]),z=()=>Promise.resolve();async function A(a,b,c,d,g){let h;try{h=await (0,e.readdir)(b,{withFileTypes:!0})}catch{return}for(let e of h){if(e.name.startsWith(".")||y.has(e.name))continue;let h=(0,f.join)(b,e.name);if(e.isDirectory()){await A(a,h,c,d,g);continue}!(!e.isFile()||e.name.endsWith(".d.ts"))&&c.has((0,f.extname)(e.name).toLowerCase())&&d.push((0,f.relative)(a,h))}await g()}async function B(a,b=z){let c=[];return await A(a,a,x(),c,b),c.map(a=>a.split(/[\\/]/).join("/")).sort()}function C(a){return a.replace(/^\.\/?/,"").replace(/\/$/,"")}function D(a){let b,c=(0,f.join)(a,"tsconfig.json");if(!(0,d.existsSync)(c))return[];try{b=function(a){try{return JSON.parse(a)}catch{}return JSON.parse(a.replace(/\/\*[^"]*?\*\//g,"").replace(/(^|[^:"])\/\/.*$/gm,"$1").replace(/,\s*([}\]])/g,"$1"))}((0,d.readFileSync)(c,"utf8"))}catch{return[]}let e=b.compilerOptions?.paths??{},g=C(b.compilerOptions?.baseUrl??"."),h=[];for(let[a,b]of Object.entries(e)){if(!a.endsWith("/*")||!b.length)continue;let c=b[0];if(!c.endsWith("/*"))continue;let d=a.slice(0,-1),e=[g,C(c.slice(0,-1))].filter(Boolean).join("/");h.push({from:d,to:e})}return h}function E(a){let b=(0,f.join)(a,"go.mod");if(!(0,d.existsSync)(b))return null;try{let a=/^\s*module\s+(\S+)/m.exec((0,d.readFileSync)(b,"utf8"));return a?a[1]:null}catch{return null}}function F(a){return a.split(/[\\/]/).join("/")}function G(a){if(1===a.length)return a[0];let b=a.map(a=>F(a).split("/")),c=b[0],d=0;for(;d<c.length&&b.every(a=>a[d]===c[d]);d++);return c.slice(0,d).join("/")||"/"}async function H(a,b,c){let d=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),g=F(b?(0,f.resolve)(b):1===d.length?d[0]:G(d)),h=new Map,i=[];for(let a of d){let b=F((0,f.relative)(g,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")});for(let d of(await B(a,c))){let i=F((0,f.join)(a,d)),j=F((0,f.relative)(g,i));if(!h.has(j)){try{let a=await (0,e.stat)(i);h.set(j,{path:j,abs:i,root:b||null,mtimeMs:a.mtimeMs,size:a.size})}catch{}await c()}}}let j=d.map(E).find(Boolean)??E(g);return{metas:[...h.values()].sort((a,b)=>a.path.localeCompare(b.path)),ctx:{fileSet:new Set(h.keys()),tsAliases:i,goModulePath:j}}}async function I(a){let b=w(a.path);if(!b||a.size>2e5)return new Set;try{let c=await (0,e.readFile)(a.abs,"utf8");if(function(a){let b=0;for(let c=0;c<a.length;c++)if(10===a.charCodeAt(c)){if(c-b>5e4)return!0;b=c+1}return a.length-b>5e4}(c))return new Set;return b.specifiers(c)}catch{return new Set}}function J(a,b){let c=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),d=F(b?(0,f.resolve)(b):1===c.length?c[0]:G(c)),g=new Map,h=new Map,i=[],j=null;function k(){let a={fileSet:new Set(g.keys()),tsAliases:i,goModulePath:j},b=[...g.values()].sort((a,b)=>a.path.localeCompare(b.path)),c=[];for(let d of b){let b=w(d.path);if(!b)continue;let e=h.get(d.path)??new Set,f=new Set;for(let g of e)for(let e of b.resolve(g,d.path,a))!e||e===d.path||f.has(e)||(f.add(e),c.push({from:d.path,to:e}))}return{files:b.map(a=>{var b;let c;return{path:a.path,lang:(b=a.path,c=(0,f.extname)(b).toLowerCase(),u.has(c)?v[c]??c.slice(1):null),root:a.root,mtimeMs:a.mtimeMs,size:a.size}}),edges:c}}return{seed:async function(){let c=function(a=5){let b=performance.now();return async()=>{performance.now()-b>a&&(await new Promise(a=>setImmediate(a)),b=performance.now())}}(),{metas:d,ctx:e}=await H(a,b,c);for(let a of(g.clear(),h.clear(),d))await c(),g.set(a.path,a),h.set(a.path,await I(a));return i=e.tsAliases??[],j=e.goModulePath??null,k()},applyChange:async function(a){let b,k=F((0,f.resolve)(a));if(!c.some(a=>k===a||k.startsWith(`${a}/`)))return!1;let l=k.split("/").pop()??"";if("tsconfig.json"===l||"go.mod"===l){let a=k.slice(0,k.length-l.length-1);if(c.includes(a)){for(let a of(i=[],c)){let b=F((0,f.relative)(d,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")})}return j=c.map(E).find(Boolean)??E(d),!0}return!1}let m=function(a){let b=F((0,f.resolve)(a));for(let a of c)if(b===a||b.startsWith(`${a}/`)){if(function(a){let b=a.split("/");for(let a=0;a<b.length;a++){let c=b[a];if(!c||c.startsWith(".")||a<b.length-1&&y.has(c))return!0}let c=b[b.length-1];return!!c.endsWith(".d.ts")||!x().has((0,f.extname)(c).toLowerCase())}(b.slice(a.length).replace(/^\/+/,"")))return null;return{path:F((0,f.relative)(d,b)),root:F((0,f.relative)(d,a))||null}}return null}(a);if(!m)return!1;try{b=await (0,e.stat)(k)}catch{let a=g.delete(m.path);return h.delete(m.path),a}let n=g.get(m.path);if(n&&n.mtimeMs===b.mtimeMs&&n.size===b.size)return!1;let o={path:m.path,abs:k,root:m.root,mtimeMs:b.mtimeMs,size:b.size};return g.set(m.path,o),h.set(m.path,await I(o)),!0},snapshot:k}}},15002:(a,b,c)=>{c(73024),c(76760),c(31421),c(77598),c(48161),c(60455)},24302:(a,b,c)=>{c.d(b,{I:()=>h,r:()=>g});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i;function g(a){return!!(a.endsWith(".prisma")||d.test(a))||e.test(a)&&f.test(a)}function h(a,b=300){return a.filter(g).slice(0,b)}},28019:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>l,kq:()=>j,mn:()=>e,uQ:()=>k});let d=320;function e(a){return 36+30*Math.max(0,a)+16}let f=2560,g=a=>(a??"").trim()||"—";function h(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let i=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function j(a,b){let c=h(a,b),j=new Map,k=[];for(let a of[...b].sort(i)){let b=c.get(a.id)??null;if(b){let c=j.get(b);c?c.push(a):j.set(b,[a])}else k.push(a)}let l=a=>{let b=j.get(a.id)?.length??0;return e(a.columnCount)+(b?14+60*b:0)+50},m=Array.from(new Set(a.map(a=>g(a.domain)))),n=m.filter(a=>"—"!==a).sort(),o=m.includes("—")?[...n,"—"]:n,p=new Map,q=new Map,r=0,s=0,t=0,u=0;for(let b of o){let c=a.filter(a=>g(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),h=c.reduce((a,b)=>a+l(b),0),i=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(1.9*h/d)))),k=i*d;r>0&&r+k>f&&(s+=t+170,r=0,t=0);let m=Array(i).fill(0);for(let a of c){let b=0;for(let a=1;a<i;a++)m[a]<m[b]&&(b=a);let c=r+b*d,f=s+m[b];p.set(a.id,{x:c,y:f}),(j.get(a.id)??[]).forEach((b,d)=>{q.set(b.id,{x:c,y:f+e(a.columnCount)+14+60*d})}),m[b]+=l(a)}let n=Math.max(...m,0);t=Math.max(t,n),u=Math.max(u,s+n),r+=k+120}if(k.length){let a=u+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(k.length/2))));k.forEach((c,d)=>{q.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:p,endpoints:q}}function k(a,b,c){let f=h(b,c),i=new Map;for(let a of c){let b=f.get(a.id);b&&i.set(b,(i.get(b)??0)+1)}let j=a=>{let b=i.get(a.id)??0;return a.y+e(a.columnCount)+(b?14+60*b:0)},k=g(a.domain),l=b.filter(a=>g(a.domain)===k);if(!l.length){let a=b.length?Math.max(...b.map(j),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let m=Math.min(...l.map(a=>a.x)),n=l.map(a=>Math.max(0,Math.round((a.x-m)/d))),o=Math.min(12,Math.max(...n)+1),p=Array(o).fill(Math.min(...l.map(a=>a.y)));l.forEach((a,b)=>{let c=Math.min(n[b],o-1);p[c]=Math.max(p[c],j(a)+50)});let q=0;for(let a=1;a<o;a++)p[a]<p[q]&&(q=a);return{x:m+q*d,y:p[q]}}function l(a,b,c){let d=h(b,[...c,a]),f=d.get(a.id),g=f?b.find(a=>a.id===f):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+e(g.columnCount)+14,f=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:f}}let i=[...b.map(a=>a.y+e(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:i.length?Math.max(...i)+170:0}}},32933:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{startWorkspaceWatchers:()=>i});var e=c(73024),f=c(60455),g=c(98919),h=a([g]);g=(h.then?(await h)():h)[0];let j=function(a){let b=a.limit??6,c=a.hardCap??12,d=new Map,e=0,f=new Set;function g(a){let b=d.get(a);b&&(b.seq=++e)}async function h(a){let b=d.get(a);b&&(d.delete(a),await b.handle.stop())}async function i(){await Promise.all([...d.values()].map(a=>a.handle.stop())),d.clear()}return{reconcile:function(){let c=a.list().filter(b=>a.exists(b.path)).slice(0,b);for(let b of(f=new Set(c.map(a=>a.id)),c))!function(b){if(d.has(b.id))return g(b.id);a.exists(b.path)&&d.set(b.id,{handle:a.start(b),seq:++e})}(b);for(let[b,c]of[...d]){let e=a.get(b);e&&a.exists(e.path)||(c.handle.stop(),d.delete(b))}},ensureWatcher:function(b){if(d.has(b))return g(b);let h=a.get(b);h&&a.exists(h.path)&&(d.size>=c&&function(){let a=null,b=1/0;for(let[c,e]of d)!f.has(c)&&e.seq<b&&(b=e.seq,a=c);a&&(d.get(a).handle.stop(),d.delete(a))}(),d.size>=c||d.set(b,{handle:a.start(h),seq:++e}))},stopWatcher:h,isWatching:function(a){return d.has(a)},activeIds:function(){return[...d.keys()]},stopAll:i}}({list:f.FF,get:f.K4,exists:e.existsSync,start:a=>(0,g.F)(a)}),k=null;function i(){"1"!==process.env.BEACON_NO_INLINE_WATCH&&(j.reconcile(),k||(k=setInterval(()=>j.reconcile(),3e4),k.unref?.()))}d()}catch(a){d(a)}})},52729:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,cL:()=>l});var e=c(96904),f=c(12839),g=c(74378),h=c(99121),i=c(62313),j=a([g,i]);[g,i]=j.then?(await j)():j;let o=e.Ik({files:e.YO(e.Ik({path:e.Yj().trim().min(1),root:e.Yj().nullish(),lang:e.Yj().nullish(),mtimeMs:e.ai().nullish(),size:e.ai().nullish()})).default([]),edges:e.YO(e.Ik({from:e.Yj().trim().min(1),to:e.Yj().trim().min(1)})).default([])});function k(a,b){let c=new Map;for(let b of a)c.set(b,[]);for(let a of b)c.get(a.from)?.push(a.to);let d=new Map,e=new Map,f=new Set,g=[],h=new Map,i=[],j=0,k=0;for(let b of a){if(d.has(b))continue;let a=[{v:b,iter:0}];for(d.set(b,j),e.set(b,j),j++,g.push(b),f.add(b);a.length;){let b=a[a.length-1],l=c.get(b.v)??[];if(b.iter<l.length){let c=l[b.iter++];d.has(c)?f.has(c)&&e.set(b.v,Math.min(e.get(b.v),d.get(c))):(d.set(c,j),e.set(c,j),j++,g.push(c),f.add(c),a.push({v:c,iter:0}))}else{if(e.get(b.v)===d.get(b.v)){let a,c=0;do a=g.pop(),f.delete(a),h.set(a,k),c++;while(a!==b.v);i.push(c),k++}a.pop();let c=a[a.length-1];c&&e.set(c.v,Math.min(e.get(c.v),e.get(b.v)))}}}let l=new Set;for(let a of b){let b=h.get(a.from);void 0!==b&&b===h.get(a.to)&&i[b]>1&&l.add(`${a.from}|${a.to}`)}return l}async function l(a,b=g.db){let c=o.parse(a),d=c.files.map(a=>a.path),e=new Set(d),j=c.edges.filter(a=>e.has(a.from)&&e.has(a.to)&&a.from!==a.to),m=k(d,j),n=new Map,p=new Map;for(let a of j)p.set(a.from,(p.get(a.from)??0)+1),n.set(a.to,(n.get(a.to)??0)+1);for(let a of(await b.delete(h.codeFile).where((0,f.KL)(h.codeFile.path,d)),c.files)){let c={root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:n.get(a.path)??0,outDegree:p.get(a.path)??0};await b.insert(h.codeFile).values({path:a.path,...c}).onConflictDoUpdate({target:h.codeFile.path,set:c})}await b.delete(h.codeFileEdge);let q=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&q++,{fromPath:a.from,toPath:a.to,circular:b}}));let r=await (0,i.Bx)(b);return await b.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton")),{files:c.files.length,edges:j.length,circular:q,version:r}}let p=(a,b)=>`${a}\0${b}`;function m(a){let b=o.parse(a),c=b.files.map(a=>a.path),d=new Set(c),e=b.edges.filter(a=>d.has(a.from)&&d.has(a.to)&&a.from!==a.to),f=k(c,e),g=new Map,h=new Map;for(let a of e)h.set(a.from,(h.get(a.from)??0)+1),g.set(a.to,(g.get(a.to)??0)+1);let i=new Map;for(let a of b.files)i.set(a.path,{root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:g.get(a.path)??0,outDegree:h.get(a.path)??0});let j=new Map;for(let a of e)j.set(p(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let q=(a,b)=>a.root===b.root&&a.lang===b.lang&&a.mtimeMs===b.mtimeMs&&a.size===b.size&&a.inDegree===b.inDegree&&a.outDegree===b.outDegree;async function n(a,b,c=g.db){for(let[d,e]of b.files){let b=a.files.get(d);if(b&&q(b,e))continue;let f={root:e.root,lang:e.lang,mtimeMs:e.mtimeMs,size:e.size,inDegree:e.inDegree,outDegree:e.outDegree};await c.insert(h.codeFile).values({path:d,...f}).onConflictDoUpdate({target:h.codeFile.path,set:f})}let d=[...a.files.keys()].filter(a=>!b.files.has(a));for(let[e,g]of(d.length&&await c.delete(h.codeFile).where((0,f.RV)(h.codeFile.path,d)),a.edges))b.edges.has(e)||await c.delete(h.codeFileEdge).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to)));let e=[];for(let[d,g]of b.edges){let b=a.edges.get(d);b?b.circular!==g.circular&&await c.update(h.codeFileEdge).set({circular:g.circular}).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to))):e.push({fromPath:g.from,toPath:g.to,circular:g.circular})}e.length&&await c.insert(h.codeFileEdge).values(e);let j=await (0,i.Bx)(c);await c.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton"));let k=0;for(let a of b.edges.values())a.circular&&k++;return{files:b.files.size,edges:b.edges.size,circular:k,version:j}}d()}catch(a){d(a)}})},57074:(a,b,c)=>{c.d(b,{v4:()=>e});var d=c(28019);function e(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},59314:(a,b,c)=>{c.d(b,{$:()=>e});let d=["GET","POST","PUT","PATCH","DELETE"];function e(a){let b=[];for(let c of a){let a=function(a){let b=a.match(/(?:^|\/)app\/(.+)\/route\.(?:ts|tsx|js|jsx|mjs)$/);if(!b)return null;let c=b[1].split("/").filter(a=>!(a.startsWith("(")&&a.endsWith(")"))).map(a=>{let b=a.match(/^\[{1,2}(?:\.\.\.)?([^\]]+)\]{1,2}$/);return b?`{${b[1]}}`:a});return"api"!==c[0]?null:`/${c.join("/")}`}(c.path);if(a)for(let e of d)RegExp(`export\\s+(?:async\\s+)?(?:function|const)\\s+${e}\\b`).test(c.content)&&b.push({method:e,path:a,uses:[],file:c.path})}return b.sort((a,b)=>`${a.path} ${a.method}`.localeCompare(`${b.path} ${b.method}`))}},61926:(a,b,c)=>{function d(a,b){let c=0;for(let d=b;d<a.length;d++)if("("===a[d])c++;else if(")"===a[d]&&0==--c)return a.slice(b+1,d);return""}function e(a){let b=function(a){let b=[],c=/(\w+)\s*:\s*(text|integer|real|blob|numeric|varchar|boolean|timestamp|serial|uuid|json|jsonb)\s*\(/g;for(let e of a){let a;if(!/\.(ts|tsx|mts|cts)$/.test(e.path)||!/\b(?:sqliteTable|pgTable|mysqlTable)\s*\(/.test(e.content))continue;let f=/(?:export\s+)?const\s+(\w+)\s*=\s*(?:sqliteTable|pgTable|mysqlTable)\s*\(\s*["']([^"']+)["']\s*,/g;for(;a=f.exec(e.content);){let f=e.content.indexOf("{",a.index+a[0].length);if(f<0)continue;let g=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("{"===a[d])c++;else if("}"===a[d]&&0==--c)return a.slice(b+1,d);return""}(e.content,f),h={varName:a[1],tableName:a[2],columns:[],colByProp:new Map,fks:[]},i=[];for(let a of(c.lastIndex=0,g.matchAll(c)))i.push({prop:a[1],builder:a[2],at:a.index,argOpen:a.index+a[0].length-1});i.forEach((a,b)=>{var c;let e=g.slice(a.at,i[b+1]?.at??g.length),f=d(g,a.argOpen),j=f.match(/^\s*["']([^"']+)["']/)?.[1]??a.prop,k=e.match(/\.references\(\s*\(\)\s*=>\s*(\w+)\.(\w+)/);h.columns.push({name:j,type:(c=a.builder,/mode:\s*["']timestamp/.test(f)?"timestamp":/mode:\s*["']boolean["']/.test(f)?"boolean":/mode:\s*["']json["']/.test(f)?"jsonb":c),isPk:/\.primaryKey\(\)/.test(e)||void 0,isFk:!!k||void 0,nullable:!/\.notNull\(\)/.test(e)}),h.colByProp.set(a.prop,j),k&&h.fks.push({column:j,toVar:k[1],toProp:k[2]})}),b.push(h)}}if(!b.length)return{tables:[],relations:[]};let e=new Map(b.map(a=>[a.varName,a])),f=[];for(let a of b)for(let b of a.fks){let c=e.get(b.toVar);c&&f.push({fromTable:a.tableName,fromColumn:b.column,toTable:c.tableName,toColumn:c.colByProp.get(b.toProp)??b.toProp})}return{tables:b.map(a=>({name:a.tableName,columns:a.columns})),relations:f,tableVars:Object.fromEntries(b.map(a=>[a.varName,a.tableName]))}}(a);if(b.tables.length)return b;let c=function(a){let b=[],c=[];for(let d of a){let a;if(!d.path.endsWith(".prisma"))continue;let e=/model\s+(\w+)\s*\{([\s\S]*?)\}/g;for(;a=e.exec(d.content);){let d=a[1],e=a[2].match(/@@map\(\s*["']([^"']+)["']\s*\)/)?.[1]??d,f=[];for(let b of a[2].split("\n")){let a=b.trim().match(/^(\w+)\s+(\w+(?:\[\])?\??)\s*(.*)$/);if(!a||/^@@/.test(b.trim()))continue;let[,d,g,h]=a,i=/^(String|Int|BigInt|Float|Decimal|Boolean|DateTime|Json|Bytes)(\[\])?\??$/.test(g),j=h.match(/@relation\([^)]*fields:\s*\[(\w+)\][^)]*references:\s*\[(\w+)\]/);j&&c.push({fromTable:e,fromColumn:j[1],toTable:g.replace(/[?[\]]/g,""),toColumn:j[2]}),i&&f.push({name:d,type:function(a){let b=a.replace(/[?[\]]/g,"");return({String:"text",Int:"integer",BigInt:"bigint",Float:"float",Decimal:"numeric",Boolean:"boolean",DateTime:"timestamptz",Json:"jsonb",Bytes:"bytea"})[b]??b.toLowerCase()}(g),isPk:/@id\b/.test(h)||void 0,isFk:/@relation\b/.test(h)||void 0,nullable:g.endsWith("?")})}f.length&&b.push({name:e,columns:f})}}return{tables:b,relations:c}}(a);return c.tables.length?c:function(a){let b=new Map;for(let c of a){let a;if(!c.path.endsWith(".py")||!/mapped_column\s*\(|__tablename__/.test(c.content))continue;let e=/^class\s+(\w+)\s*\(([^)]*)\)\s*:/gm,f=[];for(;a=e.exec(c.content);)f.push({name:a[1],bases:a[2].split(",").map(a=>a.trim().split(/[.[]/)[0]).filter(Boolean),at:a.index});for(let a=0;a<f.length;a++){let e=c.content.slice(f[a].at,f[a+1]?.at??c.content.length),g=function(a,b,c){let e,f=c.match(/__tablename__\s*=\s*["']([^"']+)["']/)?.[1],g=[],h=[],i=/(\w+)\s*:\s*Mapped\[([^\]]+)\]\s*=\s*mapped_column\s*\(/g;for(;e=i.exec(c);){let a=e[1],b=e[2],f=d(c,e.index+e[0].length-1),i=/primary_key\s*=\s*True/.test(f)||void 0,j=!/nullable\s*=\s*False/.test(f),k=f.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);g.push({name:a,type:function(a,b){if(/_JSON_OR_JSONB|\bJSONB\b|\bJSON\b/.test(a))return"jsonb";let c=a.match(/\b(GUID|Uuid|UUID|String|Text|DateTime|Date|Time|BigInteger|SmallInteger|Integer|Boolean|Float|Numeric|Decimal|Vector|TSVECTOR|LargeBinary|Enum)\b\s*(\([^)]*\))?/);if(c){let a=c[2]??"",b=a.match(/\d+/)?.[0];switch(c[1]){case"GUID":case"Uuid":case"UUID":return"uuid";case"String":return b?`varchar(${b})`:"varchar";case"Text":return"text";case"DateTime":return/timezone\s*=\s*True/.test(a)?"timestamptz":"timestamp";case"Date":return"date";case"Time":return"time";case"BigInteger":return"bigint";case"SmallInteger":return"smallint";case"Integer":return"integer";case"Boolean":return"boolean";case"Float":return"float";case"Numeric":case"Decimal":return"numeric";case"Vector":return b?`vector(${b})`:"vector";case"TSVECTOR":return"tsvector";case"LargeBinary":return"bytea";case"Enum":return"varchar"}}let d=b.replace(/\s*\|\s*None/,"").trim();return/uuid/i.test(d)?"uuid":/datetime/i.test(d)?"timestamptz":/\bint\b/i.test(d)?"integer":/\bbool\b/i.test(d)?"boolean":/\bfloat\b/i.test(d)?"float":/\bdict\b|\bAny\b/.test(d)?"jsonb":"text"}(f,b),isPk:i,isFk:!!k||void 0,nullable:j}),k&&h.push({column:a,toTable:k[1],toColumn:k[2]})}return{name:a,bases:b,tableName:f,columns:g,fks:h}}(f[a].name,f[a].bases,e);b.set(g.name,g)}}if(![...b.values()].some(a=>a.tableName))return{tables:[],relations:[]};let c=(a,d=new Set)=>{if(d.has(a.name))return[];d.add(a.name);let e=[];for(let f of a.bases){let a=b.get(f);a&&!a.tableName&&e.push(...c(a,d))}return e.push(...a.columns),e},e=[],f=[];for(let a of b.values()){if(!a.tableName)continue;let b=c(a),d=new Map;for(let a of b)d.has(a.name)||d.set(a.name,a);let g=[...d.values()],h=a=>g.splice(g.findIndex(b=>b.name===a),1)[0],i=g.some(a=>"id"===a.name)?h("id"):null,j=["created_at","updated_at","deleted_at"].filter(a=>g.some(b=>b.name===a)).map(a=>h(a));for(let b of(e.push({name:a.tableName,columns:[...i?[i]:[],...g,...j]}),a.fks))f.push({fromTable:a.tableName,fromColumn:b.column,toTable:b.toTable,toColumn:b.toColumn})}return{tables:e,relations:f}}(a)}c.d(b,{Y:()=>e})},62313:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>p,Rw:()=>q});var e=c(96904),f=c(65338),g=c(12839),h=c(74378),i=c(99121),j=c(4245),k=c(87005),l=c(57074),m=c(28019),n=c(91860),o=a([h,j,k,n]);[h,j,k,n]=o.then?(await o)():o;let r=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function p(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function q(a,b=h.db,c={}){let d=r.parse(a),e=!c.partial||d.tables.length>0,f=!c.partial||d.endpoints.length>0,o=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(o.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,o)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let s=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),t=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),u=new Map(s.map(a=>[a.name,a])),v=s.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),w=t.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),x=new Map;for(let a of d.tables){if(u.has(a.name))continue;let b=(0,m.uQ)({domain:a.domain??null,columnCount:a.columns.length},v,w);x.set(a.name,b),v.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let y=new Map;for(let a of d.tables){let c=u.get(a.name),d=x.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{domain:a.domain??null,description:a.description??null,source:"INTROSPECTION"}}).returning();y.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let z=[...y.values()];for(let a of(z.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,z),(0,g.RV)(i.dbRelation.toTableId,z))),d.relations)){let c=y.get(a.fromTable),d=y.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let A=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!A.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of v)a.id.startsWith("new:")&&(a.id=y.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:y.get(a.table)??""})).filter(a=>a.tableId)},c=(0,m.ez)(b,v,w);d=c.x,e=c.y,w.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{domain:a.domain??null,description:a.description??null,source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=y.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b);let B=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),C=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,l.v4)(B.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(C))&&await (0,n.r)(b);let D=await p(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:D}}d()}catch(a){d(a)}})},75332:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){let b=Object.keys(a.tableVars),c=new Map;if(!b.length){for(let b of a.routeFiles)c.set(b,[]);return c}let d=new Map;for(let b of a.edges){let a=d.get(b.from)??[];a.push(b.to),d.set(b.from,a)}let e=new Map(b.map(a=>[a,RegExp(`(?:query\\.${a}\\b|\\.from\\(\\s*${a}\\b)`)])),f=new Map(b.map(a=>[a,RegExp(`(?:insert|update|delete)\\(\\s*${a}\\b`)]));for(let g of a.routeFiles){let h=new Set([g]),i=[g];for(let a=0;a<2&&h.size<25;a++){let a=[];for(let b of i)for(let c of d.get(b)??[])h.has(c)||h.size>=25||(h.add(c),a.push(c));i=a}let j=new Set,k=new Set;for(let c of h){let d=a.content(c);if(d)for(let a of b)!j.has(a)&&e.get(a).test(d)&&j.add(a),!k.has(a)&&f.get(a).test(d)&&k.add(a)}let l=[];for(let c of b){let b=j.has(c),d=k.has(c);(b||d)&&l.push({table:a.tableVars[c],access:b&&d?"read-write":d?"write":"read"})}c.set(g,l)}return c}},87005:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(12839),f=c(74378),g=c(99121),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},91860:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>j});var e=c(12839),f=c(74378),g=c(99121),h=c(28019);c(15002);var i=a([f]);async function j(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}f=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},96904:(a,b,c)=>{var d,e;function f(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}c.d(b,{EB:()=>ck,YO:()=>cO,zM:()=>cJ,ai:()=>cF,Ik:()=>cQ,Yj:()=>cj}),Symbol("zod_brand");class g extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let i=globalThis.__zod_globalConfig;function j(a){return a&&Object.assign(i,a),i}let k=/^[cC][0-9a-z]{6,}$/,l=/^[0-9a-z]+$/,m=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,n=/^[0-9a-vA-V]{20}$/,o=/^[A-Za-z0-9]{27}$/,p=/^[a-zA-Z0-9_-]{21}$/,q=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,r=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,s=a=>a?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${a}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,t=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,u=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,v=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,w=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,x=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,y=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,z=/^[A-Za-z0-9_-]*$/,A=/^https?$/,B=/^\+[1-9]\d{6,14}$/,C="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",D=RegExp(`^${C}$`);function E(a){let b="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof a.precision?-1===a.precision?`${b}`:0===a.precision?`${b}:[0-5]\\d`:`${b}:[0-5]\\d\\.\\d{${a.precision}}`:`${b}(?::[0-5]\\d(?:\\.\\d+)?)?`}let F=/^-?\d+$/,G=/^-?\d+(?:\.\d+)?$/,H=/^(?:true|false)$/i,I=/^[^A-Z]*$/,J=/^[^a-z]*$/;function K(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function L(a,b){return"bigint"==typeof b?b.toString():b}function M(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function N(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}let O=Symbol("evaluating");function P(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==O)return void 0===d&&(d=O,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function Q(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function R(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}function S(a){return JSON.stringify(a)}let T="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function U(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let V=M(()=>{if(i.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function W(a){if(!1===U(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==U(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}function X(a){return W(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a}let Y=new Set(["string","number","symbol"]);function Z(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function _(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}let aa={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ab(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function ac(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function ad(a){return"string"==typeof a?a:a?.message}function ae(a,b,c){let d=a.message?a.message:ad(a.inst?._zod.def?.error?.(a))??ad(b?.error?.(a))??ad(c.customError?.(a))??ad(c.localeError?.(a))??"Invalid input",{inst:e,continue:f,input:g,...h}=a;return h.path??(h.path=[]),h.message=d,b?.reportInput&&(h.input=g),h}function af(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"}function ag(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}let ah=f("$ZodCheck",(a,b)=>{var c;a._zod??(a._zod={}),a._zod.def=b,(c=a._zod).onattach??(c.onattach=[])}),ai={number:"number",bigint:"bigint",object:"date"},aj=f("$ZodCheckLessThan",(a,b)=>{ah.init(a,b);let c=ai[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.maximum:c.exclusiveMaximum)??1/0;b.value<d&&(b.inclusive?c.maximum=b.value:c.exclusiveMaximum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value<=b.value:d.value<b.value)||d.issues.push({origin:c,code:"too_big",maximum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),ak=f("$ZodCheckGreaterThan",(a,b)=>{ah.init(a,b);let c=ai[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.minimum:c.exclusiveMinimum)??-1/0;b.value>d&&(b.inclusive?c.minimum=b.value:c.exclusiveMinimum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value>=b.value:d.value>b.value)||d.issues.push({origin:c,code:"too_small",minimum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),al=f("$ZodCheckMultipleOf",(a,b)=>{ah.init(a,b),a._zod.onattach.push(a=>{var c;(c=a._zod.bag).multipleOf??(c.multipleOf=b.value)}),a._zod.check=c=>{let d,e,f;if(typeof c.value!=typeof b.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof c.value?c.value%b.value===BigInt(0):0==(e=Math.round(d=c.value/b.value),f=Number.EPSILON*Math.max(Math.abs(d),1),Math.abs(d-e)<f?0:d-e))||c.issues.push({origin:typeof c.value,code:"not_multiple_of",divisor:b.value,input:c.value,inst:a,continue:!b.abort})}}),am=f("$ZodCheckNumberFormat",(a,b)=>{ah.init(a,b),b.format=b.format||"float64";let c=b.format?.includes("int"),d=c?"int":"number",[e,f]=aa[b.format];a._zod.onattach.push(a=>{let d=a._zod.bag;d.format=b.format,d.minimum=e,d.maximum=f,c&&(d.pattern=F)}),a._zod.check=g=>{let h=g.value;if(c){if(!Number.isInteger(h))return void g.issues.push({expected:d,format:b.format,code:"invalid_type",continue:!1,input:h,inst:a});if(!Number.isSafeInteger(h))return void(h>0?g.issues.push({input:h,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}):g.issues.push({input:h,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}))}h<e&&g.issues.push({origin:"number",input:h,code:"too_small",minimum:e,inclusive:!0,inst:a,continue:!b.abort}),h>f&&g.issues.push({origin:"number",input:h,code:"too_big",maximum:f,inclusive:!0,inst:a,continue:!b.abort})}}),an=f("$ZodCheckMaxLength",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.maximum??1/0;b.maximum<c&&(a._zod.bag.maximum=b.maximum)}),a._zod.check=c=>{let d=c.value;if(d.length<=b.maximum)return;let e=af(d);c.issues.push({origin:e,code:"too_big",maximum:b.maximum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),ao=f("$ZodCheckMinLength",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.minimum??-1/0;b.minimum>c&&(a._zod.bag.minimum=b.minimum)}),a._zod.check=c=>{let d=c.value;if(d.length>=b.minimum)return;let e=af(d);c.issues.push({origin:e,code:"too_small",minimum:b.minimum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),ap=f("$ZodCheckLengthEquals",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag;c.minimum=b.length,c.maximum=b.length,c.length=b.length}),a._zod.check=c=>{let d=c.value,e=d.length;if(e===b.length)return;let f=af(d),g=e>b.length;c.issues.push({origin:f,...g?{code:"too_big",maximum:b.length}:{code:"too_small",minimum:b.length},inclusive:!0,exact:!0,input:c.value,inst:a,continue:!b.abort})}}),aq=f("$ZodCheckStringFormat",(a,b)=>{var c,d;ah.init(a,b),a._zod.onattach.push(a=>{let c=a._zod.bag;c.format=b.format,b.pattern&&(c.patterns??(c.patterns=new Set),c.patterns.add(b.pattern))}),b.pattern?(c=a._zod).check??(c.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:b.format,input:c.value,...b.pattern?{pattern:b.pattern.toString()}:{},inst:a,continue:!b.abort})}):(d=a._zod).check??(d.check=()=>{})}),ar=f("$ZodCheckRegex",(a,b)=>{aq.init(a,b),a._zod.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:"regex",input:c.value,pattern:b.pattern.toString(),inst:a,continue:!b.abort})}}),as=f("$ZodCheckLowerCase",(a,b)=>{b.pattern??(b.pattern=I),aq.init(a,b)}),at=f("$ZodCheckUpperCase",(a,b)=>{b.pattern??(b.pattern=J),aq.init(a,b)}),au=f("$ZodCheckIncludes",(a,b)=>{ah.init(a,b);let c=Z(b.includes),d=new RegExp("number"==typeof b.position?`^.{${b.position}}${c}`:c);b.pattern=d,a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(d)}),a._zod.check=c=>{c.value.includes(b.includes,b.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:b.includes,input:c.value,inst:a,continue:!b.abort})}}),av=f("$ZodCheckStartsWith",(a,b)=>{ah.init(a,b);let c=RegExp(`^${Z(b.prefix)}.*`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.startsWith(b.prefix)||c.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:b.prefix,input:c.value,inst:a,continue:!b.abort})}}),aw=f("$ZodCheckEndsWith",(a,b)=>{ah.init(a,b);let c=RegExp(`.*${Z(b.suffix)}$`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.endsWith(b.suffix)||c.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:b.suffix,input:c.value,inst:a,continue:!b.abort})}}),ax=f("$ZodCheckOverwrite",(a,b)=>{ah.init(a,b),a._zod.check=a=>{a.value=b.tx(a.value)}});class ay{constructor(a=[]){this.content=[],this.indent=0,this&&(this.args=a)}indented(a){this.indent+=1,a(this),this.indent-=1}write(a){if("function"==typeof a){a(this,{execution:"sync"}),a(this,{execution:"async"});return}let b=a.split("\n").filter(a=>a),c=Math.min(...b.map(a=>a.length-a.trimStart().length));for(let a of b.map(a=>a.slice(c)).map(a=>" ".repeat(2*this.indent)+a))this.content.push(a)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(a=>` ${a}`)].join("\n"))}}let az=(a,b)=>{a.name="$ZodError",Object.defineProperty(a,"_zod",{value:a._zod,enumerable:!1}),Object.defineProperty(a,"issues",{value:b,enumerable:!1}),a.message=JSON.stringify(b,L,2),Object.defineProperty(a,"toString",{value:()=>a.message,enumerable:!1})},aA=f("$ZodError",az),aB=f("$ZodError",az,{Parent:Error}),aC=a=>(b,c,d,e)=>{let f=d?{...d,async:!1}:{async:!1},h=b._zod.run({value:c,issues:[]},f);if(h instanceof Promise)throw new g;if(h.issues.length){let b=new(e?.Err??a)(h.issues.map(a=>ae(a,f,j())));throw T(b,e?.callee),b}return h.value},aD=a=>async(b,c,d,e)=>{let f=d?{...d,async:!0}:{async:!0},g=b._zod.run({value:c,issues:[]},f);if(g instanceof Promise&&(g=await g),g.issues.length){let b=new(e?.Err??a)(g.issues.map(a=>ae(a,f,j())));throw T(b,e?.callee),b}return g.value},aE=a=>(b,c,d)=>{let e=d?{...d,async:!1}:{async:!1},f=b._zod.run({value:c,issues:[]},e);if(f instanceof Promise)throw new g;return f.issues.length?{success:!1,error:new(a??aA)(f.issues.map(a=>ae(a,e,j())))}:{success:!0,data:f.value}},aF=aE(aB),aG=a=>async(b,c,d)=>{let e=d?{...d,async:!0}:{async:!0},f=b._zod.run({value:c,issues:[]},e);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new a(f.issues.map(a=>ae(a,e,j())))}:{success:!0,data:f.value}},aH=aG(aB),aI={major:4,minor:4,patch:3},aJ=f("$ZodType",(a,b)=>{var c;a??(a={}),a._zod.def=b,a._zod.bag=a._zod.bag||{},a._zod.version=aI;let d=[...a._zod.def.checks??[]];for(let b of(a._zod.traits.has("$ZodCheck")&&d.unshift(a),d))for(let c of b._zod.onattach)c(a);if(0===d.length)(c=a._zod).deferred??(c.deferred=[]),a._zod.deferred?.push(()=>{a._zod.run=a._zod.parse});else{let b=(a,b,c)=>{let d,e=ab(a);for(let f of b){if(f._zod.def.when){if(function(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}(a)||!f._zod.def.when(a))continue}else if(e)continue;let b=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&c?.async===!1)throw new g;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await h,a.issues.length!==b&&(e||(e=ab(a,b)))});else{if(a.issues.length===b)continue;e||(e=ab(a,b))}}return d?d.then(()=>a):a},c=(c,e,f)=>{if(ab(c))return c.aborted=!0,c;let h=b(e,d,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(b=>a._zod.parse(b,f))}return a._zod.parse(h,f)};a._zod.run=(e,f)=>{if(f.skipChecks)return a._zod.parse(e,f);if("backward"===f.direction){let b=a._zod.parse({value:e.value,issues:[]},{...f,skipChecks:!0});return b instanceof Promise?b.then(a=>c(a,e,f)):c(b,e,f)}let h=a._zod.parse(e,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(a=>b(a,d,f))}return b(h,d,f)}}P(a,"~standard",()=>({validate:b=>{try{let c=aF(a,b);return c.success?{value:c.data}:{issues:c.error?.issues}}catch(c){return aH(a,b).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),aK=f("$ZodString",(a,b)=>{var c;let d;aJ.init(a,b),a._zod.pattern=[...a?._zod.bag?.patterns??[]].pop()??(d=(c=a._zod.bag)?`[\\s\\S]{${c?.minimum??0},${c?.maximum??""}}`:"[\\s\\S]*",RegExp(`^${d}$`)),a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=String(c.value)}catch(a){}return"string"==typeof c.value||c.issues.push({expected:"string",code:"invalid_type",input:c.value,inst:a}),c}}),aL=f("$ZodStringFormat",(a,b)=>{aq.init(a,b),aK.init(a,b)}),aM=f("$ZodGUID",(a,b)=>{b.pattern??(b.pattern=r),aL.init(a,b)}),aN=f("$ZodUUID",(a,b)=>{if(b.version){let a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[b.version];if(void 0===a)throw Error(`Invalid UUID version: "${b.version}"`);b.pattern??(b.pattern=s(a))}else b.pattern??(b.pattern=s());aL.init(a,b)}),aO=f("$ZodEmail",(a,b)=>{b.pattern??(b.pattern=t),aL.init(a,b)}),aP=f("$ZodURL",(a,b)=>{aL.init(a,b),a._zod.check=c=>{try{let d=c.value.trim();if(!b.normalize&&b.protocol?.source===A.source&&!/^https?:\/\//i.test(d))return void c.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:c.value,inst:a,continue:!b.abort});let e=new URL(d);b.hostname&&(b.hostname.lastIndex=0,b.hostname.test(e.hostname)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:b.hostname.source,input:c.value,inst:a,continue:!b.abort})),b.protocol&&(b.protocol.lastIndex=0,b.protocol.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:b.protocol.source,input:c.value,inst:a,continue:!b.abort})),b.normalize?c.value=e.href:c.value=d;return}catch(d){c.issues.push({code:"invalid_format",format:"url",input:c.value,inst:a,continue:!b.abort})}}}),aQ=f("$ZodEmoji",(a,b)=>{b.pattern??(b.pattern=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),aL.init(a,b)}),aR=f("$ZodNanoID",(a,b)=>{b.pattern??(b.pattern=p),aL.init(a,b)}),aS=f("$ZodCUID",(a,b)=>{b.pattern??(b.pattern=k),aL.init(a,b)}),aT=f("$ZodCUID2",(a,b)=>{b.pattern??(b.pattern=l),aL.init(a,b)}),aU=f("$ZodULID",(a,b)=>{b.pattern??(b.pattern=m),aL.init(a,b)}),aV=f("$ZodXID",(a,b)=>{b.pattern??(b.pattern=n),aL.init(a,b)}),aW=f("$ZodKSUID",(a,b)=>{b.pattern??(b.pattern=o),aL.init(a,b)}),aX=f("$ZodISODateTime",(a,b)=>{let c,d,e;b.pattern??(c=E({precision:b.precision}),d=["Z"],b.local&&d.push(""),b.offset&&d.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)"),e=`${c}(?:${d.join("|")})`,b.pattern=RegExp(`^${C}T(?:${e})$`)),aL.init(a,b)}),aY=f("$ZodISODate",(a,b)=>{b.pattern??(b.pattern=D),aL.init(a,b)}),aZ=f("$ZodISOTime",(a,b)=>{b.pattern??(b.pattern=RegExp(`^${E(b)}$`)),aL.init(a,b)}),a$=f("$ZodISODuration",(a,b)=>{b.pattern??(b.pattern=q),aL.init(a,b)}),a_=f("$ZodIPv4",(a,b)=>{b.pattern??(b.pattern=u),aL.init(a,b),a._zod.bag.format="ipv4"}),a0=f("$ZodIPv6",(a,b)=>{b.pattern??(b.pattern=v),aL.init(a,b),a._zod.bag.format="ipv6",a._zod.check=c=>{try{new URL(`http://[${c.value}]`)}catch{c.issues.push({code:"invalid_format",format:"ipv6",input:c.value,inst:a,continue:!b.abort})}}}),a1=f("$ZodCIDRv4",(a,b)=>{b.pattern??(b.pattern=w),aL.init(a,b)}),a2=f("$ZodCIDRv6",(a,b)=>{b.pattern??(b.pattern=x),aL.init(a,b),a._zod.check=c=>{let d=c.value.split("/");try{if(2!==d.length)throw Error();let[a,b]=d;if(!b)throw Error();let c=Number(b);if(`${c}`!==b||c<0||c>128)throw Error();new URL(`http://[${a}]`)}catch{c.issues.push({code:"invalid_format",format:"cidrv6",input:c.value,inst:a,continue:!b.abort})}}});function a3(a){if(""===a)return!0;if(/\s/.test(a)||a.length%4!=0)return!1;try{return atob(a),!0}catch{return!1}}let a4=f("$ZodBase64",(a,b)=>{b.pattern??(b.pattern=y),aL.init(a,b),a._zod.bag.contentEncoding="base64",a._zod.check=c=>{a3(c.value)||c.issues.push({code:"invalid_format",format:"base64",input:c.value,inst:a,continue:!b.abort})}}),a5=f("$ZodBase64URL",(a,b)=>{b.pattern??(b.pattern=z),aL.init(a,b),a._zod.bag.contentEncoding="base64url",a._zod.check=c=>{!function(a){if(!z.test(a))return!1;let b=a.replace(/[-_]/g,a=>"-"===a?"+":"/");return a3(b.padEnd(4*Math.ceil(b.length/4),"="))}(c.value)&&c.issues.push({code:"invalid_format",format:"base64url",input:c.value,inst:a,continue:!b.abort})}}),a6=f("$ZodE164",(a,b)=>{b.pattern??(b.pattern=B),aL.init(a,b)}),a7=f("$ZodJWT",(a,b)=>{aL.init(a,b),a._zod.check=c=>{!function(a,b=null){try{let c=a.split(".");if(3!==c.length)return!1;let[d]=c;if(!d)return!1;let e=JSON.parse(atob(d));if("typ"in e&&e?.typ!=="JWT"||!e.alg||b&&(!("alg"in e)||e.alg!==b))return!1;return!0}catch{return!1}}(c.value,b.alg)&&c.issues.push({code:"invalid_format",format:"jwt",input:c.value,inst:a,continue:!b.abort})}}),a8=f("$ZodNumber",(a,b)=>{aJ.init(a,b),a._zod.pattern=a._zod.bag.pattern??G,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=Number(c.value)}catch(a){}let e=c.value;if("number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e))return c;let f="number"==typeof e?Number.isNaN(e)?"NaN":Number.isFinite(e)?void 0:"Infinity":void 0;return c.issues.push({expected:"number",code:"invalid_type",input:e,inst:a,...f?{received:f}:{}}),c}}),a9=f("$ZodNumberFormat",(a,b)=>{am.init(a,b),a8.init(a,b)}),ba=f("$ZodBoolean",(a,b)=>{aJ.init(a,b),a._zod.pattern=H,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=!!c.value}catch(a){}let e=c.value;return"boolean"==typeof e||c.issues.push({expected:"boolean",code:"invalid_type",input:e,inst:a}),c}}),bb=f("$ZodUnknown",(a,b)=>{aJ.init(a,b),a._zod.parse=a=>a}),bc=f("$ZodNever",(a,b)=>{aJ.init(a,b),a._zod.parse=(b,c)=>(b.issues.push({expected:"never",code:"invalid_type",input:b.value,inst:a}),b)});function bd(a,b,c){a.issues.length&&b.issues.push(...ac(c,a.issues)),b.value[c]=a.value}let be=f("$ZodArray",(a,b)=>{aJ.init(a,b),a._zod.parse=(c,d)=>{let e=c.value;if(!Array.isArray(e))return c.issues.push({expected:"array",code:"invalid_type",input:e,inst:a}),c;c.value=Array(e.length);let f=[];for(let a=0;a<e.length;a++){let g=e[a],h=b.element._zod.run({value:g,issues:[]},d);h instanceof Promise?f.push(h.then(b=>bd(b,c,a))):bd(h,c,a)}return f.length?Promise.all(f).then(()=>c):c}});function bf(a,b,c,d,e,f){let g=c in d;if(a.issues.length){if(e&&f&&!g)return;b.issues.push(...ac(c,a.issues))}if(!g&&!e){a.issues.length||b.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[c]});return}void 0===a.value?g&&(b.value[c]=void 0):b.value[c]=a.value}function bg(a){var b;let c=Object.keys(a.shape);for(let b of c)if(!a.shape?.[b]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${b}": expected a Zod schema`);let d=Object.keys(b=a.shape).filter(a=>"optional"===b[a]._zod.optin&&"optional"===b[a]._zod.optout);return{...a,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(d)}}function bh(a,b,c,d,e,f){let g=[],h=e.keySet,i=e.catchall._zod,j=i.def.type,k="optional"===i.optin,l="optional"===i.optout;for(let e in b){if("__proto__"===e||h.has(e))continue;if("never"===j){g.push(e);continue}let f=i.run({value:b[e],issues:[]},d);f instanceof Promise?a.push(f.then(a=>bf(a,c,e,b,k,l))):bf(f,c,e,b,k,l)}return(g.length&&c.issues.push({code:"unrecognized_keys",keys:g,input:b,inst:f}),a.length)?Promise.all(a).then(()=>c):c}let bi=f("$ZodObject",(a,b)=>{let c;aJ.init(a,b);let d=Object.getOwnPropertyDescriptor(b,"shape");if(!d?.get){let a=b.shape;Object.defineProperty(b,"shape",{get:()=>{let c={...a};return Object.defineProperty(b,"shape",{value:c}),c}})}let e=M(()=>bg(b));P(a._zod,"propValues",()=>{let a=b.shape,c={};for(let b in a){let d=a[b]._zod;if(d.values)for(let a of(c[b]??(c[b]=new Set),d.values))c[b].add(a)}return c});let f=b.catchall;a._zod.parse=(b,d)=>{c??(c=e.value);let g=b.value;if(!U(g))return b.issues.push({expected:"object",code:"invalid_type",input:g,inst:a}),b;b.value={};let h=[],i=c.shape;for(let a of c.keys){let c=i[a],e="optional"===c._zod.optin,f="optional"===c._zod.optout,j=c._zod.run({value:g[a],issues:[]},d);j instanceof Promise?h.push(j.then(c=>bf(c,b,a,g,e,f))):bf(j,b,a,g,e,f)}return f?bh(h,g,b,d,e.value,a):h.length?Promise.all(h).then(()=>b):b}}),bj=f("$ZodObjectJIT",(a,b)=>{let c,d;bi.init(a,b);let e=a._zod.parse,f=M(()=>bg(b)),g=!i.jitless,h=g&&V.value,j=b.catchall;a._zod.parse=(i,k)=>{d??(d=f.value);let l=i.value;return U(l)?g&&h&&k?.async===!1&&!0!==k.jitless?(c||(c=(a=>{let b=new ay(["shape","payload","ctx"]),c=f.value,d=a=>{let b=S(a);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};b.write("const input = payload.value;");let e=Object.create(null),g=0;for(let a of c.keys)e[a]=`key_${g++}`;for(let f of(b.write("const newResult = {};"),c.keys)){let c=e[f],g=S(f),h=a[f],i=h?._zod?.optin==="optional",j=h?._zod?.optout==="optional";b.write(`const ${c} = ${d(f)};`),i&&j?b.write(`
1
+ "use strict";exports.id=2933,exports.ids=[2933],exports.modules={4245:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{i:()=>g});var e=c(74378),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},7185:(a,b,c)=>{c.d(b,{Q2:()=>J});var d=c(73024),e=c(51455),f=c(76760);let g=[".ts",".tsx",".js",".jsx",".mjs",".cjs"],h=[/(?:^|[\n;])\s*(?:import|export)[^'"`\n]{0,4000}?from\s*['"]([^'"`]+)['"]/g,/(?:^|[\n;])\s*import\s*['"]([^'"`]+)['"]/g,/\brequire\(\s*['"]([^'"`]+)['"]\s*\)/g,/\bimport\(\s*['"]([^'"`]+)['"]\s*\)/g];function i(a,b){if(b.has(a))return a;for(let c of g){let d=`${a}${c}`;if(b.has(d))return d}for(let c of g){let d=`${a}/index${c}`;if(b.has(d))return d}return null}function j(a,b){for(let c of[`${a}.py`,`${a}/__init__.py`,`${a}.pyi`])if(b.has(c))return[c];return[]}let k=/(?:^|[\n;])\s*import\s+(?:[\w.]+\s+)?"([^"]+)"/g,l=/(?:^|[\n;])\s*import\s*\(([\s\S]*?)\)/g,m=/"([^"]+)"/g,n=/(?:^|[\n;])\s*(?:pub\s+)?mod\s+(\w+)\s*;/g,o=/(?:^|[\n;])\s*(?:pub\s+)?use\s+([\w:]+)/g;function p(a,b){for(let c of[`${a}.rs`,`${a}/mod.rs`])if(b.has(c))return[c];return[]}let q=new Set(["mod.rs","lib.rs","main.rs"]),r=[".swift",".java",".rb",".kt",".kts",".cs",".php",".scala",".c",".h",".cpp",".hpp",".cc",".hh",".m",".mm",".ex",".exs",".lua",".dart",".vue",".svelte"],s=[/\b(?:require_relative|require|include|import|use|using|from)\s*\(?\s*['"]([^'"`\n]+)['"]/g,/(?:^|[\n;])\s*import\s+([\w.]+)/g,/(?:^|[\n;])\s*from\s+([\w.]+)\s+import\b/g,/(?:^|[\n;])\s*using\s+([\w.]+)\s*;/g,/(?:^|[\n;])\s*use\s+([\w\\]+)/g,/#\s*include\s*[<"]([^>"\n]+)[>"]/g],t=[{id:"ts",extensions:g,specifiers:function(a){let b=new Set;for(let c of h)for(let d of a.matchAll(c))b.add(d[1]);return b},resolve(a,b,c){let d=function(a,b,c,d){if(a.startsWith("."))return i((0,f.resolve)("/",(0,f.dirname)(b),a).split(/[\\/]/).join("/").replace(/^\//,""),c);for(let b of d)if(a.startsWith(b.from)){let d=a.slice(b.from.length),e=i(b.to?`${b.to}/${d}`:d,c);if(e)return e}return null}(a,b,c.fileSet,c.tsAliases??[]);return d?[d]:[]}},{id:"python",extensions:[".py",".pyi"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(/(?:^|[\n;])\s*from\s+(\.*[\w.]*)\s+import\b/g)){let a=c[1].trim();a&&b.add(a)}for(let c of a.matchAll(/(?:^|[\n;])\s*import\s+([\w.]+(?:\s*,\s*[\w.]+)*)/g))for(let a of c[1].split(/\s*,\s*/)){let c=a.trim().split(/\s+as\s+/)[0].trim();c&&b.add(c)}return b},resolve(a,b,c){if(a.startsWith(".")){let d=a.length-a.replace(/^\.+/,"").length,e=a.slice(d),g=(0,f.dirname)(b);for(let a=1;a<d;a++)g=(0,f.dirname)(g);let h=e?(0,f.join)(g,e.replace(/\./g,"/")):g;return j((0,f.normalize)(h).replace(/\\/g,"/"),c.fileSet)}return j(a.replace(/\./g,"/"),c.fileSet)}},{id:"go",extensions:[".go"],resolve(a,b,c){let d=c.goModulePath;if(!d)return[];let e=null;if(a===d?e="":a.startsWith(`${d}/`)&&(e=a.slice(d.length+1)),null===e)return[];let g=[];for(let a of c.fileSet){if(!a.endsWith(".go"))continue;let b=(0,f.dirname)(a);(""===e&&"."===b||b===e)&&g.push(a)}return g.sort()},specifiers:function(a){let b=new Set;for(let c of a.matchAll(k))b.add(c[1]);for(let c of a.matchAll(l))for(let a of c[1].matchAll(m))b.add(a[1]);return b}},{id:"rust",extensions:[".rs"],specifiers:function(a){let b=new Set;for(let c of a.matchAll(n))b.add(`./${c[1]}`);for(let c of a.matchAll(o)){let a=function(a){let b=a.split("::").filter(a=>a&&"*"!==a);return b.length?"crate"===b[0]?["crate",...b.slice(1)].join("/"):"super"===b[0]?["..",...b.slice(1)].join("/"):"self"===b[0]?[".",...b.slice(1)].join("/"):b.join("/"):""}(c[1]);a&&b.add(a)}return b},resolve(a,b,c){let d=c.fileSet;if(a.startsWith("./")||a.startsWith("../")){let c=a.replace(/^\.\//,""),e=p((0,f.normalize)((0,f.join)((0,f.dirname)(b),a)).replace(/\\/g,"/"),d);if(e.length)return e;if(a.startsWith("./")&&!q.has((0,f.basename)(b))){let a=(0,f.join)((0,f.dirname)(b),(0,f.basename)(b,".rs"),c);if((e=p((0,f.normalize)(a).replace(/\\/g,"/"),d)).length)return e}return[]}if(a.startsWith("crate/")){let c=b.split("/"),e=c.lastIndexOf("src"),g=e>=0?c.slice(0,e+1).join("/"):(0,f.dirname)(b),h=a.slice(6).split("/");for(let a of[h.join("/"),h.slice(0,-1).join("/")]){if(!a)continue;let b=p(`${g}/${a}`,d);if(b.length)return b}}return[]}},{id:"fallback",extensions:r,specifiers:function(a){let b=new Set;for(let c of s)for(let d of a.matchAll(c)){let a=d[1].trim();a&&b.add(a)}return b},resolve(a,b,c){let d=[(0,f.extname)(b).toLowerCase(),...r].filter((a,b,c)=>a&&c.indexOf(a)===b),e=a.includes("/")||a.includes("\\"),g=a.startsWith(".")||e?a.replace(/\\/g,"/"):a.replace(/[.:]+/g,"/");for(let a of[(0,f.normalize)((0,f.join)((0,f.dirname)(b),g)).replace(/\\/g,"/"),g.replace(/^\.\//,"")]){if(c.fileSet.has(a))return[a];for(let b of d){let d=a.endsWith(b)?a:`${a}${b}`;if(c.fileSet.has(d))return[d];if(c.fileSet.has(`${a}/index${b}`))return[`${a}/index${b}`]}}return[]}}],u=new Map;for(let a of t)for(let b of a.extensions)u.set(b,a);let v={".ts":"ts",".tsx":"ts",".js":"js",".jsx":"js",".mjs":"js",".cjs":"js",".py":"py",".pyi":"py",".go":"go",".rs":"rs",".swift":"swift",".java":"java",".rb":"ruby",".kt":"kotlin",".kts":"kotlin",".cs":"csharp",".php":"php",".scala":"scala",".c":"c",".h":"c",".cpp":"cpp",".hpp":"cpp",".cc":"cpp",".hh":"cpp",".m":"objc",".mm":"objc",".ex":"elixir",".exs":"elixir",".lua":"lua",".dart":"dart",".vue":"vue",".svelte":"svelte"};function w(a){return u.get((0,f.extname)(a).toLowerCase())??null}function x(){return new Set(u.keys())}let y=new Set(["node_modules",".git",".next","dist","build","__pycache__","target",".venv","venv","env",".turbo","coverage",".beacon",".playwright-mcp","generated"]),z=()=>Promise.resolve();async function A(a,b,c,d,g){let h;try{h=await (0,e.readdir)(b,{withFileTypes:!0})}catch{return}for(let e of h){if(e.name.startsWith(".")||y.has(e.name))continue;let h=(0,f.join)(b,e.name);if(e.isDirectory()){await A(a,h,c,d,g);continue}!(!e.isFile()||e.name.endsWith(".d.ts"))&&c.has((0,f.extname)(e.name).toLowerCase())&&d.push((0,f.relative)(a,h))}await g()}async function B(a,b=z){let c=[];return await A(a,a,x(),c,b),c.map(a=>a.split(/[\\/]/).join("/")).sort()}function C(a){return a.replace(/^\.\/?/,"").replace(/\/$/,"")}function D(a){let b,c=(0,f.join)(a,"tsconfig.json");if(!(0,d.existsSync)(c))return[];try{b=function(a){try{return JSON.parse(a)}catch{}return JSON.parse(a.replace(/\/\*[^"]*?\*\//g,"").replace(/(^|[^:"])\/\/.*$/gm,"$1").replace(/,\s*([}\]])/g,"$1"))}((0,d.readFileSync)(c,"utf8"))}catch{return[]}let e=b.compilerOptions?.paths??{},g=C(b.compilerOptions?.baseUrl??"."),h=[];for(let[a,b]of Object.entries(e)){if(!a.endsWith("/*")||!b.length)continue;let c=b[0];if(!c.endsWith("/*"))continue;let d=a.slice(0,-1),e=[g,C(c.slice(0,-1))].filter(Boolean).join("/");h.push({from:d,to:e})}return h}function E(a){let b=(0,f.join)(a,"go.mod");if(!(0,d.existsSync)(b))return null;try{let a=/^\s*module\s+(\S+)/m.exec((0,d.readFileSync)(b,"utf8"));return a?a[1]:null}catch{return null}}function F(a){return a.split(/[\\/]/).join("/")}function G(a){if(1===a.length)return a[0];let b=a.map(a=>F(a).split("/")),c=b[0],d=0;for(;d<c.length&&b.every(a=>a[d]===c[d]);d++);return c.slice(0,d).join("/")||"/"}async function H(a,b,c){let d=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),g=F(b?(0,f.resolve)(b):1===d.length?d[0]:G(d)),h=new Map,i=[];for(let a of d){let b=F((0,f.relative)(g,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")});for(let d of(await B(a,c))){let i=F((0,f.join)(a,d)),j=F((0,f.relative)(g,i));if(!h.has(j)){try{let a=await (0,e.stat)(i);h.set(j,{path:j,abs:i,root:b||null,mtimeMs:a.mtimeMs,size:a.size})}catch{}await c()}}}let j=d.map(E).find(Boolean)??E(g);return{metas:[...h.values()].sort((a,b)=>a.path.localeCompare(b.path)),ctx:{fileSet:new Set(h.keys()),tsAliases:i,goModulePath:j}}}async function I(a){let b=w(a.path);if(!b||a.size>2e5)return new Set;try{let c=await (0,e.readFile)(a.abs,"utf8");if(function(a){let b=0;for(let c=0;c<a.length;c++)if(10===a.charCodeAt(c)){if(c-b>5e4)return!0;b=c+1}return a.length-b>5e4}(c))return new Set;return b.specifiers(c)}catch{return new Set}}function J(a,b){let c=(Array.isArray(a)?a:[a]).map(a=>F((0,f.resolve)(a))),d=F(b?(0,f.resolve)(b):1===c.length?c[0]:G(c)),g=new Map,h=new Map,i=[],j=null;function k(){let a={fileSet:new Set(g.keys()),tsAliases:i,goModulePath:j},b=[...g.values()].sort((a,b)=>a.path.localeCompare(b.path)),c=[];for(let d of b){let b=w(d.path);if(!b)continue;let e=h.get(d.path)??new Set,f=new Set;for(let g of e)for(let e of b.resolve(g,d.path,a))!e||e===d.path||f.has(e)||(f.add(e),c.push({from:d.path,to:e}))}return{files:b.map(a=>{var b;let c;return{path:a.path,lang:(b=a.path,c=(0,f.extname)(b).toLowerCase(),u.has(c)?v[c]??c.slice(1):null),root:a.root,mtimeMs:a.mtimeMs,size:a.size}}),edges:c}}return{seed:async function(){let c=function(a=5){let b=performance.now();return async()=>{performance.now()-b>a&&(await new Promise(a=>setImmediate(a)),b=performance.now())}}(),{metas:d,ctx:e}=await H(a,b,c);for(let a of(g.clear(),h.clear(),d))await c(),g.set(a.path,a),h.set(a.path,await I(a));return i=e.tsAliases??[],j=e.goModulePath??null,k()},applyChange:async function(a){let b,k=F((0,f.resolve)(a));if(!c.some(a=>k===a||k.startsWith(`${a}/`)))return!1;let l=k.split("/").pop()??"";if("tsconfig.json"===l||"go.mod"===l){let a=k.slice(0,k.length-l.length-1);if(c.includes(a)){for(let a of(i=[],c)){let b=F((0,f.relative)(d,a));for(let c of D(a))i.push({from:c.from,to:[b,c.to].filter(Boolean).join("/")})}return j=c.map(E).find(Boolean)??E(d),!0}return!1}let m=function(a){let b=F((0,f.resolve)(a));for(let a of c)if(b===a||b.startsWith(`${a}/`)){if(function(a){let b=a.split("/");for(let a=0;a<b.length;a++){let c=b[a];if(!c||c.startsWith(".")||a<b.length-1&&y.has(c))return!0}let c=b[b.length-1];return!!c.endsWith(".d.ts")||!x().has((0,f.extname)(c).toLowerCase())}(b.slice(a.length).replace(/^\/+/,"")))return null;return{path:F((0,f.relative)(d,b)),root:F((0,f.relative)(d,a))||null}}return null}(a);if(!m)return!1;try{b=await (0,e.stat)(k)}catch{let a=g.delete(m.path);return h.delete(m.path),a}let n=g.get(m.path);if(n&&n.mtimeMs===b.mtimeMs&&n.size===b.size)return!1;let o={path:m.path,abs:k,root:m.root,mtimeMs:b.mtimeMs,size:b.size};return g.set(m.path,o),h.set(m.path,await I(o)),!0},snapshot:k}}},15002:(a,b,c)=>{c(73024),c(76760),c(31421),c(77598),c(48161),c(60455)},24302:(a,b,c)=>{c.d(b,{I:()=>h,r:()=>g});let d=/(^|\/)app\/.*\/route\.(ts|tsx|js|jsx|mjs)$/,e=/\.(ts|py)$/,f=/(schema|model)/i;function g(a){return!!(a.endsWith(".prisma")||d.test(a))||e.test(a)&&f.test(a)}function h(a,b=300){return a.filter(g).slice(0,b)}},28019:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>l,kq:()=>j,mn:()=>e,uQ:()=>k});let d=320;function e(a){return 36+30*Math.max(0,a)+16}let f=2560,g=a=>(a??"").trim()||"—";function h(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let i=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function j(a,b){let c=h(a,b),j=new Map,k=[];for(let a of[...b].sort(i)){let b=c.get(a.id)??null;if(b){let c=j.get(b);c?c.push(a):j.set(b,[a])}else k.push(a)}let l=a=>{let b=j.get(a.id)?.length??0;return e(a.columnCount)+(b?14+60*b:0)+50},m=Array.from(new Set(a.map(a=>g(a.domain)))),n=m.filter(a=>"—"!==a).sort(),o=m.includes("—")?[...n,"—"]:n,p=[];for(let b of o){let c=a.filter(a=>g(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),e=c.reduce((a,b)=>a+l(b),0),f=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(e/d)))),h=Array(f).fill(0),i=new Map;for(let a of c){let b=0;for(let a=1;a<f;a++)h[a]<h[b]&&(b=a);i.set(a.id,{x:b*d,y:h[b]}),h[b]+=l(a)}p.push({d:b,w:f*d,h:Math.max(...h,0),tableLocal:i})}let q=Math.max(f,Math.round(Math.sqrt(2.2*p.reduce((a,b)=>a+(b.w+120)*(b.h+170),0)))),r=new Map,s=new Map,t=0,u=0,v=0,w=0;for(let b of p){for(let c of(t>0&&t+b.w>q&&(u+=v+170,t=0,v=0),a.filter(a=>b.tableLocal.has(a.id)))){let a=b.tableLocal.get(c.id),d=t+a.x,f=u+a.y;r.set(c.id,{x:d,y:f}),(j.get(c.id)??[]).forEach((a,b)=>{s.set(a.id,{x:d,y:f+e(c.columnCount)+14+60*b})})}v=Math.max(v,b.h),w=Math.max(w,u+b.h),t+=b.w+120}if(k.length){let a=w+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(k.length/2))));k.forEach((c,d)=>{s.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:r,endpoints:s}}function k(a,b,c){let f=h(b,c),i=new Map;for(let a of c){let b=f.get(a.id);b&&i.set(b,(i.get(b)??0)+1)}let j=a=>{let b=i.get(a.id)??0;return a.y+e(a.columnCount)+(b?14+60*b:0)},k=g(a.domain),l=b.filter(a=>g(a.domain)===k);if(!l.length){let a=b.length?Math.max(...b.map(j),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let m=Math.min(...l.map(a=>a.x)),n=l.map(a=>Math.max(0,Math.round((a.x-m)/d))),o=Math.min(12,Math.max(...n)+1),p=Array(o).fill(Math.min(...l.map(a=>a.y)));l.forEach((a,b)=>{let c=Math.min(n[b],o-1);p[c]=Math.max(p[c],j(a)+50)});let q=0;for(let a=1;a<o;a++)p[a]<p[q]&&(q=a);return{x:m+q*d,y:p[q]}}function l(a,b,c){let d=h(b,[...c,a]),f=d.get(a.id),g=f?b.find(a=>a.id===f):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+e(g.columnCount)+14,f=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:f}}let i=[...b.map(a=>a.y+e(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:i.length?Math.max(...i)+170:0}}},32933:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{startWorkspaceWatchers:()=>i});var e=c(73024),f=c(60455),g=c(98919),h=a([g]);g=(h.then?(await h)():h)[0];let j=function(a){let b=a.limit??6,c=a.hardCap??12,d=new Map,e=0,f=new Set;function g(a){let b=d.get(a);b&&(b.seq=++e)}async function h(a){let b=d.get(a);b&&(d.delete(a),await b.handle.stop())}async function i(){await Promise.all([...d.values()].map(a=>a.handle.stop())),d.clear()}return{reconcile:function(){let c=a.list().filter(b=>a.exists(b.path)).slice(0,b);for(let b of(f=new Set(c.map(a=>a.id)),c))!function(b){if(d.has(b.id))return g(b.id);a.exists(b.path)&&d.set(b.id,{handle:a.start(b),seq:++e})}(b);for(let[b,c]of[...d]){let e=a.get(b);e&&a.exists(e.path)||(c.handle.stop(),d.delete(b))}},ensureWatcher:function(b){if(d.has(b))return g(b);let h=a.get(b);h&&a.exists(h.path)&&(d.size>=c&&function(){let a=null,b=1/0;for(let[c,e]of d)!f.has(c)&&e.seq<b&&(b=e.seq,a=c);a&&(d.get(a).handle.stop(),d.delete(a))}(),d.size>=c||d.set(b,{handle:a.start(h),seq:++e}))},stopWatcher:h,isWatching:function(a){return d.has(a)},activeIds:function(){return[...d.keys()]},stopAll:i}}({list:f.FF,get:f.K4,exists:e.existsSync,start:a=>(0,g.F)(a)}),k=null;function i(){"1"!==process.env.BEACON_NO_INLINE_WATCH&&(j.reconcile(),k||(k=setInterval(()=>j.reconcile(),3e4),k.unref?.()))}d()}catch(a){d(a)}})},52729:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,cL:()=>l});var e=c(96904),f=c(12839),g=c(74378),h=c(99121),i=c(62313),j=a([g,i]);[g,i]=j.then?(await j)():j;let o=e.Ik({files:e.YO(e.Ik({path:e.Yj().trim().min(1),root:e.Yj().nullish(),lang:e.Yj().nullish(),mtimeMs:e.ai().nullish(),size:e.ai().nullish()})).default([]),edges:e.YO(e.Ik({from:e.Yj().trim().min(1),to:e.Yj().trim().min(1)})).default([])});function k(a,b){let c=new Map;for(let b of a)c.set(b,[]);for(let a of b)c.get(a.from)?.push(a.to);let d=new Map,e=new Map,f=new Set,g=[],h=new Map,i=[],j=0,k=0;for(let b of a){if(d.has(b))continue;let a=[{v:b,iter:0}];for(d.set(b,j),e.set(b,j),j++,g.push(b),f.add(b);a.length;){let b=a[a.length-1],l=c.get(b.v)??[];if(b.iter<l.length){let c=l[b.iter++];d.has(c)?f.has(c)&&e.set(b.v,Math.min(e.get(b.v),d.get(c))):(d.set(c,j),e.set(c,j),j++,g.push(c),f.add(c),a.push({v:c,iter:0}))}else{if(e.get(b.v)===d.get(b.v)){let a,c=0;do a=g.pop(),f.delete(a),h.set(a,k),c++;while(a!==b.v);i.push(c),k++}a.pop();let c=a[a.length-1];c&&e.set(c.v,Math.min(e.get(c.v),e.get(b.v)))}}}let l=new Set;for(let a of b){let b=h.get(a.from);void 0!==b&&b===h.get(a.to)&&i[b]>1&&l.add(`${a.from}|${a.to}`)}return l}async function l(a,b=g.db){let c=o.parse(a),d=c.files.map(a=>a.path),e=new Set(d),j=c.edges.filter(a=>e.has(a.from)&&e.has(a.to)&&a.from!==a.to),m=k(d,j),n=new Map,p=new Map;for(let a of j)p.set(a.from,(p.get(a.from)??0)+1),n.set(a.to,(n.get(a.to)??0)+1);for(let a of(await b.delete(h.codeFile).where((0,f.KL)(h.codeFile.path,d)),c.files)){let c={root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:n.get(a.path)??0,outDegree:p.get(a.path)??0};await b.insert(h.codeFile).values({path:a.path,...c}).onConflictDoUpdate({target:h.codeFile.path,set:c})}await b.delete(h.codeFileEdge);let q=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&q++,{fromPath:a.from,toPath:a.to,circular:b}}));let r=await (0,i.Bx)(b);return await b.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton")),{files:c.files.length,edges:j.length,circular:q,version:r}}let p=(a,b)=>`${a}\0${b}`;function m(a){let b=o.parse(a),c=b.files.map(a=>a.path),d=new Set(c),e=b.edges.filter(a=>d.has(a.from)&&d.has(a.to)&&a.from!==a.to),f=k(c,e),g=new Map,h=new Map;for(let a of e)h.set(a.from,(h.get(a.from)??0)+1),g.set(a.to,(g.get(a.to)??0)+1);let i=new Map;for(let a of b.files)i.set(a.path,{root:a.root??null,lang:a.lang??null,mtimeMs:a.mtimeMs??null,size:a.size??null,inDegree:g.get(a.path)??0,outDegree:h.get(a.path)??0});let j=new Map;for(let a of e)j.set(p(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let q=(a,b)=>a.root===b.root&&a.lang===b.lang&&a.mtimeMs===b.mtimeMs&&a.size===b.size&&a.inDegree===b.inDegree&&a.outDegree===b.outDegree;async function n(a,b,c=g.db){for(let[d,e]of b.files){let b=a.files.get(d);if(b&&q(b,e))continue;let f={root:e.root,lang:e.lang,mtimeMs:e.mtimeMs,size:e.size,inDegree:e.inDegree,outDegree:e.outDegree};await c.insert(h.codeFile).values({path:d,...f}).onConflictDoUpdate({target:h.codeFile.path,set:f})}let d=[...a.files.keys()].filter(a=>!b.files.has(a));for(let[e,g]of(d.length&&await c.delete(h.codeFile).where((0,f.RV)(h.codeFile.path,d)),a.edges))b.edges.has(e)||await c.delete(h.codeFileEdge).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to)));let e=[];for(let[d,g]of b.edges){let b=a.edges.get(d);b?b.circular!==g.circular&&await c.update(h.codeFileEdge).set({circular:g.circular}).where((0,f.Uo)((0,f.eq)(h.codeFileEdge.fromPath,g.from),(0,f.eq)(h.codeFileEdge.toPath,g.to))):e.push({fromPath:g.from,toPath:g.to,circular:g.circular})}e.length&&await c.insert(h.codeFileEdge).values(e);let j=await (0,i.Bx)(c);await c.update(h.syncState).set({codeGraphSyncedAt:new Date}).where((0,f.eq)(h.syncState.id,"singleton"));let k=0;for(let a of b.edges.values())a.circular&&k++;return{files:b.files.size,edges:b.edges.size,circular:k,version:j}}d()}catch(a){d(a)}})},57074:(a,b,c)=>{c.d(b,{v4:()=>e});var d=c(28019);function e(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},59314:(a,b,c)=>{c.d(b,{$:()=>e});let d=["GET","POST","PUT","PATCH","DELETE"];function e(a){let b=[];for(let c of a){let a=function(a){let b=a.match(/(?:^|\/)app\/(.+)\/route\.(?:ts|tsx|js|jsx|mjs)$/);if(!b)return null;let c=b[1].split("/").filter(a=>!(a.startsWith("(")&&a.endsWith(")"))).map(a=>{let b=a.match(/^\[{1,2}(?:\.\.\.)?([^\]]+)\]{1,2}$/);return b?`{${b[1]}}`:a});return"api"!==c[0]?null:`/${c.join("/")}`}(c.path);if(a)for(let e of d)RegExp(`export\\s+(?:async\\s+)?(?:function|const)\\s+${e}\\b`).test(c.content)&&b.push({method:e,path:a,uses:[],file:c.path})}return b.sort((a,b)=>`${a.path} ${a.method}`.localeCompare(`${b.path} ${b.method}`))}},61926:(a,b,c)=>{function d(a,b){if(/_JSON_OR_JSONB|\bJSONB\b|\bJSON\b/.test(a))return"jsonb";let c=a.match(/\b(GUID|Uuid|UUID|String|Text|DateTime|Date|Time|BigInteger|SmallInteger|Integer|Boolean|Float|Numeric|Decimal|Vector|TSVECTOR|LargeBinary|Enum)\b\s*(\([^)]*\))?/);if(c){let a=c[2]??"",b=a.match(/\d+/)?.[0];switch(c[1]){case"GUID":case"Uuid":case"UUID":return"uuid";case"String":return b?`varchar(${b})`:"varchar";case"Text":return"text";case"DateTime":return/timezone\s*=\s*True/.test(a)?"timestamptz":"timestamp";case"Date":return"date";case"Time":return"time";case"BigInteger":return"bigint";case"SmallInteger":return"smallint";case"Integer":return"integer";case"Boolean":return"boolean";case"Float":return"float";case"Numeric":case"Decimal":return"numeric";case"Vector":return b?`vector(${b})`:"vector";case"TSVECTOR":return"tsvector";case"LargeBinary":return"bytea";case"Enum":return"varchar"}}let d=b.replace(/\s*\|\s*None/g,"").trim(),e=d.match(/^Optional\[([\s\S]*)\]$/);return(e&&(d=e[1].trim()),/uuid/i.test(d))?"uuid":/datetime/i.test(d)?"timestamptz":/\bint\b/i.test(d)?"integer":/\bbool\b/i.test(d)?"boolean":/\bfloat\b/.test(d)&&!/\blist\b/.test(d)?"float":/\bdict\b|\blist\b|\bAny\b/.test(d)?"jsonb":"text"}function e(a,b){let c=0;for(let d=b;d<a.length;d++)if("("===a[d])c++;else if(")"===a[d]&&0==--c)return a.slice(b+1,d);return""}function f(a){let b=function(a){let b=[],c=/(\w+)\s*:\s*(text|integer|real|blob|numeric|varchar|boolean|timestamp|serial|uuid|json|jsonb)\s*\(/g;for(let d of a){let a;if(!/\.(ts|tsx|mts|cts)$/.test(d.path)||!/\b(?:sqliteTable|pgTable|mysqlTable)\s*\(/.test(d.content))continue;let f=/(?:export\s+)?const\s+(\w+)\s*=\s*(?:sqliteTable|pgTable|mysqlTable)\s*\(\s*["']([^"']+)["']\s*,/g;for(;a=f.exec(d.content);){let f=d.content.indexOf("{",a.index+a[0].length);if(f<0)continue;let g=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("{"===a[d])c++;else if("}"===a[d]&&0==--c)return a.slice(b+1,d);return""}(d.content,f),h={varName:a[1],tableName:a[2],columns:[],colByProp:new Map,fks:[]},i=[];for(let a of(c.lastIndex=0,g.matchAll(c)))i.push({prop:a[1],builder:a[2],at:a.index,argOpen:a.index+a[0].length-1});i.forEach((a,b)=>{var c;let d=g.slice(a.at,i[b+1]?.at??g.length),f=e(g,a.argOpen),j=f.match(/^\s*["']([^"']+)["']/)?.[1]??a.prop,k=d.match(/\.references\(\s*\(\)\s*=>\s*(\w+)\.(\w+)/);h.columns.push({name:j,type:(c=a.builder,/mode:\s*["']timestamp/.test(f)?"timestamp":/mode:\s*["']boolean["']/.test(f)?"boolean":/mode:\s*["']json["']/.test(f)?"jsonb":c),isPk:/\.primaryKey\(\)/.test(d)||void 0,isFk:!!k||void 0,nullable:!/\.notNull\(\)/.test(d)}),h.colByProp.set(a.prop,j),k&&h.fks.push({column:j,toVar:k[1],toProp:k[2]})}),b.push(h)}}if(!b.length)return{tables:[],relations:[]};let d=new Map(b.map(a=>[a.varName,a])),f=[];for(let a of b)for(let b of a.fks){let c=d.get(b.toVar);c&&f.push({fromTable:a.tableName,fromColumn:b.column,toTable:c.tableName,toColumn:c.colByProp.get(b.toProp)??b.toProp})}return{tables:b.map(a=>({name:a.tableName,columns:a.columns})),relations:f,tableVars:Object.fromEntries(b.map(a=>[a.varName,a.tableName]))}}(a);if(b.tables.length)return b;let c=function(a){let b=[],c=[];for(let d of a){let a;if(!d.path.endsWith(".prisma"))continue;let e=/model\s+(\w+)\s*\{([\s\S]*?)\}/g;for(;a=e.exec(d.content);){let d=a[1],e=a[2].match(/@@map\(\s*["']([^"']+)["']\s*\)/)?.[1]??d,f=[];for(let b of a[2].split("\n")){let a=b.trim().match(/^(\w+)\s+(\w+(?:\[\])?\??)\s*(.*)$/);if(!a||/^@@/.test(b.trim()))continue;let[,d,g,h]=a,i=/^(String|Int|BigInt|Float|Decimal|Boolean|DateTime|Json|Bytes)(\[\])?\??$/.test(g),j=h.match(/@relation\([^)]*fields:\s*\[(\w+)\][^)]*references:\s*\[(\w+)\]/);j&&c.push({fromTable:e,fromColumn:j[1],toTable:g.replace(/[?[\]]/g,""),toColumn:j[2]}),i&&f.push({name:d,type:function(a){let b=a.replace(/[?[\]]/g,"");return({String:"text",Int:"integer",BigInt:"bigint",Float:"float",Decimal:"numeric",Boolean:"boolean",DateTime:"timestamptz",Json:"jsonb",Bytes:"bytea"})[b]??b.toLowerCase()}(g),isPk:/@id\b/.test(h)||void 0,isFk:/@relation\b/.test(h)||void 0,nullable:g.endsWith("?")})}f.length&&b.push({name:e,columns:f})}}return{tables:b,relations:c}}(a);return c.tables.length?c:function(a){let b=new Map,c=[],f=[];for(let g of a){let a;if(!g.path.endsWith(".py")||!/mapped_column\s*\(|__tablename__|\bTable\s*\(\s*["']/.test(g.content))continue;let h=function(a){let b,c=[],f=[],g=/\bTable\s*(\()\s*["']([^"']+)["']\s*,/g;for(;b=g.exec(a);){let g,h=b[2],i=e(a,b.index+b[0].indexOf("("));if(!/\bmetadata\b/.test(i)||!/\bColumn\s*\(/.test(i))continue;let j=[],k=/\bColumn\s*\(/g;for(;g=k.exec(i);){let a=e(i,g.index+g[0].length-1),b=a.match(/^\s*["'](\w+)["']\s*,/)?.[1];if(!b)continue;let c=/primary_key\s*=\s*True/.test(a)||void 0,k=!/nullable\s*=\s*False/.test(a),l=a.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);j.push({name:b,type:d(a,""),isPk:c,isFk:!!l||void 0,nullable:k}),l&&f.push({fromTable:h,fromColumn:b,toTable:l[1],toColumn:l[2]})}j.length&&c.push({name:h,columns:j})}return{tables:c,relations:f}}(g.content);c.push(...h.tables),f.push(...h.relations);let i=/^class\s+(\w+)\s*\(([^)]*)\)\s*:/gm,j=[];for(;a=i.exec(g.content);)j.push({name:a[1],bases:a[2].split(",").map(a=>a.trim().split(/[.[]/)[0]).filter(Boolean),at:a.index});for(let a=0;a<j.length;a++){let c=g.content.slice(j[a].at,j[a+1]?.at??g.content.length),f=function(a,b,c){let f,g=c.match(/__tablename__\s*=\s*["']([^"']+)["']/)?.[1],h=[],i=[],j=[],k=/(\w+)\s*:\s*Mapped\s*\[/g;for(;f=k.exec(c);){let a=f.index+f[0].length-1,b=function(a,b){let c=0;for(let d=b;d<a.length;d++)if("["===a[d])c++;else if("]"===a[d]&&0==--c)return a.slice(b+1,d);return null}(c,a);if(null===b)continue;let d=a+b.length+2,e=c.slice(d).match(/^\s*=\s*(\w+)\s*\(/);e&&"mapped_column"===e[1]&&j.push({colName:f[1],pyType:b,argsAt:d+e[0].length-1})}let l=/(\w+)\s*=\s*(mapped_column|Column)\s*\(/g;for(;f=l.exec(c);)j.push({colName:f[1],pyType:"",argsAt:f.index+f[0].length-1});j.sort((a,b)=>a.argsAt-b.argsAt);let m=new Set;for(let a of j){if(m.has(a.colName)||"__tablename__"===a.colName)continue;m.add(a.colName);let b=e(c,a.argsAt),f=/primary_key\s*=\s*True/.test(b)||void 0,g=!/nullable\s*=\s*False/.test(b),j=b.match(/ForeignKey\(\s*["']([^"']+?)\.([^"'.]+)["']/);h.push({name:a.colName,type:d(b,a.pyType),isPk:f,isFk:!!j||void 0,nullable:g}),j&&i.push({column:a.colName,toTable:j[1],toColumn:j[2]})}return{name:a,bases:b,tableName:g,columns:h,fks:i}}(j[a].name,j[a].bases,c);b.set(f.name,f)}}if(![...b.values()].some(a=>a.tableName)&&!c.length)return{tables:[],relations:[]};let g=(a,c=new Set)=>{if(c.has(a.name))return[];c.add(a.name);let d=[];for(let e of a.bases){let a=b.get(e);a&&!a.tableName&&d.push(...g(a,c))}return d.push(...a.columns),d},h=[],i=[];for(let a of b.values()){if(!a.tableName)continue;let b=g(a),c=new Map;for(let a of b)c.has(a.name)||c.set(a.name,a);let d=[...c.values()],e=a=>d.splice(d.findIndex(b=>b.name===a),1)[0],f=d.some(a=>"id"===a.name)?e("id"):null,j=["created_at","updated_at","deleted_at"].filter(a=>d.some(b=>b.name===a)).map(a=>e(a));for(let b of(h.push({name:a.tableName,columns:[...f?[f]:[],...d,...j]}),a.fks))i.push({fromTable:a.tableName,fromColumn:b.column,toTable:b.toTable,toColumn:b.toColumn})}let j=new Set(h.map(a=>a.name));for(let a of c)j.has(a.name)||h.push(a);return i.push(...f.filter(a=>!j.has(a.fromTable))),{tables:h,relations:i}}(a)}c.d(b,{Y:()=>f})},62313:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>q,Rw:()=>r});var e=c(96904),f=c(65338),g=c(12839),h=c(74378),i=c(99121),j=c(4245),k=c(87005),l=c(76160),m=c(57074),n=c(28019),o=c(91860),p=a([h,j,k,l,o]);[h,j,k,l,o]=p.then?(await p)():p;let s=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function q(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function r(a,b=h.db,c={}){let d=s.parse(a),e=d.tables.length>0,f=d.endpoints.length>0,p=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(p.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,p)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let t=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),u=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),v=new Map(t.map(a=>[a.name,a])),w=t.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),x=u.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),y=new Map;for(let a of d.tables){if(v.has(a.name))continue;let b=(0,n.uQ)({domain:a.domain??null,columnCount:a.columns.length},w,x);y.set(a.name,b),w.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let z=new Map;for(let a of d.tables){let c=v.get(a.name),d=y.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();z.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let A=[...z.values()];for(let a of(A.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,A),(0,g.RV)(i.dbRelation.toTableId,A))),d.relations)){let c=z.get(a.fromTable),d=z.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let B=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!B.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of w)a.id.startsWith("new:")&&(a.id=z.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:z.get(a.table)??""})).filter(a=>a.tableId)},c=(0,n.ez)(b,w,x);d=c.x,e=c.y,x.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=z.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b),await (0,l.q)(b);let C=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),D=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,m.v4)(C.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(D))&&await (0,o.r)(b);let E=await q(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:E}}d()}catch(a){d(a)}})},75332:(a,b,c)=>{c.d(b,{R:()=>d});function d(a){let b=Object.keys(a.tableVars),c=new Map;if(!b.length){for(let b of a.routeFiles)c.set(b,[]);return c}let d=new Map;for(let b of a.edges){let a=d.get(b.from)??[];a.push(b.to),d.set(b.from,a)}let e=new Map(b.map(a=>[a,RegExp(`(?:query\\.${a}\\b|\\.from\\(\\s*${a}\\b)`)])),f=new Map(b.map(a=>[a,RegExp(`(?:insert|update|delete)\\(\\s*${a}\\b`)]));for(let g of a.routeFiles){let h=new Set([g]),i=[g];for(let a=0;a<2&&h.size<25;a++){let a=[];for(let b of i)for(let c of d.get(b)??[])h.has(c)||h.size>=25||(h.add(c),a.push(c));i=a}let j=new Set,k=new Set;for(let c of h){let d=a.content(c);if(d)for(let a of b)!j.has(a)&&e.get(a).test(d)&&j.add(a),!k.has(a)&&f.get(a).test(d)&&k.add(a)}let l=[];for(let c of b){let b=j.has(c),d=k.has(c);(b||d)&&l.push({table:a.tableVars[c],access:b&&d?"read-write":d?"write":"read"})}c.set(g,l)}return c}},76160:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>j});var e=c(12839),f=c(74378),g=c(99121),h=a([f]);f=(h.then?(await h)():h)[0];let k=new Set(["DONE","CANCELLED","DEPRIORITIZED"]);async function i(a){let b=await a.query.node.findMany({where:(a,{and:b,eq:c,isNotNull:d})=>b(c(a.view,"ROADMAP"),d(a.planId)),columns:{planId:!0,status:!0}}),c=new Map;for(let a of b){let b=a.planId;c.set(b,(c.get(b)??!0)&&k.has(a.status))}return[...c.entries()].filter(([,a])=>a).map(([a])=>a)}async function j(a=f.db){let b=await i(a),c=a=>b.length?(0,e.or)((0,e.kZ)(a.planId),(0,e.RV)(a.planId,b)):(0,e.kZ)(a.planId),d=await a.delete(g.dbTable).where((0,e.Uo)((0,e.ne)(g.dbTable.source,"INTROSPECTION"),c(g.dbTable))).returning({id:g.dbTable.id}),h=await a.delete(g.endpoint).where((0,e.Uo)((0,e.ne)(g.endpoint.source,"INTROSPECTION"),c(g.endpoint))).returning({id:g.endpoint.id});return{tables:d.length,endpoints:h.length}}d()}catch(a){d(a)}})},87005:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(12839),f=c(74378),g=c(99121),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},91860:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>j});var e=c(12839),f=c(74378),g=c(99121),h=c(28019);c(15002);var i=a([f]);async function j(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}f=(i.then?(await i)():i)[0],d()}catch(a){d(a)}})},96904:(a,b,c)=>{var d,e;function f(a,b,c){function d(c,d){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:d,constr:g,traits:new Set},enumerable:!1}),c._zod.traits.has(a))return;c._zod.traits.add(a),b(c,d);let e=g.prototype,f=Object.keys(e);for(let a=0;a<f.length;a++){let b=f[a];b in c||(c[b]=e[b].bind(c))}}let e=c?.Parent??Object;class f extends e{}function g(a){var b;let e=c?.Parent?new f:this;for(let c of(d(e,a),(b=e._zod).deferred??(b.deferred=[]),e._zod.deferred))c();return e}return Object.defineProperty(f,"name",{value:a}),Object.defineProperty(g,"init",{value:d}),Object.defineProperty(g,Symbol.hasInstance,{value:b=>!!c?.Parent&&b instanceof c.Parent||b?._zod?.traits?.has(a)}),Object.defineProperty(g,"name",{value:a}),g}c.d(b,{EB:()=>ck,YO:()=>cO,zM:()=>cJ,ai:()=>cF,Ik:()=>cQ,Yj:()=>cj}),Symbol("zod_brand");class g extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h extends Error{constructor(a){super(`Encountered unidirectional transform during encode: ${a}`),this.name="ZodEncodeError"}}(d=globalThis).__zod_globalConfig??(d.__zod_globalConfig={});let i=globalThis.__zod_globalConfig;function j(a){return a&&Object.assign(i,a),i}let k=/^[cC][0-9a-z]{6,}$/,l=/^[0-9a-z]+$/,m=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,n=/^[0-9a-vA-V]{20}$/,o=/^[A-Za-z0-9]{27}$/,p=/^[a-zA-Z0-9_-]{21}$/,q=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,r=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,s=a=>a?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${a}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,t=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,u=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,v=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,w=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,x=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,y=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,z=/^[A-Za-z0-9_-]*$/,A=/^https?$/,B=/^\+[1-9]\d{6,14}$/,C="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",D=RegExp(`^${C}$`);function E(a){let b="(?:[01]\\d|2[0-3]):[0-5]\\d";return"number"==typeof a.precision?-1===a.precision?`${b}`:0===a.precision?`${b}:[0-5]\\d`:`${b}:[0-5]\\d\\.\\d{${a.precision}}`:`${b}(?::[0-5]\\d(?:\\.\\d+)?)?`}let F=/^-?\d+$/,G=/^-?\d+(?:\.\d+)?$/,H=/^(?:true|false)$/i,I=/^[^A-Z]*$/,J=/^[^a-z]*$/;function K(a){let b=Object.values(a).filter(a=>"number"==typeof a);return Object.entries(a).filter(([a,c])=>-1===b.indexOf(+a)).map(([a,b])=>b)}function L(a,b){return"bigint"==typeof b?b.toString():b}function M(a){return{get value(){{let b=a();return Object.defineProperty(this,"value",{value:b}),b}}}}function N(a){let b=+!!a.startsWith("^"),c=a.endsWith("$")?a.length-1:a.length;return a.slice(b,c)}let O=Symbol("evaluating");function P(a,b,c){let d;Object.defineProperty(a,b,{get(){if(d!==O)return void 0===d&&(d=O,d=c()),d},set(c){Object.defineProperty(a,b,{value:c})},configurable:!0})}function Q(a,b,c){Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}function R(...a){let b={};for(let c of a)Object.assign(b,Object.getOwnPropertyDescriptors(c));return Object.defineProperties({},b)}function S(a){return JSON.stringify(a)}let T="captureStackTrace"in Error?Error.captureStackTrace:(...a)=>{};function U(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let V=M(()=>{if(i.jitless||"u">typeof navigator&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return Function(""),!0}catch(a){return!1}});function W(a){if(!1===U(a))return!1;let b=a.constructor;if(void 0===b||"function"!=typeof b)return!0;let c=b.prototype;return!1!==U(c)&&!1!==Object.prototype.hasOwnProperty.call(c,"isPrototypeOf")}function X(a){return W(a)?{...a}:Array.isArray(a)?[...a]:a instanceof Map?new Map(a):a instanceof Set?new Set(a):a}let Y=new Set(["string","number","symbol"]);function Z(a){return a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(a,b,c){let d=new a._zod.constr(b??a._zod.def);return(!b||c?.parent)&&(d._zod.parent=a),d}function _(a){if(!a)return{};if("string"==typeof a)return{error:()=>a};if(a?.message!==void 0){if(a?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");a.error=a.message}return(delete a.message,"string"==typeof a.error)?{...a,error:()=>a.error}:a}let aa={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-0x80000000,0x7fffffff],uint32:[0,0xffffffff],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ab(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue!==!0)return!0;return!1}function ac(a,b){return b.map(b=>(b.path??(b.path=[]),b.path.unshift(a),b))}function ad(a){return"string"==typeof a?a:a?.message}function ae(a,b,c){let d=a.message?a.message:ad(a.inst?._zod.def?.error?.(a))??ad(b?.error?.(a))??ad(c.customError?.(a))??ad(c.localeError?.(a))??"Invalid input",{inst:e,continue:f,input:g,...h}=a;return h.path??(h.path=[]),h.message=d,b?.reportInput&&(h.input=g),h}function af(a){return Array.isArray(a)?"array":"string"==typeof a?"string":"unknown"}function ag(...a){let[b,c,d]=a;return"string"==typeof b?{message:b,code:"custom",input:c,inst:d}:{...b}}let ah=f("$ZodCheck",(a,b)=>{var c;a._zod??(a._zod={}),a._zod.def=b,(c=a._zod).onattach??(c.onattach=[])}),ai={number:"number",bigint:"bigint",object:"date"},aj=f("$ZodCheckLessThan",(a,b)=>{ah.init(a,b);let c=ai[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.maximum:c.exclusiveMaximum)??1/0;b.value<d&&(b.inclusive?c.maximum=b.value:c.exclusiveMaximum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value<=b.value:d.value<b.value)||d.issues.push({origin:c,code:"too_big",maximum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),ak=f("$ZodCheckGreaterThan",(a,b)=>{ah.init(a,b);let c=ai[typeof b.value];a._zod.onattach.push(a=>{let c=a._zod.bag,d=(b.inclusive?c.minimum:c.exclusiveMinimum)??-1/0;b.value>d&&(b.inclusive?c.minimum=b.value:c.exclusiveMinimum=b.value)}),a._zod.check=d=>{(b.inclusive?d.value>=b.value:d.value>b.value)||d.issues.push({origin:c,code:"too_small",minimum:"object"==typeof b.value?b.value.getTime():b.value,input:d.value,inclusive:b.inclusive,inst:a,continue:!b.abort})}}),al=f("$ZodCheckMultipleOf",(a,b)=>{ah.init(a,b),a._zod.onattach.push(a=>{var c;(c=a._zod.bag).multipleOf??(c.multipleOf=b.value)}),a._zod.check=c=>{let d,e,f;if(typeof c.value!=typeof b.value)throw Error("Cannot mix number and bigint in multiple_of check.");("bigint"==typeof c.value?c.value%b.value===BigInt(0):0==(e=Math.round(d=c.value/b.value),f=Number.EPSILON*Math.max(Math.abs(d),1),Math.abs(d-e)<f?0:d-e))||c.issues.push({origin:typeof c.value,code:"not_multiple_of",divisor:b.value,input:c.value,inst:a,continue:!b.abort})}}),am=f("$ZodCheckNumberFormat",(a,b)=>{ah.init(a,b),b.format=b.format||"float64";let c=b.format?.includes("int"),d=c?"int":"number",[e,f]=aa[b.format];a._zod.onattach.push(a=>{let d=a._zod.bag;d.format=b.format,d.minimum=e,d.maximum=f,c&&(d.pattern=F)}),a._zod.check=g=>{let h=g.value;if(c){if(!Number.isInteger(h))return void g.issues.push({expected:d,format:b.format,code:"invalid_type",continue:!1,input:h,inst:a});if(!Number.isSafeInteger(h))return void(h>0?g.issues.push({input:h,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}):g.issues.push({input:h,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:a,origin:d,inclusive:!0,continue:!b.abort}))}h<e&&g.issues.push({origin:"number",input:h,code:"too_small",minimum:e,inclusive:!0,inst:a,continue:!b.abort}),h>f&&g.issues.push({origin:"number",input:h,code:"too_big",maximum:f,inclusive:!0,inst:a,continue:!b.abort})}}),an=f("$ZodCheckMaxLength",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.maximum??1/0;b.maximum<c&&(a._zod.bag.maximum=b.maximum)}),a._zod.check=c=>{let d=c.value;if(d.length<=b.maximum)return;let e=af(d);c.issues.push({origin:e,code:"too_big",maximum:b.maximum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),ao=f("$ZodCheckMinLength",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag.minimum??-1/0;b.minimum>c&&(a._zod.bag.minimum=b.minimum)}),a._zod.check=c=>{let d=c.value;if(d.length>=b.minimum)return;let e=af(d);c.issues.push({origin:e,code:"too_small",minimum:b.minimum,inclusive:!0,input:d,inst:a,continue:!b.abort})}}),ap=f("$ZodCheckLengthEquals",(a,b)=>{var c;ah.init(a,b),(c=a._zod.def).when??(c.when=a=>{let b=a.value;return null!=b&&void 0!==b.length}),a._zod.onattach.push(a=>{let c=a._zod.bag;c.minimum=b.length,c.maximum=b.length,c.length=b.length}),a._zod.check=c=>{let d=c.value,e=d.length;if(e===b.length)return;let f=af(d),g=e>b.length;c.issues.push({origin:f,...g?{code:"too_big",maximum:b.length}:{code:"too_small",minimum:b.length},inclusive:!0,exact:!0,input:c.value,inst:a,continue:!b.abort})}}),aq=f("$ZodCheckStringFormat",(a,b)=>{var c,d;ah.init(a,b),a._zod.onattach.push(a=>{let c=a._zod.bag;c.format=b.format,b.pattern&&(c.patterns??(c.patterns=new Set),c.patterns.add(b.pattern))}),b.pattern?(c=a._zod).check??(c.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:b.format,input:c.value,...b.pattern?{pattern:b.pattern.toString()}:{},inst:a,continue:!b.abort})}):(d=a._zod).check??(d.check=()=>{})}),ar=f("$ZodCheckRegex",(a,b)=>{aq.init(a,b),a._zod.check=c=>{b.pattern.lastIndex=0,b.pattern.test(c.value)||c.issues.push({origin:"string",code:"invalid_format",format:"regex",input:c.value,pattern:b.pattern.toString(),inst:a,continue:!b.abort})}}),as=f("$ZodCheckLowerCase",(a,b)=>{b.pattern??(b.pattern=I),aq.init(a,b)}),at=f("$ZodCheckUpperCase",(a,b)=>{b.pattern??(b.pattern=J),aq.init(a,b)}),au=f("$ZodCheckIncludes",(a,b)=>{ah.init(a,b);let c=Z(b.includes),d=new RegExp("number"==typeof b.position?`^.{${b.position}}${c}`:c);b.pattern=d,a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(d)}),a._zod.check=c=>{c.value.includes(b.includes,b.position)||c.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:b.includes,input:c.value,inst:a,continue:!b.abort})}}),av=f("$ZodCheckStartsWith",(a,b)=>{ah.init(a,b);let c=RegExp(`^${Z(b.prefix)}.*`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.startsWith(b.prefix)||c.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:b.prefix,input:c.value,inst:a,continue:!b.abort})}}),aw=f("$ZodCheckEndsWith",(a,b)=>{ah.init(a,b);let c=RegExp(`.*${Z(b.suffix)}$`);b.pattern??(b.pattern=c),a._zod.onattach.push(a=>{let b=a._zod.bag;b.patterns??(b.patterns=new Set),b.patterns.add(c)}),a._zod.check=c=>{c.value.endsWith(b.suffix)||c.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:b.suffix,input:c.value,inst:a,continue:!b.abort})}}),ax=f("$ZodCheckOverwrite",(a,b)=>{ah.init(a,b),a._zod.check=a=>{a.value=b.tx(a.value)}});class ay{constructor(a=[]){this.content=[],this.indent=0,this&&(this.args=a)}indented(a){this.indent+=1,a(this),this.indent-=1}write(a){if("function"==typeof a){a(this,{execution:"sync"}),a(this,{execution:"async"});return}let b=a.split("\n").filter(a=>a),c=Math.min(...b.map(a=>a.length-a.trimStart().length));for(let a of b.map(a=>a.slice(c)).map(a=>" ".repeat(2*this.indent)+a))this.content.push(a)}compile(){return Function(...this?.args,[...(this?.content??[""]).map(a=>` ${a}`)].join("\n"))}}let az=(a,b)=>{a.name="$ZodError",Object.defineProperty(a,"_zod",{value:a._zod,enumerable:!1}),Object.defineProperty(a,"issues",{value:b,enumerable:!1}),a.message=JSON.stringify(b,L,2),Object.defineProperty(a,"toString",{value:()=>a.message,enumerable:!1})},aA=f("$ZodError",az),aB=f("$ZodError",az,{Parent:Error}),aC=a=>(b,c,d,e)=>{let f=d?{...d,async:!1}:{async:!1},h=b._zod.run({value:c,issues:[]},f);if(h instanceof Promise)throw new g;if(h.issues.length){let b=new(e?.Err??a)(h.issues.map(a=>ae(a,f,j())));throw T(b,e?.callee),b}return h.value},aD=a=>async(b,c,d,e)=>{let f=d?{...d,async:!0}:{async:!0},g=b._zod.run({value:c,issues:[]},f);if(g instanceof Promise&&(g=await g),g.issues.length){let b=new(e?.Err??a)(g.issues.map(a=>ae(a,f,j())));throw T(b,e?.callee),b}return g.value},aE=a=>(b,c,d)=>{let e=d?{...d,async:!1}:{async:!1},f=b._zod.run({value:c,issues:[]},e);if(f instanceof Promise)throw new g;return f.issues.length?{success:!1,error:new(a??aA)(f.issues.map(a=>ae(a,e,j())))}:{success:!0,data:f.value}},aF=aE(aB),aG=a=>async(b,c,d)=>{let e=d?{...d,async:!0}:{async:!0},f=b._zod.run({value:c,issues:[]},e);return f instanceof Promise&&(f=await f),f.issues.length?{success:!1,error:new a(f.issues.map(a=>ae(a,e,j())))}:{success:!0,data:f.value}},aH=aG(aB),aI={major:4,minor:4,patch:3},aJ=f("$ZodType",(a,b)=>{var c;a??(a={}),a._zod.def=b,a._zod.bag=a._zod.bag||{},a._zod.version=aI;let d=[...a._zod.def.checks??[]];for(let b of(a._zod.traits.has("$ZodCheck")&&d.unshift(a),d))for(let c of b._zod.onattach)c(a);if(0===d.length)(c=a._zod).deferred??(c.deferred=[]),a._zod.deferred?.push(()=>{a._zod.run=a._zod.parse});else{let b=(a,b,c)=>{let d,e=ab(a);for(let f of b){if(f._zod.def.when){if(function(a,b=0){if(!0===a.aborted)return!0;for(let c=b;c<a.issues.length;c++)if(a.issues[c]?.continue===!1)return!0;return!1}(a)||!f._zod.def.when(a))continue}else if(e)continue;let b=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&c?.async===!1)throw new g;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{await h,a.issues.length!==b&&(e||(e=ab(a,b)))});else{if(a.issues.length===b)continue;e||(e=ab(a,b))}}return d?d.then(()=>a):a},c=(c,e,f)=>{if(ab(c))return c.aborted=!0,c;let h=b(e,d,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(b=>a._zod.parse(b,f))}return a._zod.parse(h,f)};a._zod.run=(e,f)=>{if(f.skipChecks)return a._zod.parse(e,f);if("backward"===f.direction){let b=a._zod.parse({value:e.value,issues:[]},{...f,skipChecks:!0});return b instanceof Promise?b.then(a=>c(a,e,f)):c(b,e,f)}let h=a._zod.parse(e,f);if(h instanceof Promise){if(!1===f.async)throw new g;return h.then(a=>b(a,d,f))}return b(h,d,f)}}P(a,"~standard",()=>({validate:b=>{try{let c=aF(a,b);return c.success?{value:c.data}:{issues:c.error?.issues}}catch(c){return aH(a,b).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),aK=f("$ZodString",(a,b)=>{var c;let d;aJ.init(a,b),a._zod.pattern=[...a?._zod.bag?.patterns??[]].pop()??(d=(c=a._zod.bag)?`[\\s\\S]{${c?.minimum??0},${c?.maximum??""}}`:"[\\s\\S]*",RegExp(`^${d}$`)),a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=String(c.value)}catch(a){}return"string"==typeof c.value||c.issues.push({expected:"string",code:"invalid_type",input:c.value,inst:a}),c}}),aL=f("$ZodStringFormat",(a,b)=>{aq.init(a,b),aK.init(a,b)}),aM=f("$ZodGUID",(a,b)=>{b.pattern??(b.pattern=r),aL.init(a,b)}),aN=f("$ZodUUID",(a,b)=>{if(b.version){let a={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[b.version];if(void 0===a)throw Error(`Invalid UUID version: "${b.version}"`);b.pattern??(b.pattern=s(a))}else b.pattern??(b.pattern=s());aL.init(a,b)}),aO=f("$ZodEmail",(a,b)=>{b.pattern??(b.pattern=t),aL.init(a,b)}),aP=f("$ZodURL",(a,b)=>{aL.init(a,b),a._zod.check=c=>{try{let d=c.value.trim();if(!b.normalize&&b.protocol?.source===A.source&&!/^https?:\/\//i.test(d))return void c.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:c.value,inst:a,continue:!b.abort});let e=new URL(d);b.hostname&&(b.hostname.lastIndex=0,b.hostname.test(e.hostname)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:b.hostname.source,input:c.value,inst:a,continue:!b.abort})),b.protocol&&(b.protocol.lastIndex=0,b.protocol.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)||c.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:b.protocol.source,input:c.value,inst:a,continue:!b.abort})),b.normalize?c.value=e.href:c.value=d;return}catch(d){c.issues.push({code:"invalid_format",format:"url",input:c.value,inst:a,continue:!b.abort})}}}),aQ=f("$ZodEmoji",(a,b)=>{b.pattern??(b.pattern=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),aL.init(a,b)}),aR=f("$ZodNanoID",(a,b)=>{b.pattern??(b.pattern=p),aL.init(a,b)}),aS=f("$ZodCUID",(a,b)=>{b.pattern??(b.pattern=k),aL.init(a,b)}),aT=f("$ZodCUID2",(a,b)=>{b.pattern??(b.pattern=l),aL.init(a,b)}),aU=f("$ZodULID",(a,b)=>{b.pattern??(b.pattern=m),aL.init(a,b)}),aV=f("$ZodXID",(a,b)=>{b.pattern??(b.pattern=n),aL.init(a,b)}),aW=f("$ZodKSUID",(a,b)=>{b.pattern??(b.pattern=o),aL.init(a,b)}),aX=f("$ZodISODateTime",(a,b)=>{let c,d,e;b.pattern??(c=E({precision:b.precision}),d=["Z"],b.local&&d.push(""),b.offset&&d.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)"),e=`${c}(?:${d.join("|")})`,b.pattern=RegExp(`^${C}T(?:${e})$`)),aL.init(a,b)}),aY=f("$ZodISODate",(a,b)=>{b.pattern??(b.pattern=D),aL.init(a,b)}),aZ=f("$ZodISOTime",(a,b)=>{b.pattern??(b.pattern=RegExp(`^${E(b)}$`)),aL.init(a,b)}),a$=f("$ZodISODuration",(a,b)=>{b.pattern??(b.pattern=q),aL.init(a,b)}),a_=f("$ZodIPv4",(a,b)=>{b.pattern??(b.pattern=u),aL.init(a,b),a._zod.bag.format="ipv4"}),a0=f("$ZodIPv6",(a,b)=>{b.pattern??(b.pattern=v),aL.init(a,b),a._zod.bag.format="ipv6",a._zod.check=c=>{try{new URL(`http://[${c.value}]`)}catch{c.issues.push({code:"invalid_format",format:"ipv6",input:c.value,inst:a,continue:!b.abort})}}}),a1=f("$ZodCIDRv4",(a,b)=>{b.pattern??(b.pattern=w),aL.init(a,b)}),a2=f("$ZodCIDRv6",(a,b)=>{b.pattern??(b.pattern=x),aL.init(a,b),a._zod.check=c=>{let d=c.value.split("/");try{if(2!==d.length)throw Error();let[a,b]=d;if(!b)throw Error();let c=Number(b);if(`${c}`!==b||c<0||c>128)throw Error();new URL(`http://[${a}]`)}catch{c.issues.push({code:"invalid_format",format:"cidrv6",input:c.value,inst:a,continue:!b.abort})}}});function a3(a){if(""===a)return!0;if(/\s/.test(a)||a.length%4!=0)return!1;try{return atob(a),!0}catch{return!1}}let a4=f("$ZodBase64",(a,b)=>{b.pattern??(b.pattern=y),aL.init(a,b),a._zod.bag.contentEncoding="base64",a._zod.check=c=>{a3(c.value)||c.issues.push({code:"invalid_format",format:"base64",input:c.value,inst:a,continue:!b.abort})}}),a5=f("$ZodBase64URL",(a,b)=>{b.pattern??(b.pattern=z),aL.init(a,b),a._zod.bag.contentEncoding="base64url",a._zod.check=c=>{!function(a){if(!z.test(a))return!1;let b=a.replace(/[-_]/g,a=>"-"===a?"+":"/");return a3(b.padEnd(4*Math.ceil(b.length/4),"="))}(c.value)&&c.issues.push({code:"invalid_format",format:"base64url",input:c.value,inst:a,continue:!b.abort})}}),a6=f("$ZodE164",(a,b)=>{b.pattern??(b.pattern=B),aL.init(a,b)}),a7=f("$ZodJWT",(a,b)=>{aL.init(a,b),a._zod.check=c=>{!function(a,b=null){try{let c=a.split(".");if(3!==c.length)return!1;let[d]=c;if(!d)return!1;let e=JSON.parse(atob(d));if("typ"in e&&e?.typ!=="JWT"||!e.alg||b&&(!("alg"in e)||e.alg!==b))return!1;return!0}catch{return!1}}(c.value,b.alg)&&c.issues.push({code:"invalid_format",format:"jwt",input:c.value,inst:a,continue:!b.abort})}}),a8=f("$ZodNumber",(a,b)=>{aJ.init(a,b),a._zod.pattern=a._zod.bag.pattern??G,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=Number(c.value)}catch(a){}let e=c.value;if("number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e))return c;let f="number"==typeof e?Number.isNaN(e)?"NaN":Number.isFinite(e)?void 0:"Infinity":void 0;return c.issues.push({expected:"number",code:"invalid_type",input:e,inst:a,...f?{received:f}:{}}),c}}),a9=f("$ZodNumberFormat",(a,b)=>{am.init(a,b),a8.init(a,b)}),ba=f("$ZodBoolean",(a,b)=>{aJ.init(a,b),a._zod.pattern=H,a._zod.parse=(c,d)=>{if(b.coerce)try{c.value=!!c.value}catch(a){}let e=c.value;return"boolean"==typeof e||c.issues.push({expected:"boolean",code:"invalid_type",input:e,inst:a}),c}}),bb=f("$ZodUnknown",(a,b)=>{aJ.init(a,b),a._zod.parse=a=>a}),bc=f("$ZodNever",(a,b)=>{aJ.init(a,b),a._zod.parse=(b,c)=>(b.issues.push({expected:"never",code:"invalid_type",input:b.value,inst:a}),b)});function bd(a,b,c){a.issues.length&&b.issues.push(...ac(c,a.issues)),b.value[c]=a.value}let be=f("$ZodArray",(a,b)=>{aJ.init(a,b),a._zod.parse=(c,d)=>{let e=c.value;if(!Array.isArray(e))return c.issues.push({expected:"array",code:"invalid_type",input:e,inst:a}),c;c.value=Array(e.length);let f=[];for(let a=0;a<e.length;a++){let g=e[a],h=b.element._zod.run({value:g,issues:[]},d);h instanceof Promise?f.push(h.then(b=>bd(b,c,a))):bd(h,c,a)}return f.length?Promise.all(f).then(()=>c):c}});function bf(a,b,c,d,e,f){let g=c in d;if(a.issues.length){if(e&&f&&!g)return;b.issues.push(...ac(c,a.issues))}if(!g&&!e){a.issues.length||b.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[c]});return}void 0===a.value?g&&(b.value[c]=void 0):b.value[c]=a.value}function bg(a){var b;let c=Object.keys(a.shape);for(let b of c)if(!a.shape?.[b]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${b}": expected a Zod schema`);let d=Object.keys(b=a.shape).filter(a=>"optional"===b[a]._zod.optin&&"optional"===b[a]._zod.optout);return{...a,keys:c,keySet:new Set(c),numKeys:c.length,optionalKeys:new Set(d)}}function bh(a,b,c,d,e,f){let g=[],h=e.keySet,i=e.catchall._zod,j=i.def.type,k="optional"===i.optin,l="optional"===i.optout;for(let e in b){if("__proto__"===e||h.has(e))continue;if("never"===j){g.push(e);continue}let f=i.run({value:b[e],issues:[]},d);f instanceof Promise?a.push(f.then(a=>bf(a,c,e,b,k,l))):bf(f,c,e,b,k,l)}return(g.length&&c.issues.push({code:"unrecognized_keys",keys:g,input:b,inst:f}),a.length)?Promise.all(a).then(()=>c):c}let bi=f("$ZodObject",(a,b)=>{let c;aJ.init(a,b);let d=Object.getOwnPropertyDescriptor(b,"shape");if(!d?.get){let a=b.shape;Object.defineProperty(b,"shape",{get:()=>{let c={...a};return Object.defineProperty(b,"shape",{value:c}),c}})}let e=M(()=>bg(b));P(a._zod,"propValues",()=>{let a=b.shape,c={};for(let b in a){let d=a[b]._zod;if(d.values)for(let a of(c[b]??(c[b]=new Set),d.values))c[b].add(a)}return c});let f=b.catchall;a._zod.parse=(b,d)=>{c??(c=e.value);let g=b.value;if(!U(g))return b.issues.push({expected:"object",code:"invalid_type",input:g,inst:a}),b;b.value={};let h=[],i=c.shape;for(let a of c.keys){let c=i[a],e="optional"===c._zod.optin,f="optional"===c._zod.optout,j=c._zod.run({value:g[a],issues:[]},d);j instanceof Promise?h.push(j.then(c=>bf(c,b,a,g,e,f))):bf(j,b,a,g,e,f)}return f?bh(h,g,b,d,e.value,a):h.length?Promise.all(h).then(()=>b):b}}),bj=f("$ZodObjectJIT",(a,b)=>{let c,d;bi.init(a,b);let e=a._zod.parse,f=M(()=>bg(b)),g=!i.jitless,h=g&&V.value,j=b.catchall;a._zod.parse=(i,k)=>{d??(d=f.value);let l=i.value;return U(l)?g&&h&&k?.async===!1&&!0!==k.jitless?(c||(c=(a=>{let b=new ay(["shape","payload","ctx"]),c=f.value,d=a=>{let b=S(a);return`shape[${b}]._zod.run({ value: input[${b}], issues: [] }, ctx)`};b.write("const input = payload.value;");let e=Object.create(null),g=0;for(let a of c.keys)e[a]=`key_${g++}`;for(let f of(b.write("const newResult = {};"),c.keys)){let c=e[f],g=S(f),h=a[f],i=h?._zod?.optin==="optional",j=h?._zod?.optout==="optional";b.write(`const ${c} = ${d(f)};`),i&&j?b.write(`
2
2
  if (${c}.issues.length) {
3
3
  if (${g} in input) {
4
4
  payload.issues = payload.issues.concat(${c}.issues.map(iss => ({
@@ -4,4 +4,4 @@
4
4
  hash text NOT NULL,
5
5
  created_at numeric
6
6
  )
7
- `;await a.session.run(g);let h=(await a.values((0,e.ll)`SELECT id, hash, created_at FROM ${e.ll.identifier(f)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0,i=[];for(let b of c)if(!h||Number(h[2])<b.folderMillis){for(let c of b.sql)i.push(a.run(e.ll.raw(c)));i.push(a.run((0,e.ll)`INSERT INTO ${e.ll.identifier(f)} ("hash", "created_at") VALUES(${b.hash}, ${b.folderMillis})`))}await a.session.migrate(i)}},91923:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(77598),e=c(73024);function f(a){let b=a.migrationsFolder,c=[],f=`${b}/meta/_journal.json`;if(!e.existsSync(f))throw Error("Can't find meta/_journal.json file");for(let a of JSON.parse(e.readFileSync(`${b}/meta/_journal.json`).toString()).entries){let f=`${b}/${a.tag}.sql`;try{let f=e.readFileSync(`${b}/${a.tag}.sql`).toString(),g=f.split("--\x3e statement-breakpoint").map(a=>a);c.push({sql:g,bps:a.breakpoints,folderMillis:a.when,hash:d.createHash("sha256").update(f).digest("hex")})}catch{throw Error(`No file ${f} found in ${b} folder`)}}return c}},92981:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(96774),g=c(86541),h=c(91923),i=c(76760),j=c(73136),k=a([e,f]);[e,f]=k.then?(await k)():k;let q=(0,i.dirname)((0,i.dirname)((0,i.dirname)((0,j.fileURLToPath)("file:///home/runner/work/beacon/beacon/lib/drizzle/provision.ts")))),r=process.env.BEACON_MIGRATIONS_DIR||(0,i.join)(q,"drizzle"),s={Node:["createdAt","updatedAt"],Note:["createdAt","updatedAt"],DbTable:["createdAt","updatedAt"],Endpoint:["createdAt","updatedAt"],DraftTable:["createdAt"],SyncState:["codeGraphSyncedAt","updatedAt"],AppSetting:["updatedAt"],ProjectMeta:["updatedAt"],CodeFile:["updatedAt"]};async function l(a,b){return(await a.execute({sql:"SELECT 1 FROM sqlite_master WHERE type='table' AND name = ?",args:[b]})).rows.length>0}async function m(a,b){let c=await a.execute(`PRAGMA table_info("${b}")`);return new Set(c.rows.map(a=>String(a.name)))}async function n(a){if(!await l(a,"__drizzle_migrations"))return 0;let b=await a.execute('SELECT count(*) AS n FROM "__drizzle_migrations"');return Number(b.rows[0]?.n??0)}async function o(a){for(let[b,c]of Object.entries(s)){if(!await l(a,b))continue;let d=await m(a,b);for(let e of c)d.has(e)&&await a.execute(`UPDATE "${b}" SET "${e}" = CAST((julianday("${e}") - 2440587.5) * 86400000 AS INTEGER) WHERE typeof("${e}") = 'text'`)}}async function p(a,b=r){let c=(0,e.createClient)({url:a});try{await c.execute("PRAGMA journal_mode = WAL;"),await c.execute("PRAGMA foreign_keys = ON;");let a=await l(c,"__drizzle_migrations"),d=await l(c,"Node"),e=!1;if(d&&!a){let a=(0,h.I)({migrationsFolder:b})[0];a&&(await c.execute('CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (id SERIAL PRIMARY KEY, hash text NOT NULL, created_at numeric)'),await c.execute({sql:'INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES (?, ?)',args:[a.hash,a.folderMillis]}),e=!0)}let i=await n(c);return await (0,g._)((0,f.f)(c),{migrationsFolder:b}),await n(c)>i&&(e=!0),await o(c),{migrated:e}}finally{c.close()}}d()}catch(a){d(a)}})}};
7
+ `;await a.session.run(g);let h=(await a.values((0,e.ll)`SELECT id, hash, created_at FROM ${e.ll.identifier(f)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0,i=[];for(let b of c)if(!h||Number(h[2])<b.folderMillis){for(let c of b.sql)i.push(a.run(e.ll.raw(c)));i.push(a.run((0,e.ll)`INSERT INTO ${e.ll.identifier(f)} ("hash", "created_at") VALUES(${b.hash}, ${b.folderMillis})`))}await a.session.migrate(i)}},91923:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(77598),e=c(73024);function f(a){let b=a.migrationsFolder,c=[],f=`${b}/meta/_journal.json`;if(!e.existsSync(f))throw Error("Can't find meta/_journal.json file");for(let a of JSON.parse(e.readFileSync(`${b}/meta/_journal.json`).toString()).entries){let f=`${b}/${a.tag}.sql`;try{let f=e.readFileSync(`${b}/${a.tag}.sql`).toString(),g=f.split("--\x3e statement-breakpoint").map(a=>a);c.push({sql:g,bps:a.breakpoints,folderMillis:a.when,hash:d.createHash("sha256").update(f).digest("hex")})}catch{throw Error(`No file ${f} found in ${b} folder`)}}return c}},92981:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(96774),g=c(86541),h=c(91923),i=c(76760),j=c(73136),k=a([e,f]);[e,f]=k.then?(await k)():k;let q=(0,i.dirname)((0,i.dirname)((0,i.dirname)((0,j.fileURLToPath)("file:///home/runner/work/beacon/beacon/lib/drizzle/provision.ts")))),r=process.env.BEACON_MIGRATIONS_DIR||(0,i.join)(q,"drizzle"),s={Node:["createdAt","updatedAt"],Note:["createdAt","updatedAt"],DbTable:["createdAt","updatedAt"],Endpoint:["createdAt","updatedAt"],DraftTable:["createdAt"],SyncState:["codeGraphSyncedAt","updatedAt"],AppSetting:["updatedAt"],ProjectMeta:["updatedAt"],CodeFile:["updatedAt"]};async function l(a,b){return(await a.execute({sql:"SELECT 1 FROM sqlite_master WHERE type='table' AND name = ?",args:[b]})).rows.length>0}async function m(a,b){let c=await a.execute(`PRAGMA table_info("${b}")`);return new Set(c.rows.map(a=>String(a.name)))}async function n(a){if(!await l(a,"__drizzle_migrations"))return 0;let b=await a.execute('SELECT count(*) AS n FROM "__drizzle_migrations"');return Number(b.rows[0]?.n??0)}async function o(a){for(let[b,c]of Object.entries(s)){if(!await l(a,b))continue;let d=await m(a,b);for(let e of c)d.has(e)&&await a.execute(`UPDATE "${b}" SET "${e}" = CAST((julianday("${e}") - 2440587.5) * 86400000 AS INTEGER) WHERE typeof("${e}") = 'text'`)}}async function p(a,b=r){let c=(0,e.createClient)({url:a});try{await c.execute("PRAGMA journal_mode = WAL;"),await c.execute("PRAGMA foreign_keys = ON;"),await c.execute("PRAGMA busy_timeout = 5000;");let a=await l(c,"__drizzle_migrations"),d=await l(c,"Node"),e=!1;if(d&&!a){let a=(0,h.I)({migrationsFolder:b})[0];a&&(await c.execute('CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (id SERIAL PRIMARY KEY, hash text NOT NULL, created_at numeric)'),await c.execute({sql:'INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES (?, ?)',args:[a.hash,a.folderMillis]}),e=!0)}let i=await n(c);return await (0,g._)((0,f.f)(c),{migrationsFolder:b}),await n(c)>i&&(e=!0),await o(c),{migrated:e}}finally{c.close()}}d()}catch(a){d(a)}})}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=3221,exports.ids=[3221],exports.modules={18072:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bk:()=>w,Ph:()=>u,Ze:()=>x,sS:()=>v});var e=c(34216),f=c(56727),g=c(30046),h=c(72179),i=c(50101),j=c(61024),k=c(71584),l=c(79935),m=c(24433),n=c(54655),o=c(89049),p=c(70809),q=c(19734),r=a([f,h,i,m,q]);async function s(){let a=(0,n.Fn)(),b=(0,h.iL)(),c=await (0,i.C5)(),d=(0,p.YV)(),e=a?.description??"(no description)",f=a?.markdown?(0,m.J)(a.markdown).prose:(0,l.j)(e,b,c);return{description:e,markdown:f,draftDoc:b,featureGraph:c,annotations:d.annotations,globalComment:d.globalComment}}async function t(){await (0,i.t7)(),(0,h.Vs)(),(0,n.E9)(),(0,p.nb)()}async function u(a){let b=(0,n.Fn)(),c=await s(),d=a?.doc??c.draftDoc,i=d?await (0,h.XF)(d):null,l=await f.db.update(g.node).set({source:"MANUAL"}).where((0,e.Uo)((0,e.eq)(g.node.source,"DRAFT"),(0,e.eq)(g.node.view,"ROADMAP"))).returning({id:g.node.id,title:g.node.title,cluster:g.node.cluster}),m={count:l.length};if(l.length){let a=await f.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP"),columns:{id:!0,parentId:!0,cluster:!0,x:!0,y:!0}}),b=new Set(l.map(a=>a.id)),c=a=>(a??"").trim()||"—",d=a.filter(a=>!b.has(a.id)).map(a=>({x:a.x,y:a.y,group:c(a.cluster),top:!a.parentId}));for(let a of l){let b=c(a.cluster),h=(0,k.E)(d.filter(a=>a.top&&a.group===b),d);await f.db.update(g.node).set({x:h.x,y:h.y}).where((0,e.eq)(g.node.id,a.id)),d.push({x:h.x,y:h.y,group:b,top:!0})}}(0,j.WH)({description:c.description,markdown:c.markdown,verdict:"approved",annotations:c.annotations,globalComment:c.globalComment,draftDoc:c.draftDoc,featureGraph:c.featureGraph});let p=[];i&&p.push(`${i.tables} table(s), ${i.relations} relation(s) and ${i.endpoints} endpoint(s)`),m.count&&p.push(`${m.count} feature(s)`);let r=p.length?`${p.join(" and ")} approved and persisted.`:"Plan approved.";return(0,o.Af)({proposedAt:b?.proposedAt??0,status:"approved",summary:r,detail:d?(0,h.zO)(d):void 0,features:l.map(a=>({title:a.title,id:a.id})),decidedAt:Date.now()}),await t(),await (0,q.Bx)(),{db:i,features:m.count}}async function v(){let a=(0,n.Fn)(),b=await s();(b.draftDoc&&(b.draftDoc.tables.length||b.draftDoc.endpoints.length)||b.featureGraph.features.length>0||a?.markdown)&&(0,j.WH)({description:b.description,markdown:b.markdown,verdict:"discarded",annotations:b.annotations,globalComment:b.globalComment,draftDoc:b.draftDoc,featureGraph:b.featureGraph}),(0,o.Af)({proposedAt:a?.proposedAt??0,status:"discarded",summary:"The user discarded the plan.",decidedAt:Date.now()}),(0,h.mk)(),await t(),await (0,q.Bx)()}async function w(){let a=(0,p.Z3)();if(a.submitted&&a.feedback)return{kind:"feedback",feedback:a.feedback};let b=(0,o.zC)();if(b)return"approved"===b.status?{kind:"approved",summary:b.summary,detail:b.detail,features:function(a){if(a?.length)return a.map(a=>"string"==typeof a?{title:a,id:""}:{title:a.title,id:a.id})}(b.features)}:{kind:"discarded",summary:b.summary};let c=(0,n.Fn)(),d=(0,h.iL)(),e=await (0,i.C5)();return(d?.tables.length??0)+(d?.endpoints.length??0)+e.features.length>0||c?.markdown?{kind:"pending"}:{kind:"discarded",summary:"The user discarded the plan."}}function x(){(0,p.nb)(),(0,o.mh)()}[f,h,i,m,q]=r.then?(await r)():r,d()}catch(a){d(a)}})},19225:(a,b,c)=>{a.exports=c(44870)},54655:(a,b,c)=>{c.d(b,{E9:()=>k,Fn:()=>i,UC:()=>j});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(){return(0,e.join)((0,f.KS)(),"plan-meta.json")}function i(){try{return JSON.parse((0,d.readFileSync)(h(),"utf8"))}catch{return null}}function j(a){(0,g.q)(h(),a)}function k(){(0,d.rmSync)(h(),{force:!0})}},61024:(a,b,c)=>{c.d(b,{Pq:()=>k,WH:()=>j,ao:()=>l});var d=c(73024),e=c(76760),f=c(77598),g=c(45301),h=c(32213);function i(){let a=(0,e.join)((0,g.KS)(),"plans","history");return(0,d.mkdirSync)(a,{recursive:!0}),a}function j(a){let b={...a,id:(0,f.randomUUID)().slice(0,8),archivedAt:Date.now()};return(0,h.q)((0,e.join)(i(),`${b.id}.json`),b,!0),b}function k(){let a;try{a=(0,d.readdirSync)(i())}catch{return[]}let b=[];for(let c of a)if(c.endsWith(".json"))try{let a=(0,e.join)(i(),c),f=(0,d.readFileSync)(a,"utf8"),g=JSON.parse(f);b.push(g)}catch{}return b.sort((a,b)=>b.archivedAt-a.archivedAt)}function l(a){try{let b=(0,d.readFileSync)((0,e.join)(i(),`${a}.json`),"utf8");return JSON.parse(b)}catch{return null}}},70809:(a,b,c)=>{c.d(b,{nb:()=>k,Z3:()=>m,YV:()=>i,Tm:()=>l,D_:()=>j});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(){return(0,e.join)((0,f.KS)(),"plan-annotations-current.json")}function i(){try{let a=JSON.parse((0,d.readFileSync)(h(),"utf8"));return{annotations:a.annotations??[],globalComment:a.globalComment??"",submitted:!!a.submitted,submittedAt:a.submittedAt,boardEdits:a.boardEdits??"",questions:a.questions??[]}}catch{return{annotations:[],globalComment:"",submitted:!1,questions:[]}}}function j(a){(0,g.q)(h(),a)}function k(){(0,d.rmSync)(h(),{force:!0})}function l(a){let b;return[function(a,b=""){let c=a.filter(a=>(a.kind??"comment")==="comment"&&a.comment.trim()),d=a.filter(a=>"deletion"===a.kind),e=b.trim();if(!c.length&&!d.length&&!e)return"";let f=[];if(e&&f.push(`## Overall feedback
1
+ "use strict";exports.id=3221,exports.ids=[3221],exports.modules={18072:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bk:()=>x,Ph:()=>v,Ze:()=>y,sS:()=>w});var e=c(77598),f=c(34216),g=c(56727),h=c(30046),i=c(72179),j=c(50101),k=c(61024),l=c(71584),m=c(79935),n=c(24433),o=c(54655),p=c(89049),q=c(70809),r=c(19734),s=a([g,i,j,n,r]);async function t(){let a=(0,o.Fn)(),b=(0,i.iL)(),c=await (0,j.C5)(),d=(0,q.YV)(),e=a?.description??"(no description)",f=a?.markdown?(0,n.J)(a.markdown).prose:(0,m.j)(e,b,c);return{description:e,markdown:f,draftDoc:b,featureGraph:c,annotations:d.annotations,globalComment:d.globalComment}}async function u(){await (0,j.t7)(),(0,i.Vs)(),(0,o.E9)(),(0,q.nb)()}async function v(a){let b=(0,o.Fn)(),c=await t(),d=a?.doc??c.draftDoc,j=(0,e.randomUUID)().slice(0,8),m=d?await (0,i.XF)(d,g.db,{planId:j}):null,n=await g.db.update(h.node).set({source:"MANUAL",planId:j}).where((0,f.Uo)((0,f.eq)(h.node.source,"DRAFT"),(0,f.eq)(h.node.view,"ROADMAP"))).returning({id:h.node.id,title:h.node.title,cluster:h.node.cluster}),q={count:n.length};if(n.length){let a=await g.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP"),columns:{id:!0,parentId:!0,cluster:!0,x:!0,y:!0}}),b=new Set(n.map(a=>a.id)),c=a=>(a??"").trim()||"—",d=a.filter(a=>!b.has(a.id)).map(a=>({x:a.x,y:a.y,group:c(a.cluster),top:!a.parentId}));for(let a of n){let b=c(a.cluster),e=(0,l.E)(d.filter(a=>a.top&&a.group===b),d);await g.db.update(h.node).set({x:e.x,y:e.y}).where((0,f.eq)(h.node.id,a.id)),d.push({x:e.x,y:e.y,group:b,top:!0})}}(0,k.WH)({id:j,description:c.description,markdown:c.markdown,verdict:"approved",annotations:c.annotations,globalComment:c.globalComment,draftDoc:c.draftDoc,featureGraph:c.featureGraph});let s=[];m&&s.push(`${m.tables} table(s), ${m.relations} relation(s) and ${m.endpoints} endpoint(s)`),q.count&&s.push(`${q.count} feature(s)`);let v=s.length?`${s.join(" and ")} approved and persisted.`:"Plan approved.";return(0,p.Af)({proposedAt:b?.proposedAt??0,status:"approved",summary:v,detail:d?(0,i.zO)(d):void 0,features:n.map(a=>({title:a.title,id:a.id})),decidedAt:Date.now()}),await u(),await (0,r.Bx)(),{db:m,features:q.count}}async function w(){let a=(0,o.Fn)(),b=await t();(b.draftDoc&&(b.draftDoc.tables.length||b.draftDoc.endpoints.length)||b.featureGraph.features.length>0||a?.markdown)&&(0,k.WH)({description:b.description,markdown:b.markdown,verdict:"discarded",annotations:b.annotations,globalComment:b.globalComment,draftDoc:b.draftDoc,featureGraph:b.featureGraph}),(0,p.Af)({proposedAt:a?.proposedAt??0,status:"discarded",summary:"The user discarded the plan.",decidedAt:Date.now()}),(0,i.mk)(),await u(),await (0,r.Bx)()}async function x(){let a=(0,q.Z3)();if(a.submitted&&a.feedback)return{kind:"feedback",feedback:a.feedback};let b=(0,p.zC)();if(b)return"approved"===b.status?{kind:"approved",summary:b.summary,detail:b.detail,features:function(a){if(a?.length)return a.map(a=>"string"==typeof a?{title:a,id:""}:{title:a.title,id:a.id})}(b.features)}:{kind:"discarded",summary:b.summary};let c=(0,o.Fn)(),d=(0,i.iL)(),e=await (0,j.C5)();return(d?.tables.length??0)+(d?.endpoints.length??0)+e.features.length>0||c?.markdown?{kind:"pending"}:{kind:"discarded",summary:"The user discarded the plan."}}function y(){(0,q.nb)(),(0,p.mh)()}[g,i,j,n,r]=s.then?(await s)():s,d()}catch(a){d(a)}})},19225:(a,b,c)=>{a.exports=c(44870)},54655:(a,b,c)=>{c.d(b,{E9:()=>k,Fn:()=>i,UC:()=>j});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(){return(0,e.join)((0,f.KS)(),"plan-meta.json")}function i(){try{return JSON.parse((0,d.readFileSync)(h(),"utf8"))}catch{return null}}function j(a){(0,g.q)(h(),a)}function k(){(0,d.rmSync)(h(),{force:!0})}},61024:(a,b,c)=>{c.d(b,{Pq:()=>k,WH:()=>j,ao:()=>l});var d=c(73024),e=c(76760),f=c(77598),g=c(45301),h=c(32213);function i(){let a=(0,e.join)((0,g.KS)(),"plans","history");return(0,d.mkdirSync)(a,{recursive:!0}),a}function j(a){let b={...a,id:a.id??(0,f.randomUUID)().slice(0,8),archivedAt:Date.now()};return(0,h.q)((0,e.join)(i(),`${b.id}.json`),b,!0),b}function k(){let a;try{a=(0,d.readdirSync)(i())}catch{return[]}let b=[];for(let c of a)if(c.endsWith(".json"))try{let a=(0,e.join)(i(),c),f=(0,d.readFileSync)(a,"utf8"),g=JSON.parse(f);b.push(g)}catch{}return b.sort((a,b)=>b.archivedAt-a.archivedAt)}function l(a){try{let b=(0,d.readFileSync)((0,e.join)(i(),`${a}.json`),"utf8");return JSON.parse(b)}catch{return null}}},70809:(a,b,c)=>{c.d(b,{nb:()=>k,Z3:()=>m,YV:()=>i,Tm:()=>l,D_:()=>j});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);function h(){return(0,e.join)((0,f.KS)(),"plan-annotations-current.json")}function i(){try{let a=JSON.parse((0,d.readFileSync)(h(),"utf8"));return{annotations:a.annotations??[],globalComment:a.globalComment??"",submitted:!!a.submitted,submittedAt:a.submittedAt,boardEdits:a.boardEdits??"",questions:a.questions??[]}}catch{return{annotations:[],globalComment:"",submitted:!1,questions:[]}}}function j(a){(0,g.q)(h(),a)}function k(){(0,d.rmSync)(h(),{force:!0})}function l(a){let b;return[function(a,b=""){let c=a.filter(a=>(a.kind??"comment")==="comment"&&a.comment.trim()),d=a.filter(a=>"deletion"===a.kind),e=b.trim();if(!c.length&&!d.length&&!e)return"";let f=[];if(e&&f.push(`## Overall feedback
2
2
 
3
3
  ${e}`),c.length){let a=["## Inline comments",""];for(let b of c){let c=b.excerpt.split("\n").map(a=>`> ${a}`).join("\n");a.push(`${c}
4
4
 
@@ -1 +1 @@
1
- "use strict";exports.id=4378,exports.ids=[4378],exports.modules={41631:(a,b,c)=>{c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(52856),e=c(99121);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},60455:(a,b,c)=>{c.d(b,{FF:()=>l,K4:()=>m,Nx:()=>j,UP:()=>n,kO:()=>r,p1:()=>p});var d=c(16698);c(31421),c(77598);var e=c(73024),f=c(48161),g=c(76760);function h(){return process.env.BEACON_HOME||(0,g.join)((0,f.homedir)(),".beacon")}function i(a){return(0,g.join)(h(),a)}function j(a){return`file:${(0,g.join)(i(a),"db.sqlite")}`}function k(){try{let a=JSON.parse((0,e.readFileSync)((0,g.join)(h(),"workspaces.json"),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function l(){return k().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function m(a){return k().find(b=>b.id===a)??null}function n(){try{return(0,e.readFileSync)((0,g.join)(h(),"active"),"utf8").trim()||null}catch{return null}}let o=new d.AsyncLocalStorage;function p(){return o.getStore()??null}let q=new Set;async function r(a){let b=i(a),d=(0,g.join)(b,"db.sqlite"),f=(0,e.existsSync)(d);if(f&&q.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,e.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await c.e(2981).then(c.bind(c,92981)),h=await g(j(a));return q.add(d),{ok:!0,created:!f,migrated:f&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},74378:(a,b,c)=>{c.a(a,async(a,d)=>{try{let n;c.d(b,{Lf:()=>l,db:()=>u,ensureDefaultDb:()=>m});var e=c(96774),f=c(28855),g=c(99121),h=c(41631),i=c(60455),j=a([f,e]);[f,e]=j.then?(await j)():j;let o={...g,...h},p=(n=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(n)?n:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),(0,e.f)(b,{schema:o})}let q=globalThis,r=q.dzDefault??k(p),s=q.dzByUrl??=new Map;function l(a){let b=s.get(a);return b||(b=k(a),s.set(a,b)),b}let t=new Map;function m(a=p){if(!/^file:/i.test(a))return Promise.resolve();let b=t.get(a);return b||(b=c.e(2981).then(c.bind(c,92981)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{t.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),t.set(a,b)),b}let u=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return r;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):r}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},99121:(a,b,c)=>{c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(16360),e=c(14052),f=c(13429),g=c(57805),h=c(47591),i=c(18208),j=c(17530),k=c(7385);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})}};
1
+ "use strict";exports.id=4378,exports.ids=[4378],exports.modules={41631:(a,b,c)=>{c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(52856),e=c(99121);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},60455:(a,b,c)=>{c.d(b,{FF:()=>l,K4:()=>m,Nx:()=>j,UP:()=>n,kO:()=>r,p1:()=>p});var d=c(16698);c(31421),c(77598);var e=c(73024),f=c(48161),g=c(76760);function h(){return process.env.BEACON_HOME||(0,g.join)((0,f.homedir)(),".beacon")}function i(a){return(0,g.join)(h(),a)}function j(a){return`file:${(0,g.join)(i(a),"db.sqlite")}`}function k(){try{let a=JSON.parse((0,e.readFileSync)((0,g.join)(h(),"workspaces.json"),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function l(){return k().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function m(a){return k().find(b=>b.id===a)??null}function n(){try{return(0,e.readFileSync)((0,g.join)(h(),"active"),"utf8").trim()||null}catch{return null}}let o=new d.AsyncLocalStorage;function p(){return o.getStore()??null}let q=new Set;async function r(a){let b=i(a),d=(0,g.join)(b,"db.sqlite"),f=(0,e.existsSync)(d);if(f&&q.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,e.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await c.e(2981).then(c.bind(c,92981)),h=await g(j(a));return q.add(d),{ok:!0,created:!f,migrated:f&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},74378:(a,b,c)=>{c.a(a,async(a,d)=>{try{let n;c.d(b,{Lf:()=>l,db:()=>u,ensureDefaultDb:()=>m});var e=c(96774),f=c(28855),g=c(99121),h=c(41631),i=c(60455),j=a([f,e]);[f,e]=j.then?(await j)():j;let o={...g,...h},p=(n=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(n)?n:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:o})}let q=globalThis,r=q.dzDefault??k(p),s=q.dzByUrl??=new Map;function l(a){let b=s.get(a);return b||(b=k(a),s.set(a,b)),b}let t=new Map;function m(a=p){if(!/^file:/i.test(a))return Promise.resolve();let b=t.get(a);return b||(b=c.e(2981).then(c.bind(c,92981)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{t.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),t.set(a,b)),b}let u=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return r;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):r}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},99121:(a,b,c)=>{c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(16360),e=c(14052),f=c(13429),g=c(57805),h=c(47591),i=c(18208),j=c(17530),k=c(7385);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=5258,exports.ids=[2877,5258],exports.modules={32372:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(77598),e=c(73024);function f(a){let b=a.migrationsFolder,c=[],f=`${b}/meta/_journal.json`;if(!e.existsSync(f))throw Error("Can't find meta/_journal.json file");for(let a of JSON.parse(e.readFileSync(`${b}/meta/_journal.json`).toString()).entries){let f=`${b}/${a.tag}.sql`;try{let f=e.readFileSync(`${b}/${a.tag}.sql`).toString(),g=f.split("--\x3e statement-breakpoint").map(a=>a);c.push({sql:g,bps:a.breakpoints,folderMillis:a.when,hash:d.createHash("sha256").update(f).digest("hex")})}catch{throw Error(`No file ${f} found in ${b} folder`)}}return c}},35258:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(55871),g=c(96942),h=c(32372),i=c(76760),j=c(73136),k=a([e,f]);[e,f]=k.then?(await k)():k;let q=(0,i.dirname)((0,i.dirname)((0,i.dirname)((0,j.fileURLToPath)("file:///home/runner/work/beacon/beacon/lib/drizzle/provision.ts")))),r=process.env.BEACON_MIGRATIONS_DIR||(0,i.join)(q,"drizzle"),s={Node:["createdAt","updatedAt"],Note:["createdAt","updatedAt"],DbTable:["createdAt","updatedAt"],Endpoint:["createdAt","updatedAt"],DraftTable:["createdAt"],SyncState:["codeGraphSyncedAt","updatedAt"],AppSetting:["updatedAt"],ProjectMeta:["updatedAt"],CodeFile:["updatedAt"]};async function l(a,b){return(await a.execute({sql:"SELECT 1 FROM sqlite_master WHERE type='table' AND name = ?",args:[b]})).rows.length>0}async function m(a,b){let c=await a.execute(`PRAGMA table_info("${b}")`);return new Set(c.rows.map(a=>String(a.name)))}async function n(a){if(!await l(a,"__drizzle_migrations"))return 0;let b=await a.execute('SELECT count(*) AS n FROM "__drizzle_migrations"');return Number(b.rows[0]?.n??0)}async function o(a){for(let[b,c]of Object.entries(s)){if(!await l(a,b))continue;let d=await m(a,b);for(let e of c)d.has(e)&&await a.execute(`UPDATE "${b}" SET "${e}" = CAST((julianday("${e}") - 2440587.5) * 86400000 AS INTEGER) WHERE typeof("${e}") = 'text'`)}}async function p(a,b=r){let c=(0,e.createClient)({url:a});try{await c.execute("PRAGMA journal_mode = WAL;"),await c.execute("PRAGMA foreign_keys = ON;");let a=await l(c,"__drizzle_migrations"),d=await l(c,"Node"),e=!1;if(d&&!a){let a=(0,h.I)({migrationsFolder:b})[0];a&&(await c.execute('CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (id SERIAL PRIMARY KEY, hash text NOT NULL, created_at numeric)'),await c.execute({sql:'INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES (?, ?)',args:[a.hash,a.folderMillis]}),e=!0)}let i=await n(c);return await (0,g._)((0,f.f)(c),{migrationsFolder:b}),await n(c)>i&&(e=!0),await o(c),{migrated:e}}finally{c.close()}}d()}catch(a){d(a)}})},96942:(a,b,c)=>{c.d(b,{_:()=>f});var d=c(32372),e=c(91430);async function f(a,b){let c=(0,d.I)(b),f=b.migrationsTable??"__drizzle_migrations",g=(0,e.ll)`
1
+ "use strict";exports.id=5258,exports.ids=[2877,5258],exports.modules={32372:(a,b,c)=>{c.d(b,{I:()=>f});var d=c(77598),e=c(73024);function f(a){let b=a.migrationsFolder,c=[],f=`${b}/meta/_journal.json`;if(!e.existsSync(f))throw Error("Can't find meta/_journal.json file");for(let a of JSON.parse(e.readFileSync(`${b}/meta/_journal.json`).toString()).entries){let f=`${b}/${a.tag}.sql`;try{let f=e.readFileSync(`${b}/${a.tag}.sql`).toString(),g=f.split("--\x3e statement-breakpoint").map(a=>a);c.push({sql:g,bps:a.breakpoints,folderMillis:a.when,hash:d.createHash("sha256").update(f).digest("hex")})}catch{throw Error(`No file ${f} found in ${b} folder`)}}return c}},35258:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(55871),g=c(96942),h=c(32372),i=c(76760),j=c(73136),k=a([e,f]);[e,f]=k.then?(await k)():k;let q=(0,i.dirname)((0,i.dirname)((0,i.dirname)((0,j.fileURLToPath)("file:///home/runner/work/beacon/beacon/lib/drizzle/provision.ts")))),r=process.env.BEACON_MIGRATIONS_DIR||(0,i.join)(q,"drizzle"),s={Node:["createdAt","updatedAt"],Note:["createdAt","updatedAt"],DbTable:["createdAt","updatedAt"],Endpoint:["createdAt","updatedAt"],DraftTable:["createdAt"],SyncState:["codeGraphSyncedAt","updatedAt"],AppSetting:["updatedAt"],ProjectMeta:["updatedAt"],CodeFile:["updatedAt"]};async function l(a,b){return(await a.execute({sql:"SELECT 1 FROM sqlite_master WHERE type='table' AND name = ?",args:[b]})).rows.length>0}async function m(a,b){let c=await a.execute(`PRAGMA table_info("${b}")`);return new Set(c.rows.map(a=>String(a.name)))}async function n(a){if(!await l(a,"__drizzle_migrations"))return 0;let b=await a.execute('SELECT count(*) AS n FROM "__drizzle_migrations"');return Number(b.rows[0]?.n??0)}async function o(a){for(let[b,c]of Object.entries(s)){if(!await l(a,b))continue;let d=await m(a,b);for(let e of c)d.has(e)&&await a.execute(`UPDATE "${b}" SET "${e}" = CAST((julianday("${e}") - 2440587.5) * 86400000 AS INTEGER) WHERE typeof("${e}") = 'text'`)}}async function p(a,b=r){let c=(0,e.createClient)({url:a});try{await c.execute("PRAGMA journal_mode = WAL;"),await c.execute("PRAGMA foreign_keys = ON;"),await c.execute("PRAGMA busy_timeout = 5000;");let a=await l(c,"__drizzle_migrations"),d=await l(c,"Node"),e=!1;if(d&&!a){let a=(0,h.I)({migrationsFolder:b})[0];a&&(await c.execute('CREATE TABLE IF NOT EXISTS "__drizzle_migrations" (id SERIAL PRIMARY KEY, hash text NOT NULL, created_at numeric)'),await c.execute({sql:'INSERT INTO "__drizzle_migrations" ("hash", "created_at") VALUES (?, ?)',args:[a.hash,a.folderMillis]}),e=!0)}let i=await n(c);return await (0,g._)((0,f.f)(c),{migrationsFolder:b}),await n(c)>i&&(e=!0),await o(c),{migrated:e}}finally{c.close()}}d()}catch(a){d(a)}})},96942:(a,b,c)=>{c.d(b,{_:()=>f});var d=c(32372),e=c(91430);async function f(a,b){let c=(0,d.I)(b),f=b.migrationsTable??"__drizzle_migrations",g=(0,e.ll)`
2
2
  CREATE TABLE IF NOT EXISTS ${e.ll.identifier(f)} (
3
3
  id SERIAL PRIMARY KEY,
4
4
  hash text NOT NULL,