trybeacon 0.1.73 → 0.1.75

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 (383) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-path-routes-manifest.json +26 -22
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/routes-manifest.json +24 -0
  7. package/.next/server/app/_global-error/page.js +3 -3
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/server/app/_not-found/page.js +2 -2
  18. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +23 -22
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +23 -22
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +12 -11
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/.next/server/app/api/ask/answer/route.js +1 -0
  29. package/.next/server/app/api/ask/answer/route.js.nft.json +1 -0
  30. package/.next/server/app/api/ask/answer/route_client-reference-manifest.js +1 -0
  31. package/.next/server/app/api/ask/route.js +1 -0
  32. package/.next/server/app/api/ask/route.js.nft.json +1 -0
  33. package/.next/server/app/api/ask/route_client-reference-manifest.js +1 -0
  34. package/.next/server/app/api/ask/verdict/route.js +1 -0
  35. package/.next/server/app/api/ask/verdict/route.js.nft.json +1 -0
  36. package/.next/server/app/api/ask/verdict/route_client-reference-manifest.js +1 -0
  37. package/.next/server/app/api/board-annotations/[id]/route.js +1 -1
  38. package/.next/server/app/api/board-annotations/route.js +1 -1
  39. package/.next/server/app/api/board-layout/route.js +1 -1
  40. package/.next/server/app/api/bug-flags/[id]/route.js +1 -1
  41. package/.next/server/app/api/bug-flags/route.js +1 -1
  42. package/.next/server/app/api/changes/comment/answer/route.js +4 -0
  43. package/.next/server/app/api/changes/comment/answer/route.js.nft.json +1 -0
  44. package/.next/server/app/api/changes/comment/answer/route_client-reference-manifest.js +1 -0
  45. package/.next/server/app/api/changes/comment/claim/route.js +4 -1
  46. package/.next/server/app/api/changes/comment/route.js +4 -1
  47. package/.next/server/app/api/changes/quality/route.js +1 -1
  48. package/.next/server/app/api/changes/route.js +1 -1
  49. package/.next/server/app/api/changes/viewed/route.js +1 -1
  50. package/.next/server/app/api/code-graph/position/route.js +1 -1
  51. package/.next/server/app/api/code-graph/route.js +1 -1
  52. package/.next/server/app/api/context/feature/route.js +1 -1
  53. package/.next/server/app/api/context/file/route.js +1 -1
  54. package/.next/server/app/api/context/route.js +1 -1
  55. package/.next/server/app/api/db/arrange/route.js +1 -1
  56. package/.next/server/app/api/db/backfill-access/route.js +1 -1
  57. package/.next/server/app/api/db/position/route.js +1 -1
  58. package/.next/server/app/api/db/prune-planned/route.js +1 -1
  59. package/.next/server/app/api/db/reconcile-endpoints/route.js +1 -1
  60. package/.next/server/app/api/db/relations/[id]/route.js +1 -1
  61. package/.next/server/app/api/db/tables/[id]/route.js +1 -1
  62. package/.next/server/app/api/draft/approve/route.js +1 -1
  63. package/.next/server/app/api/draft/route.js +1 -1
  64. package/.next/server/app/api/draft/status/route.js +1 -1
  65. package/.next/server/app/api/edges/[id]/route.js +1 -1
  66. package/.next/server/app/api/edges/route.js +1 -1
  67. package/.next/server/app/api/endpoints/[id]/route.js +1 -1
  68. package/.next/server/app/api/entities/route.js +1 -1
  69. package/.next/server/app/api/ingest/route.js +1 -1
  70. package/.next/server/app/api/init/route.js +1 -1
  71. package/.next/server/app/api/lesson/close/route.js +1 -1
  72. package/.next/server/app/api/lesson/presence/route.js +1 -1
  73. package/.next/server/app/api/lesson/questions/route.js +1 -1
  74. package/.next/server/app/api/lesson/route.js +1 -1
  75. package/.next/server/app/api/lesson/save/route.js +1 -1
  76. package/.next/server/app/api/lesson/verdict/route.js +1 -1
  77. package/.next/server/app/api/map/describe/route.js +1 -1
  78. package/.next/server/app/api/map/files/route.js +1 -1
  79. package/.next/server/app/api/map/finish/route.js +1 -1
  80. package/.next/server/app/api/map/route.js +1 -1
  81. package/.next/server/app/api/map/start/route.js +1 -1
  82. package/.next/server/app/api/map/touch-active/route.js +1 -1
  83. package/.next/server/app/api/mention-search/route.js +1 -1
  84. package/.next/server/app/api/nodes/[id]/position/route.js +1 -1
  85. package/.next/server/app/api/nodes/[id]/route.js +1 -1
  86. package/.next/server/app/api/nodes/positions/route.js +1 -1
  87. package/.next/server/app/api/nodes/route.js +1 -1
  88. package/.next/server/app/api/nodes/subtasks/route.js +1 -1
  89. package/.next/server/app/api/notes/[id]/route.js +1 -1
  90. package/.next/server/app/api/notes/route.js +1 -1
  91. package/.next/server/app/api/open/route.js +1 -1
  92. package/.next/server/app/api/plan/annotations/route.js +3 -3
  93. package/.next/server/app/api/plan/approve/route.js +1 -1
  94. package/.next/server/app/api/plan/history/route.js +1 -1
  95. package/.next/server/app/api/plan/markdown/route.js +1 -1
  96. package/.next/server/app/api/plan/presence/route.js +1 -1
  97. package/.next/server/app/api/plan/route.js +1 -1
  98. package/.next/server/app/api/plan/verdict/route.js +1 -1
  99. package/.next/server/app/api/preferences/route.js +1 -1
  100. package/.next/server/app/api/project-meta/route.js +1 -1
  101. package/.next/server/app/api/reset/route.js +1 -1
  102. package/.next/server/app/api/scope-guard/check/route.js +4 -1
  103. package/.next/server/app/api/share/create/route.js +1 -1
  104. package/.next/server/app/api/share/route.js +1 -1
  105. package/.next/server/app/api/stream/route.js +2 -2
  106. package/.next/server/app/api/tab/nav/route.js +1 -1
  107. package/.next/server/app/api/tab/presence/route.js +1 -1
  108. package/.next/server/app/api/telemetry/route.js +1 -1
  109. package/.next/server/app/api/telemetry/stats/route.js +1 -1
  110. package/.next/server/app/api/version/route.js +1 -1
  111. package/.next/server/app/api/workspace/activate/route.js +1 -1
  112. package/.next/server/app/api/workspace/route.js +1 -1
  113. package/.next/server/app/apple-icon.png/route.js +1 -1
  114. package/.next/server/app/docs/page.js +2 -2
  115. package/.next/server/app/docs/page.js.nft.json +1 -1
  116. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  117. package/.next/server/app/docs.html +1 -1
  118. package/.next/server/app/docs.rsc +24 -23
  119. package/.next/server/app/docs.segments/_full.segment.rsc +24 -23
  120. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  121. package/.next/server/app/docs.segments/_index.segment.rsc +12 -11
  122. package/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
  123. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  124. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  125. package/.next/server/app/help/page.js +2 -2
  126. package/.next/server/app/help/page.js.nft.json +1 -1
  127. package/.next/server/app/help/page_client-reference-manifest.js +1 -1
  128. package/.next/server/app/help.html +1 -1
  129. package/.next/server/app/help.rsc +32 -31
  130. package/.next/server/app/help.segments/_full.segment.rsc +32 -31
  131. package/.next/server/app/help.segments/_head.segment.rsc +1 -1
  132. package/.next/server/app/help.segments/_index.segment.rsc +12 -11
  133. package/.next/server/app/help.segments/_tree.segment.rsc +2 -2
  134. package/.next/server/app/help.segments/help/__PAGE__.segment.rsc +1 -1
  135. package/.next/server/app/help.segments/help.segment.rsc +1 -1
  136. package/.next/server/app/icon.svg/route.js +1 -1
  137. package/.next/server/app/index.html +1 -1
  138. package/.next/server/app/index.rsc +22 -21
  139. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  140. package/.next/server/app/index.segments/_full.segment.rsc +22 -21
  141. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  142. package/.next/server/app/index.segments/_index.segment.rsc +12 -11
  143. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  144. package/.next/server/app/learn/page.js +4 -4
  145. package/.next/server/app/learn/page.js.nft.json +1 -1
  146. package/.next/server/app/learn/page_client-reference-manifest.js +1 -1
  147. package/.next/server/app/map/page.js +2 -2
  148. package/.next/server/app/map/page.js.nft.json +1 -1
  149. package/.next/server/app/map/page_client-reference-manifest.js +1 -1
  150. package/.next/server/app/page.js +2 -2
  151. package/.next/server/app/page.js.nft.json +1 -1
  152. package/.next/server/app/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/plan/page.js +3 -3
  154. package/.next/server/app/plan/page.js.nft.json +1 -1
  155. package/.next/server/app/plan/page_client-reference-manifest.js +1 -1
  156. package/.next/server/app/s/[token]/page.js +2 -2
  157. package/.next/server/app/s/[token]/page.js.nft.json +1 -1
  158. package/.next/server/app/s/[token]/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/settings/page.js +2 -2
  160. package/.next/server/app/settings/page.js.nft.json +1 -1
  161. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app-paths-manifest.json +26 -22
  163. package/.next/server/chunks/1179.js +1 -0
  164. package/.next/server/chunks/2031.js +1 -0
  165. package/.next/server/chunks/2693.js +5 -2
  166. package/.next/server/chunks/374.js +1 -0
  167. package/.next/server/chunks/4378.js +1 -1
  168. package/.next/server/chunks/5295.js +1 -0
  169. package/.next/server/chunks/{4700.js → 5704.js} +2 -2
  170. package/.next/server/chunks/8227.js +1 -1
  171. package/.next/server/chunks/9683.js +1 -1
  172. package/.next/server/middleware-build-manifest.js +1 -1
  173. package/.next/server/pages/404.html +1 -1
  174. package/.next/server/pages/500.html +1 -1
  175. package/.next/server/server-reference-manifest.js +1 -1
  176. package/.next/server/server-reference-manifest.json +1 -1
  177. package/.next/static/chunks/1072-351ce2030dee0f4e.js +1 -0
  178. package/.next/static/chunks/3908-80efc60050779adf.js +1 -0
  179. package/.next/static/chunks/5697-5b9719b81806b4cf.js +1 -0
  180. package/.next/static/chunks/7424-d7fa15ef452064dd.js +1 -0
  181. package/.next/static/chunks/app/_global-error/page-d54a69e7dc6b4008.js +1 -0
  182. package/.next/static/chunks/app/api/ask/answer/route-d54a69e7dc6b4008.js +1 -0
  183. package/.next/static/chunks/app/api/ask/route-d54a69e7dc6b4008.js +1 -0
  184. package/.next/static/chunks/app/api/ask/verdict/route-d54a69e7dc6b4008.js +1 -0
  185. package/.next/static/chunks/app/api/board-annotations/[id]/route-d54a69e7dc6b4008.js +1 -0
  186. package/.next/static/chunks/app/api/board-annotations/route-d54a69e7dc6b4008.js +1 -0
  187. package/.next/static/chunks/app/api/board-layout/route-d54a69e7dc6b4008.js +1 -0
  188. package/.next/static/chunks/app/api/bug-flags/[id]/route-d54a69e7dc6b4008.js +1 -0
  189. package/.next/static/chunks/app/api/bug-flags/route-d54a69e7dc6b4008.js +1 -0
  190. package/.next/static/chunks/app/api/changes/comment/answer/route-d54a69e7dc6b4008.js +1 -0
  191. package/.next/static/chunks/app/api/changes/comment/claim/route-d54a69e7dc6b4008.js +1 -0
  192. package/.next/static/chunks/app/api/changes/comment/route-d54a69e7dc6b4008.js +1 -0
  193. package/.next/static/chunks/app/api/changes/quality/route-d54a69e7dc6b4008.js +1 -0
  194. package/.next/static/chunks/app/api/changes/route-d54a69e7dc6b4008.js +1 -0
  195. package/.next/static/chunks/app/api/changes/viewed/route-d54a69e7dc6b4008.js +1 -0
  196. package/.next/static/chunks/app/api/code-graph/position/route-d54a69e7dc6b4008.js +1 -0
  197. package/.next/static/chunks/app/api/code-graph/route-d54a69e7dc6b4008.js +1 -0
  198. package/.next/static/chunks/app/api/context/feature/route-d54a69e7dc6b4008.js +1 -0
  199. package/.next/static/chunks/app/api/context/file/route-d54a69e7dc6b4008.js +1 -0
  200. package/.next/static/chunks/app/api/context/route-d54a69e7dc6b4008.js +1 -0
  201. package/.next/static/chunks/app/api/db/arrange/route-d54a69e7dc6b4008.js +1 -0
  202. package/.next/static/chunks/app/api/db/backfill-access/route-d54a69e7dc6b4008.js +1 -0
  203. package/.next/static/chunks/app/api/db/position/route-d54a69e7dc6b4008.js +1 -0
  204. package/.next/static/chunks/app/api/db/prune-planned/route-d54a69e7dc6b4008.js +1 -0
  205. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-d54a69e7dc6b4008.js +1 -0
  206. package/.next/static/chunks/app/api/db/relations/[id]/route-d54a69e7dc6b4008.js +1 -0
  207. package/.next/static/chunks/app/api/db/tables/[id]/route-d54a69e7dc6b4008.js +1 -0
  208. package/.next/static/chunks/app/api/draft/approve/route-d54a69e7dc6b4008.js +1 -0
  209. package/.next/static/chunks/app/api/draft/route-d54a69e7dc6b4008.js +1 -0
  210. package/.next/static/chunks/app/api/draft/status/route-d54a69e7dc6b4008.js +1 -0
  211. package/.next/static/chunks/app/api/edges/[id]/route-d54a69e7dc6b4008.js +1 -0
  212. package/.next/static/chunks/app/api/edges/route-d54a69e7dc6b4008.js +1 -0
  213. package/.next/static/chunks/app/api/endpoints/[id]/route-d54a69e7dc6b4008.js +1 -0
  214. package/.next/static/chunks/app/api/entities/route-d54a69e7dc6b4008.js +1 -0
  215. package/.next/static/chunks/app/api/ingest/route-d54a69e7dc6b4008.js +1 -0
  216. package/.next/static/chunks/app/api/init/route-d54a69e7dc6b4008.js +1 -0
  217. package/.next/static/chunks/app/api/lesson/close/route-d54a69e7dc6b4008.js +1 -0
  218. package/.next/static/chunks/app/api/lesson/presence/route-d54a69e7dc6b4008.js +1 -0
  219. package/.next/static/chunks/app/api/lesson/questions/route-d54a69e7dc6b4008.js +1 -0
  220. package/.next/static/chunks/app/api/lesson/route-d54a69e7dc6b4008.js +1 -0
  221. package/.next/static/chunks/app/api/lesson/save/route-d54a69e7dc6b4008.js +1 -0
  222. package/.next/static/chunks/app/api/lesson/verdict/route-d54a69e7dc6b4008.js +1 -0
  223. package/.next/static/chunks/app/api/map/describe/route-d54a69e7dc6b4008.js +1 -0
  224. package/.next/static/chunks/app/api/map/files/route-d54a69e7dc6b4008.js +1 -0
  225. package/.next/static/chunks/app/api/map/finish/route-d54a69e7dc6b4008.js +1 -0
  226. package/.next/static/chunks/app/api/map/route-d54a69e7dc6b4008.js +1 -0
  227. package/.next/static/chunks/app/api/map/start/route-d54a69e7dc6b4008.js +1 -0
  228. package/.next/static/chunks/app/api/map/touch-active/route-d54a69e7dc6b4008.js +1 -0
  229. package/.next/static/chunks/app/api/mention-search/route-d54a69e7dc6b4008.js +1 -0
  230. package/.next/static/chunks/app/api/nodes/[id]/position/route-d54a69e7dc6b4008.js +1 -0
  231. package/.next/static/chunks/app/api/nodes/[id]/route-d54a69e7dc6b4008.js +1 -0
  232. package/.next/static/chunks/app/api/nodes/positions/route-d54a69e7dc6b4008.js +1 -0
  233. package/.next/static/chunks/app/api/nodes/route-d54a69e7dc6b4008.js +1 -0
  234. package/.next/static/chunks/app/api/nodes/subtasks/route-d54a69e7dc6b4008.js +1 -0
  235. package/.next/static/chunks/app/api/notes/[id]/route-d54a69e7dc6b4008.js +1 -0
  236. package/.next/static/chunks/app/api/notes/route-d54a69e7dc6b4008.js +1 -0
  237. package/.next/static/chunks/app/api/open/route-d54a69e7dc6b4008.js +1 -0
  238. package/.next/static/chunks/app/api/plan/annotations/route-d54a69e7dc6b4008.js +1 -0
  239. package/.next/static/chunks/app/api/plan/approve/route-d54a69e7dc6b4008.js +1 -0
  240. package/.next/static/chunks/app/api/plan/history/route-d54a69e7dc6b4008.js +1 -0
  241. package/.next/static/chunks/app/api/plan/markdown/route-d54a69e7dc6b4008.js +1 -0
  242. package/.next/static/chunks/app/api/plan/presence/route-d54a69e7dc6b4008.js +1 -0
  243. package/.next/static/chunks/app/api/plan/route-d54a69e7dc6b4008.js +1 -0
  244. package/.next/static/chunks/app/api/plan/verdict/route-d54a69e7dc6b4008.js +1 -0
  245. package/.next/static/chunks/app/api/preferences/route-d54a69e7dc6b4008.js +1 -0
  246. package/.next/static/chunks/app/api/project-meta/route-d54a69e7dc6b4008.js +1 -0
  247. package/.next/static/chunks/app/api/reset/route-d54a69e7dc6b4008.js +1 -0
  248. package/.next/static/chunks/app/api/scope-guard/check/route-d54a69e7dc6b4008.js +1 -0
  249. package/.next/static/chunks/app/api/share/create/route-d54a69e7dc6b4008.js +1 -0
  250. package/.next/static/chunks/app/api/share/route-d54a69e7dc6b4008.js +1 -0
  251. package/.next/static/chunks/app/api/stream/route-d54a69e7dc6b4008.js +1 -0
  252. package/.next/static/chunks/app/api/tab/nav/route-d54a69e7dc6b4008.js +1 -0
  253. package/.next/static/chunks/app/api/tab/presence/route-d54a69e7dc6b4008.js +1 -0
  254. package/.next/static/chunks/app/api/telemetry/route-d54a69e7dc6b4008.js +1 -0
  255. package/.next/static/chunks/app/api/telemetry/stats/route-d54a69e7dc6b4008.js +1 -0
  256. package/.next/static/chunks/app/api/version/route-d54a69e7dc6b4008.js +1 -0
  257. package/.next/static/chunks/app/api/workspace/activate/route-d54a69e7dc6b4008.js +1 -0
  258. package/.next/static/chunks/app/api/workspace/route-d54a69e7dc6b4008.js +1 -0
  259. package/.next/static/chunks/app/layout-f908dc26e06f4302.js +1 -0
  260. package/.next/static/chunks/app/learn/{page-a14eaf5143e2df55.js → page-454e91fdcd29a1ee.js} +1 -1
  261. package/.next/static/chunks/app/map/{page-06282017c592fb3c.js → page-66f3cac308b215a7.js} +1 -1
  262. package/.next/static/chunks/app/plan/page-63b2f0d1f090f26f.js +11 -0
  263. package/.next/static/chunks/app/s/[token]/{page-a4deb16beff21840.js → page-6be414f07f63a402.js} +1 -1
  264. package/.next/static/chunks/app/settings/{page-67cab634be8bfef2.js → page-a751eabdd933f685.js} +1 -1
  265. package/.next/static/chunks/next/dist/client/components/builtin/app-error-d54a69e7dc6b4008.js +1 -0
  266. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-d54a69e7dc6b4008.js +1 -0
  267. package/.next/static/chunks/next/dist/client/components/builtin/not-found-d54a69e7dc6b4008.js +1 -0
  268. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d54a69e7dc6b4008.js +1 -0
  269. package/.next/static/css/60048003a8c96562.css +1 -0
  270. package/.next/static/ldWTvBCY5D7kyH8PMAEWm/_buildManifest.js +1 -0
  271. package/.next/trace +46 -45
  272. package/.next/trace-build +1 -1
  273. package/.next/types/app/api/ask/answer/route.ts +351 -0
  274. package/.next/types/app/api/ask/route.ts +351 -0
  275. package/.next/types/app/api/ask/verdict/route.ts +351 -0
  276. package/.next/types/app/api/changes/comment/answer/route.ts +351 -0
  277. package/.next/types/routes.d.ts +5 -1
  278. package/.next/types/validator.ts +36 -0
  279. package/dist/bin/answer.js +8 -0
  280. package/dist/bin/ask.js +5 -0
  281. package/dist/bin/beacon.js +5 -5
  282. package/dist/bin/doctor.js +20 -20
  283. package/dist/bin/guard.js +1 -1
  284. package/dist/bin/hook.js +20 -20
  285. package/dist/bin/mcp.js +32 -32
  286. package/dist/bin/plan.js +18 -18
  287. package/dist/bin/remove.js +6 -6
  288. package/dist/bin/stop-hook.js +7 -3
  289. package/dist/bin/uninstall.js +20 -20
  290. package/dist/lib/global-install.js +1 -1
  291. package/dist/lib/telemetry.js +1 -1
  292. package/dist/lib/workspaces.js +1 -1
  293. package/package.json +1 -1
  294. package/.next/server/chunks/4307.js +0 -1
  295. package/.next/server/chunks/5719.js +0 -1
  296. package/.next/server/chunks/8190.js +0 -1
  297. package/.next/static/chunks/2231-63ad38ec8fb7cb6f.js +0 -1
  298. package/.next/static/chunks/5909-387573cddda35a48.js +0 -1
  299. package/.next/static/chunks/766-242213d211df0afd.js +0 -1
  300. package/.next/static/chunks/8997-78a359d0d238622e.js +0 -1
  301. package/.next/static/chunks/app/_global-error/page-5f4c3e6e9cc8e6c9.js +0 -1
  302. package/.next/static/chunks/app/api/board-annotations/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  303. package/.next/static/chunks/app/api/board-annotations/route-5f4c3e6e9cc8e6c9.js +0 -1
  304. package/.next/static/chunks/app/api/board-layout/route-5f4c3e6e9cc8e6c9.js +0 -1
  305. package/.next/static/chunks/app/api/bug-flags/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  306. package/.next/static/chunks/app/api/bug-flags/route-5f4c3e6e9cc8e6c9.js +0 -1
  307. package/.next/static/chunks/app/api/changes/comment/claim/route-5f4c3e6e9cc8e6c9.js +0 -1
  308. package/.next/static/chunks/app/api/changes/comment/route-5f4c3e6e9cc8e6c9.js +0 -1
  309. package/.next/static/chunks/app/api/changes/quality/route-5f4c3e6e9cc8e6c9.js +0 -1
  310. package/.next/static/chunks/app/api/changes/route-5f4c3e6e9cc8e6c9.js +0 -1
  311. package/.next/static/chunks/app/api/changes/viewed/route-5f4c3e6e9cc8e6c9.js +0 -1
  312. package/.next/static/chunks/app/api/code-graph/position/route-5f4c3e6e9cc8e6c9.js +0 -1
  313. package/.next/static/chunks/app/api/code-graph/route-5f4c3e6e9cc8e6c9.js +0 -1
  314. package/.next/static/chunks/app/api/context/feature/route-5f4c3e6e9cc8e6c9.js +0 -1
  315. package/.next/static/chunks/app/api/context/file/route-5f4c3e6e9cc8e6c9.js +0 -1
  316. package/.next/static/chunks/app/api/context/route-5f4c3e6e9cc8e6c9.js +0 -1
  317. package/.next/static/chunks/app/api/db/arrange/route-5f4c3e6e9cc8e6c9.js +0 -1
  318. package/.next/static/chunks/app/api/db/backfill-access/route-5f4c3e6e9cc8e6c9.js +0 -1
  319. package/.next/static/chunks/app/api/db/position/route-5f4c3e6e9cc8e6c9.js +0 -1
  320. package/.next/static/chunks/app/api/db/prune-planned/route-5f4c3e6e9cc8e6c9.js +0 -1
  321. package/.next/static/chunks/app/api/db/reconcile-endpoints/route-5f4c3e6e9cc8e6c9.js +0 -1
  322. package/.next/static/chunks/app/api/db/relations/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  323. package/.next/static/chunks/app/api/db/tables/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  324. package/.next/static/chunks/app/api/draft/approve/route-5f4c3e6e9cc8e6c9.js +0 -1
  325. package/.next/static/chunks/app/api/draft/route-5f4c3e6e9cc8e6c9.js +0 -1
  326. package/.next/static/chunks/app/api/draft/status/route-5f4c3e6e9cc8e6c9.js +0 -1
  327. package/.next/static/chunks/app/api/edges/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  328. package/.next/static/chunks/app/api/edges/route-5f4c3e6e9cc8e6c9.js +0 -1
  329. package/.next/static/chunks/app/api/endpoints/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  330. package/.next/static/chunks/app/api/entities/route-5f4c3e6e9cc8e6c9.js +0 -1
  331. package/.next/static/chunks/app/api/ingest/route-5f4c3e6e9cc8e6c9.js +0 -1
  332. package/.next/static/chunks/app/api/init/route-5f4c3e6e9cc8e6c9.js +0 -1
  333. package/.next/static/chunks/app/api/lesson/close/route-5f4c3e6e9cc8e6c9.js +0 -1
  334. package/.next/static/chunks/app/api/lesson/presence/route-5f4c3e6e9cc8e6c9.js +0 -1
  335. package/.next/static/chunks/app/api/lesson/questions/route-5f4c3e6e9cc8e6c9.js +0 -1
  336. package/.next/static/chunks/app/api/lesson/route-5f4c3e6e9cc8e6c9.js +0 -1
  337. package/.next/static/chunks/app/api/lesson/save/route-5f4c3e6e9cc8e6c9.js +0 -1
  338. package/.next/static/chunks/app/api/lesson/verdict/route-5f4c3e6e9cc8e6c9.js +0 -1
  339. package/.next/static/chunks/app/api/map/describe/route-5f4c3e6e9cc8e6c9.js +0 -1
  340. package/.next/static/chunks/app/api/map/files/route-5f4c3e6e9cc8e6c9.js +0 -1
  341. package/.next/static/chunks/app/api/map/finish/route-5f4c3e6e9cc8e6c9.js +0 -1
  342. package/.next/static/chunks/app/api/map/route-5f4c3e6e9cc8e6c9.js +0 -1
  343. package/.next/static/chunks/app/api/map/start/route-5f4c3e6e9cc8e6c9.js +0 -1
  344. package/.next/static/chunks/app/api/map/touch-active/route-5f4c3e6e9cc8e6c9.js +0 -1
  345. package/.next/static/chunks/app/api/mention-search/route-5f4c3e6e9cc8e6c9.js +0 -1
  346. package/.next/static/chunks/app/api/nodes/[id]/position/route-5f4c3e6e9cc8e6c9.js +0 -1
  347. package/.next/static/chunks/app/api/nodes/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  348. package/.next/static/chunks/app/api/nodes/positions/route-5f4c3e6e9cc8e6c9.js +0 -1
  349. package/.next/static/chunks/app/api/nodes/route-5f4c3e6e9cc8e6c9.js +0 -1
  350. package/.next/static/chunks/app/api/nodes/subtasks/route-5f4c3e6e9cc8e6c9.js +0 -1
  351. package/.next/static/chunks/app/api/notes/[id]/route-5f4c3e6e9cc8e6c9.js +0 -1
  352. package/.next/static/chunks/app/api/notes/route-5f4c3e6e9cc8e6c9.js +0 -1
  353. package/.next/static/chunks/app/api/open/route-5f4c3e6e9cc8e6c9.js +0 -1
  354. package/.next/static/chunks/app/api/plan/annotations/route-5f4c3e6e9cc8e6c9.js +0 -1
  355. package/.next/static/chunks/app/api/plan/approve/route-5f4c3e6e9cc8e6c9.js +0 -1
  356. package/.next/static/chunks/app/api/plan/history/route-5f4c3e6e9cc8e6c9.js +0 -1
  357. package/.next/static/chunks/app/api/plan/markdown/route-5f4c3e6e9cc8e6c9.js +0 -1
  358. package/.next/static/chunks/app/api/plan/presence/route-5f4c3e6e9cc8e6c9.js +0 -1
  359. package/.next/static/chunks/app/api/plan/route-5f4c3e6e9cc8e6c9.js +0 -1
  360. package/.next/static/chunks/app/api/plan/verdict/route-5f4c3e6e9cc8e6c9.js +0 -1
  361. package/.next/static/chunks/app/api/preferences/route-5f4c3e6e9cc8e6c9.js +0 -1
  362. package/.next/static/chunks/app/api/project-meta/route-5f4c3e6e9cc8e6c9.js +0 -1
  363. package/.next/static/chunks/app/api/reset/route-5f4c3e6e9cc8e6c9.js +0 -1
  364. package/.next/static/chunks/app/api/scope-guard/check/route-5f4c3e6e9cc8e6c9.js +0 -1
  365. package/.next/static/chunks/app/api/share/create/route-5f4c3e6e9cc8e6c9.js +0 -1
  366. package/.next/static/chunks/app/api/share/route-5f4c3e6e9cc8e6c9.js +0 -1
  367. package/.next/static/chunks/app/api/stream/route-5f4c3e6e9cc8e6c9.js +0 -1
  368. package/.next/static/chunks/app/api/tab/nav/route-5f4c3e6e9cc8e6c9.js +0 -1
  369. package/.next/static/chunks/app/api/tab/presence/route-5f4c3e6e9cc8e6c9.js +0 -1
  370. package/.next/static/chunks/app/api/telemetry/route-5f4c3e6e9cc8e6c9.js +0 -1
  371. package/.next/static/chunks/app/api/telemetry/stats/route-5f4c3e6e9cc8e6c9.js +0 -1
  372. package/.next/static/chunks/app/api/version/route-5f4c3e6e9cc8e6c9.js +0 -1
  373. package/.next/static/chunks/app/api/workspace/activate/route-5f4c3e6e9cc8e6c9.js +0 -1
  374. package/.next/static/chunks/app/api/workspace/route-5f4c3e6e9cc8e6c9.js +0 -1
  375. package/.next/static/chunks/app/layout-6e934a2850efd223.js +0 -1
  376. package/.next/static/chunks/app/plan/page-41a3990cb858c5f2.js +0 -11
  377. package/.next/static/chunks/next/dist/client/components/builtin/app-error-5f4c3e6e9cc8e6c9.js +0 -1
  378. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-5f4c3e6e9cc8e6c9.js +0 -1
  379. package/.next/static/chunks/next/dist/client/components/builtin/not-found-5f4c3e6e9cc8e6c9.js +0 -1
  380. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-5f4c3e6e9cc8e6c9.js +0 -1
  381. package/.next/static/css/95dc31edc34789a7.css +0 -1
  382. package/.next/static/mB9lqGEsIvB7tTvv9GU48/_buildManifest.js +0 -1
  383. /package/.next/static/{mB9lqGEsIvB7tTvv9GU48 → ldWTvBCY5D7kyH8PMAEWm}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=4378,exports.ids=[4378],exports.modules={41631:(a,b,c)=>{c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(52856),e=c(99121);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},60455:(a,b,c)=>{c.d(b,{K4:()=>m,Nx:()=>j,UP:()=>n,Y2:()=>l,kO:()=>r,oW:()=>h,p1:()=>p});var d=c(16698);c(31421),c(77598);var e=c(73024),f=c(48161),g=c(76760);function h(){return process.env.BEACON_HOME||(0,g.join)((0,f.homedir)(),".beacon")}function i(a){return(0,g.join)(h(),a)}function j(a){return`file:${(0,g.join)(i(a),"db.sqlite")}`}function k(){try{let a=JSON.parse((0,e.readFileSync)((0,g.join)(h(),"workspaces.json"),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function l(){return k().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function m(a){return k().find(b=>b.id===a)??null}function n(){try{return(0,e.readFileSync)((0,g.join)(h(),"active"),"utf8").trim()||null}catch{return null}}let o=new d.AsyncLocalStorage;function p(){return o.getStore()??null}let q=new Set;async function r(a){let b=i(a),d=(0,g.join)(b,"db.sqlite"),f=(0,e.existsSync)(d);if(f&&q.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,e.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(6774),c.e(5362)]).then(c.bind(c,92981)),h=await g(j(a));return q.add(d),{ok:!0,created:!f,migrated:f&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},74378:(a,b,c)=>{c.a(a,async(a,d)=>{try{let n;c.d(b,{Lf:()=>l,db:()=>u,ensureDefaultDb:()=>m});var e=c(96774),f=c(28855),g=c(99121),h=c(41631),i=c(60455),j=a([f,e]);[f,e]=j.then?(await j)():j;let o={...g,...h},p=(n=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(n)?n:"file:./dev.db";function k(a){let b=(0,f.createClient)({url:a});return b.execute("PRAGMA foreign_keys = ON;"),b.execute("PRAGMA busy_timeout = 5000;"),(0,e.f)(b,{schema:o})}let q=globalThis,r=q.dzDefault??k(p),s=q.dzByUrl??=new Map;function l(a){let b=s.get(a);return b||(b=k(a),s.set(a,b)),b}let t=new Map;function m(a=p){if(!/^file:/i.test(a))return Promise.resolve();let b=t.get(a);return b||(b=c.e(2981).then(c.bind(c,92981)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{t.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),t.set(a,b)),b}let u=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return r;let a=(0,i.p1)()??(0,i.UP)();return a?l((0,i.Nx)(a)):r}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},99121:(a,b,c)=>{c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,planContract:()=>H,projectMeta:()=>F,syncState:()=>D,tag:()=>n,workspaceFlag:()=>G});var d=c(16360),e=c(14052),f=c(13429),g=c(57805),h=c(47591),i=c(18208),j=c(17530),k=c(7385);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),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"}),classificationRoots:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),G=(0,d.D)("WorkspaceFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),key:(0,e.Qq)().notNull(),enabled:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),config:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("WorkspaceFlag_key_key").on(a.key)]),H=(0,d.D)("PlanContract",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),planId:(0,e.Qq)().notNull(),declaredFiles:(0,e.Qq)().default("[]").notNull(),authorizedExtras:(0,e.Qq)().default("[]").notNull(),active:(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.GL)("PlanContract_planId_key").on(a.planId),(0,h.Pe)("PlanContract_active_idx").on(a.active)])}};
1
+ "use strict";exports.id=4378,exports.ids=[4378],exports.modules={41631:(a,b,c)=>{c.r(b),c.d(b,{bugFlagRelations:()=>h,codeFileEdgeRelations:()=>u,codeFileRelations:()=>t,dbColumnRelations:()=>m,dbRelationRelations:()=>n,dbTableRelations:()=>l,draftColumnRelations:()=>r,draftRelationRelations:()=>s,draftTableRelations:()=>q,edgeRelations:()=>k,endpointRelations:()=>o,endpointTableRelations:()=>p,nodeFileRelations:()=>g,nodeRelations:()=>f,nodeTagsRelations:()=>j,tagRelations:()=>i});var d=c(52856),e=c(99121);let f=(0,d.K1)(e.node,({one:a,many:b})=>({files:b(e.nodeFile),bugFlags:b(e.bugFlag),nodeTags:b(e.nodeTags),edgesOut:b(e.edge,{relationName:"EdgeFrom"}),edgesIn:b(e.edge,{relationName:"EdgeTo"}),parent:a(e.node,{fields:[e.node.parentId],references:[e.node.id],relationName:"NodeTree"}),children:b(e.node,{relationName:"NodeTree"})})),g=(0,d.K1)(e.nodeFile,({one:a})=>({node:a(e.node,{fields:[e.nodeFile.nodeId],references:[e.node.id]})})),h=(0,d.K1)(e.bugFlag,({one:a})=>({node:a(e.node,{fields:[e.bugFlag.nodeId],references:[e.node.id]})})),i=(0,d.K1)(e.tag,({many:a})=>({nodeTags:a(e.nodeTags)})),j=(0,d.K1)(e.nodeTags,({one:a})=>({node:a(e.node,{fields:[e.nodeTags.a],references:[e.node.id]}),tag:a(e.tag,{fields:[e.nodeTags.b],references:[e.tag.id]})})),k=(0,d.K1)(e.edge,({one:a})=>({from:a(e.node,{fields:[e.edge.fromId],references:[e.node.id],relationName:"EdgeFrom"}),to:a(e.node,{fields:[e.edge.toId],references:[e.node.id],relationName:"EdgeTo"})})),l=(0,d.K1)(e.dbTable,({many:a})=>({columns:a(e.dbColumn),fksOut:a(e.dbRelation,{relationName:"FkFrom"}),fksIn:a(e.dbRelation,{relationName:"FkTo"}),usages:a(e.endpointTable)})),m=(0,d.K1)(e.dbColumn,({one:a})=>({table:a(e.dbTable,{fields:[e.dbColumn.tableId],references:[e.dbTable.id]})})),n=(0,d.K1)(e.dbRelation,({one:a})=>({fromTable:a(e.dbTable,{fields:[e.dbRelation.fromTableId],references:[e.dbTable.id],relationName:"FkFrom"}),toTable:a(e.dbTable,{fields:[e.dbRelation.toTableId],references:[e.dbTable.id],relationName:"FkTo"})})),o=(0,d.K1)(e.endpoint,({many:a})=>({tables:a(e.endpointTable)})),p=(0,d.K1)(e.endpointTable,({one:a})=>({endpoint:a(e.endpoint,{fields:[e.endpointTable.endpointId],references:[e.endpoint.id]}),table:a(e.dbTable,{fields:[e.endpointTable.tableId],references:[e.dbTable.id]})})),q=(0,d.K1)(e.draftTable,({many:a})=>({columns:a(e.draftColumn),fksOut:a(e.draftRelation,{relationName:"DraftFkFrom"}),fksIn:a(e.draftRelation,{relationName:"DraftFkTo"})})),r=(0,d.K1)(e.draftColumn,({one:a})=>({table:a(e.draftTable,{fields:[e.draftColumn.tableId],references:[e.draftTable.id]})})),s=(0,d.K1)(e.draftRelation,({one:a})=>({fromTable:a(e.draftTable,{fields:[e.draftRelation.fromTableId],references:[e.draftTable.id],relationName:"DraftFkFrom"}),toTable:a(e.draftTable,{fields:[e.draftRelation.toTableId],references:[e.draftTable.id],relationName:"DraftFkTo"})})),t=(0,d.K1)(e.codeFile,({many:a})=>({edgesOut:a(e.codeFileEdge,{relationName:"CFEFrom"}),edgesIn:a(e.codeFileEdge,{relationName:"CFETo"})})),u=(0,d.K1)(e.codeFileEdge,({one:a})=>({fromFile:a(e.codeFile,{fields:[e.codeFileEdge.fromPath],references:[e.codeFile.path],relationName:"CFEFrom"}),toFile:a(e.codeFile,{fields:[e.codeFileEdge.toPath],references:[e.codeFile.path],relationName:"CFETo"})}))},60455:(a,b,c)=>{c.d(b,{K4:()=>m,Nx:()=>j,UP:()=>n,Y2:()=>l,kO:()=>r,oW:()=>h,p1:()=>p});var d=c(16698);c(31421),c(77598);var e=c(73024),f=c(48161),g=c(76760);function h(){return process.env.BEACON_HOME||(0,g.join)((0,f.homedir)(),".beacon")}function i(a){return(0,g.join)(h(),a)}function j(a){return`file:${(0,g.join)(i(a),"db.sqlite")}`}function k(){try{let a=JSON.parse((0,e.readFileSync)((0,g.join)(h(),"workspaces.json"),"utf8"));return Array.isArray(a)?a:[]}catch{return[]}}function l(){return k().sort((a,b)=>b.lastOpenedAt.localeCompare(a.lastOpenedAt))}function m(a){return k().find(b=>b.id===a)??null}function n(){try{return(0,e.readFileSync)((0,g.join)(h(),"active"),"utf8").trim()||null}catch{return null}}let o=new d.AsyncLocalStorage;function p(){return o.getStore()??null}let q=new Set;async function r(a){let b=i(a),d=(0,g.join)(b,"db.sqlite"),f=(0,e.existsSync)(d);if(f&&q.has(d))return{ok:!0,created:!1,migrated:!1};try{(0,e.mkdirSync)(b,{recursive:!0});let{provisionDb:g}=await Promise.all([c.e(6774),c.e(5362)]).then(c.bind(c,92981)),h=await g(j(a));return q.add(d),{ok:!0,created:!f,migrated:f&&h.migrated}}catch(a){return{ok:!1,created:!1,migrated:!1,error:a instanceof Error?a.message:String(a)}}}},74378:(a,b,c)=>{c.a(a,async(a,d)=>{try{let m;c.d(b,{Lf:()=>k,db:()=>s,ensureDefaultDb:()=>l});var e=c(96774),f=c(28855),g=c(99121),h=c(41631),i=c(60455),j=a([f,e]);[f,e]=j.then?(await j)():j;let n={...g,...h},o=(m=process.env.DATABASE_URL)&&/^(file:|libsql:|wss?:|https?:|:memory:)/i.test(m)?m:"file:./dev.db",p=globalThis,q=p.dzByUrl??=new Map;function k(a){let b=q.get(a);if(!b){let c;(c=(0,f.createClient)({url:a})).execute("PRAGMA foreign_keys = ON;"),c.execute("PRAGMA busy_timeout = 5000;"),b=(0,e.f)(c,{schema:n}),q.set(a,b)}return b}let r=new Map;function l(a=o){if(!/^file:/i.test(a))return Promise.resolve();let b=r.get(a);return b||(b=c.e(2981).then(c.bind(c,92981)).then(({provisionDb:b})=>b(a)).then(()=>{}).catch(b=>{r.delete(a),console.error("[beacon] fallback db provision failed:",b instanceof Error?b.message:b)}),r.set(a,b)),b}let s=new Proxy({},{get(a,b){let c=function(){if(process.env.BEACON_REPO)return k(o);let a=(0,i.p1)()??(0,i.UP)();return a?k((0,i.Nx)(a)):k(o)}(),d=c[b];return"function"==typeof d?d.bind(c):d}});d()}catch(a){d(a)}})},99121:(a,b,c)=>{c.r(b),c.d(b,{appSetting:()=>E,boardAnnotation:()=>r,bugFlag:()=>s,codeFile:()=>B,codeFileEdge:()=>C,dbColumn:()=>u,dbRelation:()=>v,dbTable:()=>t,draftColumn:()=>z,draftRelation:()=>A,draftTable:()=>y,edge:()=>o,endpoint:()=>w,endpointTable:()=>x,node:()=>l,nodeFile:()=>m,nodeTags:()=>p,note:()=>q,planContract:()=>H,projectMeta:()=>F,syncState:()=>D,tag:()=>n,workspaceFlag:()=>G});var d=c(16360),e=c(14052),f=c(13429),g=c(57805),h=c(47591),i=c(18208),j=c(17530),k=c(7385);let l=(0,d.D)("Node",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),view:(0,e.Qq)().notNull(),kind:(0,e.Qq)().default("FEATURE").notNull(),cluster:(0,e.Qq)(),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"}),classificationRoots:(0,e.Qq)().default("[]").notNull(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)}),G=(0,d.D)("WorkspaceFlag",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),key:(0,e.Qq)().notNull(),enabled:(0,f.nd)({mode:"boolean"}).default(!1).notNull(),config:(0,e.Qq)(),updatedAt:(0,f.nd)({mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date).$onUpdate(()=>new Date)},a=>[(0,h.GL)("WorkspaceFlag_key_key").on(a.key)]),H=(0,d.D)("PlanContract",{id:(0,e.Qq)().primaryKey().$defaultFn(()=>(0,k.sX)()),planId:(0,e.Qq)().notNull(),declaredFiles:(0,e.Qq)().default("[]").notNull(),authorizedExtras:(0,e.Qq)().default("[]").notNull(),active:(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.GL)("PlanContract_planId_key").on(a.planId),(0,h.Pe)("PlanContract_active_idx").on(a.active)])}};
@@ -0,0 +1 @@
1
+ exports.id=5295,exports.ids=[5295],exports.modules={5547:(a,b,c)=>{"use strict";c.d(b,{NotesDrawer:()=>B});var d=c(48249),e=c(67484),f=c(92361),g=c(69473),h=c(45535),i=c(39470),j=c(52066),k=c(57684),l=c(48779),m=c(13191),n=c(18252),o=c(92329),p=c(82359),q=c(99086),r=c(18201),s=c(81965),t=c(47161),u=c(86596),v=c(84458);function w({value:a,onChange:b}){let c=(0,m.hG)({extensions:u.II,content:a?(0,u.Gd)(a):void 0,immediatelyRender:!1,editorProps:{attributes:{class:"note-prose focus:outline-none"}},onUpdate:({editor:a})=>b((0,u.Z2)(a.getJSON()))});return c?(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)(x,{editor:c}),(0,d.jsx)(m.$Z,{editor:c,className:"min-h-0 flex-1 overflow-y-auto px-1 py-2 text-[14px] leading-relaxed"})]}):null}function x({editor:a}){(0,v.U)(a);let b=()=>a.chain().focus();return(0,d.jsxs)("div",{className:"flex items-center gap-0.5 border-b border-white/10 pb-2",children:[(0,d.jsx)(v.I,{label:"Bold",active:a.isActive("bold"),onClick:()=>b().toggleBold().run(),children:(0,d.jsx)(n.A,{className:"size-4"})}),(0,d.jsx)(v.I,{label:"Italic",active:a.isActive("italic"),onClick:()=>b().toggleItalic().run(),children:(0,d.jsx)(o.A,{className:"size-4"})}),(0,d.jsx)(v.I,{label:"Underline",active:a.isActive("underline"),onClick:()=>b().toggleUnderline().run(),children:(0,d.jsx)(p.A,{className:"size-4"})}),(0,d.jsx)(v.I,{label:"Strikethrough",active:a.isActive("strike"),onClick:()=>b().toggleStrike().run(),children:(0,d.jsx)(q.A,{className:"size-4"})}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsx)(v.I,{label:"Checklist",active:a.isActive("taskList"),onClick:()=>b().toggleTaskList().run(),children:(0,d.jsx)(r.A,{className:"size-4"})}),(0,d.jsx)(v.I,{label:"Bullet list",active:a.isActive("bulletList"),onClick:()=>b().toggleBulletList().run(),children:(0,d.jsx)(s.A,{className:"size-4"})}),(0,d.jsx)(v.I,{label:"Numbered list",active:a.isActive("orderedList"),onClick:()=>b().toggleOrderedList().run(),children:(0,d.jsx)(t.A,{className:"size-4"})})]})}var y=c(69370),z=c(33191);function A(a){return[...a].sort((a,b)=>a.pinned!==b.pinned?Number(b.pinned)-Number(a.pinned):b.updatedAt.localeCompare(a.updatedAt))}function B(){let{open:a,close:b}=(0,y.b)(),[c,m]=(0,e.useState)([]),[n,o]=(0,e.useState)(null),p=(0,e.useRef)({}),q=(0,e.useRef)({}),r=(0,e.useCallback)(a=>{clearTimeout(p.current[a]);let b=q.current[a];b&&(delete q.current[a],fetch(`/api/notes/${a}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(b)}).catch(()=>{}))},[]),s=(0,e.useCallback)((a,b)=>{q.current[a]={...q.current[a],...b},clearTimeout(p.current[a]),p.current[a]=setTimeout(()=>r(a),500)},[r]);(0,e.useCallback)(async()=>{try{let a=await fetch("/api/notes",{cache:"no-store"});if(!a.ok)return;let b=await a.json();m(A(b)),o(a=>a??b[0]?.id??null)}catch{}},[]);let t=(0,e.useCallback)(async()=>{let a=await fetch("/api/notes",{method:"POST"}).catch(()=>null);if(!a?.ok)return;let b=await a.json();m(a=>A([b,...a])),o(b.id)},[]),u=(0,e.useCallback)(async a=>{clearTimeout(p.current[a]),delete q.current[a],m(b=>{let c=b.filter(b=>b.id!==a);return o(b=>b===a?c[0]?.id??null:b),c}),await fetch(`/api/notes/${a}`,{method:"DELETE"}).catch(()=>{})},[]),v=(0,e.useCallback)((a,b)=>{m(c=>A(c.map(c=>c.id===a?{...c,...b,updatedAt:new Date().toISOString()}:c))),s(a,b)},[s]),x=(0,e.useCallback)(a=>v(a.id,{pinned:!a.pinned}),[v]),B=c.find(a=>a.id===n)??null;return(0,d.jsx)("div",{"aria-hidden":!a,className:(0,z.cn)("fixed inset-y-0 right-0 z-40 flex transition-transform duration-300 ease-out",a?"translate-x-0":"pointer-events-none translate-x-full"),children:(0,d.jsxs)(l.b,{className:"flex h-full w-[420px] flex-col rounded-l-2xl border-l border-white/10",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b border-white/10 px-3 py-2.5",children:[(0,d.jsx)(f.A,{className:"size-4 text-[var(--accent-2,#ff7a45)]"}),(0,d.jsx)("span",{className:"text-sm font-semibold tracking-tight",children:"Notes"}),(0,d.jsx)("span",{className:"ml-auto"}),(0,d.jsx)("button",{type:"button",onClick:t,"aria-label":"New note",title:"New note",className:"rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(g.A,{className:"size-4"})}),(0,d.jsx)("button",{type:"button",onClick:b,"aria-label":"Close notes",title:"Close",className:"rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(h.A,{className:"size-4"})})]}),(0,d.jsx)("div",{className:"max-h-44 shrink-0 overflow-y-auto border-b border-white/10 p-1.5",children:0===c.length?(0,d.jsxs)("p",{className:"px-2 py-3 text-[13px] text-muted-foreground",children:["No notes yet. Hit ",(0,d.jsx)("span",{className:"text-foreground",children:"+"})," to start one."]}):c.map(a=>(0,d.jsxs)("div",{className:(0,z.cn)("group flex items-center gap-1 rounded-md px-2 py-1.5 text-[13px]",a.id===n?"bg-white/[0.09] text-foreground":"text-muted-foreground hover:bg-white/[0.04]"),children:[(0,d.jsxs)("button",{type:"button",onClick:()=>o(a.id),className:"min-w-0 flex-1 truncate text-left",children:[a.pinned&&(0,d.jsx)(i.A,{className:"mr-1 inline size-3 -translate-y-px"}),a.title||"Untitled"]}),(0,d.jsx)("button",{type:"button",onClick:()=>x(a),"aria-label":a.pinned?"Unpin":"Pin",title:a.pinned?"Unpin":"Pin",className:"rounded p-1 opacity-0 transition hover:bg-white/[0.08] hover:text-foreground group-hover:opacity-100",children:a.pinned?(0,d.jsx)(j.A,{className:"size-3.5"}):(0,d.jsx)(i.A,{className:"size-3.5"})}),(0,d.jsx)("button",{type:"button",onClick:()=>u(a.id),"aria-label":"Delete note",title:"Delete",className:"rounded p-1 opacity-0 transition hover:bg-white/[0.08] hover:text-red-300 group-hover:opacity-100",children:(0,d.jsx)(k.A,{className:"size-3.5"})})]},a.id))}),B?(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 p-3",children:[(0,d.jsx)("input",{value:B.title,onChange:a=>v(B.id,{title:a.target.value}),placeholder:"Untitled",className:"w-full bg-transparent text-base font-semibold tracking-tight text-foreground placeholder:text-muted-foreground/60 focus:outline-none"}),(0,d.jsx)(w,{value:B.body,onChange:a=>v(B.id,{body:a})},B.id)]}):(0,d.jsxs)("div",{className:"flex flex-1 items-center justify-center p-6 text-center text-[13px] text-muted-foreground",children:["Select a note, or create one. Then ",(0,d.jsx)("span",{className:"px-1 text-foreground",children:"@"}),"-mention it in your terminal to turn it into features."]})]})})}},7572:(a,b,c)=>{"use strict";c.d(b,{MainRegion:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call MainRegion() from the server but MainRegion is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/ai/main-region.tsx","MainRegion")},7667:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/png",sizes:"180x180",url:(0,d.fillMetadataSegment)(".",await a.params,"apple-icon.png",!0)+"?f9d64651576bd776"}]},17017:(a,b,c)=>{"use strict";c.d(b,{UpdateBanner:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call UpdateBanner() from the server but UpdateBanner is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/update-banner.tsx","UpdateBanner")},18060:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},18718:(a,b,c)=>{"use strict";c.d(b,{MainRegion:()=>e});var d=c(48249);function e({children:a}){return(0,d.jsx)("main",{className:"flex flex-1 flex-col",children:a})}},19208:(a,b,c)=>{"use strict";c.d(b,{TabWorkspace:()=>e}),c(67484);var d=c(19099);function e(){return(0,d.useRouter)(),(0,d.usePathname)(),null}c(79768)},23704:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>x,metadata:()=>w});var d=c(5735),e=c(1382),f=c.n(e),g=c(28205),h=c.n(g);c(82704);var i=c(77946),j=c(60867),k=c(25126),l=c(7572),m=c(48136),n=c(81974),o=c(71412),p=c(30818),q=c(42462),r=c(17017),s=c(45301),t=c(73024),u=c(76760);let v=null,w={title:"Beacon",description:"A local control panel for the repository you're working in"};function x({children:a}){return(0,d.jsx)("html",{lang:"en",className:`dark ${f().variable} ${h().variable} h-full antialiased`,children:(0,d.jsx)("body",{className:"min-h-full flex flex-col bg-background text-foreground",children:"1"===process.env.BEACON_PUBLIC||"1"===process.env.VERCEL?a:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(j.LiveRefresh,{}),(0,d.jsx)(k.TabWorkspace,{}),(0,d.jsxs)(o.NotesProvider,{children:[(0,d.jsxs)(m.PlanProvider,{children:[(0,d.jsx)(i.TopNav,{repo:(0,s.Qq)()}),(0,d.jsx)(l.MainRegion,{children:a}),(0,d.jsx)(n.PlanBar,{})]}),(0,d.jsx)(p.NotesDrawer,{})]}),(0,d.jsx)(q.AskModal,{}),(0,d.jsx)(r.UpdateBanner,{currentVersion:function(){if(null!==v)return v;let a="0.0.0";try{let b=JSON.parse((0,t.readFileSync)((0,u.join)(process.cwd(),"package.json"),"utf8"));"string"==typeof b.version&&(a=b.version)}catch{}return v=a,a}()})]})})})}},25126:(a,b,c)=>{"use strict";c.d(b,{TabWorkspace:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call TabWorkspace() from the server but TabWorkspace is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/tab-workspace.tsx","TabWorkspace")},26284:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(48249),e=c(70813),f=c(21654),g=c(33191);let h=(0,f.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function i({className:a,variant:b="default",size:c="default",...f}){return(0,d.jsx)(e.Button,{"data-slot":"button",className:(0,g.cn)(h({variant:b,size:c,className:a})),...f})}},29086:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},30818:(a,b,c)=>{"use strict";c.d(b,{NotesDrawer:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call NotesDrawer() from the server but NotesDrawer is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/notes/notes-drawer.tsx","NotesDrawer")},31212:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},32359:(a,b,c)=>{Promise.resolve().then(c.bind(c,18718)),Promise.resolve().then(c.bind(c,85452)),Promise.resolve().then(c.bind(c,47194)),Promise.resolve().then(c.bind(c,69370)),Promise.resolve().then(c.bind(c,5547)),Promise.resolve().then(c.bind(c,41616)),Promise.resolve().then(c.bind(c,81166)),Promise.resolve().then(c.bind(c,19208)),Promise.resolve().then(c.bind(c,41164)),Promise.resolve().then(c.bind(c,59953))},33191:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(99314),e=c(96862);function f(...a){return(0,e.QP)((0,d.$)(a))}},33814:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},41164:(a,b,c)=>{"use strict";c.d(b,{TopNav:()=>r});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f),h=c(19099),i=c(92361),j=c(79291),k=c(85271),l=c(55056),m=c(33191),n=c(79768);function o({fallback:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(null);if(0===b.length)return a?(0,d.jsxs)("span",{className:"font-mono text-xs text-muted-foreground",children:["\xb7 ",a]}):null;async function h(a){g(a),(0,n.aE)(a),await Promise.race([fetch("/api/workspace",{method:"POST",headers:{"content-type":"application/json","x-beacon-workspace":a},body:JSON.stringify({id:a}),signal:AbortSignal.timeout(8e3)}).catch(()=>{}),new Promise(a=>setTimeout(a,2500))]);let b=new URLSearchParams(window.location.search);b.set("ws",a),window.location.href=`${window.location.pathname}?${b.toString()}`}let i=b.find(a=>a.id===f);return(0,d.jsxs)(l.l6,{value:f??"",onValueChange:a=>a&&h(a),children:[(0,d.jsxs)(l.bq,{title:i?.name,className:"h-7 max-w-[180px] gap-1.5 rounded-lg border-white/12 bg-white/[0.04] px-2 text-xs font-medium transition-colors hover:bg-white/[0.07]",children:[(0,d.jsx)(k.A,{className:"size-3.5 shrink-0 text-muted-foreground"}),(0,d.jsx)(l.yv,{children:()=>i?.name??"Project"})]}),(0,d.jsxs)(l.gC,{align:"start",alignItemWithTrigger:!1,sideOffset:6,className:"min-w-[250px] border border-white/10 bg-popover/95 p-1.5 backdrop-blur-xl",children:[(0,d.jsx)("p",{className:"px-2 pt-1 pb-1.5 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground/70",children:"Workspace"}),b.map(a=>{var b,c;let e,g=a.id===f;return(0,d.jsx)(l.eb,{value:a.id,className:(0,m.cn)("gap-2.5 rounded-lg py-1.5 pr-8 pl-1.5 transition-colors",g&&"bg-white/[0.05]"),children:(0,d.jsxs)("span",{className:"flex items-center gap-2.5",children:[(0,d.jsx)("span",{className:(0,m.cn)("flex size-7 shrink-0 items-center justify-center rounded-md border",g?"border-sky-400/30 bg-sky-400/10 text-sky-300":"border-white/10 bg-white/[0.03] text-muted-foreground"),children:(0,d.jsx)(k.A,{className:"size-3.5"})}),(0,d.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,d.jsx)("span",{className:"truncate text-[13px] font-medium leading-tight text-foreground",children:a.name}),(0,d.jsx)("span",{className:"truncate font-mono text-[10px] leading-tight text-muted-foreground",children:(b=a.path,c=a.name,(e=b.replace(/^\/(Users|home)\/[^/]+/,"~").split("/").filter(Boolean))[e.length-1]===c&&e.pop(),(e.length>3?[e[0],"…",e[e.length-1]]:e).join("/")||"~")})]})]})},a.id)})]})]})}var p=c(69370);let q=[{href:"/plan",label:"Plans"},{href:"/map",label:"Map"},{href:"/learn",label:"Learn"},{href:"/settings",label:"Settings"}];function r({repo:a}){let b=(0,h.usePathname)(),{toggle:c,open:f}=(0,p.b)(),[k,l]=(0,e.useState)(null);return(0,d.jsx)("header",{className:"pointer-events-none fixed left-3 top-3 z-30",children:(0,d.jsxs)("div",{className:"glass pointer-events-auto flex h-10 items-center gap-1 rounded-full pl-3 pr-1.5",children:[(0,d.jsxs)(g(),{href:"/",className:"mr-1 flex items-center gap-2 text-sm font-semibold tracking-tight",children:[(0,d.jsx)(j._,{size:18,className:"text-foreground"}),(0,d.jsx)("span",{className:"hidden lg:inline",children:"Beacon"})]}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsx)(o,{fallback:a}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsx)("nav",{className:"flex items-center gap-0.5 text-sm",children:q.map(a=>{let c=b===a.href||b.startsWith(a.href+"/");return(0,d.jsx)(g(),{href:(0,n.Fj)(a.href,k),className:(0,m.cn)("rounded-full px-3 py-1 text-[13px] tracking-tight transition-colors",c?"bg-white/[0.09] text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.06)]":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:a.label},a.href)})}),(0,d.jsx)("span",{"aria-hidden":!0,className:"mx-1 h-5 w-px bg-white/10"}),(0,d.jsx)("button",{type:"button",onClick:c,"aria-pressed":f,"aria-label":"Notes",title:"Notes",className:(0,m.cn)("flex items-center justify-center rounded-full p-1.5 transition-colors",f?"bg-white/[0.09] text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,0.06)]":"text-muted-foreground hover:bg-white/[0.04] hover:text-foreground"),children:(0,d.jsx)(i.A,{className:"size-4"})})]})})}},41616:(a,b,c)=>{"use strict";c.d(b,{PlanBar:()=>l});var d=c(48249),e=c(2116),f=c.n(e),g=c(19099),h=c(47352),i=c(49783),j=c(57684),k=c(81166);function l(){let{status:a,discard:b}=(0,k.j)(),c=(0,g.usePathname)();return a.pending&&"/plan"!==c?(0,d.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-14 z-40 flex justify-center px-2",children:(0,d.jsxs)("div",{className:"pointer-events-auto flex max-w-3xl items-center gap-2 rounded-xl border border-emerald-500/30 bg-card/85 px-3 py-1.5 shadow-lg backdrop-blur supports-[backdrop-filter]:bg-card/70",children:[(0,d.jsx)(h.A,{className:"size-3.5 shrink-0 text-emerald-300"}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"truncate text-[12px] leading-tight text-foreground",children:[(0,d.jsx)("span",{className:"text-emerald-300/80",children:"Plan ready \xb7 "}),a.description||"(no description)"]}),(0,d.jsxs)("div",{className:"text-[10px] leading-tight text-muted-foreground",children:[a.features," feature(s) \xb7 ",a.tables," table(s) \xb7 ",a.endpoints," ","endpoint(s)"]})]}),(0,d.jsxs)(f(),{href:"/plan",className:"flex shrink-0 items-center gap-1 rounded-md border border-emerald-500/40 bg-emerald-500/15 px-2 py-1 text-[11px] font-semibold text-emerald-300 transition-colors hover:bg-emerald-500/25",title:"Open Plannotator + canvases side by side",children:[(0,d.jsx)(i.A,{className:"size-3"})," Open plan"]}),(0,d.jsxs)("button",{onClick:b,className:"flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[11px] font-medium text-muted-foreground transition-colors hover:bg-red-500/15 hover:text-red-300",title:"Discard the plan",children:[(0,d.jsx)(j.A,{className:"size-3"})," Discard"]})]})}):null}},42462:(a,b,c)=>{"use strict";c.d(b,{AskModal:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call AskModal() from the server but AskModal is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/ask/ask-modal.tsx","AskModal")},47194:(a,b,c)=>{"use strict";c.d(b,{LiveRefresh:()=>e}),c(67484);var d=c(19099);function e(){return(0,d.useRouter)(),null}c(79768)},48136:(a,b,c)=>{"use strict";c.d(b,{PlanProvider:()=>e});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call PlanProvider() from the server but PlanProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx","PlanProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call usePlan() from the server but usePlan is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/plan/plan-context.tsx","usePlan")},48779:(a,b,c)=>{"use strict";c.d(b,{b:()=>f});var d=c(48249);c(67484);var e=c(33191);function f({className:a,children:b,...c}){return(0,d.jsxs)("div",{className:(0,e.cn)("glass relative isolate overflow-hidden",a),...c,children:[(0,d.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 -z-10 rounded-[inherit]",style:{background:"radial-gradient(90% 60% at 0% 0%, oklch(1 0 0 / 0.04), transparent 42%)"}}),(0,d.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 -z-10 rounded-[inherit] opacity-[0.035] mix-blend-overlay",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")",backgroundSize:"120px 120px"}}),b]})}},49183:(a,b,c)=>{"use strict";c.d(b,{EO:()=>f,kw:()=>d});let d="https://registry.npmjs.org/trybeacon/latest",e=(process.env.NEXT_PUBLIC_BEACON_SITE_URL??"https://www.trybeacon.sh").replace(/\/$/,""),f=`curl -fsSL ${e}/install.sh | sh`},49231:(a,b,c)=>{Promise.resolve().then(c.bind(c,7572)),Promise.resolve().then(c.bind(c,42462)),Promise.resolve().then(c.bind(c,60867)),Promise.resolve().then(c.bind(c,71412)),Promise.resolve().then(c.bind(c,30818)),Promise.resolve().then(c.bind(c,81974)),Promise.resolve().then(c.bind(c,48136)),Promise.resolve().then(c.bind(c,25126)),Promise.resolve().then(c.bind(c,77946)),Promise.resolve().then(c.bind(c,17017))},55056:(a,b,c)=>{"use strict";c.d(b,{bq:()=>x,eb:()=>z,gC:()=>y,l6:()=>v,yv:()=>w});var d=c(48249);c(67484);var e=c(80336),f=c(11102),g=c(57602),h=c(90586),i=c(13810),j=c(58103),k=c(28879),l=c(90204),m=c(26550),n=c(57859),o=c(56045),p=c(75154),q=c(91464),r=c(33191),s=c(69627),t=c(35471),u=c(85448);let v=e.H;function w({className:a,...b}){return(0,d.jsx)(f.y,{"data-slot":"select-value",className:(0,r.cn)("flex flex-1 text-left",a),...b})}function x({className:a,size:b="default",children:c,...e}){return(0,d.jsxs)(g.b,{"data-slot":"select-trigger","data-size":b,className:(0,r.cn)("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),...e,children:[c,(0,d.jsx)(h.w,{render:(0,d.jsx)(s.A,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function y({className:a,children:b,side:c="bottom",sideOffset:e=4,align:f="center",alignOffset:g=0,alignItemWithTrigger:h=!0,...m}){return(0,d.jsx)(i.V,{children:(0,d.jsx)(j.l,{side:c,sideOffset:e,align:f,alignOffset:g,alignItemWithTrigger:h,className:"isolate z-50",children:(0,d.jsxs)(k.t,{"data-slot":"select-content","data-align-trigger":h,className:(0,r.cn)("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),...m,children:[(0,d.jsx)(A,{}),(0,d.jsx)(l.B,{children:b}),(0,d.jsx)(B,{})]})})})}function z({className:a,children:b,...c}){return(0,d.jsxs)(m.e,{"data-slot":"select-item",className:(0,r.cn)("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",a),...c,children:[(0,d.jsx)(n.h,{className:"flex flex-1 shrink-0 gap-2 whitespace-nowrap",children:b}),(0,d.jsx)(o.h,{render:(0,d.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:(0,d.jsx)(t.A,{className:"pointer-events-none"})})]})}function A({className:a,...b}){return(0,d.jsx)(p.w,{"data-slot":"select-scroll-up-button",className:(0,r.cn)("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",a),...b,children:(0,d.jsx)(u.A,{})})}function B({className:a,...b}){return(0,d.jsx)(q.d,{"data-slot":"select-scroll-down-button",className:(0,r.cn)("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",a),...b,children:(0,d.jsx)(s.A,{})})}},59953:(a,b,c)=>{"use strict";c.d(b,{UpdateBanner:()=>k});var d=c(48249),e=c(67484),f=c(95417),g=c(45535),h=c(35471),i=c(20878),j=c(49183);function k({currentVersion:a}){let[b,c]=(0,e.useState)(null),[l,m]=(0,e.useState)(!1);if(!b)return null;let n=async()=>{try{await navigator.clipboard?.writeText(j.EO),m(!0),setTimeout(()=>m(!1),1600)}catch{}};return(0,d.jsx)("div",{className:"pointer-events-none fixed bottom-4 right-4 z-50 flex justify-end",children:(0,d.jsx)("div",{className:"glass pointer-events-auto w-[320px] rounded-xl p-3.5 shadow-xl",children:(0,d.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,d.jsx)(f.A,{className:"mt-0.5 size-4 shrink-0 text-[#ff7a45]"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("p",{className:"text-[13px] font-semibold tracking-tight text-foreground",children:"New version available"}),(0,d.jsx)("button",{type:"button",onClick:()=>{try{localStorage.setItem("beacon:update-dismissed",b)}catch{}c(null)},"aria-label":"Dismiss",className:"shrink-0 rounded-md p-0.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",children:(0,d.jsx)(g.A,{className:"size-3.5"})})]}),(0,d.jsxs)("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:[a," →"," ",(0,d.jsx)("span",{className:"text-foreground",children:b.replace(/^v/i,"")})," \xb7 update Beacon"]}),(0,d.jsxs)("button",{type:"button",onClick:n,title:"Copy the update command",className:"mt-2.5 flex w-full items-center justify-between gap-2 rounded-lg border border-white/10 bg-black/30 px-2.5 py-1.5 text-left font-mono text-[11px] text-muted-foreground transition-colors hover:border-white/20 hover:text-foreground",children:[(0,d.jsx)("span",{className:"truncate",children:j.EO}),l?(0,d.jsx)(h.A,{className:"size-3.5 shrink-0 text-[#ff7a45]"}):(0,d.jsx)(i.A,{className:"size-3.5 shrink-0"})]})]})]})})})}},60867:(a,b,c)=>{"use strict";c.d(b,{LiveRefresh:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call LiveRefresh() from the server but LiveRefresh is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/live-refresh.tsx","LiveRefresh")},61837:(a,b,c)=>{"use strict";function d(){return null}function e(){return null}function f(a){let b=new URLSearchParams,c=d();c&&b.set("ws",c);let f=e();for(let[c,d]of(f&&b.set("plan",f),Object.entries(a??{})))""===d?b.delete(c):b.set(c,d);let g=b.toString();return g?`/plan?${g}`:"/plan"}c.d(b,{X0:()=>d,d8:()=>e,rc:()=>f})},69370:(a,b,c)=>{"use strict";c.d(b,{NotesProvider:()=>g,b:()=>h});var d=c(48249),e=c(67484);let f=(0,e.createContext)(null);function g({children:a}){let[b,c]=(0,e.useState)(!1),h=(0,e.useCallback)(()=>c(!0),[]),i=(0,e.useCallback)(()=>c(!1),[]),j=(0,e.useCallback)(()=>c(a=>!a),[]),k=(0,e.useMemo)(()=>({open:b,openDrawer:h,close:i,toggle:j}),[b,h,i,j]);return(0,d.jsx)(f.Provider,{value:k,children:a})}function h(){let a=(0,e.useContext)(f);if(!a)throw Error("useNotes must be used inside NotesProvider");return a}},71412:(a,b,c)=>{"use strict";c.d(b,{NotesProvider:()=>e});var d=c(77943);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call NotesProvider() from the server but NotesProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx","NotesProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useNotes() from the server but useNotes is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/notes/notes-context.tsx","useNotes")},74619:(a,b,c)=>{"use strict";c.d(b,{$w:()=>g,eo:()=>k,tw:()=>l});var d=c(32891),e=c(54730);let f="beacon://";function g(a){if(!a.startsWith(f))return null;let b=a.slice(f.length),c=b.indexOf("/");return c<0?null:{kind:b.slice(0,c),ref:b.slice(c+1)}}let h={kind:{default:null,parseHTML:a=>a.getAttribute("data-kind"),renderHTML:a=>a.kind?{"data-kind":a.kind}:{}},ref:{default:null,parseHTML:a=>a.getAttribute("data-ref"),renderHTML:a=>a.ref?{"data-ref":a.ref}:{}},label:{default:null,parseHTML:a=>a.getAttribute("data-label")??a.textContent?.replace(/^@/,""),renderHTML:a=>a.label?{"data-label":a.label}:{}}},i=()=>[{tag:"span[data-mention]"}],j=({node:a,HTMLAttributes:b})=>["span",(0,d.KV)({"data-mention":"",class:"beacon-mention"},b),`@${a.attrs.label??""}`],k=d.bP.create({name:"mention",group:"inline",inline:!0,atom:!0,addAttributes:()=>h,parseHTML:i,renderHTML:j,renderMarkdown:a=>{var b,c,d;let e=a.attrs??{};return b=e.kind??"feature",c=e.ref??"",d=e.label??"",`[@${d}](${f}${b}/${c})`}}),l=e.P.extend({name:"mention",addAttributes:()=>h,parseHTML:i,renderHTML:j})},77946:(a,b,c)=>{"use strict";c.d(b,{TopNav:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call TopNav() from the server but TopNav is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/top-nav.tsx","TopNav")},79291:(a,b,c)=>{"use strict";c.d(b,{_:()=>e});var d=c(48249);function e({size:a=18,className:b}){return(0,d.jsxs)("svg",{width:a,height:a,viewBox:"20 22 56 56",fill:"none",className:b,"aria-hidden":"true",children:[(0,d.jsx)("path",{d:"M48 33 L72.5 73 L23.5 73 Z",fill:"none",stroke:"var(--accent-2, #ff7a45)",strokeWidth:7,strokeLinejoin:"round",strokeLinecap:"round"}),(0,d.jsx)("circle",{cx:"48",cy:"29.5",r:"7",fill:"var(--accent-2, #ff7a45)"})]})}},79768:(a,b,c)=>{"use strict";c.d(b,{Bz:()=>d,Fj:()=>h,aE:()=>f,dh:()=>g,fk:()=>e,q0:()=>i});let d="beacon:tab-ws";function e(){return null}function f(a){try{sessionStorage.setItem(d,a)}catch{}}function g(a){return a?{"x-beacon-workspace":a}:{}}function h(a,b,c){let d=new URLSearchParams;for(let[a,e]of(b&&d.set("ws",b),Object.entries(c??{})))d.set(a,e);let e=d.toString();return e?`${a}?${e}`:a}function i(a,b){if(a.startsWith("/api/"))return!0;try{let c=new URL(a,b);return c.origin===b&&c.pathname.startsWith("/api/")}catch{return!1}}},81166:(a,b,c)=>{"use strict";c.d(b,{PlanProvider:()=>k,j:()=>l});var d=c(48249),e=c(67484),f=c(19099),g=c(79768),h=c(61837);let i={pending:!1,proposedAt:0,tables:0,endpoints:0,features:0},j=(0,e.createContext)(null);function k({children:a}){let b=(0,f.useRouter)(),[c,l]=(0,e.useState)(i),m=(0,e.useCallback)(async()=>{try{let a=await fetch("/api/plan",{method:"GET",cache:"no-store",headers:(0,g.dh)((0,h.X0)())});if(!a.ok)return;let b=await a.json();l(b)}catch{}},[]),n=(0,e.useCallback)(async()=>{await fetch("/api/plan",{method:"DELETE",headers:(0,g.dh)((0,h.X0)())}).catch(()=>{}),l(i),b.refresh()},[b]),o=(0,e.useCallback)(async()=>{await fetch("/api/plan/approve",{method:"POST",headers:(0,g.dh)((0,h.X0)())}).catch(()=>{}),l(i),b.refresh()},[b]);return(0,d.jsx)(j.Provider,{value:{status:c,discard:n,approvePlan:o,refresh:m},children:a})}function l(){let a=(0,e.useContext)(j);if(!a)throw Error("usePlan must be used inside PlanProvider");return a}},81974:(a,b,c)=>{"use strict";c.d(b,{PlanBar:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call PlanBar() from the server but PlanBar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/beacon/beacon/components/plan/plan-bar.tsx","PlanBar")},82704:()=>{},84458:(a,b,c)=>{"use strict";c.d(b,{I:()=>h,U:()=>g});var d=c(48249),e=c(67484),f=c(33191);function g(a){let[,b]=(0,e.useReducer)(a=>a+1,0)}function h({label:a,active:b,onClick:c,children:e}){return(0,d.jsx)("button",{type:"button","aria-label":a,"aria-pressed":b,title:a,onMouseDown:a=>a.preventDefault(),onClick:c,className:(0,f.cn)("nodrag nopan rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-white/[0.06] hover:text-foreground",b&&"bg-white/[0.12] text-foreground"),children:e})}},85452:(a,b,c)=>{"use strict";c.d(b,{AskModal:()=>j});var d=c(48249),e=c(67484),f=c(72597),g=c(26284),h=c(48779),i=c(33191);function j(){let[a,b]=(0,e.useState)(null),[c,j]=(0,e.useState)(new Set),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(!1),o=(0,e.useRef)(null),p=a?.id??null,q=(0,e.useRef)(null);p!==q.current&&(q.current=p,c.size&&j(new Set),k&&l(""));let r=(0,e.useCallback)(async c=>{if(a&&!m){n(!0),o.current=a.id,b(null);try{await fetch("/api/ask/answer",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({id:a.id,...c})})}catch{}finally{n(!1)}}},[a,m]);if(!a)return null;let s=()=>k.trim()&&r({selected:[k.trim()]});return(0,d.jsx)("div",{className:"fixed inset-0 z-[70] flex items-center justify-center bg-black/40 p-4 backdrop-blur-sm",children:(0,d.jsx)(h.b,{className:"w-full max-w-lg rounded-2xl border border-border/60 p-5 shadow-2xl",children:"question"===a.kind&&a.question?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"mb-1 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-[0.7rem] font-medium text-muted-foreground",children:a.question.header||"The agent is asking"}),a.question.multiSelect&&(0,d.jsx)("span",{className:"text-[0.7rem] text-muted-foreground",children:"select all that apply"})]}),(0,d.jsx)("p",{className:"mb-4 text-sm font-medium text-foreground",children:a.question.question}),(0,d.jsx)("div",{className:"flex flex-col gap-2",children:a.question.options.map(b=>{let e=c.has(b.label);return(0,d.jsxs)("button",{type:"button",disabled:m,onClick:()=>{let c;return a.question.multiSelect?(c=b.label,j(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b})):r({selected:[b.label]})},className:(0,i.cn)("rounded-lg border border-border bg-background/40 px-3 py-2 text-left transition-colors hover:bg-muted disabled:opacity-50",e&&"border-primary bg-primary/10"),children:[(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:b.label}),b.description&&(0,d.jsx)("span",{className:"mt-0.5 block text-xs text-muted-foreground",children:b.description})]},b.label)})}),(0,d.jsxs)("div",{className:"mt-3 flex items-center gap-2",children:[(0,d.jsx)("input",{value:k,disabled:m,onChange:a=>l(a.target.value),onKeyDown:b=>"Enter"===b.key&&!a.question.multiSelect&&s(),placeholder:"Other…",className:"h-8 flex-1 rounded-lg border border-border bg-background/40 px-2.5 text-sm outline-none focus:border-primary"}),a.question.multiSelect?(0,d.jsx)(g.$,{size:"sm",onClick:()=>{let a=[...c,...k.trim()?[k.trim()]:[]];a.length&&r({selected:a})},disabled:m,children:"Submit"}):(0,d.jsx)(g.$,{size:"icon-sm",variant:"outline",onClick:s,disabled:m||!k.trim(),"aria-label":"Submit other",children:(0,d.jsx)(f.A,{})})]})]}):a.approval?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"mb-1 flex items-center gap-2",children:(0,d.jsxs)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-[0.7rem] font-medium text-muted-foreground",children:["Approve ",a.approval.tool]})}),(0,d.jsx)("p",{className:"mb-3 text-sm font-medium text-foreground",children:a.approval.title}),a.approval.preview&&(0,d.jsx)("pre",{className:"mb-4 max-h-64 overflow-auto rounded-lg border border-border bg-background/40 p-3 text-xs whitespace-pre-wrap text-muted-foreground",children:a.approval.preview}),(0,d.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,d.jsx)(g.$,{variant:"destructive",onClick:()=>r({decision:"deny"}),disabled:m,children:"Deny"}),(0,d.jsx)(g.$,{onClick:()=>r({decision:"allow"}),disabled:m,children:"Allow"})]})]}):null})})}},86364:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?bb93a1375ed3c298"}]},86596:(a,b,c)=>{"use strict";c.d(b,{Gd:()=>p,II:()=>l,Pu:()=>m,Z2:()=>o});var d=c(56563),e=c(890),f=c(45348),g=c(69131),h=c(74619);let i=f.z.extend({renderMarkdown:(a,b)=>`<u>${b.renderChildren(a)}</u>`}),j=[d.W.configure({underline:!1}),i,e._0,e.L2.configure({nested:!0})],k=[...j,h.eo],l=k,m=j,n=new g.db({extensions:k});function o(a){return n.serialize(function a(b){return"paragraph"===b.type&&(b.content?.length??0)===0?{...b,content:[{type:"text",text:"​"}]}:Array.isArray(b.content)?{...b,content:b.content.map(a)}:b}(a))}function p(a){return function a(b){if("paragraph"===b.type&&b.content?.length){let a=b.content.every(a=>"text"===a.type),c=b.content.map(a=>a.text??"").join("");if(a&&c.includes("​")&&""===c.replace(/\u200B/g,"").trim())return{...b,content:[]}}return Array.isArray(b.content)?{...b,content:b.content.map(a)}:b}(function a(b){if("text"===b.type){let a=(b.marks??[]).find(a=>"link"===a.type&&"string"==typeof a.attrs?.href),c=a?.attrs?.href?(0,h.$w)(a.attrs.href):null;if(c)return{type:"mention",attrs:{kind:c.kind,ref:c.ref,label:(b.text??"").replace(/^@/,"")}}}return Array.isArray(b.content)?{...b,content:b.content.map(a)}:b}(function a(b){if("text"===b.type&&(b.text??"").includes("<u>"))return{type:"__frag",content:function(a){let b,c=a.text??"",d=a.marks??[],e=/<u>([\s\S]*?)<\/u>/g,f=[],g=0;for(;null!==(b=e.exec(c));)b.index>g&&f.push({...a,text:c.slice(g,b.index)}),f.push({type:"text",text:b[1],marks:[...d,{type:"underline"}]}),g=e.lastIndex;return g<c.length&&f.push({...a,text:c.slice(g)}),f.filter(a=>(a.text??"").length>0)}(b)};if(Array.isArray(b.content)){let c=b.content.flatMap(b=>{let c=a(b);return"__frag"===c.type?c.content:[c]});return{...b,content:c}}return b}(n.parse(a))))}}};