trybeacon 0.1.33 → 0.1.35

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 (330) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +14 -13
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/_global-error/page.js +3 -3
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page.js +2 -2
  17. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  26. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  27. package/.next/server/app/api/board-annotations/route.js +1 -1
  28. package/.next/server/app/api/board-layout/route.js +1 -1
  29. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  30. package/.next/server/app/api/bug-flags/route.js +1 -1
  31. package/.next/server/app/api/code-graph/position/route.js +1 -1
  32. package/.next/server/app/api/code-graph/route.js +1 -1
  33. package/.next/server/app/api/context/feature/route.js +1 -1
  34. package/.next/server/app/api/context/file/route.js +1 -1
  35. package/.next/server/app/api/context/route.js +2 -2
  36. package/.next/server/app/api/db/arrange/route.js +1 -1
  37. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  38. package/.next/server/app/api/db/position/route.js +1 -1
  39. package/.next/server/app/api/db/position/route.js.nft.json +1 -1
  40. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  41. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  42. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  43. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  44. package/.next/server/app/api/draft/approve/route.js +1 -1
  45. package/.next/server/app/api/draft/route.js +1 -1
  46. package/.next/server/app/api/draft/status/route.js +1 -1
  47. package/.next/server/app/api/edges/[id]/route.js +1 -1
  48. package/.next/server/app/api/edges/route.js +1 -1
  49. package/.next/server/app/api/edges/route.js.nft.json +1 -1
  50. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  51. package/.next/server/app/api/entities/route.js +1 -1
  52. package/.next/server/app/api/feedback/[id]/route.js +1 -1
  53. package/.next/server/app/api/feedback/[id]/vote/route.js +1 -1
  54. package/.next/server/app/api/feedback/route.js +1 -1
  55. package/.next/server/app/api/ingest/route.js +2 -2
  56. package/.next/server/app/api/init/route.js +2 -2
  57. package/.next/server/app/api/init/route.js.nft.json +1 -1
  58. package/.next/server/app/api/map/describe/route.js +2 -2
  59. package/.next/server/app/api/map/describe/route.js.nft.json +1 -1
  60. package/.next/server/app/api/map/files/route.js +1 -1
  61. package/.next/server/app/api/map/files/route.js.nft.json +1 -1
  62. package/.next/server/app/api/map/finish/route.js +1 -1
  63. package/.next/server/app/api/map/finish/route.js.nft.json +1 -1
  64. package/.next/server/app/api/map/route.js +1 -1
  65. package/.next/server/app/api/map/route.js.nft.json +1 -1
  66. package/.next/server/app/api/map/start/route.js +1 -1
  67. package/.next/server/app/api/map/start/route.js.nft.json +1 -1
  68. package/.next/server/app/api/map/touch-active/route.js +1 -1
  69. package/.next/server/app/api/map/touch-active/route.js.nft.json +1 -1
  70. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  71. package/.next/server/app/api/nodes/[id]/position/route.js.nft.json +1 -1
  72. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  73. package/.next/server/app/api/nodes/[id]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/nodes/positions/route.js +1 -1
  75. package/.next/server/app/api/nodes/positions/route.js.nft.json +1 -1
  76. package/.next/server/app/api/nodes/route.js +1 -1
  77. package/.next/server/app/api/nodes/route.js.nft.json +1 -1
  78. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  79. package/.next/server/app/api/nodes/subtasks/route.js.nft.json +1 -1
  80. package/.next/server/app/api/notes/[id]/route.js +1 -1
  81. package/.next/server/app/api/notes/route.js +1 -1
  82. package/.next/server/app/api/open/route.js +1 -1
  83. package/.next/server/app/api/plan/annotations/route.js +3 -3
  84. package/.next/server/app/api/plan/approve/route.js +2 -2
  85. package/.next/server/app/api/plan/history/route.js +1 -1
  86. package/.next/server/app/api/plan/markdown/route.js +1 -1
  87. package/.next/server/app/api/plan/markdown/route.js.nft.json +1 -1
  88. package/.next/server/app/api/plan/presence/route.js +1 -1
  89. package/.next/server/app/api/plan/route.js +1 -1
  90. package/.next/server/app/api/plan/route.js.nft.json +1 -1
  91. package/.next/server/app/api/plan/verdict/route.js +1 -1
  92. package/.next/server/app/api/preferences/route.js +1 -1
  93. package/.next/server/app/api/project-meta/route.js +1 -0
  94. package/.next/server/app/api/project-meta/route.js.nft.json +1 -0
  95. package/.next/server/app/api/project-meta/route_client-reference-manifest.js +1 -0
  96. package/.next/server/app/api/reset/route.js +1 -1
  97. package/.next/server/app/api/stream/route.js +2 -2
  98. package/.next/server/app/api/version/route.js +1 -1
  99. package/.next/server/app/api/workspace/activate/route.js +1 -1
  100. package/.next/server/app/api/workspace/route.js +1 -1
  101. package/.next/server/app/apple-icon.png/route.js +1 -1
  102. package/.next/server/app/docs/page.js +2 -2
  103. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/docs.html +1 -1
  105. package/.next/server/app/docs.rsc +2 -2
  106. package/.next/server/app/docs.segments/_full.segment.rsc +2 -2
  107. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  108. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  109. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  110. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  111. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  112. package/.next/server/app/feedback/page.js +2 -2
  113. package/.next/server/app/feedback/page_client-reference-manifest.js +1 -1
  114. package/.next/server/app/feedback.html +1 -1
  115. package/.next/server/app/feedback.rsc +2 -2
  116. package/.next/server/app/feedback.segments/_full.segment.rsc +2 -2
  117. package/.next/server/app/feedback.segments/_head.segment.rsc +1 -1
  118. package/.next/server/app/feedback.segments/_index.segment.rsc +2 -2
  119. package/.next/server/app/feedback.segments/_tree.segment.rsc +2 -2
  120. package/.next/server/app/feedback.segments/feedback/__PAGE__.segment.rsc +1 -1
  121. package/.next/server/app/feedback.segments/feedback.segment.rsc +1 -1
  122. package/.next/server/app/help/page.js +2 -2
  123. package/.next/server/app/help/page.js.nft.json +1 -1
  124. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  125. package/.next/server/app/help.html +1 -1
  126. package/.next/server/app/help.rsc +2 -2
  127. package/.next/server/app/help.segments/_full.segment.rsc +2 -2
  128. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  129. package/.next/server/app/help.segments/_index.segment.rsc +2 -2
  130. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  131. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  132. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  133. package/.next/server/app/icon.svg/route.js +1 -1
  134. package/.next/server/app/index.html +1 -1
  135. package/.next/server/app/index.rsc +2 -2
  136. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  137. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  138. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  139. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  140. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  141. package/.next/server/app/map/page.js +2 -2
  142. package/.next/server/app/map/page.js.nft.json +1 -1
  143. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  144. package/.next/server/app/page.js +2 -2
  145. package/.next/server/app/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/plan/page.js +2 -2
  147. package/.next/server/app/plan/page.js.nft.json +1 -1
  148. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/settings/page.js +2 -2
  150. package/.next/server/app/settings/page.js.nft.json +1 -1
  151. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  152. package/.next/server/app-paths-manifest.json +14 -13
  153. package/.next/server/chunks/1130.js +1 -0
  154. package/.next/server/chunks/1341.js +1 -0
  155. package/.next/server/chunks/249.js +1 -1
  156. package/.next/server/chunks/2933.js +1 -1
  157. package/.next/server/chunks/{4274.js → 3269.js} +2 -2
  158. package/.next/server/chunks/3622.js +1 -0
  159. package/.next/server/chunks/4378.js +1 -1
  160. package/.next/server/chunks/4940.js +1 -0
  161. package/.next/server/chunks/7154.js +1 -0
  162. package/.next/server/chunks/9213.js +1 -1
  163. package/.next/server/chunks/9313.js +3 -3
  164. package/.next/server/chunks/9683.js +1 -1
  165. package/.next/server/chunks/9734.js +1 -1
  166. package/.next/server/middleware-build-manifest.js +1 -1
  167. package/.next/server/middleware.js +3 -3
  168. package/.next/server/pages/404.html +1 -1
  169. package/.next/server/pages/500.html +1 -1
  170. package/.next/server/server-reference-manifest.js +1 -1
  171. package/.next/server/server-reference-manifest.json +1 -1
  172. package/.next/static/chunks/1551-c19a41da7732c31e.js +1 -0
  173. package/.next/static/chunks/{1202-dfeac8ec49693586.js → 6955-c21412b6dcd86d80.js} +1 -1
  174. package/.next/static/chunks/app/_global-error/page-68515a67eece5248.js +1 -0
  175. package/.next/static/chunks/app/api/board-annotations/[id]/route-68515a67eece5248.js +1 -0
  176. package/.next/static/chunks/app/api/board-annotations/route-68515a67eece5248.js +1 -0
  177. package/.next/static/chunks/app/api/board-layout/route-68515a67eece5248.js +1 -0
  178. package/.next/static/chunks/app/api/bug-flags/[id]/route-68515a67eece5248.js +1 -0
  179. package/.next/static/chunks/app/api/bug-flags/route-68515a67eece5248.js +1 -0
  180. package/.next/static/chunks/app/api/code-graph/position/route-68515a67eece5248.js +1 -0
  181. package/.next/static/chunks/app/api/code-graph/route-68515a67eece5248.js +1 -0
  182. package/.next/static/chunks/app/api/context/feature/route-68515a67eece5248.js +1 -0
  183. package/.next/static/chunks/app/api/context/file/route-68515a67eece5248.js +1 -0
  184. package/.next/static/chunks/app/api/context/route-68515a67eece5248.js +1 -0
  185. package/.next/static/chunks/app/api/db/arrange/route-68515a67eece5248.js +1 -0
  186. package/.next/static/chunks/app/api/db/backfill-access/route-68515a67eece5248.js +1 -0
  187. package/.next/static/chunks/app/api/db/position/route-68515a67eece5248.js +1 -0
  188. package/.next/static/chunks/app/api/db/prune-planned/route-68515a67eece5248.js +1 -0
  189. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-68515a67eece5248.js +1 -0
  190. package/.next/static/chunks/app/api/db/relations/[id]/route-68515a67eece5248.js +1 -0
  191. package/.next/static/chunks/app/api/db/tables/[id]/route-68515a67eece5248.js +1 -0
  192. package/.next/static/chunks/app/api/draft/approve/route-68515a67eece5248.js +1 -0
  193. package/.next/static/chunks/app/api/draft/route-68515a67eece5248.js +1 -0
  194. package/.next/static/chunks/app/api/draft/status/route-68515a67eece5248.js +1 -0
  195. package/.next/static/chunks/app/api/edges/[id]/route-68515a67eece5248.js +1 -0
  196. package/.next/static/chunks/app/api/edges/route-68515a67eece5248.js +1 -0
  197. package/.next/static/chunks/app/api/endpoints/[id]/route-68515a67eece5248.js +1 -0
  198. package/.next/static/chunks/app/api/entities/route-68515a67eece5248.js +1 -0
  199. package/.next/static/chunks/app/api/feedback/[id]/route-68515a67eece5248.js +1 -0
  200. package/.next/static/chunks/app/api/feedback/[id]/vote/route-68515a67eece5248.js +1 -0
  201. package/.next/static/chunks/app/api/feedback/route-68515a67eece5248.js +1 -0
  202. package/.next/static/chunks/app/api/ingest/route-68515a67eece5248.js +1 -0
  203. package/.next/static/chunks/app/api/init/route-68515a67eece5248.js +1 -0
  204. package/.next/static/chunks/app/api/map/describe/route-68515a67eece5248.js +1 -0
  205. package/.next/static/chunks/app/api/map/files/route-68515a67eece5248.js +1 -0
  206. package/.next/static/chunks/app/api/map/finish/route-68515a67eece5248.js +1 -0
  207. package/.next/static/chunks/app/api/map/route-68515a67eece5248.js +1 -0
  208. package/.next/static/chunks/app/api/map/start/route-68515a67eece5248.js +1 -0
  209. package/.next/static/chunks/app/api/map/touch-active/route-68515a67eece5248.js +1 -0
  210. package/.next/static/chunks/app/api/nodes/[id]/position/route-68515a67eece5248.js +1 -0
  211. package/.next/static/chunks/app/api/nodes/[id]/route-68515a67eece5248.js +1 -0
  212. package/.next/static/chunks/app/api/nodes/positions/route-68515a67eece5248.js +1 -0
  213. package/.next/static/chunks/app/api/nodes/route-68515a67eece5248.js +1 -0
  214. package/.next/static/chunks/app/api/nodes/subtasks/route-68515a67eece5248.js +1 -0
  215. package/.next/static/chunks/app/api/notes/[id]/route-68515a67eece5248.js +1 -0
  216. package/.next/static/chunks/app/api/notes/route-68515a67eece5248.js +1 -0
  217. package/.next/static/chunks/app/api/open/route-68515a67eece5248.js +1 -0
  218. package/.next/static/chunks/app/api/plan/annotations/route-68515a67eece5248.js +1 -0
  219. package/.next/static/chunks/app/api/plan/approve/route-68515a67eece5248.js +1 -0
  220. package/.next/static/chunks/app/api/plan/history/route-68515a67eece5248.js +1 -0
  221. package/.next/static/chunks/app/api/plan/markdown/route-68515a67eece5248.js +1 -0
  222. package/.next/static/chunks/app/api/plan/presence/route-68515a67eece5248.js +1 -0
  223. package/.next/static/chunks/app/api/plan/route-68515a67eece5248.js +1 -0
  224. package/.next/static/chunks/app/api/plan/verdict/route-68515a67eece5248.js +1 -0
  225. package/.next/static/chunks/app/api/preferences/route-68515a67eece5248.js +1 -0
  226. package/.next/static/chunks/app/api/project-meta/route-68515a67eece5248.js +1 -0
  227. package/.next/static/chunks/app/api/reset/route-68515a67eece5248.js +1 -0
  228. package/.next/static/chunks/app/api/stream/route-68515a67eece5248.js +1 -0
  229. package/.next/static/chunks/app/api/version/route-68515a67eece5248.js +1 -0
  230. package/.next/static/chunks/app/api/workspace/activate/route-68515a67eece5248.js +1 -0
  231. package/.next/static/chunks/app/api/workspace/route-68515a67eece5248.js +1 -0
  232. package/.next/static/chunks/app/map/page-8417d6e5dc33e7fb.js +1 -0
  233. package/.next/static/chunks/app/plan/page-af54cdc9fb6058a3.js +1 -0
  234. package/.next/static/chunks/next/dist/client/components/builtin/app-error-68515a67eece5248.js +1 -0
  235. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-68515a67eece5248.js +1 -0
  236. package/.next/static/chunks/next/dist/client/components/builtin/not-found-68515a67eece5248.js +1 -0
  237. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-68515a67eece5248.js +1 -0
  238. package/.next/static/css/496162fa86c30a1d.css +1 -0
  239. package/.next/static/p7RuAgL_wa-K9PsrN1Js0/_buildManifest.js +1 -0
  240. package/.next/trace +38 -38
  241. package/.next/trace-build +1 -1
  242. package/.next/types/app/api/{plan → project-meta}/route.ts +3 -3
  243. package/.next/types/routes.d.ts +2 -1
  244. package/.next/types/validator.ts +9 -0
  245. package/dist/bin/beacon.js +9 -6
  246. package/dist/bin/doctor.js +31 -28
  247. package/dist/bin/hook.js +28 -25
  248. package/dist/bin/mcp.js +40 -37
  249. package/dist/bin/plan.js +31 -28
  250. package/dist/bin/remove.js +6 -6
  251. package/dist/bin/uninstall.js +30 -27
  252. package/dist/lib/assets.js +6 -3
  253. package/dist/lib/codex-install.js +6 -3
  254. package/dist/lib/global-install.js +6 -3
  255. package/dist/lib/release.js +2 -0
  256. package/dist/lib/semver.js +2 -0
  257. package/dist/lib/workspaces.js +1 -1
  258. package/drizzle/0006_optimal_chronomancer.sql +2 -0
  259. package/drizzle/meta/0006_snapshot.json +1765 -0
  260. package/drizzle/meta/_journal.json +7 -0
  261. package/package.json +1 -1
  262. package/.next/server/chunks/7138.js +0 -1
  263. package/.next/server/chunks/7373.js +0 -1
  264. package/.next/static/chunks/8252-326851ad274762f5.js +0 -1
  265. package/.next/static/chunks/app/_global-error/page-4cdc03c65547f289.js +0 -1
  266. package/.next/static/chunks/app/api/board-annotations/[id]/route-4cdc03c65547f289.js +0 -1
  267. package/.next/static/chunks/app/api/board-annotations/route-4cdc03c65547f289.js +0 -1
  268. package/.next/static/chunks/app/api/board-layout/route-4cdc03c65547f289.js +0 -1
  269. package/.next/static/chunks/app/api/bug-flags/[id]/route-4cdc03c65547f289.js +0 -1
  270. package/.next/static/chunks/app/api/bug-flags/route-4cdc03c65547f289.js +0 -1
  271. package/.next/static/chunks/app/api/code-graph/position/route-4cdc03c65547f289.js +0 -1
  272. package/.next/static/chunks/app/api/code-graph/route-4cdc03c65547f289.js +0 -1
  273. package/.next/static/chunks/app/api/context/feature/route-4cdc03c65547f289.js +0 -1
  274. package/.next/static/chunks/app/api/context/file/route-4cdc03c65547f289.js +0 -1
  275. package/.next/static/chunks/app/api/context/route-4cdc03c65547f289.js +0 -1
  276. package/.next/static/chunks/app/api/db/arrange/route-4cdc03c65547f289.js +0 -1
  277. package/.next/static/chunks/app/api/db/backfill-access/route-4cdc03c65547f289.js +0 -1
  278. package/.next/static/chunks/app/api/db/position/route-4cdc03c65547f289.js +0 -1
  279. package/.next/static/chunks/app/api/db/prune-planned/route-4cdc03c65547f289.js +0 -1
  280. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-4cdc03c65547f289.js +0 -1
  281. package/.next/static/chunks/app/api/db/relations/[id]/route-4cdc03c65547f289.js +0 -1
  282. package/.next/static/chunks/app/api/db/tables/[id]/route-4cdc03c65547f289.js +0 -1
  283. package/.next/static/chunks/app/api/draft/approve/route-4cdc03c65547f289.js +0 -1
  284. package/.next/static/chunks/app/api/draft/route-4cdc03c65547f289.js +0 -1
  285. package/.next/static/chunks/app/api/draft/status/route-4cdc03c65547f289.js +0 -1
  286. package/.next/static/chunks/app/api/edges/[id]/route-4cdc03c65547f289.js +0 -1
  287. package/.next/static/chunks/app/api/edges/route-4cdc03c65547f289.js +0 -1
  288. package/.next/static/chunks/app/api/endpoints/[id]/route-4cdc03c65547f289.js +0 -1
  289. package/.next/static/chunks/app/api/entities/route-4cdc03c65547f289.js +0 -1
  290. package/.next/static/chunks/app/api/feedback/[id]/route-4cdc03c65547f289.js +0 -1
  291. package/.next/static/chunks/app/api/feedback/[id]/vote/route-4cdc03c65547f289.js +0 -1
  292. package/.next/static/chunks/app/api/feedback/route-4cdc03c65547f289.js +0 -1
  293. package/.next/static/chunks/app/api/ingest/route-4cdc03c65547f289.js +0 -1
  294. package/.next/static/chunks/app/api/init/route-4cdc03c65547f289.js +0 -1
  295. package/.next/static/chunks/app/api/map/describe/route-4cdc03c65547f289.js +0 -1
  296. package/.next/static/chunks/app/api/map/files/route-4cdc03c65547f289.js +0 -1
  297. package/.next/static/chunks/app/api/map/finish/route-4cdc03c65547f289.js +0 -1
  298. package/.next/static/chunks/app/api/map/route-4cdc03c65547f289.js +0 -1
  299. package/.next/static/chunks/app/api/map/start/route-4cdc03c65547f289.js +0 -1
  300. package/.next/static/chunks/app/api/map/touch-active/route-4cdc03c65547f289.js +0 -1
  301. package/.next/static/chunks/app/api/nodes/[id]/position/route-4cdc03c65547f289.js +0 -1
  302. package/.next/static/chunks/app/api/nodes/[id]/route-4cdc03c65547f289.js +0 -1
  303. package/.next/static/chunks/app/api/nodes/positions/route-4cdc03c65547f289.js +0 -1
  304. package/.next/static/chunks/app/api/nodes/route-4cdc03c65547f289.js +0 -1
  305. package/.next/static/chunks/app/api/nodes/subtasks/route-4cdc03c65547f289.js +0 -1
  306. package/.next/static/chunks/app/api/notes/[id]/route-4cdc03c65547f289.js +0 -1
  307. package/.next/static/chunks/app/api/notes/route-4cdc03c65547f289.js +0 -1
  308. package/.next/static/chunks/app/api/open/route-4cdc03c65547f289.js +0 -1
  309. package/.next/static/chunks/app/api/plan/annotations/route-4cdc03c65547f289.js +0 -1
  310. package/.next/static/chunks/app/api/plan/approve/route-4cdc03c65547f289.js +0 -1
  311. package/.next/static/chunks/app/api/plan/history/route-4cdc03c65547f289.js +0 -1
  312. package/.next/static/chunks/app/api/plan/markdown/route-4cdc03c65547f289.js +0 -1
  313. package/.next/static/chunks/app/api/plan/presence/route-4cdc03c65547f289.js +0 -1
  314. package/.next/static/chunks/app/api/plan/route-4cdc03c65547f289.js +0 -1
  315. package/.next/static/chunks/app/api/plan/verdict/route-4cdc03c65547f289.js +0 -1
  316. package/.next/static/chunks/app/api/preferences/route-4cdc03c65547f289.js +0 -1
  317. package/.next/static/chunks/app/api/reset/route-4cdc03c65547f289.js +0 -1
  318. package/.next/static/chunks/app/api/stream/route-4cdc03c65547f289.js +0 -1
  319. package/.next/static/chunks/app/api/version/route-4cdc03c65547f289.js +0 -1
  320. package/.next/static/chunks/app/api/workspace/activate/route-4cdc03c65547f289.js +0 -1
  321. package/.next/static/chunks/app/api/workspace/route-4cdc03c65547f289.js +0 -1
  322. package/.next/static/chunks/app/map/page-ac03f88297a40d47.js +0 -1
  323. package/.next/static/chunks/app/plan/page-47e880f3e83a2753.js +0 -1
  324. package/.next/static/chunks/next/dist/client/components/builtin/app-error-4cdc03c65547f289.js +0 -1
  325. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-4cdc03c65547f289.js +0 -1
  326. package/.next/static/chunks/next/dist/client/components/builtin/not-found-4cdc03c65547f289.js +0 -1
  327. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-4cdc03c65547f289.js +0 -1
  328. package/.next/static/css/cb2ba3334a6b2336.css +0 -1
  329. package/.next/static/kJSpkyKRHr2jFBQoOGP8P/_buildManifest.js +0 -1
  330. /package/.next/static/{kJSpkyKRHr2jFBQoOGP8P → p7RuAgL_wa-K9PsrN1Js0}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=9683,exports.ids=[9683],exports.modules={6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>B,Ck:()=>z,Dk:()=>x,FF:()=>p,K4:()=>q,Lm:()=>G,Nx:()=>m,Q8:()=>A,T_:()=>l,UP:()=>t,VB:()=>w,WQ:()=>v,X_:()=>D,_g:()=>u,kO:()=>H,oW:()=>i,p1:()=>E,qh:()=>r});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){return(0,h.join)(i(),a)}function m(a){return`file:${(0,h.join)(l(a),"db.sqlite")}`}function n(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function p(){return n().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function q(a){return n().find(b=>b.id===a)??null}function r(a){o(n().filter(b=>b.id!==a)),t()===a&&u(p()[0]?.id??null)}function s(){return(0,h.join)(i(),"active")}function t(){try{return(0,f.readFileSync)(s(),"utf8").trim()||null}catch{return null}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(s(),a??"")}function v(){let a=t();return a?q(a):null}function w(){let a=E()??t();return a?q(a):null}let x="beacon_ws";function y(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function z(a){let b=a.headers.get("x-beacon-workspace");if(b&&q(b))return b;let c=y(a,x);return c&&q(c)?c:null}let A="x-beacon-workspace-path";async function B(a){let b=a.headers.get("x-beacon-workspace");if(b&&q(b))return b;let c=a.headers.get(A);if(c&&(!b||k(c)===b)){let a=function(a,b=new Date().toISOString()){let c=k(a),d=n(),e=d.find(a=>a.id===c),g={id:c,path:a,name:e?.name||(0,h.basename)(a),lastOpenedAt:b},i=[g,...d.filter(a=>a.id!==c)];return(0,f.mkdirSync)(l(c),{recursive:!0}),o(i),g}(c);return await H(a.id),a.id}let d=y(a,x);return d&&q(d)?d:null}let C=new d.AsyncLocalStorage;function D(a,b){return a?C.run(a,b):b()}function E(){return C.getStore()??null}let F=new Set;function G(a){F.delete((0,h.join)(l(a),"db.sqlite"))}async function H(a){let b=l(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&F.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(m(a));return F.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},30046:(a,b,c)=>{"use strict";c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(71484),e=c(28933),f=c(22070),g=c(47550),h=c(76968),i=c(96497),j=c(31059),k=c(63254);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})},47996:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(61430),e=c(30046);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},56727:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{let p;c.d(b,{Lf:()=>l,X_:()=>i.X_,dI:()=>n,db:()=>w,e$:()=>o,sc:()=>m});var e=c(55871),f=c(28855),g=c(30046),h=c(47996),i=c(6716),j=a([f,e]);[f,e]=j.then?(await j)():j;let q={...g,...h},r=(p=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(p)?p:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:q})}let s=globalThis,t=s.dzDefault??k(r),u=s.dzByUrl??=new Map;function l(a){let b=u.get(a);return b||(b=k(a),u.set(a,b)),b}function m(a){u.delete(a)}function n(a){let b=u.get(a);u.delete(a);try{b?.$client?.close?.()}catch{}}let v=new Map;function o(a=r){if(!/^file:/i.test(a))return Promise.resolve();let b=v.get(a);return b||(b=c.e(2877).then(c.bind(c,35258)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{v.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),v.set(a,b)),b}let w=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return t;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):t}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
1
+ exports.id=9683,exports.ids=[9683],exports.modules={6716:(a,b,c)=>{"use strict";c.d(b,{AV:()=>J,Ck:()=>H,Dk:()=>F,F2:()=>y,FF:()=>l,K4:()=>w,Lm:()=>O,Nx:()=>s,Q8:()=>I,T_:()=>r,UP:()=>B,VB:()=>E,VO:()=>q,WQ:()=>D,X_:()=>L,Y2:()=>v,_g:()=>C,kO:()=>P,oW:()=>i,p1:()=>M,qh:()=>z});var d=c(16698);c(31421);var e=c(77598),f=c(73024),g=c(48161),h=c(76760);function i(){return process.env.BEACON_HOME||(0,h.join)((0,g.homedir)(),".beacon")}function j(){return(0,h.join)(i(),"workspaces.json")}function k(a){return(0,e.createHash)("sha256").update(a).digest("hex").slice(0,12)}function l(a){let b=(0,h.resolve)(a);return b!==(0,h.resolve)((0,g.homedir)())&&b!==(0,h.parse)(b).root}function m(){return(0,h.join)(i(),"deleted.json")}function n(){try{let a=JSON.parse((0,f.readFileSync)(m(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function o(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(m(),JSON.stringify(a,null,2))}function p(a){return n().includes(a)}function q(a){let b=n();b.includes(a)||o([...b,a])}function r(a){return(0,h.join)(i(),a)}function s(a){return`file:${(0,h.join)(r(a),"db.sqlite")}`}function t(){try{let a=JSON.parse((0,f.readFileSync)(j(),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function u(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(j(),JSON.stringify(a,null,2))}function v(){return t().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function w(a){return t().find(b=>b.id===a)??null}function x(a,b,c=new Date().toISOString()){if(!l(a))throw Error(`beacon: refusing to register a non-repo path as a workspace: ${a}`);let d=k(a);if(p(d))throw Error(`beacon: workspace ${d} (${a}) was deleted — run \`beacon\` or /beacon-init to re-add it`);let e=t(),g=e.find(a=>a.id===d),i={id:d,path:a,name:b||g?.name||(0,h.basename)(a),lastOpenedAt:c},j=[i,...e.filter(a=>a.id!==d)];return(0,f.mkdirSync)(r(d),{recursive:!0}),u(j),i}function y(a,b){var c;let d;return c=k(a),(d=n()).includes(c)&&o(d.filter(a=>a!==c)),x(a,b)}function z(a){u(t().filter(b=>b.id!==a)),B()===a&&C(v()[0]?.id??null)}function A(){return(0,h.join)(i(),"active")}function B(){try{return(0,f.readFileSync)(A(),"utf8").trim()||null}catch{return null}}function C(a){(0,f.mkdirSync)(i(),{recursive:!0}),(0,f.writeFileSync)(A(),a??"")}function D(){let a=B();return a?w(a):null}function E(){let a=M()??B();return a?w(a):null}let F="beacon_ws";function G(a,b){let c=a.headers.get("cookie");if(!c)return null;for(let a of c.split(";")){let c=a.indexOf("=");if(-1!==c&&a.slice(0,c).trim()===b)return decodeURIComponent(a.slice(c+1).trim())}return null}function H(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=G(a,F);return c&&w(c)?c:null}let I="x-beacon-workspace-path";async function J(a){let b=a.headers.get("x-beacon-workspace");if(b&&w(b))return b;let c=a.headers.get(I);if(c&&l(c)&&!p(k(c))&&(!b||k(c)===b)){let a=x(c);return await P(a.id),a.id}let d=G(a,F);return d&&w(d)?d:null}let K=new d.AsyncLocalStorage;function L(a,b){return a?K.run(a,b):b()}function M(){return K.getStore()??null}let N=new Set;function O(a){N.delete((0,h.join)(r(a),"db.sqlite"))}async function P(a){let b=r(a),d=(0,h.join)(b,"db.sqlite"),e=(0,f.existsSync)(d);if(e&&N.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,f.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(9884),c.e(5871),c.e(5258)]).then(c.bind(c,35258)),h=await g(s(a));return N.add(d),{ok:!0,created:!e,migrated:e&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},30046:(a,b,c)=>{"use strict";c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,projectMeta:()=>F,syncState:()=>D,tag:()=>n});var d=c(71484),e=c(28933),f=c(22070),g=c(47550),h=c(76968),i=c(96497),j=c(31059),k=c(63254);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),layer:(0,e.Qq)(),title:(0,e.Qq)().notNull(),role:(0,e.Qq)(),plain:(0,e.Qq)(),status:(0,e.Qq)().default("PENDING").notNull(),priority:(0,f.nd)().default(2).notNull(),progress:(0,f.nd)().default(0).notNull(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),sourceRef:(0,e.Qq)(),externalId:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),parentId:(0,e.Qq)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Node_cluster_idx").on(a.cluster),(0,h.Pe)("Node_parentId_idx").on(a.parentId),(0,h.Pe)("Node_view_idx").on(a.view),(0,i.mt)(()=>({columns:[a.parentId],foreignColumns:[a.id],name:"Node_parentId_Node_id_fk"})).onUpdate("cascade").onDelete("cascade")]),m=(0,d.D)("NodeFile",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),path:(0,e.Qq)().notNull()},a=>[(0,h.GL)("NodeFile_nodeId_path_key").on(a.nodeId,a.path),(0,h.Pe)("NodeFile_nodeId_idx").on(a.nodeId)]),n=(0,d.D)("Tag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),label:(0,e.Qq)().notNull(),color:(0,e.Qq)()},a=>[(0,h.GL)("Tag_label_key").on(a.label)]),o=(0,d.D)("Edge",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),toId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),kind:(0,e.Qq)().default("DEPENDS").notNull(),label:(0,e.Qq)(),sourceHandle:(0,e.Qq)(),targetHandle:(0,e.Qq)()},a=>[(0,h.GL)("Edge_fromId_toId_kind_key").on(a.fromId,a.toId,a.kind),(0,h.Pe)("Edge_toId_idx").on(a.toId),(0,h.Pe)("Edge_fromId_idx").on(a.fromId)]),p=(0,d.D)("_NodeTags",{a:(0,e.Qq)("A").notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),b:(0,e.Qq)("B").notNull().references(()=>n.id,{onDelete:"cascade",onUpdate:"cascade"})},a=>[(0,h.GL)("_NodeTags_AB_unique").on(a.a,a.b),(0,h.Pe)("_NodeTags_B_index").on(a.b)]),q=(0,d.D)("Note",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),title:(0,e.Qq)().default("Untitled").notNull(),body:(0,e.Qq)().default("").notNull(),ord:(0,g.x)().default(0).notNull(),pinned:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("Note_updatedAt_idx").on(a.updatedAt)]),r=(0,d.D)("BoardAnnotation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),targetKind:(0,e.Qq)().notNull(),targetId:(0,e.Qq)().notNull(),columnName:(0,e.Qq)(),body:(0,e.Qq)().default("").notNull(),x:(0,g.x)(),y:(0,g.x)(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("BoardAnnotation_target_idx").on(a.targetId)]),s=(0,d.D)("BugFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),nodeId:(0,e.Qq)().notNull().references(()=>l.id,{onDelete:"cascade",onUpdate:"cascade"}),by:(0,e.Qq)().notNull(),note:(0,e.Qq)().notNull(),resolvedAt:(0,f.nd)({mode:"timestamp_ms"}),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.Pe)("BugFlag_nodeId_idx").on(a.nodeId)]),t=(0,d.D)("DbTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.Pe)("DbTable_domain_idx").on(a.domain),(0,h.GL)("DbTable_name_key").on(a.name)]),u=(0,d.D)("DbColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.GL)("DbColumn_tableId_name_key").on(a.tableId,a.name),(0,h.Pe)("DbColumn_tableId_idx").on(a.tableId)]),v=(0,d.D)("DbRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DbRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DbRelation_fromTableId_idx").on(a.fromTableId)]),w=(0,d.D)("Endpoint",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),method:(0,e.Qq)().notNull(),path:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),source:(0,e.Qq)().default("MANUAL").notNull(),planId:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("Endpoint_method_path_key").on(a.method,a.path),(0,h.Pe)("Endpoint_domain_idx").on(a.domain)]),x=(0,d.D)("EndpointTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),endpointId:(0,e.Qq)().notNull().references(()=>w.id,{onDelete:"cascade",onUpdate:"cascade"}),tableId:(0,e.Qq)().notNull().references(()=>t.id,{onDelete:"cascade",onUpdate:"cascade"}),access:(0,e.Qq)().default("read").notNull()},a=>[(0,h.GL)("EndpointTable_endpointId_tableId_key").on(a.endpointId,a.tableId),(0,h.Pe)("EndpointTable_tableId_idx").on(a.tableId)]),y=(0,d.D)("DraftTable",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),name:(0,e.Qq)().notNull(),domain:(0,e.Qq)(),description:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),createdAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},a=>[(0,h.GL)("DraftTable_name_key").on(a.name)]),z=(0,d.D)("DraftColumn",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),tableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),name:(0,e.Qq)().notNull(),type:(0,e.Qq)().notNull(),isPk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),isFk:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),nullable:(0,f.nd)({mode:"boolean"}).default(!0).notNull(),note:(0,e.Qq)(),ord:(0,f.nd)().default(0).notNull()},a=>[(0,h.Pe)("DraftColumn_tableId_idx").on(a.tableId)]),A=(0,d.D)("DraftRelation",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),fromTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),toTableId:(0,e.Qq)().notNull().references(()=>y.id,{onDelete:"cascade",onUpdate:"cascade"}),fromColumn:(0,e.Qq)().notNull(),toColumn:(0,e.Qq)().notNull(),label:(0,e.Qq)()},a=>[(0,h.Pe)("DraftRelation_toTableId_idx").on(a.toTableId),(0,h.Pe)("DraftRelation_fromTableId_idx").on(a.fromTableId)]),B=(0,d.D)("CodeFile",{path:(0,e.Qq)().primaryKey(),root:(0,e.Qq)(),lang:(0,e.Qq)(),x:(0,g.x)().default(0).notNull(),y:(0,g.x)().default(0).notNull(),mtimeMs:(0,g.x)(),size:(0,f.nd)(),inDegree:(0,f.nd)().default(0).notNull(),outDegree:(0,f.nd)().default(0).notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),C=(0,d.D)("CodeFileEdge",{fromPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),toPath:(0,e.Qq)().notNull().references(()=>B.path,{onDelete:"cascade",onUpdate:"cascade"}),circular:(0,f.nd)({mode:"boolean"}).default(!1).notNull()},a=>[(0,h.Pe)("CodeFileEdge_circular_idx").on(a.circular),(0,h.Pe)("CodeFileEdge_toPath_idx").on(a.toPath),(0,h.Pe)("CodeFileEdge_fromPath_idx").on(a.fromPath),(0,j.ie)({columns:[a.fromPath,a.toPath],name:"CodeFileEdge_fromPath_toPath_pk"})]),D=(0,d.D)("SyncState",{id:(0,e.Qq)().primaryKey().default("singleton"),version:(0,f.nd)().default(0).notNull(),codeGraphSyncedAt:(0,f.nd)({mode:"timestamp_ms"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),E=(0,d.D)("AppSetting",{id:(0,e.Qq)().primaryKey().default("singleton"),editor:(0,e.Qq)().default("auto").notNull(),currentFeatureId:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),F=(0,d.D)("ProjectMeta",{id:(0,e.Qq)().primaryKey().default("singleton"),overview:(0,e.Qq)(),conventions:(0,e.Qq)().default("[]").notNull(),hasFrontend:(0,f.nd)({mode:"boolean"}),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)})},47996:(a,b,c)=>{"use strict";c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(61430),e=c(30046);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},56727:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{let p;c.d(b,{Lf:()=>l,X_:()=>i.X_,dI:()=>n,db:()=>w,e$:()=>o,sc:()=>m});var e=c(55871),f=c(28855),g=c(30046),h=c(47996),i=c(6716),j=a([f,e]);[f,e]=j.then?(await j)():j;let q={...g,...h},r=(p=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(p)?p:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:q})}let s=globalThis,t=s.dzDefault??k(r),u=s.dzByUrl??=new Map;function l(a){let b=u.get(a);return b||(b=k(a),u.set(a,b)),b}function m(a){u.delete(a)}function n(a){let b=u.get(a);u.delete(a);try{b?.$client?.close?.()}catch{}}let v=new Map;function o(a=r){if(!/^file:/i.test(a))return Promise.resolve();let b=v.get(a);return b||(b=c.e(2877).then(c.bind(c,35258)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{v.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),v.set(a,b)),b}let w=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return t;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):t}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},78335:()=>{},96487:()=>{}};
@@ -1 +1 @@
1
- "use strict";exports.id=9734,exports.ids=[9734],exports.modules={7903:(a,b,c)=>{c.d(b,{VE:()=>k,qT:()=>l,zP:()=>h});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);let h={roadmap:"grouped-2",architecture:"arch-layered-3",db:"db-dock-3"};function i(){return(0,e.join)((0,f.KS)(),"board-layout-state.json")}function j(){try{return JSON.parse((0,d.readFileSync)(i(),"utf8"))}catch{return null}}function k(a){let b=j(),c=b?.[a];return{sig:c?.sig??("roadmap"!==a||b?null:function(){try{return JSON.parse((0,d.readFileSync)((0,e.join)((0,f.KS)(),"roadmap-layout-sig.json"),"utf8")).sig??null}catch{return null}}())??null,arrangedBy:c?.arrangedBy??null}}function l(a,b){let c=j()??{};c[a]={...c[a],...b},(0,g.q)(i(),c)}},19734:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>r,HF:()=>q,Rw:()=>s,ap:()=>t});var e=c(44046),f=c(91430),g=c(34216),h=c(56727),i=c(30046),j=c(72658),k=c(35498),l=c(49565),m=c(24983),n=c(96976),o=c(73033),p=a([h,j,k,l,o]);[h,j,k,l,o]=p.then?(await p)():p;let t=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function q(a=h.db){let b=await a.query.syncState.findFirst({where:(a,{eq:b})=>b(a.id,"singleton")});return b?.version??0}async function r(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function s(a,b=h.db,c={}){let d=t.parse(a),e=d.tables.length>0,f=d.endpoints.length>0,p=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(p.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,p)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let q=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),u=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),v=new Map(q.map(a=>[a.name,a])),w=q.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),x=u.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),y=new Map;for(let a of d.tables){if(v.has(a.name))continue;let b=(0,n.uQ)({domain:a.domain??null,columnCount:a.columns.length},w,x);y.set(a.name,b),w.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let z=new Map;for(let a of d.tables){let c=v.get(a.name),d=y.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();z.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let A=[...z.values()];for(let a of(A.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,A),(0,g.RV)(i.dbRelation.toTableId,A))),d.relations)){let c=z.get(a.fromTable),d=z.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let B=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!B.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of w)a.id.startsWith("new:")&&(a.id=z.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:z.get(a.table)??""})).filter(a=>a.tableId)},c=(0,n.ez)(b,w,x);d=c.x,e=c.y,x.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=z.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b),await (0,l.q)(b);let C=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),D=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,m.v4)(C.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(D))&&await (0,o.r)(b);let E=await r(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:E}}d()}catch(a){d(a)}})},24983:(a,b,c)=>{c.d(b,{mn:()=>d.mn,v4:()=>f,wx:()=>e});var d=c(96976);function e(a,b=[]){let c=[,,,,].fill(0);for(let a of b){let b=Math.max(0,Math.min(3,Math.round(a.x/d.LT))),e=a.y+(0,d.mn)(a.columnCount)+d.lS;e>c[b]&&(c[b]=e)}let f=new Map;for(let b of a){let a=0;for(let b=1;b<4;b++)c[b]<c[a]&&(a=b);let e=a*d.LT,g=c[a];f.set(b.key,{x:e,y:g}),c[a]=g+(0,d.mn)(b.columnCount)+d.lS}return f}function f(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},32213:(a,b,c)=>{c.d(b,{q:()=>f});var d=c(73024),e=c(76760);function f(a,b,c=!1){var g=JSON.stringify(b,null,c?2:void 0);(0,d.mkdirSync)((0,e.dirname)(a),{recursive:!0});let h=`${a}.tmp`;try{(0,d.writeFileSync)(h,g),(0,d.renameSync)(h,a)}catch(a){throw(0,d.rmSync)(h,{force:!0}),a}}},35498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},45301:(a,b,c)=>{c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},49565:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>j});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);f=(h.then?(await h)():h)[0];let k=new Set(["DONE","CANCELLED","DEPRIORITIZED"]);async function i(a){let b=await a.query.node.findMany({where:(a,{and:b,eq:c,isNotNull:d})=>b(c(a.view,"ROADMAP"),d(a.planId)),columns:{planId:!0,status:!0}}),c=new Map;for(let a of b){let b=a.planId;c.set(b,(c.get(b)??!0)&&k.has(a.status))}return[...c.entries()].filter(([,a])=>a).map(([a])=>a)}async function j(a=f.db){let b=await i(a),c=a=>b.length?(0,e.or)((0,e.kZ)(a.planId),(0,e.RV)(a.planId,b)):(0,e.kZ)(a.planId),d=await a.delete(g.dbTable).where((0,e.Uo)((0,e.ne)(g.dbTable.source,"INTROSPECTION"),c(g.dbTable))).returning({id:g.dbTable.id}),h=await a.delete(g.endpoint).where((0,e.Uo)((0,e.ne)(g.endpoint.source,"INTROSPECTION"),c(g.endpoint))).returning({id:g.endpoint.id});return{tables:d.length,endpoints:h.length}}d()}catch(a){d(a)}})},72658:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C:()=>h,i:()=>g});var e=c(56727),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}async function h(a=e.db){let[b,c]=await Promise.all([a.query.dbTable.findFirst({orderBy:(a,{desc:b})=>b(a.y)}),a.query.endpoint.findFirst({orderBy:(a,{desc:b})=>b(a.y)})]),d=Math.max(b?.y??0,c?.y??0);return d>0?d+280:0}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73033:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>k,v:()=>l});var e=c(34216),f=c(56727),g=c(30046),h=c(96976),i=c(7903),j=a([f]);async function k(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}async function l(a=f.db){let b=i.zP.db;(0,i.VE)("db").sig===b||await a.query.dbTable.findFirst({columns:{id:!0}})&&(await k(a),(0,i.qT)("db",{sig:b}))}f=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},96976:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>m,kq:()=>k,lS:()=>e,mn:()=>f,uQ:()=>l});let d=320,e=50;function f(a){return 36+30*Math.max(0,a)+16}let g=2560,h=a=>(a??"").trim()||"—";function i(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let j=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function k(a,b){let c=i(a,b),k=new Map,l=[];for(let a of[...b].sort(j)){let b=c.get(a.id)??null;if(b){let c=k.get(b);c?c.push(a):k.set(b,[a])}else l.push(a)}let m=a=>{let b=k.get(a.id)?.length??0;return f(a.columnCount)+(b?14+60*b:0)+e},n=Array.from(new Set(a.map(a=>h(a.domain)))),o=n.filter(a=>"—"!==a).sort(),p=n.includes("—")?[...o,"—"]:o,q=[];for(let b of p){let c=a.filter(a=>h(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),e=c.reduce((a,b)=>a+m(b),0),f=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(e/d)))),g=Array(f).fill(0),i=new Map;for(let a of c){let b=0;for(let a=1;a<f;a++)g[a]<g[b]&&(b=a);i.set(a.id,{x:b*d,y:g[b]}),g[b]+=m(a)}q.push({d:b,w:f*d,h:Math.max(...g,0),tableLocal:i})}let r=Math.max(g,Math.round(Math.sqrt(2.2*q.reduce((a,b)=>a+(b.w+120)*(b.h+170),0)))),s=new Map,t=new Map,u=0,v=0,w=0,x=0;for(let b of q){for(let c of(u>0&&u+b.w>r&&(v+=w+170,u=0,w=0),a.filter(a=>b.tableLocal.has(a.id)))){let a=b.tableLocal.get(c.id),d=u+a.x,e=v+a.y;s.set(c.id,{x:d,y:e}),(k.get(c.id)??[]).forEach((a,b)=>{t.set(a.id,{x:d,y:e+f(c.columnCount)+14+60*b})})}w=Math.max(w,b.h),x=Math.max(x,v+b.h),u+=b.w+120}if(l.length){let a=x+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(l.length/2))));l.forEach((c,d)=>{t.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:s,endpoints:t}}function l(a,b,c){let g=i(b,c),j=new Map;for(let a of c){let b=g.get(a.id);b&&j.set(b,(j.get(b)??0)+1)}let k=a=>{let b=j.get(a.id)??0;return a.y+f(a.columnCount)+(b?14+60*b:0)},l=h(a.domain),m=b.filter(a=>h(a.domain)===l);if(!m.length){let a=b.length?Math.max(...b.map(k),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let n=Math.min(...m.map(a=>a.x)),o=m.map(a=>Math.max(0,Math.round((a.x-n)/d))),p=Math.min(12,Math.max(...o)+1),q=Array(p).fill(Math.min(...m.map(a=>a.y)));m.forEach((a,b)=>{let c=Math.min(o[b],p-1);q[c]=Math.max(q[c],k(a)+e)});let r=0;for(let a=1;a<p;a++)q[a]<q[r]&&(r=a);return{x:n+r*d,y:q[r]}}function m(a,b,c){let d=i(b,[...c,a]),e=d.get(a.id),g=e?b.find(a=>a.id===e):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+f(g.columnCount)+14,e=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:e}}let h=[...b.map(a=>a.y+f(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:h.length?Math.max(...h)+170:0}}}};
1
+ "use strict";exports.id=9734,exports.ids=[9734],exports.modules={7903:(a,b,c)=>{c.d(b,{VE:()=>k,qT:()=>l,zP:()=>h});var d=c(73024),e=c(76760),f=c(45301),g=c(32213);let h={roadmap:"grouped-2",architecture:"arch-layered-3",db:"db-dock-3"};function i(){return(0,e.join)((0,f.KS)(),"board-layout-state.json")}function j(){try{return JSON.parse((0,d.readFileSync)(i(),"utf8"))}catch{return null}}function k(a){let b=j(),c=b?.[a];return{sig:c?.sig??("roadmap"!==a||b?null:function(){try{return JSON.parse((0,d.readFileSync)((0,e.join)((0,f.KS)(),"roadmap-layout-sig.json"),"utf8")).sig??null}catch{return null}}())??null,arrangedBy:c?.arrangedBy??null}}function l(a,b){let c=j()??{};c[a]={...c[a],...b},(0,g.q)(i(),c)}},19734:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Bx:()=>r,HF:()=>q,Rw:()=>s,ap:()=>t});var e=c(44046),f=c(91430),g=c(34216),h=c(56727),i=c(30046),j=c(72658),k=c(35498),l=c(49565),m=c(24983),n=c(96976),o=c(73033),p=a([h,j,k,l,o]);[h,j,k,l,o]=p.then?(await p)():p;let t=e.Ik({tables:e.YO(e.Ik({name:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),columns:e.YO(e.Ik({name:e.Yj().trim().min(1),type:e.Yj().trim().min(1),isPk:e.zM().optional(),isFk:e.zM().optional(),nullable:e.zM().optional(),note:e.Yj().nullish()})).default([])})).default([]),relations:e.YO(e.Ik({fromTable:e.Yj(),fromColumn:e.Yj(),toTable:e.Yj(),toColumn:e.Yj(),label:e.Yj().nullish()})).default([]),endpoints:e.YO(e.Ik({method:e.Yj().trim().min(1),path:e.Yj().trim().min(1),domain:e.Yj().nullish(),description:e.Yj().nullish(),uses:e.YO(e.Ik({table:e.Yj(),access:e.Yj().default("read")})).default([])})).default([])});async function q(a=h.db){let b=await a.query.syncState.findFirst({where:(a,{eq:b})=>b(a.id,"singleton")});return b?.version??0}async function r(a=h.db){let[b]=await a.insert(i.syncState).values({id:"singleton",version:1}).onConflictDoUpdate({target:i.syncState.id,set:{version:(0,f.ll)`${i.syncState.version} + 1`}}).returning();return b.version}async function s(a,b=h.db,c={}){let d=t.parse(a),e=d.tables.length>0,f=d.endpoints.length>0,p=d.tables.map(a=>a.name);e&&await b.delete(i.dbTable).where(p.length?(0,g.Uo)((0,g.eq)(i.dbTable.source,"INTROSPECTION"),(0,g.KL)(i.dbTable.name,p)):(0,g.eq)(i.dbTable.source,"INTROSPECTION"));let q=await b.query.dbTable.findMany({columns:{id:!0,name:!0,domain:!0,x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),u=await b.query.endpoint.findMany({columns:{id:!0,method:!0,path:!0,x:!0,y:!0},with:{tables:{columns:{tableId:!0}}}}),v=new Map(q.map(a=>[a.name,a])),w=q.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length,x:a.x,y:a.y})),x=u.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId})),x:a.x,y:a.y})),y=new Map;for(let a of d.tables){if(v.has(a.name))continue;let b=(0,n.uQ)({domain:a.domain??null,columnCount:a.columns.length},w,x);y.set(a.name,b),w.push({id:`new:${a.name}`,name:a.name,domain:a.domain??null,columnCount:a.columns.length,...b})}let z=new Map;for(let a of d.tables){let c=v.get(a.name),d=y.get(a.name),e=c?.x??d?.x??0,f=c?.y??d?.y??0,[h]=await b.insert(i.dbTable).values({name:a.name,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:e,y:f}).onConflictDoUpdate({target:i.dbTable.name,set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();z.set(a.name,h.id),await b.delete(i.dbColumn).where((0,g.eq)(i.dbColumn.tableId,h.id)),a.columns.length&&await b.insert(i.dbColumn).values(a.columns.map((a,b)=>({tableId:h.id,name:a.name,type:a.type,isPk:a.isPk??!1,isFk:a.isFk??!1,nullable:a.nullable??!0,note:a.note??null,ord:b})))}let A=[...z.values()];for(let a of(A.length&&await b.delete(i.dbRelation).where((0,g.or)((0,g.RV)(i.dbRelation.fromTableId,A),(0,g.RV)(i.dbRelation.toTableId,A))),d.relations)){let c=z.get(a.fromTable),d=z.get(a.toTable);c&&d&&await b.insert(i.dbRelation).values({fromTableId:c,toTableId:d,fromColumn:a.fromColumn,toColumn:a.toColumn,label:a.label??`${a.fromColumn} → ${a.toTable}.${a.toColumn}`})}let B=new Set(d.endpoints.map(a=>`${a.method} ${a.path}`));if(f){let a=(await b.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})).filter(a=>!B.has(`${a.method} ${a.path}`)).map(a=>a.id);a.length&&await b.delete(i.endpoint).where((0,g.RV)(i.endpoint.id,a))}for(let a of w)a.id.startsWith("new:")&&(a.id=z.get(a.name)??a.id);for(let a of d.endpoints){let d,e,f=await b.query.endpoint.findFirst({where:(b,{and:c,eq:d})=>c(d(b.method,a.method),d(b.path,a.path))});if(f)d=f.x,e=f.y;else{let b={id:`new:${a.method} ${a.path}`,method:a.method,path:a.path,uses:a.uses.map(a=>({tableId:z.get(a.table)??""})).filter(a=>a.tableId)},c=(0,n.ez)(b,w,x);d=c.x,e=c.y,x.push({...b,x:d,y:e})}let[h]=await b.insert(i.endpoint).values({method:a.method,path:a.path,domain:a.domain??null,description:a.description??null,source:"INTROSPECTION",x:d,y:e}).onConflictDoUpdate({target:[i.endpoint.method,i.endpoint.path],set:{...null!=a.domain?{domain:a.domain}:{},...null!=a.description?{description:a.description}:{},source:"INTROSPECTION"}}).returning();for(let d of((!c.partial||a.uses.length>0)&&await b.delete(i.endpointTable).where((0,g.eq)(i.endpointTable.endpointId,h.id)),a.uses)){let a=z.get(d.table)??(await b.query.dbTable.findFirst({where:(a,{eq:b})=>b(a.name,d.table)}))?.id;a&&await b.insert(i.endpointTable).values({endpointId:h.id,tableId:a,access:d.access})}}await (0,k.X)(b),await (0,l.q)(b);let C=await b.query.dbTable.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION"),columns:{x:!0,y:!0},with:{columns:{columns:{id:!0}}}}),D=await b.select({x:i.endpoint.x,y:i.endpoint.y}).from(i.endpoint);((0,m.v4)(C.map(a=>({x:a.x,y:a.y,columnCount:a.columns.length})))||(0,j.i)(D))&&await (0,o.r)(b);let E=await r(b);return{tables:d.tables.length,relations:d.relations.length,endpoints:d.endpoints.length,version:E}}d()}catch(a){d(a)}})},24983:(a,b,c)=>{c.d(b,{v4:()=>e});var d=c(96976);function e(a){let b=d.LT-20;for(let c=0;c<a.length;c++)for(let e=c+1;e<a.length;e++){let f=a[c],g=a[e],h=(0,d.mn)(f.columnCount),i=(0,d.mn)(g.columnCount);if(f.x<g.x+b&&f.x+b>g.x&&f.y<g.y+i&&f.y+h>g.y)return!0}return!1}},32213:(a,b,c)=>{c.d(b,{q:()=>f});var d=c(73024),e=c(76760);function f(a,b,c=!1){var g=JSON.stringify(b,null,c?2:void 0);(0,d.mkdirSync)((0,e.dirname)(a),{recursive:!0});let h=`${a}.tmp`;try{(0,d.writeFileSync)(h,g),(0,d.renameSync)(h,a)}catch(a){throw(0,d.rmSync)(h,{force:!0}),a}}},35498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{X:()=>i});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);async function i(a=f.db){let[b,c]=await Promise.all([a.query.endpoint.findMany({where:(a,{ne:b})=>b(a.source,"INTROSPECTION")}),a.query.endpoint.findMany({where:(a,{eq:b})=>b(a.source,"INTROSPECTION")})]),d={collapsed:0,mappings:[]};for(let f of b){let b=c.find(a=>(function(a,b){if(a.method.toUpperCase()!==b.method.toUpperCase())return!1;let c=a.path.replace(/\{[^}]*\}/g,"{}"),d=b.path.replace(/\{[^}]*\}/g,"{}");return d===c||d.endsWith(c)})(f,a));b&&(await a.delete(g.endpoint).where((0,e.eq)(g.endpoint.id,f.id)),d.collapsed++,d.mappings.push({planned:`${f.method} ${f.path}`,code:`${b.method} ${b.path}`}))}return d}f=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},45301:(a,b,c)=>{c.d(b,{KS:()=>l,Qq:()=>k,jv:()=>j});var d=c(31421),e=c(77598),f=c(48161),g=c(76760),h=c(6716);let i=null;function j(){if(process.env.BEACON_REPO)return process.env.BEACON_REPO;let a=(0,h.p1)();if(a){let b=(0,h.K4)(a);if(b)return b.path}let b=(0,h.WQ)();if(b)return b.path;if(i)return i;try{let a=(0,d.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),stdio:["ignore","pipe","ignore"]}).toString().trim();if(a)return i=a}catch{}return i=(0,g.resolve)(process.cwd(),"../..")}function k(){return(0,g.basename)(j())}function l(){if(process.env.BEACON_DATA_DIR)return process.env.BEACON_DATA_DIR;let a=(0,h.p1)();if(a&&(0,h.K4)(a))return(0,h.T_)(a);let b=(0,h.WQ)();return b?(0,h.T_)(b.id):(0,g.join)((0,f.homedir)(),".beacon",(0,e.createHash)("sha256").update(j()).digest("hex").slice(0,12))}},49565:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{q:()=>j});var e=c(34216),f=c(56727),g=c(30046),h=a([f]);f=(h.then?(await h)():h)[0];let k=new Set(["DONE","CANCELLED","DEPRIORITIZED"]);async function i(a){let b=await a.query.node.findMany({where:(a,{and:b,eq:c,isNotNull:d})=>b(c(a.view,"ROADMAP"),d(a.planId)),columns:{planId:!0,status:!0}}),c=new Map;for(let a of b){let b=a.planId;c.set(b,(c.get(b)??!0)&&k.has(a.status))}return[...c.entries()].filter(([,a])=>a).map(([a])=>a)}async function j(a=f.db){let b=await i(a),c=a=>b.length?(0,e.or)((0,e.kZ)(a.planId),(0,e.RV)(a.planId,b)):(0,e.kZ)(a.planId),d=await a.delete(g.dbTable).where((0,e.Uo)((0,e.ne)(g.dbTable.source,"INTROSPECTION"),c(g.dbTable))).returning({id:g.dbTable.id}),h=await a.delete(g.endpoint).where((0,e.Uo)((0,e.ne)(g.endpoint.source,"INTROSPECTION"),c(g.endpoint))).returning({id:g.endpoint.id});return{tables:d.length,endpoints:h.length}}d()}catch(a){d(a)}})},72658:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C:()=>h,i:()=>g});var e=c(56727),f=a([e]);function g(a){for(let b=0;b<a.length;b++)for(let c=b+1;c<a.length;c++){let d=a[b],e=a[c];if(d.x<e.x+240&&d.x+240>e.x&&d.y<e.y+50&&d.y+50>e.y)return!0}return!1}async function h(a=e.db){let[b,c]=await Promise.all([a.query.dbTable.findFirst({orderBy:(a,{desc:b})=>b(a.y)}),a.query.endpoint.findFirst({orderBy:(a,{desc:b})=>b(a.y)})]),d=Math.max(b?.y??0,c?.y??0);return d>0?d+280:0}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},73033:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{r:()=>k,v:()=>l});var e=c(34216),f=c(56727),g=c(30046),h=c(96976),i=c(7903),j=a([f]);async function k(a=f.db){let[b,c]=await Promise.all([a.query.dbTable.findMany({with:{columns:{columns:{id:!0}}},orderBy:(a,{asc:b})=>b(a.name)}),a.query.endpoint.findMany({with:{tables:{columns:{tableId:!0}}}})]),d=(0,h.kq)(b.map(a=>({id:a.id,name:a.name,domain:a.domain,columnCount:a.columns.length})),c.map(a=>({id:a.id,method:a.method,path:a.path,uses:a.tables.map(a=>({tableId:a.tableId}))}))),i=0;for(let c of b){let b=d.tables.get(c.id);b&&(Math.round(b.x)!==Math.round(c.x)||Math.round(b.y)!==Math.round(c.y))&&(await a.update(g.dbTable).set({x:b.x,y:b.y}).where((0,e.eq)(g.dbTable.id,c.id)),i++)}for(let b of c){let c=d.endpoints.get(b.id);c&&(Math.round(c.x)!==Math.round(b.x)||Math.round(c.y)!==Math.round(b.y))&&(await a.update(g.endpoint).set({x:c.x,y:c.y}).where((0,e.eq)(g.endpoint.id,b.id)),i++)}return i}async function l(a=f.db){let b=i.zP.db;(0,i.VE)("db").sig===b||await a.query.dbTable.findFirst({columns:{id:!0}})&&(await k(a),(0,i.qT)("db",{sig:b}))}f=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},96976:(a,b,c)=>{c.d(b,{LT:()=>d,ez:()=>l,kq:()=>j,mn:()=>e,uQ:()=>k});let d=320;function e(a){return 36+30*Math.max(0,a)+16}let f=2560,g=a=>(a??"").trim()||"—";function h(a,b){let c=new Map(a.map(a=>[a.id,a.name])),d=new Map;for(let a of b)for(let b of a.uses)c.has(b.tableId)&&d.set(b.tableId,(d.get(b.tableId)??0)+1);return new Map(b.map(a=>[a.id,function(a,b,c){let d=new Map;for(let c of a.uses)b.has(c.tableId)&&d.set(c.tableId,(d.get(c.tableId)??0)+1);let e=null;for(let[a,f]of d){if(null===e){e=a;continue}let g=d.get(e);if(f>g){e=a;continue}if(f<g)continue;let h=c?.get(a)??0,i=c?.get(e)??0;h<i?e=a:h===i&&0>b.get(a).localeCompare(b.get(e))&&(e=a)}return e}(a,c,d)]))}let i=(a,b)=>a.path.localeCompare(b.path)||a.method.localeCompare(b.method)||a.id.localeCompare(b.id);function j(a,b){let c=h(a,b),j=new Map,k=[];for(let a of[...b].sort(i)){let b=c.get(a.id)??null;if(b){let c=j.get(b);c?c.push(a):j.set(b,[a])}else k.push(a)}let l=a=>{let b=j.get(a.id)?.length??0;return e(a.columnCount)+(b?14+60*b:0)+50},m=Array.from(new Set(a.map(a=>g(a.domain)))),n=m.filter(a=>"—"!==a).sort(),o=m.includes("—")?[...n,"—"]:n,p=[];for(let b of o){let c=a.filter(a=>g(a.domain)===b).sort((a,b)=>a.name.localeCompare(b.name)),e=c.reduce((a,b)=>a+l(b),0),f=Math.max(1,Math.min(12,c.length,Math.round(Math.sqrt(e/d)))),h=Array(f).fill(0),i=new Map;for(let a of c){let b=0;for(let a=1;a<f;a++)h[a]<h[b]&&(b=a);i.set(a.id,{x:b*d,y:h[b]}),h[b]+=l(a)}p.push({d:b,w:f*d,h:Math.max(...h,0),tableLocal:i})}let q=Math.max(f,Math.round(Math.sqrt(2.2*p.reduce((a,b)=>a+(b.w+120)*(b.h+170),0)))),r=new Map,s=new Map,t=0,u=0,v=0,w=0;for(let b of p){for(let c of(t>0&&t+b.w>q&&(u+=v+170,t=0,v=0),a.filter(a=>b.tableLocal.has(a.id)))){let a=b.tableLocal.get(c.id),d=t+a.x,f=u+a.y;r.set(c.id,{x:d,y:f}),(j.get(c.id)??[]).forEach((a,b)=>{s.set(a.id,{x:d,y:f+e(c.columnCount)+14+60*b})})}v=Math.max(v,b.h),w=Math.max(w,u+b.h),t+=b.w+120}if(k.length){let a=w+170,b=Math.max(1,Math.min(4,Math.ceil(Math.sqrt(k.length/2))));k.forEach((c,d)=>{s.set(c.id,{x:d%b*280,y:a+60*Math.floor(d/b)})})}return{tables:r,endpoints:s}}function k(a,b,c){let f=h(b,c),i=new Map;for(let a of c){let b=f.get(a.id);b&&i.set(b,(i.get(b)??0)+1)}let j=a=>{let b=i.get(a.id)??0;return a.y+e(a.columnCount)+(b?14+60*b:0)},k=g(a.domain),l=b.filter(a=>g(a.domain)===k);if(!l.length){let a=b.length?Math.max(...b.map(j),...c.map(a=>a.y+60)):0;return{x:0,y:b.length||c.length?a+170:0}}let m=Math.min(...l.map(a=>a.x)),n=l.map(a=>Math.max(0,Math.round((a.x-m)/d))),o=Math.min(12,Math.max(...n)+1),p=Array(o).fill(Math.min(...l.map(a=>a.y)));l.forEach((a,b)=>{let c=Math.min(n[b],o-1);p[c]=Math.max(p[c],j(a)+50)});let q=0;for(let a=1;a<o;a++)p[a]<p[q]&&(q=a);return{x:m+q*d,y:p[q]}}function l(a,b,c){let d=h(b,[...c,a]),f=d.get(a.id),g=f?b.find(a=>a.id===f):void 0;if(g){let a=c.filter(a=>d.get(a.id)===g.id),b=g.y+e(g.columnCount)+14,f=a.length?Math.max(...a.map(a=>a.y))+60:b;return{x:g.x,y:f}}let i=[...b.map(a=>a.y+e(a.columnCount)),...c.map(a=>a.y+60)];return{x:0,y:i.length?Math.max(...i)+170:0}}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/kJSpkyKRHr2jFBQoOGP8P/_buildManifest.js","static/kJSpkyKRHr2jFBQoOGP8P/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-3dc11ff04fc155e6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-cef5038dc7aa126a.js","static/chunks/main-app-1a32dc335629e4e4.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/p7RuAgL_wa-K9PsrN1Js0/_buildManifest.js","static/p7RuAgL_wa-K9PsrN1Js0/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-3dc11ff04fc155e6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-cef5038dc7aa126a.js","static/chunks/main-app-1a32dc335629e4e4.js"],rootMainFilesTree:{},pages:{"/_app":[]}};