trybeacon 0.1.23 → 0.1.25

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 (362) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +9 -8
  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/[id]/route.js.nft.json +1 -1
  28. package/.next/server/app/api/board-annotations/route.js +1 -1
  29. package/.next/server/app/api/board-annotations/route.js.nft.json +1 -1
  30. package/.next/server/app/api/board-layout/route.js +1 -0
  31. package/.next/server/app/api/board-layout/route.js.nft.json +1 -0
  32. package/.next/server/app/api/board-layout/route_client-reference-manifest.js +1 -0
  33. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  34. package/.next/server/app/api/bug-flags/[id]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/bug-flags/route.js +1 -1
  36. package/.next/server/app/api/bug-flags/route.js.nft.json +1 -1
  37. package/.next/server/app/api/code-graph/position/route.js +1 -1
  38. package/.next/server/app/api/code-graph/position/route.js.nft.json +1 -1
  39. package/.next/server/app/api/code-graph/route.js +1 -1
  40. package/.next/server/app/api/code-graph/route.js.nft.json +1 -1
  41. package/.next/server/app/api/context/feature/route.js +1 -1
  42. package/.next/server/app/api/context/feature/route.js.nft.json +1 -1
  43. package/.next/server/app/api/context/file/route.js +1 -1
  44. package/.next/server/app/api/context/file/route.js.nft.json +1 -1
  45. package/.next/server/app/api/context/route.js +2 -2
  46. package/.next/server/app/api/context/route.js.nft.json +1 -1
  47. package/.next/server/app/api/db/arrange/route.js +1 -1
  48. package/.next/server/app/api/db/arrange/route.js.nft.json +1 -1
  49. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  50. package/.next/server/app/api/db/backfill-access/route.js.nft.json +1 -1
  51. package/.next/server/app/api/db/position/route.js +1 -1
  52. package/.next/server/app/api/db/position/route.js.nft.json +1 -1
  53. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  54. package/.next/server/app/api/db/reconcile-endpoints/route.js.nft.json +1 -1
  55. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  56. package/.next/server/app/api/db/relations/[id]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  58. package/.next/server/app/api/db/tables/[id]/route.js.nft.json +1 -1
  59. package/.next/server/app/api/draft/approve/route.js +1 -5
  60. package/.next/server/app/api/draft/approve/route.js.nft.json +1 -1
  61. package/.next/server/app/api/draft/route.js +1 -5
  62. package/.next/server/app/api/draft/route.js.nft.json +1 -1
  63. package/.next/server/app/api/draft/status/route.js +1 -1
  64. package/.next/server/app/api/draft/status/route.js.nft.json +1 -1
  65. package/.next/server/app/api/edges/[id]/route.js +1 -1
  66. package/.next/server/app/api/edges/[id]/route.js.nft.json +1 -1
  67. package/.next/server/app/api/edges/route.js +1 -1
  68. package/.next/server/app/api/edges/route.js.nft.json +1 -1
  69. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  70. package/.next/server/app/api/endpoints/[id]/route.js.nft.json +1 -1
  71. package/.next/server/app/api/entities/route.js +1 -1
  72. package/.next/server/app/api/entities/route.js.nft.json +1 -1
  73. package/.next/server/app/api/feedback/[id]/route.js +1 -1
  74. package/.next/server/app/api/feedback/[id]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
  76. package/.next/server/app/api/feedback/[id]/vote/route.js.nft.json +1 -1
  77. package/.next/server/app/api/feedback/route.js +1 -1
  78. package/.next/server/app/api/feedback/route.js.nft.json +1 -1
  79. package/.next/server/app/api/ingest/route.js +2 -2
  80. package/.next/server/app/api/ingest/route.js.nft.json +1 -1
  81. package/.next/server/app/api/init/route.js +2 -2
  82. package/.next/server/app/api/init/route.js.nft.json +1 -1
  83. package/.next/server/app/api/map/describe/route.js +2 -2
  84. package/.next/server/app/api/map/describe/route.js.nft.json +1 -1
  85. package/.next/server/app/api/map/files/route.js +1 -1
  86. package/.next/server/app/api/map/files/route.js.nft.json +1 -1
  87. package/.next/server/app/api/map/finish/route.js +1 -1
  88. package/.next/server/app/api/map/finish/route.js.nft.json +1 -1
  89. package/.next/server/app/api/map/route.js +1 -1
  90. package/.next/server/app/api/map/route.js.nft.json +1 -1
  91. package/.next/server/app/api/map/start/route.js +1 -1
  92. package/.next/server/app/api/map/start/route.js.nft.json +1 -1
  93. package/.next/server/app/api/map/touch-active/route.js +1 -1
  94. package/.next/server/app/api/map/touch-active/route.js.nft.json +1 -1
  95. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  96. package/.next/server/app/api/nodes/[id]/position/route.js.nft.json +1 -1
  97. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  98. package/.next/server/app/api/nodes/[id]/route.js.nft.json +1 -1
  99. package/.next/server/app/api/nodes/positions/route.js +1 -1
  100. package/.next/server/app/api/nodes/positions/route.js.nft.json +1 -1
  101. package/.next/server/app/api/nodes/route.js +1 -1
  102. package/.next/server/app/api/nodes/route.js.nft.json +1 -1
  103. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  104. package/.next/server/app/api/nodes/subtasks/route.js.nft.json +1 -1
  105. package/.next/server/app/api/notes/[id]/route.js +1 -1
  106. package/.next/server/app/api/notes/[id]/route.js.nft.json +1 -1
  107. package/.next/server/app/api/notes/route.js +1 -1
  108. package/.next/server/app/api/notes/route.js.nft.json +1 -1
  109. package/.next/server/app/api/open/route.js +1 -1
  110. package/.next/server/app/api/open/route.js.nft.json +1 -1
  111. package/.next/server/app/api/plan/annotations/route.js +3 -3
  112. package/.next/server/app/api/plan/annotations/route.js.nft.json +1 -1
  113. package/.next/server/app/api/plan/approve/route.js +2 -6
  114. package/.next/server/app/api/plan/approve/route.js.nft.json +1 -1
  115. package/.next/server/app/api/plan/history/route.js +1 -1
  116. package/.next/server/app/api/plan/history/route.js.nft.json +1 -1
  117. package/.next/server/app/api/plan/markdown/route.js +1 -1
  118. package/.next/server/app/api/plan/markdown/route.js.nft.json +1 -1
  119. package/.next/server/app/api/plan/presence/route.js +1 -1
  120. package/.next/server/app/api/plan/presence/route.js.nft.json +1 -1
  121. package/.next/server/app/api/plan/route.js +1 -1
  122. package/.next/server/app/api/plan/route.js.nft.json +1 -1
  123. package/.next/server/app/api/plan/verdict/route.js +1 -5
  124. package/.next/server/app/api/plan/verdict/route.js.nft.json +1 -1
  125. package/.next/server/app/api/preferences/route.js +1 -1
  126. package/.next/server/app/api/reset/route.js +1 -1
  127. package/.next/server/app/api/reset/route.js.nft.json +1 -1
  128. package/.next/server/app/api/stream/route.js +2 -2
  129. package/.next/server/app/api/stream/route.js.nft.json +1 -1
  130. package/.next/server/app/api/version/route.js +1 -1
  131. package/.next/server/app/api/version/route.js.nft.json +1 -1
  132. package/.next/server/app/api/workspace/activate/route.js +1 -1
  133. package/.next/server/app/api/workspace/activate/route.js.nft.json +1 -1
  134. package/.next/server/app/api/workspace/route.js +1 -1
  135. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  136. package/.next/server/app/apple-icon.png/route.js +1 -1
  137. package/.next/server/app/docs/page.js +2 -2
  138. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/docs.html +1 -1
  140. package/.next/server/app/docs.rsc +2 -2
  141. package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  142. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  143. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  144. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  145. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  146. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  147. package/.next/server/app/feedback/page.js +2 -2
  148. package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/feedback.html +1 -1
  150. package/.next/server/app/feedback.rsc +2 -2
  151. package/.next/server/app/feedback.segments/_full.segment.rsc +2 -2
  152. package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
  153. package/.next/server/app/feedback.segments/_index.segment.rsc +2 -2
  154. package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
  155. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
  156. package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
  157. package/.next/server/app/help/page.js +2 -2
  158. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/help.html +1 -1
  160. package/.next/server/app/help.rsc +2 -2
  161. package/.next/server/app/help.segments/_full.segment.rsc +2 -2
  162. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  163. package/.next/server/app/help.segments/_index.segment.rsc +2 -2
  164. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  165. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  166. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  167. package/.next/server/app/icon.svg/route.js +1 -1
  168. package/.next/server/app/index.html +1 -1
  169. package/.next/server/app/index.rsc +2 -2
  170. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  171. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  172. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  173. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  174. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  175. package/.next/server/app/map/page.js +2 -2
  176. package/.next/server/app/map/page.js.nft.json +1 -1
  177. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  178. package/.next/server/app/page.js +2 -2
  179. package/.next/server/app/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/plan/page.js +2 -2
  181. package/.next/server/app/plan/page.js.nft.json +1 -1
  182. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  183. package/.next/server/app/settings/page.js +2 -2
  184. package/.next/server/app/settings/page.js.nft.json +1 -1
  185. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app-paths-manifest.json +9 -8
  187. package/.next/server/chunks/249.js +1 -1
  188. package/.next/server/chunks/2809.js +1 -0
  189. package/.next/server/chunks/2877.js +7 -0
  190. package/.next/server/chunks/2933.js +2 -15
  191. package/.next/server/chunks/2981.js +1 -1
  192. package/.next/server/chunks/319.js +1 -1
  193. package/.next/server/chunks/3221.js +5 -0
  194. package/.next/server/chunks/3254.js +1 -1
  195. package/.next/server/chunks/4198.js +1 -0
  196. package/.next/server/chunks/4274.js +94 -0
  197. package/.next/server/chunks/4378.js +1 -0
  198. package/.next/server/chunks/5258.js +1 -1
  199. package/.next/server/chunks/5573.js +1 -0
  200. package/.next/server/chunks/6042.js +1 -0
  201. package/.next/server/chunks/617.js +1 -0
  202. package/.next/server/chunks/7373.js +1 -0
  203. package/.next/server/chunks/9127.js +1 -1
  204. package/.next/server/chunks/{3349.js → 9213.js} +1 -1
  205. package/.next/server/chunks/9313.js +14 -0
  206. package/.next/server/chunks/9683.js +1 -1
  207. package/.next/server/chunks/9734.js +1 -1
  208. package/.next/server/instrumentation.js +1 -1
  209. package/.next/server/instrumentation.js.nft.json +1 -1
  210. package/.next/server/middleware-build-manifest.js +1 -1
  211. package/.next/server/middleware.js +2 -2
  212. package/.next/server/pages/404.html +1 -1
  213. package/.next/server/pages/500.html +1 -1
  214. package/.next/server/server-reference-manifest.js +1 -1
  215. package/.next/server/server-reference-manifest.json +1 -1
  216. package/.next/static/MYvJ_ebinIGa9MP5kWFaY/_buildManifest.js +1 -0
  217. package/.next/static/chunks/1a258343-7b029f38cf13f847.js +2 -0
  218. package/.next/static/chunks/6773-89cca3b011769270.js +1 -0
  219. package/.next/static/chunks/app/_global-error/{page-0fdd2f2bb2631a50.js → page-8fa95c63b95bf9c3.js} +1 -1
  220. package/.next/static/chunks/app/api/board-annotations/[id]/{route-0fdd2f2bb2631a50.js → route-8fa95c63b95bf9c3.js} +1 -1
  221. package/.next/static/chunks/app/api/board-annotations/{route-0fdd2f2bb2631a50.js → route-8fa95c63b95bf9c3.js} +1 -1
  222. package/.next/static/chunks/app/api/{bug-flags/[id]/route-0fdd2f2bb2631a50.js → board-layout/route-8fa95c63b95bf9c3.js} +1 -1
  223. package/.next/static/chunks/app/api/bug-flags/[id]/route-8fa95c63b95bf9c3.js +1 -0
  224. package/.next/static/chunks/app/api/bug-flags/route-8fa95c63b95bf9c3.js +1 -0
  225. package/.next/static/chunks/app/api/code-graph/position/route-8fa95c63b95bf9c3.js +1 -0
  226. package/.next/static/chunks/app/api/code-graph/route-8fa95c63b95bf9c3.js +1 -0
  227. package/.next/static/chunks/app/api/context/feature/route-8fa95c63b95bf9c3.js +1 -0
  228. package/.next/static/chunks/app/api/context/file/route-8fa95c63b95bf9c3.js +1 -0
  229. package/.next/static/chunks/app/api/context/route-8fa95c63b95bf9c3.js +1 -0
  230. package/.next/static/chunks/app/api/db/arrange/route-8fa95c63b95bf9c3.js +1 -0
  231. package/.next/static/chunks/app/api/db/backfill-access/route-8fa95c63b95bf9c3.js +1 -0
  232. package/.next/static/chunks/app/api/db/position/route-8fa95c63b95bf9c3.js +1 -0
  233. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-8fa95c63b95bf9c3.js +1 -0
  234. package/.next/static/chunks/app/api/db/relations/[id]/route-8fa95c63b95bf9c3.js +1 -0
  235. package/.next/static/chunks/app/api/db/tables/[id]/route-8fa95c63b95bf9c3.js +1 -0
  236. package/.next/static/chunks/app/api/draft/approve/route-8fa95c63b95bf9c3.js +1 -0
  237. package/.next/static/chunks/app/api/draft/route-8fa95c63b95bf9c3.js +1 -0
  238. package/.next/static/chunks/app/api/draft/status/route-8fa95c63b95bf9c3.js +1 -0
  239. package/.next/static/chunks/app/api/edges/[id]/route-8fa95c63b95bf9c3.js +1 -0
  240. package/.next/static/chunks/app/api/edges/route-8fa95c63b95bf9c3.js +1 -0
  241. package/.next/static/chunks/app/api/endpoints/[id]/route-8fa95c63b95bf9c3.js +1 -0
  242. package/.next/static/chunks/app/api/entities/route-8fa95c63b95bf9c3.js +1 -0
  243. package/.next/static/chunks/app/api/feedback/[id]/route-8fa95c63b95bf9c3.js +1 -0
  244. package/.next/static/chunks/app/api/feedback/[id]/vote/route-8fa95c63b95bf9c3.js +1 -0
  245. package/.next/static/chunks/app/api/feedback/route-8fa95c63b95bf9c3.js +1 -0
  246. package/.next/static/chunks/app/api/ingest/route-8fa95c63b95bf9c3.js +1 -0
  247. package/.next/static/chunks/app/api/init/route-8fa95c63b95bf9c3.js +1 -0
  248. package/.next/static/chunks/app/api/map/describe/route-8fa95c63b95bf9c3.js +1 -0
  249. package/.next/static/chunks/app/api/map/files/route-8fa95c63b95bf9c3.js +1 -0
  250. package/.next/static/chunks/app/api/map/finish/route-8fa95c63b95bf9c3.js +1 -0
  251. package/.next/static/chunks/app/api/map/route-8fa95c63b95bf9c3.js +1 -0
  252. package/.next/static/chunks/app/api/map/start/route-8fa95c63b95bf9c3.js +1 -0
  253. package/.next/static/chunks/app/api/map/touch-active/route-8fa95c63b95bf9c3.js +1 -0
  254. package/.next/static/chunks/app/api/nodes/[id]/position/route-8fa95c63b95bf9c3.js +1 -0
  255. package/.next/static/chunks/app/api/nodes/[id]/route-8fa95c63b95bf9c3.js +1 -0
  256. package/.next/static/chunks/app/api/nodes/positions/route-8fa95c63b95bf9c3.js +1 -0
  257. package/.next/static/chunks/app/api/nodes/route-8fa95c63b95bf9c3.js +1 -0
  258. package/.next/static/chunks/app/api/nodes/subtasks/route-8fa95c63b95bf9c3.js +1 -0
  259. package/.next/static/chunks/app/api/notes/[id]/route-8fa95c63b95bf9c3.js +1 -0
  260. package/.next/static/chunks/app/api/notes/route-8fa95c63b95bf9c3.js +1 -0
  261. package/.next/static/chunks/app/api/open/route-8fa95c63b95bf9c3.js +1 -0
  262. package/.next/static/chunks/app/api/plan/annotations/route-8fa95c63b95bf9c3.js +1 -0
  263. package/.next/static/chunks/app/api/plan/approve/route-8fa95c63b95bf9c3.js +1 -0
  264. package/.next/static/chunks/app/api/plan/history/route-8fa95c63b95bf9c3.js +1 -0
  265. package/.next/static/chunks/app/api/plan/markdown/route-8fa95c63b95bf9c3.js +1 -0
  266. package/.next/static/chunks/app/api/plan/presence/route-8fa95c63b95bf9c3.js +1 -0
  267. package/.next/static/chunks/app/api/plan/route-8fa95c63b95bf9c3.js +1 -0
  268. package/.next/static/chunks/app/api/plan/verdict/route-8fa95c63b95bf9c3.js +1 -0
  269. package/.next/static/chunks/app/api/preferences/route-8fa95c63b95bf9c3.js +1 -0
  270. package/.next/static/chunks/app/api/reset/route-8fa95c63b95bf9c3.js +1 -0
  271. package/.next/static/chunks/app/api/stream/route-8fa95c63b95bf9c3.js +1 -0
  272. package/.next/static/chunks/app/api/version/route-8fa95c63b95bf9c3.js +1 -0
  273. package/.next/static/chunks/app/api/workspace/activate/route-8fa95c63b95bf9c3.js +1 -0
  274. package/.next/static/chunks/app/api/workspace/route-8fa95c63b95bf9c3.js +1 -0
  275. package/.next/static/chunks/app/map/{page-4af30c4813ea051d.js → page-2cac4ffa4e4220c2.js} +1 -1
  276. package/.next/static/chunks/app/plan/{page-8d555065dd64c94d.js → page-8a9ed9019afac5ca.js} +1 -1
  277. package/.next/static/chunks/app/settings/{page-d1b0fe0c79c8a745.js → page-4d4879990a4f14fc.js} +1 -1
  278. package/.next/static/chunks/next/dist/client/components/builtin/app-error-8fa95c63b95bf9c3.js +1 -0
  279. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-8fa95c63b95bf9c3.js +1 -0
  280. package/.next/static/chunks/next/dist/client/components/builtin/not-found-8fa95c63b95bf9c3.js +1 -0
  281. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-8fa95c63b95bf9c3.js +1 -0
  282. package/.next/static/css/30e69a9d2de6ece7.css +1 -0
  283. package/.next/trace +37 -37
  284. package/.next/trace-build +1 -1
  285. package/.next/types/app/api/board-layout/route.ts +351 -0
  286. package/.next/types/app/api/plan/route.ts +351 -0
  287. package/.next/types/routes.d.ts +2 -1
  288. package/.next/types/validator.ts +9 -0
  289. package/dist/bin/beacon.js +3 -3
  290. package/dist/bin/doctor.js +22 -22
  291. package/dist/bin/hook.js +26 -26
  292. package/dist/bin/mcp.js +27 -27
  293. package/dist/bin/plan.js +21 -21
  294. package/dist/bin/remove.js +8 -0
  295. package/dist/bin/uninstall.js +25 -25
  296. package/dist/lib/workspaces.js +1 -1
  297. package/package.json +1 -1
  298. package/.next/server/chunks/1130.js +0 -1
  299. package/.next/server/chunks/1953.js +0 -1
  300. package/.next/server/chunks/2574.js +0 -94
  301. package/.next/server/chunks/873.js +0 -1
  302. package/.next/server/chunks/8815.js +0 -5
  303. package/.next/static/chunks/1a258343-248e24606fc4ca54.js +0 -2
  304. package/.next/static/chunks/2548-a99f7f03a36ea356.js +0 -1
  305. package/.next/static/chunks/app/api/bug-flags/route-0fdd2f2bb2631a50.js +0 -1
  306. package/.next/static/chunks/app/api/code-graph/position/route-0fdd2f2bb2631a50.js +0 -1
  307. package/.next/static/chunks/app/api/code-graph/route-0fdd2f2bb2631a50.js +0 -1
  308. package/.next/static/chunks/app/api/context/feature/route-0fdd2f2bb2631a50.js +0 -1
  309. package/.next/static/chunks/app/api/context/file/route-0fdd2f2bb2631a50.js +0 -1
  310. package/.next/static/chunks/app/api/context/route-0fdd2f2bb2631a50.js +0 -1
  311. package/.next/static/chunks/app/api/db/arrange/route-0fdd2f2bb2631a50.js +0 -1
  312. package/.next/static/chunks/app/api/db/backfill-access/route-0fdd2f2bb2631a50.js +0 -1
  313. package/.next/static/chunks/app/api/db/position/route-0fdd2f2bb2631a50.js +0 -1
  314. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-0fdd2f2bb2631a50.js +0 -1
  315. package/.next/static/chunks/app/api/db/relations/[id]/route-0fdd2f2bb2631a50.js +0 -1
  316. package/.next/static/chunks/app/api/db/tables/[id]/route-0fdd2f2bb2631a50.js +0 -1
  317. package/.next/static/chunks/app/api/draft/approve/route-0fdd2f2bb2631a50.js +0 -1
  318. package/.next/static/chunks/app/api/draft/route-0fdd2f2bb2631a50.js +0 -1
  319. package/.next/static/chunks/app/api/draft/status/route-0fdd2f2bb2631a50.js +0 -1
  320. package/.next/static/chunks/app/api/edges/[id]/route-0fdd2f2bb2631a50.js +0 -1
  321. package/.next/static/chunks/app/api/edges/route-0fdd2f2bb2631a50.js +0 -1
  322. package/.next/static/chunks/app/api/endpoints/[id]/route-0fdd2f2bb2631a50.js +0 -1
  323. package/.next/static/chunks/app/api/entities/route-0fdd2f2bb2631a50.js +0 -1
  324. package/.next/static/chunks/app/api/feedback/[id]/route-0fdd2f2bb2631a50.js +0 -1
  325. package/.next/static/chunks/app/api/feedback/[id]/vote/route-0fdd2f2bb2631a50.js +0 -1
  326. package/.next/static/chunks/app/api/feedback/route-0fdd2f2bb2631a50.js +0 -1
  327. package/.next/static/chunks/app/api/ingest/route-0fdd2f2bb2631a50.js +0 -1
  328. package/.next/static/chunks/app/api/init/route-0fdd2f2bb2631a50.js +0 -1
  329. package/.next/static/chunks/app/api/map/describe/route-0fdd2f2bb2631a50.js +0 -1
  330. package/.next/static/chunks/app/api/map/files/route-0fdd2f2bb2631a50.js +0 -1
  331. package/.next/static/chunks/app/api/map/finish/route-0fdd2f2bb2631a50.js +0 -1
  332. package/.next/static/chunks/app/api/map/route-0fdd2f2bb2631a50.js +0 -1
  333. package/.next/static/chunks/app/api/map/start/route-0fdd2f2bb2631a50.js +0 -1
  334. package/.next/static/chunks/app/api/map/touch-active/route-0fdd2f2bb2631a50.js +0 -1
  335. package/.next/static/chunks/app/api/nodes/[id]/position/route-0fdd2f2bb2631a50.js +0 -1
  336. package/.next/static/chunks/app/api/nodes/[id]/route-0fdd2f2bb2631a50.js +0 -1
  337. package/.next/static/chunks/app/api/nodes/positions/route-0fdd2f2bb2631a50.js +0 -1
  338. package/.next/static/chunks/app/api/nodes/route-0fdd2f2bb2631a50.js +0 -1
  339. package/.next/static/chunks/app/api/nodes/subtasks/route-0fdd2f2bb2631a50.js +0 -1
  340. package/.next/static/chunks/app/api/notes/[id]/route-0fdd2f2bb2631a50.js +0 -1
  341. package/.next/static/chunks/app/api/notes/route-0fdd2f2bb2631a50.js +0 -1
  342. package/.next/static/chunks/app/api/open/route-0fdd2f2bb2631a50.js +0 -1
  343. package/.next/static/chunks/app/api/plan/annotations/route-0fdd2f2bb2631a50.js +0 -1
  344. package/.next/static/chunks/app/api/plan/approve/route-0fdd2f2bb2631a50.js +0 -1
  345. package/.next/static/chunks/app/api/plan/history/route-0fdd2f2bb2631a50.js +0 -1
  346. package/.next/static/chunks/app/api/plan/markdown/route-0fdd2f2bb2631a50.js +0 -1
  347. package/.next/static/chunks/app/api/plan/presence/route-0fdd2f2bb2631a50.js +0 -1
  348. package/.next/static/chunks/app/api/plan/route-0fdd2f2bb2631a50.js +0 -1
  349. package/.next/static/chunks/app/api/plan/verdict/route-0fdd2f2bb2631a50.js +0 -1
  350. package/.next/static/chunks/app/api/preferences/route-0fdd2f2bb2631a50.js +0 -1
  351. package/.next/static/chunks/app/api/reset/route-0fdd2f2bb2631a50.js +0 -1
  352. package/.next/static/chunks/app/api/stream/route-0fdd2f2bb2631a50.js +0 -1
  353. package/.next/static/chunks/app/api/version/route-0fdd2f2bb2631a50.js +0 -1
  354. package/.next/static/chunks/app/api/workspace/activate/route-0fdd2f2bb2631a50.js +0 -1
  355. package/.next/static/chunks/app/api/workspace/route-0fdd2f2bb2631a50.js +0 -1
  356. package/.next/static/chunks/next/dist/client/components/builtin/app-error-0fdd2f2bb2631a50.js +0 -1
  357. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-0fdd2f2bb2631a50.js +0 -1
  358. package/.next/static/chunks/next/dist/client/components/builtin/not-found-0fdd2f2bb2631a50.js +0 -1
  359. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-0fdd2f2bb2631a50.js +0 -1
  360. package/.next/static/css/75d4c21b97e04260.css +0 -1
  361. package/.next/static/uz47LXJTPwZFW9gDNmq99/_buildManifest.js +0 -1
  362. /package/.next/static/{uz47LXJTPwZFW9gDNmq99 → MYvJ_ebinIGa9MP5kWFaY}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=7373,exports.ids=[7373],exports.modules={13560:(a,b,c)=>{c.d(b,{$Y:()=>j,Kq:()=>g,gY:()=>i,hj:()=>l,tI:()=>k});var d=c(44046);let e=d.k5(["ROADMAP","ARCHITECTURE"]),f=d.k5(["FEATURE","BUG"]),g=d.k5(["user","agent"]),h=d.k5(["PENDING","IN_PROGRESS","DONE","BLOCKED","CANCELLED","DEPRIORITIZED","KEEP","REBUILD","REPLACE","DROP"]);d.k5(["DEPENDS","CONTAINS","RELATES","REPLACES"]);let i=d.Ik({id:d.Yj().trim().min(1).max(64).optional(),view:e,kind:f.optional(),title:d.Yj().trim().min(1).max(200),cluster:d.Yj().trim().max(64).nullish(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e3).nullish(),parentId:d.Yj().nullish(),status:h.optional(),priority:d.ai().int().min(0).max(3).optional(),x:d.ai().optional(),y:d.ai().optional(),sourceRef:d.Yj().trim().max(300).nullish()}),j=d.Ik({title:d.Yj().trim().min(1).max(200).optional(),kind:f.optional(),role:d.Yj().trim().max(500).nullish(),plain:d.Yj().trim().max(2e3).nullish(),cluster:d.Yj().trim().max(64).nullish(),status:h.optional(),priority:d.ai().int().min(0).max(3).optional(),sourceRef:d.Yj().trim().max(300).nullish()}),k=d.Ik({x:d.ai(),y:d.ai()}),l=d.Ik({fromId:d.Yj().min(1),toId:d.Yj().min(1),kind:d.k5(["DEPENDS","RELATES","REPLACES"]).optional(),label:d.Yj().trim().max(80).nullish(),sourceHandle:d.Yj().trim().max(16).nullish(),targetHandle:d.Yj().trim().max(16).nullish()})},29833:(a,b,c)=>{c.d(b,{mk:()=>i});let d=new Set(["a","an","the","of","for","to","and","or","in","on","with","via","by","using","use","add","adds","support","implement","implementation","feature","new","build","create","o","os","as","um","uma","de","da","do","das","dos","para","por","com","e","ou","no","na","nos","nas","ao","aos","adicionar","implementar","suporte","suportar","nova","novo","funcionalidade","usar","usando","criar"]);function e(a){return a.normalize("NFD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim().replace(/\s+/g," ")}function f(a){return e(a).split(" ").filter(a=>a&&!d.has(a))}function g(a,b){if(!a.size||!b.size)return 0;let c=0;for(let d of a)b.has(d)&&c++;return 2*c/(a.size+b.size)}function h(a){let b=e(a).replace(/ /g,""),c=new Set;for(let a=0;a<b.length-1;a++)c.add(b.slice(a,a+2));return c}function i(a,b,c={}){let d=c.confident??.72,j=c.consider??.5,k=c.margin??.1,l=b.map(b=>{var c,d;let i,j;return{...b,score:Math.round(100*(c=a,d=b.title,i=e(c),j=e(d),i&&j?i===j?1:Math.min(1,.7*g(new Set(f(c)),new Set(f(d)))+.4*g(h(c),h(d))):0))/100}}).sort((a,b)=>b.score-a.score),m=l[0];if(!m||m.score<j)return{best:null,candidates:[]};let n=l[1]?.score??0,o=1===l.length||m.score-n>=k;return m.score>=d&&o?{best:m,candidates:[]}:{best:null,candidates:l.filter(a=>a.score>=j).slice(0,4)}}},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},38356:(a,b,c)=>{c.d(b,{AG:()=>g,Ey:()=>h,Kn:()=>e,oA:()=>f});var d=c(29833);function e(a){let b=a.map(a=>{let b=[],c=a.cluster??a.category??a.domain??null;return c&&c.trim()||b.push("category"),null==a.priority&&b.push("priority"),b.length?` • "${a.title?.trim()||"(untitled)"}" — missing ${b.join(" + ")}`:null}).filter(a=>null!==a);return 0===b.length?null:"⛔ Every roadmap feature needs a category AND a priority — they drive grouping and ordering on the board, and the user shouldn't have to add them by hand. Missing:\n"+b.join("\n")+"\n\nRe-present with each feature carrying its category as `category` (or `cluster` — both work; e.g. AUTH, SEARCH, DATA, INTEL, BILLING …) and `priority` (0 = P0 critical, 1 = P1 high, 2 = P2 medium, 3 = P3 low). Set BOTH on EVERY feature; don't rely on defaults."}function f(a){let b=(a.title??"").trim();if(!b)return"⛔ A feature needs a non-empty title.";if(!(a.category??"").trim()){let c=function(a){let b=new Set;for(let c of a){let a=(c.cluster??"").trim();a&&b.add(a)}return[...b].sort()}(a.existing),d=c.length?` Reuse an existing category where it fits: ${c.join(", ")}.`:"";return`⛔ Feature "${b}" has no category. Every roadmap feature needs one — it drives grouping and color on the board.${d} Pass it as \`category\` (e.g. AUTH, SEARCH, DATA, INTEL, BILLING, INFRA …); don't rely on a default.`}let c=(0,d.mk)(b,a.existing.map(a=>({id:a.id,title:a.title})));if(c.best){let d=a.existing.find(a=>a.id===c.best.id),e=d?.status?` (${d.status})`:"";return`⛔ "${b}" already exists as the feature "${d?.title??c.best.title}"${e}. Don't create a duplicate — mark progress on it with \`beacon_start_feature({ id })\`, add sub-tasks with \`beacon_add_subtasks\`, or finish it with \`beacon_describe_feature\`.`}return null}function g(a,b){let c=b.map(a=>({id:a.id,title:a.title})),e=a.map(a=>{let e=(0,d.mk)(a.title??"",c);return e.best?{title:a.title,hit:b.find(a=>a.id===e.best.id)}:null}).filter(a=>null!==a);return e.length?"⛔ These proposed features already exist on the roadmap — reuse them instead of creating duplicates:\n"+e.map(a=>` • "${a.title}" → existing "${a.hit.title}"${a.hit.status?` (${a.hit.status})`:""}`).join("\n")+"\n\nDrop the duplicate(s) from the plan; to add work to an existing feature, ship sub-tasks or update it via beacon_describe_feature. Keep only genuinely new features in the proposal.":null}function h(a,b){let c=(a??"").trim();if(!c)return null;let e=(0,d.mk)(c,b);if(e.best)return null;let f=e.candidates.length?` Did you mean: ${e.candidates.map(a=>`"${a.title}"`).join(", ")}?`:"";return`⛔ front "${c}" doesn't match an existing feature.${f} \`front\` nests a feature UNDER an existing parent feature — it is NOT a domain tag. If "${c}" is a domain, pass it as \`category\` instead. If it's a real umbrella feature, create it first via beacon_propose_plan.`}},40377:(a,b,c)=>{c.d(b,{U9:()=>e});var d=c(91430);function e(a){return(0,d.ll)`count(${a||d.ll.raw("*")})`.mapWith(Number)}},70299:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AS:()=>E,N5:()=>F,Nh:()=>x,Ol:()=>H,Pq:()=>A,hL:()=>G,nV:()=>v,r$:()=>z,y2:()=>B});var e=c(44046),f=c(34216),g=c(40377),h=c(56727),i=c(30046),j=c(19734),k=c(29833),l=c(38356),m=c(71584),n=c(93118),o=c(72967),p=c(7903),q=c(89908),r=c(45301),s=c(76223),t=a([h,j,q,s]);async function u(a){await (0,s.Z)({currentFeatureId:a})}async function v(){let a=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP"),orderBy:(a,{asc:b})=>b(a.createdAt)});return{fronts:a.filter(a=>!a.parentId).map(b=>({id:b.id,title:b.title,status:b.status,tasks:a.filter(a=>a.parentId===b.id).map(a=>({id:a.id,title:a.title,status:a.status,workingOn:"IN_PROGRESS"===a.status}))}))}}async function w(a,b){await h.db.update(i.node).set({status:b}).where((0,f.eq)(i.node.id,a)),await x(a),await (0,j.Bx)()}[h,j,q,s]=t.then?(await t)():t;let I=new Set(["DONE","CANCELLED","DEPRIORITIZED"]),J=new Set(["IN_PROGRESS","BLOCKED"]),K=new Set(["CANCELLED","DEPRIORITIZED"]);async function x(a){let b=new Set,c=a;for(;!b.has(c);){var d;b.add(c);let a=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,c),columns:{parentId:!0,view:!0}});if(!a?.parentId||"ROADMAP"!==a.view)return;let e=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId),columns:{id:!0,status:!0,view:!0}});if(!e||"ROADMAP"!==e.view||K.has(e.status))return;let g=(d=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,e.id),columns:{status:!0}})).map(a=>a.status)).length?d.every(a=>I.has(a))?"DONE":d.some(a=>J.has(a))?"IN_PROGRESS":"PENDING":"PENDING";if(e.status===g)return;await h.db.update(i.node).set({status:g}).where((0,f.eq)(i.node.id,e.id)),c=e.id}}let L=new Set(["PENDING","IN_PROGRESS"]);async function y(a){let b=[],c=[],d=new Set([a]),e=[a];for(;e.length;){let a=await h.db.query.node.findMany({where:(a,{and:b,eq:c,inArray:d})=>b(d(a.parentId,e),c(a.view,"ROADMAP")),columns:{id:!0,title:!0,status:!0}});for(let f of(e=[],a))d.has(f.id)||(d.add(f.id),e.push(f.id),L.has(f.status)?b.push(f.id):"BLOCKED"===f.status&&c.push(f))}return b.length&&await h.db.update(i.node).set({status:"DONE"}).where((0,f.RV)(i.node.id,b)),{completed:b.length,blocked:c}}async function z(a){let b,c="ROADMAP"===a?"roadmap":"architecture",d=p.zP[c],e=(0,p.VE)(c);if(e.sig===d)return;let g=(await h.db.query.node.findMany({where:(b,{eq:c})=>c(b.view,a),orderBy:(a,{asc:b})=>b(a.createdAt),columns:{id:!0,parentId:!0,source:!0,cluster:!0,status:!0,priority:!0,x:!0,y:!0}})).filter(a=>"DRAFT"!==a.source);if(g.length<2)return;let j=null;if("ROADMAP"===a){let a="status"===e.arrangedBy||"priority"===e.arrangedBy?e.arrangedBy:"cluster";j=a,b=(0,n.VI)(g.map(a=>({id:a.id,parentId:a.parentId,cluster:a.cluster,status:a.status,priority:a.priority})),a)}else{let a=g.map(a=>a.id),c=await h.db.query.edge.findMany({where:(b,{and:c,eq:d})=>c(d(b.kind,"DEPENDS"),(0,f.RV)(b.fromId,a),(0,f.RV)(b.toId,a)),columns:{fromId:!0,toId:!0}});b=(0,o.to)(g.map(a=>({id:a.id,group:(a.cluster??"").trim()||"—"})),c)}let k=[];for(let a of g){let c=b.get(a.id);c&&(Math.round(c.x)!==Math.round(a.x)||Math.round(c.y)!==Math.round(a.y))&&k.push(h.db.update(i.node).set({x:c.x,y:c.y}).where((0,f.eq)(i.node.id,a.id)))}await Promise.all(k),(0,p.qT)(c,j?{sig:d,arrangedBy:j}:{sig:d})}async function A(a){let b=a.title.trim();if(!b)throw Error("title required");let c=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")});if(a.id){let b=c.find(b=>b.id===a.id);if(b)return await w(b.id,"IN_PROGRESS"),await u(b.id),{action:"flagged",id:b.id,title:b.title,via:"id"}}let{best:d,candidates:e}=(0,k.mk)(b,c.map(a=>({id:a.id,title:a.title})));if(d)return await w(d.id,"IN_PROGRESS"),await u(d.id),{action:"flagged",id:d.id,title:d.title,via:"match",score:d.score};if(e.length)return{action:"ambiguous",candidates:e};let f=c.filter(a=>!a.parentId),g=a.front?.trim()||"",n=g?(0,l.Ey)(g,f.map(a=>({id:a.id,title:a.title}))):null;if(n)return{action:"rejected",message:n};let o=null,p=null,q=null;if(g){let a=(0,k.mk)(g,f.map(a=>({id:a.id,title:a.title}))).best;o=a.id,p=a.title,q=c.find(b=>b.id===a.id)?.cluster??null}let r=(a.cluster?.trim()||q)??null,s=(0,l.oA)({title:b,category:r,existing:c.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status}))});if(s)return{action:"rejected",message:s};let t=o?c.filter(a=>a.parentId===o).length:0,v=a=>(a??"").trim()||"—",y=o?(0,m.B)(c.map(a=>({x:a.x,y:a.y})),{x:f.find(a=>a.id===o)?.x??0,y:160+110*t}):(0,m.E)(c.filter(a=>!a.parentId&&v(a.cluster)===v(r)).map(a=>({x:a.x,y:a.y})),c.map(a=>({x:a.x,y:a.y}))),[z]=await h.db.insert(i.node).values({view:"ROADMAP",kind:a.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b,plain:a.detail??null,cluster:r,status:"IN_PROGRESS",source:"SESSION",parentId:o,x:y.x,y:y.y}).returning();return await x(z.id),await (0,j.Bx)(),await u(z.id),{action:"created",id:z.id,title:b,front:p}}async function B(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=async a=>{let b=await y(a);return await w(a,"DONE"),{ok:!0,id:a,subtasksCompleted:b.completed||void 0,subtasksBlocked:b.blocked.length?b.blocked:void 0}};if(a.id){let d=b.find(b=>b.id===a.id);if(d)return c(d.id)}if(!a.title)return{ok:!1};let{best:d,candidates:e}=(0,k.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));return d?c(d.id):{ok:!1,candidates:e.length?e:void 0}}function C(a){let b=a.trim(),c=(0,r.jv)();return b.startsWith(c)&&(b=b.slice(c.length)),b.replace(/^[./]+/,"").trim()}let M=new Set(["KEEP","REBUILD","REPLACE","DROP"]),N=e.Ik({title:e.Yj().trim().min(1),domain:e.Yj().trim().min(1),role:e.Yj().nullish(),plain:e.Yj().nullish(),status:e.Yj().nullish(),files:e.YO(e.Yj()).optional(),depends:e.YO(e.Yj()).optional(),bugs:e.YO(e.Ik({note:e.Yj().trim().min(1).max(2e3)})).optional()});async function D(a){let b=e.YO(N).parse(a),c=new Map;for(let a of b)c.set(a.title.toLowerCase(),a);let d=Array.from(c.values());if(!d.length)return 0;let g=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ARCHITECTURE")}),j=new Map(g.map(a=>[a.title.toLowerCase(),a])),k=new Map(g.map(a=>[a.title.toLowerCase(),a.id])),l=g.map(a=>({x:a.x,y:a.y,domain:(a.cluster??"").trim()||"—"}));for(let a of d){let b=a.title.toLowerCase(),c=a.status&&M.has(a.status)?a.status:"KEEP",d=j.get(b);if(d)await h.db.update(i.node).set({cluster:a.domain,role:a.role??d.role,plain:a.plain??d.plain,status:c}).where((0,f.eq)(i.node.id,d.id)),a.files?.length&&(await h.db.delete(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,d.id)),await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:d.id,path:a}))));else{let d=a.domain.trim()||"—",{x:e,y:f}=(0,m.E)(l.filter(a=>a.domain===d),l);l.push({x:e,y:f,domain:d});let[g]=await h.db.insert(i.node).values({view:"ARCHITECTURE",source:"MANUAL",cluster:a.domain,title:a.title,role:a.role??null,plain:a.plain??null,status:c,x:e,y:f}).returning();a.files?.length&&await h.db.insert(i.nodeFile).values(Array.from(new Set(a.files)).map(a=>({nodeId:g.id,path:a}))),k.set(b,g.id)}}for(let a of d){let b=k.get(a.title.toLowerCase());if(b)for(let c of a.depends??[]){let a=k.get(c.trim().toLowerCase());a&&a!==b&&(await h.db.query.edge.findFirst({where:(c,{and:d,eq:e})=>d(e(c.fromId,b),e(c.toId,a),e(c.kind,"DEPENDS"))})||await h.db.insert(i.edge).values({fromId:b,toId:a,kind:"DEPENDS"}).catch(()=>{}))}}for(let a of d){if(!a.bugs?.length)continue;let b=k.get(a.title.toLowerCase());if(b)for(let c of a.bugs)await h.db.query.bugFlag.findFirst({where:(a,{and:d,eq:e,isNull:f})=>d(e(a.nodeId,b),e(a.note,c.note),f(a.resolvedAt))})||await h.db.insert(i.bugFlag).values({nodeId:b,by:"agent",note:c.note})}return d.length}async function E(a){let b=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),c=a.id?b.find(b=>b.id===a.id):void 0;if(!c&&a.title){let{best:d,candidates:e}=(0,k.mk)(a.title,b.map(a=>({id:a.id,title:a.title})));if(d)c=b.find(a=>a.id===d.id);else if(e.length)return{ok:!1,candidates:e}}if(!c)return{ok:!1};await h.db.update(i.node).set({plain:a.description,status:"DONE"}).where((0,f.eq)(i.node.id,c.id));let d=await y(c.id);if(await x(c.id),a.files?.length)for(let b of Array.from(new Set(a.files.map(C).filter(Boolean))))await h.db.insert(i.nodeFile).values({nodeId:c.id,path:b}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});return await h.db.update(i.appSetting).set({currentFeatureId:null}).where((0,f.eq)(i.appSetting.currentFeatureId,c.id)),a.architecture?.length&&await D(a.architecture),await (0,j.Bx)(),{ok:!0,id:c.id,subtasksCompleted:d.completed||void 0,subtasksBlocked:d.blocked.length?d.blocked:void 0}}async function F(a){let b=[];for(let c of a){let a=await E(c);b.push({...a,title:c.title})}return{results:b}}async function G(a){let b=Array.from(new Set((a.files??[]).map(C).filter(Boolean))),c=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,"ROADMAP")}),d=a.id?c.find(b=>b.id===a.id):void 0;if(!d&&a.title){let{best:b,candidates:e}=(0,k.mk)(a.title,c.map(a=>({id:a.id,title:a.title})));if(b)d=c.find(a=>a.id===b.id);else if(e.length)return{ok:!1,candidates:e}}if(!d)return{ok:!1};for(let a of b)await h.db.insert(i.nodeFile).values({nodeId:d.id,path:a}).onConflictDoNothing({target:[i.nodeFile.nodeId,i.nodeFile.path]});await (0,j.Bx)();let e=(await h.db.select({n:(0,g.U9)()}).from(i.nodeFile).where((0,f.eq)(i.nodeFile.nodeId,d.id)))[0].n;return{ok:!0,id:d.id,count:e}}async function H(a){let b,c=a.items.filter(a=>a.title.trim());if(!c.length)return{ok:!1,reason:"no_items"};if(a.parentId)b=await h.db.query.node.findFirst({where:(b,{eq:c})=>c(b.id,a.parentId)});else if(a.parentTitle&&a.parentTitle.trim()){let c=await h.db.query.node.findMany({where:(a,{isNull:b})=>b(a.parentId),columns:{id:!0,title:!0,cluster:!0,status:!0}}),{best:d,candidates:e}=(0,k.mk)(a.parentTitle.trim(),c.map(a=>({id:a.id,title:a.title,cluster:a.cluster,status:a.status})));if(d)b=await h.db.query.node.findFirst({where:(a,{eq:b})=>b(a.id,d.id)});else if(e.length)return{ok:!1,reason:"ambiguous",candidates:e}}if(!b)return{ok:!1,reason:"parent_not_found"};let d=b,e=await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.parentId,d.id),columns:{id:!0,title:!0}}),f=c.filter(a=>(0,k.mk)(a.title.trim(),e).best);if(f.length)return{ok:!1,reason:"duplicate",message:`⛔ These sub-tasks already exist under "${d.title}": ${f.map(a=>`"${a.title.trim()}"`).join(", ")}. Drop the duplicates — only add genuinely new sub-tasks.`};let g=(await h.db.query.node.findMany({where:(a,{eq:b})=>b(a.view,d.view),columns:{x:!0,y:!0}})).map(a=>({x:a.x,y:a.y})),i=[];for(let a=0;a<c.length;a++){let b=c[a],e=(0,m.B)(g,{x:d.x+240*a,y:d.y+200});g.push(e);let f=await (0,q.RM)({view:d.view,kind:b.kind?.trim().toUpperCase()==="BUG"?"BUG":"FEATURE",title:b.title.trim(),plain:b.plain??null,cluster:d.cluster??null,parentId:d.id,x:e.x,y:e.y});i.push({id:f.id,title:f.title})}return i.length&&await x(i[0].id),await (0,j.Bx)(),{ok:!0,parent:{id:d.id,title:d.title},created:i}}d()}catch(a){d(a)}})},71584:(a,b,c)=>{function d(a,b){let c={x:b.x,y:b.y};for(let b=0;b<100&&a.some(a=>200>Math.abs(c.x-a.x)&&150>Math.abs(c.y-a.y));b++)c.y+=150;return c}function e(a,b,c={}){let f=c.colW??320,g=c.rowH??150,h=c.maxCols??4,i=c.bandGap??90;if(0===a.length){if(0===b.length)return{x:0,y:0};let a=Math.max(...b.map(a=>a.y));return d(b,{x:0,y:a+g+i})}let j=Math.min(...a.map(a=>a.x)),k=Math.min(...a.map(a=>a.y)),l=a.map(a=>Math.max(0,Math.round((a.x-j)/f))),m=Math.min(h,Math.max(Math.max(...l)+1,Math.ceil(Math.sqrt(a.length+1)))),n=Array(m).fill(k-g);a.forEach((a,b)=>{let c=Math.min(l[b],m-1);n[c]=Math.max(n[c],a.y)});let o=0;for(let a=1;a<m;a++)n[a]<n[o]&&(o=a);return d(b,{x:j+o*f,y:n[o]+g})}c.d(b,{B:()=>d,E:()=>e})},72967:(a,b,c)=>{c.d(b,{to:()=>d});function d(a,b){if(0===a.length)return new Map;let c=function(a,b){let c=a.map(a=>a.id).sort(),d=new Map(c.map(a=>[a,[]]));for(let a of[...b].sort((a,b)=>a.fromId.localeCompare(b.fromId)||a.toId.localeCompare(b.toId)))d.get(a.fromId)?.push(a);let e=new Map,f=[],g=a=>{for(let b of(e.set(a,"visiting"),d.get(a)??[])){let a=e.get(b.toId);"visiting"!==a&&(f.push(b),"done"!==a&&g(b.toId))}e.set(a,"done")};for(let a of c)e.has(a)||g(a);return f}(a,b),d=function(a,b){let c=new Map(a.map(a=>[a.id,[]]));for(let a of b)c.get(a.fromId)?.push(a.toId);let d=new Map,e=a=>{let b=d.get(a);if(void 0!==b)return b;d.set(a,0);let f=c.get(a)??[],g=f.length?1+Math.max(...f.map(e)):0;return d.set(a,g),g};for(let b of a)e(b.id);return d}(a,c),e=new Map(a.map(a=>[a.id,[]]));for(let a of c)e.get(a.fromId)?.push(a.toId);let f=Array.from(new Set(a.map(a=>a.group))),g=f.filter(a=>"—"!==a).sort(),h=f.includes("—")?[...g,"—"]:g,i=[];for(let b of h){let c=a.filter(a=>a.group===b),f=Math.min(...c.map(a=>d.get(a.id)??0)),g=Math.max(...c.map(a=>d.get(a.id)??0)),h=new Map,j=new Map,k=0,l=1;for(let a=f;a<=g;a++){let b=c.filter(b=>d.get(b.id)===a);if(!b.length)continue;let f=a=>{let b=(e.get(a.id)??[]).map(a=>j.get(a)).filter(a=>void 0!==a);return b.length?b.reduce((a,b)=>a+b,0)/b.length:1/0};b.sort((a,b)=>f(a)-f(b)||a.id.localeCompare(b.id));let g=Math.max(1,Math.ceil(Math.sqrt(2*b.length)));b.forEach((a,b)=>{let c=Math.floor(b/g),d=b%g;j.set(a.id,d),h.set(a.id,{x:k+360*c,y:150*d}),l=Math.max(l,d+1)}),k+=360*Math.ceil(b.length/g)}i.push({d:b,w:k,h:150*l,local:h})}let j=new Map,k=0,l=0,m=0;for(let a of i){for(let[b,c]of(k>0&&k+a.w>2880&&(l+=m+170,k=0,m=0),a.local))j.set(b,{x:k+c.x,y:l+c.y});m=Math.max(m,a.h),k+=a.w+140}return j}},76223:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Z:()=>i,t:()=>h});var e=c(56727),f=c(30046),g=a([e]);async function h(a=e.db){let[b]=await a.insert(f.appSetting).values({id:"singleton"}).onConflictDoUpdate({target:f.appSetting.id,set:{id:"singleton"}}).returning();return b}async function i(a,b=e.db){let[c]=await b.insert(f.appSetting).values({id:"singleton",...a}).onConflictDoUpdate({target:f.appSetting.id,set:a}).returning();return c}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},89908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{AC:()=>n,B2:()=>q,CB:()=>r,OK:()=>m,Qd:()=>l,RM:()=>k,jO:()=>o,k5:()=>p});var e=c(34216),f=c(56727),g=c(30046),h=c(70299),i=c(13560),j=a([f,h]);async function k(a){let b=i.gY.parse(a),c="ARCHITECTURE"===b.view?"REBUILD":"PENDING",[d]=await f.db.insert(g.node).values({...b.id?{id:b.id}:{},view:b.view,kind:b.kind??"FEATURE",title:b.title,cluster:b.cluster??null,role:b.role??null,plain:b.plain??null,parentId:b.parentId??null,status:b.status??c,priority:b.priority??2,x:b.x??0,y:b.y??0,sourceRef:b.sourceRef??null}).returning();return d}async function l(a){let b=i.hj.parse(a);if(b.fromId===b.toId)throw Error("Self-edge not allowed");let c=b.kind??"DEPENDS",d=await f.db.query.edge.findFirst({where:(a,{and:d,eq:e})=>d(e(a.fromId,b.fromId),e(a.toId,b.toId),e(a.kind,c))});if(d)return d;let[e]=await f.db.insert(g.edge).values({fromId:b.fromId,toId:b.toId,kind:c,label:b.label??null,sourceHandle:b.sourceHandle??null,targetHandle:b.targetHandle??null}).returning();return e}async function m(a,b){let c=i.$Y.parse(b),[d]=await f.db.update(g.node).set(c).where((0,e.eq)(g.node.id,a)).returning();return void 0!==c.status&&await (0,h.Nh)(a),d}async function n(a){let[b]=await f.db.delete(g.node).where((0,e.eq)(g.node.id,a)).returning();return b}async function o(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.node).set(d).where((0,e.eq)(g.node.id,a)).returning();return h}async function p(a){return await Promise.all(a.map(a=>{let b=i.tI.parse({x:a.x,y:a.y});return f.db.update(g.node).set(b).where((0,e.eq)(g.node.id,a.id))})),a.length}async function q(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.dbTable).set(d).where((0,e.eq)(g.dbTable.id,a)).returning();return h}async function r(a,b,c){let d=i.tI.parse({x:b,y:c}),[h]=await f.db.update(g.endpoint).set(d).where((0,e.eq)(g.endpoint.id,a)).returning();return h}[f,h]=j.then?(await j)():j,d()}catch(a){d(a)}})},93118:(a,b,c)=>{c.d(b,{VI:()=>e});let d=["IN_PROGRESS","PENDING","BLOCKED","DONE","DEPRIORITIZED","CANCELLED"];function e(a,b,c={}){let f=c.colW??320,g=c.rowH??150,h=c.childIndent??24,i=c.laneGap??56,j=c.bandGap??110,k=c.maxCols??10,l=c.maxBandW??8*f,m=new Set(a.map(a=>a.id)),n=a=>!a.parentId||!m.has(a.parentId),o=a.filter(n),p=new Map;for(let b of a){if(n(b))continue;let a=p.get(b.parentId);a?a.push(b):p.set(b.parentId,[b])}let q="status"===b?a=>a.status:"priority"===b?a=>String(a.priority):a=>(a.cluster??"").trim()||"—",r=new Map;for(let a of o){let b=q(a),c=r.get(b);c?c.push(a):r.set(b,[a])}let s=(function(a,b,c){if("status"===a)return[...d];if("priority"===a)return["0","1","2","3"];let e=Array.from(new Set(b.map(c))),f=e.filter(a=>"—"!==a).sort();return e.includes("—")?[...f,"—"]:f})(b,o,q).filter(a=>r.has(a)),t=new Map,u=0,v=0,w=0;for(let a of s){let b=r.get(a),c=b.reduce((a,b)=>a+1+(p.get(b.id)?.length??0),0),d=Math.max(1,Math.min(k,b.length,Math.round(Math.sqrt(.85*c))||1)),e=d*f;u>0&&u+e>l&&(u=0,v+=w+j,w=0);let m=Array(d).fill(0);for(let a of b){let b=0;for(let a=1;a<d;a++)m[a]<m[b]&&(b=a);let c=u+b*f,e=v+m[b]*g;t.set(a.id,{x:c,y:e});let i=p.get(a.id)??[];i.forEach((a,b)=>{t.set(a.id,{x:c+h,y:e+(b+1)*g})}),m[b]+=1+i.length}w=Math.max(w,m.reduce((a,b)=>Math.max(a,b),0)*g),u+=e+i}return t}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=9127,exports.ids=[9127],exports.modules={29127:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(58296),g=c(57851),h=c(55429),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)}})},55429:(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}},57851:(a,b,c)=>{c.d(b,{_:()=>f});var d=c(55429),e=c(45521);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=9127,exports.ids=[9127],exports.modules={29127:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{provisionDb:()=>p});var e=c(28855),f=c(58296),g=c(57851),h=c(55429),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)}})},55429:(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}},57851:(a,b,c)=>{c.d(b,{_:()=>f});var d=c(55429),e=c(45521);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,
@@ -1 +1 @@
1
- "use strict";exports.id=3349,exports.ids=[3349],exports.modules={14643:(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)}},21723:(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})},30814:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,X2:()=>p,cL:()=>l});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let q=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=q.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,o=new Map;for(let a of j)o.set(a.from,(o.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:o.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 p=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&p++,{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:p,version:r}}let r=(a,b)=>`${a}\0${b}`;function m(a){let b=q.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(r(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let s=(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&&s(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}}async function o(a,b,c,d){let e=new Set([b]),f=[],g=[b],h=!1;for(let b=1;b<=c&&g.length;b++){let c="down"===d?(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.toPath,g),columns:{fromPath:!0}})).map(a=>a.fromPath):(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.fromPath,g),columns:{toPath:!0}})).map(a=>a.toPath),i=[];for(let a of c)if(!e.has(a)&&(e.add(a),f.push({path:a,depth:b}),i.push(a),f.length>=200)){h=!0;break}if(h)break;g=i}return{order:f,truncated:h}}async function p(a,b,c={}){let d=await a.query.codeFile.findFirst({where:(a,{eq:c})=>c(a.path,b),columns:{inDegree:!0,outDegree:!0}});if(!d)return{path:b,exists:!1,hub:{inDegree:0,outDegree:0,isHub:!1},imports:[],importedBy:[],transitive:{upstream:[],downstream:[],truncated:!1}};let e=Math.min(Math.max(Math.floor(c.depth??2),1),5),[f,g,h,i,j]=await Promise.all([a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.fromPath,b),columns:{toPath:!0,circular:!0}}),a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.toPath,b),columns:{fromPath:!0,circular:!0}}),o(a,b,e,"down"),o(a,b,e,"up"),a.query.codeFile.findMany({columns:{inDegree:!0}})]),k=[...new Set([...h.order,...i.order].map(a=>a.path))],l=k.length?await a.query.codeFile.findMany({where:(a,{inArray:b})=>b(a.path,k),columns:{path:!0,lang:!0}}):[],m=new Map(l.map(a=>[a.path,a.lang])),n=a=>({path:a.path,depth:a.depth,lang:m.get(a.path)??null}),q=j.map(a=>a.inDegree).filter(a=>a>0).sort((a,b)=>a-b),r=q.length?q[Math.min(q.length-1,Math.floor(.9*q.length))]:0,s=d.inDegree>0&&d.inDegree>=Math.max(3,r);return{path:b,exists:!0,hub:{inDegree:d.inDegree,outDegree:d.outDegree,isHub:s},imports:f.map(a=>({to:a.toPath,circular:a.circular})),importedBy:g.map(a=>({from:a.fromPath,circular:a.circular})),transitive:{upstream:i.order.map(n),downstream:h.order.map(n),truncated:i.truncated||h.truncated}}}d()}catch(a){d(a)}})},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},38920:(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}}},39908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>r});var e=c(73024),f=c(51455),g=c(76760),h=c(38920),i=c(61465),j=c(21723),k=c(54295),l=c(14643),m=c(30814),n=c(19734),o=c(56727),p=c(6716),q=a([m,n,o]);[m,n,o]=q.then?(await q)():q;let s=/[/\\](node_modules|\.git|\.next|dist|build|__pycache__|target|\.venv|venv|\.beacon|\.playwright-mcp|generated|coverage)[/\\]/;function r(a){let b=function(a){try{let b=(0,g.join)(a,"beacon.config.json");if((0,e.existsSync)(b)){let c=JSON.parse((0,e.readFileSync)(b,"utf8"));if(Array.isArray(c.roots)&&c.roots.length)return c.roots.map(b=>(0,g.resolve)(a,b))}}catch{}return[a]}(a.path),c=(0,p.kO)(a.id),d=(0,o.Lf)((0,p.Nx)(a.id)),q=(0,h.Q2)(b,a.path);async function r(){let c=(0,l.I)(q.snapshot().files.map(a=>a.path));for(let a of b)for(let b of["prisma/schema.prisma","schema.prisma"]){let d=(0,g.join)(a,b);(0,e.existsSync)(d)&&c.push(t(d))}let h=[];for(let b of c)try{h.push({path:b,content:await (0,f.readFile)((0,g.join)(a.path,b),"utf8")})}catch{}let m=(0,j.Y)(h),o=(0,k.$)(h);if(!m.tables.length&&!o.length)return;if(o.length&&m.tableVars&&Object.keys(m.tableVars).length){let b=q.snapshot().edges,c=new Set(o.map(a=>a.file)),d=new Map;for(let a of b){let b=d.get(a.from)??[];b.push(a.to),d.set(a.from,b)}for(let a=0;a<2;a++)for(let a of[...c])for(let b of d.get(a)??[])c.add(b);let e=new Map;for(let b of[...c].slice(0,600))try{e.set(b,await (0,f.readFile)((0,g.join)(a.path,b),"utf8"))}catch{}let h=(0,i.R)({routeFiles:[...new Set(o.map(a=>a.file))],edges:b,content:a=>e.get(a)??null,tableVars:m.tableVars});for(let a of o)a.uses=h.get(a.file)??[]}let p=await (0,n.Rw)({tables:m.tables,relations:m.relations,endpoints:o},d,{partial:!0});console.log(`[beacon-inline] schema synced (${a.name}): ${p.tables} tables / ${p.endpoints} endpoints`)}function t(b){return(0,g.relative)(a.path,b).split(/[\\/]/).join("/")}let u=null,v=!1,w=new Set,x=null,y=!1;async function z(){if(y)return void A();y=!0;try{if(await c,v&&(u=null,v=!1),null===u){let b=await q.seed(),c=await (0,m.cL)(b,d);u=(0,m.Rm)(b),console.log(`[beacon-inline] code-graph synced (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`),await r();return}let b=[...w];w.clear();let e=b.some(a=>(0,l.r)(t(a))),f=!1;for(let a of b)await q.applyChange(a)&&(f=!0);if(f){let b=(0,m.Rm)(q.snapshot()),c=await (0,m.ER)(u,b,d);u=b,console.log(`[beacon-inline] code-graph updated (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`)}e&&await r()}catch(b){console.error(`[beacon-inline] error (${a.name}):`,b instanceof Error?b.message:b)}finally{y=!1}}function A(){x&&clearTimeout(x),x=setTimeout(z,600)}let B=[];for(let c of b)try{let b=(0,e.watch)(c,{recursive:!0,persistent:!0},(a,b)=>{if(!b){v=!0,A();return}let d=String(b);s.test(`/${d}`)||(w.add((0,g.join)(c,d)),A())});b.on("error",b=>console.error(`[beacon-inline] watcher error (${a.name}):`,b)),B.push(b)}catch(b){console.error(`[beacon-inline] live watch unavailable for ${c} (${a.name}):`,b instanceof Error?b.message:b)}return console.log(`[beacon-inline] watching ${a.name} (${b.join(", ")}) — initial extract…`),z(),{async stop(){for(let a of(x&&clearTimeout(x),B))a.close()}}}d()}catch(a){d(a)}})},40377:(a,b,c)=>{c.d(b,{U9:()=>e});var d=c(91430);function e(a){return(0,d.ll)`count(${a||d.ll.raw("*")})`.mapWith(Number)}},54295:(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}`))}},61465:(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}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},94490:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$r:()=>i,wF:()=>j});var e=c(73024),f=c(6716),g=c(39908),h=a([g]);g=(h.then?(await h)():h)[0];let k=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(){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}))},isWatching:function(a){return d.has(a)},activeIds:function(){return[...d.keys()]},stopAll:h}}({list:f.FF,get:f.K4,exists:e.existsSync,start:a=>(0,g.F)(a)});function i(a){"1"!==process.env.BEACON_NO_INLINE_WATCH&&k.ensureWatcher(a)}function j(a){return k.isWatching(a)}d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=9213,exports.ids=[9213],exports.modules={14643:(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)}},21723:(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})},30814:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{ER:()=>n,Rm:()=>m,X2:()=>p,cL:()=>l});var e=c(44046),f=c(34216),g=c(56727),h=c(30046),i=c(19734),j=a([g,i]);[g,i]=j.then?(await j)():j;let q=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=q.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,o=new Map;for(let a of j)o.set(a.from,(o.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:o.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 p=0;j.length&&await b.insert(h.codeFileEdge).values(j.map(a=>{let b=m.has(`${a.from}|${a.to}`);return b&&p++,{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:p,version:r}}let r=(a,b)=>`${a}\0${b}`;function m(a){let b=q.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(r(a.from,a.to),{from:a.from,to:a.to,circular:f.has(`${a.from}|${a.to}`)});return{files:i,edges:j}}let s=(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&&s(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}}async function o(a,b,c,d){let e=new Set([b]),f=[],g=[b],h=!1;for(let b=1;b<=c&&g.length;b++){let c="down"===d?(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.toPath,g),columns:{fromPath:!0}})).map(a=>a.fromPath):(await a.query.codeFileEdge.findMany({where:(a,{inArray:b})=>b(a.fromPath,g),columns:{toPath:!0}})).map(a=>a.toPath),i=[];for(let a of c)if(!e.has(a)&&(e.add(a),f.push({path:a,depth:b}),i.push(a),f.length>=200)){h=!0;break}if(h)break;g=i}return{order:f,truncated:h}}async function p(a,b,c={}){let d=await a.query.codeFile.findFirst({where:(a,{eq:c})=>c(a.path,b),columns:{inDegree:!0,outDegree:!0}});if(!d)return{path:b,exists:!1,hub:{inDegree:0,outDegree:0,isHub:!1},imports:[],importedBy:[],transitive:{upstream:[],downstream:[],truncated:!1}};let e=Math.min(Math.max(Math.floor(c.depth??2),1),5),[f,g,h,i,j]=await Promise.all([a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.fromPath,b),columns:{toPath:!0,circular:!0}}),a.query.codeFileEdge.findMany({where:(a,{eq:c})=>c(a.toPath,b),columns:{fromPath:!0,circular:!0}}),o(a,b,e,"down"),o(a,b,e,"up"),a.query.codeFile.findMany({columns:{inDegree:!0}})]),k=[...new Set([...h.order,...i.order].map(a=>a.path))],l=k.length?await a.query.codeFile.findMany({where:(a,{inArray:b})=>b(a.path,k),columns:{path:!0,lang:!0}}):[],m=new Map(l.map(a=>[a.path,a.lang])),n=a=>({path:a.path,depth:a.depth,lang:m.get(a.path)??null}),q=j.map(a=>a.inDegree).filter(a=>a>0).sort((a,b)=>a-b),r=q.length?q[Math.min(q.length-1,Math.floor(.9*q.length))]:0,s=d.inDegree>0&&d.inDegree>=Math.max(3,r);return{path:b,exists:!0,hub:{inDegree:d.inDegree,outDegree:d.outDegree,isHub:s},imports:f.map(a=>({to:a.toPath,circular:a.circular})),importedBy:g.map(a=>({from:a.fromPath,circular:a.circular})),transitive:{upstream:i.order.map(n),downstream:h.order.map(n),truncated:i.truncated||h.truncated}}}d()}catch(a){d(a)}})},31059:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(37096),e=c(71484);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},38920:(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}}},39908:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{F:()=>r});var e=c(73024),f=c(51455),g=c(76760),h=c(38920),i=c(61465),j=c(21723),k=c(54295),l=c(14643),m=c(30814),n=c(19734),o=c(56727),p=c(6716),q=a([m,n,o]);[m,n,o]=q.then?(await q)():q;let s=/[/\\](node_modules|\.git|\.next|dist|build|__pycache__|target|\.venv|venv|\.beacon|\.playwright-mcp|generated|coverage)[/\\]/;function r(a){let b=function(a){try{let b=(0,g.join)(a,"beacon.config.json");if((0,e.existsSync)(b)){let c=JSON.parse((0,e.readFileSync)(b,"utf8"));if(Array.isArray(c.roots)&&c.roots.length)return c.roots.map(b=>(0,g.resolve)(a,b))}}catch{}return[a]}(a.path),c=(0,p.kO)(a.id),d=(0,o.Lf)((0,p.Nx)(a.id)),q=(0,h.Q2)(b,a.path);async function r(){let c=(0,l.I)(q.snapshot().files.map(a=>a.path));for(let a of b)for(let b of["prisma/schema.prisma","schema.prisma"]){let d=(0,g.join)(a,b);(0,e.existsSync)(d)&&c.push(t(d))}let h=[];for(let b of c)try{h.push({path:b,content:await (0,f.readFile)((0,g.join)(a.path,b),"utf8")})}catch{}let m=(0,j.Y)(h),o=(0,k.$)(h);if(!m.tables.length&&!o.length)return;if(o.length&&m.tableVars&&Object.keys(m.tableVars).length){let b=q.snapshot().edges,c=new Set(o.map(a=>a.file)),d=new Map;for(let a of b){let b=d.get(a.from)??[];b.push(a.to),d.set(a.from,b)}for(let a=0;a<2;a++)for(let a of[...c])for(let b of d.get(a)??[])c.add(b);let e=new Map;for(let b of[...c].slice(0,600))try{e.set(b,await (0,f.readFile)((0,g.join)(a.path,b),"utf8"))}catch{}let h=(0,i.R)({routeFiles:[...new Set(o.map(a=>a.file))],edges:b,content:a=>e.get(a)??null,tableVars:m.tableVars});for(let a of o)a.uses=h.get(a.file)??[]}let p=await (0,n.Rw)({tables:m.tables,relations:m.relations,endpoints:o},d,{partial:!0});console.log(`[beacon-inline] schema synced (${a.name}): ${p.tables} tables / ${p.endpoints} endpoints`)}function t(b){return(0,g.relative)(a.path,b).split(/[\\/]/).join("/")}let u=null,v=!1,w=new Set,x=null,y=!1;async function z(){if(y)return void A();y=!0;try{if(await c,v&&(u=null,v=!1),null===u){let b=await q.seed(),c=await (0,m.cL)(b,d);u=(0,m.Rm)(b),console.log(`[beacon-inline] code-graph synced (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`),await r();return}let b=[...w];w.clear();let e=b.some(a=>(0,l.r)(t(a))),f=!1;for(let a of b)await q.applyChange(a)&&(f=!0);if(f){let b=(0,m.Rm)(q.snapshot()),c=await (0,m.ER)(u,b,d);u=b,console.log(`[beacon-inline] code-graph updated (${a.name}): ${c.files} files / ${c.edges} imports${c.circular>0?` (${c.circular} circular)`:""}`)}e&&await r()}catch(b){console.error(`[beacon-inline] error (${a.name}):`,b instanceof Error?b.message:b)}finally{y=!1}}function A(){x&&clearTimeout(x),x=setTimeout(z,600)}let B=[];for(let c of b)try{let b=(0,e.watch)(c,{recursive:!0,persistent:!0},(a,b)=>{if(!b){v=!0,A();return}let d=String(b);s.test(`/${d}`)||(w.add((0,g.join)(c,d)),A())});b.on("error",b=>console.error(`[beacon-inline] watcher error (${a.name}):`,b)),B.push(b)}catch(b){console.error(`[beacon-inline] live watch unavailable for ${c} (${a.name}):`,b instanceof Error?b.message:b)}return console.log(`[beacon-inline] watching ${a.name} (${b.join(", ")}) — initial extract…`),z(),{async stop(){for(let a of(x&&clearTimeout(x),B))a.close()}}}d()}catch(a){d(a)}})},54295:(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}`))}},61465:(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}},76968:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(37096);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},94490:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$r:()=>i,Wn:()=>k,wF:()=>j});var e=c(73024),f=c(6716),g=c(39908),h=a([g]);g=(h.then?(await h)():h)[0];let l=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)});function i(a){"1"!==process.env.BEACON_NO_INLINE_WATCH&&l.ensureWatcher(a)}function j(a){return l.isWatching(a)}async function k(a){await l.stopWatcher(a)}d()}catch(a){d(a)}})}};
@@ -0,0 +1,14 @@
1
+ "use strict";exports.id=9313,exports.ids=[9313],exports.modules={7385:(a,b,c)=>{let d;c.d(b,{sX:()=>Y});let e=BigInt(0x100000000-1),f=BigInt(32);function g(a,b=""){if("number"!=typeof a){let c=b&&`"${b}" `;throw TypeError(`${c}expected number, got ${typeof a}`)}if(!Number.isSafeInteger(a)||a<0){let c=b&&`"${b}" `;throw RangeError(`${c}expected integer >= 0, got ${a}`)}}function h(a,b,c=""){let d=a instanceof Uint8Array||ArrayBuffer.isView(a)&&"Uint8Array"===a.constructor.name&&"BYTES_PER_ELEMENT"in a&&1===a.BYTES_PER_ELEMENT,e=a?.length,f=void 0!==b;if(!d||f&&e!==b){let g=(c&&`"${c}" `)+"expected Uint8Array"+(f?` of length ${b}`:"")+", got "+(d?`length=${e}`:`type=${typeof a}`);if(!d)throw TypeError(g);throw RangeError(g)}return a}function i(a,b=!0){if(a.destroyed)throw Error("Hash instance has been destroyed");if(b&&a.finished)throw Error("Hash#digest() has already been called")}function j(...a){for(let b=0;b<a.length;b++)a[b].fill(0)}let k=68===new Uint8Array(new Uint32Array([0x11223344]).buffer)[0]?a=>a:function(a){for(let c=0;c<a.length;c++){var b;a[c]=(b=a[c])<<24&0xff000000|b<<8&0xff0000|b>>>8&65280|b>>>24&255}return a},l=BigInt(0),m=BigInt(1),n=BigInt(2),o=BigInt(7),p=BigInt(256),q=BigInt(113),r=[],s=[],t=[];for(let a=0,b=m,c=1,d=0;a<24;a++){[c,d]=[d,(2*c+3*d)%5],r.push(2*(5*d+c)),s.push((a+1)*(a+2)/2%64);let e=l;for(let a=0;a<7;a++)(b=(b<<m^(b>>o)*q)%p)&n&&(e^=m<<(m<<BigInt(a))-m);t.push(e)}let u=function(a,b=!1){let c=a.length,d=new Uint32Array(c),g=new Uint32Array(c);for(let h=0;h<c;h++){let{h:c,l:i}=function(a,b=!1){return b?{h:Number(a&e),l:Number(a>>f&e)}:{h:0|Number(a>>f&e),l:0|Number(a&e)}}(a[h],b);[d[h],g[h]]=[c,i]}return[d,g]}(t,!0),v=u[0],w=u[1],x=(a,b,c)=>c>32?b<<c-32|a>>>64-c:a<<c|b>>>32-c,y=(a,b,c)=>c>32?a<<c-32|b>>>64-c:b<<c|a>>>32-c;class z{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;canXOF;enableXOF=!1;rounds;constructor(a,b,c,d=!1,e=24){if(this.blockLen=a,this.suffix=b,this.outputLen=c,this.enableXOF=d,this.canXOF=d,this.rounds=e,g(c,"outputLen"),!(0<a&&a<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=function(a){return new Uint32Array(a.buffer,a.byteOffset,Math.floor(a.byteLength/4))}(this.state)}clone(){return this._cloneInto()}keccak(){k(this.state32),function(a,b=24){if(g(b,"rounds"),b<1||b>24)throw Error('"rounds" expected integer 1..24');let c=new Uint32Array(10);for(let d=24-b;d<24;d++){for(let b=0;b<10;b++)c[b]=a[b]^a[b+10]^a[b+20]^a[b+30]^a[b+40];for(let b=0;b<10;b+=2){let d=(b+8)%10,e=(b+2)%10,f=c[e],g=c[e+1],h=x(f,g,1)^c[d],i=y(f,g,1)^c[d+1];for(let c=0;c<50;c+=10)a[b+c]^=h,a[b+c+1]^=i}let b=a[2],e=a[3];for(let c=0;c<24;c++){let d=s[c],f=x(b,e,d),g=y(b,e,d),h=r[c];b=a[h],e=a[h+1],a[h]=f,a[h+1]=g}for(let b=0;b<50;b+=10){let c=a[b],d=a[b+1],e=a[b+2],f=a[b+3];a[b]^=~a[b+2]&a[b+4],a[b+1]^=~a[b+3]&a[b+5],a[b+2]^=~a[b+4]&a[b+6],a[b+3]^=~a[b+5]&a[b+7],a[b+4]^=~a[b+6]&a[b+8],a[b+5]^=~a[b+7]&a[b+9],a[b+6]^=~a[b+8]&c,a[b+7]^=~a[b+9]&d,a[b+8]^=~c&e,a[b+9]^=~d&f}a[0]^=v[d],a[1]^=w[d]}j(c)}(this.state32,this.rounds),k(this.state32),this.posOut=0,this.pos=0}update(a){i(this),h(a);let{blockLen:b,state:c}=this,d=a.length;for(let e=0;e<d;){let f=Math.min(b-this.pos,d-e);for(let b=0;b<f;b++)c[this.pos++]^=a[e++];this.pos===b&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:a,suffix:b,pos:c,blockLen:d}=this;a[c]^=b,(128&b)!=0&&c===d-1&&this.keccak(),a[d-1]^=128,this.keccak()}writeInto(a){i(this,!1),h(a),this.finish();let b=this.state,{blockLen:c}=this;for(let d=0,e=a.length;d<e;){this.posOut>=c&&this.keccak();let f=Math.min(c-this.posOut,e-d);a.set(b.subarray(this.posOut,this.posOut+f),d),this.posOut+=f,d+=f}return a}xofInto(a){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(a)}xof(a){return g(a),this.xofInto(new Uint8Array(a))}digestInto(a){h(a,void 0,"digestInto() output");let b=this.outputLen;if(a.length<b)throw RangeError('"digestInto() output" expected to be of length >='+b);if(this.finished)throw Error("digest() was already called");this.writeInto(a.subarray(0,this.outputLen)),this.destroy()}digest(){let a=new Uint8Array(this.outputLen);return this.digestInto(a),a}destroy(){this.destroyed=!0,j(this.state)}_cloneInto(a){let{blockLen:b,suffix:c,outputLen:d,rounds:e,enableXOF:f}=this;return(a||=new z(b,c,d,f,e)).blockLen=b,a.state32.set(this.state32),a.pos=this.pos,a.posOut=this.posOut,a.finished=this.finished,a.rounds=e,a.suffix=c,a.outputLen=d,a.enableXOF=f,a.canXOF=this.canXOF,a.destroyed=this.destroyed,a}}let A=((a,b,c,d={})=>(function(a,b={}){let c=(b,c)=>a(c).update(b).digest(),d=a(void 0);return c.outputLen=d.outputLen,c.blockLen=d.blockLen,c.canXOF=d.canXOF,c.create=b=>a(b),Object.assign(c,b),Object.freeze(c)})(()=>new z(b,a,c),d))(6,72,64,{oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,10])});var B,C=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,D=Math.ceil,E=Math.floor,F="[BigNumber Error] ",G=F+"Number primitive has more than 15 significant digits: ",H=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function I(a){var b=0|a;return a>0||a===b?b:b-1}function J(a){for(var b,c,d=1,e=a.length,f=a[0]+"";d<e;){for(c=14-(b=a[d++]+"").length;c--;b="0"+b);f+=b}for(e=f.length;48===f.charCodeAt(--e););return f.slice(0,e+1||1)}function K(a,b){var c,d,e=a.c,f=b.c,g=a.s,h=b.s,i=a.e,j=b.e;if(!g||!h)return null;if(c=e&&!e[0],d=f&&!f[0],c||d)return c?d?0:-h:g;if(g!=h)return g;if(c=g<0,d=i==j,!e||!f)return d?0:!e^c?1:-1;if(!d)return i>j^c?1:-1;for(g=0,h=(i=e.length)<(j=f.length)?i:j;g<h;g++)if(e[g]!=f[g])return e[g]>f[g]^c?1:-1;return i==j?0:i>j^c?1:-1}function L(a,b,c,d){if(a<b||a>c||a!==E(a))throw Error(F+(d||"Argument")+("number"==typeof a?a<b||a>c?" out of range: ":" not an integer: ":" not a primitive number: ")+String(a))}function M(a){var b=a.c.length-1;return I(a.e/14)==b&&a.c[b]%2!=0}function N(a,b){return(a.length>1?a.charAt(0)+"."+a.slice(1):a)+(b<0?"e":"e+")+b}function O(a,b,c){var d,e;if(b<0){for(e=c+".";++b;e+=c);a=e+a}else if(d=a.length,++b>d){for(e=c,b-=d;--b;e+=c);a+=e}else b<d&&(a=a.slice(0,b)+"."+a.slice(b));return a}var P=function a(b){var c,d,e,f,g,h,i,j,k,l=z.prototype={constructor:z,toString:null,valueOf:null},m=new z(1),n=20,o=4,p=-7,q=21,r=-1e7,s=1e7,t=!1,u=1,v=0,w={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xa0",suffix:""},x="0123456789abcdefghijklmnopqrstuvwxyz",y=!0;function z(a,b){var c,d,e,f,g,h,i,l,m=this;if(!(m instanceof z))return new z(a,b);if(null==b){if(a&&!0===a._isBigNumber){m.s=a.s,!a.c||a.e>s?m.c=m.e=null:a.e<r?m.c=[m.e=0]:(m.e=a.e,m.c=a.c.slice());return}if((h="number"==typeof a)&&0*a==0){if(m.s=1/a<0?(a=-a,-1):1,a===~~a){for(f=0,g=a;g>=10;g/=10,f++);f>s?m.c=m.e=null:(m.e=f,m.c=[a]);return}l=String(a)}else{if(!C.test(l=String(a)))return k(m,l,h);m.s=45==l.charCodeAt(0)?(l=l.slice(1),-1):1}(f=l.indexOf("."))>-1&&(l=l.replace(".","")),(g=l.search(/e/i))>0?(f<0&&(f=g),f+=+l.slice(g+1),l=l.substring(0,g)):f<0&&(f=l.length)}else{if(L(b,2,x.length,"Base"),10==b&&y)return Q(m=new z(a),n+m.e+1,o);if(l=String(a),h="number"==typeof a){if(0*a!=0)return k(m,l,h,b);if(m.s=1/a<0?(l=l.slice(1),-1):1,z.DEBUG&&l.replace(/^0\.0*|\./,"").length>15)throw Error(G+a)}else m.s=45===l.charCodeAt(0)?(l=l.slice(1),-1):1;for(c=x.slice(0,b),f=g=0,i=l.length;g<i;g++)if(0>c.indexOf(d=l.charAt(g))){if("."==d){if(g>f){f=i;continue}}else if(!e&&(l==l.toUpperCase()&&(l=l.toLowerCase())||l==l.toLowerCase()&&(l=l.toUpperCase()))){e=!0,g=-1,f=0;continue}return k(m,String(a),h,b)}h=!1,(f=(l=j(l,b,10,m.s)).indexOf("."))>-1?l=l.replace(".",""):f=l.length}for(g=0;48===l.charCodeAt(g);g++);for(i=l.length;48===l.charCodeAt(--i););if(l=l.slice(g,++i)){if(i-=g,h&&z.DEBUG&&i>15&&(a>0x1fffffffffffff||a!==E(a)))throw Error(G+m.s*a);if((f=f-g-1)>s)m.c=m.e=null;else if(f<r)m.c=[m.e=0];else{if(m.e=f,m.c=[],g=(f+1)%14,f<0&&(g+=14),g<i){for(g&&m.c.push(+l.slice(0,g)),i-=14;g<i;)m.c.push(+l.slice(g,g+=14));g=14-(l=l.slice(g)).length}else g-=i;for(;g--;l+="0");m.c.push(+l)}}else m.c=[m.e=0]}function A(a,b,c,d){var e,f,g,h,i;if(null==c?c=o:L(c,0,8),!a.c)return a.toString();if(e=a.c[0],g=a.e,null==b)i=J(a.c),i=1==d||2==d&&(g<=p||g>=q)?N(i,g):O(i,g,"0");else if(f=(a=Q(new z(a),b,c)).e,h=(i=J(a.c)).length,1==d||2==d&&(b<=f||f<=p)){for(;h<b;i+="0",h++);i=N(i,f)}else if(b-=g+(2===d&&f>g),i=O(i,f,"0"),f+1>h){if(--b>0)for(i+=".";b--;i+="0");}else if((b+=f-h)>0)for(f+1==h&&(i+=".");b--;i+="0");return a.s<0&&e?"-"+i:i}function B(a,b){for(var c,d,e=1,f=new z(a[0]);e<a.length;e++)(d=new z(a[e])).s&&(c=K(f,d))!==b&&(0!==c||f.s!==b)||(f=d);return f}function P(a,b,c){for(var d=1,e=b.length;!b[--e];b.pop());for(e=b[0];e>=10;e/=10,d++);return(c=d+14*c-1)>s?a.c=a.e=null:c<r?a.c=[a.e=0]:(a.e=c,a.c=b),a}function Q(a,b,c,d){var e,f,g,h,i,j,k,l=a.c;if(l){a:{for(e=1,h=l[0];h>=10;h/=10,e++);if((f=b-e)<0)f+=14,g=b,k=E((i=l[j=0])/H[e-g-1]%10);else if((j=D((f+1)/14))>=l.length)if(d){for(;l.length<=j;l.push(0));i=k=0,e=1,f%=14,g=f-14+1}else break a;else{for(e=1,i=h=l[j];h>=10;h/=10,e++);f%=14,k=(g=f-14+e)<0?0:E(i/H[e-g-1]%10)}if(d=d||b<0||null!=l[j+1]||(g<0?i:i%H[e-g-1]),d=c<4?(k||d)&&(0==c||c==(a.s<0?3:2)):k>5||5==k&&(4==c||d||6==c&&(f>0?g>0?i/H[e-g]:0:l[j-1])%10&1||c==(a.s<0?8:7)),b<1||!l[0])return l.length=0,d?(b-=a.e+1,l[0]=H[(14-b%14)%14],a.e=-b||0):l[0]=a.e=0,a;if(0==f?(l.length=j,h=1,j--):(l.length=j+1,h=H[14-f],l[j]=g>0?E(i/H[e-g]%H[g])*h:0),d)for(;;)if(0==j){for(f=1,g=l[0];g>=10;g/=10,f++);for(g=l[0]+=h,h=1;g>=10;g/=10,h++);f!=h&&(a.e++,1e14==l[0]&&(l[0]=1));break}else{if(l[j]+=h,1e14!=l[j])break;l[j--]=0,h=1}for(f=l.length;0===l[--f];l.pop());}a.e>s?a.c=a.e=null:a.e<r&&(a.c=[a.e=0])}return a}function R(a){var b,c=a.e;return null===c?a.toString():(b=J(a.c),b=c<=p||c>=q?N(b,c):O(b,c,"0"),a.s<0?"-"+b:b)}return z.clone=a,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(a){var b,c;if(null!=a)if("object"==typeof a){if(a.hasOwnProperty(b="DECIMAL_PLACES")&&(L(c=a[b],0,1e9,b),n=c),a.hasOwnProperty(b="ROUNDING_MODE")&&(L(c=a[b],0,8,b),o=c),a.hasOwnProperty(b="EXPONENTIAL_AT")&&((c=a[b])&&c.pop?(L(c[0],-1e9,0,b),L(c[1],0,1e9,b),p=c[0],q=c[1]):(L(c,-1e9,1e9,b),p=-(q=c<0?-c:c))),a.hasOwnProperty(b="RANGE"))if((c=a[b])&&c.pop)L(c[0],-1e9,-1,b),L(c[1],1,1e9,b),r=c[0],s=c[1];else if(L(c,-1e9,1e9,b),c)r=-(s=c<0?-c:c);else throw Error(F+b+" cannot be zero: "+c);if(a.hasOwnProperty(b="CRYPTO"))if(!!(c=a[b])===c)if(c)if("u">typeof crypto&&crypto&&(crypto.getRandomValues||crypto.randomBytes))t=c;else throw t=!c,Error(F+"crypto unavailable");else t=c;else throw Error(F+b+" not true or false: "+c);if(a.hasOwnProperty(b="MODULO_MODE")&&(L(c=a[b],0,9,b),u=c),a.hasOwnProperty(b="POW_PRECISION")&&(L(c=a[b],0,1e9,b),v=c),a.hasOwnProperty(b="FORMAT"))if("object"==typeof(c=a[b]))w=c;else throw Error(F+b+" not an object: "+c);if(a.hasOwnProperty(b="ALPHABET")){if("string"!=typeof(c=a[b])||/^.?$|[+\-.\s]|(.).*\1/.test(c))throw Error(F+b+" invalid: "+c);y="0123456789"==c.slice(0,10),x=c}}else throw Error(F+"Object expected: "+a);return{DECIMAL_PLACES:n,ROUNDING_MODE:o,EXPONENTIAL_AT:[p,q],RANGE:[r,s],CRYPTO:t,MODULO_MODE:u,POW_PRECISION:v,FORMAT:w,ALPHABET:x}},z.isBigNumber=function(a){if(!a||!0!==a._isBigNumber)return!1;if(!z.DEBUG)return!0;var b,c,d=a.c,e=a.e,f=a.s;a:if("[object Array]"==({}).toString.call(d)){if((1===f||-1===f)&&e>=-1e9&&e<=1e9&&e===E(e)){if(0===d[0]){if(0===e&&1===d.length)return!0;break a}if((b=(e+1)%14)<1&&(b+=14),String(d[0]).length==b){for(b=0;b<d.length;b++)if((c=d[b])<0||c>=1e14||c!==E(c))break a;if(0!==c)return!0}}}else if(null===d&&null===e&&(null===f||1===f||-1===f))return!0;throw Error(F+"Invalid BigNumber: "+a)},z.maximum=z.max=function(){return B(arguments,-1)},z.minimum=z.min=function(){return B(arguments,1)},c=0x20000000000000*Math.random()&2097151?function(){return E(0x20000000000000*Math.random())}:function(){return(0x40000000*Math.random()|0)*8388608+(8388608*Math.random()|0)},z.random=function(a){var b,d,e,f,g,h=0,i=[],j=new z(m);if(null==a?a=n:L(a,0,1e9),f=D(a/14),t)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(f*=2));h<f;)(g=131072*b[h]+(b[h+1]>>>11))>=9e15?(d=crypto.getRandomValues(new Uint32Array(2)),b[h]=d[0],b[h+1]=d[1]):(i.push(g%1e14),h+=2);h=f/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(f*=7);h<f;)(g=(31&b[h])*0x1000000000000+0x10000000000*b[h+1]+0x100000000*b[h+2]+0x1000000*b[h+3]+(b[h+4]<<16)+(b[h+5]<<8)+b[h+6])>=9e15?crypto.randomBytes(7).copy(b,h):(i.push(g%1e14),h+=7);h=f/7}else throw t=!1,Error(F+"crypto unavailable");if(!t)for(;h<f;)(g=c())<9e15&&(i[h++]=g%1e14);for(f=i[--h],a%=14,f&&a&&(g=H[14-a],i[h]=E(f/g)*g);0===i[h];i.pop(),h--);if(h<0)i=[e=0];else{for(e=-1;0===i[0];i.splice(0,1),e-=14);for(h=1,g=i[0];g>=10;g/=10,h++);h<14&&(e-=14-h)}return j.e=e,j.c=i,j},z.sum=function(){for(var a=1,b=arguments,c=new z(b[0]);a<b.length;)c=c.plus(b[a++]);return c},j=function(){var a="0123456789";function b(a,b,c,d){for(var e,f,g=[0],h=0,i=a.length;h<i;){for(f=g.length;f--;g[f]*=b);for(g[0]+=d.indexOf(a.charAt(h++)),e=0;e<g.length;e++)g[e]>c-1&&(null==g[e+1]&&(g[e+1]=0),g[e+1]+=g[e]/c|0,g[e]%=c)}return g.reverse()}return function(c,d,e,f,g){var h,j,k,l,m,p,q,r,s=c.indexOf("."),t=n,u=o;for(s>=0&&(l=v,v=0,c=c.replace(".",""),p=(r=new z(d)).pow(c.length-s),v=l,r.c=b(O(J(p.c),p.e,"0"),10,e,a),r.e=r.c.length),k=l=(q=b(c,d,e,g?(h=x,a):(h=a,x))).length;0==q[--l];q.pop());if(!q[0])return h.charAt(0);if(s<0?--k:(p.c=q,p.e=k,p.s=f,q=(p=i(p,r,t,u,e)).c,m=p.r,k=p.e),s=q[j=k+t+1],l=e/2,m=m||j<0||null!=q[j+1],m=u<4?(null!=s||m)&&(0==u||u==(p.s<0?3:2)):s>l||s==l&&(4==u||m||6==u&&1&q[j-1]||u==(p.s<0?8:7)),j<1||!q[0])c=m?O(h.charAt(1),-t,h.charAt(0)):h.charAt(0);else{if(q.length=j,m)for(--e;++q[--j]>e;)q[j]=0,j||(++k,q=[1].concat(q));for(l=q.length;!q[--l];);for(s=0,c="";s<=l;c+=h.charAt(q[s++]));c=O(c,k,h.charAt(0))}return c}}(),i=function(){function a(a,b,c){var d,e,f,g,h=0,i=a.length,j=b%1e7,k=b/1e7|0;for(a=a.slice();i--;)d=k*(f=a[i]%1e7)+(g=a[i]/1e7|0)*j,h=((e=j*f+d%1e7*1e7+h)/c|0)+(d/1e7|0)+k*g,a[i]=e%c;return h&&(a=[h].concat(a)),a}function b(a,b,c,d){var e,f;if(c!=d)f=c>d?1:-1;else for(e=f=0;e<c;e++)if(a[e]!=b[e]){f=a[e]>b[e]?1:-1;break}return f}function c(a,b,c,d){for(var e=0;c--;)a[c]-=e,e=+(a[c]<b[c]),a[c]=e*d+a[c]-b[c];for(;!a[0]&&a.length>1;a.splice(0,1));}return function(d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A=d.s==e.s?1:-1,B=d.c,C=e.c;if(!B||!B[0]||!C||!C[0])return new z(!d.s||!e.s||(B?C&&B[0]==C[0]:!C)?NaN:B&&0==B[0]||!C?0*A:A/0);for(q=(p=new z(A)).c=[],A=f+(j=d.e-e.e)+1,h||(h=1e14,j=I(d.e/14)-I(e.e/14),A=A/14|0),k=0;C[k]==(B[k]||0);k++);if(C[k]>(B[k]||0)&&j--,A<0)q.push(1),l=!0;else{for(v=B.length,x=C.length,k=0,A+=2,(m=E(h/(C[0]+1)))>1&&(C=a(C,m,h),B=a(B,m,h),x=C.length,v=B.length),u=x,s=(r=B.slice(0,x)).length;s<x;r[s++]=0);y=[0].concat(y=C.slice()),w=C[0],C[1]>=h/2&&w++;do{if(m=0,(i=b(C,r,x,s))<0){if(t=r[0],x!=s&&(t=t*h+(r[1]||0)),(m=E(t/w))>1)for(m>=h&&(m=h-1),o=(n=a(C,m,h)).length,s=r.length;1==b(n,r,o,s);)m--,c(n,x<o?y:C,o,h),o=n.length,i=1;else 0==m&&(i=m=1),o=(n=C.slice()).length;if(o<s&&(n=[0].concat(n)),c(r,n,s,h),s=r.length,-1==i)for(;1>b(C,r,x,s);)m++,c(r,x<s?y:C,s,h),s=r.length}else 0===i&&(m++,r=[0]);q[k++]=m,r[0]?r[s++]=B[u]||0:(r=[B[u]],s=1)}while((u++<v||null!=r[0])&&A--);l=null!=r[0],q[0]||q.splice(0,1)}if(1e14==h){for(k=1,A=q[0];A>=10;A/=10,k++);Q(p,f+(p.e=k+14*j-1)+1,g,l)}else p.e=j,p.r=+l;return p}}(),d=/^(-?)0([xbo])(?=\w[\w.]*$)/i,e=/^([^.]+)\.$/,f=/^\.([^.]+)$/,g=/^-?(Infinity|NaN)$/,h=/^\s*\+(?=[\w.])|^\s+|\s+$/g,k=function(a,b,c,i){var j,k=c?b:b.replace(h,"");if(g.test(k))a.s=isNaN(k)?null:k<0?-1:1;else{if(!c&&(k=k.replace(d,function(a,b,c){return j="x"==(c=c.toLowerCase())?16:"b"==c?2:8,i&&i!=j?a:b}),i&&(j=i,k=k.replace(e,"$1").replace(f,"0.$1")),b!=k))return new z(k,j);if(z.DEBUG)throw Error(F+"Not a"+(i?" base "+i:"")+" number: "+b);a.s=null}a.c=a.e=null},l.absoluteValue=l.abs=function(){var a=new z(this);return a.s<0&&(a.s=1),a},l.comparedTo=function(a,b){return K(this,new z(a,b))},l.decimalPlaces=l.dp=function(a,b){var c,d,e;if(null!=a)return L(a,0,1e9),null==b?b=o:L(b,0,8),Q(new z(this),a+this.e+1,b);if(!(c=this.c))return null;if(d=((e=c.length-1)-I(this.e/14))*14,e=c[e])for(;e%10==0;e/=10,d--);return d<0&&(d=0),d},l.dividedBy=l.div=function(a,b){return i(this,new z(a,b),n,o)},l.dividedToIntegerBy=l.idiv=function(a,b){return i(this,new z(a,b),0,1)},l.exponentiatedBy=l.pow=function(a,b){var c,d,e,f,g,h,i,j,k,l=this;if((a=new z(a)).c&&!a.isInteger())throw Error(F+"Exponent not an integer: "+R(a));if(null!=b&&(b=new z(b)),h=a.e>14,!l.c||!l.c[0]||1==l.c[0]&&!l.e&&1==l.c.length||!a.c||!a.c[0])return k=new z(Math.pow(+R(l),h?a.s*(2-M(a)):+R(a))),b?k.mod(b):k;if(i=a.s<0,b){if(b.c?!b.c[0]:!b.s)return new z(NaN);(d=!i&&l.isInteger()&&b.isInteger())&&(l=l.mod(b))}else{if(a.e>9&&(l.e>0||l.e<-1||(0==l.e?l.c[0]>1||h&&l.c[1]>=24e7:l.c[0]<8e13||h&&l.c[0]<=9999975e7)))return f=l.s<0&&M(a)?-0:0,l.e>-1&&(f=1/f),new z(i?1/f:f);v&&(f=D(v/14+2))}for(h?(c=new z(.5),i&&(a.s=1),j=M(a)):j=(e=Math.abs(+R(a)))%2,k=new z(m);;){if(j){if(!(k=k.times(l)).c)break;f?k.c.length>f&&(k.c.length=f):d&&(k=k.mod(b))}if(e){if(0===(e=E(e/2)))break;j=e%2}else if(Q(a=a.times(c),a.e+1,1),a.e>14)j=M(a);else{if(0==(e=+R(a)))break;j=e%2}l=l.times(l),f?l.c&&l.c.length>f&&(l.c.length=f):d&&(l=l.mod(b))}return d?k:(i&&(k=m.div(k)),b?k.mod(b):f?Q(k,v,o,g):k)},l.integerValue=function(a){var b=new z(this);return null==a?a=o:L(a,0,8),Q(b,b.e+1,a)},l.isEqualTo=l.eq=function(a,b){return 0===K(this,new z(a,b))},l.isFinite=function(){return!!this.c},l.isGreaterThan=l.gt=function(a,b){return K(this,new z(a,b))>0},l.isGreaterThanOrEqualTo=l.gte=function(a,b){return 1===(b=K(this,new z(a,b)))||0===b},l.isInteger=function(){return!!this.c&&I(this.e/14)>this.c.length-2},l.isLessThan=l.lt=function(a,b){return 0>K(this,new z(a,b))},l.isLessThanOrEqualTo=l.lte=function(a,b){return -1===(b=K(this,new z(a,b)))||0===b},l.isNaN=function(){return!this.s},l.isNegative=function(){return this.s<0},l.isPositive=function(){return this.s>0},l.isZero=function(){return!!this.c&&0==this.c[0]},l.minus=function(a,b){var c,d,e,f,g=this.s;if(b=(a=new z(a,b)).s,!g||!b)return new z(NaN);if(g!=b)return a.s=-b,this.plus(a);var h=this.e/14,i=a.e/14,j=this.c,k=a.c;if(!h||!i){if(!j||!k)return j?(a.s=-b,a):new z(k?this:NaN);if(!j[0]||!k[0])return k[0]?(a.s=-b,a):new z(j[0]?this:3==o?-0:0)}if(h=I(h),i=I(i),j=j.slice(),g=h-i){for((f=g<0)?(g=-g,e=j):(i=h,e=k),e.reverse(),b=g;b--;e.push(0));e.reverse()}else for(d=(f=(g=j.length)<(b=k.length))?g:b,g=b=0;b<d;b++)if(j[b]!=k[b]){f=j[b]<k[b];break}if(f&&(e=j,j=k,k=e,a.s=-a.s),(b=(d=k.length)-(c=j.length))>0)for(;b--;j[c++]=0);for(b=1e14-1;d>g;){if(j[--d]<k[d]){for(c=d;c&&!j[--c];j[c]=b);--j[c],j[d]+=1e14}j[d]-=k[d]}for(;0==j[0];j.splice(0,1),--i);return j[0]?P(a,j,i):(a.s=3==o?-1:1,a.c=[a.e=0],a)},l.modulo=l.mod=function(a,b){var c,d;return(a=new z(a,b),this.c&&a.s&&(!a.c||a.c[0]))?a.c&&(!this.c||this.c[0])?(9==u?(d=a.s,a.s=1,c=i(this,a,0,3),a.s=d,c.s*=d):c=i(this,a,0,u),(a=this.minus(c.times(a))).c[0]||1!=u||(a.s=this.s),a):new z(this):new z(NaN)},l.multipliedBy=l.times=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p=this.c,q=(a=new z(a,b)).c;if(!p||!q||!p[0]||!q[0])return this.s&&a.s&&(!p||p[0]||q)&&(!q||q[0]||p)?(a.s*=this.s,p&&q?(a.c=[0],a.e=0):a.c=a.e=null):a.c=a.e=a.s=null,a;for(d=I(this.e/14)+I(a.e/14),a.s*=this.s,(i=p.length)<(l=q.length)&&(o=p,p=q,q=o,e=i,i=l,l=e),e=i+l,o=[];e--;o.push(0));for(e=l;--e>=0;){for(c=0,m=q[e]%1e7,n=q[e]/1e7|0,f=e+(g=i);f>e;)h=n*(j=p[--g]%1e7)+(k=p[g]/1e7|0)*m,c=((j=m*j+h%1e7*1e7+o[f]+c)/1e14|0)+(h/1e7|0)+n*k,o[f--]=j%1e14;o[f]=c}return c?++d:o.splice(0,1),P(a,o,d)},l.negated=function(){var a=new z(this);return a.s=-a.s||null,a},l.plus=function(a,b){var c,d=this.s;if(b=(a=new z(a,b)).s,!d||!b)return new z(NaN);if(d!=b)return a.s=-b,this.minus(a);var e=this.e/14,f=a.e/14,g=this.c,h=a.c;if(!e||!f){if(!g||!h)return new z(d/0);if(!g[0]||!h[0])return h[0]?a:new z(g[0]?this:0*d)}if(e=I(e),f=I(f),g=g.slice(),d=e-f){for(d>0?(f=e,c=h):(d=-d,c=g),c.reverse();d--;c.push(0));c.reverse()}for((d=g.length)-(b=h.length)<0&&(c=h,h=g,g=c,b=d),d=0;b;)d=(g[--b]=g[b]+h[b]+d)/1e14|0,g[b]=1e14===g[b]?0:g[b]%1e14;return d&&(g=[d].concat(g),++f),P(a,g,f)},l.precision=l.sd=function(a,b){var c,d,e;if(null!=a&&!!a!==a)return L(a,1,1e9),null==b?b=o:L(b,0,8),Q(new z(this),a,b);if(!(c=this.c))return null;if(d=14*(e=c.length-1)+1,e=c[e]){for(;e%10==0;e/=10,d--);for(e=c[0];e>=10;e/=10,d++);}return a&&this.e+1>d&&(d=this.e+1),d},l.shiftedBy=function(a){return L(a,-0x1fffffffffffff,0x1fffffffffffff),this.times("1e"+a)},l.squareRoot=l.sqrt=function(){var a,b,c,d,e,f=this.c,g=this.s,h=this.e,j=n+4,k=new z("0.5");if(1!==g||!f||!f[0])return new z(!g||g<0&&(!f||f[0])?NaN:f?this:1/0);if(0==(g=Math.sqrt(+R(this)))||g==1/0?(((b=J(f)).length+h)%2==0&&(b+="0"),g=Math.sqrt(+b),h=I((h+1)/2)-(h<0||h%2),c=new z(b=g==1/0?"5e"+h:(b=g.toExponential()).slice(0,b.indexOf("e")+1)+h)):c=new z(g+""),c.c[0]){for((g=(h=c.e)+j)<3&&(g=0);;)if(e=c,c=k.times(e.plus(i(this,e,j,1))),J(e.c).slice(0,g)===(b=J(c.c)).slice(0,g)){if(c.e<h&&--g,"9999"!=(b=b.slice(g-3,g+1))&&(d||"4999"!=b)){+b&&(+b.slice(1)||"5"!=b.charAt(0))||(Q(c,c.e+n+2,1),a=!c.times(c).eq(this));break}if(!d&&(Q(e,e.e+n+2,0),e.times(e).eq(this))){c=e;break}j+=4,g+=4,d=1}}return Q(c,c.e+n+1,o,a)},l.toExponential=function(a,b){return null!=a&&(L(a,0,1e9),a++),A(this,a,b,1)},l.toFixed=function(a,b){return null!=a&&(L(a,0,1e9),a=a+this.e+1),A(this,a,b)},l.toFormat=function(a,b,c){var d;if(null==c)null!=a&&b&&"object"==typeof b?(c=b,b=null):a&&"object"==typeof a?(c=a,a=b=null):c=w;else if("object"!=typeof c)throw Error(F+"Argument not an object: "+c);if(d=this.toFixed(a,b),this.c){var e,f=d.split("."),g=+c.groupSize,h=+c.secondaryGroupSize,i=c.groupSeparator||"",j=f[0],k=f[1],l=this.s<0,m=l?j.slice(1):j,n=m.length;if(h&&(e=g,g=h,h=e,n-=e),g>0&&n>0){for(e=n%g||g,j=m.substr(0,e);e<n;e+=g)j+=i+m.substr(e,g);h>0&&(j+=i+m.slice(e)),l&&(j="-"+j)}d=k?j+(c.decimalSeparator||"")+((h=+c.fractionGroupSize)?k.replace(RegExp("\\d{"+h+"}\\B","g"),"$&"+(c.fractionGroupSeparator||"")):k):j}return(c.prefix||"")+d+(c.suffix||"")},l.toFraction=function(a){var b,c,d,e,f,g,h,j,k,l,n,p,q=this.c;if(null!=a&&(!(h=new z(a)).isInteger()&&(h.c||1!==h.s)||h.lt(m)))throw Error(F+"Argument "+(h.isInteger()?"out of range: ":"not an integer: ")+R(h));if(!q)return new z(this);for(b=new z(m),k=c=new z(m),d=j=new z(m),p=J(q),f=b.e=p.length-this.e-1,b.c[0]=H[(g=f%14)<0?14+g:g],a=!a||h.comparedTo(b)>0?f>0?b:k:h,g=s,s=1/0,h=new z(p),j.c[0]=0;l=i(h,b,0,1),1!=(e=c.plus(l.times(d))).comparedTo(a);)c=d,d=e,k=j.plus(l.times(e=k)),j=e,b=h.minus(l.times(e=b)),h=e;return e=i(a.minus(c),d,0,1),j=j.plus(e.times(k)),c=c.plus(e.times(d)),j.s=k.s=this.s,f*=2,n=1>i(k,d,f,o).minus(this).abs().comparedTo(i(j,c,f,o).minus(this).abs())?[k,d]:[j,c],s=g,n},l.toNumber=function(){return+R(this)},l.toPrecision=function(a,b){return null!=a&&L(a,1,1e9),A(this,a,b,2)},l.toString=function(a){var b,c=this,d=c.s,e=c.e;return null===e?d?(b="Infinity",d<0&&(b="-"+b)):b="NaN":(null==a?b=e<=p||e>=q?N(J(c.c),e):O(J(c.c),e,"0"):10===a&&y?b=O(J((c=Q(new z(c),n+e+1,o)).c),c.e,"0"):(L(a,2,x.length,"Base"),b=j(O(J(c.c),e,"0"),10,a,d,!0)),d<0&&c.c[0]&&(b="-"+b)),b},l.valueOf=l.toJSON=function(){return R(this)},l._isBigNumber=!0,l[Symbol.toStringTag]="BigNumber",l[Symbol.for("nodejs.util.inspect.custom")]=l.valueOf,null!=b&&z.set(b),z}();let Q=24,R="u">typeof globalThis&&globalThis.crypto&&"function"==typeof globalThis.crypto.getRandomValues?()=>{let a=new Uint32Array(1);return globalThis.crypto.getRandomValues(a),a[0]/0x100000000}:Math.random,S=(a=4,b=R)=>{let c="";for(;c.length<a;)c+=Math.floor(36*b()).toString(36);return c},T=(a="")=>(function(a){let b=new P(0);for(let c of a.values())b=b.multipliedBy(256).plus(c);return b})(A(new TextEncoder().encode(a))).toString(36).slice(1),U=Array.from({length:26},(a,b)=>String.fromCharCode(b+97)),V=({globalObj:a="u">typeof global?global:"u">typeof window?window:{},random:b=R}={})=>{let c=Object.keys(a).toString();return T(c.length?c+S(32,b):S(32,b)).substring(0,32)},W=a=>()=>a++,X=0x1c6b1f1f,Y=(B=({random:a=R,counter:b=W(Math.floor(a()*X)),length:c=Q,fingerprint:d=V({random:a})}={})=>{if(c>32)throw Error(`Length must be between 2 and 32. Received: ${c}`);return function(){let e=U[Math.floor(a()*U.length)],f=Date.now().toString(36),g=b().toString(36),h=S(c,a),i=`${f+h+g+d}`;return`${e+T(i).substring(1,c)}`}},()=>(d||(d=B()),d()))},12839:(a,b,c)=>{c.d(b,{AU:()=>m,B3:()=>B,KJ:()=>w,KL:()=>s,Pe:()=>u,RK:()=>A,RO:()=>o,RV:()=>r,Tq:()=>x,Uo:()=>k,eq:()=>i,gt:()=>n,kZ:()=>t,lt:()=>p,mj:()=>z,ne:()=>j,o8:()=>y,or:()=>l,q1:()=>C,t2:()=>v,wJ:()=>q});var d=c(88716),e=c(29223),f=c(47446),g=c(65338);function h(a,b){return!(0,g.eG)(b)||(0,g.qt)(a)||(0,e.is)(a,g.Iw)||(0,e.is)(a,g.Or)||(0,e.is)(a,d.V)||(0,e.is)(a,f.XI)||(0,e.is)(a,g.Ss)?a:new g.Iw(a,b)}let i=(a,b)=>(0,g.ll)`${a} = ${h(b,a)}`,j=(a,b)=>(0,g.ll)`${a} <> ${h(b,a)}`;function k(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" and ")),new g.DJ(")")])}function l(...a){let b=a.filter(a=>void 0!==a);if(0!==b.length)return new g.Xs(1===b.length?b:[new g.DJ("("),g.ll.join(b,new g.DJ(" or ")),new g.DJ(")")])}function m(a){return(0,g.ll)`not ${a}`}let n=(a,b)=>(0,g.ll)`${a} > ${h(b,a)}`,o=(a,b)=>(0,g.ll)`${a} >= ${h(b,a)}`,p=(a,b)=>(0,g.ll)`${a} < ${h(b,a)}`,q=(a,b)=>(0,g.ll)`${a} <= ${h(b,a)}`;function r(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`false`:(0,g.ll)`${a} in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} in ${h(b,a)}`}function s(a,b){return Array.isArray(b)?0===b.length?(0,g.ll)`true`:(0,g.ll)`${a} not in ${b.map(b=>h(b,a))}`:(0,g.ll)`${a} not in ${h(b,a)}`}function t(a){return(0,g.ll)`${a} is null`}function u(a){return(0,g.ll)`${a} is not null`}function v(a){return(0,g.ll)`exists ${a}`}function w(a){return(0,g.ll)`not exists ${a}`}function x(a,b,c){return(0,g.ll)`${a} between ${h(b,a)} and ${h(c,a)}`}function y(a,b,c){return(0,g.ll)`${a} not between ${h(b,a)} and ${h(c,a)}`}function z(a,b){return(0,g.ll)`${a} like ${b}`}function A(a,b){return(0,g.ll)`${a} not like ${b}`}function B(a,b){return(0,g.ll)`${a} ilike ${b}`}function C(a,b){return(0,g.ll)`${a} not ilike ${b}`}},13429:(a,b,c)=>{c.d(b,{nd:()=>p});var d=c(29223),e=c(65338),f=c(37377),g=c(14045);class h extends g.o{static [d.i]="SQLiteBaseIntegerBuilder";constructor(a,b,c){super(a,b,c),this.config.autoIncrement=!1}primaryKey(a){return a?.autoIncrement&&(this.config.autoIncrement=!0),this.config.hasDefault=!0,super.primaryKey()}}class i extends g.v{static [d.i]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}}class j extends h{static [d.i]="SQLiteIntegerBuilder";constructor(a){super(a,"number","SQLiteInteger")}build(a){return new k(a,this.config)}}class k extends i{static [d.i]="SQLiteInteger"}class l extends h{static [d.i]="SQLiteTimestampBuilder";constructor(a,b){super(a,"date","SQLiteTimestamp"),this.config.mode=b}defaultNow(){return this.default((0,e.ll)`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(a){return new m(a,this.config)}}class m extends i{static [d.i]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(a){return new Date("timestamp"===this.config.mode?1e3*a:a)}mapToDriverValue(a){let b=a.getTime();return"timestamp"===this.config.mode?Math.floor(b/1e3):b}}class n extends h{static [d.i]="SQLiteBooleanBuilder";constructor(a,b){super(a,"boolean","SQLiteBoolean"),this.config.mode=b}build(a){return new o(a,this.config)}}class o extends i{static [d.i]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(a){return 1===Number(a)}mapToDriverValue(a){return+!!a}}function p(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="timestamp"||d?.mode==="timestamp_ms"?new l(c,d.mode):d?.mode==="boolean"?new n(c,d.mode):new j(c)}},14045:(a,b,c)=>{c.d(b,{v:()=>n,o:()=>m});var d=c(70514),e=c(88716),f=c(29223),g=c(18208),h=c(19287);function i(a,b){return`${a[h.E]}_${b.join("_")}_unique`}class j{constructor(a,b){this.name=b,this.columns=a}static [f.i]=null;columns;build(a){return new l(a,this.columns,this.name)}}class k{static [f.i]=null;name;constructor(a){this.name=a}on(...a){return new j(a,this.name)}}class l{constructor(a,b,c){this.table=a,this.columns=b,this.name=c??i(this.table,this.columns.map(a=>a.name))}static [f.i]=null;columns;name;getName(){return this.name}}class m extends d.Q{static [f.i]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a){return this.config.isUnique=!0,this.config.uniqueName=a,this}generatedAlwaysAs(a,b){return this.config.generated={as:a,type:"always",mode:b?.mode??"virtual"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>{let e;return e=new g.BE(()=>({columns:[a],foreignColumns:[c()]})),d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)})}}class n extends e.V{constructor(a,b){b.uniqueName||(b.uniqueName=i(a,[b.name])),super(a,b),this.table=a}static [f.i]="SQLiteColumn"}},14052:(a,b,c)=>{c.d(b,{Qq:()=>k});var d=c(29223),e=c(37377),f=c(14045);class g extends f.o{static [d.i]="SQLiteTextBuilder";constructor(a,b){super(a,"string","SQLiteText"),this.config.enumValues=b.enum,this.config.length=b.length}build(a){return new h(a,this.config)}}class h extends f.v{static [d.i]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(a,b){super(a,b)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}}class i extends f.o{static [d.i]="SQLiteTextJsonBuilder";constructor(a){super(a,"json","SQLiteTextJson")}build(a){return new j(a,this.config)}}class j extends f.v{static [d.i]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(a){return JSON.parse(a)}mapToDriverValue(a){return JSON.stringify(a)}}function k(a,b={}){let{name:c,config:d}=(0,e.Ll)(a,b);return"json"===d.mode?new i(c):new g(c,d)}},15577:(a,b,c)=>{c.d(b,{n:()=>d});let d=Symbol.for("drizzle:ViewBaseConfig")},16360:(a,b,c)=>{c.d(b,{jo:()=>C,D:()=>D});var d=c(29223),e=c(47446),f=c(37377),g=c(14045);class h extends g.o{static [d.i]="SQLiteBigIntBuilder";constructor(a){super(a,"bigint","SQLiteBigInt")}build(a){return new i(a,this.config)}}class i extends g.v{static [d.i]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?BigInt((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):BigInt(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(a.toString())}}class j extends g.o{static [d.i]="SQLiteBlobJsonBuilder";constructor(a){super(a,"json","SQLiteBlobJson")}build(a){return new k(a,this.config)}}class k extends g.v{static [d.i]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(a){return"u">typeof Buffer&&Buffer.from?JSON.parse((Buffer.isBuffer(a)?a:a instanceof ArrayBuffer?Buffer.from(a):a.buffer?Buffer.from(a.buffer,a.byteOffset,a.byteLength):Buffer.from(a)).toString("utf8")):JSON.parse(f.su.decode(a))}mapToDriverValue(a){return Buffer.from(JSON.stringify(a))}}class l extends g.o{static [d.i]="SQLiteBlobBufferBuilder";constructor(a){super(a,"buffer","SQLiteBlobBuffer")}build(a){return new m(a,this.config)}}class m extends g.v{static [d.i]="SQLiteBlobBuffer";mapFromDriverValue(a){return Buffer.isBuffer(a)?a:Buffer.from(a)}getSQLType(){return"blob"}}function n(a,b){let{name:c,config:d}=(0,f.Ll)(a,b);return d?.mode==="json"?new j(c):d?.mode==="bigint"?new h(c):new l(c)}class o extends g.o{static [d.i]="SQLiteCustomColumnBuilder";constructor(a,b,c){super(a,"custom","SQLiteCustomColumn"),this.config.fieldConfig=b,this.config.customTypeParams=c}build(a){return new p(a,this.config)}}class p extends g.v{static [d.i]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(a,b){super(a,b),this.sqlName=b.customTypeParams.dataType(b.fieldConfig),this.mapTo=b.customTypeParams.toDriver,this.mapFrom=b.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(a){return"function"==typeof this.mapFrom?this.mapFrom(a):a}mapToDriverValue(a){return"function"==typeof this.mapTo?this.mapTo(a):a}}function q(a){return(b,c)=>{let{name:d,config:e}=(0,f.Ll)(b,c);return new o(d,e,a)}}var r=c(13429);class s extends g.o{static [d.i]="SQLiteNumericBuilder";constructor(a){super(a,"string","SQLiteNumeric")}build(a){return new t(a,this.config)}}class t extends g.v{static [d.i]="SQLiteNumeric";mapFromDriverValue(a){return"string"==typeof a?a:String(a)}getSQLType(){return"numeric"}}class u extends g.o{static [d.i]="SQLiteNumericNumberBuilder";constructor(a){super(a,"number","SQLiteNumericNumber")}build(a){return new v(a,this.config)}}class v extends g.v{static [d.i]="SQLiteNumericNumber";mapFromDriverValue(a){return"number"==typeof a?a:Number(a)}mapToDriverValue=String;getSQLType(){return"numeric"}}class w extends g.o{static [d.i]="SQLiteNumericBigIntBuilder";constructor(a){super(a,"bigint","SQLiteNumericBigInt")}build(a){return new x(a,this.config)}}class x extends g.v{static [d.i]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}function y(a,b){let{name:c,config:d}=(0,f.Ll)(a,b),e=d?.mode;return"number"===e?new u(c):"bigint"===e?new w(c):new s(c)}var z=c(57805),A=c(14052);let B=Symbol.for("drizzle:SQLiteInlineForeignKeys");class C extends e.XI{static [d.i]="SQLiteTable";static Symbol=Object.assign({},e.XI.Symbol,{InlineForeignKeys:B});[e.XI.Symbol.Columns];[B]=[];[e.XI.Symbol.ExtraConfigBuilder]=void 0}let D=(a,b,c)=>(function(a,b,c,d=a){let f=new C(a,void 0,d),g=Object.fromEntries(Object.entries("function"==typeof b?b({blob:n,customType:q,integer:r.nd,numeric:y,real:z.x,text:A.Qq}):b).map(([a,b])=>{b.setName(a);let c=b.build(f);return f[B].push(...b.buildForeignKeys(c,f)),[a,c]})),h=Object.assign(f,g);return h[e.XI.Symbol.Columns]=g,h[e.XI.Symbol.ExtraConfigColumns]=g,c&&(h[C.Symbol.ExtraConfigBuilder]=c),h})(a,b,c)},17530:(a,b,c)=>{c.d(b,{ie:()=>f});var d=c(29223),e=c(16360);function f(...a){return a[0].columns?new g(a[0].columns,a[0].name):new g(a)}class g{static [d.i]="SQLitePrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new h(a,this.columns,this.name)}}class h{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [d.i]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[e.jo.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}},18208:(a,b,c)=>{c.d(b,{BE:()=>f,mt:()=>h});var d=c(29223),e=c(19287);class f{static [d.i]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=a,this}onDelete(a){return this._onDelete=a,this}build(a){return new g(a,this)}}class g{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [d.i]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),f=c.map(a=>a.name),g=[this.table[e.E],...d,c[0].table[e.E],...f];return a??`${g.join("_")}_fk`}}function h(a){return new f(function(){if("function"==typeof a){let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignColumns:d}}return a})}},19287:(a,b,c)=>{c.d(b,{E:()=>d});let d=Symbol.for("drizzle:Name")},29223:(a,b,c)=>{c.d(b,{i:()=>d,is:()=>e});let d=Symbol.for("drizzle:entityKind");function e(a,b){if(!a||"object"!=typeof a)return!1;if(a instanceof b)return!0;if(!Object.prototype.hasOwnProperty.call(b,d))throw Error(`Class "${b.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let c=Object.getPrototypeOf(a).constructor;if(c)for(;c;){if(d in c&&c[d]===b[d])return!0;c=Object.getPrototypeOf(c)}return!1}Symbol.for("drizzle:hasOwnEntityKind")},37377:(a,b,c)=>{c.d(b,{DV:()=>k,He:()=>function a(b,c){return Object.entries(b).reduce((b,[i,j])=>{if("string"!=typeof i)return b;let k=c?[...c,i]:[i];return(0,e.is)(j,d.V)||(0,e.is)(j,f.Xs)||(0,e.is)(j,f.Xs.Aliased)||(0,e.is)(j,g.n)?b.push({path:k,field:j}):(0,e.is)(j,h.XI)?b.push(...a(j[h.XI.Symbol.Columns],k)):b.push(...a(j,k)),b},[])},Ll:()=>p,Lq:()=>q,XJ:()=>m,YD:()=>n,a6:()=>j,q:()=>l,su:()=>r,zN:()=>o});var d=c(88716),e=c(29223),f=c(65338),g=c(62096),h=c(47446),i=c(15577);function j(a,b,c){let i={},j=a.reduce((a,{path:j,field:k},l)=>{let m;m=(0,e.is)(k,d.V)?k:(0,e.is)(k,f.Xs)?k.decoder:(0,e.is)(k,g.n)?k._.sql.decoder:k.sql.decoder;let n=a;for(let[a,f]of j.entries())if(a<j.length-1)f in n||(n[f]={}),n=n[f];else{let a=b[l],g=n[f]=null===a?null:m.mapFromDriverValue(a);if(c&&(0,e.is)(k,d.V)&&2===j.length){let a=j[0];a in i?"string"==typeof i[a]&&i[a]!==(0,h.Io)(k.table)&&(i[a]=!1):i[a]=null===g&&(0,h.Io)(k.table)}}return a},{});if(c&&Object.keys(i).length>0)for(let[a,b]of Object.entries(i))"string"!=typeof b||c[b]||(j[a]=null);return j}function k(a,b){let c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(let[a,b]of c.entries())if(b!==d[a])return!1;return!0}function l(a,b){let c=Object.entries(b).filter(([,a])=>void 0!==a).map(([b,c])=>(0,e.is)(c,f.Xs)||(0,e.is)(c,d.V)?[b,c]:[b,new f.Iw(c,a[h.XI.Symbol.Columns][b])]);if(0===c.length)throw Error("No values to set");return Object.fromEntries(c)}function m(a,b){for(let c of b)for(let b of Object.getOwnPropertyNames(c.prototype))"constructor"!==b&&Object.defineProperty(a.prototype,b,Object.getOwnPropertyDescriptor(c.prototype,b)||Object.create(null))}function n(a){return a[h.XI.Symbol.Columns]}function o(a){return(0,e.is)(a,g.n)?a._.alias:(0,e.is)(a,f.Ss)?a[i.n].name:(0,e.is)(a,f.Xs)?void 0:a[h.XI.Symbol.IsAlias]?a[h.XI.Symbol.Name]:a[h.XI.Symbol.BaseName]}function p(a,b){return{name:"string"==typeof a&&a.length>0?a:"",config:"object"==typeof a?a:b}}function q(a){if("object"!=typeof a||null===a||"Object"!==a.constructor.name)return!1;if("logger"in a){let b=typeof a.logger;return"boolean"===b||"object"===b&&"function"==typeof a.logger.logQuery||"undefined"===b}if("schema"in a){let b=typeof a.schema;return"object"===b||"undefined"===b}if("casing"in a){let b=typeof a.casing;return"string"===b||"undefined"===b}if("mode"in a)return"default"===a.mode&&"planetscale"===a.mode&&void 0===a.mode;if("connection"in a){let b=typeof a.connection;return"string"===b||"object"===b||"undefined"===b}if("client"in a){let b=typeof a.client;return"object"===b||"function"===b||"undefined"===b}return 0===Object.keys(a).length}let r="u"<typeof TextDecoder?null:new TextDecoder},47446:(a,b,c)=>{c.d(b,{HE:()=>k,Io:()=>o,Lf:()=>p,XI:()=>n,e:()=>g});var d=c(29223),e=c(19287);let f=Symbol.for("drizzle:Schema"),g=Symbol.for("drizzle:Columns"),h=Symbol.for("drizzle:ExtraConfigColumns"),i=Symbol.for("drizzle:OriginalName"),j=Symbol.for("drizzle:BaseName"),k=Symbol.for("drizzle:IsAlias"),l=Symbol.for("drizzle:ExtraConfigBuilder"),m=Symbol.for("drizzle:IsDrizzleTable");class n{static [d.i]="Table";static Symbol={Name:e.E,Schema:f,OriginalName:i,Columns:g,ExtraConfigColumns:h,BaseName:j,IsAlias:k,ExtraConfigBuilder:l};[e.E];[i];[f];[g];[h];[j];[k]=!1;[m]=!0;[l]=void 0;constructor(a,b,c){this[e.E]=this[i]=a,this[f]=b,this[j]=c}}function o(a){return a[e.E]}function p(a){return`${a[f]??"public"}.${a[e.E]}`}},47591:(a,b,c)=>{c.d(b,{GL:()=>i,Pe:()=>h});var d=c(29223);class e{constructor(a,b){this.name=a,this.unique=b}static [d.i]="SQLiteIndexBuilderOn";on(...a){return new f(this.name,a,this.unique)}}class f{static [d.i]="SQLiteIndexBuilder";config;constructor(a,b,c){this.config={name:a,columns:b,unique:c,where:void 0}}where(a){return this.config.where=a,this}build(a){return new g(this.config,a)}}class g{static [d.i]="SQLiteIndex";config;constructor(a,b){this.config={...a,table:b}}}function h(a){return new e(a,!1)}function i(a){return new e(a,!0)}},52856:(a,b,c)=>{c.d(b,{iv:()=>s,pD:()=>r,DZ:()=>y,_k:()=>v,mm:()=>t,rl:()=>u,I$:()=>function a(b,c,d,g,h=a=>a){let i={};for(let[j,k]of g.entries())if(k.isJson){let e=c.relations[k.tsKey],g=d[j],l="string"==typeof g?JSON.parse(g):g;i[k.tsKey]=(0,f.is)(e,r)?l&&a(b,b[k.relationTableTsKey],l,k.selection,h):l.map(c=>a(b,b[k.relationTableTsKey],c,k.selection,h))}else{let a,b=h(d[j]),c=k.field;a=(0,f.is)(c,e.V)?c:(0,f.is)(c,m.Xs)?c.decoder:c.sql.decoder,i[k.tsKey]=null===b?null:a.mapFromDriverValue(b)}return i},W0:()=>x,K1:()=>w});var d=c(47446),e=c(88716),f=c(29223);let g=Symbol.for("drizzle:PgInlineForeignKeys"),h=Symbol.for("drizzle:EnableRLS");class i extends d.XI{static [f.i]="PgTable";static Symbol=Object.assign({},d.XI.Symbol,{InlineForeignKeys:g,EnableRLS:h});[g]=[];[h]=!1;[d.XI.Symbol.ExtraConfigBuilder]=void 0;[d.XI.Symbol.ExtraConfigColumns]={}}class j{static [f.i]="PgPrimaryKeyBuilder";columns;name;constructor(a,b){this.columns=a,this.name=b}build(a){return new k(a,this.columns,this.name)}}class k{constructor(a,b,c){this.table=a,this.columns=b,this.name=c}static [f.i]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[i.Symbol.Name]}_${this.columns.map(a=>a.name).join("_")}_pk`}}var l=c(12839),m=c(65338);function n(a){return(0,m.ll)`${a} asc`}function o(a){return(0,m.ll)`${a} desc`}class p{constructor(a,b,c){this.sourceTable=a,this.referencedTable=b,this.relationName=c,this.referencedTableName=b[d.XI.Symbol.Name]}static [f.i]="Relation";referencedTableName;fieldName}class q{constructor(a,b){this.table=a,this.config=b}static [f.i]="Relations"}class r extends p{constructor(a,b,c,d){super(a,b,c?.relationName),this.config=c,this.isNullable=d}static [f.i]="One";withFieldName(a){let b=new r(this.sourceTable,this.referencedTable,this.config,this.isNullable);return b.fieldName=a,b}}class s extends p{constructor(a,b,c){super(a,b,c?.relationName),this.config=c}static [f.i]="Many";withFieldName(a){let b=new s(this.sourceTable,this.referencedTable,this.config);return b.fieldName=a,b}}function t(){return{and:l.Uo,between:l.Tq,eq:l.eq,exists:l.t2,gt:l.gt,gte:l.RO,ilike:l.B3,inArray:l.RV,isNull:l.kZ,isNotNull:l.Pe,like:l.mj,lt:l.lt,lte:l.wJ,ne:l.ne,not:l.AU,notBetween:l.o8,notExists:l.KJ,notLike:l.RK,notIlike:l.q1,notInArray:l.KL,or:l.or,sql:m.ll}}function u(){return{sql:m.ll,asc:n,desc:o}}function v(a,b){1===Object.keys(a).length&&"default"in a&&!(0,f.is)(a.default,d.XI)&&(a=a.default);let c={},e={},g={};for(let[h,i]of Object.entries(a))if((0,f.is)(i,d.XI)){let a=(0,d.Lf)(i),b=e[a];for(let e of(c[a]=h,g[h]={tsName:h,dbName:i[d.XI.Symbol.Name],schema:i[d.XI.Symbol.Schema],columns:i[d.XI.Symbol.Columns],relations:b?.relations??{},primaryKey:b?.primaryKey??[]},Object.values(i[d.XI.Symbol.Columns])))e.primary&&g[h].primaryKey.push(e);let k=i[d.XI.Symbol.ExtraConfigBuilder]?.(i[d.XI.Symbol.ExtraConfigColumns]);if(k)for(let a of Object.values(k))(0,f.is)(a,j)&&g[h].primaryKey.push(...a.columns)}else if((0,f.is)(i,q)){let a,f=(0,d.Lf)(i.table),h=c[f];for(let[c,d]of Object.entries(i.config(b(i.table))))if(h){let b=g[h];b.relations[c]=d,a&&b.primaryKey.push(...a)}else f in e||(e[f]={relations:{},primaryKey:a}),e[f].relations[c]=d}return{tables:g,tableNamesMap:c}}function w(a,b){return new q(a,a=>Object.fromEntries(Object.entries(b(a)).map(([a,b])=>[a,b.withFieldName(a)])))}function x(a,b,c){if((0,f.is)(c,r)&&c.config)return{fields:c.config.fields,references:c.config.references};let e=b[(0,d.Lf)(c.referencedTable)];if(!e)throw Error(`Table "${c.referencedTable[d.XI.Symbol.Name]}" not found in schema`);let g=a[e];if(!g)throw Error(`Table "${e}" not found in schema`);let h=c.sourceTable,i=b[(0,d.Lf)(h)];if(!i)throw Error(`Table "${h[d.XI.Symbol.Name]}" not found in schema`);let j=[];for(let a of Object.values(g.relations))(c.relationName&&c!==a&&a.relationName===c.relationName||!c.relationName&&a.referencedTable===c.sourceTable)&&j.push(a);if(j.length>1)throw c.relationName?Error(`There are multiple relations with name "${c.relationName}" in table "${e}"`):Error(`There are multiple relations between "${e}" and "${c.sourceTable[d.XI.Symbol.Name]}". Please specify relation name`);if(j[0]&&(0,f.is)(j[0],r)&&j[0].config)return{fields:j[0].config.references,references:j[0].config.fields};throw Error(`There is not enough information to infer relation "${i}.${c.fieldName}"`)}function y(a){return{one:function(b,c){return new r(a,b,c,c?.fields.reduce((a,b)=>a&&b.notNull,!0)??!1)},many:function(b,c){return new s(a,b,c)}}}},57805:(a,b,c)=>{c.d(b,{x:()=>h});var d=c(29223),e=c(14045);class f extends e.o{static [d.i]="SQLiteRealBuilder";constructor(a){super(a,"number","SQLiteReal")}build(a){return new g(a,this.config)}}class g extends e.v{static [d.i]="SQLiteReal";getSQLType(){return"real"}}function h(a){return new f(a??"")}},62096:(a,b,c)=>{c.d(b,{J:()=>f,n:()=>e});var d=c(29223);class e{static [d.i]="Subquery";constructor(a,b,c,d=!1,e=[]){this._={brand:"Subquery",sql:a,selectedFields:b,alias:c,isWith:d,usedTables:e}}}class f extends e{static [d.i]="WithSubquery"}},65338:(a,b,c)=>{let d,e;c.d(b,{Iw:()=>P,Or:()=>T,Xs:()=>K,DJ:()=>J,Ss:()=>W,Ct:()=>U,eG:()=>M,qt:()=>I,ll:()=>Q});var f,g=c(29223),h=c(70514),i=c(88716),j=c(19287);class k{static [g.i]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(a,b){this.reference=()=>{let{name:b,columns:c,foreignColumns:d}=a();return{name:b,columns:c,foreignTable:d[0].table,foreignColumns:d}},b&&(this._onUpdate=b.onUpdate,this._onDelete=b.onDelete)}onUpdate(a){return this._onUpdate=void 0===a?"no action":a,this}onDelete(a){return this._onDelete=void 0===a?"no action":a,this}build(a){return new l(a,this)}}class l{constructor(a,b){this.table=a,this.reference=b.reference,this.onUpdate=b._onUpdate,this.onDelete=b._onDelete}static [g.i]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:a,columns:b,foreignColumns:c}=this.reference(),d=b.map(a=>a.name),e=c.map(a=>a.name),f=[this.table[j.E],...d,c[0].table[j.E],...e];return a??`${f.join("_")}_fk`}}function m(a,...b){return a(...b)}function n(a,b){return`${a[j.E]}_${b.join("_")}_unique`}class o{constructor(a,b){this.name=b,this.columns=a}static [g.i]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(a){return new q(a,this.columns,this.nullsNotDistinctConfig,this.name)}}class p{static [g.i]=null;name;constructor(a){this.name=a}on(...a){return new o(a,this.name)}}class q{constructor(a,b,c,d){this.table=a,this.columns=b,this.name=d??n(this.table,this.columns.map(a=>a.name)),this.nullsNotDistinct=c}static [g.i]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function r(a,b,c){for(let d=b;d<a.length;d++){let e=a[d];if("\\"===e){d++;continue}if('"'===e)return[a.slice(b,d).replace(/\\/g,""),d+1];if(!c&&(","===e||"}"===e))return[a.slice(b,d).replace(/\\/g,""),d]}return[a.slice(b).replace(/\\/g,""),a.length]}class s extends h.Q{foreignKeyConfigs=[];static [g.i]="PgColumnBuilder";array(a){return new w(this.config.name,this,a)}references(a,b={}){return this.foreignKeyConfigs.push({ref:a,actions:b}),this}unique(a,b){return this.config.isUnique=!0,this.config.uniqueName=a,this.config.uniqueType=b?.nulls,this}generatedAlwaysAs(a){return this.config.generated={as:a,type:"always",mode:"stored"},this}buildForeignKeys(a,b){return this.foreignKeyConfigs.map(({ref:c,actions:d})=>m((c,d)=>{let e=new k(()=>({columns:[a],foreignColumns:[c()]}));return d.onUpdate&&e.onUpdate(d.onUpdate),d.onDelete&&e.onDelete(d.onDelete),e.build(b)},c,d))}buildExtraConfigColumn(a){return new u(a,this.config)}}class t extends i.V{constructor(a,b){b.uniqueName||(b.uniqueName=n(a,[b.name])),super(a,b),this.table=a}static [g.i]="PgColumn"}class u extends t{static [g.i]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(a){return this.indexConfig.opClass=a,this}}class v{static [g.i]=null;constructor(a,b,c,d){this.name=a,this.keyAsName=b,this.type=c,this.indexConfig=d}name;keyAsName;type;indexConfig}class w extends s{static [g.i]="PgArrayBuilder";constructor(a,b,c){super(a,"array","PgArray"),this.config.baseBuilder=b,this.config.size=c}build(a){let b=this.config.baseBuilder.build(a);return new x(a,this.config,b)}}class x extends t{constructor(a,b,c,d){super(a,b),this.baseColumn=c,this.range=d,this.size=b.size}size;static [g.i]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(a){return"string"==typeof a&&(a=function(a){let[b]=function a(b,c=0){let d=[],e=c,f=!1;for(;e<b.length;){let g=b[e];if(","===g){(f||e===c)&&d.push(""),f=!0,e++;continue}if(f=!1,"\\"===g){e+=2;continue}if('"'===g){let[a,c]=r(b,e+1,!0);d.push(a),e=c;continue}if("}"===g)return[d,e+1];if("{"===g){let[c,f]=a(b,e+1);d.push(c),e=f;continue}let[h,i]=r(b,e,!1);d.push(h),e=i}return[d,e]}(a,1);return b}(a)),a.map(a=>this.baseColumn.mapFromDriverValue(a))}mapToDriverValue(a,b=!1){let c=a.map(a=>null===a?null:(0,g.is)(this.baseColumn,x)?this.baseColumn.mapToDriverValue(a,!0):this.baseColumn.mapToDriverValue(a));return b?c:function a(b){return`{${b.map(b=>Array.isArray(b)?a(b):"string"==typeof b?`"${b.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${b}`).join(",")}}`}(c)}}class y extends s{static [g.i]="PgEnumObjectColumnBuilder";constructor(a,b){super(a,"string","PgEnumObjectColumn"),this.config.enum=b}build(a){return new z(a,this.config)}}class z extends t{static [g.i]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}let A=Symbol.for("drizzle:isPgEnum");class B extends s{static [g.i]="PgEnumColumnBuilder";constructor(a,b){super(a,"string","PgEnumColumn"),this.config.enum=b}build(a){return new C(a,this.config)}}class C extends t{static [g.i]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(a,b){super(a,b),this.enum=b.enum}getSQLType(){return this.enum.enumName}}var D=c(62096);let E=(a,b)=>d?(e||(e=d.trace.getTracer("drizzle-orm","0.45.2")),m((c,d)=>d.startActiveSpan(a,a=>{try{return b(a)}catch(b){throw a.setStatus({code:c.SpanStatusCode.ERROR,message:b instanceof Error?b.message:"Unknown error"}),b}finally{a.end()}}),d,e)):b();var F=c(15577),G=c(47446);class H{static [g.i]=null}function I(a){return null!=a&&"function"==typeof a.getSQL}class J{static [g.i]="StringChunk";value;constructor(a){this.value=Array.isArray(a)?a:[a]}getSQL(){return new K([this])}}class K{constructor(a){for(const b of(this.queryChunks=a,a))if((0,g.is)(b,G.XI)){const a=b[G.XI.Symbol.Schema];this.usedTables.push(void 0===a?b[G.XI.Symbol.Name]:a+"."+b[G.XI.Symbol.Name])}}static [g.i]="SQL";decoder=N;shouldInlineParams=!1;usedTables=[];append(a){return this.queryChunks.push(...a.queryChunks),this}toQuery(a){return E("drizzle.buildSQL",b=>{let c=this.buildQueryFromSourceParams(this.queryChunks,a);return b?.setAttributes({"drizzle.query.text":c.sql,"drizzle.query.params":JSON.stringify(c.params)}),c})}buildQueryFromSourceParams(a,b){let c=Object.assign({},b,{inlineParams:b.inlineParams||this.shouldInlineParams,paramStartIndex:b.paramStartIndex||{value:0}}),{casing:d,escapeName:e,escapeParam:f,prepareTyping:h,inlineParams:j,paramStartIndex:k}=c;var l=a.map(a=>{if((0,g.is)(a,J))return{sql:a.value.join(""),params:[]};if((0,g.is)(a,L))return{sql:e(a.value),params:[]};if(void 0===a)return{sql:"",params:[]};if(Array.isArray(a)){let b=[new J("(")];for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push(new J(", "));return b.push(new J(")")),this.buildQueryFromSourceParams(b,c)}if((0,g.is)(a,K))return this.buildQueryFromSourceParams(a.queryChunks,{...c,inlineParams:j||a.shouldInlineParams});if((0,g.is)(a,G.XI)){let b=a[G.XI.Symbol.Schema],c=a[G.XI.Symbol.Name];return{sql:void 0===b||a[G.HE]?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,i.V)){let c=d.getColumnCasing(a);if("indexes"===b.invokeSource)return{sql:e(c),params:[]};let f=a.table[G.XI.Symbol.Schema];return{sql:a.table[G.HE]||void 0===f?e(a.table[G.XI.Symbol.Name])+"."+e(c):e(f)+"."+e(a.table[G.XI.Symbol.Name])+"."+e(c),params:[]}}if((0,g.is)(a,W)){let b=a[F.n].schema,c=a[F.n].name;return{sql:void 0===b||a[F.n].isAlias?e(c):e(b)+"."+e(c),params:[]}}if((0,g.is)(a,P)){if((0,g.is)(a.value,T))return{sql:f(k.value++,a),params:[a],typings:["none"]};let b=null===a.value?null:a.encoder.mapToDriverValue(a.value);if((0,g.is)(b,K))return this.buildQueryFromSourceParams([b],c);if(j)return{sql:this.mapInlineParam(b,c),params:[]};let d=["none"];return h&&(d=[h(a.encoder)]),{sql:f(k.value++,b),params:[b],typings:d}}return(0,g.is)(a,T)?{sql:f(k.value++,a),params:[a],typings:["none"]}:(0,g.is)(a,K.Aliased)&&void 0!==a.fieldAlias?{sql:e(a.fieldAlias),params:[]}:(0,g.is)(a,D.n)?a._.isWith?{sql:e(a._.alias),params:[]}:this.buildQueryFromSourceParams([new J("("),a._.sql,new J(") "),new L(a._.alias)],c):a&&"function"==typeof a&&A in a&&!0===a[A]?a.schema?{sql:e(a.schema)+"."+e(a.enumName),params:[]}:{sql:e(a.enumName),params:[]}:I(a)?a.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([a.getSQL()],c):this.buildQueryFromSourceParams([new J("("),a.getSQL(),new J(")")],c):j?{sql:this.mapInlineParam(a,c),params:[]}:{sql:f(k.value++,a),params:[a],typings:["none"]}});let m={sql:"",params:[]};for(let a of l)m.sql+=a.sql,m.params.push(...a.params),a.typings?.length&&(m.typings||(m.typings=[]),m.typings.push(...a.typings));return m}mapInlineParam(a,{escapeString:b}){if(null===a)return"null";if("number"==typeof a||"boolean"==typeof a)return a.toString();if("string"==typeof a)return b(a);if("object"==typeof a){let c=a.toString();return"[object Object]"===c?b(JSON.stringify(a)):b(c)}throw Error("Unexpected param value: "+a)}getSQL(){return this}as(a){return void 0===a?this:new K.Aliased(this,a)}mapWith(a){return this.decoder="function"==typeof a?{mapFromDriverValue:a}:a,this}inlineParams(){return this.shouldInlineParams=!0,this}if(a){return a?this:void 0}}class L{constructor(a){this.value=a}static [g.i]="Name";brand;getSQL(){return new K([this])}}function M(a){return"object"==typeof a&&null!==a&&"mapToDriverValue"in a&&"function"==typeof a.mapToDriverValue}let N={mapFromDriverValue:a=>a},O={mapToDriverValue:a=>a};({...N,...O});class P{constructor(a,b=O){this.value=a,this.encoder=b}static [g.i]="Param";brand;getSQL(){return new K([this])}}function Q(a,...b){let c=[];for(let[d,e]of((b.length>0||a.length>0&&""!==a[0])&&c.push(new J(a[0])),b.entries()))c.push(e,new J(a[d+1]));return new K(c)}(f=Q||(Q={})).empty=function(){return new K([])},f.fromList=function(a){return new K(a)},f.raw=function(a){return new K([new J(a)])},f.join=function(a,b){let c=[];for(let[d,e]of a.entries())d>0&&void 0!==b&&c.push(b),c.push(e);return new K(c)},f.identifier=function(a){return new L(a)},f.placeholder=function(a){return new T(a)},f.param=function(a,b){return new P(a,b)};var R=K||(K={});class S{constructor(a,b){this.sql=a,this.fieldAlias=b}static [g.i]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new S(this.sql,this.fieldAlias)}}R.Aliased=S;class T{constructor(a){this.name=a}static [g.i]="Placeholder";getSQL(){return new K([this])}}function U(a,b){return a.map(a=>{if((0,g.is)(a,T)){if(!(a.name in b))throw Error(`No value for placeholder "${a.name}" was provided`);return b[a.name]}if((0,g.is)(a,P)&&(0,g.is)(a.value,T)){if(!(a.value.name in b))throw Error(`No value for placeholder "${a.value.name}" was provided`);return a.encoder.mapToDriverValue(b[a.value.name])}return a})}let V=Symbol.for("drizzle:IsDrizzleView");class W{static [g.i]="View";[F.n];[V]=!0;constructor({name:a,schema:b,selectedFields:c,query:d}){this[F.n]={name:a,originalName:a,schema:b,selectedFields:c,query:d,isExisting:!d,isAlias:!1}}getSQL(){return new K([this])}}i.V.prototype.getSQL=function(){return new K([this])},G.XI.prototype.getSQL=function(){return new K([this])},D.n.prototype.getSQL=function(){return new K([this])}},70514:(a,b,c)=>{c.d(b,{Q:()=>e});var d=c(29223);class e{static [d.i]="ColumnBuilder";config;constructor(a,b,c){this.config={name:a,keyAsName:""===a,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:b,columnType:c,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(a){return this.config.default=a,this.config.hasDefault=!0,this}$defaultFn(a){return this.config.defaultFn=a,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(a){return this.config.onUpdateFn=a,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(a){""===this.config.name&&(this.config.name=a)}}},82508:(a,b,c)=>{c.d(b,{Y:()=>at});var d=c(29223);class e{static [d.i]="ConsoleLogWriter";write(a){console.log(a)}}class f{static [d.i]="DefaultLogger";writer;constructor(a){this.writer=a?.writer??new e}logQuery(a,b){let c=b.map(a=>{try{return JSON.stringify(a)}catch{return String(a)}}),d=c.length?` -- params: [${c.join(", ")}]`:"";this.writer.write(`Query: ${a}${d}`)}}class g{static [d.i]="NoopLogger";logQuery(){}}var h=c(52856),i=c(88716),j=c(65338),k=c(47446),l=c(15577);class m{constructor(a){this.table=a}static [d.i]="ColumnAliasProxyHandler";get(a,b){return"table"===b?this.table:a[b]}}class n{constructor(a,b){this.alias=a,this.replaceOriginalName=b}static [d.i]="TableAliasProxyHandler";get(a,b){if(b===k.XI.Symbol.IsAlias)return!0;if(b===k.XI.Symbol.Name||this.replaceOriginalName&&b===k.XI.Symbol.OriginalName)return this.alias;if(b===l.n)return{...a[l.n],name:this.alias,isAlias:!0};if(b===k.XI.Symbol.Columns){let b=a[k.XI.Symbol.Columns];if(!b)return b;let c={};return Object.keys(b).map(d=>{c[d]=new Proxy(b[d],new m(new Proxy(a,this)))}),c}let c=a[b];return(0,d.is)(c,i.V)?new Proxy(c,new m(new Proxy(a,this))):c}}class o{constructor(a){this.alias=a}static [d.i]=null;get(a,b){return"sourceTable"===b?p(a.sourceTable,this.alias):a[b]}}function p(a,b){return new Proxy(a,new n(b,!1))}function q(a,b){return new Proxy(a,new m(new Proxy(a.table,new n(b,!1))))}function r(a,b){return new j.Xs.Aliased(s(a.sql,b),a.fieldAlias)}function s(a,b){return j.ll.join(a.queryChunks.map(a=>(0,d.is)(a,i.V)?q(a,b):(0,d.is)(a,j.Xs)?s(a,b):(0,d.is)(a,j.Xs.Aliased)?r(a,b):a))}var t=c(62096);class u{static [d.i]="SelectionProxyHandler";config;constructor(a){this.config={...a}}get(a,b){if("_"===b)return{...a._,selectedFields:new Proxy(a._.selectedFields,this)};if(b===l.n)return{...a[l.n],selectedFields:new Proxy(a[l.n].selectedFields,this)};if("symbol"==typeof b)return a[b];let c=((0,d.is)(a,t.n)?a._.selectedFields:(0,d.is)(a,j.Ss)?a[l.n].selectedFields:a)[b];if((0,d.is)(c,j.Xs.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!c.isSelectionField)return c.sql;let a=c.clone();return a.isSelectionField=!0,a}if((0,d.is)(c,j.Xs)){if("sql"===this.config.sqlBehavior)return c;throw Error(`You tried to reference "${b}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,d.is)(c,i.V)?this.config.alias?new Proxy(c,new m(new Proxy(c.table,new n(this.config.alias,this.config.replaceOriginalName??!1)))):c:"object"!=typeof c||null===c?c:new Proxy(c,new u(this.config))}}function v(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(a=>a.toLowerCase()).join("_")}function w(a){return(a.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((a,b,c)=>a+(0===c?b.toLowerCase():`${b[0].toUpperCase()}${b.slice(1)}`),"")}function x(a){return a}class y{static [d.i]="CasingCache";cache={};cachedTables={};convert;constructor(a){this.convert="snake_case"===a?v:"camelCase"===a?w:x}getColumnCasing(a){if(!a.keyAsName)return a.name;let b=a.table[k.XI.Symbol.Schema]??"public",c=a.table[k.XI.Symbol.OriginalName],d=`${b}.${c}.${a.name}`;return this.cache[d]||this.cacheTable(a.table),this.cache[d]}cacheTable(a){let b=a[k.XI.Symbol.Schema]??"public",c=a[k.XI.Symbol.OriginalName],d=`${b}.${c}`;if(!this.cachedTables[d]){for(let b of Object.values(a[k.XI.Symbol.Columns])){let a=`${d}.${b.name}`;this.cache[a]=this.convert(b.name)}this.cachedTables[d]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class z extends Error{static [d.i]="DrizzleError";constructor({message:a,cause:b}){super(a),this.name="DrizzleError",this.cause=b}}class A extends Error{constructor(a,b,c){super(`Failed query: ${a}
2
+ params: ${b}`),this.query=a,this.params=b,this.cause=c,Error.captureStackTrace(this,A),c&&(this.cause=c)}}class B extends z{static [d.i]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}var C=c(12839),D=c(14045),E=c(16360),F=c(37377);class G extends j.Ss{static [d.i]="SQLiteViewBase"}class H{static [d.i]="SQLiteDialect";casing;constructor(a){this.casing=new y(a?.casing)}escapeName(a){return`"${a.replace(/"/g,'""')}"`}escapeParam(a){return"?"}escapeString(a){return`'${a.replace(/'/g,"''")}'`}buildWithCTE(a){if(!a?.length)return;let b=[(0,j.ll)`with `];for(let[c,d]of a.entries())b.push((0,j.ll)`${j.ll.identifier(d._.alias)} as (${d._.sql})`),c<a.length-1&&b.push((0,j.ll)`, `);return b.push((0,j.ll)` `),j.ll.join(b)}buildDeleteQuery({table:a,where:b,returning:c,withList:d,limit:e,orderBy:f}){let g=this.buildWithCTE(d),h=c?(0,j.ll)` returning ${this.buildSelection(c,{isSingleTable:!0})}`:void 0,i=b?(0,j.ll)` where ${b}`:void 0,k=this.buildOrderBy(f),l=this.buildLimit(e);return(0,j.ll)`${g}delete from ${a}${i}${h}${k}${l}`}buildUpdateSet(a,b){let c=a[k.XI.Symbol.Columns],e=Object.keys(c).filter(a=>void 0!==b[a]||c[a]?.onUpdateFn!==void 0),f=e.length;return j.ll.join(e.flatMap((a,e)=>{let g=c[a],h=g.onUpdateFn?.(),i=b[a]??((0,d.is)(h,j.Xs)?h:j.ll.param(h,g)),k=(0,j.ll)`${j.ll.identifier(this.casing.getColumnCasing(g))} = ${i}`;return e<f-1?[k,j.ll.raw(", ")]:[k]}))}buildUpdateQuery({table:a,set:b,where:c,returning:d,withList:e,joins:f,from:g,limit:h,orderBy:i}){let k=this.buildWithCTE(e),l=this.buildUpdateSet(a,b),m=g&&j.ll.join([j.ll.raw(" from "),this.buildFromTable(g)]),n=this.buildJoins(f),o=d?(0,j.ll)` returning ${this.buildSelection(d,{isSingleTable:!0})}`:void 0,p=c?(0,j.ll)` where ${c}`:void 0,q=this.buildOrderBy(i),r=this.buildLimit(h);return(0,j.ll)`${k}update ${a} set ${l}${m}${n}${p}${o}${q}${r}`}buildSelection(a,{isSingleTable:b=!1}={}){let c=a.length,e=a.flatMap(({field:a},e)=>{let f=[];if((0,d.is)(a,j.Xs.Aliased)&&a.isSelectionField)f.push(j.ll.identifier(a.fieldAlias));else if((0,d.is)(a,j.Xs.Aliased)||(0,d.is)(a,j.Xs)){let c=(0,d.is)(a,j.Xs.Aliased)?a.sql:a;b?f.push(new j.Xs(c.queryChunks.map(a=>(0,d.is)(a,i.V)?j.ll.identifier(this.casing.getColumnCasing(a)):a))):f.push(c),(0,d.is)(a,j.Xs.Aliased)&&f.push((0,j.ll)` as ${j.ll.identifier(a.fieldAlias)}`)}else if((0,d.is)(a,i.V)){let c=a.table[k.XI.Symbol.Name];"SQLiteNumericBigInt"===a.columnType?b?f.push((0,j.ll)`cast(${j.ll.identifier(this.casing.getColumnCasing(a))} as text)`):f.push((0,j.ll)`cast(${j.ll.identifier(c)}.${j.ll.identifier(this.casing.getColumnCasing(a))} as text)`):b?f.push(j.ll.identifier(this.casing.getColumnCasing(a))):f.push((0,j.ll)`${j.ll.identifier(c)}.${j.ll.identifier(this.casing.getColumnCasing(a))}`)}else if((0,d.is)(a,t.n)){let b=Object.entries(a._.selectedFields);if(1===b.length){let c=b[0][1],e=(0,d.is)(c,j.Xs)?c.decoder:(0,d.is)(c,i.V)?{mapFromDriverValue:a=>c.mapFromDriverValue(a)}:c.sql.decoder;e&&(a._.sql.decoder=e)}f.push(a)}return e<c-1&&f.push((0,j.ll)`, `),f});return j.ll.join(e)}buildJoins(a){if(!a||0===a.length)return;let b=[];if(a)for(let[c,e]of a.entries()){0===c&&b.push((0,j.ll)` `);let f=e.table,g=e.on?(0,j.ll)` on ${e.on}`:void 0;if((0,d.is)(f,E.jo)){let a=f[E.jo.Symbol.Name],c=f[E.jo.Symbol.Schema],d=f[E.jo.Symbol.OriginalName],h=a===d?void 0:e.alias;b.push((0,j.ll)`${j.ll.raw(e.joinType)} join ${c?(0,j.ll)`${j.ll.identifier(c)}.`:void 0}${j.ll.identifier(d)}${h&&(0,j.ll)` ${j.ll.identifier(h)}`}${g}`)}else b.push((0,j.ll)`${j.ll.raw(e.joinType)} join ${f}${g}`);c<a.length-1&&b.push((0,j.ll)` `)}return j.ll.join(b)}buildLimit(a){return"object"==typeof a||"number"==typeof a&&a>=0?(0,j.ll)` limit ${a}`:void 0}buildOrderBy(a){let b=[];if(a)for(let[c,d]of a.entries())b.push(d),c<a.length-1&&b.push((0,j.ll)`, `);return b.length>0?(0,j.ll)` order by ${j.ll.join(b)}`:void 0}buildFromTable(a){return(0,d.is)(a,k.XI)&&a[k.XI.Symbol.IsAlias]?(0,j.ll)`${(0,j.ll)`${j.ll.identifier(a[k.XI.Symbol.Schema]??"")}.`.if(a[k.XI.Symbol.Schema])}${j.ll.identifier(a[k.XI.Symbol.OriginalName])} ${j.ll.identifier(a[k.XI.Symbol.Name])}`:a}buildSelectQuery({withList:a,fields:b,fieldsFlat:c,where:e,having:f,table:g,joins:h,orderBy:m,groupBy:n,limit:o,offset:p,distinct:q,setOperators:r}){let s=c??(0,F.He)(b);for(let a of s){let b;if((0,d.is)(a.field,i.V)&&(0,k.Io)(a.field.table)!==((0,d.is)(g,t.n)?g._.alias:(0,d.is)(g,G)?g[l.n].name:(0,d.is)(g,j.Xs)?void 0:(0,k.Io)(g))&&(b=a.field.table,!h?.some(({alias:a})=>a===(b[k.XI.Symbol.IsAlias]?(0,k.Io)(b):b[k.XI.Symbol.BaseName])))){let b=(0,k.Io)(a.field.table);throw Error(`Your "${a.path.join("->")}" field references a column "${b}"."${a.field.name}", but the table "${b}" is not part of the query! Did you forget to join it?`)}}let u=!h||0===h.length,v=this.buildWithCTE(a),w=q?(0,j.ll)` distinct`:void 0,x=this.buildSelection(s,{isSingleTable:u}),y=this.buildFromTable(g),z=this.buildJoins(h),A=e?(0,j.ll)` where ${e}`:void 0,B=f?(0,j.ll)` having ${f}`:void 0,C=[];if(n)for(let[a,b]of n.entries())C.push(b),a<n.length-1&&C.push((0,j.ll)`, `);let D=C.length>0?(0,j.ll)` group by ${j.ll.join(C)}`:void 0,E=this.buildOrderBy(m),H=this.buildLimit(o),I=p?(0,j.ll)` offset ${p}`:void 0,J=(0,j.ll)`${v}select${w} ${x} from ${y}${z}${A}${D}${B}${E}${H}${I}`;return r.length>0?this.buildSetOperations(J,r):J}buildSetOperations(a,b){let[c,...d]=b;if(!c)throw Error("Cannot pass undefined values to any set operator");return 0===d.length?this.buildSetOperationQuery({leftSelect:a,setOperator:c}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:a,setOperator:c}),d)}buildSetOperationQuery({leftSelect:a,setOperator:{type:b,isAll:c,rightSelect:e,limit:f,orderBy:g,offset:h}}){let i,k=(0,j.ll)`${a.getSQL()} `,l=(0,j.ll)`${e.getSQL()}`;if(g&&g.length>0){let a=[];for(let b of g)if((0,d.is)(b,D.v))a.push(j.ll.identifier(b.name));else if((0,d.is)(b,j.Xs)){for(let a=0;a<b.queryChunks.length;a++){let c=b.queryChunks[a];(0,d.is)(c,D.v)&&(b.queryChunks[a]=j.ll.identifier(this.casing.getColumnCasing(c)))}a.push((0,j.ll)`${b}`)}else a.push((0,j.ll)`${b}`);i=(0,j.ll)` order by ${j.ll.join(a,(0,j.ll)`, `)}`}let m="object"==typeof f||"number"==typeof f&&f>=0?(0,j.ll)` limit ${f}`:void 0,n=j.ll.raw(`${b} ${c?"all ":""}`),o=h?(0,j.ll)` offset ${h}`:void 0;return(0,j.ll)`${k}${n}${l}${i}${m}${o}`}buildInsertQuery({table:a,values:b,onConflict:c,returning:e,withList:f,select:g}){let h=[],i=Object.entries(a[k.XI.Symbol.Columns]).filter(([a,b])=>!b.shouldDisableInsert()),l=i.map(([,a])=>j.ll.identifier(this.casing.getColumnCasing(a)));if(g)(0,d.is)(b,j.Xs)?h.push(b):h.push(b.getSQL());else for(let[a,c]of(h.push(j.ll.raw("values ")),b.entries())){let e=[];for(let[a,b]of i){let f=c[a];if(void 0===f||(0,d.is)(f,j.Iw)&&void 0===f.value){let a;if(null!==b.default&&void 0!==b.default)a=(0,d.is)(b.default,j.Xs)?b.default:j.ll.param(b.default,b);else if(void 0!==b.defaultFn){let c=b.defaultFn();a=(0,d.is)(c,j.Xs)?c:j.ll.param(c,b)}else if(b.default||void 0===b.onUpdateFn)a=(0,j.ll)`null`;else{let c=b.onUpdateFn();a=(0,d.is)(c,j.Xs)?c:j.ll.param(c,b)}e.push(a)}else e.push(f)}h.push(e),a<b.length-1&&h.push((0,j.ll)`, `)}let m=this.buildWithCTE(f),n=j.ll.join(h),o=e?(0,j.ll)` returning ${this.buildSelection(e,{isSingleTable:!0})}`:void 0,p=c?.length?j.ll.join(c):void 0;return(0,j.ll)`${m}insert into ${a} ${l} ${n}${p}${o}`}sqlToQuery(a,b){return a.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:b})}buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:e,tableConfig:f,queryConfig:g,tableAlias:l,nestedQueryRelation:m,joinOn:n}){let o,u=[],v,w,x=[],y,A=[];if(!0===g)u=Object.entries(f.columns).map(([a,b])=>({dbKey:b.name,tsKey:a,field:q(b,l),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let e=Object.fromEntries(Object.entries(f.columns).map(([a,b])=>[a,q(b,l)]));if(g.where){let a="function"==typeof g.where?g.where(e,(0,h.mm)()):g.where;y=a&&s(a,l)}let m=[],n=[];if(g.columns){let a=!1;for(let[b,c]of Object.entries(g.columns))void 0!==c&&b in f.columns&&(a||!0!==c||(a=!0),n.push(b));n.length>0&&(n=a?n.filter(a=>g.columns?.[a]===!0):Object.keys(f.columns).filter(a=>!n.includes(a)))}else n=Object.keys(f.columns);for(let a of n){let b=f.columns[a];m.push({tsKey:a,value:b})}let o=[];if(g.with&&(o=Object.entries(g.with).filter(a=>!!a[1]).map(([a,b])=>({tsKey:a,queryConfig:b,relation:f.relations[a]}))),g.extras)for(let[a,b]of Object.entries("function"==typeof g.extras?g.extras(e,{sql:j.ll}):g.extras))m.push({tsKey:a,value:r(b,l)});for(let{tsKey:a,value:b}of m)u.push({dbKey:(0,d.is)(b,j.Xs.Aliased)?b.fieldAlias:f.columns[a].name,tsKey:a,field:(0,d.is)(b,i.V)?q(b,l):b,relationTableTsKey:void 0,isJson:!1,selection:[]});let p="function"==typeof g.orderBy?g.orderBy(e,(0,h.rl)()):g.orderBy??[];for(let{tsKey:e,queryConfig:f,relation:m}of(Array.isArray(p)||(p=[p]),x=p.map(a=>(0,d.is)(a,i.V)?q(a,l):s(a,l)),v=g.limit,w=g.offset,o)){let g=(0,h.W0)(b,c,m),i=c[(0,k.Lf)(m.referencedTable)],n=`${l}_${e}`,o=(0,C.Uo)(...g.fields.map((a,b)=>(0,C.eq)(q(g.references[b],n),q(a,l)))),p=this.buildRelationalQuery({fullSchema:a,schema:b,tableNamesMap:c,table:a[i],tableConfig:b[i],queryConfig:(0,d.is)(m,h.pD)?!0===f?{limit:1}:{...f,limit:1}:f,tableAlias:n,joinOn:o,nestedQueryRelation:m}),r=(0,j.ll)`(${p.sql})`.as(e);u.push({dbKey:e,tsKey:e,field:r,relationTableTsKey:i,isJson:!0,selection:p.selection})}}if(0===u.length)throw new z({message:`No fields selected for table "${f.tsName}" ("${l}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});if(y=(0,C.Uo)(n,y),m){let a=(0,j.ll)`json_array(${j.ll.join(u.map(({field:a})=>(0,d.is)(a,D.v)?j.ll.identifier(this.casing.getColumnCasing(a)):(0,d.is)(a,j.Xs.Aliased)?a.sql:a),(0,j.ll)`, `)})`;(0,d.is)(m,h.iv)&&(a=(0,j.ll)`coalesce(json_group_array(${a}), json_array())`);let b=[{dbKey:"data",tsKey:"data",field:a.as("data"),isJson:!0,relationTableTsKey:f.tsName,selection:u}];void 0!==v||void 0!==w||x.length>0?(o=this.buildSelectQuery({table:p(e,l),fields:{},fieldsFlat:[{path:[],field:j.ll.raw("*")}],where:y,limit:v,offset:w,orderBy:x,setOperators:[]}),y=void 0,v=void 0,w=void 0,x=void 0):o=p(e,l),o=this.buildSelectQuery({table:(0,d.is)(o,E.jo)?o:new t.n(o,{},l),fields:{},fieldsFlat:b.map(({field:a})=>({path:[],field:(0,d.is)(a,i.V)?q(a,l):a})),joins:A,where:y,limit:v,offset:w,orderBy:x,setOperators:[]})}else o=this.buildSelectQuery({table:p(e,l),fields:{},fieldsFlat:u.map(({field:a})=>({path:[],field:(0,d.is)(a,i.V)?q(a,l):a})),joins:A,where:y,limit:v,offset:w,orderBy:x,setOperators:[]});return{tableTsKey:f.tsName,sql:o,selection:u}}}class I extends H{static [d.i]="SQLiteSyncDialect";migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=(0,j.ll)`
3
+ CREATE TABLE IF NOT EXISTS ${j.ll.identifier(d)} (
4
+ id SERIAL PRIMARY KEY,
5
+ hash text NOT NULL,
6
+ created_at numeric
7
+ )
8
+ `;b.run(e);let f=b.values((0,j.ll)`SELECT id, hash, created_at FROM ${j.ll.identifier(d)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;b.run((0,j.ll)`BEGIN`);try{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)b.run(j.ll.raw(a));b.run((0,j.ll)`INSERT INTO ${j.ll.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}b.run((0,j.ll)`COMMIT`)}catch(a){throw b.run((0,j.ll)`ROLLBACK`),a}}}class J extends H{static [d.i]="SQLiteAsyncDialect";async migrate(a,b,c){let d=void 0===c||"string"==typeof c?"__drizzle_migrations":c.migrationsTable??"__drizzle_migrations",e=(0,j.ll)`
9
+ CREATE TABLE IF NOT EXISTS ${j.ll.identifier(d)} (
10
+ id SERIAL PRIMARY KEY,
11
+ hash text NOT NULL,
12
+ created_at numeric
13
+ )
14
+ `;await b.run(e);let f=(await b.values((0,j.ll)`SELECT id, hash, created_at FROM ${j.ll.identifier(d)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await b.transaction(async b=>{for(let c of a)if(!f||Number(f[2])<c.folderMillis){for(let a of c.sql)await b.run(j.ll.raw(a));await b.run((0,j.ll)`INSERT INTO ${j.ll.identifier(d)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}class K{static [d.i]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class L{static [d.i]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}then(a,b){return this.execute().then(a,b)}}function M(a){return(0,d.is)(a,E.jo)?[`${a[k.XI.Symbol.BaseName]}`]:(0,d.is)(a,t.n)?a._.usedTables??[]:(0,d.is)(a,j.Xs)?a.usedTables??[]:[]}class N{static [d.i]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(a){this.fields=a.fields,this.session=a.session,this.dialect=a.dialect,this.withList=a.withList,this.distinct=a.distinct}from(a){let b,c=!!this.fields;return b=this.fields?this.fields:(0,d.is)(a,t.n)?Object.fromEntries(Object.keys(a._.selectedFields).map(b=>[b,a[b]])):(0,d.is)(a,G)?a[l.n].selectedFields:(0,d.is)(a,j.Xs)?{}:(0,F.YD)(a),new P({table:a,fields:b,isPartialSelect:c,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}}class O extends K{static [d.i]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:a,fields:b,isPartialSelect:c,session:d,dialect:e,withList:f,distinct:g}){for(const h of(super(),this.config={withList:f,table:a,fields:{...b},distinct:g,setOperators:[]},this.isPartialSelect=c,this.session=d,this.dialect=e,this._={selectedFields:b,config:this.config},this.tableName=(0,F.zN)(a),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},M(a)))this.usedTables.add(h)}getUsedTables(){return[...this.usedTables]}createJoin(a){return(b,c)=>{let e=this.tableName,f=(0,F.zN)(b);for(let a of M(b))this.usedTables.add(a);if("string"==typeof f&&this.config.joins?.some(a=>a.alias===f))throw Error(`Alias "${f}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof e&&(this.config.fields={[e]:this.config.fields}),"string"==typeof f&&!(0,d.is)(b,j.Xs))){let a=(0,d.is)(b,t.n)?b._.selectedFields:(0,d.is)(b,j.Ss)?b[l.n].selectedFields:b[k.XI.Symbol.Columns];this.config.fields[f]=a}if("function"==typeof c&&(c=c(new Proxy(this.config.fields,new u({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:c,table:b,joinType:a,alias:f}),"string"==typeof f)switch(a){case"left":this.joinsNotNullableMap[f]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[f]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([a])=>[a,!1])),this.joinsNotNullableMap[f]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(a,b){return c=>{let d="function"==typeof c?c(R()):c;if(!(0,F.DV)(this.getSelectedFields(),d.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:a,isAll:b,rightSelect:d}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(a){return this.config.setOperators.push(...a),this}where(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new u({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=a,this}having(a){return"function"==typeof a&&(a=a(new Proxy(this.config.fields,new u({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=a,this}groupBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new u({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(b)?b:[b]}else this.config.groupBy=a;return this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.fields,new u({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=c:this.config.orderBy=c}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=a:this.config.orderBy=a;return this}limit(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=a:this.config.limit=a,this}offset(a){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=a:this.config.offset=a,this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}as(a){let b=[];if(b.push(...M(this.config.table)),this.config.joins)for(let a of this.config.joins)b.push(...M(a.table));return new Proxy(new t.n(this.getSQL(),this.config.fields,a,!1,[...new Set(b)]),new u({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new u({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}}class P extends O{static [d.i]="SQLiteSelect";_prepare(a=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let b=(0,F.He)(this.config.fields),c=this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),b,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return c.joinsNotNullableMap=this.joinsNotNullableMap,c}$withCache(a){return this.cacheConfig=void 0===a?{config:{},enable:!0,autoInvalidate:!0}:!1===a?{enable:!1}:{enable:!0,autoInvalidate:!0,...a},this}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.all()}}function Q(a,b){return(c,d,...e)=>{let f=[d,...e].map(c=>({type:a,isAll:b,rightSelect:c}));for(let a of f)if(!(0,F.DV)(c.getSelectedFields(),a.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return c.addSetOperators(f)}}(0,F.XJ)(P,[L]);let R=()=>({union:S,unionAll:T,intersect:U,except:V}),S=Q("union",!1),T=Q("union",!0),U=Q("intersect",!1),V=Q("except",!1);class W{static [d.i]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(a){this.dialect=(0,d.is)(a,H)?a:void 0,this.dialectConfig=(0,d.is)(a,H)?void 0:a}$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(c)),new Proxy(new t.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new u({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...a){let b=this;return{select:function(c){return new N({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a})},selectDistinct:function(c){return new N({fields:c??void 0,session:void 0,dialect:b.getDialect(),withList:a,distinct:!0})}}}select(a){return new N({fields:a??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(a){return new N({fields:a??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){return this.dialect||(this.dialect=new I(this.dialectConfig)),this.dialect}}class X{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [d.i]="SQLiteUpdateBuilder";set(a){return new Y(this.table,(0,F.q)(this.table,a),this.session,this.dialect,this.withList)}}class Y extends L{constructor(a,b,c,d,e){super(),this.session=c,this.dialect=d,this.config={set:b,table:a,withList:e,joins:[]}}static [d.i]="SQLiteUpdate";config;from(a){return this.config.from=a,this}createJoin(a){return(b,c)=>{let e=(0,F.zN)(b);if("string"==typeof e&&this.config.joins.some(a=>a.alias===e))throw Error(`Alias "${e}" is already used in this query`);if("function"==typeof c){let a=this.config.from?(0,d.is)(b,E.jo)?b[k.XI.Symbol.Columns]:(0,d.is)(b,t.n)?b._.selectedFields:(0,d.is)(b,G)?b[l.n].selectedFields:void 0:void 0;c=c(new Proxy(this.config.table[k.XI.Symbol.Columns],new u({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),a&&new Proxy(a,new u({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:c,table:b,joinType:a,alias:e}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[k.XI.Symbol.Columns],new u({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.config.table[E.jo.Symbol.Columns]){return this.config.returning=(0,F.He)(a),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:M(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class Z{constructor(a,b,c,d){this.table=a,this.session=b,this.dialect=c,this.withList=d}static [d.i]="SQLiteInsertBuilder";values(a){if(0===(a=Array.isArray(a)?a:[a]).length)throw Error("values() must be called with at least one value");let b=a.map(a=>{let b={},c=this.table[k.XI.Symbol.Columns];for(let e of Object.keys(a)){let f=a[e];b[e]=(0,d.is)(f,j.Xs)?f:new j.Iw(f,c[e])}return b});return new $(this.table,b,this.session,this.dialect,this.withList)}select(a){let b="function"==typeof a?a(new W):a;if(!(0,d.is)(b,j.Xs)&&!(0,F.DV)(this.table[k.e],b._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new $(this.table,b,this.session,this.dialect,this.withList,!0)}}class $ extends L{constructor(a,b,c,d,e,f){super(),this.session=c,this.dialect=d,this.config={table:a,values:b,withList:e,select:f}}static [d.i]="SQLiteInsert";config;returning(a=this.config.table[E.jo.Symbol.Columns]){return this.config.returning=(0,F.He)(a),this}onConflictDoNothing(a={}){if(this.config.onConflict||(this.config.onConflict=[]),void 0===a.target)this.config.onConflict.push((0,j.ll)` on conflict do nothing`);else{let b=Array.isArray(a.target)?(0,j.ll)`${a.target}`:(0,j.ll)`${[a.target]}`,c=a.where?(0,j.ll)` where ${a.where}`:(0,j.ll)``;this.config.onConflict.push((0,j.ll)` on conflict ${b} do nothing${c}`)}return this}onConflictDoUpdate(a){if(a.where&&(a.targetWhere||a.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');this.config.onConflict||(this.config.onConflict=[]);let b=a.where?(0,j.ll)` where ${a.where}`:void 0,c=a.targetWhere?(0,j.ll)` where ${a.targetWhere}`:void 0,d=a.setWhere?(0,j.ll)` where ${a.setWhere}`:void 0,e=Array.isArray(a.target)?(0,j.ll)`${a.target}`:(0,j.ll)`${[a.target]}`,f=this.dialect.buildUpdateSet(this.config.table,(0,F.q)(this.config.table,a.set));return this.config.onConflict.push((0,j.ll)` on conflict ${e}${c} do update set ${f}${b}${d}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:M(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}class _ extends L{constructor(a,b,c,d){super(),this.table=a,this.session=b,this.dialect=c,this.config={table:a,withList:d}}static [d.i]="SQLiteDelete";config;where(a){return this.config.where=a,this}orderBy(...a){if("function"==typeof a[0]){let b=a[0](new Proxy(this.config.table[k.XI.Symbol.Columns],new u({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),c=Array.isArray(b)?b:[b];this.config.orderBy=c}else this.config.orderBy=a;return this}limit(a){return this.config.limit=a,this}returning(a=this.table[E.jo.Symbol.Columns]){return this.config.returning=(0,F.He)(a),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:a,...b}=this.dialect.sqlToQuery(this.getSQL());return b}_prepare(a=!0){return this.session[a?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:M(this.config.table)})}prepare(){return this._prepare(!1)}run=a=>this._prepare().run(a);all=a=>this._prepare().all(a);get=a=>this._prepare().get(a);values=a=>this._prepare().values(a);async execute(a){return this._prepare().execute(a)}$dynamic(){return this}}class aa extends j.Xs{constructor(a){super(aa.buildEmbeddedCount(a.source,a.filters).queryChunks),this.params=a,this.session=a.session,this.sql=aa.buildCount(a.source,a.filters)}sql;static [d.i]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(a,b){return(0,j.ll)`(select count(*) from ${a}${j.ll.raw(" where ").if(b)}${b})`}static buildCount(a,b){return(0,j.ll)`select count(*) from ${a}${j.ll.raw(" where ").if(b)}${b}`}then(a,b){return Promise.resolve(this.session.count(this.sql)).then(a,b)}catch(a){return this.then(void 0,a)}finally(a){return this.then(b=>(a?.(),b),b=>{throw a?.(),b})}}class ab{constructor(a,b,c,d,e,f,g,h){this.mode=a,this.fullSchema=b,this.schema=c,this.tableNamesMap=d,this.table=e,this.tableConfig=f,this.dialect=g,this.session=h}static [d.i]="SQLiteAsyncRelationalQueryBuilder";findMany(a){return"sync"===this.mode?new ad(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many"):new ac(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a||{},"many")}findFirst(a){return"sync"===this.mode?new ad(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first"):new ac(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,a?{...a,limit:1}:{limit:1},"first")}}class ac extends L{constructor(a,b,c,d,e,f,g,h,i){super(),this.fullSchema=a,this.schema=b,this.tableNamesMap=c,this.table=d,this.tableConfig=e,this.dialect=f,this.session=g,this.config=h,this.mode=i}static [d.i]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(a=!1){let{query:b,builtQuery:c}=this._toSQL();return this.session[a?"prepareOneTimeQuery":"prepareQuery"](c,void 0,"first"===this.mode?"get":"all",!0,(a,c)=>{let d=a.map(a=>(0,h.I$)(this.schema,this.tableConfig,a,b.selection,c));return"first"===this.mode?d[0]:d})}prepare(){return this._prepare(!1)}_toSQL(){let a=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),b=this.dialect.sqlToQuery(a.sql);return{query:a,builtQuery:b}}toSQL(){return this._toSQL().builtQuery}executeRaw(){return"first"===this.mode?this._prepare(!1).get():this._prepare(!1).all()}async execute(){return this.executeRaw()}}class ad extends ac{static [d.i]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}class ae extends L{constructor(a,b,c,d,e){super(),this.execute=a,this.getSQL=b,this.dialect=d,this.mapBatchResult=e,this.config={action:c}}static [d.i]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(a,b){return b?this.mapBatchResult(a):a}_prepare(){return this}isResponseInArrayMode(){return!1}}class af{constructor(a,b,c,d){this.resultKind=a,this.dialect=b,this.session=c,this._=d?{schema:d.schema,fullSchema:d.fullSchema,tableNamesMap:d.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};const e=this.query;if(this._.schema)for(const[f,g]of Object.entries(this._.schema))e[f]=new ab(a,d.fullSchema,this._.schema,this._.tableNamesMap,d.fullSchema[f],g,b,c);this.$cache={invalidate:async a=>{}}}static [d.i]="BaseSQLiteDatabase";query;$with=(a,b)=>{let c=this;return{as:d=>("function"==typeof d&&(d=d(new W(c.dialect))),new Proxy(new t.J(d.getSQL(),b??("getSelectedFields"in d?d.getSelectedFields()??{}:{}),a,!0),new u({alias:a,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(a,b){return new aa({source:a,filters:b,session:this.session})}with(...a){let b=this;return{select:function(c){return new N({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a})},selectDistinct:function(c){return new N({fields:c??void 0,session:b.session,dialect:b.dialect,withList:a,distinct:!0})},update:function(c){return new X(c,b.session,b.dialect,a)},insert:function(c){return new Z(c,b.session,b.dialect,a)},delete:function(c){return new _(c,b.session,b.dialect,a)}}}select(a){return new N({fields:a??void 0,session:this.session,dialect:this.dialect})}selectDistinct(a){return new N({fields:a??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(a){return new X(a,this.session,this.dialect)}$cache;insert(a){return new Z(a,this.session,this.dialect)}delete(a){return new _(a,this.session,this.dialect)}run(a){let b="string"==typeof a?j.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ae(async()=>this.session.run(b),()=>b,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session)):this.session.run(b)}all(a){let b="string"==typeof a?j.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ae(async()=>this.session.all(b),()=>b,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session)):this.session.all(b)}get(a){let b="string"==typeof a?j.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ae(async()=>this.session.get(b),()=>b,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session)):this.session.get(b)}values(a){let b="string"==typeof a?j.ll.raw(a):a.getSQL();return"async"===this.resultKind?new ae(async()=>this.session.values(b),()=>b,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session)):this.session.values(b)}transaction(a,b){return this.session.transaction(a,b)}}class ag{static [d.i]="Cache"}class ah extends ag{strategy(){return"all"}static [d.i]="NoopCache";async get(a){}async put(a,b,c,d){}async onMutate(a){}}async function ai(a,b){let c=`${a}-${JSON.stringify(b)}`,d=new TextEncoder().encode(c);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",d))].map(a=>a.toString(16).padStart(2,"0")).join("")}class aj extends L{constructor(a){super(),this.resultCb=a}static [d.i]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}}class ak{constructor(a,b,c,d,e,f){this.mode=a,this.executeMethod=b,this.query=c,this.cache=d,this.queryMetadata=e,this.cacheConfig=f,d&&"all"===d.strategy()&&void 0===f&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}static [d.i]="PreparedQuery";joinsNotNullableMap;async queryWithCache(a,b,c){if(void 0===this.cache||(0,d.is)(this.cache,ah)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await c()}catch(c){throw new A(a,b,c)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[a]=await Promise.all([c(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return a}catch(c){throw new A(a,b,c)}if(!this.cacheConfig)try{return await c()}catch(c){throw new A(a,b,c)}if("select"===this.queryMetadata.type){let d=await this.cache.get(this.cacheConfig.tag??await ai(a,b),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===d){let d;try{d=await c()}catch(c){throw new A(a,b,c)}return await this.cache.put(this.cacheConfig.tag??await ai(a,b),d,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),d}return d}try{return await c()}catch(c){throw new A(a,b,c)}}getQuery(){return this.query}mapRunResult(a,b){return a}mapAllResult(a,b){throw Error("Not implemented")}mapGetResult(a,b){throw Error("Not implemented")}execute(a){return"async"===this.mode?this[this.executeMethod](a):new aj(()=>this[this.executeMethod](a))}mapResult(a,b){switch(this.executeMethod){case"run":return this.mapRunResult(a,b);case"all":return this.mapAllResult(a,b);case"get":return this.mapGetResult(a,b)}}}class al{constructor(a){this.dialect=a}static [d.i]="SQLiteSession";prepareOneTimeQuery(a,b,c,d,e,f,g){return this.prepareQuery(a,b,c,d,e,f,g)}run(a){let b=this.dialect.sqlToQuery(a);try{return this.prepareOneTimeQuery(b,void 0,"run",!1).run()}catch(a){throw new z({cause:a,message:`Failed to run the query '${b.sql}'`})}}extractRawRunValueFromBatchResult(a){return a}all(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(a){throw Error("Not implemented")}get(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(a){throw Error("Not implemented")}values(a){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(a),void 0,"run",!1).values()}async count(a){return(await this.values(a))[0][0]}extractRawValuesValueFromBatchResult(a){throw Error("Not implemented")}}class am extends af{constructor(a,b,c,d,e=0){super(a,b,c,d),this.schema=d,this.nestedIndex=e}static [d.i]="SQLiteTransaction";rollback(){throw new B}}class an extends al{constructor(a,b,c,d,e){super(b),this.client=a,this.schema=c,this.options=d,this.tx=e,this.logger=d.logger??new g,this.cache=d.cache??new ah}static [d.i]="LibSQLSession";logger;cache;prepareQuery(a,b,c,d,e,f,g){return new ap(this.client,a,this.logger,this.cache,f,g,b,this.tx,c,d,e)}async batch(a){let b=[],c=[];for(let d of a){let a=d._prepare(),e=a.getQuery();b.push(a),c.push({sql:e.sql,args:e.params})}return(await this.client.batch(c)).map((a,c)=>b[c].mapResult(a,!0))}async migrate(a){let b=[],c=[];for(let d of a){let a=d._prepare(),e=a.getQuery();b.push(a),c.push({sql:e.sql,args:e.params})}return(await this.client.migrate(c)).map((a,c)=>b[c].mapResult(a,!0))}async transaction(a,b){let c=await this.client.transaction(),d=new an(this.client,this.dialect,this.schema,this.options,c),e=new ao("async",this.dialect,d,this.schema);try{let b=await a(e);return await c.commit(),b}catch(a){throw await c.rollback(),a}}extractRawAllValueFromBatchResult(a){return a.rows}extractRawGetValueFromBatchResult(a){return a.rows[0]}extractRawValuesValueFromBatchResult(a){return a.rows}}class ao extends am{static [d.i]="LibSQLTransaction";async transaction(a){let b=`sp${this.nestedIndex}`,c=new ao("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(j.ll.raw(`savepoint ${b}`));try{let d=await a(c);return await this.session.run(j.ll.raw(`release savepoint ${b}`)),d}catch(a){throw await this.session.run(j.ll.raw(`rollback to savepoint ${b}`)),a}}}class ap extends ak{constructor(a,b,c,d,e,f,g,h,i,j,k){super("async",i,b,d,e,f),this.client=a,this.logger=c,this.fields=g,this.tx=h,this._isResponseInArrayMode=j,this.customResultMapper=k,this.customResultMapper=k,this.fields=g}static [d.i]="LibSQLPreparedQuery";async run(a){let b=(0,j.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),await this.queryWithCache(this.query.sql,b,async()=>{let a={sql:this.query.sql,args:b};return this.tx?this.tx.execute(a):this.client.execute(a)})}async all(a){let{fields:b,logger:c,query:d,tx:e,client:f,customResultMapper:g}=this;if(!b&&!g){let b=(0,j.Ct)(d.params,a??{});return c.logQuery(d.sql,b),await this.queryWithCache(d.sql,b,async()=>{let a={sql:d.sql,args:b};return(e?e.execute(a):f.execute(a)).then(({rows:a})=>this.mapAllResult(a))})}let h=await this.values(a);return this.mapAllResult(h)}mapAllResult(a,b){return(b&&(a=a.rows),this.fields||this.customResultMapper)?this.customResultMapper?this.customResultMapper(a,ar):a.map(a=>(0,F.a6)(this.fields,Array.prototype.slice.call(a).map(a=>ar(a)),this.joinsNotNullableMap)):a.map(a=>aq(a))}async get(a){let{fields:b,logger:c,query:d,tx:e,client:f,customResultMapper:g}=this;if(!b&&!g){let b=(0,j.Ct)(d.params,a??{});return c.logQuery(d.sql,b),await this.queryWithCache(d.sql,b,async()=>{let a={sql:d.sql,args:b};return(e?e.execute(a):f.execute(a)).then(({rows:a})=>this.mapGetResult(a))})}let h=await this.values(a);return this.mapGetResult(h)}mapGetResult(a,b){b&&(a=a.rows);let c=a[0];return this.fields||this.customResultMapper?c?this.customResultMapper?this.customResultMapper(a,ar):(0,F.a6)(this.fields,Array.prototype.slice.call(c).map(a=>ar(a)),this.joinsNotNullableMap):void 0:aq(c)}async values(a){let b=(0,j.Ct)(this.query.params,a??{});return this.logger.logQuery(this.query.sql,b),await this.queryWithCache(this.query.sql,b,async()=>{let a={sql:this.query.sql,args:b};return(this.tx?this.tx.execute(a):this.client.execute(a)).then(({rows:a})=>a)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}function aq(a){return Object.keys(a).reduce((b,c)=>(Object.prototype.propertyIsEnumerable.call(a,c)&&(b[c]=a[c]),b),{})}function ar(a){if("u">typeof ArrayBuffer&&a instanceof ArrayBuffer){if("u">typeof Buffer)return a instanceof Buffer?a:Buffer.from(a);if("u">typeof TextDecoder)return new TextDecoder().decode(a);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return a}class as extends af{static [d.i]="LibSQLDatabase";async batch(a){return this.session.batch(a)}}function at(a,b={}){let c,d,e=new J({casing:b.casing});if(!0===b.logger?c=new f:!1!==b.logger&&(c=b.logger),b.schema){let a=(0,h._k)(b.schema,h.DZ);d={fullSchema:b.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let g=new an(a,e,d,{logger:c,cache:b.cache},void 0),i=new as("async",e,g,d);return i.$client=a,i.$cache=b.cache,i.$cache&&(i.$cache.invalidate=b.cache?.onMutate),i}},88716:(a,b,c)=>{c.d(b,{V:()=>e});var d=c(29223);class e{constructor(a,b){this.table=a,this.config=b,this.name=b.name,this.keyAsName=b.keyAsName,this.notNull=b.notNull,this.default=b.default,this.defaultFn=b.defaultFn,this.onUpdateFn=b.onUpdateFn,this.hasDefault=b.hasDefault,this.primary=b.primaryKey,this.isUnique=b.isUnique,this.uniqueName=b.uniqueName,this.uniqueType=b.uniqueType,this.dataType=b.dataType,this.columnType=b.columnType,this.generated=b.generated,this.generatedIdentity=b.generatedIdentity}static [d.i]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(a){return a}mapToDriverValue(a){return a}shouldDisableInsert(){return void 0!==this.config.generated&&"byDefault"!==this.config.generated.type}}},96774:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{f:()=>i});var e=c(28855),f=c(37377),g=c(82508),h=a([e]);function i(...a){if("string"==typeof a[0]){let b=(0,e.createClient)({url:a[0]});return(0,g.Y)(b,a[1])}if((0,f.Lq)(a[0])){let{connection:b,client:c,...d}=a[0];if(c)return(0,g.Y)(c,d);let f="string"==typeof b?(0,e.createClient)({url:b}):(0,e.createClient)(b);return(0,g.Y)(f,d)}return(0,g.Y)(a[0],a[1])}e=(h.then?(await h)():h)[0],(i||(i={})).mock=function(a){return(0,g.Y)({},a)},d()}catch(a){d(a)}})}};